diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2013-01-05 10:38:57 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-01-28 23:23:54 +0100 |
commit | 27bda036d246ae417af348d7868f96d2da208ecc (patch) | |
tree | 2b994f00f0927539a5da8ca4c01ef88995325343 /arch | |
parent | 1b542757179675162865f2b5b5fdbcc8b9118f2a (diff) | |
download | op-kernel-dev-27bda036d246ae417af348d7868f96d2da208ecc.zip op-kernel-dev-27bda036d246ae417af348d7868f96d2da208ecc.tar.gz |
ARM: nomadik: move remaining PrimeCells to device tree
The two remaining PrimeCells, RNG and RTC, are migrated to the
device tree for device tree boot.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/ste-nomadik-stn8815.dtsi | 12 | ||||
-rw-r--r-- | arch/arm/mach-nomadik/cpu-8815.c | 11 |
2 files changed, 21 insertions, 2 deletions
diff --git a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi index 0a5b670..88fb98f9 100644 --- a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi +++ b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi @@ -76,5 +76,17 @@ interrupts = <28>; status = "disabled"; }; + + rng: rng@101b0000 { + compatible = "arm,primecell"; + reg = <0x101b0000 0x1000>; + }; + + rtc: rtc@101e8000 { + compatible = "arm,pl031", "arm,primecell"; + reg = <0x101e8000 0x1000>; + interrupt-parent = <&vica>; + interrupts = <10>; + }; }; }; diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c index 0114d4f..8d071d2 100644 --- a/arch/arm/mach-nomadik/cpu-8815.c +++ b/arch/arm/mach-nomadik/cpu-8815.c @@ -39,6 +39,7 @@ #include <asm/mach/arch.h> #include <asm/mach/map.h> #include <asm/mach/time.h> +#include <asm/mach-types.h> #include <asm/cacheflush.h> #include <asm/hardware/cache-l2x0.h> @@ -154,8 +155,10 @@ static int __init cpu8815_init(void) cpu8815_add_gpios(cpu8815_gpio_base, ARRAY_SIZE(cpu8815_gpio_base), IRQ_GPIO0, &pdata); cpu8815_add_pinctrl(NULL, "pinctrl-stn8815"); - amba_apb_device_add(NULL, "rng", NOMADIK_RNG_BASE, SZ_4K, 0, 0, NULL, 0); - amba_apb_device_add(NULL, "rtc-pl031", NOMADIK_RTC_BASE, SZ_4K, IRQ_RTC_RTT, 0, NULL, 0); + if (machine_is_nomadik()) { + amba_apb_device_add(NULL, "rng", NOMADIK_RNG_BASE, SZ_4K, 0, 0, NULL, 0); + amba_apb_device_add(NULL, "rtc-pl031", NOMADIK_RTC_BASE, SZ_4K, IRQ_RTC_RTT, 0, NULL, 0); + } return 0; } arch_initcall(cpu8815_init); @@ -252,6 +255,10 @@ static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = { "uart0", NULL), OF_DEV_AUXDATA("arm,primecell", NOMADIK_UART1_BASE, "uart1", NULL), + OF_DEV_AUXDATA("arm,primecell", NOMADIK_RNG_BASE, + "rng", NULL), + OF_DEV_AUXDATA("arm,primecell", NOMADIK_RTC_BASE, + "rtc-pl031", NULL), { /* sentinel */ }, }; |