diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2016-04-10 15:29:59 -0400 |
---|---|---|
committer | Robert Jarzmik <robert.jarzmik@free.fr> | 2016-08-09 02:16:59 -0400 |
commit | d9edae44d76a20d1b999070d911e58dca53f9906 (patch) | |
tree | 3b84d131e86096219618485b3019be3b1c7cc761 /arch/arm/mach-pxa | |
parent | ca5be4c678a402b7a35b2ce9a1a480b79d53f36e (diff) |
ARM: pxa: add pxa25x device-tree support
Add a device-tree machine entry (DT_MACHINE_START) for pxa25x based
platforms.
Take the opportunity to sort the file machine descriptions by
alphabetical order.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r-- | arch/arm/mach-pxa/Kconfig | 11 | ||||
-rw-r--r-- | arch/arm/mach-pxa/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa-dt.c | 37 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 12 |
4 files changed, 45 insertions, 18 deletions
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index cd894d69e766..76fbc115ec33 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -4,6 +4,17 @@ menu "Intel PXA2xx/PXA3xx Implementations" | |||
4 | 4 | ||
5 | comment "Intel/Marvell Dev Platforms (sorted by hardware release time)" | 5 | comment "Intel/Marvell Dev Platforms (sorted by hardware release time)" |
6 | 6 | ||
7 | config MACH_PXA25X_DT | ||
8 | bool "Support PXA25x platforms from device tree" | ||
9 | select PINCTRL | ||
10 | select POWER_SUPPLY | ||
11 | select PXA25x | ||
12 | select USE_OF | ||
13 | help | ||
14 | Include support for Marvell PXA25x based platforms using | ||
15 | the device tree. Needn't select any other machine while | ||
16 | MACH_PXA25x_DT is enabled. | ||
17 | |||
7 | config MACH_PXA27X_DT | 18 | config MACH_PXA27X_DT |
8 | bool "Support PXA27x platforms from device tree" | 19 | bool "Support PXA27x platforms from device tree" |
9 | select PINCTRL | 20 | select PINCTRL |
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index 2ceed407eda9..ef25dc597f30 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile | |||
@@ -19,8 +19,9 @@ obj-$(CONFIG_CPU_PXA930) += pxa930.o | |||
19 | # NOTE: keep the order of boards in accordance to their order in Kconfig | 19 | # NOTE: keep the order of boards in accordance to their order in Kconfig |
20 | 20 | ||
21 | # Device Tree support | 21 | # Device Tree support |
22 | obj-$(CONFIG_MACH_PXA3XX_DT) += pxa-dt.o | 22 | obj-$(CONFIG_MACH_PXA25X_DT) += pxa-dt.o |
23 | obj-$(CONFIG_MACH_PXA27X_DT) += pxa-dt.o | 23 | obj-$(CONFIG_MACH_PXA27X_DT) += pxa-dt.o |
24 | obj-$(CONFIG_MACH_PXA3XX_DT) += pxa-dt.o | ||
24 | 25 | ||
25 | # Intel/Marvell Dev Platforms | 26 | # Intel/Marvell Dev Platforms |
26 | obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o | 27 | obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o |
diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c index f128133a8f30..3e331e61f995 100644 --- a/arch/arm/mach-pxa/pxa-dt.c +++ b/arch/arm/mach-pxa/pxa-dt.c | |||
@@ -18,20 +18,18 @@ | |||
18 | 18 | ||
19 | #include "generic.h" | 19 | #include "generic.h" |
20 | 20 | ||
21 | #ifdef CONFIG_PXA3xx | 21 | #ifdef CONFIG_PXA25x |
22 | static const char *const pxa3xx_dt_board_compat[] __initconst = { | 22 | static const char * const pxa25x_dt_board_compat[] __initconst = { |
23 | "marvell,pxa300", | 23 | "marvell,pxa250", |
24 | "marvell,pxa310", | ||
25 | "marvell,pxa320", | ||
26 | NULL, | 24 | NULL, |
27 | }; | 25 | }; |
28 | 26 | ||
29 | DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)") | 27 | DT_MACHINE_START(PXA25X_DT, "Marvell PXA25x (Device Tree Support)") |
30 | .map_io = pxa3xx_map_io, | 28 | .map_io = pxa25x_map_io, |
31 | .init_irq = pxa3xx_dt_init_irq, | 29 | .init_irq = pxa25x_dt_init_irq, |
32 | .handle_irq = pxa3xx_handle_irq, | 30 | .handle_irq = pxa25x_handle_irq, |
33 | .restart = pxa_restart, | 31 | .restart = pxa_restart, |
34 | .dt_compat = pxa3xx_dt_board_compat, | 32 | .dt_compat = pxa25x_dt_board_compat, |
35 | MACHINE_END | 33 | MACHINE_END |
36 | #endif | 34 | #endif |
37 | 35 | ||
@@ -41,7 +39,7 @@ static const char * const pxa27x_dt_board_compat[] __initconst = { | |||
41 | NULL, | 39 | NULL, |
42 | }; | 40 | }; |
43 | 41 | ||
44 | DT_MACHINE_START(PXA27X_DT, "Marvell PXA2xx (Device Tree Support)") | 42 | DT_MACHINE_START(PXA27X_DT, "Marvell PXA27x (Device Tree Support)") |
45 | .map_io = pxa27x_map_io, | 43 | .map_io = pxa27x_map_io, |
46 | .init_irq = pxa27x_dt_init_irq, | 44 | .init_irq = pxa27x_dt_init_irq, |
47 | .handle_irq = pxa27x_handle_irq, | 45 | .handle_irq = pxa27x_handle_irq, |
@@ -49,3 +47,20 @@ DT_MACHINE_START(PXA27X_DT, "Marvell PXA2xx (Device Tree Support)") | |||
49 | .dt_compat = pxa27x_dt_board_compat, | 47 | .dt_compat = pxa27x_dt_board_compat, |
50 | MACHINE_END | 48 | MACHINE_END |
51 | #endif | 49 | #endif |
50 | |||
51 | #ifdef CONFIG_PXA3xx | ||
52 | static const char *const pxa3xx_dt_board_compat[] __initconst = { | ||
53 | "marvell,pxa300", | ||
54 | "marvell,pxa310", | ||
55 | "marvell,pxa320", | ||
56 | NULL, | ||
57 | }; | ||
58 | |||
59 | DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)") | ||
60 | .map_io = pxa3xx_map_io, | ||
61 | .init_irq = pxa3xx_dt_init_irq, | ||
62 | .handle_irq = pxa3xx_handle_irq, | ||
63 | .restart = pxa_restart, | ||
64 | .dt_compat = pxa3xx_dt_board_compat, | ||
65 | MACHINE_END | ||
66 | #endif | ||
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 3aa7acab2ccd..30b4270adc02 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -209,12 +209,12 @@ static int __init pxa25x_init(void) | |||
209 | register_syscore_ops(&pxa_irq_syscore_ops); | 209 | register_syscore_ops(&pxa_irq_syscore_ops); |
210 | register_syscore_ops(&pxa2xx_mfp_syscore_ops); | 210 | register_syscore_ops(&pxa2xx_mfp_syscore_ops); |
211 | 211 | ||
212 | pxa2xx_set_dmac_info(16, 40); | 212 | if (!of_have_populated_dt()) { |
213 | pxa_register_device(&pxa25x_device_gpio, &pxa25x_gpio_info); | 213 | pxa2xx_set_dmac_info(16, 40); |
214 | ret = platform_add_devices(pxa25x_devices, | 214 | pxa_register_device(&pxa25x_device_gpio, &pxa25x_gpio_info); |
215 | ARRAY_SIZE(pxa25x_devices)); | 215 | ret = platform_add_devices(pxa25x_devices, |
216 | if (ret) | 216 | ARRAY_SIZE(pxa25x_devices)); |
217 | return ret; | 217 | } |
218 | } | 218 | } |
219 | 219 | ||
220 | return ret; | 220 | return ret; |