aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2017-10-30 08:19:09 -0400
committerArnd Bergmann <arnd@arndb.de>2017-10-30 08:19:09 -0400
commit2132910ec924bbbba62de36f19121f3ef79147d4 (patch)
tree3e9e313ae29009c6791fcbe7e9e20f7a6e0cffc3
parentb51c5cb56fa3a51bbf12bda03f3f10fa5796c376 (diff)
parent88b1b18ffeae1d65e22ec24040545a84c3ace352 (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.txt20
-rw-r--r--Documentation/devicetree/bindings/arm/amlogic/assist.txt17
-rw-r--r--Documentation/devicetree/bindings/arm/amlogic/bootrom.txt17
-rw-r--r--arch/arm/boot/dts/meson.dtsi23
-rw-r--r--arch/arm/boot/dts/meson8.dtsi11
-rw-r--r--arch/arm/boot/dts/meson8b-odroidc1.dts23
-rw-r--r--arch/arm/boot/dts/meson8b.dtsi23
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 @@
1Amlogic Meson8 and Meson8b "analog top" registers:
2--------------------------------------------------
3
4The analog top registers contain information about the so-called
5"metal revision" (which encodes the "minor version") of the SoC.
6
7Required 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
15Example:
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 @@
1Amlogic Meson6/Meson8/Meson8b assist registers:
2-----------------------------------------------
3
4The assist registers contain basic information about the SoC,
5for example the encoded SoC part number.
6
7Required properties:
8- reg: the register range of the assist registers
9- compatible: should be "amlogic,meson-mx-assist" along with "syscon"
10
11
12Example:
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 @@
1Amlogic Meson6/Meson8/Meson8b bootrom:
2--------------------------------------
3
4The bootrom register area can be used to access SoC specific
5information, such as the "misc version".
6
7Required properties:
8- reg: the register range of the bootrom registers
9- compatible: should be "amlogic,meson-mx-bootrom" along with "syscon"
10
11
12Example:
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};