]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
sunxi: dts: arm/arm64: update devicetree files from Linux-v6.10
authorAndre Przywara <andre.przywara@arm.com>
Fri, 19 Apr 2024 16:59:52 +0000 (17:59 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Mon, 5 Aug 2024 23:19:57 +0000 (00:19 +0100)
Sync the devicetree files from the official Linux kernel tree, v6.10.
This is covering Allwinner SoCs with 32-bit and 64-bit ARM cores.

Besides mostly cosmectic changes, this adds cpufreq support to H616
boards, Nothing that U-Boot needs for itself, but helpful to pass on
to kernels. We also get the .dts files for the Tanix TX1 TV box and
three Anbernic handheld gaming devices.

As before, this omits the non-backwards compatible changes to the R_INTC
controller, to remain compatible with older kernels.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
84 files changed:
arch/arm/dts/sun50i-a64-bananapi-m64.dts
arch/arm/dts/sun50i-a64-nanopi-a64.dts
arch/arm/dts/sun50i-a64-olinuxino.dts
arch/arm/dts/sun50i-a64-orangepi-win.dts
arch/arm/dts/sun50i-a64-pinebook.dts
arch/arm/dts/sun50i-a64-pinephone.dtsi
arch/arm/dts/sun50i-a64-pinetab.dts
arch/arm/dts/sun50i-a64-teres-i.dts
arch/arm/dts/sun50i-a64.dtsi
arch/arm/dts/sun50i-h313-tanix-tx1.dts [new file with mode: 0644]
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
arch/arm/dts/sun50i-h5-nanopi-r1s-h5.dts
arch/arm/dts/sun50i-h5-orangepi-prime.dts
arch/arm/dts/sun50i-h5-orangepi-zero-plus.dts
arch/arm/dts/sun50i-h5-orangepi-zero-plus2.dts
arch/arm/dts/sun50i-h6-beelink-gs1.dts
arch/arm/dts/sun50i-h6-orangepi-3.dts
arch/arm/dts/sun50i-h6-orangepi-lite2.dts
arch/arm/dts/sun50i-h6-orangepi.dtsi
arch/arm/dts/sun50i-h6-pine-h64-model-b.dts
arch/arm/dts/sun50i-h6-pine-h64.dts
arch/arm/dts/sun50i-h6.dtsi
arch/arm/dts/sun50i-h616-bigtreetech-cb1.dtsi
arch/arm/dts/sun50i-h616-cpu-opp.dtsi [new file with mode: 0644]
arch/arm/dts/sun50i-h616-orangepi-zero2.dts
arch/arm/dts/sun50i-h616-x96-mate.dts
arch/arm/dts/sun50i-h616.dtsi
arch/arm/dts/sun50i-h618-longan-module-3h.dtsi
arch/arm/dts/sun50i-h618-orangepi-zero2w.dts
arch/arm/dts/sun50i-h618-orangepi-zero3.dts
arch/arm/dts/sun50i-h618-transpeed-8k618-t.dts
arch/arm/dts/sun50i-h64-remix-mini-pc.dts
arch/arm/dts/sun50i-h700-anbernic-rg35xx-2024.dts [new file with mode: 0644]
arch/arm/dts/sun50i-h700-anbernic-rg35xx-h.dts [new file with mode: 0644]
arch/arm/dts/sun50i-h700-anbernic-rg35xx-plus.dts [new file with mode: 0644]
arch/arm/dts/sun5i-a13.dtsi
arch/arm/dts/sun5i-gr8-chip-pro.dts
arch/arm/dts/sun5i-r8-chip.dts
arch/arm/dts/sun6i-a31-hummingbird.dts
arch/arm/dts/sun6i-a31.dtsi
arch/arm/dts/sun6i-a31s-sinovoip-bpi-m2.dts
arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
arch/arm/dts/sun7i-a20-cubietruck.dts
arch/arm/dts/sun7i-a20-hummingbird.dts
arch/arm/dts/sun7i-a20-olimex-som-evb-emmc.dts
arch/arm/dts/sun7i-a20-olimex-som204-evb-emmc.dts
arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
arch/arm/dts/sun7i-a20.dtsi
arch/arm/dts/sun8i-a23-a33.dtsi
arch/arm/dts/sun8i-a23-polaroid-mid2407pxe03.dts
arch/arm/dts/sun8i-a23-polaroid-mid2809pxe04.dts
arch/arm/dts/sun8i-a33-ga10h-v1.1.dts
arch/arm/dts/sun8i-a33-inet-d978-rev2.dts
arch/arm/dts/sun8i-a33.dtsi
arch/arm/dts/sun8i-a83t-bananapi-m3.dts
arch/arm/dts/sun8i-a83t-cubietruck-plus.dts
arch/arm/dts/sun8i-a83t-tbs-a711.dts
arch/arm/dts/sun8i-a83t.dtsi
arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts
arch/arm/dts/sun8i-h2-plus-orangepi-r1.dts
arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
arch/arm/dts/sun8i-h3-beelink-x2.dts
arch/arm/dts/sun8i-h3-nanopi-duo2.dts
arch/arm/dts/sun8i-h3-nanopi-m1-plus.dts
arch/arm/dts/sun8i-h3-nanopi-neo-air.dts
arch/arm/dts/sun8i-h3-nanopi-r1.dts
arch/arm/dts/sun8i-h3-orangepi-2.dts
arch/arm/dts/sun8i-h3-orangepi-lite.dts
arch/arm/dts/sun8i-h3-orangepi-pc-plus.dts
arch/arm/dts/sun8i-h3-orangepi-zero-plus2.dts
arch/arm/dts/sun8i-q8-common.dtsi
arch/arm/dts/sun8i-r16-bananapi-m2m.dts
arch/arm/dts/sun8i-r16-parrot.dts
arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts
arch/arm/dts/sun8i-r40-oka40i-c.dts
arch/arm/dts/sun8i-s3-pinecube.dts
arch/arm/dts/sun8i-v3s.dtsi
arch/arm/dts/sun8i-v40-bananapi-m2-berry.dts
arch/arm/dts/sun9i-a80.dtsi
arch/arm/dts/sunxi-bananapi-m2-plus.dtsi
arch/arm/dts/sunxi-h3-h5-emlid-neutis.dtsi
arch/arm/dts/sunxi-h3-h5.dtsi

index bf66b6408163ebf558d64ef595f1d8ebb53f861e..92bc4e7864e566f8a9c379501c7e974f97377933 100644 (file)
@@ -53,7 +53,7 @@
                };
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
index ffc3b4c70687862edd82e9447933c5b5b807816e..69dfe3bc4d8868fe26c86e96682b79f417adcba1 100644 (file)
@@ -41,7 +41,7 @@
                };
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&rtc CLK_OSC32K_FANOUT>;
                clock-names = "ext_clock";
index 22d350249c1467f63429182220a765c47773a543..752176683821a6d89ea7c60a511e292e63bc3353 100644 (file)
@@ -52,7 +52,7 @@
                status = "okay";
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
        };
index 714a270a558bf5603fa5c6902fa5f4b4b2432818..a037e15ab9df7732d1c1581087e437ce40a58ab8 100644 (file)
@@ -68,7 +68,7 @@
                status = "okay";
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
index 576eae132230f02d8738b7e711eaf1ccb19b4380..1a85d5f60c36164b2b879a49f33ef013ec975e1c 100644 (file)
@@ -79,7 +79,7 @@
                enable-active-high;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
        };
index b25e7913f55f1ec81199749445004c1ffa6af783..c62dc937defbc03165c2c5eeefeace1e23286f35 100644 (file)
        leds {
                compatible = "gpio-leds";
 
-               led-0 {
+               led0: led-0 {
                        function = LED_FUNCTION_INDICATOR;
                        color = <LED_COLOR_ID_BLUE>;
                        gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
+                       retain-state-suspended;
                };
 
-               led-1 {
+               led1: led-1 {
                        function = LED_FUNCTION_INDICATOR;
                        color = <LED_COLOR_ID_GREEN>;
                        gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
+                       retain-state-suspended;
                };
 
-               led-2 {
+               led2: led-2 {
                        function = LED_FUNCTION_INDICATOR;
                        color = <LED_COLOR_ID_RED>;
                        gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
+                       retain-state-suspended;
                };
        };
 
+       multi-led {
+               compatible = "leds-group-multicolor";
+               color = <LED_COLOR_ID_RGB>;
+               function = LED_FUNCTION_INDICATOR;
+               leds = <&led0>, <&led1>, <&led2>;
+       };
+
        reg_ps: ps-regulator {
                compatible = "regulator-fixed";
                regulator-name = "ps";
index 0b2258ef88f1ba925d969b9386a50fe108818ecb..b6f42357b45fe176afb688ecc3e55a701cd6f638 100644 (file)
@@ -98,7 +98,7 @@
                enable-active-high;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
                post-power-on-delay-ms = <200>;
index 945afdb508dc752c7c9021f9453bd81605a73791..065b1861633bccceb339aaddc00d4e48e28a94a0 100644 (file)
@@ -74,7 +74,7 @@
                status = "okay";
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
        };
index 2240eaec5ddb1cae15b3cfd606f88e64a851a21a..b6928cc668d15062fe2095b0e482adf907aa285b 100644 (file)
        gpu_opp_table: opp-table-gpu {
                compatible = "operating-points-v2";
 
-               opp-120000000 {
-                       opp-hz = /bits/ 64 <120000000>;
-               };
-
-               opp-312000000 {
-                       opp-hz = /bits/ 64 <312000000>;
-               };
-
                opp-432000000 {
                        opp-hz = /bits/ 64 <432000000>;
                };
        };
 
-       osc24M: osc24M_clk {
+       osc24M: osc24M-clk {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <24000000>;
                clock-output-names = "osc24M";
        };
 
-       osc32k: osc32k_clk {
+       osc32k: osc32k-clk {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <32768>;
                        };
 
                        trips {
-                               cpu_alert0: cpu_alert0 {
+                               cpu_alert0: cpu-alert0 {
                                        /* milliCelsius */
                                        temperature = <75000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };
 
-                               cpu_alert1: cpu_alert1 {
+                               cpu_alert1: cpu-alert1 {
                                        /* milliCelsius */
                                        temperature = <90000>;
                                        hysteresis = <2000>;
                                        type = "hot";
                                };
 
-                               cpu_crit: cpu_crit {
+                               cpu_crit: cpu-crit {
                                        /* milliCelsius */
                                        temperature = <110000>;
                                        hysteresis = <2000>;
diff --git a/arch/arm/dts/sun50i-h313-tanix-tx1.dts b/arch/arm/dts/sun50i-h313-tanix-tx1.dts
new file mode 100644 (file)
index 0000000..bb2cde5
--- /dev/null
@@ -0,0 +1,183 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2024 Arm Ltd.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h616.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+       model = "Tanix TX1";
+       compatible = "oranth,tanix-tx1", "allwinner,sun50i-h616";
+
+       aliases {
+               serial0 = &uart0;
+               ethernet0 = &sdio_wifi;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               key {
+                       label = "hidden";
+                       linux,code = <BTN_0>;
+                       gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 */
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led-0 {
+                       function = LED_FUNCTION_POWER;
+                       color = <LED_COLOR_ID_BLUE>;
+                       gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
+                       default-state = "on";
+               };
+       };
+
+       wifi_pwrseq: pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               clocks = <&rtc CLK_OSC32K_FANOUT>;
+               clock-names = "ext_clock";
+               pinctrl-0 = <&x32clk_fanout_pin>;
+               pinctrl-names = "default";
+               reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */
+       };
+
+       reg_vcc5v: vcc5v {
+               /* board wide 5V supply directly from the DC input */
+               compatible = "regulator-fixed";
+               regulator-name = "vcc-5v";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+       };
+};
+
+&cpu0 {
+       cpu-supply = <&reg_dcdc2>;
+};
+
+&ehci0 {
+       status = "okay";
+};
+
+&ir {
+       status = "okay";
+};
+
+&mmc1 {
+       vmmc-supply = <&reg_dldo1>;
+       vqmmc-supply = <&reg_aldo1>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+
+       sdio_wifi: wifi@1 {
+               reg = <1>;
+       };
+};
+
+&mmc2 {
+       vmmc-supply = <&reg_dldo1>;
+       vqmmc-supply = <&reg_aldo1>;
+       bus-width = <8>;
+       non-removable;
+       max-frequency = <100000000>;
+       cap-mmc-hw-reset;
+       mmc-ddr-1_8v;
+       status = "okay";
+};
+
+&ohci0 {
+       status = "okay";
+};
+
+&pio {
+       vcc-pc-supply = <&reg_aldo1>;
+       vcc-pf-supply = <&reg_dldo1>;
+       vcc-pg-supply = <&reg_aldo1>;
+       vcc-ph-supply = <&reg_dldo1>;
+       vcc-pi-supply = <&reg_dldo1>;
+};
+
+&r_i2c {
+       status = "okay";
+
+       axp313: pmic@36 {
+               compatible = "x-powers,axp313a";
+               reg = <0x36>;
+               #interrupt-cells = <1>;
+               interrupt-controller;
+
+               vin1-supply = <&reg_vcc5v>;
+               vin2-supply = <&reg_vcc5v>;
+               vin3-supply = <&reg_vcc5v>;
+
+               regulators {
+                       /* Supplies VCC-PLL, so needs to be always on. */
+                       reg_aldo1: aldo1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-name = "vcc1v8";
+                       };
+
+                       /* Supplies VCC-IO, so needs to be always on. */
+                       reg_dldo1: dldo1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcc3v3";
+                       };
+
+                       reg_dcdc1: dcdc1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <810000>;
+                               regulator-max-microvolt = <990000>;
+                               regulator-name = "vdd-gpu-sys";
+                       };
+
+                       reg_dcdc2: dcdc2 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <810000>;
+                               regulator-max-microvolt = <1120000>;
+                               regulator-name = "vdd-cpu";
+                       };
+
+                       reg_dcdc3: dcdc3 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-name = "vdd-dram";
+                       };
+               };
+       };
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_ph_pins>;
+       status = "okay";
+};
+
+&usbotg {
+       dr_mode = "host";       /* USB A type receptable */
+       status = "okay";
+};
+
+&usbphy {
+       status = "okay";
+};
index 4c3921ac236cca2cacee1b6bfbddc3ee3827351f..b69032c4455754cbe9fae604761d3b640d1a78eb 100644 (file)
@@ -68,7 +68,7 @@
                states = <1100000 0>, <1300000 1>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
                post-power-on-delay-ms = <200>;
index a3e040da38a0735d23c3fab1ffe01d48bba2f637..3a7ee44708a2051da23f883f26175157ba3067ad 100644 (file)
                states = <1100000 0x0>, <1300000 0x1>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
                post-power-on-delay-ms = <200>;
        non-removable;
        status = "okay";
 
-       rtl8189etv: sdio_wifi@1 {
+       rtl8189etv: wifi@1 {
                reg = <1>;
        };
 };
index d7f8bad6bb9809eb9941b0ac6f1a6d56f4db5a9c..b699bb900e13bb6e2d293d227cefd893645ccb41 100644 (file)
@@ -85,7 +85,7 @@
                status = "okay";
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 2 14 GPIO_ACTIVE_LOW>; /* PC14 */
        };
index 7ec5ac850a0dc576a9680aac773ad9792387a9c6..ae85131aac9c730d2738cec1cdb930c5e3c55101 100644 (file)
@@ -97,7 +97,7 @@
         * Explicitly define the sdio device, so that we can add an ethernet
         * alias for it (which e.g. makes u-boot set a mac-address).
         */
-       rtl8189ftv: sdio_wifi@1 {
+       rtl8189ftv: wifi@1 {
                reg = <1>;
        };
 };
index 22530ace12d5a0c9f505f1a7c66d79e794b2c432..734481e998b8dd4b7efe319605dd8c9b64a86ed7 100644 (file)
@@ -52,7 +52,7 @@
                regulator-max-microvolt = <3300000>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
                post-power-on-delay-ms = <200>;
index 87432c4f1ff7f901d2cfe4e31556526b258949b0..529285fc34fdfe63d9fbe83fb863d5fc5073b950 100644 (file)
@@ -34,7 +34,7 @@
                };
        };
 
-       ext_osc32k: ext_osc32k_clk {
+       ext_osc32k: ext-osc32k-clk {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <32768>;
index f1957bb1edbfce149d800ad9097337193608983c..bdcec466246f1b62a14796bc03fa5e229fcefdf1 100644 (file)
@@ -33,7 +33,7 @@
                };
        };
 
-       ext_osc32k: ext_osc32k_clk {
+       ext_osc32k: ext-osc32k-clk {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <32768>;
index fb31dcb1cb6d772e9646898f0e9c96f985e34ea9..a3f65a45bd26635d29dafe785ec28641a1501a79 100644 (file)
@@ -11,7 +11,7 @@
                serial1 = &uart1; /* BT-UART */
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&rtc CLK_OSC32K_FANOUT>;
                clock-names = "ext_clock";
index a5811d55bbec56e3a3917b534fbfe81bf3c0a4ae..4403769fc36e8001dc1a3141b889a53058144b64 100644 (file)
@@ -32,7 +32,7 @@
                };
        };
 
-       ext_osc32k: ext_osc32k_clk {
+       ext_osc32k: ext-osc32k-clk {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <32768>;
index b710f1a0f53acb64df63bc3a442d429da455fda6..66fe03910d5e6b482e1a1a0fca3fa62050eaee83 100644 (file)
@@ -5,13 +5,13 @@
 
 #include "sun50i-h6-pine-h64.dts"
 
+/delete-node/ &reg_gmac_3v3;
+
 / {
        model = "Pine H64 model B";
        compatible = "pine64,pine-h64-model-b", "allwinner,sun50i-h6";
 
-       /delete-node/ reg_gmac_3v3;
-
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
                post-power-on-delay-ms = <200>;
index b868ad17af8fdad6563035996b82fb5da7bf7dcd..bfb46572bdacc636e93c23eeaedf028d4284ebac 100644 (file)
@@ -22,7 +22,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       ext_osc32k: ext_osc32k_clk {
+       ext_osc32k: ext-osc32k-clk {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <32768>;
index 09e2168928457dbdc49594931654629e4a2c1435..82aa5679fc488d46830928fa982829b008259927 100644 (file)
@@ -68,7 +68,7 @@
                status = "disabled";
        };
 
-       osc24M: osc24M_clk {
+       osc24M: osc24M-clk {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <24000000>;
index af421ba24ce0c6daae4c015ab219e3c80fbc6fa0..d12b01c5f41b69029de04bc006be35c1ded3aeaa 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "sun50i-h616.dtsi"
+#include "sun50i-h616-cpu-opp.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
        };
 };
 
+&cpu0 {
+       cpu-supply = <&reg_dcdc2>;
+};
+
 &mmc0 {
        vmmc-supply = <&reg_dldo1>;
        /* Card detection pin is not connected */
diff --git a/arch/arm/dts/sun50i-h616-cpu-opp.dtsi b/arch/arm/dts/sun50i-h616-cpu-opp.dtsi
new file mode 100644 (file)
index 0000000..aca22a7
--- /dev/null
@@ -0,0 +1,115 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+// Copyright (C) 2023 Martin Botka <martin@somainline.org>
+
+/ {
+       cpu_opp_table: opp-table-cpu {
+               compatible = "allwinner,sun50i-h616-operating-points";
+               nvmem-cells = <&cpu_speed_grade>;
+               opp-shared;
+
+               opp-480000000 {
+                       opp-hz = /bits/ 64 <480000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x1f>;
+               };
+
+               opp-600000000 {
+                       opp-hz = /bits/ 64 <600000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x12>;
+               };
+
+               opp-720000000 {
+                       opp-hz = /bits/ 64 <720000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x0d>;
+               };
+
+               opp-792000000 {
+                       opp-hz = /bits/ 64 <792000000>;
+                       opp-microvolt-speed1 = <900000>;
+                       opp-microvolt-speed4 = <940000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x12>;
+               };
+
+               opp-936000000 {
+                       opp-hz = /bits/ 64 <936000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x0d>;
+               };
+
+               opp-1008000000 {
+                       opp-hz = /bits/ 64 <1008000000>;
+                       opp-microvolt-speed0 = <950000>;
+                       opp-microvolt-speed1 = <940000>;
+                       opp-microvolt-speed2 = <950000>;
+                       opp-microvolt-speed3 = <950000>;
+                       opp-microvolt-speed4 = <1020000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x1f>;
+               };
+
+               opp-1104000000 {
+                       opp-hz = /bits/ 64 <1104000000>;
+                       opp-microvolt-speed0 = <1000000>;
+                       opp-microvolt-speed2 = <1000000>;
+                       opp-microvolt-speed3 = <1000000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x0d>;
+               };
+
+               opp-1200000000 {
+                       opp-hz = /bits/ 64 <1200000000>;
+                       opp-microvolt-speed0 = <1050000>;
+                       opp-microvolt-speed1 = <1020000>;
+                       opp-microvolt-speed2 = <1050000>;
+                       opp-microvolt-speed3 = <1050000>;
+                       opp-microvolt-speed4 = <1100000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x1f>;
+               };
+
+               opp-1320000000 {
+                       opp-hz = /bits/ 64 <1320000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x1d>;
+               };
+
+               opp-1416000000 {
+                       opp-hz = /bits/ 64 <1416000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x0d>;
+               };
+
+               opp-1512000000 {
+                       opp-hz = /bits/ 64 <1512000000>;
+                       opp-microvolt-speed1 = <1100000>;
+                       opp-microvolt-speed3 = <1100000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+                       opp-supported-hw = <0x0a>;
+               };
+       };
+};
+
+&cpu0 {
+       operating-points-v2 = <&cpu_opp_table>;
+};
+
+&cpu1 {
+       operating-points-v2 = <&cpu_opp_table>;
+};
+
+&cpu2 {
+       operating-points-v2 = <&cpu_opp_table>;
+};
+
+&cpu3 {
+       operating-points-v2 = <&cpu_opp_table>;
+};
index b5d713926a341a291d1eb4e649b7984cd8ebc9e4..a360d8567f95589832f4a402a88c1aae11ade033 100644 (file)
@@ -6,12 +6,17 @@
 /dts-v1/;
 
 #include "sun50i-h616-orangepi-zero.dtsi"
+#include "sun50i-h616-cpu-opp.dtsi"
 
 / {
        model = "OrangePi Zero2";
        compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
 };
 
+&cpu0 {
+       cpu-supply = <&reg_dcdca>;
+};
+
 &emac0 {
        allwinner,rx-delay-ps = <3100>;
        allwinner,tx-delay-ps = <700>;
index 959b6fd18483b48eefc23b6eb634604d2a7a52e5..26d25b5b59e0f89360799404d9998ca612887aa7 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "sun50i-h616.dtsi"
+#include "sun50i-h616-cpu-opp.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
        };
 };
 
+&cpu0 {
+       cpu-supply = <&reg_dcdca>;
+};
+
 &ehci0 {
        status = "okay";
 };
index b2e85e52d1a12217e94cfd3b64b00b131075e76c..921d5f61d8d6a74970a0cabeb7c7de35bd7b4351 100644 (file)
@@ -26,6 +26,7 @@
                        reg = <0>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
@@ -34,6 +35,7 @@
                        reg = <1>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
                };
 
                cpu2: cpu@2 {
@@ -42,6 +44,7 @@
                        reg = <2>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
                };
 
                cpu3: cpu@3 {
@@ -50,6 +53,7 @@
                        reg = <3>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
                };
        };
 
                        ths_calibration: thermal-sensor-calibration@14 {
                                reg = <0x14 0x8>;
                        };
+
+                       cpu_speed_grade: cpu-speed-grade@0 {
+                               reg = <0x0 2>;
+                       };
                };
 
                watchdog: watchdog@30090a0 {
                        };
 
                        i2c0_pins: i2c0-pins {
-                               pins = "PI6", "PI7";
+                               pins = "PI5", "PI6";
                                function = "i2c0";
                        };
 
                        #reset-cells = <1>;
                };
 
+               nmi_intc: interrupt-controller@7010320 {
+                       compatible = "allwinner,sun50i-h616-nmi",
+                                    "allwinner,sun9i-a80-nmi";
+                       reg = <0x07010320 0xc>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
                r_pio: pinctrl@7022000 {
                        compatible = "allwinner,sun50i-h616-r-pinctrl";
                        reg = <0x07022000 0x400>;
index 8c1263a3939e768e6204674d04fbf1e199ba1c80..e92d150aaf1c154dd6f5d8e973a9f18762a71e38 100644 (file)
@@ -4,6 +4,11 @@
  */
 
 #include "sun50i-h616.dtsi"
+#include "sun50i-h616-cpu-opp.dtsi"
+
+&cpu0 {
+       cpu-supply = <&reg_dcdc2>;
+};
 
 &mmc2 {
        pinctrl-names = "default";
index 21ca1977055d95cccc085779ba08e582f3c90697..6a4f0da9723303968c64710e5a700d6d681e9ea3 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "sun50i-h616.dtsi"
+#include "sun50i-h616-cpu-opp.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
        };
 };
 
+&cpu0 {
+       cpu-supply = <&reg_dcdc2>;
+};
+
 &ehci1 {
        status = "okay";
 };
index b3b1b8692125f9f75df58a4a464fb5a4f185d79c..e1cd7572a14cebf22fd53689f99035f9e0cbcd91 100644 (file)
@@ -6,12 +6,17 @@
 /dts-v1/;
 
 #include "sun50i-h616-orangepi-zero.dtsi"
+#include "sun50i-h616-cpu-opp.dtsi"
 
 / {
        model = "OrangePi Zero3";
        compatible = "xunlong,orangepi-zero3", "allwinner,sun50i-h618";
 };
 
+&cpu0 {
+       cpu-supply = <&reg_dcdc2>;
+};
+
 &emac0 {
        allwinner,tx-delay-ps = <700>;
        phy-mode = "rgmii-rxid";
index ac0a2b7ea6f31089fba1bae1d76fbffba859320f..d6631bfe629fa3b602fe1ec4ce08cc48f383e65c 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "sun50i-h616.dtsi"
+#include "sun50i-h616-cpu-opp.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -41,7 +42,7 @@
                regulator-always-on;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&rtc CLK_OSC32K_FANOUT>;
                clock-names = "ext_clock";
        };
 };
 
+&cpu0 {
+       cpu-supply = <&reg_dcdc2>;
+};
+
 &ehci0 {
        status = "okay";
 };
index c1a15d60bf33927efb5fa0fc2d89ae42051d8469..464a3078afd7e3507404c34c850e91ce84daee6d 100644 (file)
@@ -42,7 +42,7 @@
                regulator-always-on;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
                post-power-on-delay-ms = <200>;
diff --git a/arch/arm/dts/sun50i-h700-anbernic-rg35xx-2024.dts b/arch/arm/dts/sun50i-h700-anbernic-rg35xx-2024.dts
new file mode 100644 (file)
index 0000000..ee30584
--- /dev/null
@@ -0,0 +1,327 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
+ */
+
+/dts-v1/;
+
+#include "sun50i-h616.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+       model = "Anbernic RG35XX 2024";
+       chassis-type = "handset";
+       compatible = "anbernic,rg35xx-2024", "allwinner,sun50i-h700";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       gpio_keys_gamepad: gpio-keys-gamepad {
+               compatible = "gpio-keys";
+
+               button-a {
+                       label = "Action-Pad A";
+                       gpios = <&pio 0 0 GPIO_ACTIVE_LOW>; /* PA0 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_EAST>;
+               };
+
+               button-b {
+                       label = "Action-Pad B";
+                       gpios = <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_SOUTH>;
+               };
+
+               button-down {
+                       label = "D-Pad Down";
+                       gpios = <&pio 4 0 GPIO_ACTIVE_LOW>; /* PE0 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_DPAD_DOWN>;
+               };
+
+               button-l1 {
+                       label = "Key L1";
+                       gpios = <&pio 0 10 GPIO_ACTIVE_LOW>; /* PA10 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_TL>;
+               };
+
+               button-l2 {
+                       label = "Key L2";
+                       gpios = <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_TL2>;
+               };
+
+               button-left {
+                       label = "D-Pad left";
+                       gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_DPAD_LEFT>;
+               };
+
+               button-menu {
+                       label = "Key Menu";
+                       gpios = <&pio 4 3 GPIO_ACTIVE_LOW>; /* PE3 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_MODE>;
+               };
+
+               button-r1 {
+                       label = "Key R1";
+                       gpios = <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_TR>;
+               };
+
+               button-r2 {
+                       label = "Key R2";
+                       gpios = <&pio 0 7 GPIO_ACTIVE_LOW>; /* PA7 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_TR2>;
+               };
+
+               button-right {
+                       label = "D-Pad Right";
+                       gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_DPAD_RIGHT>;
+               };
+
+               button-select {
+                       label = "Key Select";
+                       gpios = <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_SELECT>;
+               };
+               button-start {
+                       label = "Key Start";
+                       gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_START>;
+               };
+
+               button-up {
+                       label = "D-Pad Up";
+                       gpios = <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_DPAD_UP>;
+               };
+
+               button-x {
+                       label = "Action-Pad X";
+                       gpios = <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_NORTH>;
+               };
+
+               button-y {
+                       label = "Action Pad Y";
+                       gpios = <&pio 0 2 GPIO_ACTIVE_LOW>; /* PA2 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <BTN_WEST>;
+               };
+       };
+
+       gpio-keys-volume {
+               compatible = "gpio-keys";
+               autorepeat;
+
+               button-vol-up {
+                       label = "Key Volume Up";
+                       gpios = <&pio 4 1 GPIO_ACTIVE_LOW>; /* PE1 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <KEY_VOLUMEUP>;
+               };
+
+               button-vol-down {
+                       label = "Key Volume Down";
+                       gpios = <&pio 4 2 GPIO_ACTIVE_LOW>; /* PE2 */
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <KEY_VOLUMEDOWN>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led-0 {
+                       function = LED_FUNCTION_POWER;
+                       color = <LED_COLOR_ID_GREEN>;
+                       gpios = <&pio 8 12 GPIO_ACTIVE_HIGH>; /* PI12 */
+                       default-state = "on";
+               };
+       };
+
+       reg_vcc5v: regulator-vcc5v { /* USB-C power input */
+               compatible = "regulator-fixed";
+               regulator-name = "vcc-5v";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+};
+
+&cpu0 {
+       cpu-supply = <&reg_dcdc1>;
+};
+
+&ehci0 {
+       status = "okay";
+};
+
+&mmc0 {
+       vmmc-supply = <&reg_cldo3>;
+       disable-wp;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;  /* PF6 */
+       bus-width = <4>;
+       status = "okay";
+};
+
+&ohci0 {
+       status = "okay";
+};
+
+&pio {
+       vcc-pa-supply = <&reg_cldo3>;
+       vcc-pc-supply = <&reg_cldo3>;
+       vcc-pe-supply = <&reg_cldo3>;
+       vcc-pf-supply = <&reg_cldo3>;
+       vcc-pg-supply = <&reg_aldo4>;
+       vcc-ph-supply = <&reg_cldo3>;
+       vcc-pi-supply = <&reg_cldo3>;
+};
+
+&r_rsb {
+       status = "okay";
+
+       axp717: pmic@3a3 {
+               compatible = "x-powers,axp717";
+               reg = <0x3a3>;
+               interrupt-controller;
+               #interrupt-cells = <1>;
+               interrupt-parent = <&nmi_intc>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+               vin1-supply = <&reg_vcc5v>;
+               vin2-supply = <&reg_vcc5v>;
+               vin3-supply = <&reg_vcc5v>;
+               vin4-supply = <&reg_vcc5v>;
+
+               regulators {
+                       reg_dcdc1: dcdc1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-name = "vdd-cpu";
+                       };
+
+                       reg_dcdc2: dcdc2 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <940000>;
+                               regulator-max-microvolt = <940000>;
+                               regulator-name = "vdd-gpu-sys";
+                       };
+
+                       reg_dcdc3: dcdc3 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-name = "vdd-dram";
+                       };
+
+                       reg_aldo1: aldo1 {
+                               /* 1.8v - unused */
+                       };
+
+                       reg_aldo2: aldo2 {
+                               /* 1.8v - unused */
+                       };
+
+                       reg_aldo3: aldo3 {
+                               /* 1.8v - unused */
+                       };
+
+                       reg_aldo4: aldo4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-name = "vcc-pg";
+                       };
+
+                       reg_bldo1: bldo1 {
+                               /* 1.8v - unused */
+                       };
+
+                       reg_bldo2: bldo2 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-name = "vcc-pll";
+                       };
+
+                       reg_bldo3: bldo3 {
+                               /* 2.8v - unused */
+                       };
+
+                       reg_bldo4: bldo4 {
+                               /* 1.2v - unused */
+                       };
+
+                       reg_cldo1: cldo1 {
+                               /* 3.3v - audio codec - not yet implemented */
+                       };
+
+                       reg_cldo2: cldo2 {
+                               /* 3.3v - unused */
+                       };
+
+                       reg_cldo3: cldo3 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcc-io";
+                       };
+
+                       reg_cldo4: cldo4 {
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcc-wifi";
+                       };
+
+                       reg_boost: boost {
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5200000>;
+                               regulator-name = "boost";
+                       };
+
+                       reg_cpusldo: cpusldo {
+                               /* unused */
+                       };
+               };
+       };
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_ph_pins>;
+       status = "okay";
+};
+
+/* the AXP717 has USB type-C role switch functionality, not yet described by the binding */
+&usbotg {
+       dr_mode = "peripheral";   /* USB type-C receptable */
+       status = "okay";
+};
+
+&usbphy {
+       status = "okay";
+};
diff --git a/arch/arm/dts/sun50i-h700-anbernic-rg35xx-h.dts b/arch/arm/dts/sun50i-h700-anbernic-rg35xx-h.dts
new file mode 100644 (file)
index 0000000..6303625
--- /dev/null
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
+ * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>.
+ */
+
+#include "sun50i-h700-anbernic-rg35xx-plus.dts"
+
+/ {
+       model = "Anbernic RG35XX H";
+       compatible = "anbernic,rg35xx-h", "allwinner,sun50i-h700";
+};
+
+&gpio_keys_gamepad {
+       button-thumbl {
+               label = "GPIO Thumb Left";
+               gpios = <&pio 4 8 GPIO_ACTIVE_LOW>; /* PE8 */
+               linux,input-type = <EV_KEY>;
+               linux,code = <BTN_THUMBL>;
+       };
+
+       button-thumbr {
+               label = "GPIO Thumb Right";
+               gpios = <&pio 4 9 GPIO_ACTIVE_LOW>; /* PE9 */
+               linux,input-type = <EV_KEY>;
+               linux,code = <BTN_THUMBR>;
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};
+
+&ohci1 {
+       status = "okay";
+};
diff --git a/arch/arm/dts/sun50i-h700-anbernic-rg35xx-plus.dts b/arch/arm/dts/sun50i-h700-anbernic-rg35xx-plus.dts
new file mode 100644 (file)
index 0000000..60a8e49
--- /dev/null
@@ -0,0 +1,53 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
+ */
+
+#include "sun50i-h700-anbernic-rg35xx-2024.dts"
+
+/ {
+       model = "Anbernic RG35XX Plus";
+       compatible = "anbernic,rg35xx-plus", "allwinner,sun50i-h700";
+
+       wifi_pwrseq: pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               clocks = <&rtc CLK_OSC32K_FANOUT>;
+               clock-names = "ext_clock";
+               pinctrl-0 = <&x32clk_fanout_pin>;
+               pinctrl-names = "default";
+               post-power-on-delay-ms = <200>;
+               reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */
+       };
+};
+
+/* SDIO WiFi RTL8821CS */
+&mmc1 {
+       vmmc-supply = <&reg_cldo4>;
+       vqmmc-supply = <&reg_aldo4>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+
+       sdio_wifi: wifi@1 {
+               reg = <1>;
+               interrupt-parent = <&pio>;
+               interrupts = <6 15 IRQ_TYPE_LEVEL_LOW>; /* PG15 */
+               interrupt-names = "host-wake";
+       };
+};
+
+/* Bluetooth RTL8821CS */
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+       uart-has-rtscts;
+       status = "okay";
+
+       bluetooth {
+               compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt";
+               device-wake-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */
+               enable-gpios = <&pio 6 19 GPIO_ACTIVE_HIGH>; /* PG19 */
+               host-wake-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>; /* PG16 */
+       };
+};
index 3325ab07094a07963b693ffa1b3e38dd60ef0134..2c9152b151be294f987d536ec4e231e29e8fb457 100644 (file)
                        };
 
                        trips {
-                               cpu_alert0: cpu_alert0 {
+                               cpu_alert0: cpu-alert0 {
                                        /* milliCelsius */
                                        temperature = <85000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };
 
-                               cpu_crit: cpu_crit {
+                               cpu_crit: cpu-crit {
                                        /* milliCelsius */
                                        temperature = <100000>;
                                        hysteresis = <2000>;
index 5c3562b85a5bf95003b63013ba5d6e43cbda2d71..ffbd99c176db19f289131a81aaf20c6994f4069e 100644 (file)
@@ -77,7 +77,7 @@
                };
        };
 
-       mmc0_pwrseq: mmc0_pwrseq {
+       mmc0_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 1 10 GPIO_ACTIVE_LOW>; /* PB10 */
        };
index 4192c23848c316c29ed874ebb85b52ab64c8ce11..8c784a2c086edb301d599f7c66e089f289ea8a9b 100644 (file)
@@ -77,7 +77,7 @@
                };
        };
 
-       mmc0_pwrseq: mmc0_pwrseq {
+       mmc0_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 2 19 GPIO_ACTIVE_LOW>; /* PC19 */
        };
index 486cec6f71e0954b1f7ec976f7a6cb4301333723..41955fe54904d9803b66c31e2abb6405018704dd 100644 (file)
                };
        };
 
-       reg_vga_3v3: vga_3v3_regulator {
+       reg_vga_3v3: vga-3v3-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vga-3v3";
                regulator-min-microvolt = <3300000>;
                gpio = <&pio 7 25 GPIO_ACTIVE_HIGH>; /* PH25 */
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 */
        };
index b32d2ab6aa28b3d98ac60670c9fc0704402162d2..a65c09ec054967bfd94727859b2267155882f513 100644 (file)
                        };
 
                        trips {
-                               cpu_alert0: cpu_alert0 {
+                               cpu_alert0: cpu-alert0 {
                                        /* milliCelsius */
                                        temperature = <70000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };
 
-                               cpu_crit: cpu_crit {
+                               cpu_crit: cpu-crit {
                                        /* milliCelsius */
                                        temperature = <100000>;
                                        hysteresis = <2000>;
                        compatible = "allwinner,sun6i-a31-prcm";
                        reg = <0x01f01400 0x200>;
 
-                       ar100: ar100_clk {
+                       ar100: ar100-clk {
                                compatible = "allwinner,sun6i-a31-ar100-clk";
                                #clock-cells = <0>;
                                clocks = <&rtc CLK_OSC32K>, <&osc24M>,
                                clock-output-names = "ar100";
                        };
 
-                       ahb0: ahb0_clk {
+                       ahb0: ahb0-clk {
                                compatible = "fixed-factor-clock";
                                #clock-cells = <0>;
                                clock-div = <1>;
                                clock-output-names = "ahb0";
                        };
 
-                       apb0: apb0_clk {
+                       apb0: apb0-clk {
                                compatible = "allwinner,sun6i-a31-apb0-clk";
                                #clock-cells = <0>;
                                clocks = <&ahb0>;
                                clock-output-names = "apb0";
                        };
 
-                       apb0_gates: apb0_gates_clk {
+                       apb0_gates: apb0-gates-clk {
                                compatible = "allwinner,sun6i-a31-apb0-gates-clk";
                                #clock-cells = <1>;
                                clocks = <&apb0>;
                                                "apb0_i2c";
                        };
 
-                       ir_clk: ir_clk {
+                       ir_clk: ir-clk {
                                #clock-cells = <0>;
                                compatible = "allwinner,sun4i-a10-mod0-clk";
                                clocks = <&rtc CLK_OSC32K>, <&osc24M>;
                                clock-output-names = "ir";
                        };
 
-                       apb0_rst: apb0_rst {
+                       apb0_rst: apb0-rst {
                                compatible = "allwinner,sun6i-a31-clock-reset";
                                #reset-cells = <1>;
                        };
index efb25b949f30345beb87dae2a7994232851c4a01..2f3d93e56d7cca398245fae05d2deb3601036554 100644 (file)
@@ -75,7 +75,7 @@
                };
        };
 
-       mmc2_pwrseq: mmc2_pwrseq {
+       mmc2_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 WIFI_EN */
        };
index caa935ca4f190bccf9f8ddac7ab8ddb89bb6633e..f2d7fab9978d47b94c360b8b98a009925123f1d8 100644 (file)
@@ -86,7 +86,7 @@
                };
        };
 
-       mmc3_pwrseq: mmc3_pwrseq {
+       mmc3_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 WL-PMU-EN */
        };
index 52160e3683049aa83e4c106e8506a04a87691fef..be9b31d0f4b57b20d8eae023ffc2a79b22c36802 100644 (file)
@@ -96,7 +96,7 @@
                };
        };
 
-       mmc3_pwrseq: mmc3_pwrseq {
+       mmc3_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */
                clocks = <&ccu CLK_OUT_A>;
index 3def2a33059810a3b3e18c4d491aad6c54998ebd..f1e26b75cd902d5e4ca260b3fbd78bcb5adb886c 100644 (file)
@@ -65,7 +65,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       reg_mmc3_vdd: mmc3_vdd {
+       reg_mmc3_vdd: regulator-mmc3-vdd {
                compatible = "regulator-fixed";
                regulator-name = "mmc3_vdd";
                regulator-min-microvolt = <3000000>;
@@ -74,7 +74,7 @@
                gpio = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
        };
 
-       reg_gmac_vdd: gmac_vdd {
+       reg_gmac_vdd: regulator-gmac-vdd {
                compatible = "regulator-fixed";
                regulator-name = "gmac_vdd";
                regulator-min-microvolt = <3000000>;
index 20bf09b2226cf4780a8e7642ed5d1954c4966632..fb835730bbc49ec66b1bde2d7faed49225406bda 100644 (file)
@@ -14,7 +14,7 @@
        model = "Olimex A20-Olimex-SOM-EVB-eMMC";
        compatible = "olimex,a20-olimex-som-evb-emmc", "allwinner,sun7i-a20";
 
-       mmc2_pwrseq: mmc2_pwrseq {
+       mmc2_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-emmc";
                reset-gpios = <&pio 2 18 GPIO_ACTIVE_LOW>;
        };
index a59755a2e7a9db9e2fa8baf06f18571663da78ad..e8977c2fe7986f80f6c96e6cda9eccbfd069e242 100644 (file)
@@ -13,7 +13,7 @@
        model = "Olimex A20-SOM204-EVB-eMMC";
        compatible = "olimex,a20-olimex-som204-evb-emmc", "allwinner,sun7i-a20";
 
-       mmc2_pwrseq: mmc2_pwrseq {
+       mmc2_pwrseq: pwrseq-1 {
                compatible = "mmc-pwrseq-emmc";
                reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
        };
index 54af6c18075b50dca6f008e0d5f3d61333ddde41..a55406657449d848841707768394f7dea3763384 100644 (file)
@@ -65,7 +65,7 @@
                };
        };
 
-       rtl_pwrseq: rtl_pwrseq {
+       rtl_pwrseq: pwrseq-0 {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 6 9 GPIO_ACTIVE_LOW>;
        };
        non-removable;
        status = "okay";
 
-       rtl8723bs: sdio_wifi@1 {
+       rtl8723bs: wifi@1 {
                reg = <1>;
        };
 };
index ecb91fb899ff3db1d1bb0bc54da12ce069be7586..435a189332e8f1aa4da54f295a0d0d4902afb70b 100644 (file)
@@ -82,7 +82,7 @@
                };
        };
 
-       reg_axp_ipsout: axp_ipsout {
+       reg_axp_ipsout: regulator-axp-ipsout {
                compatible = "regulator-fixed";
                regulator-name = "axp-ipsout";
                regulator-min-microvolt = <5000000>;
index 3bfae98f3cc3a18e6d312ced1337acb9340e397f..29199b6a3b4a1eeb88ed2d7a77323414a1a1d5a9 100644 (file)
@@ -60,7 +60,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       mmc3_pwrseq: mmc3_pwrseq {
+       mmc3_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */
        };
index 5574299685ab5c614fa8aa0df413aec798ea9c94..5f44f09c554528dc6ffda06f7713440ab56426af 100644 (file)
                        };
 
                        trips {
-                               cpu_alert0: cpu_alert0 {
+                               cpu_alert0: cpu-alert0 {
                                        /* milliCelsius */
                                        temperature = <75000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };
 
-                               cpu_crit: cpu_crit {
+                               cpu_crit: cpu-crit {
                                        /* milliCelsius */
                                        temperature = <100000>;
                                        hysteresis = <2000>;
index a0cac966af3c607b0718bdcf59793664712fc8e4..4ebb0a7a78fb82047e0010a618c38c62b63c516a 100644 (file)
                #size-cells = <1>;
                ranges;
 
-               osc24M: osc24M_clk {
+               osc24M: osc24M-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <24000000>;
                        clock-output-names = "osc24M";
                };
 
-               ext_osc32k: ext_osc32k_clk {
+               ext_osc32k: ext-osc32k-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <32768>;
                        compatible = "allwinner,sun8i-a23-prcm";
                        reg = <0x01f01400 0x200>;
 
-                       ar100: ar100_clk {
+                       ar100: ar100-clk {
                                compatible = "fixed-factor-clock";
                                #clock-cells = <0>;
                                clock-div = <1>;
                                clock-output-names = "ar100";
                        };
 
-                       ahb0: ahb0_clk {
+                       ahb0: ahb0-clk {
                                compatible = "fixed-factor-clock";
                                #clock-cells = <0>;
                                clock-div = <1>;
                                clock-output-names = "ahb0";
                        };
 
-                       apb0: apb0_clk {
+                       apb0: apb0-clk {
                                compatible = "allwinner,sun8i-a23-apb0-clk";
                                #clock-cells = <0>;
                                clocks = <&ahb0>;
                                clock-output-names = "apb0";
                        };
 
-                       apb0_gates: apb0_gates_clk {
+                       apb0_gates: apb0-gates-clk {
                                compatible = "allwinner,sun8i-a23-apb0-gates-clk";
                                #clock-cells = <1>;
                                clocks = <&apb0>;
                                                "apb0_i2c";
                        };
 
-                       apb0_rst: apb0_rst {
+                       apb0_rst: apb0-rst {
                                compatible = "allwinner,sun6i-a31-clock-reset";
                                #reset-cells = <1>;
                        };
index d5f6aebd7216d2cc910d44919355bd622d98d480..0c585a6d990d4068a356214f3b5c87aa658e2f6b 100644 (file)
@@ -52,7 +52,7 @@
                ethernet0 = &esp8089;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
                /* The esp8089 needs 200 ms after driving wifi-en high */
@@ -76,7 +76,7 @@
        non-removable;
        status = "okay";
 
-       esp8089: sdio_wifi@1 {
+       esp8089: wifi@1 {
                compatible = "esp,esp8089";
                reg = <1>;
                esp,crystal-26M-en = <2>;
index 9f9232a2fefbbbe86225eea83aa5873c2f0bde58..63cb4e194a03d6f01f8fcb42e5245b36e9f8169b 100644 (file)
@@ -52,7 +52,7 @@
                ethernet0 = &esp8089;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
                /* The esp8089 needs 200 ms after driving wifi-en high */
@@ -69,7 +69,7 @@
        non-removable;
        status = "okay";
 
-       esp8089: sdio_wifi@1 {
+       esp8089: wifi@1 {
                compatible = "esp,esp8089";
                reg = <1>;
                esp,crystal-26M-en = <2>;
index 2dfdd0a3151e84863a38937c9b33346df5f74bd0..f00ce03ffc8477cbb8edf2c6d84d1e7cd2067d9c 100644 (file)
@@ -85,7 +85,7 @@
        non-removable;
        status = "okay";
 
-       rtl8703as: sdio_wifi@1 {
+       rtl8703as: wifi@1 {
                reg = <1>;
        };
 };
index 065cb620aa992431281317c3e9681018a77f153c..162ba93f748469ee247ee27639a2b0ebd55cd686 100644 (file)
@@ -78,7 +78,7 @@
        non-removable;
        status = "okay";
 
-       rtl8723bs: sdio_wifi@1 {
+       rtl8723bs: wifi@1 {
                reg = <1>;
        };
 };
index 30fdd2703b1ff493f06d4c44f566608172daf45e..36b2d78cdab9ec5770a458a891269547af68361e 100644 (file)
                        };
 
                        trips {
-                               cpu_alert0: cpu_alert0 {
+                               cpu_alert0: cpu-alert0 {
                                        /* milliCelsius */
                                        temperature = <75000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };
 
-                               gpu_alert0: gpu_alert0 {
+                               gpu_alert0: gpu-alert0 {
                                        /* milliCelsius */
                                        temperature = <85000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };
 
-                               cpu_alert1: cpu_alert1 {
+                               cpu_alert1: cpu-alert1 {
                                        /* milliCelsius */
                                        temperature = <90000>;
                                        hysteresis = <2000>;
                                        type = "hot";
                                };
 
-                               gpu_alert1: gpu_alert1 {
+                               gpu_alert1: gpu-alert1 {
                                        /* milliCelsius */
                                        temperature = <95000>;
                                        hysteresis = <2000>;
                                        type = "hot";
                                };
 
-                               cpu_crit: cpu_crit {
+                               cpu_crit: cpu-crit {
                                        /* milliCelsius */
                                        temperature = <110000>;
                                        hysteresis = <2000>;
index 197cf6959b503db3a598ff158bdd2a408105fb95..582b919336f8f25b735dd1e00f5204e6960cfa16 100644 (file)
@@ -95,7 +95,7 @@
                gpio = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&ac100_rtc 1>;
                clock-names = "ext_clock";
index e26af7cf10e0ce20c94990bb73767ceff09428f2..c5677f99e155184b6397178c88986a051c2eb5d1 100644 (file)
                compatible = "linux,spdif-dit";
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&ac100_rtc 1>;
                clock-names = "ext_clock";
index 13ae10f60d53df8a2a5a7bbbd4a4ffb58a57ad43..a2685fb53e3d361a8f12afa722e5e7a25531213b 100644 (file)
                vin-supply = <&reg_vbat>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
 
index cc40622466a73a2e2915b0d3a0d0195333d59471..90f2c08d051a727bccd2bed08ffdee5c835f6fc3 100644 (file)
                ranges;
 
                /* TODO: PRCM block has a mux for this. */
-               osc24M: osc24M_clk {
+               osc24M: osc24M-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <24000000>;
                 * It is an internal RC-based oscillator.
                 * TODO: Its controls are in the PRCM block.
                 */
-               osc16M: osc16M_clk {
+               osc16M: osc16M-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <16000000>;
                        clock-output-names = "osc16M";
                };
 
-               osc16Md512: osc16Md512_clk {
+               osc16Md512: osc16Md512-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-factor-clock";
                        clock-div = <512>;
                        #reset-cells = <1>;
                };
 
-               r_cpucfg@1f01c00 {
+               cpucfg@1f01c00 {
                        compatible = "allwinner,sun8i-a83t-r-cpucfg";
                        reg = <0x1f01c00 0x400>;
                };
index d729b7c705db54d9cf9f40cda299fc71abc1cef1..d3a7c9fa23e4460da0bda00330f94a5057e31fba 100644 (file)
                cpu-supply = <&reg_vcc1v2>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
index 3356f4210d45b4e055d61f29ef72fad0238045fc..79b03b31c5eb8024d80e6395ed750f243d4cfae4 100644 (file)
 /* Orange Pi R1 is based on Orange Pi Zero design */
 #include "sun8i-h2-plus-orangepi-zero.dts"
 
+/delete-node/ &reg_vcc_wifi;
+
 / {
        model = "Xunlong Orange Pi R1";
        compatible = "xunlong,orangepi-r1", "allwinner,sun8i-h2-plus";
 
-       /delete-node/ reg_vcc_wifi;
 
        /*
         * Ths pin of this regulator is the same with the Wi-Fi extra
@@ -89,7 +90,7 @@
        vmmc-supply = <&reg_vcc3v3>;
        vqmmc-supply = <&reg_vcc3v3>;
 
-       rtl8189etv: sdio_wifi@1 {
+       rtl8189etv: wifi@1 {
                reg = <1>;
        };
 };
index 3706216ffb40bac94501f3f4f529e2d5f7a87cfc..1b001f2ad0efd2e77218742efe6d8edfdd18a816 100644 (file)
@@ -80,7 +80,7 @@
                };
        };
 
-       reg_vcc_wifi: reg_vcc_wifi {
+       reg_vcc_wifi: reg-vcc-wifi {
                compatible = "regulator-fixed";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
                states = <1100000 0>, <1300000 1>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>;
                post-power-on-delay-ms = <200>;
         * Explicitly define the sdio device, so that we can add an ethernet
         * alias for it (which e.g. makes u-boot set a mac-address).
         */
-       xr819: sdio_wifi@1 {
+       xr819: wifi@1 {
                reg = <1>;
        };
 };
index a6d38ecee141d438898325f08bcd5e595d425950..5b77300307dea7fdbe7db7d610ceffaf9b1e97b7 100644 (file)
                compatible = "linux,spdif-dit";
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
         * Explicitly define the sdio device, so that we can add an ethernet
         * alias for it (which e.g. makes u-boot set a mac-address).
         */
-       sdiowifi: sdio_wifi@1 {
+       sdiowifi: wifi@1 {
                reg = <1>;
        };
 };
index 343b02b97155539c4b9b8a0356647c1dda691b17..2b0566d4b3867456af1800fb50d9ba23613acf39 100644 (file)
@@ -87,7 +87,7 @@
                vin-supply = <&reg_vcc5v0>;
         };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
        non-removable;
        status = "okay";
 
-       sdio_wifi: sdio_wifi@1 {
+       sdio_wifi: wifi@1 {
                reg = <1>;
                compatible = "brcm,bcm4329-fmac";
                interrupt-parent = <&pio>;
index 4ba533b0340f220c9ce38aba9a693bcf42e8d1a4..59bd0746acf82b4fe67c18766a8342b5bac1bc4f 100644 (file)
@@ -62,7 +62,7 @@
                gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
        };
        non-removable;
        status = "okay";
 
-       sdio_wifi: sdio_wifi@1 {
+       sdio_wifi: wifi@1 {
                reg = <1>;
                compatible = "brcm,bcm4329-fmac";
                interrupt-parent = <&pio>;
index 9e1a33f94cadc58a56e3bb92b6bcdda8341d830b..6d85370e04f16bdeddd959aa9f0d058099a040ce 100644 (file)
@@ -73,7 +73,7 @@
                };
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
        };
index 42cd1131adf3d098fb434c9e4126a6d88d870db1..870649760f7075c1de98036944e2402e5c3563d0 100644 (file)
@@ -43,7 +43,7 @@
                         <1300000 0x1>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
index f1f9dbead32a93e19e48f627b82c76ea9dd9c9f4..d2ae47b074bf79f02bc6b91524ab169bd4131d51 100644 (file)
                };
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */
        };
         * Explicitly define the sdio device, so that we can add an ethernet
         * alias for it (which e.g. makes u-boot set a mac-address).
         */
-       rtl8189: sdio_wifi@1 {
+       rtl8189: wifi@1 {
                reg = <1>;
        };
 };
index 305b34a321f5cc21ee38986b6d53f93bda6ae3a1..6a4316a52469ae125f7a0eb03b6cc2edafd809e1 100644 (file)
         * Explicitly define the sdio device, so that we can add an ethernet
         * alias for it (which e.g. makes u-boot set a mac-address).
         */
-       rtl8189ftv: sdio_wifi@1 {
+       rtl8189ftv: wifi@1 {
                reg = <1>;
        };
 };
index babf4cf1b2f6897cda3605aff044cbea96263c97..8a49b3376dfc9de7aded632dfd2ecda335ff2978 100644 (file)
@@ -63,7 +63,7 @@
         * Explicitly define the sdio device, so that we can add an ethernet
         * alias for it (which e.g. makes u-boot set a mac-address).
         */
-       rtl8189ftv: sdio_wifi@1 {
+       rtl8189ftv: wifi@1 {
                reg = <1>;
        };
 };
index 561ea1d2f861c437db66bea4125dfb4d8ba88ff5..7a6444a10e2534458b7380882ea4fd42bd54fea8 100644 (file)
@@ -92,7 +92,7 @@
                regulator-max-microvolt = <3300000>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
                post-power-on-delay-ms = <200>;
index 3d9a1524e17e4f613fd782d1807dff9a80ce3916..272584881bb214a201ad6b07715258e18d303439 100644 (file)
@@ -62,7 +62,7 @@
                };
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                /*
                 * Q8 boards use various PL# pins as wifi-en. On other boards
@@ -94,7 +94,7 @@
        non-removable;
        status = "okay";
 
-       sdio_wifi: sdio_wifi@1 {
+       sdio_wifi: wifi@1 {
                reg = <1>;
        };
 };
index f97218e70c1678015652fa4d59995400cabfd4a5..5001f10c27af3a4b799e9f069eab23f03a9e52f6 100644 (file)
@@ -88,7 +88,7 @@
                regulator-max-microvolt = <5000000>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL06 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
index 2be1b76fe2f67719cbfb738ab015f1e751a4e6e4..40109969cc8a8da43ae12c5658cbe546c0c01d58 100644 (file)
@@ -75,7 +75,7 @@
                };
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL06 */
        };
index 28197bbcb1d56ad3604f60a6172d0c9f8cf4586a..cd2351acc32f8b2d148f6dd359f6fc9c8c9406fc 100644 (file)
                enable-active-high;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
                clocks = <&ccu CLK_OUTA>;
index 0bd1336206b839594668a3192dd59461cef2b0d2..15b0b4de626af30557c83b0840f841bb5f355b9c 100644 (file)
@@ -62,7 +62,7 @@
                regulator-max-microvolt = <5000000>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 1 10 GPIO_ACTIVE_LOW>; // PB10 WIFI_EN
                clocks = <&ccu CLK_OUTA>;
index 20966e954eda89cf309a97629ec10e8cda92dd31..e0d4404b5957d3270c497aa95d3a9bfcb9262260 100644 (file)
@@ -51,7 +51,7 @@
                startup-delay-us = <200000>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 WIFI-RST */
                post-power-on-delay-ms = <200>;
index e8a04476b776251312ce5d36cf2dea8c503f5a71..9e13c2aa89112779925d65a428167076d9a91db7 100644 (file)
@@ -98,7 +98,7 @@
                #size-cells = <1>;
                ranges;
 
-               osc24M: osc24M_clk {
+               osc24M: osc24M-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <24000000>;
                        clock-output-names = "osc24M";
                };
 
-               osc32k: osc32k_clk {
+               osc32k: osc32k-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <32768>;
index 434871040aca00b07d74f42eae522b5d05ff6239..6575ef2744530f8d024e140be0d16f57efd42098 100644 (file)
@@ -94,7 +94,7 @@
                enable-active-high;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
                clocks = <&ccu CLK_OUTA>;
index 7d3f3300f4316d5710b868646c3e6365cc58de70..a1ae0929cec9d22704ebea75c8ecfae2a6617008 100644 (file)
                 * The actual TX clock rate is not controlled by the
                 * gmac_tx clock.
                 */
-               mii_phy_tx_clk: mii_phy_tx_clk {
+               mii_phy_tx_clk: mii-phy-tx-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <25000000>;
                        clock-output-names = "mii_phy_tx";
                };
 
-               gmac_int_tx_clk: gmac_int_tx_clk {
+               gmac_int_tx_clk: gmac-int-tx-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <125000000>;
index 1d1d127cf38f5c8e473f6e06a13707fadfe39a37..873817ddb4eae6a24283ce9e29f3ef8853ab95fd 100644 (file)
@@ -98,7 +98,7 @@
                gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
                clocks = <&rtc CLK_OSC32K_FANOUT>;
index 60804b0e6c56a62f9049f4a51354747b0d195b26..be5f5528a118320f217551f9c098b6707247c8f3 100644 (file)
@@ -18,7 +18,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: pwrseq {
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&pio 2 7 GPIO_ACTIVE_LOW>; /* PC7 */
                post-power-on-delay-ms = <200>;
index bdc796f4622d506e98a3a1ae3ded8699c58e9a9e..43f6938381cd7f697b7f21c240372ad2816f7005 100644 (file)
@@ -83,7 +83,7 @@
                #size-cells = <1>;
                ranges;
 
-               osc24M: osc24M_clk {
+               osc24M: osc24M-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <24000000>;
@@ -91,7 +91,7 @@
                        clock-output-names = "osc24M";
                };
 
-               osc32k: osc32k_clk {
+               osc32k: osc32k-clk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <32768>;