diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-10-30 08:19:09 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2017-10-30 08:19:09 -0400 |
commit | 2132910ec924bbbba62de36f19121f3ef79147d4 (patch) | |
tree | 3e9e313ae29009c6791fcbe7e9e20f7a6e0cffc3 | |
parent | b51c5cb56fa3a51bbf12bda03f3f10fa5796c376 (diff) | |
parent | 88b1b18ffeae1d65e22ec24040545a84c3ace352 (diff) |
Merge tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt
Pull "Amlogic 32-bit platforms: DT updates for v4.15"
- add SDIO MMC controller
- reserved memory fixes
- SoC info driver nodes
- enable USB host controller
* tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
ARM: dts: meson: add the SDIO MMC controller
ARM: dts: meson8b: add reserved memory zone to fix silent freezes
ARM: dts: meson: add SoC information nodes
dt-bindings: Amlogic: add documentation for the SoC info register areas
ARM: dts: meson: fixing USB support on Meson6, Meson8 and Meson8b
ARM: dts: meson: enabling the USB Host controller on Odroid-C1/C1+ board
-rw-r--r-- | Documentation/devicetree/bindings/arm/amlogic/analog-top.txt | 20 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/amlogic/assist.txt | 17 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/amlogic/bootrom.txt | 17 | ||||
-rw-r--r-- | arch/arm/boot/dts/meson.dtsi | 23 | ||||
-rw-r--r-- | arch/arm/boot/dts/meson8.dtsi | 11 | ||||
-rw-r--r-- | arch/arm/boot/dts/meson8b-odroidc1.dts | 23 | ||||
-rw-r--r-- | arch/arm/boot/dts/meson8b.dtsi | 23 |
7 files changed, 132 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/arm/amlogic/analog-top.txt b/Documentation/devicetree/bindings/arm/amlogic/analog-top.txt new file mode 100644 index 000000000000..101dc21014ec --- /dev/null +++ b/Documentation/devicetree/bindings/arm/amlogic/analog-top.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | Amlogic Meson8 and Meson8b "analog top" registers: | ||
2 | -------------------------------------------------- | ||
3 | |||
4 | The analog top registers contain information about the so-called | ||
5 | "metal revision" (which encodes the "minor version") of the SoC. | ||
6 | |||
7 | Required properties: | ||
8 | - reg: the register range of the analog top registers | ||
9 | - compatible: depending on the SoC this should be one of: | ||
10 | - "amlogic,meson8-analog-top" | ||
11 | - "amlogic,meson8b-analog-top" | ||
12 | along with "syscon" | ||
13 | |||
14 | |||
15 | Example: | ||
16 | |||
17 | analog_top: analog-top@81a8 { | ||
18 | compatible = "amlogic,meson8-analog-top", "syscon"; | ||
19 | reg = <0x81a8 0x14>; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/amlogic/assist.txt b/Documentation/devicetree/bindings/arm/amlogic/assist.txt new file mode 100644 index 000000000000..7656812b67b9 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/amlogic/assist.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | Amlogic Meson6/Meson8/Meson8b assist registers: | ||
2 | ----------------------------------------------- | ||
3 | |||
4 | The assist registers contain basic information about the SoC, | ||
5 | for example the encoded SoC part number. | ||
6 | |||
7 | Required properties: | ||
8 | - reg: the register range of the assist registers | ||
9 | - compatible: should be "amlogic,meson-mx-assist" along with "syscon" | ||
10 | |||
11 | |||
12 | Example: | ||
13 | |||
14 | assist: assist@7c00 { | ||
15 | compatible = "amlogic,meson-mx-assist", "syscon"; | ||
16 | reg = <0x7c00 0x200>; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/amlogic/bootrom.txt b/Documentation/devicetree/bindings/arm/amlogic/bootrom.txt new file mode 100644 index 000000000000..407e27f230ab --- /dev/null +++ b/Documentation/devicetree/bindings/arm/amlogic/bootrom.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | Amlogic Meson6/Meson8/Meson8b bootrom: | ||
2 | -------------------------------------- | ||
3 | |||
4 | The bootrom register area can be used to access SoC specific | ||
5 | information, such as the "misc version". | ||
6 | |||
7 | Required properties: | ||
8 | - reg: the register range of the bootrom registers | ||
9 | - compatible: should be "amlogic,meson-mx-bootrom" along with "syscon" | ||
10 | |||
11 | |||
12 | Example: | ||
13 | |||
14 | bootrom: bootrom@d9040000 { | ||
15 | compatible = "amlogic,meson-mx-bootrom", "syscon"; | ||
16 | reg = <0xd9040000 0x10000>; | ||
17 | }; | ||
diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi index cd6ad072e72c..290a183e87c5 100644 --- a/arch/arm/boot/dts/meson.dtsi +++ b/arch/arm/boot/dts/meson.dtsi | |||
@@ -80,6 +80,11 @@ | |||
80 | #size-cells = <1>; | 80 | #size-cells = <1>; |
81 | ranges = <0x0 0xc1100000 0x200000>; | 81 | ranges = <0x0 0xc1100000 0x200000>; |
82 | 82 | ||
83 | assist: assist@7c00 { | ||
84 | compatible = "amlogic,meson-mx-assist", "syscon"; | ||
85 | reg = <0x7c00 0x200>; | ||
86 | }; | ||
87 | |||
83 | hwrng: rng@8100 { | 88 | hwrng: rng@8100 { |
84 | compatible = "amlogic,meson-rng"; | 89 | compatible = "amlogic,meson-rng"; |
85 | reg = <0x8100 0x8>; | 90 | reg = <0x8100 0x8>; |
@@ -160,6 +165,15 @@ | |||
160 | status = "disabled"; | 165 | status = "disabled"; |
161 | }; | 166 | }; |
162 | 167 | ||
168 | sdio: mmc@8c20 { | ||
169 | compatible = "amlogic,meson-mx-sdio"; | ||
170 | reg = <0x8c20 0x20>; | ||
171 | interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>; | ||
172 | #address-cells = <1>; | ||
173 | #size-cells = <0>; | ||
174 | status = "disabled"; | ||
175 | }; | ||
176 | |||
163 | spifc: spi@8c80 { | 177 | spifc: spi@8c80 { |
164 | compatible = "amlogic,meson6-spifc"; | 178 | compatible = "amlogic,meson6-spifc"; |
165 | reg = <0x8c80 0x80>; | 179 | reg = <0x8c80 0x80>; |
@@ -217,7 +231,7 @@ | |||
217 | #address-cells = <1>; | 231 | #address-cells = <1>; |
218 | #size-cells = <0>; | 232 | #size-cells = <0>; |
219 | reg = <0xc9040000 0x40000>; | 233 | reg = <0xc9040000 0x40000>; |
220 | interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>; | 234 | interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; |
221 | phys = <&usb0_phy>; | 235 | phys = <&usb0_phy>; |
222 | phy-names = "usb2-phy"; | 236 | phy-names = "usb2-phy"; |
223 | dr_mode = "host"; | 237 | dr_mode = "host"; |
@@ -229,7 +243,7 @@ | |||
229 | #address-cells = <1>; | 243 | #address-cells = <1>; |
230 | #size-cells = <0>; | 244 | #size-cells = <0>; |
231 | reg = <0xc90c0000 0x40000>; | 245 | reg = <0xc90c0000 0x40000>; |
232 | interrupts = <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>; | 246 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; |
233 | phys = <&usb1_phy>; | 247 | phys = <&usb1_phy>; |
234 | phy-names = "usb2-phy"; | 248 | phy-names = "usb2-phy"; |
235 | dr_mode = "host"; | 249 | dr_mode = "host"; |
@@ -252,5 +266,10 @@ | |||
252 | #size-cells = <1>; | 266 | #size-cells = <1>; |
253 | ranges = <0 0xd9000000 0x20000>; | 267 | ranges = <0 0xd9000000 0x20000>; |
254 | }; | 268 | }; |
269 | |||
270 | bootrom: bootrom@d9040000 { | ||
271 | compatible = "amlogic,meson-mx-bootrom", "syscon"; | ||
272 | reg = <0xd9040000 0x10000>; | ||
273 | }; | ||
255 | }; | 274 | }; |
256 | }; /* end of / */ | 275 | }; /* end of / */ |
diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi index b98d44fde6b6..e6abcc7a1084 100644 --- a/arch/arm/boot/dts/meson8.dtsi +++ b/arch/arm/boot/dts/meson8.dtsi | |||
@@ -173,6 +173,11 @@ | |||
173 | reg = <0x8000 0x4>, <0x4000 0x460>; | 173 | reg = <0x8000 0x4>, <0x4000 0x460>; |
174 | }; | 174 | }; |
175 | 175 | ||
176 | analog_top: analog-top@81a8 { | ||
177 | compatible = "amlogic,meson8-analog-top", "syscon"; | ||
178 | reg = <0x81a8 0x14>; | ||
179 | }; | ||
180 | |||
176 | pwm_ef: pwm@86c0 { | 181 | pwm_ef: pwm@86c0 { |
177 | compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm"; | 182 | compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm"; |
178 | reg = <0x86c0 0x10>; | 183 | reg = <0x86c0 0x10>; |
@@ -294,6 +299,12 @@ | |||
294 | clock-names = "clkin", "core", "sana"; | 299 | clock-names = "clkin", "core", "sana"; |
295 | }; | 300 | }; |
296 | 301 | ||
302 | &sdio { | ||
303 | compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio"; | ||
304 | clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>; | ||
305 | clock-names = "core", "clkin"; | ||
306 | }; | ||
307 | |||
297 | &spifc { | 308 | &spifc { |
298 | clocks = <&clkc CLKID_CLK81>; | 309 | clocks = <&clkc CLKID_CLK81>; |
299 | }; | 310 | }; |
diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts index e50f1a1fdbc7..9ff6ca4e20d0 100644 --- a/arch/arm/boot/dts/meson8b-odroidc1.dts +++ b/arch/arm/boot/dts/meson8b-odroidc1.dts | |||
@@ -76,3 +76,26 @@ | |||
76 | pinctrl-0 = <&uart_ao_a_pins>; | 76 | pinctrl-0 = <&uart_ao_a_pins>; |
77 | pinctrl-names = "default"; | 77 | pinctrl-names = "default"; |
78 | }; | 78 | }; |
79 | |||
80 | &gpio_ao { | ||
81 | /* | ||
82 | * WARNING: The USB Hub on the Odroid-C1/C1+ needs a reset signal | ||
83 | * to be turned high in order to be detected by the USB Controller. | ||
84 | * This signal should be handled by a USB specific power sequence | ||
85 | * in order to reset the Hub when USB bus is powered down. | ||
86 | */ | ||
87 | usb-hub { | ||
88 | gpio-hog; | ||
89 | gpios = <GPIOAO_4 GPIO_ACTIVE_HIGH>; | ||
90 | output-high; | ||
91 | line-name = "usb-hub-reset"; | ||
92 | }; | ||
93 | }; | ||
94 | |||
95 | &usb1_phy { | ||
96 | status = "okay"; | ||
97 | }; | ||
98 | |||
99 | &usb1 { | ||
100 | status = "okay"; | ||
101 | }; | ||
diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi index bc278da7df0d..283c68c6b1f4 100644 --- a/arch/arm/boot/dts/meson8b.dtsi +++ b/arch/arm/boot/dts/meson8b.dtsi | |||
@@ -83,6 +83,18 @@ | |||
83 | }; | 83 | }; |
84 | }; | 84 | }; |
85 | 85 | ||
86 | reserved-memory { | ||
87 | #address-cells = <1>; | ||
88 | #size-cells = <1>; | ||
89 | ranges; | ||
90 | |||
91 | /* 2 MiB reserved for Hardware ROM Firmware? */ | ||
92 | hwrom@0 { | ||
93 | reg = <0x0 0x200000>; | ||
94 | no-map; | ||
95 | }; | ||
96 | }; | ||
97 | |||
86 | scu@c4300000 { | 98 | scu@c4300000 { |
87 | compatible = "arm,cortex-a5-scu"; | 99 | compatible = "arm,cortex-a5-scu"; |
88 | reg = <0xc4300000 0x100>; | 100 | reg = <0xc4300000 0x100>; |
@@ -130,6 +142,11 @@ | |||
130 | #reset-cells = <1>; | 142 | #reset-cells = <1>; |
131 | }; | 143 | }; |
132 | 144 | ||
145 | analog_top: analog-top@81a8 { | ||
146 | compatible = "amlogic,meson8b-analog-top", "syscon"; | ||
147 | reg = <0x81a8 0x14>; | ||
148 | }; | ||
149 | |||
133 | pwm_ef: pwm@86c0 { | 150 | pwm_ef: pwm@86c0 { |
134 | compatible = "amlogic,meson8b-pwm"; | 151 | compatible = "amlogic,meson8b-pwm"; |
135 | reg = <0x86c0 0x10>; | 152 | reg = <0x86c0 0x10>; |
@@ -190,6 +207,12 @@ | |||
190 | clock-names = "clkin", "core", "sana"; | 207 | clock-names = "clkin", "core", "sana"; |
191 | }; | 208 | }; |
192 | 209 | ||
210 | &sdio { | ||
211 | compatible = "amlogic,meson8b-sdio", "amlogic,meson-mx-sdio"; | ||
212 | clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>; | ||
213 | clock-names = "core", "clkin"; | ||
214 | }; | ||
215 | |||
193 | &uart_AO { | 216 | &uart_AO { |
194 | clocks = <&clkc CLKID_CLK81>; | 217 | clocks = <&clkc CLKID_CLK81>; |
195 | }; | 218 | }; |