diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-02-29 16:08:48 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-02-29 16:08:48 -0500 |
commit | 590d829a7cf882cf1a9d6fb7bdb247dc6b0993cb (patch) | |
tree | 21a1d0e576aabad465a3c1eb706f9c46a291f5d9 /arch | |
parent | e0e5ce59dc7b2685516219fdf44f01a8d53e0228 (diff) | |
parent | ffd76d8be36da09f8456c55569c008f5aa93095e (diff) |
Merge branch 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
* 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
arm/dts: Add support for TI OMAP3 EVM board
arm/dts: OMAP4: Update DTS file with new GIC bindings
arm/dts: OMAP3: Add i2c controller nodes
arm/dts: OMAP4: Add i2c controller nodes
ARM: OMAP2+: Set Kconfig dependencies for PROC_DEVICETREE
arm/dts: OMAP3&4: Remove the '0x' prefix for serial nodes
ARM: OMAP1: kconfig: Enable IRQ_DOMAIN by default for OMAP1 platforms
ARM: OMAP2+: pm: Do not init statically the SR and voltage layer with DT
ARM: OMAP2+: omap_device: Replace dev_warn by dev_dbg in omap_device_build_from_dt
ARM: OMAP2+: board-generic: Remove un-needed .atag_offset for DT_MACHINE
ARM: OMAP2+: kconfig: Enable devicetree by default for OMAP2+ systems
arm/dts: OMAP: Remove bootargs node from board files
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/omap3-beagle.dts | 9 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap3-evm.dts | 20 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap3.dtsi | 29 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4-panda.dts | 9 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4-sdp.dts | 9 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4.dtsi | 38 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-generic.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-omap2/pm.c | 8 | ||||
-rw-r--r-- | arch/arm/plat-omap/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/plat-omap/omap_device.c | 2 |
11 files changed, 94 insertions, 46 deletions
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts index 9486be62bcdd..9f72cd4cf308 100644 --- a/arch/arm/boot/dts/omap3-beagle.dts +++ b/arch/arm/boot/dts/omap3-beagle.dts | |||
@@ -13,15 +13,6 @@ | |||
13 | model = "TI OMAP3 BeagleBoard"; | 13 | model = "TI OMAP3 BeagleBoard"; |
14 | compatible = "ti,omap3-beagle", "ti,omap3"; | 14 | compatible = "ti,omap3-beagle", "ti,omap3"; |
15 | 15 | ||
16 | /* | ||
17 | * Since the initial device tree board file does not create any | ||
18 | * devices (MMC, network...), the only way to boot is to provide a | ||
19 | * ramdisk. | ||
20 | */ | ||
21 | chosen { | ||
22 | bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug earlyprintk"; | ||
23 | }; | ||
24 | |||
25 | memory { | 16 | memory { |
26 | device_type = "memory"; | 17 | device_type = "memory"; |
27 | reg = <0x80000000 0x20000000>; /* 512 MB */ | 18 | reg = <0x80000000 0x20000000>; /* 512 MB */ |
diff --git a/arch/arm/boot/dts/omap3-evm.dts b/arch/arm/boot/dts/omap3-evm.dts new file mode 100644 index 000000000000..2eee16ec59b4 --- /dev/null +++ b/arch/arm/boot/dts/omap3-evm.dts | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | |||
10 | /include/ "omap3.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "TI OMAP3 EVM (OMAP3530, AM/DM37x)"; | ||
14 | compatible = "ti,omap3-evm", "ti,omap3"; | ||
15 | |||
16 | memory { | ||
17 | device_type = "memory"; | ||
18 | reg = <0x80000000 0x10000000>; /* 256 MB */ | ||
19 | }; | ||
20 | }; | ||
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi index 216c3317461d..e69806432874 100644 --- a/arch/arm/boot/dts/omap3.dtsi +++ b/arch/arm/boot/dts/omap3.dtsi | |||
@@ -67,28 +67,49 @@ | |||
67 | #interrupt-cells = <1>; | 67 | #interrupt-cells = <1>; |
68 | }; | 68 | }; |
69 | 69 | ||
70 | uart1: serial@0x4806a000 { | 70 | uart1: serial@4806a000 { |
71 | compatible = "ti,omap3-uart"; | 71 | compatible = "ti,omap3-uart"; |
72 | ti,hwmods = "uart1"; | 72 | ti,hwmods = "uart1"; |
73 | clock-frequency = <48000000>; | 73 | clock-frequency = <48000000>; |
74 | }; | 74 | }; |
75 | 75 | ||
76 | uart2: serial@0x4806c000 { | 76 | uart2: serial@4806c000 { |
77 | compatible = "ti,omap3-uart"; | 77 | compatible = "ti,omap3-uart"; |
78 | ti,hwmods = "uart2"; | 78 | ti,hwmods = "uart2"; |
79 | clock-frequency = <48000000>; | 79 | clock-frequency = <48000000>; |
80 | }; | 80 | }; |
81 | 81 | ||
82 | uart3: serial@0x49020000 { | 82 | uart3: serial@49020000 { |
83 | compatible = "ti,omap3-uart"; | 83 | compatible = "ti,omap3-uart"; |
84 | ti,hwmods = "uart3"; | 84 | ti,hwmods = "uart3"; |
85 | clock-frequency = <48000000>; | 85 | clock-frequency = <48000000>; |
86 | }; | 86 | }; |
87 | 87 | ||
88 | uart4: serial@0x49042000 { | 88 | uart4: serial@49042000 { |
89 | compatible = "ti,omap3-uart"; | 89 | compatible = "ti,omap3-uart"; |
90 | ti,hwmods = "uart4"; | 90 | ti,hwmods = "uart4"; |
91 | clock-frequency = <48000000>; | 91 | clock-frequency = <48000000>; |
92 | }; | 92 | }; |
93 | |||
94 | i2c1: i2c@48070000 { | ||
95 | compatible = "ti,omap3-i2c"; | ||
96 | #address-cells = <1>; | ||
97 | #size-cells = <0>; | ||
98 | ti,hwmods = "i2c1"; | ||
99 | }; | ||
100 | |||
101 | i2c2: i2c@48072000 { | ||
102 | compatible = "ti,omap3-i2c"; | ||
103 | #address-cells = <1>; | ||
104 | #size-cells = <0>; | ||
105 | ti,hwmods = "i2c2"; | ||
106 | }; | ||
107 | |||
108 | i2c3: i2c@48060000 { | ||
109 | compatible = "ti,omap3-i2c"; | ||
110 | #address-cells = <1>; | ||
111 | #size-cells = <0>; | ||
112 | ti,hwmods = "i2c3"; | ||
113 | }; | ||
93 | }; | 114 | }; |
94 | }; | 115 | }; |
diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts index c7026578ce7d..9755ad5917f8 100644 --- a/arch/arm/boot/dts/omap4-panda.dts +++ b/arch/arm/boot/dts/omap4-panda.dts | |||
@@ -13,15 +13,6 @@ | |||
13 | model = "TI OMAP4 PandaBoard"; | 13 | model = "TI OMAP4 PandaBoard"; |
14 | compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4"; | 14 | compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4"; |
15 | 15 | ||
16 | /* | ||
17 | * Since the initial device tree board file does not create any | ||
18 | * devices (MMC, network...), the only way to boot is to provide a | ||
19 | * ramdisk. | ||
20 | */ | ||
21 | chosen { | ||
22 | bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug"; | ||
23 | }; | ||
24 | |||
25 | memory { | 16 | memory { |
26 | device_type = "memory"; | 17 | device_type = "memory"; |
27 | reg = <0x80000000 0x40000000>; /* 1 GB */ | 18 | reg = <0x80000000 0x40000000>; /* 1 GB */ |
diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts index 066e28c90328..63c6b2b2bf42 100644 --- a/arch/arm/boot/dts/omap4-sdp.dts +++ b/arch/arm/boot/dts/omap4-sdp.dts | |||
@@ -13,15 +13,6 @@ | |||
13 | model = "TI OMAP4 SDP board"; | 13 | model = "TI OMAP4 SDP board"; |
14 | compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4"; | 14 | compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4"; |
15 | 15 | ||
16 | /* | ||
17 | * Since the initial device tree board file does not create any | ||
18 | * devices (MMC, network...), the only way to boot is to provide a | ||
19 | * ramdisk. | ||
20 | */ | ||
21 | chosen { | ||
22 | bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug"; | ||
23 | }; | ||
24 | |||
25 | memory { | 16 | memory { |
26 | device_type = "memory"; | 17 | device_type = "memory"; |
27 | reg = <0x80000000 0x40000000>; /* 1 GB */ | 18 | reg = <0x80000000 0x40000000>; /* 1 GB */ |
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index e8fe75fac7c5..3d35559e77bc 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi | |||
@@ -99,33 +99,61 @@ | |||
99 | gic: interrupt-controller@48241000 { | 99 | gic: interrupt-controller@48241000 { |
100 | compatible = "arm,cortex-a9-gic"; | 100 | compatible = "arm,cortex-a9-gic"; |
101 | interrupt-controller; | 101 | interrupt-controller; |
102 | #interrupt-cells = <1>; | 102 | #interrupt-cells = <3>; |
103 | reg = <0x48241000 0x1000>, | 103 | reg = <0x48241000 0x1000>, |
104 | <0x48240100 0x0100>; | 104 | <0x48240100 0x0100>; |
105 | }; | 105 | }; |
106 | 106 | ||
107 | uart1: serial@0x4806a000 { | 107 | uart1: serial@4806a000 { |
108 | compatible = "ti,omap4-uart"; | 108 | compatible = "ti,omap4-uart"; |
109 | ti,hwmods = "uart1"; | 109 | ti,hwmods = "uart1"; |
110 | clock-frequency = <48000000>; | 110 | clock-frequency = <48000000>; |
111 | }; | 111 | }; |
112 | 112 | ||
113 | uart2: serial@0x4806c000 { | 113 | uart2: serial@4806c000 { |
114 | compatible = "ti,omap4-uart"; | 114 | compatible = "ti,omap4-uart"; |
115 | ti,hwmods = "uart2"; | 115 | ti,hwmods = "uart2"; |
116 | clock-frequency = <48000000>; | 116 | clock-frequency = <48000000>; |
117 | }; | 117 | }; |
118 | 118 | ||
119 | uart3: serial@0x48020000 { | 119 | uart3: serial@48020000 { |
120 | compatible = "ti,omap4-uart"; | 120 | compatible = "ti,omap4-uart"; |
121 | ti,hwmods = "uart3"; | 121 | ti,hwmods = "uart3"; |
122 | clock-frequency = <48000000>; | 122 | clock-frequency = <48000000>; |
123 | }; | 123 | }; |
124 | 124 | ||
125 | uart4: serial@0x4806e000 { | 125 | uart4: serial@4806e000 { |
126 | compatible = "ti,omap4-uart"; | 126 | compatible = "ti,omap4-uart"; |
127 | ti,hwmods = "uart4"; | 127 | ti,hwmods = "uart4"; |
128 | clock-frequency = <48000000>; | 128 | clock-frequency = <48000000>; |
129 | }; | 129 | }; |
130 | |||
131 | i2c1: i2c@48070000 { | ||
132 | compatible = "ti,omap4-i2c"; | ||
133 | #address-cells = <1>; | ||
134 | #size-cells = <0>; | ||
135 | ti,hwmods = "i2c1"; | ||
136 | }; | ||
137 | |||
138 | i2c2: i2c@48072000 { | ||
139 | compatible = "ti,omap4-i2c"; | ||
140 | #address-cells = <1>; | ||
141 | #size-cells = <0>; | ||
142 | ti,hwmods = "i2c2"; | ||
143 | }; | ||
144 | |||
145 | i2c3: i2c@48060000 { | ||
146 | compatible = "ti,omap4-i2c"; | ||
147 | #address-cells = <1>; | ||
148 | #size-cells = <0>; | ||
149 | ti,hwmods = "i2c3"; | ||
150 | }; | ||
151 | |||
152 | i2c4: i2c@48350000 { | ||
153 | compatible = "ti,omap4-i2c"; | ||
154 | #address-cells = <1>; | ||
155 | #size-cells = <0>; | ||
156 | ti,hwmods = "i2c4"; | ||
157 | }; | ||
130 | }; | 158 | }; |
131 | }; | 159 | }; |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index d965da45160e..72ce50ecf328 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -117,7 +117,6 @@ comment "OMAP Board Type" | |||
117 | config MACH_OMAP_GENERIC | 117 | config MACH_OMAP_GENERIC |
118 | bool "Generic OMAP2+ board" | 118 | bool "Generic OMAP2+ board" |
119 | depends on ARCH_OMAP2PLUS | 119 | depends on ARCH_OMAP2PLUS |
120 | select USE_OF | ||
121 | default y | 120 | default y |
122 | help | 121 | help |
123 | Support for generic TI OMAP2+ boards using Flattened Device Tree. | 122 | Support for generic TI OMAP2+ boards using Flattened Device Tree. |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index ad497620539b..d32b5935233f 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -91,14 +91,13 @@ static void __init omap3_init(void) | |||
91 | } | 91 | } |
92 | #endif | 92 | #endif |
93 | 93 | ||
94 | #if defined(CONFIG_SOC_OMAP2420) | 94 | #ifdef CONFIG_SOC_OMAP2420 |
95 | static const char *omap242x_boards_compat[] __initdata = { | 95 | static const char *omap242x_boards_compat[] __initdata = { |
96 | "ti,omap2420", | 96 | "ti,omap2420", |
97 | NULL, | 97 | NULL, |
98 | }; | 98 | }; |
99 | 99 | ||
100 | DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)") | 100 | DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)") |
101 | .atag_offset = 0x100, | ||
102 | .reserve = omap_reserve, | 101 | .reserve = omap_reserve, |
103 | .map_io = omap242x_map_io, | 102 | .map_io = omap242x_map_io, |
104 | .init_early = omap2420_init_early, | 103 | .init_early = omap2420_init_early, |
@@ -111,14 +110,13 @@ DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)") | |||
111 | MACHINE_END | 110 | MACHINE_END |
112 | #endif | 111 | #endif |
113 | 112 | ||
114 | #if defined(CONFIG_SOC_OMAP2430) | 113 | #ifdef CONFIG_SOC_OMAP2430 |
115 | static const char *omap243x_boards_compat[] __initdata = { | 114 | static const char *omap243x_boards_compat[] __initdata = { |
116 | "ti,omap2430", | 115 | "ti,omap2430", |
117 | NULL, | 116 | NULL, |
118 | }; | 117 | }; |
119 | 118 | ||
120 | DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)") | 119 | DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)") |
121 | .atag_offset = 0x100, | ||
122 | .reserve = omap_reserve, | 120 | .reserve = omap_reserve, |
123 | .map_io = omap243x_map_io, | 121 | .map_io = omap243x_map_io, |
124 | .init_early = omap2430_init_early, | 122 | .init_early = omap2430_init_early, |
@@ -131,14 +129,13 @@ DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)") | |||
131 | MACHINE_END | 129 | MACHINE_END |
132 | #endif | 130 | #endif |
133 | 131 | ||
134 | #if defined(CONFIG_ARCH_OMAP3) | 132 | #ifdef CONFIG_ARCH_OMAP3 |
135 | static const char *omap3_boards_compat[] __initdata = { | 133 | static const char *omap3_boards_compat[] __initdata = { |
136 | "ti,omap3", | 134 | "ti,omap3", |
137 | NULL, | 135 | NULL, |
138 | }; | 136 | }; |
139 | 137 | ||
140 | DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") | 138 | DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") |
141 | .atag_offset = 0x100, | ||
142 | .reserve = omap_reserve, | 139 | .reserve = omap_reserve, |
143 | .map_io = omap3_map_io, | 140 | .map_io = omap3_map_io, |
144 | .init_early = omap3430_init_early, | 141 | .init_early = omap3430_init_early, |
@@ -151,14 +148,13 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") | |||
151 | MACHINE_END | 148 | MACHINE_END |
152 | #endif | 149 | #endif |
153 | 150 | ||
154 | #if defined(CONFIG_ARCH_OMAP4) | 151 | #ifdef CONFIG_ARCH_OMAP4 |
155 | static const char *omap4_boards_compat[] __initdata = { | 152 | static const char *omap4_boards_compat[] __initdata = { |
156 | "ti,omap4", | 153 | "ti,omap4", |
157 | NULL, | 154 | NULL, |
158 | }; | 155 | }; |
159 | 156 | ||
160 | DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)") | 157 | DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)") |
161 | .atag_offset = 0x100, | ||
162 | .reserve = omap_reserve, | 158 | .reserve = omap_reserve, |
163 | .map_io = omap4_map_io, | 159 | .map_io = omap4_map_io, |
164 | .init_early = omap4430_init_early, | 160 | .init_early = omap4430_init_early, |
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index 1881fe915149..ad4f69394166 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c | |||
@@ -227,6 +227,14 @@ postcore_initcall(omap2_common_pm_init); | |||
227 | 227 | ||
228 | static int __init omap2_common_pm_late_init(void) | 228 | static int __init omap2_common_pm_late_init(void) |
229 | { | 229 | { |
230 | /* | ||
231 | * In the case of DT, the PMIC and SR initialization will be done using | ||
232 | * a completely different mechanism. | ||
233 | * Disable this part if a DT blob is available. | ||
234 | */ | ||
235 | if (of_have_populated_dt()) | ||
236 | return 0; | ||
237 | |||
230 | /* Init the voltage layer */ | 238 | /* Init the voltage layer */ |
231 | omap_pmic_late_init(); | 239 | omap_pmic_late_init(); |
232 | omap_voltage_late_init(); | 240 | omap_voltage_late_init(); |
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig index aa59f4247dc5..f419a082b04b 100644 --- a/arch/arm/plat-omap/Kconfig +++ b/arch/arm/plat-omap/Kconfig | |||
@@ -14,6 +14,7 @@ config ARCH_OMAP1 | |||
14 | select CLKDEV_LOOKUP | 14 | select CLKDEV_LOOKUP |
15 | select CLKSRC_MMIO | 15 | select CLKSRC_MMIO |
16 | select GENERIC_IRQ_CHIP | 16 | select GENERIC_IRQ_CHIP |
17 | select IRQ_DOMAIN | ||
17 | select HAVE_IDE | 18 | select HAVE_IDE |
18 | select NEED_MACH_MEMORY_H | 19 | select NEED_MACH_MEMORY_H |
19 | help | 20 | help |
@@ -24,6 +25,8 @@ config ARCH_OMAP2PLUS | |||
24 | select CLKDEV_LOOKUP | 25 | select CLKDEV_LOOKUP |
25 | select GENERIC_IRQ_CHIP | 26 | select GENERIC_IRQ_CHIP |
26 | select OMAP_DM_TIMER | 27 | select OMAP_DM_TIMER |
28 | select USE_OF | ||
29 | select PROC_DEVICETREE if PROC_FS | ||
27 | help | 30 | help |
28 | "Systems based on OMAP2, OMAP3 or OMAP4" | 31 | "Systems based on OMAP2, OMAP3 or OMAP4" |
29 | 32 | ||
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c index e8d98693d2dd..69fde03729cd 100644 --- a/arch/arm/plat-omap/omap_device.c +++ b/arch/arm/plat-omap/omap_device.c | |||
@@ -348,7 +348,7 @@ static int omap_device_build_from_dt(struct platform_device *pdev) | |||
348 | 348 | ||
349 | oh_cnt = of_property_count_strings(node, "ti,hwmods"); | 349 | oh_cnt = of_property_count_strings(node, "ti,hwmods"); |
350 | if (!oh_cnt || IS_ERR_VALUE(oh_cnt)) { | 350 | if (!oh_cnt || IS_ERR_VALUE(oh_cnt)) { |
351 | dev_warn(&pdev->dev, "No 'hwmods' to build omap_device\n"); | 351 | dev_dbg(&pdev->dev, "No 'hwmods' to build omap_device\n"); |
352 | return -ENODEV; | 352 | return -ENODEV; |
353 | } | 353 | } |
354 | 354 | ||