aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa
diff options
context:
space:
mode:
authorRobert Jarzmik <robert.jarzmik@free.fr>2016-04-10 15:29:59 -0400
committerRobert Jarzmik <robert.jarzmik@free.fr>2016-08-09 02:16:59 -0400
commitd9edae44d76a20d1b999070d911e58dca53f9906 (patch)
tree3b84d131e86096219618485b3019be3b1c7cc761 /arch/arm/mach-pxa
parentca5be4c678a402b7a35b2ce9a1a480b79d53f36e (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/Kconfig11
-rw-r--r--arch/arm/mach-pxa/Makefile3
-rw-r--r--arch/arm/mach-pxa/pxa-dt.c37
-rw-r--r--arch/arm/mach-pxa/pxa25x.c12
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
5comment "Intel/Marvell Dev Platforms (sorted by hardware release time)" 5comment "Intel/Marvell Dev Platforms (sorted by hardware release time)"
6 6
7config 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
7config MACH_PXA27X_DT 18config 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
22obj-$(CONFIG_MACH_PXA3XX_DT) += pxa-dt.o 22obj-$(CONFIG_MACH_PXA25X_DT) += pxa-dt.o
23obj-$(CONFIG_MACH_PXA27X_DT) += pxa-dt.o 23obj-$(CONFIG_MACH_PXA27X_DT) += pxa-dt.o
24obj-$(CONFIG_MACH_PXA3XX_DT) += pxa-dt.o
24 25
25# Intel/Marvell Dev Platforms 26# Intel/Marvell Dev Platforms
26obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o 27obj-$(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
22static const char *const pxa3xx_dt_board_compat[] __initconst = { 22static 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
29DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)") 27DT_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,
35MACHINE_END 33MACHINE_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
44DT_MACHINE_START(PXA27X_DT, "Marvell PXA2xx (Device Tree Support)") 42DT_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,
50MACHINE_END 48MACHINE_END
51#endif 49#endif
50
51#ifdef CONFIG_PXA3xx
52static const char *const pxa3xx_dt_board_compat[] __initconst = {
53 "marvell,pxa300",
54 "marvell,pxa310",
55 "marvell,pxa320",
56 NULL,
57};
58
59DT_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,
65MACHINE_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;