ARM: DRA7: Add support for DRA72x devices
Subsystems (5)
v3 cover ARM: DRA7: Add support for DRA72x devices
changes in v3:
Removed wildcards from compatible strings and duplicates from .dt_compat strings as suggested by Arnd
DRA72x devices are single core Cortex A15 devices belonging to the DRA7 family (Similar to the DRA74x devices which are dual core Cortex A15 based)
The patches (based off 3.15-rc2) add minimal DT/kernel modifications to add boot support for DRA72x devices reusing all the kernel data for DRA74x devices.
Rajendra Nayak (4):
ARM: dts: dra7-evm: Remove the wrong and undocumented compatible
ARM: dts: Add support for DRA72x family of devices
ARM: OMAP2+: Add machine entry for dra72x devices
ARM: DRA7: Add support for soc_is_dra74x() and soc_is_dra72x()
varients
.../devicetree/bindings/arm/omap/omap.txt | 14 ++++-- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/dra7-evm.dts | 6 +-- arch/arm/boot/dts/dra7.dtsi | 27 ------------ arch/arm/boot/dts/dra72-evm.dts | 24 +++++++++++ arch/arm/boot/dts/dra72x.dtsi | 25 +++++++++++ arch/arm/boot/dts/dra74x.dtsi | 41 ++++++++++++++++++ arch/arm/mach-omap2/board-generic.c | 45 ++++++++++++++------ arch/arm/mach-omap2/soc.h | 7 +++ 9 files changed, 143 insertions(+), 49 deletions(-) create mode 100644 arch/arm/boot/dts/dra72-evm.dts create mode 100644 arch/arm/boot/dts/dra72x.dtsi create mode 100644 arch/arm/boot/dts/dra74x.dtsi
Signature · 1 line
1.7.9.5
PATCH v3 1/4 ARM: dts: dra7-evm: Remove the wrong and undocumented compatible
"ti,dra752" is neither documented nor correct, since the device is actually a dra742 device as rightly documented in dt bindings.
--- arch/arm/boot/dts/dra7-evm.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/dra7-evm.dts +1 -1
@@ -11,7 +11,7 @@ / { model = "TI DRA7"; - compatible = "ti,dra7-evm", "ti,dra752", "ti,dra7"; + compatible = "ti,dra7-evm", "ti,dra7"; memory { device_type = "memory";
Signature · 1 line
1.7.9.5
PATCH v3 2/4 ARM: dts: Add support for DRA72x family of devices
In reply to Rajendra NayakDRA72x is a single core cortex A15 device with most infrastructure IPs otherwise same as whats on the DRA74x devices.
So move the cpu nodes into dra74x.dtsi and dra72x.dtsi respectively.
Also add a minimal dra72-evm dts file.
--- .../devicetree/bindings/arm/omap/omap.txt | 14 +++++-- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/dra7-evm.dts | 6 +-- arch/arm/boot/dts/dra7.dtsi | 27 ------------- arch/arm/boot/dts/dra72-evm.dts | 24 ++++++++++++ arch/arm/boot/dts/dra72x.dtsi | 25 ++++++++++++ arch/arm/boot/dts/dra74x.dtsi | 41 ++++++++++++++++++++ 7 files changed, 105 insertions(+), 35 deletions(-) create mode 100644 arch/arm/boot/dts/dra72-evm.dts create mode 100644 arch/arm/boot/dts/dra72x.dtsi create mode 100644 arch/arm/boot/dts/dra74x.dtsi
Documentation/devicetree/bindings/arm/omap/omap.txt +10 -4
@@ -79,8 +79,11 @@ SoCs: - OMAP5432 compatible = "ti,omap5432", "ti,omap5" -- DRA742 - compatible = "ti,dra7xx", "ti,dra7" +- DRA74x + compatible = "ti,dra74", "ti,dra7" + +- DRA72x + compatible = "ti,dra72", "ti,dra7" - AM4372 compatible = "ti,am4372", "ti,am43"
@@ -120,5 +123,8 @@ Boards: - AM437x GP EVM compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43" -- DRA7 EVM: Software Developement Board for DRA7XX - compatible = "ti,dra7-evm", "ti,dra7" +- DRA74 EVM: Software Developement Board for DRA74x + compatible = "ti,dra7-evm", "ti,dra74", "ti,dra7" + +- DRA72 EVM: Software Development Board for DRA72x + compatible = "ti,dra72-evm", "ti,dra72", "ti,dra7"
arch/arm/boot/dts/Makefile +2 -1
@@ -288,7 +288,8 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ am3517_mt_ventoux.dtb \ am43x-epos-evm.dtb \ am437x-gp-evm.dtb \ - dra7-evm.dtb + dra7-evm.dtb \ + dra72-evm.dtb dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb dtb-$(CONFIG_ARCH_QCOM) += qcom-msm8660-surf.dtb \
arch/arm/boot/dts/dra7-evm.dts +3 -3
@@ -7,11 +7,11 @@ */ /dts-v1/; -#include "dra7.dtsi" +#include "dra74x.dtsi" / { - model = "TI DRA7"; - compatible = "ti,dra7-evm", "ti,dra7"; + model = "TI DRA74x"; + compatible = "ti,dra7-evm", "ti,dra74", "ti,dra7"; memory { device_type = "memory";
arch/arm/boot/dts/dra7.dtsi +0 -27
@@ -33,33 +33,6 @@ serial5 = &uart6; }; - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu0: cpu at 0 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <0>; - - operating-points = < - /* kHz uV */ - 1000000 1060000 - 1176000 1160000 - >; - - clocks = <&dpll_mpu_ck>; - clock-names = "cpu"; - - clock-latency = <300000>; /* From omap-cpufreq driver */ - }; - cpu at 1 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <1>; - }; - }; - timer { compatible = "arm,armv7-timer"; interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
arch/arm/boot/dts/dra72-evm.dts new file +24 -0
@@ -0,0 +1,24 @@ +/* + * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +/dts-v1/; + +#include "dra72x.dtsi" + +/ { + model = "TI DRA72x"; + compatible = "ti,dra72-evm", "ti,dra72", "ti,dra7"; + + memory { + device_type = "memory"; + reg = <0x80000000 0x40000000>; /* 1024 MB */ + }; +}; + +&uart1 { + status = "okay"; +};
arch/arm/boot/dts/dra72x.dtsi new file +25 -0
@@ -0,0 +1,25 @@ +/* + * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * Based on "omap4.dtsi" + */ + +#include "dra7.dtsi" + +/ { + compatible = "ti,dra72", "ti,dra7"; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu at 0 { + device_type = "cpu"; + compatible = "arm,cortex-a15"; + reg = <0>; + }; + }; +};
arch/arm/boot/dts/dra74x.dtsi new file +41 -0
41 lines not on this page · raw message
Signature · 1 line
1.7.9.5
Arnd Bergmann
maintainerPATCH v3 2/4 ARM: dts: Add support for DRA72x family of devices
Documentation/devicetree/bindings/arm/omap/omap.txt SoCs: · line 86
Quoted 8 lines · Rajendra Nayak
-- DRA742
Documentation/devicetree/bindings/arm/omap/omap.txt +5
-1- compatible = "ti,dra7xx", "ti,dra7" +- DRA74x + compatible = "ti,dra74", "ti,dra7" + +- DRA72x + compatible = "ti,dra72", "ti,dra7"
Actually, what I meant was that you should list the fill name of the SoC, e.g. "ti,dra742", not just "ti,dra74". Leaving out the 'x' is not going to prevent this from breaking when you have a new dra745 that is incompatible.
You can always list more strings, e.g.
compatible = "ti,dra745", "ti,dra742", "ti,dra74", "ti,dra7";
if you have a dra745 product that is fully compatible with dra742, but the important part here is that the first string must be the full name.
Arnd
PATCH v3 2/4 ARM: dts: Add support for DRA72x family of devices
Quoted 14 lines · Arnd Bergmann
Documentation/devicetree/bindings/arm/omap/omap.txt SoCs: · line 86
Quoted 8 lines · Rajendra Nayak
-- DRA742
Documentation/devicetree/bindings/arm/omap/omap.txt +5
-1- compatible = "ti,dra7xx", "ti,dra7" +- DRA74x + compatible = "ti,dra74", "ti,dra7" + +- DRA72x + compatible = "ti,dra72", "ti,dra7"Actually, what I meant was that you should list the fill name of the SoC, e.g. "ti,dra742", not just "ti,dra74". Leaving out the 'x' is not going to prevent this from breaking when you have a new dra745 that is incompatible.
Quoted 6 lines
You can always list more strings, e.g.
compatible = "ti,dra745", "ti,dra742", "ti,dra74", "ti,dra7";if you have a dra745 product that is fully compatible with dra742, but the important part here is that the first string must be the full name.
Okay, I will update the device compatibles to something like this..
DRA742
compatible = "ti,dra742", "ti,dra74", "ti,dra7"
DRA722
compatible = "ti,dra722", "ti,dra72", "ti,dra7"
And the evm compatibles as
DRA742 EVM: Software Developement Board for DRA742 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7" DRA722 EVM: Software Development Board for DRA722 compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7"
I was also calling the .dtsi files as dra72x.dtsi and dra74x.dtsi, do you suggest I call them dra742.dtsi and dra722.dtsi instead? Just that if we end up with a dra745 which is fully compatible with dra742, as you mentioned above, we would be using a dra742.dtsi for a dra745 device which could be a little confusing.
Quoted 3 lines
Arnd
Arnd Bergmann
maintainerPATCH v3 2/4 ARM: dts: Add support for DRA72x family of devices
Quoted 10 lines · On Monday 28 April 2014 11:39:22 Rajendra Nayak wrote:
DRA742 EVM: Software Developement Board for DRA742 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7" DRA722 EVM: Software Development Board for DRA722 compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7"
I was also calling the .dtsi files as
dra72x.dtsianddra74x.dtsi, do you suggest I call themdra742.dtsianddra722.dtsiinstead? Just that if we end up with a dra745 which is fully compatible with dra742, as you mentioned above, we would be using adra742.dtsifor a dra745 device which could be a little confusing.
For the file names, wildcards are ok. Alternatively you could have a dra745.dtsi that does nothing but include dra752.dtsi and override the compatible string (if there is one to start with).
Arnd
PATCH v3 2/4 ARM: dts: Add support for DRA72x family of devices
Quoted 7 lines · Arnd Bergmann
Quoted 6 lines · On Monday 28 April 2014 11:39:22 Rajendra Nayak wrote:
DRA742 EVM: Software Developement Board for DRA742 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7" DRA722 EVM: Software Development Board for DRA722 compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7"
Quoted 8 lines
Quoted 4 lines
I was also calling the .dtsi files as
dra72x.dtsianddra74x.dtsi, do you suggest I call themdra742.dtsianddra722.dtsiinstead? Just that if we end up with a dra745 which is fully compatible with dra742, as you mentioned above, we would be using adra742.dtsifor a dra745 device which could be a little confusing.For the file names, wildcards are ok. Alternatively you could have a
dra745.dtsithat does nothing but includedra752.dtsiand override the compatible string (if there is one to start with).
Okay, thanks.
Quoted 3 lines
Arnd
PATCH v3 3/4 ARM: OMAP2+: Add machine entry for dra72x devices
In reply to Rajendra NayakThe only difference from the dra74x devices is the missing .smp entry.
While at it, also fix the use of __initdata (across the file) and replace them with __initconst as reported by checkpatch
ERROR: Use of const init definition must use __initconst +static const char *dra72x_boards_compat[] __initdata = {
--- arch/arm/mach-omap2/board-generic.c | 45 ++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 14 deletions(-)
arch/arm/mach-omap2/board-generic.c +31 -14
@@ -43,7 +43,7 @@ static void __init omap_generic_init(void) }#ifdef CONFIG_SOC_OMAP2420 -static const char *omap242x_boards_compat[]__initdata = { +static const char *omap242x_boards_compat[]__initconst = {"ti,omap2420" ,NULL , };
@@ -62,7 +62,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_OMAP2430 -static const char *omap243x_boards_compat[]__initdata = { +static const char *omap243x_boards_compat[]__initconst = {"ti,omap2430" ,NULL , };
@@ -81,7 +81,7 @@ MACHINE_END#endif #ifdef CONFIG_ARCH_OMAP3 -static const char *omap3_boards_compat[]__initdata = { +static const char *omap3_boards_compat[]__initconst = {"ti,omap3430" ,"ti,omap3" , NULL,
@@ -100,7 +100,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *omap36xx_boards_compat[] __initdata = { +static const char *omap36xx_boards_compat[] __initconst = {"ti,omap36xx" ,NULL , };
@@ -118,7 +118,7 @@ DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *omap3_gp_boards_compat[] __initdata = { +static const char *omap3_gp_boards_compat[] __initconst = {"ti,omap3-beagle" ,"timll,omap3-devkit8000" ,NULL ,
@@ -137,7 +137,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *am3517_boards_compat[] __initdata = { +static const char *am3517_boards_compat[] __initconst = {"ti,am3517" ,NULL , };
@@ -157,7 +157,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_AM33XX -static const char *am33xx_boards_compat[]__initdata = { +static const char *am33xx_boards_compat[]__initconst = {"ti,am33xx" ,NULL , };
@@ -177,7 +177,7 @@ MACHINE_END#endif #ifdef CONFIG_ARCH_OMAP4 -static const char *omap4_boards_compat[]__initdata = { +static const char *omap4_boards_compat[]__initconst = {"ti,omap4460" ,"ti,omap4430" , "ti,omap4",
@@ -199,7 +199,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_OMAP5 -static const char *omap5_boards_compat[]__initdata = { +static const char *omap5_boards_compat[]__initconst = {"ti,omap5432" ,"ti,omap5430" , "ti,omap5",
@@ -221,7 +221,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_AM43XX -static const char *am43_boards_compat[]__initdata = { +static const char *am43_boards_compat[]__initconst = {"ti,am4372" ,"ti,am43" , NULL,
@@ -240,13 +240,13 @@ MACHINE_END#endif #ifdef CONFIG_SOC_DRA7XX -static const char *dra7xx_boards_compat[]__initdata = { -"ti,dra7xx" , +static const char *dra74x_boards_compat[]__initconst = { +"ti,dra74" ,"ti,dra7" ,NULL , }; -DT_MACHINE_START (DRA7XX_DT ,"Generic DRA7XX (Flattened Device Tree)" ) +DT_MACHINE_START (DRA74X_DT ,"Generic DRA74X (Flattened Device Tree)" ) .reserve = omap_reserve, .smp = smp_ops(omap4_smp_ops), .map_io = omap5_map_io,
@@ -255,7 +255,24 @@ DT_MACHINE_START(DRA7XX_DT, "Generic DRA7XX (Flattened Device Tree)") .init_irq = omap_gic_of_init, .init_machine = omap_generic_init, .init_time = omap5_realtime_timer_init, - .dt_compat = dra7xx_boards_compat, + .dt_compat = dra74x_boards_compat, + .restart = omap44xx_restart, +MACHINE_END + +static const char *dra72x_boards_compat[] __initconst = { +"ti,dra72" , +NULL , +}; + +DT_MACHINE_START (DRA72_DT ,"Generic DRA72X (Flattened Device Tree)" ) + .reserve = omap_reserve, + .map_io = omap5_map_io, + .init_early = dra7xx_init_early, + .init_late = dra7xx_init_late, + .init_irq = omap_gic_of_init, + .init_machine = omap_generic_init, + .init_time = omap5_realtime_timer_init, + .dt_compat = dra72x_boards_compat, .restart = omap44xx_restart, MACHINE_END#endif
Signature · 1 line
1.7.9.5
PATCH v3 3/4 ARM: OMAP2+: Add machine entry for dra72x devices
Hi Rajendra,
Quoted 7 lines · Rajendra
The only difference from the dra74x devices is the missing .smp entry.
While at it, also fix the use of
__initdata(across the file) and replace them with__initconstas reported by checkpatchERROR: Use of const init definition must use
__initconst+static const char *dra72x_boards_compat[]__initdata= {
Since it looks like you are gonna do another respin, care to separate out the __initdata to __initconst change for existing ones into a different patch, and limit this patch to just what the patch subject says.
regards
Suman
Quoted 144 lines
Signed-off-by Rajendra Nayak <[email protected]>--- arch/arm/mach-omap2/board-generic.c | 45 ++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 14 deletions(-)arch/arm/mach-omap2/board-generic.c +31
-14@@ -43,7 +43,7 @@ static void __init omap_generic_init(void) }#ifdef CONFIG_SOC_OMAP2420 -static const char *omap242x_boards_compat[]__initdata = { +static const char *omap242x_boards_compat[]__initconst = {"ti,omap2420" ,NULL , };@@ -62,7 +62,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_OMAP2430 -static const char *omap243x_boards_compat[]__initdata = { +static const char *omap243x_boards_compat[]__initconst = {"ti,omap2430" ,NULL , };@@ -81,7 +81,7 @@ MACHINE_END#endif #ifdef CONFIG_ARCH_OMAP3 -static const char *omap3_boards_compat[]__initdata = { +static const char *omap3_boards_compat[]__initconst = {"ti,omap3430" ,"ti,omap3" , NULL,@@ -100,7 +100,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *omap36xx_boards_compat[] __initdata = { +static const char *omap36xx_boards_compat[] __initconst = {"ti,omap36xx" ,NULL , };@@ -118,7 +118,7 @@ DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *omap3_gp_boards_compat[] __initdata = { +static const char *omap3_gp_boards_compat[] __initconst = {"ti,omap3-beagle" ,"timll,omap3-devkit8000" ,NULL ,@@ -137,7 +137,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *am3517_boards_compat[] __initdata = { +static const char *am3517_boards_compat[] __initconst = {"ti,am3517" ,NULL , };@@ -157,7 +157,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_AM33XX -static const char *am33xx_boards_compat[]__initdata = { +static const char *am33xx_boards_compat[]__initconst = {"ti,am33xx" ,NULL , };@@ -177,7 +177,7 @@ MACHINE_END#endif #ifdef CONFIG_ARCH_OMAP4 -static const char *omap4_boards_compat[]__initdata = { +static const char *omap4_boards_compat[]__initconst = {"ti,omap4460" ,"ti,omap4430" , "ti,omap4",@@ -199,7 +199,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_OMAP5 -static const char *omap5_boards_compat[]__initdata = { +static const char *omap5_boards_compat[]__initconst = {"ti,omap5432" ,"ti,omap5430" , "ti,omap5",@@ -221,7 +221,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_AM43XX -static const char *am43_boards_compat[]__initdata = { +static const char *am43_boards_compat[]__initconst = {"ti,am4372" ,"ti,am43" , NULL,@@ -240,13 +240,13 @@ MACHINE_END#endif #ifdef CONFIG_SOC_DRA7XX -static const char *dra7xx_boards_compat[]__initdata = { -"ti,dra7xx" , +static const char *dra74x_boards_compat[]__initconst = { +"ti,dra74" ,"ti,dra7" ,NULL , }; -DT_MACHINE_START (DRA7XX_DT ,"Generic DRA7XX (Flattened Device Tree)" ) +DT_MACHINE_START (DRA74X_DT ,"Generic DRA74X (Flattened Device Tree)" ) .reserve = omap_reserve, .smp = smp_ops(omap4_smp_ops), .map_io = omap5_map_io,@@ -255,7 +255,24 @@ DT_MACHINE_START(DRA7XX_DT, "Generic DRA7XX (Flattened Device Tree)") .init_irq = omap_gic_of_init, .init_machine = omap_generic_init, .init_time = omap5_realtime_timer_init, - .dt_compat = dra7xx_boards_compat, + .dt_compat = dra74x_boards_compat, + .restart = omap44xx_restart, +MACHINE_END + +static const char *dra72x_boards_compat[] __initconst = { +"ti,dra72" , +NULL , +}; + +DT_MACHINE_START (DRA72_DT ,"Generic DRA72X (Flattened Device Tree)" ) + .reserve = omap_reserve, + .map_io = omap5_map_io, + .init_early = dra7xx_init_early, + .init_late = dra7xx_init_late, + .init_irq = omap_gic_of_init, + .init_machine = omap_generic_init, + .init_time = omap5_realtime_timer_init, + .dt_compat = dra72x_boards_compat, .restart = omap44xx_restart, MACHINE_END#endif
PATCH v3 3/4 ARM: OMAP2+: Add machine entry for dra72x devices
Quoted 8 lines · Suman Anna
Hi Rajendra,
Quoted 5 lines · Rajendra
The only difference from the dra74x devices is the missing .smp entry.
While at it, also fix the use of
__initdata(across the file) and replace them with__initconstas reported by checkpatch
Quoted 6 lines
Quoted 2 lines
ERROR: Use of const init definition must use
__initconst+static const char *dra72x_boards_compat[]__initdata= {Since it looks like you are gonna do another respin, care to separate out the
__initdatato__initconstchange for existing ones into a different patch, and limit this patch to just what the patch subject says.
Sure, I will, if that helps.
Quoted 149 lines
regards
SumanQuoted 144 lines
Signed-off-by Rajendra Nayak <[email protected]>--- arch/arm/mach-omap2/board-generic.c | 45 ++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 14 deletions(-)arch/arm/mach-omap2/board-generic.c +31
-14@@ -43,7 +43,7 @@ static void __init omap_generic_init(void) }#ifdef CONFIG_SOC_OMAP2420 -static const char *omap242x_boards_compat[]__initdata = { +static const char *omap242x_boards_compat[]__initconst = {"ti,omap2420" ,NULL , };@@ -62,7 +62,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_OMAP2430 -static const char *omap243x_boards_compat[]__initdata = { +static const char *omap243x_boards_compat[]__initconst = {"ti,omap2430" ,NULL , };@@ -81,7 +81,7 @@ MACHINE_END#endif #ifdef CONFIG_ARCH_OMAP3 -static const char *omap3_boards_compat[]__initdata = { +static const char *omap3_boards_compat[]__initconst = {"ti,omap3430" ,"ti,omap3" , NULL,@@ -100,7 +100,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *omap36xx_boards_compat[] __initdata = { +static const char *omap36xx_boards_compat[] __initconst = {"ti,omap36xx" ,NULL , };@@ -118,7 +118,7 @@ DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *omap3_gp_boards_compat[] __initdata = { +static const char *omap3_gp_boards_compat[] __initconst = {"ti,omap3-beagle" ,"timll,omap3-devkit8000" ,NULL ,@@ -137,7 +137,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)") .restart = omap3xxx_restart,MACHINE_END -static const char *am3517_boards_compat[] __initdata = { +static const char *am3517_boards_compat[] __initconst = {"ti,am3517" ,NULL , };@@ -157,7 +157,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_AM33XX -static const char *am33xx_boards_compat[]__initdata = { +static const char *am33xx_boards_compat[]__initconst = {"ti,am33xx" ,NULL , };@@ -177,7 +177,7 @@ MACHINE_END#endif #ifdef CONFIG_ARCH_OMAP4 -static const char *omap4_boards_compat[]__initdata = { +static const char *omap4_boards_compat[]__initconst = {"ti,omap4460" ,"ti,omap4430" , "ti,omap4",@@ -199,7 +199,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_OMAP5 -static const char *omap5_boards_compat[]__initdata = { +static const char *omap5_boards_compat[]__initconst = {"ti,omap5432" ,"ti,omap5430" , "ti,omap5",@@ -221,7 +221,7 @@ MACHINE_END#endif #ifdef CONFIG_SOC_AM43XX -static const char *am43_boards_compat[]__initdata = { +static const char *am43_boards_compat[]__initconst = {"ti,am4372" ,"ti,am43" , NULL,@@ -240,13 +240,13 @@ MACHINE_END#endif #ifdef CONFIG_SOC_DRA7XX -static const char *dra7xx_boards_compat[]__initdata = { -"ti,dra7xx" , +static const char *dra74x_boards_compat[]__initconst = { +"ti,dra74" ,"ti,dra7" ,NULL , }; -DT_MACHINE_START (DRA7XX_DT ,"Generic DRA7XX (Flattened Device Tree)" ) +DT_MACHINE_START (DRA74X_DT ,"Generic DRA74X (Flattened Device Tree)" ) .reserve = omap_reserve, .smp = smp_ops(omap4_smp_ops), .map_io = omap5_map_io,@@ -255,7 +255,24 @@ DT_MACHINE_START(DRA7XX_DT, "Generic DRA7XX (Flattened Device Tree)") .init_irq = omap_gic_of_init, .init_machine = omap_generic_init, .init_time = omap5_realtime_timer_init, - .dt_compat = dra7xx_boards_compat, + .dt_compat = dra74x_boards_compat, + .restart = omap44xx_restart, +MACHINE_END + +static const char *dra72x_boards_compat[] __initconst = { +"ti,dra72" , +NULL , +}; + +DT_MACHINE_START (DRA72_DT ,"Generic DRA72X (Flattened Device Tree)" ) + .reserve = omap_reserve, + .map_io = omap5_map_io, + .init_early = dra7xx_init_early, + .init_late = dra7xx_init_late, + .init_irq = omap_gic_of_init, + .init_machine = omap_generic_init, + .init_time = omap5_realtime_timer_init, + .dt_compat = dra72x_boards_compat, .restart = omap44xx_restart, MACHINE_END#endif
PATCH v3 4/4 ARM: DRA7: Add support for soc_is_dra74x() and soc_is_dra72x() varients
In reply to Rajendra NayakUse the corresponding compatibles to identify the devices.
--- arch/arm/mach-omap2/soc.h | 7 +++++++ 1 file changed, 7 insertions(+)
arch/arm/mach-omap2/soc.h +7 -0
@@ -245,6 +245,8 @@ IS_AM_SUBCLASS(437x, 0x437)#define soc_is_omap54xx () 0#define soc_is_omap543x () 0#define soc_is_dra7xx () 0 +#define soc_is_dra74x () 0 +#define soc_is_dra72x () 0#if defined(MULTI_OMAP2 )# if defined(CONFIG_ARCH_OMAP2 )
@@ -393,7 +395,12 @@ IS_OMAP_TYPE(3430, 0x3430)#if defined(CONFIG_SOC_DRA7XX )#undef soc_is_dra7xx +#undef soc_is_dra74x +#undef soc_is_dra72x#define soc_is_dra7xx () (of_machine_is_compatible("ti,dra7")) +#define soc_is_dra74x () (of_machine_is_compatible("ti,dra74")) +#define soc_is_dra72x () (of_machine_is_compatible("ti,dra72")) +#endif /* Various silicon revisions for omap2 */
Signature · 1 line
1.7.9.5