diff options
Diffstat (limited to 'arch')
19 files changed, 1 insertions, 3070 deletions
| diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 65176c8fb83..54f166eda55 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -721,13 +721,6 @@ dtb-$(CONFIG_MACH_SUN50I_H6) += \  	sun50i-h6-pine-h64-model-b.dtb \  	sun50i-h6-tanix-tx6.dtb \  	sun50i-h6-tanix-tx6-mini.dtb -dtb-$(CONFIG_MACH_SUN50I_H616) += \ -	sun50i-h313-tanix-tx1.dtb \ -	sun50i-h616-orangepi-zero2.dtb \ -	sun50i-h618-orangepi-zero2w.dtb \ -	sun50i-h618-orangepi-zero3.dtb \ -	sun50i-h618-transpeed-8k618-t.dtb \ -	sun50i-h616-x96-mate.dtb  dtb-$(CONFIG_MACH_SUN50I) += \  	sun50i-a64-amarula-relic.dtb \  	sun50i-a64-bananapi-m64.dtb \ diff --git a/arch/arm/dts/sun50i-h313-tanix-tx1.dts b/arch/arm/dts/sun50i-h313-tanix-tx1.dts deleted file mode 100644 index bb2cde59bd0..00000000000 --- a/arch/arm/dts/sun50i-h313-tanix-tx1.dts +++ /dev/null @@ -1,183 +0,0 @@ -// 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 = <®_dcdc2>; -}; - -&ehci0 { -	status = "okay"; -}; - -&ir { -	status = "okay"; -}; - -&mmc1 { -	vmmc-supply = <®_dldo1>; -	vqmmc-supply = <®_aldo1>; -	mmc-pwrseq = <&wifi_pwrseq>; -	bus-width = <4>; -	non-removable; -	status = "okay"; - -	sdio_wifi: wifi@1 { -		reg = <1>; -	}; -}; - -&mmc2 { -	vmmc-supply = <®_dldo1>; -	vqmmc-supply = <®_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 = <®_aldo1>; -	vcc-pf-supply = <®_dldo1>; -	vcc-pg-supply = <®_aldo1>; -	vcc-ph-supply = <®_dldo1>; -	vcc-pi-supply = <®_dldo1>; -}; - -&r_i2c { -	status = "okay"; - -	axp313: pmic@36 { -		compatible = "x-powers,axp313a"; -		reg = <0x36>; -		#interrupt-cells = <1>; -		interrupt-controller; - -		vin1-supply = <®_vcc5v>; -		vin2-supply = <®_vcc5v>; -		vin3-supply = <®_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"; -}; diff --git a/arch/arm/dts/sun50i-h616-bigtreetech-cb1-manta.dts b/arch/arm/dts/sun50i-h616-bigtreetech-cb1-manta.dts deleted file mode 100644 index 4bfb52609c9..00000000000 --- a/arch/arm/dts/sun50i-h616-bigtreetech-cb1-manta.dts +++ /dev/null @@ -1,35 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2023 Martin Botka <martin.botka@somainline.org>. - */ - -/dts-v1/; - -#include "sun50i-h616-bigtreetech-cb1.dtsi" - -/ { -	model = "BigTreeTech CB1"; -	compatible = "bigtreetech,cb1-manta", "bigtreetech,cb1", "allwinner,sun50i-h616"; - -	aliases { -		serial0 = &uart0; -	}; - -	chosen { -		stdout-path = "serial0:115200n8"; -	}; -}; - -&ehci1 { -	status = "okay"; -}; - -&ohci1 { -	status = "okay"; -}; - -&uart0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&uart0_ph_pins>; -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h616-bigtreetech-cb1.dtsi b/arch/arm/dts/sun50i-h616-bigtreetech-cb1.dtsi deleted file mode 100644 index d12b01c5f41..00000000000 --- a/arch/arm/dts/sun50i-h616-bigtreetech-cb1.dtsi +++ /dev/null @@ -1,143 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2023 Martin Botka <martin.botka@somainline.org>. - */ - -/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> -#include <dt-bindings/leds/common.h> - -/ { -	aliases { -		ethernet0 = &rtl8189ftv; -	}; - -	leds { -		compatible = "gpio-leds"; - -		led-0 { -			function = LED_FUNCTION_STATUS; -			color = <LED_COLOR_ID_GREEN>; -			gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ -		}; -	}; - -	reg_vcc5v: regulator-vcc5v { -		/* board wide 5V supply from carrier boards */ -		compatible = "regulator-fixed"; -		regulator-name = "vcc-5v"; -		regulator-min-microvolt = <5000000>; -		regulator-max-microvolt = <5000000>; -		regulator-always-on; -	}; - -	reg_vcc33_wifi: vcc33-wifi { -		compatible = "regulator-fixed"; -		regulator-name = "vcc33-wifi"; -		regulator-min-microvolt = <3300000>; -		regulator-max-microvolt = <3300000>; -		regulator-always-on; -		vin-supply = <®_vcc5v>; -	}; - -	reg_vcc_wifi_io: vcc-wifi-io { -		compatible = "regulator-fixed"; -		regulator-name = "vcc-wifi-io"; -		regulator-min-microvolt = <1800000>; -		regulator-max-microvolt = <1800000>; -		regulator-always-on; -		vin-supply = <®_vcc33_wifi>; -	}; - -	wifi_pwrseq: wifi-pwrseq { -		compatible = "mmc-pwrseq-simple"; -		clocks = <&rtc 1>; -		clock-names = "ext_clock"; -		reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ -		post-power-on-delay-ms = <200>; -	}; -}; - -&cpu0 { -	cpu-supply = <®_dcdc2>; -}; - -&mmc0 { -	vmmc-supply = <®_dldo1>; -	/* Card detection pin is not connected */ -	broken-cd; -	bus-width = <4>; -	status = "okay"; -}; - -&mmc1 { -	vmmc-supply = <®_vcc33_wifi>; -	vqmmc-supply = <®_vcc_wifi_io>; -	mmc-pwrseq = <&wifi_pwrseq>; -	bus-width = <4>; -	non-removable; -	mmc-ddr-1_8v; -	status = "okay"; - -	rtl8189ftv: wifi@1 { -		reg = <1>; -	}; -}; - -&r_i2c { -	status = "okay"; - -	axp313a: pmic@36 { -		compatible = "x-powers,axp313a"; -		reg = <0x36>; -		interrupt-controller; -		#interrupt-cells = <1>; - -		regulators { -			reg_dcdc1: dcdc1 { -				regulator-name = "vdd-gpu-sys"; -				regulator-min-microvolt = <810000>; -				regulator-max-microvolt = <990000>; -				regulator-always-on; -			}; - -			reg_dcdc2: dcdc2 { -				regulator-name = "vdd-cpu"; -				regulator-min-microvolt = <810000>; -				regulator-max-microvolt = <1100000>; -				regulator-ramp-delay = <200>; -				regulator-always-on; -			}; - -			reg_dcdc3: dcdc3 { -				regulator-name = "vcc-dram"; -				regulator-min-microvolt = <1350000>; -				regulator-max-microvolt = <1500000>; -				regulator-always-on; -			}; - -			reg_aldo1: aldo1 { -				regulator-name = "vcc-1v8-pll"; -				regulator-min-microvolt = <1800000>; -				regulator-max-microvolt = <1800000>; -				regulator-always-on; -			}; - -			reg_dldo1: dldo1 { -				regulator-name = "vcc-3v3-io"; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-always-on; -			}; -		}; -	}; -}; - -&usbphy { -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h616-bigtreetech-pi.dts b/arch/arm/dts/sun50i-h616-bigtreetech-pi.dts deleted file mode 100644 index ff84a379447..00000000000 --- a/arch/arm/dts/sun50i-h616-bigtreetech-pi.dts +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2023 Martin Botka <martin@biqu3d.com>. - */ - -/dts-v1/; - -#include "sun50i-h616-bigtreetech-cb1.dtsi" - -/ { -	model = "BigTreeTech Pi"; -	compatible = "bigtreetech,pi", "allwinner,sun50i-h616"; - -	aliases { -		serial0 = &uart0; -	}; - -	chosen { -		stdout-path = "serial0:115200n8"; -	}; -}; - -&ehci0 { -	status = "okay"; -}; - -&ehci1 { -	status = "okay"; -}; - -&ehci2 { -	status = "okay"; -}; - -&ehci3 { -	status = "okay"; -}; - -&ir { -	status = "okay"; -}; - -&ohci0 { -	status = "okay"; -}; - -&ohci1 { -	status = "okay"; -}; - -&ohci2 { -	status = "okay"; -}; - -&ohci3 { -	status = "okay"; -}; - -&uart0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&uart0_ph_pins>; -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h616-cpu-opp.dtsi b/arch/arm/dts/sun50i-h616-cpu-opp.dtsi deleted file mode 100644 index aca22a7f019..00000000000 --- a/arch/arm/dts/sun50i-h616-cpu-opp.dtsi +++ /dev/null @@ -1,115 +0,0 @@ -// 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>; -}; diff --git a/arch/arm/dts/sun50i-h616-orangepi-zero.dtsi b/arch/arm/dts/sun50i-h616-orangepi-zero.dtsi deleted file mode 100644 index fc7315b9440..00000000000 --- a/arch/arm/dts/sun50i-h616-orangepi-zero.dtsi +++ /dev/null @@ -1,131 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2020 Arm Ltd. - * - * DT nodes common between Orange Pi Zero 2 and Orange Pi Zero 3. - * Excludes PMIC nodes and properties, since they are different between the two. - */ - -#include "sun50i-h616.dtsi" - -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/interrupt-controller/arm-gic.h> -#include <dt-bindings/leds/common.h> - -/ { -	aliases { -		ethernet0 = &emac0; -		serial0 = &uart0; -	}; - -	chosen { -		stdout-path = "serial0:115200n8"; -	}; - -	leds { -		compatible = "gpio-leds"; - -		led-0 { -			function = LED_FUNCTION_POWER; -			color = <LED_COLOR_ID_RED>; -			gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */ -			default-state = "on"; -		}; - -		led-1 { -			function = LED_FUNCTION_STATUS; -			color = <LED_COLOR_ID_GREEN>; -			gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */ -		}; -	}; - -	reg_vcc5v: vcc5v { -		/* board wide 5V supply directly from the USB-C socket */ -		compatible = "regulator-fixed"; -		regulator-name = "vcc-5v"; -		regulator-min-microvolt = <5000000>; -		regulator-max-microvolt = <5000000>; -		regulator-always-on; -	}; - -	reg_usb1_vbus: regulator-usb1-vbus { -		compatible = "regulator-fixed"; -		regulator-name = "usb1-vbus"; -		regulator-min-microvolt = <5000000>; -		regulator-max-microvolt = <5000000>; -		vin-supply = <®_vcc5v>; -		enable-active-high; -		gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */ -	}; -}; - -&ehci1 { -	status = "okay"; -}; - -/* USB 2 & 3 are on headers only. */ - -&emac0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&ext_rgmii_pins>; -	phy-handle = <&ext_rgmii_phy>; -	status = "okay"; -}; - -&mdio0 { -	ext_rgmii_phy: ethernet-phy@1 { -		compatible = "ethernet-phy-ieee802.3-c22"; -		reg = <1>; -	}; -}; - -&mmc0 { -	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */ -	bus-width = <4>; -	status = "okay"; -}; - -&ohci1 { -	status = "okay"; -}; - -&spi0  { -	status = "okay"; -	pinctrl-names = "default"; -	pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>; - -	flash@0 { -		#address-cells = <1>; -		#size-cells = <1>; -		compatible = "jedec,spi-nor"; -		reg = <0>; -		spi-max-frequency = <40000000>; -	}; -}; - -&uart0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&uart0_ph_pins>; -	status = "okay"; -}; - -&usbotg { -	/* -	 * PHY0 pins are connected to a USB-C socket, but a role switch -	 * is not implemented: both CC pins are pulled to GND. -	 * The VBUS pins power the device, so a fixed peripheral mode -	 * is the best choice. -	 * The board can be powered via GPIOs, in this case port0 *can* -	 * act as a host (with a cable/adapter ignoring CC), as VBUS is -	 * then provided by the GPIOs. Any user of this setup would -	 * need to adjust the DT accordingly: dr_mode set to "host", -	 * enabling OHCI0 and EHCI0. -	 */ -	dr_mode = "peripheral"; -	status = "okay"; -}; - -&usbphy { -	usb1_vbus-supply = <®_usb1_vbus>; -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h616-orangepi-zero2.dts b/arch/arm/dts/sun50i-h616-orangepi-zero2.dts deleted file mode 100644 index a360d8567f9..00000000000 --- a/arch/arm/dts/sun50i-h616-orangepi-zero2.dts +++ /dev/null @@ -1,145 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2020 Arm Ltd. - */ - -/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 = <®_dcdca>; -}; - -&emac0 { -	allwinner,rx-delay-ps = <3100>; -	allwinner,tx-delay-ps = <700>; -	phy-mode = "rgmii"; -	phy-supply = <®_dcdce>; -}; - -&mmc0 { -	vmmc-supply = <®_dcdce>; -}; - -&r_rsb { -	status = "okay"; - -	axp305: pmic@745 { -		compatible = "x-powers,axp305", "x-powers,axp805", -			     "x-powers,axp806"; -		interrupt-controller; -		#interrupt-cells = <1>; -		reg = <0x745>; - -		x-powers,self-working-mode; -		vina-supply = <®_vcc5v>; -		vinb-supply = <®_vcc5v>; -		vinc-supply = <®_vcc5v>; -		vind-supply = <®_vcc5v>; -		vine-supply = <®_vcc5v>; -		aldoin-supply = <®_vcc5v>; -		bldoin-supply = <®_vcc5v>; -		cldoin-supply = <®_vcc5v>; - -		regulators { -			reg_aldo1: aldo1 { -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc-sys"; -			}; - -			reg_aldo2: aldo2 {	/* 3.3V on headers */ -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc3v3-ext"; -			}; - -			reg_aldo3: aldo3 {	/* 3.3V on headers */ -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc3v3-ext2"; -			}; - -			reg_bldo1: bldo1 { -				regulator-always-on; -				regulator-min-microvolt = <1800000>; -				regulator-max-microvolt = <1800000>; -				regulator-name = "vcc1v8"; -			}; - -			bldo2 { -				/* unused */ -			}; - -			bldo3 { -				/* unused */ -			}; - -			bldo4 { -				/* unused */ -			}; - -			cldo1 { -				/* reserved */ -			}; - -			cldo2 { -				/* unused */ -			}; - -			cldo3 { -				/* unused */ -			}; - -			reg_dcdca: dcdca { -				regulator-always-on; -				regulator-min-microvolt = <810000>; -				regulator-max-microvolt = <1100000>; -				regulator-name = "vdd-cpu"; -			}; - -			reg_dcdcc: dcdcc { -				regulator-always-on; -				regulator-min-microvolt = <810000>; -				regulator-max-microvolt = <990000>; -				regulator-name = "vdd-gpu-sys"; -			}; - -			reg_dcdcd: dcdcd { -				regulator-always-on; -				regulator-min-microvolt = <1500000>; -				regulator-max-microvolt = <1500000>; -				regulator-name = "vdd-dram"; -			}; - -			reg_dcdce: dcdce { -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc-eth-mmc"; -			}; - -			sw { -				/* unused */ -			}; -		}; -	}; -}; - -&pio { -	vcc-pc-supply = <®_aldo1>; -	vcc-pf-supply = <®_aldo1>; -	vcc-pg-supply = <®_bldo1>; -	vcc-ph-supply = <®_aldo1>; -	vcc-pi-supply = <®_aldo1>; -}; diff --git a/arch/arm/dts/sun50i-h616-x96-mate.dts b/arch/arm/dts/sun50i-h616-x96-mate.dts deleted file mode 100644 index 26d25b5b59e..00000000000 --- a/arch/arm/dts/sun50i-h616-x96-mate.dts +++ /dev/null @@ -1,207 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2021 Arm Ltd. - */ - -/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> - -/ { -	model = "X96 Mate"; -	compatible = "hechuang,x96-mate", "allwinner,sun50i-h616"; - -	aliases { -		serial0 = &uart0; -	}; - -	chosen { -		stdout-path = "serial0:115200n8"; -	}; - -	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 = <®_dcdca>; -}; - -&ehci0 { -	status = "okay"; -}; - -&ehci2 { -	status = "okay"; -}; - -&ir { -	status = "okay"; -}; - -&mmc0 { -	vmmc-supply = <®_dcdce>; -	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */ -	bus-width = <4>; -	status = "okay"; -}; - -&mmc2 { -	vmmc-supply = <®_dcdce>; -	vqmmc-supply = <®_bldo1>; -	bus-width = <8>; -	non-removable; -	cap-mmc-hw-reset; -	mmc-ddr-1_8v; -	mmc-hs200-1_8v; -	status = "okay"; -}; - -&ohci0 { -	status = "okay"; -}; - -&ohci2 { -	status = "okay"; -}; - -&r_rsb { -	status = "okay"; - -	axp305: pmic@745 { -		compatible = "x-powers,axp305", "x-powers,axp805", -			     "x-powers,axp806"; -		interrupt-controller; -		#interrupt-cells = <1>; -		reg = <0x745>; - -		x-powers,self-working-mode; -		vina-supply = <®_vcc5v>; -		vinb-supply = <®_vcc5v>; -		vinc-supply = <®_vcc5v>; -		vind-supply = <®_vcc5v>; -		vine-supply = <®_vcc5v>; -		aldoin-supply = <®_vcc5v>; -		bldoin-supply = <®_vcc5v>; -		cldoin-supply = <®_vcc5v>; - -		regulators { -			reg_aldo1: aldo1 { -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc-sys"; -			}; - -			/* Enabled by the Android BSP */ -			reg_aldo2: aldo2 { -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc3v3-ext"; -				status = "disabled"; -			}; - -			/* Enabled by the Android BSP */ -			reg_aldo3: aldo3 { -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc3v3-ext2"; -				status = "disabled"; -			}; - -			reg_bldo1: bldo1 { -				regulator-always-on; -				regulator-min-microvolt = <1800000>; -				regulator-max-microvolt = <1800000>; -				regulator-name = "vcc1v8"; -			}; - -			/* Enabled by the Android BSP */ -			reg_bldo2: bldo2 { -				regulator-min-microvolt = <1800000>; -				regulator-max-microvolt = <1800000>; -				regulator-name = "vcc1v8-2"; -				status = "disabled"; -			}; - -			bldo3 { -				/* unused */ -			}; - -			bldo4 { -				/* unused */ -			}; - -			cldo1 { -				regulator-min-microvolt = <2500000>; -				regulator-max-microvolt = <2500000>; -				regulator-name = "vcc2v5"; -			}; - -			cldo2 { -				/* unused */ -			}; - -			cldo3 { -				/* unused */ -			}; - -			reg_dcdca: dcdca { -				regulator-always-on; -				regulator-min-microvolt = <810000>; -				regulator-max-microvolt = <1100000>; -				regulator-name = "vdd-cpu"; -			}; - -			reg_dcdcc: dcdcc { -				regulator-always-on; -				regulator-min-microvolt = <810000>; -				regulator-max-microvolt = <990000>; -				regulator-name = "vdd-gpu-sys"; -			}; - -			reg_dcdcd: dcdcd { -				regulator-always-on; -				regulator-min-microvolt = <1360000>; -				regulator-max-microvolt = <1360000>; -				regulator-name = "vdd-dram"; -			}; - -			reg_dcdce: dcdce { -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc-eth-mmc"; -			}; - -			sw { -				/* unused */ -			}; -		}; -	}; -}; - -&uart0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&uart0_ph_pins>; -	status = "okay"; -}; - -&usbotg { -	dr_mode = "host";	/* USB A type receptable */ -	status = "okay"; -}; - -&usbphy { -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h616.dtsi b/arch/arm/dts/sun50i-h616.dtsi deleted file mode 100644 index 921d5f61d8d..00000000000 --- a/arch/arm/dts/sun50i-h616.dtsi +++ /dev/null @@ -1,930 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -// Copyright (C) 2020 Arm Ltd. -// based on the H6 dtsi, which is: -//   Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> - -#include <dt-bindings/interrupt-controller/arm-gic.h> -#include <dt-bindings/clock/sun50i-h616-ccu.h> -#include <dt-bindings/clock/sun50i-h6-r-ccu.h> -#include <dt-bindings/clock/sun6i-rtc.h> -#include <dt-bindings/reset/sun50i-h616-ccu.h> -#include <dt-bindings/reset/sun50i-h6-r-ccu.h> -#include <dt-bindings/thermal/thermal.h> - -/ { -	interrupt-parent = <&gic>; -	#address-cells = <2>; -	#size-cells = <2>; - -	cpus { -		#address-cells = <1>; -		#size-cells = <0>; - -		cpu0: cpu@0 { -			compatible = "arm,cortex-a53"; -			device_type = "cpu"; -			reg = <0>; -			enable-method = "psci"; -			clocks = <&ccu CLK_CPUX>; -			#cooling-cells = <2>; -		}; - -		cpu1: cpu@1 { -			compatible = "arm,cortex-a53"; -			device_type = "cpu"; -			reg = <1>; -			enable-method = "psci"; -			clocks = <&ccu CLK_CPUX>; -			#cooling-cells = <2>; -		}; - -		cpu2: cpu@2 { -			compatible = "arm,cortex-a53"; -			device_type = "cpu"; -			reg = <2>; -			enable-method = "psci"; -			clocks = <&ccu CLK_CPUX>; -			#cooling-cells = <2>; -		}; - -		cpu3: cpu@3 { -			compatible = "arm,cortex-a53"; -			device_type = "cpu"; -			reg = <3>; -			enable-method = "psci"; -			clocks = <&ccu CLK_CPUX>; -			#cooling-cells = <2>; -		}; -	}; - -	reserved-memory { -		#address-cells = <2>; -		#size-cells = <2>; -		ranges; - -		/* -		 * 256 KiB reserved for Trusted Firmware-A (BL31). -		 * This is added by BL31 itself, but some bootloaders fail -		 * to propagate this into the DTB handed to kernels. -		 */ -		secmon@40000000 { -			reg = <0x0 0x40000000 0x0 0x40000>; -			no-map; -		}; -	}; - -	osc24M: osc24M-clk { -		#clock-cells = <0>; -		compatible = "fixed-clock"; -		clock-frequency = <24000000>; -		clock-output-names = "osc24M"; -	}; - -	pmu { -		compatible = "arm,cortex-a53-pmu"; -		interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, -			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, -			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, -			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; -		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; -	}; - -	psci { -		compatible = "arm,psci-0.2"; -		method = "smc"; -	}; - -	timer { -		compatible = "arm,armv8-timer"; -		arm,no-tick-in-suspend; -		interrupts = <GIC_PPI 13 -			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, -			     <GIC_PPI 14 -			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, -			     <GIC_PPI 11 -			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, -			     <GIC_PPI 10 -			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; -	}; - -	soc { -		compatible = "simple-bus"; -		#address-cells = <1>; -		#size-cells = <1>; -		ranges = <0x0 0x0 0x0 0x40000000>; - -		syscon: syscon@3000000 { -			compatible = "allwinner,sun50i-h616-system-control"; -			reg = <0x03000000 0x1000>; -			#address-cells = <1>; -			#size-cells = <1>; -			ranges; - -			sram_c: sram@28000 { -				compatible = "mmio-sram"; -				reg = <0x00028000 0x30000>; -				#address-cells = <1>; -				#size-cells = <1>; -				ranges = <0 0x00028000 0x30000>; -			}; -		}; - -		ccu: clock@3001000 { -			compatible = "allwinner,sun50i-h616-ccu"; -			reg = <0x03001000 0x1000>; -			clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>; -			clock-names = "hosc", "losc", "iosc"; -			#clock-cells = <1>; -			#reset-cells = <1>; -		}; - -		dma: dma-controller@3002000 { -			compatible = "allwinner,sun50i-h616-dma", -				     "allwinner,sun50i-a100-dma"; -			reg = <0x03002000 0x1000>; -			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; -			clock-names = "bus", "mbus"; -			dma-channels = <16>; -			dma-requests = <49>; -			resets = <&ccu RST_BUS_DMA>; -			#dma-cells = <1>; -		}; - -		sid: efuse@3006000 { -			compatible = "allwinner,sun50i-h616-sid", "allwinner,sun50i-a64-sid"; -			reg = <0x03006000 0x1000>; -			#address-cells = <1>; -			#size-cells = <1>; - -			ths_calibration: thermal-sensor-calibration@14 { -				reg = <0x14 0x8>; -			}; - -			cpu_speed_grade: cpu-speed-grade@0 { -				reg = <0x0 2>; -			}; -		}; - -		watchdog: watchdog@30090a0 { -			compatible = "allwinner,sun50i-h616-wdt", -				     "allwinner,sun6i-a31-wdt"; -			reg = <0x030090a0 0x20>; -			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&osc24M>; -		}; - -		pio: pinctrl@300b000 { -			compatible = "allwinner,sun50i-h616-pinctrl"; -			reg = <0x0300b000 0x400>; -			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, -				     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, -				     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, -				     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, -				     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, -				     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, -				     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, -				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc CLK_OSC32K>; -			clock-names = "apb", "hosc", "losc"; -			gpio-controller; -			#gpio-cells = <3>; -			interrupt-controller; -			#interrupt-cells = <3>; - -			ext_rgmii_pins: rgmii-pins { -				pins = "PI0", "PI1", "PI2", "PI3", "PI4", -				       "PI5", "PI7", "PI8", "PI9", "PI10", -				       "PI11", "PI12", "PI13", "PI14", "PI15", -				       "PI16"; -				function = "emac0"; -				drive-strength = <40>; -			}; - -			i2c0_pins: i2c0-pins { -				pins = "PI5", "PI6"; -				function = "i2c0"; -			}; - -			i2c3_ph_pins: i2c3-ph-pins { -				pins = "PH4", "PH5"; -				function = "i2c3"; -			}; - -			ir_rx_pin: ir-rx-pin { -				pins = "PH10"; -				function = "ir_rx"; -			}; - -			mmc0_pins: mmc0-pins { -				pins = "PF0", "PF1", "PF2", "PF3", -				       "PF4", "PF5"; -				function = "mmc0"; -				drive-strength = <30>; -				bias-pull-up; -			}; - -			/omit-if-no-ref/ -			mmc1_pins: mmc1-pins { -				pins = "PG0", "PG1", "PG2", "PG3", -				       "PG4", "PG5"; -				function = "mmc1"; -				drive-strength = <30>; -				bias-pull-up; -			}; - -			mmc2_pins: mmc2-pins { -				pins = "PC0", "PC1", "PC5", "PC6", -				       "PC8", "PC9", "PC10", "PC11", -				       "PC13", "PC14", "PC15", "PC16"; -				function = "mmc2"; -				drive-strength = <30>; -				bias-pull-up; -			}; - -			/omit-if-no-ref/ -			spi0_pins: spi0-pins { -				pins = "PC0", "PC2", "PC4"; -				function = "spi0"; -			}; - -			/omit-if-no-ref/ -			spi0_cs0_pin: spi0-cs0-pin { -				pins = "PC3"; -				function = "spi0"; -			}; - -			/omit-if-no-ref/ -			spi1_pins: spi1-pins { -				pins = "PH6", "PH7", "PH8"; -				function = "spi1"; -			}; - -			/omit-if-no-ref/ -			spi1_cs0_pin: spi1-cs0-pin { -				pins = "PH5"; -				function = "spi1"; -			}; - -			spdif_tx_pin: spdif-tx-pin { -				pins = "PH4"; -				function = "spdif"; -			}; - -			uart0_ph_pins: uart0-ph-pins { -				pins = "PH0", "PH1"; -				function = "uart0"; -			}; - -			/omit-if-no-ref/ -			uart1_pins: uart1-pins { -				pins = "PG6", "PG7"; -				function = "uart1"; -			}; - -			/omit-if-no-ref/ -			uart1_rts_cts_pins: uart1-rts-cts-pins { -				pins = "PG8", "PG9"; -				function = "uart1"; -			}; - -			/omit-if-no-ref/ -			x32clk_fanout_pin: x32clk-fanout-pin { -				pins = "PG10"; -				function = "clock"; -			}; -		}; - -		gic: interrupt-controller@3021000 { -			compatible = "arm,gic-400"; -			reg = <0x03021000 0x1000>, -			      <0x03022000 0x2000>, -			      <0x03024000 0x2000>, -			      <0x03026000 0x2000>; -			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; -			interrupt-controller; -			#interrupt-cells = <3>; -		}; - -		mmc0: mmc@4020000 { -			compatible = "allwinner,sun50i-h616-mmc", -				     "allwinner,sun50i-a100-mmc"; -			reg = <0x04020000 0x1000>; -			clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; -			clock-names = "ahb", "mmc"; -			resets = <&ccu RST_BUS_MMC0>; -			reset-names = "ahb"; -			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; -			pinctrl-names = "default"; -			pinctrl-0 = <&mmc0_pins>; -			status = "disabled"; -			max-frequency = <150000000>; -			cap-sd-highspeed; -			cap-mmc-highspeed; -			mmc-ddr-3_3v; -			cap-sdio-irq; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		mmc1: mmc@4021000 { -			compatible = "allwinner,sun50i-h616-mmc", -				     "allwinner,sun50i-a100-mmc"; -			reg = <0x04021000 0x1000>; -			clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; -			clock-names = "ahb", "mmc"; -			resets = <&ccu RST_BUS_MMC1>; -			reset-names = "ahb"; -			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; -			pinctrl-names = "default"; -			pinctrl-0 = <&mmc1_pins>; -			status = "disabled"; -			max-frequency = <150000000>; -			cap-sd-highspeed; -			cap-mmc-highspeed; -			mmc-ddr-3_3v; -			cap-sdio-irq; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		mmc2: mmc@4022000 { -			compatible = "allwinner,sun50i-h616-emmc", -				     "allwinner,sun50i-a100-emmc"; -			reg = <0x04022000 0x1000>; -			clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; -			clock-names = "ahb", "mmc"; -			resets = <&ccu RST_BUS_MMC2>; -			reset-names = "ahb"; -			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; -			pinctrl-names = "default"; -			pinctrl-0 = <&mmc2_pins>; -			status = "disabled"; -			max-frequency = <150000000>; -			cap-sd-highspeed; -			cap-mmc-highspeed; -			mmc-ddr-3_3v; -			cap-sdio-irq; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		uart0: serial@5000000 { -			compatible = "snps,dw-apb-uart"; -			reg = <0x05000000 0x400>; -			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; -			reg-shift = <2>; -			reg-io-width = <4>; -			clocks = <&ccu CLK_BUS_UART0>; -			dmas = <&dma 14>, <&dma 14>; -			dma-names = "tx", "rx"; -			resets = <&ccu RST_BUS_UART0>; -			status = "disabled"; -		}; - -		uart1: serial@5000400 { -			compatible = "snps,dw-apb-uart"; -			reg = <0x05000400 0x400>; -			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; -			reg-shift = <2>; -			reg-io-width = <4>; -			clocks = <&ccu CLK_BUS_UART1>; -			dmas = <&dma 15>, <&dma 15>; -			dma-names = "tx", "rx"; -			resets = <&ccu RST_BUS_UART1>; -			status = "disabled"; -		}; - -		uart2: serial@5000800 { -			compatible = "snps,dw-apb-uart"; -			reg = <0x05000800 0x400>; -			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; -			reg-shift = <2>; -			reg-io-width = <4>; -			clocks = <&ccu CLK_BUS_UART2>; -			dmas = <&dma 16>, <&dma 16>; -			dma-names = "tx", "rx"; -			resets = <&ccu RST_BUS_UART2>; -			status = "disabled"; -		}; - -		uart3: serial@5000c00 { -			compatible = "snps,dw-apb-uart"; -			reg = <0x05000c00 0x400>; -			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; -			reg-shift = <2>; -			reg-io-width = <4>; -			clocks = <&ccu CLK_BUS_UART3>; -			dmas = <&dma 17>, <&dma 17>; -			dma-names = "tx", "rx"; -			resets = <&ccu RST_BUS_UART3>; -			status = "disabled"; -		}; - -		uart4: serial@5001000 { -			compatible = "snps,dw-apb-uart"; -			reg = <0x05001000 0x400>; -			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; -			reg-shift = <2>; -			reg-io-width = <4>; -			clocks = <&ccu CLK_BUS_UART4>; -			dmas = <&dma 18>, <&dma 18>; -			dma-names = "tx", "rx"; -			resets = <&ccu RST_BUS_UART4>; -			status = "disabled"; -		}; - -		uart5: serial@5001400 { -			compatible = "snps,dw-apb-uart"; -			reg = <0x05001400 0x400>; -			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; -			reg-shift = <2>; -			reg-io-width = <4>; -			clocks = <&ccu CLK_BUS_UART5>; -			dmas = <&dma 19>, <&dma 19>; -			dma-names = "tx", "rx"; -			resets = <&ccu RST_BUS_UART5>; -			status = "disabled"; -		}; - -		i2c0: i2c@5002000 { -			compatible = "allwinner,sun50i-h616-i2c", -				     "allwinner,sun8i-v536-i2c", -				     "allwinner,sun6i-a31-i2c"; -			reg = <0x05002000 0x400>; -			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_I2C0>; -			dmas = <&dma 43>, <&dma 43>; -			dma-names = "rx", "tx"; -			resets = <&ccu RST_BUS_I2C0>; -			pinctrl-names = "default"; -			pinctrl-0 = <&i2c0_pins>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		i2c1: i2c@5002400 { -			compatible = "allwinner,sun50i-h616-i2c", -				     "allwinner,sun8i-v536-i2c", -				     "allwinner,sun6i-a31-i2c"; -			reg = <0x05002400 0x400>; -			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_I2C1>; -			dmas = <&dma 44>, <&dma 44>; -			dma-names = "rx", "tx"; -			resets = <&ccu RST_BUS_I2C1>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		i2c2: i2c@5002800 { -			compatible = "allwinner,sun50i-h616-i2c", -				     "allwinner,sun8i-v536-i2c", -				     "allwinner,sun6i-a31-i2c"; -			reg = <0x05002800 0x400>; -			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_I2C2>; -			dmas = <&dma 45>, <&dma 45>; -			dma-names = "rx", "tx"; -			resets = <&ccu RST_BUS_I2C2>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		i2c3: i2c@5002c00 { -			compatible = "allwinner,sun50i-h616-i2c", -				     "allwinner,sun8i-v536-i2c", -				     "allwinner,sun6i-a31-i2c"; -			reg = <0x05002c00 0x400>; -			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_I2C3>; -			dmas = <&dma 46>, <&dma 46>; -			dma-names = "rx", "tx"; -			resets = <&ccu RST_BUS_I2C3>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		i2c4: i2c@5003000 { -			compatible = "allwinner,sun50i-h616-i2c", -				     "allwinner,sun8i-v536-i2c", -				     "allwinner,sun6i-a31-i2c"; -			reg = <0x05003000 0x400>; -			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_I2C4>; -			dmas = <&dma 47>, <&dma 47>; -			dma-names = "rx", "tx"; -			resets = <&ccu RST_BUS_I2C4>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		spi0: spi@5010000 { -			compatible = "allwinner,sun50i-h616-spi", -				     "allwinner,sun8i-h3-spi"; -			reg = <0x05010000 0x1000>; -			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; -			clock-names = "ahb", "mod"; -			dmas = <&dma 22>, <&dma 22>; -			dma-names = "rx", "tx"; -			resets = <&ccu RST_BUS_SPI0>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		spi1: spi@5011000 { -			compatible = "allwinner,sun50i-h616-spi", -				     "allwinner,sun8i-h3-spi"; -			reg = <0x05011000 0x1000>; -			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; -			clock-names = "ahb", "mod"; -			dmas = <&dma 23>, <&dma 23>; -			dma-names = "rx", "tx"; -			resets = <&ccu RST_BUS_SPI1>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		emac0: ethernet@5020000 { -			compatible = "allwinner,sun50i-h616-emac0", -				     "allwinner,sun50i-a64-emac"; -			reg = <0x05020000 0x10000>; -			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; -			interrupt-names = "macirq"; -			clocks = <&ccu CLK_BUS_EMAC0>; -			clock-names = "stmmaceth"; -			resets = <&ccu RST_BUS_EMAC0>; -			reset-names = "stmmaceth"; -			syscon = <&syscon>; -			status = "disabled"; - -			mdio0: mdio { -				compatible = "snps,dwmac-mdio"; -				#address-cells = <1>; -				#size-cells = <0>; -			}; -		}; - -		spdif: spdif@5093000 { -			compatible = "allwinner,sun50i-h616-spdif"; -			reg = <0x05093000 0x400>; -			interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; -			clock-names = "apb", "spdif"; -			resets = <&ccu RST_BUS_SPDIF>; -			dmas = <&dma 2>; -			dma-names = "tx"; -			pinctrl-names = "default"; -			pinctrl-0 = <&spdif_tx_pin>; -			#sound-dai-cells = <0>; -			status = "disabled"; -		}; - -		ths: thermal-sensor@5070400 { -			compatible = "allwinner,sun50i-h616-ths"; -			reg = <0x05070400 0x400>; -			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_THS>; -			clock-names = "bus"; -			resets = <&ccu RST_BUS_THS>; -			nvmem-cells = <&ths_calibration>; -			nvmem-cell-names = "calibration"; -			allwinner,sram = <&syscon>; -			#thermal-sensor-cells = <1>; -		}; - -		usbotg: usb@5100000 { -			compatible = "allwinner,sun50i-h616-musb", -				     "allwinner,sun8i-h3-musb"; -			reg = <0x05100000 0x0400>; -			clocks = <&ccu CLK_BUS_OTG>; -			resets = <&ccu RST_BUS_OTG>; -			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; -			interrupt-names = "mc"; -			phys = <&usbphy 0>; -			phy-names = "usb"; -			extcon = <&usbphy 0>; -			status = "disabled"; -		}; - -		usbphy: phy@5100400 { -			compatible = "allwinner,sun50i-h616-usb-phy"; -			reg = <0x05100400 0x24>, -			      <0x05101800 0x14>, -			      <0x05200800 0x14>, -			      <0x05310800 0x14>, -			      <0x05311800 0x14>; -			reg-names = "phy_ctrl", -				    "pmu0", -				    "pmu1", -				    "pmu2", -				    "pmu3"; -			clocks = <&ccu CLK_USB_PHY0>, -				 <&ccu CLK_USB_PHY1>, -				 <&ccu CLK_USB_PHY2>, -				 <&ccu CLK_USB_PHY3>, -				 <&ccu CLK_BUS_EHCI2>; -			clock-names = "usb0_phy", -				      "usb1_phy", -				      "usb2_phy", -				      "usb3_phy", -				      "pmu2_clk"; -			resets = <&ccu RST_USB_PHY0>, -				 <&ccu RST_USB_PHY1>, -				 <&ccu RST_USB_PHY2>, -				 <&ccu RST_USB_PHY3>; -			reset-names = "usb0_reset", -				      "usb1_reset", -				      "usb2_reset", -				      "usb3_reset"; -			status = "disabled"; -			#phy-cells = <1>; -		}; - -		ehci0: usb@5101000 { -			compatible = "allwinner,sun50i-h616-ehci", -				     "generic-ehci"; -			reg = <0x05101000 0x100>; -			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI0>, -				 <&ccu CLK_BUS_EHCI0>, -				 <&ccu CLK_USB_OHCI0>; -			resets = <&ccu RST_BUS_OHCI0>, -				 <&ccu RST_BUS_EHCI0>; -			phys = <&usbphy 0>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		ohci0: usb@5101400 { -			compatible = "allwinner,sun50i-h616-ohci", -				     "generic-ohci"; -			reg = <0x05101400 0x100>; -			interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI0>, -				 <&ccu CLK_USB_OHCI0>; -			resets = <&ccu RST_BUS_OHCI0>; -			phys = <&usbphy 0>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		ehci1: usb@5200000 { -			compatible = "allwinner,sun50i-h616-ehci", -				     "generic-ehci"; -			reg = <0x05200000 0x100>; -			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI1>, -				 <&ccu CLK_BUS_EHCI1>, -				 <&ccu CLK_USB_OHCI1>; -			resets = <&ccu RST_BUS_OHCI1>, -				 <&ccu RST_BUS_EHCI1>; -			phys = <&usbphy 1>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		ohci1: usb@5200400 { -			compatible = "allwinner,sun50i-h616-ohci", -				     "generic-ohci"; -			reg = <0x05200400 0x100>; -			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI1>, -				 <&ccu CLK_USB_OHCI1>; -			resets = <&ccu RST_BUS_OHCI1>; -			phys = <&usbphy 1>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		ehci2: usb@5310000 { -			compatible = "allwinner,sun50i-h616-ehci", -				     "generic-ehci"; -			reg = <0x05310000 0x100>; -			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI2>, -				 <&ccu CLK_BUS_EHCI2>, -				 <&ccu CLK_USB_OHCI2>; -			resets = <&ccu RST_BUS_OHCI2>, -				 <&ccu RST_BUS_EHCI2>; -			phys = <&usbphy 2>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		ohci2: usb@5310400 { -			compatible = "allwinner,sun50i-h616-ohci", -				     "generic-ohci"; -			reg = <0x05310400 0x100>; -			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI2>, -				 <&ccu CLK_USB_OHCI2>; -			resets = <&ccu RST_BUS_OHCI2>; -			phys = <&usbphy 2>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		ehci3: usb@5311000 { -			compatible = "allwinner,sun50i-h616-ehci", -				     "generic-ehci"; -			reg = <0x05311000 0x100>; -			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI3>, -				 <&ccu CLK_BUS_EHCI3>, -				 <&ccu CLK_USB_OHCI3>; -			resets = <&ccu RST_BUS_OHCI3>, -				 <&ccu RST_BUS_EHCI3>; -			phys = <&usbphy 3>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		ohci3: usb@5311400 { -			compatible = "allwinner,sun50i-h616-ohci", -				     "generic-ohci"; -			reg = <0x05311400 0x100>; -			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&ccu CLK_BUS_OHCI3>, -				 <&ccu CLK_USB_OHCI3>; -			resets = <&ccu RST_BUS_OHCI3>; -			phys = <&usbphy 3>; -			phy-names = "usb"; -			status = "disabled"; -		}; - -		rtc: rtc@7000000 { -			compatible = "allwinner,sun50i-h616-rtc"; -			reg = <0x07000000 0x400>; -			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&r_ccu CLK_R_APB1_RTC>, <&osc24M>, -				 <&ccu CLK_PLL_SYSTEM_32K>; -			clock-names = "bus", "hosc", -				      "pll-32k"; -			#clock-cells = <1>; -		}; - -		r_ccu: clock@7010000 { -			compatible = "allwinner,sun50i-h616-r-ccu"; -			reg = <0x07010000 0x210>; -			clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>, -				 <&ccu CLK_PLL_PERIPH0>; -			clock-names = "hosc", "losc", "iosc", "pll-periph"; -			#clock-cells = <1>; -			#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>; -			clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, -				 <&rtc CLK_OSC32K>; -			clock-names = "apb", "hosc", "losc"; -			gpio-controller; -			#gpio-cells = <3>; - -			/omit-if-no-ref/ -			r_i2c_pins: r-i2c-pins { -				pins = "PL0", "PL1"; -				function = "s_i2c"; -			}; - -			r_rsb_pins: r-rsb-pins { -				pins = "PL0", "PL1"; -				function = "s_rsb"; -			}; -		}; - -		ir: ir@7040000 { -			compatible = "allwinner,sun50i-h616-ir", -				     "allwinner,sun6i-a31-ir"; -			reg = <0x07040000 0x400>; -			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&r_ccu CLK_R_APB1_IR>, -				 <&r_ccu CLK_IR>; -			clock-names = "apb", "ir"; -			resets = <&r_ccu RST_R_APB1_IR>; -			pinctrl-names = "default"; -			pinctrl-0 = <&ir_rx_pin>; -			status = "disabled"; -		}; - -		r_i2c: i2c@7081400 { -			compatible = "allwinner,sun50i-h616-i2c", -				     "allwinner,sun8i-v536-i2c", -				     "allwinner,sun6i-a31-i2c"; -			reg = <0x07081400 0x400>; -			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&r_ccu CLK_R_APB2_I2C>; -			dmas = <&dma 48>, <&dma 48>; -			dma-names = "rx", "tx"; -			resets = <&r_ccu RST_R_APB2_I2C>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; - -		r_rsb: rsb@7083000 { -			compatible = "allwinner,sun50i-h616-rsb", -				     "allwinner,sun8i-a23-rsb"; -			reg = <0x07083000 0x400>; -			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; -			clocks = <&r_ccu CLK_R_APB2_RSB>; -			clock-frequency = <3000000>; -			resets = <&r_ccu RST_R_APB2_RSB>; -			pinctrl-names = "default"; -			pinctrl-0 = <&r_rsb_pins>; -			status = "disabled"; -			#address-cells = <1>; -			#size-cells = <0>; -		}; -	}; - -	thermal-zones { -		cpu-thermal { -			polling-delay-passive = <500>; -			polling-delay = <1000>; -			thermal-sensors = <&ths 2>; -			sustainable-power = <1000>; - -			trips { -				cpu_threshold: cpu-trip-0 { -					temperature = <60000>; -					type = "passive"; -					hysteresis = <0>; -				}; -				cpu_target: cpu-trip-1 { -					temperature = <70000>; -					type = "passive"; -					hysteresis = <0>; -				}; -				cpu_critical: cpu-trip-2 { -					temperature = <110000>; -					type = "critical"; -					hysteresis = <0>; -				}; -			}; -		}; - -		gpu-thermal { -			polling-delay-passive = <500>; -			polling-delay = <1000>; -			thermal-sensors = <&ths 0>; -			sustainable-power = <1100>; - -			trips { -				gpu_temp_critical: gpu-trip-0 { -					temperature = <110000>; -					type = "critical"; -					hysteresis = <0>; -				}; -			}; -		}; - -		ve-thermal { -			polling-delay-passive = <0>; -			polling-delay = <0>; -			thermal-sensors = <&ths 1>; - -			trips { -				ve_temp_critical: ve-trip-0 { -					temperature = <110000>; -					type = "critical"; -					hysteresis = <0>; -				}; -			}; -		}; - -		ddr-thermal { -			polling-delay-passive = <0>; -			polling-delay = <0>; -			thermal-sensors = <&ths 3>; - -			trips { -				ddr_temp_critical: ddr-trip-0 { -					temperature = <110000>; -					type = "critical"; -					hysteresis = <0>; -				}; -			}; -		}; -	}; -}; diff --git a/arch/arm/dts/sun50i-h618-longan-module-3h.dtsi b/arch/arm/dts/sun50i-h618-longan-module-3h.dtsi deleted file mode 100644 index e92d150aaf1..00000000000 --- a/arch/arm/dts/sun50i-h618-longan-module-3h.dtsi +++ /dev/null @@ -1,80 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) Jisheng Zhang <jszhang@kernel.org> - */ - -#include "sun50i-h616.dtsi" -#include "sun50i-h616-cpu-opp.dtsi" - -&cpu0 { -	cpu-supply = <®_dcdc2>; -}; - -&mmc2 { -	pinctrl-names = "default"; -	pinctrl-0 = <&mmc2_pins>; -	vmmc-supply = <®_dldo1>; -	vqmmc-supply = <®_aldo1>; -	bus-width = <8>; -	non-removable; -	cap-mmc-hw-reset; -	mmc-ddr-1_8v; -	mmc-hs200-1_8v; -	status = "okay"; -}; - -&r_i2c { -	status = "okay"; - -	axp313: pmic@36 { -		compatible = "x-powers,axp313a"; -		reg = <0x36>; -		#interrupt-cells = <1>; -		interrupt-controller; - -		regulators { -			reg_aldo1: aldo1 { -				regulator-always-on; -				regulator-min-microvolt = <1800000>; -				regulator-max-microvolt = <1800000>; -				regulator-name = "vcc-1v8-pll"; -			}; - -			reg_dldo1: dldo1 { -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc-3v3-io"; -			}; - -			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 = <1100000>; -				regulator-name = "vdd-cpu"; -			}; - -			reg_dcdc3: dcdc3 { -				regulator-always-on; -				regulator-min-microvolt = <1100000>; -				regulator-max-microvolt = <1100000>; -				regulator-name = "vdd-dram"; -			}; -		}; -	}; -}; - -&pio { -	vcc-pc-supply = <®_dldo1>; -	vcc-pf-supply = <®_dldo1>; -	vcc-pg-supply = <®_aldo1>; -	vcc-ph-supply = <®_dldo1>; -	vcc-pi-supply = <®_dldo1>; -}; diff --git a/arch/arm/dts/sun50i-h618-longanpi-3h.dts b/arch/arm/dts/sun50i-h618-longanpi-3h.dts deleted file mode 100644 index 18b29c6b867..00000000000 --- a/arch/arm/dts/sun50i-h618-longanpi-3h.dts +++ /dev/null @@ -1,144 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) Jisheng Zhang <jszhang@kernel.org> - */ - -/dts-v1/; - -#include "sun50i-h618-longan-module-3h.dtsi" - -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/interrupt-controller/arm-gic.h> -#include <dt-bindings/leds/common.h> - -/ { -	model = "Sipeed Longan Pi 3H"; -	compatible = "sipeed,longan-pi-3h", "sipeed,longan-module-3h", "allwinner,sun50i-h618"; - -	aliases { -		ethernet0 = &emac0; -		serial0 = &uart0; -	}; - -	chosen { -		stdout-path = "serial0:115200n8"; -	}; - -	leds { -		compatible = "gpio-leds"; - -		led-0 { -			color = <LED_COLOR_ID_ORANGE>; -			function = LED_FUNCTION_INDICATOR; -			function-enumerator = <0>; -			gpios = <&pio 6 2 GPIO_ACTIVE_LOW>; /* PG2 */ -		}; - -		led-1 { -			color = <LED_COLOR_ID_ORANGE>; -			function = LED_FUNCTION_INDICATOR; -			function-enumerator = <1>; -			gpios = <&pio 6 4 GPIO_ACTIVE_LOW>; /* PG4 */ -		}; -	}; - -	reg_vcc5v: regulator-vcc5v { -		/* board wide 5V supply directly from the USB-C socket */ -		compatible = "regulator-fixed"; -		regulator-name = "vcc-5v"; -		regulator-min-microvolt = <5000000>; -		regulator-max-microvolt = <5000000>; -		regulator-always-on; -	}; - -	reg_vcc3v3: regulator-vcc3v3 { -		compatible = "regulator-fixed"; -		regulator-name = "vcc-3v3"; -		regulator-min-microvolt = <3300000>; -		regulator-max-microvolt = <3300000>; -		regulator-always-on; -		vin-supply = <®_vcc5v>; -	}; -}; - -&axp313 { -	vin1-supply = <®_vcc5v>; -	vin2-supply = <®_vcc5v>; -	vin3-supply = <®_vcc5v>; -}; - -&ehci1 { -	status = "okay"; -}; - -&ohci1 { -	status = "okay"; -}; - -&ehci2 { -	status = "okay"; -}; - -&ohci2 { -	status = "okay"; -}; - -/* WiFi & BT combo module is connected to this Host */ -&ehci3 { -	status = "okay"; -}; - -&ohci3 { -	status = "okay"; -}; - -&emac0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&ext_rgmii_pins>; -	phy-mode = "rgmii"; -	phy-handle = <&ext_rgmii_phy>; -	allwinner,rx-delay-ps = <3100>; -	allwinner,tx-delay-ps = <700>; -	phy-supply = <®_vcc3v3>; -	status = "okay"; -}; - -&mdio0 { -	ext_rgmii_phy: ethernet-phy@1 { -		compatible = "ethernet-phy-ieee802.3-c22"; -		reg = <1>; -	}; -}; - -&mmc0 { -	bus-width = <4>; -	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;	/* PF6 */ -	vmmc-supply = <®_vcc3v3>; -	status = "okay"; -}; - -&uart0 { -	status = "okay"; -}; - -&usbotg { -	/* -	 * PHY0 pins are connected to a USB-C socket, but a role switch -	 * is not implemented: both CC pins are pulled to GND. -	 * The VBUS pins power the device, so a fixed peripheral mode -	 * is the best choice. -	 * The board can be powered via GPIOs, in this case port0 *can* -	 * act as a host (with a cable/adapter ignoring CC), as VBUS is -	 * then provided by the GPIOs. Any user of this setup would -	 * need to adjust the DT accordingly: dr_mode set to "host", -	 * enabling OHCI0 and EHCI0. -	 */ -	dr_mode = "peripheral"; -	status = "okay"; -}; - -&usbphy { -	usb1_vbus-supply = <®_vcc5v>; -	usb2_vbus-supply = <®_vcc5v>; -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h618-orangepi-zero2w.dts b/arch/arm/dts/sun50i-h618-orangepi-zero2w.dts deleted file mode 100644 index 6a4f0da9723..00000000000 --- a/arch/arm/dts/sun50i-h618-orangepi-zero2w.dts +++ /dev/null @@ -1,181 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2023 Arm Ltd. - */ - -/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> -#include <dt-bindings/leds/common.h> - -/ { -	model = "OrangePi Zero 2W"; -	compatible = "xunlong,orangepi-zero2w", "allwinner,sun50i-h618"; - -	aliases { -		serial0 = &uart0; -	}; - -	chosen { -		stdout-path = "serial0:115200n8"; -	}; - -	leds { -		compatible = "gpio-leds"; - -		led-0 { -			function = LED_FUNCTION_STATUS; -			color = <LED_COLOR_ID_GREEN>; -			gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */ -		}; -	}; - -	reg_vcc5v: vcc5v { -		/* board wide 5V supply directly from the USB-C socket */ -		compatible = "regulator-fixed"; -		regulator-name = "vcc-5v"; -		regulator-min-microvolt = <5000000>; -		regulator-max-microvolt = <5000000>; -		regulator-always-on; -	}; - -	reg_vcc3v3: vcc3v3 { -		/* SY8089 DC/DC converter */ -		compatible = "regulator-fixed"; -		regulator-name = "vcc-3v3"; -		regulator-min-microvolt = <3300000>; -		regulator-max-microvolt = <3300000>; -		vin-supply = <®_vcc5v>; -		regulator-always-on; -	}; -}; - -&cpu0 { -	cpu-supply = <®_dcdc2>; -}; - -&ehci1 { -	status = "okay"; -}; - -/* USB 2 & 3 are on the FPC connector (or the exansion board) */ - -&mmc0 { -	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */ -	bus-width = <4>; -	vmmc-supply = <®_vcc3v3>; -	status = "okay"; -}; - -&ohci1 { -	status = "okay"; -}; - -&pio { -	vcc-pc-supply = <®_dldo1>; -	vcc-pf-supply = <®_dldo1>;	/* internally via VCC-IO */ -	vcc-pg-supply = <®_aldo1>; -	vcc-ph-supply = <®_dldo1>;	/* internally via VCC-IO */ -	vcc-pi-supply = <®_dldo1>; -}; - -&r_i2c { -	status = "okay"; - -	axp313: pmic@36 { -		compatible = "x-powers,axp313a"; -		reg = <0x36>; -		#interrupt-cells = <1>; -		interrupt-controller; -		interrupt-parent = <&pio>; -		interrupts = <2 9 IRQ_TYPE_LEVEL_LOW>;	/* PC9 */ - -		vin1-supply = <®_vcc5v>; -		vin2-supply = <®_vcc5v>; -		vin3-supply = <®_vcc5v>; - -		regulators { -			/* Supplies VCC-PLL and DRAM */ -			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 = <1100000>; -				regulator-name = "vdd-cpu"; -			}; - -			reg_dcdc3: dcdc3 { -				regulator-always-on; -				regulator-min-microvolt = <1100000>; -				regulator-max-microvolt = <1100000>; -				regulator-name = "vdd-dram"; -			}; -		}; -	}; -}; - -&spi0  { -	status = "okay"; -	pinctrl-names = "default"; -	pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>; - -	flash@0 { -		#address-cells = <1>; -		#size-cells = <1>; -		compatible = "jedec,spi-nor"; -		reg = <0>; -		spi-max-frequency = <40000000>; -	}; -}; - -&uart0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&uart0_ph_pins>; -	status = "okay"; -}; - -&usbotg { -	/* -	 * PHY0 pins are connected to a USB-C socket, but a role switch -	 * is not implemented: both CC pins are pulled to GND. -	 * The VBUS pins power the device, so a fixed peripheral mode -	 * is the best choice. -	 * The board can be powered via GPIOs, in this case port0 *can* -	 * act as a host (with a cable/adapter ignoring CC), as VBUS is -	 * then provided by the GPIOs. Any user of this setup would -	 * need to adjust the DT accordingly: dr_mode set to "host", -	 * enabling OHCI0 and EHCI0. -	 */ -	dr_mode = "peripheral"; -	status = "okay"; -}; - -&usbphy { -	usb1_vbus-supply = <®_vcc5v>; -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h618-orangepi-zero3.dts b/arch/arm/dts/sun50i-h618-orangepi-zero3.dts deleted file mode 100644 index e1cd7572a14..00000000000 --- a/arch/arm/dts/sun50i-h618-orangepi-zero3.dts +++ /dev/null @@ -1,101 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2023 Arm Ltd. - */ - -/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 = <®_dcdc2>; -}; - -&emac0 { -	allwinner,tx-delay-ps = <700>; -	phy-mode = "rgmii-rxid"; -	phy-supply = <®_dldo1>; -}; - -&ext_rgmii_phy { -	motorcomm,clk-out-frequency-hz = <125000000>; -}; - -&mmc0 { -	/* -	 * The schematic shows the card detect pin wired up to PF6, via an -	 * inverter, but it just doesn't work. -	 */ -	broken-cd; -	vmmc-supply = <®_dldo1>; -}; - -&r_i2c { -	status = "okay"; - -	axp313: pmic@36 { -		compatible = "x-powers,axp313a"; -		reg = <0x36>; -		#interrupt-cells = <1>; -		interrupt-controller; -		interrupt-parent = <&pio>; -		interrupts = <2 9 IRQ_TYPE_LEVEL_LOW>;	/* PC9 */ - -		vin1-supply = <®_vcc5v>; -		vin2-supply = <®_vcc5v>; -		vin3-supply = <®_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 = <1100000>; -				regulator-name = "vdd-cpu"; -			}; - -			reg_dcdc3: dcdc3 { -				regulator-always-on; -				regulator-min-microvolt = <1100000>; -				regulator-max-microvolt = <1100000>; -				regulator-name = "vdd-dram"; -			}; -		}; -	}; -}; - -&pio { -	vcc-pc-supply = <®_dldo1>; -	vcc-pf-supply = <®_dldo1>; -	vcc-pg-supply = <®_aldo1>; -	vcc-ph-supply = <®_dldo1>; -	vcc-pi-supply = <®_dldo1>; -}; diff --git a/arch/arm/dts/sun50i-h618-transpeed-8k618-t.dts b/arch/arm/dts/sun50i-h618-transpeed-8k618-t.dts deleted file mode 100644 index d6631bfe629..00000000000 --- a/arch/arm/dts/sun50i-h618-transpeed-8k618-t.dts +++ /dev/null @@ -1,189 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Copyright (C) 2023 Arm Ltd. - */ - -/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> - -/ { -	model = "Transpeed 8K618-T"; -	compatible = "transpeed,8k618-t", "allwinner,sun50i-h618"; - -	aliases { -		ethernet1 = &sdio_wifi; -		serial0 = &uart0; -	}; - -	chosen { -		stdout-path = "serial0:115200n8"; -	}; - -	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; -	}; - -	reg_vcc3v3: vcc3v3 { -		/* discrete 3.3V regulator */ -		compatible = "regulator-fixed"; -		regulator-name = "vcc-3v3"; -		regulator-min-microvolt = <3300000>; -		regulator-max-microvolt = <3300000>; -		regulator-always-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 */ -	}; -}; - -&cpu0 { -	cpu-supply = <®_dcdc2>; -}; - -&ehci0 { -	status = "okay"; -}; - -&ehci1 { -	status = "okay"; -}; - -&ir { -	status = "okay"; -}; - -&mmc0 { -	vmmc-supply = <®_dldo1>; -	cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>;	/* PI16 */ -	bus-width = <4>; -	status = "okay"; -}; - -&mmc1 { -	vmmc-supply = <®_dldo1>; -	vqmmc-supply = <®_aldo1>; -	mmc-pwrseq = <&wifi_pwrseq>; -	bus-width = <4>; -	non-removable; -	status = "okay"; - -	sdio_wifi: wifi@1 { -		reg = <1>; -	}; -}; - -&mmc2 { -	vmmc-supply = <®_dldo1>; -	vqmmc-supply = <®_aldo1>; -	bus-width = <8>; -	non-removable; -	cap-mmc-hw-reset; -	mmc-ddr-1_8v; -	mmc-hs200-1_8v; -	status = "okay"; -}; - -&ohci0 { -	status = "okay"; -}; - -&ohci1 { -	status = "okay"; -}; - -&r_i2c { -	status = "okay"; - -	axp313: pmic@36 { -		compatible = "x-powers,axp313a"; -		reg = <0x36>; -		#interrupt-cells = <1>; -		interrupt-controller; - -		vin1-supply = <®_vcc5v>; -		vin2-supply = <®_vcc5v>; -		vin3-supply = <®_vcc5v>; - -		regulators { -			reg_aldo1: aldo1 { -				regulator-always-on; -				regulator-min-microvolt = <1800000>; -				regulator-max-microvolt = <1800000>; -				regulator-name = "vcc-1v8-pll"; -			}; - -			reg_dldo1: dldo1 { -				regulator-always-on; -				regulator-min-microvolt = <3300000>; -				regulator-max-microvolt = <3300000>; -				regulator-name = "vcc-3v3-io-mmc"; -			}; - -			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 = <1100000>; -				regulator-name = "vdd-cpu"; -			}; - -			reg_dcdc3: dcdc3 { -				regulator-always-on; -				regulator-min-microvolt = <1360000>; -				regulator-max-microvolt = <1360000>; -				regulator-name = "vdd-dram"; -			}; -		}; -	}; -}; - -&pio { -	vcc-pc-supply = <®_aldo1>; -	vcc-pg-supply = <®_dldo1>; -	vcc-ph-supply = <®_dldo1>; -	vcc-pi-supply = <®_dldo1>; -}; - -&uart0 { -	pinctrl-names = "default"; -	pinctrl-0 = <&uart0_ph_pins>; -	status = "okay"; -}; - -&uart1 { -	pinctrl-names = "default"; -	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; -	uart-has-rtscts; -	status = "okay"; -}; - -&usbotg { -	dr_mode = "host";	/* USB A type receptable */ -	status = "okay"; -}; - -&usbphy { -	status = "okay"; -}; diff --git a/arch/arm/dts/sun50i-h700-anbernic-rg35xx-2024.dts b/arch/arm/dts/sun50i-h700-anbernic-rg35xx-2024.dts deleted file mode 100644 index ee30584b6ad..00000000000 --- a/arch/arm/dts/sun50i-h700-anbernic-rg35xx-2024.dts +++ /dev/null @@ -1,327 +0,0 @@ -// 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 = <®_dcdc1>; -}; - -&ehci0 { -	status = "okay"; -}; - -&mmc0 { -	vmmc-supply = <®_cldo3>; -	disable-wp; -	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;  /* PF6 */ -	bus-width = <4>; -	status = "okay"; -}; - -&ohci0 { -	status = "okay"; -}; - -&pio { -	vcc-pa-supply = <®_cldo3>; -	vcc-pc-supply = <®_cldo3>; -	vcc-pe-supply = <®_cldo3>; -	vcc-pf-supply = <®_cldo3>; -	vcc-pg-supply = <®_aldo4>; -	vcc-ph-supply = <®_cldo3>; -	vcc-pi-supply = <®_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 = <®_vcc5v>; -		vin2-supply = <®_vcc5v>; -		vin3-supply = <®_vcc5v>; -		vin4-supply = <®_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 deleted file mode 100644 index 63036256917..00000000000 --- a/arch/arm/dts/sun50i-h700-anbernic-rg35xx-h.dts +++ /dev/null @@ -1,36 +0,0 @@ -// 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 deleted file mode 100644 index 60a8e492210..00000000000 --- a/arch/arm/dts/sun50i-h700-anbernic-rg35xx-plus.dts +++ /dev/null @@ -1,53 +0,0 @@ -// 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 = <®_cldo4>; -	vqmmc-supply = <®_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 */ -	}; -}; diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index 17666814c52..227d5e7f31b 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -437,6 +437,7 @@ config MACH_SUN50I_H616  	select ARM64  	select DRAM_SUN50I_H616  	select SUN50I_GEN_H6 +	imply OF_UPSTREAM  endchoice | 
