Merge tag 'keystone-soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/soc2
Merge "Keystone SOC updates part2 for 3.16" from Santosh Shilimkar: - Removal of now un-necessary reset machine code - dts updates for keystone reset driver * tag 'keystone-soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: configs: keystone: enable reset driver support ARM: dts: keystone: update reset node to work with reset driver ARM: keystone: remove redundant reset stuff Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
@@ -67,9 +67,21 @@
|
||||
interrupt-parent = <&gic>;
|
||||
ranges = <0x0 0x0 0x0 0xc0000000>;
|
||||
|
||||
pllctrl: pll-controller@02310000 {
|
||||
compatible = "ti,keystone-pllctrl", "syscon";
|
||||
reg = <0x02310000 0x200>;
|
||||
};
|
||||
|
||||
devctrl: device-state-control@02620000 {
|
||||
compatible = "ti,keystone-devctrl", "syscon";
|
||||
reg = <0x02620000 0x1000>;
|
||||
};
|
||||
|
||||
rstctrl: reset-controller {
|
||||
compatible = "ti,keystone-reset";
|
||||
reg = <0x023100e8 4>; /* pll reset control reg */
|
||||
ti,syscon-pll = <&pllctrl 0xe4>;
|
||||
ti,syscon-dev = <&devctrl 0x328>;
|
||||
ti,wdt-list = <0>;
|
||||
};
|
||||
|
||||
/include/ "keystone-clocks.dtsi"
|
||||
|
||||
@@ -132,6 +132,9 @@ CONFIG_SPI=y
|
||||
CONFIG_SPI_DAVINCI=y
|
||||
CONFIG_SPI_SPIDEV=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_KEYSTONE=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_CORE=y
|
||||
CONFIG_DAVINCI_WATCHDOG=y
|
||||
|
||||
@@ -26,11 +26,6 @@
|
||||
|
||||
#include "keystone.h"
|
||||
|
||||
#define PLL_RESET_WRITE_KEY_MASK 0xffff0000
|
||||
#define PLL_RESET_WRITE_KEY 0x5a69
|
||||
#define PLL_RESET BIT(16)
|
||||
|
||||
static void __iomem *keystone_rstctrl;
|
||||
static struct notifier_block platform_nb;
|
||||
static unsigned long keystone_dma_pfn_offset __read_mostly;
|
||||
|
||||
@@ -55,16 +50,6 @@ static int keystone_platform_notifier(struct notifier_block *nb,
|
||||
|
||||
static void __init keystone_init(void)
|
||||
{
|
||||
struct device_node *node;
|
||||
|
||||
node = of_find_compatible_node(NULL, NULL, "ti,keystone-reset");
|
||||
if (WARN_ON(!node))
|
||||
pr_warn("ti,keystone-reset node undefined\n");
|
||||
|
||||
keystone_rstctrl = of_iomap(node, 0);
|
||||
if (WARN_ON(!keystone_rstctrl))
|
||||
pr_warn("ti,keystone-reset iomap error\n");
|
||||
|
||||
keystone_pm_runtime_init();
|
||||
if (platform_nb.notifier_call)
|
||||
bus_register_notifier(&platform_bus_type, &platform_nb);
|
||||
@@ -123,24 +108,6 @@ static const char *keystone_match[] __initconst = {
|
||||
NULL,
|
||||
};
|
||||
|
||||
void keystone_restart(enum reboot_mode mode, const char *cmd)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
BUG_ON(!keystone_rstctrl);
|
||||
|
||||
/* Enable write access to RSTCTRL */
|
||||
val = readl(keystone_rstctrl);
|
||||
val &= PLL_RESET_WRITE_KEY_MASK;
|
||||
val |= PLL_RESET_WRITE_KEY;
|
||||
writel(val, keystone_rstctrl);
|
||||
|
||||
/* Reset the SOC */
|
||||
val = readl(keystone_rstctrl);
|
||||
val &= ~PLL_RESET;
|
||||
writel(val, keystone_rstctrl);
|
||||
}
|
||||
|
||||
DT_MACHINE_START(KEYSTONE, "Keystone")
|
||||
#if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
|
||||
.dma_zone_size = SZ_2G,
|
||||
@@ -148,6 +115,5 @@ DT_MACHINE_START(KEYSTONE, "Keystone")
|
||||
.smp = smp_ops(keystone_smp_ops),
|
||||
.init_machine = keystone_init,
|
||||
.dt_compat = keystone_match,
|
||||
.restart = keystone_restart,
|
||||
.init_meminfo = keystone_init_meminfo,
|
||||
MACHINE_END
|
||||
|
||||
Reference in New Issue
Block a user