[d-kernel] [PATCH 3/3] arm64: dts: rockchip: Add Thin_88RK-1A Board support

Daniil Gnusarev gnusarevda на basealt.ru
Пн Окт 13 10:18:01 MSK 2025


Add device tree for the Thin_88RK-1A Board, powered by the Rockchip
RK3588 SoC.
The currently supported peripherals in the kernel are described:
- Debug console
- USB, on external connectors and on additional board pins
- SATA connectors powered by the board
- SSD in M.2 M-key slot 1
- NVME in M.2 M-key slot 0
- RTC (tested without battery, but the clock is still running)
- HDMI0 (no sound)
- Gigabit Ethernet
- Analog audio
- PCIe x4 slot
- GPU

Signed-off-by: Daniil Gnusarev <gnusarevda на basealt.ru>
---
 arch/arm64/boot/dts/Makefile                  |    1 +
 arch/arm64/boot/dts/edelweiss/Makefile        |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-000.dts |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-001.dts |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-010.dts |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-011.dts |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-100.dts |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-101.dts |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-110.dts |    9 +
 .../dts/edelweiss/rk3588-thin_88rk-1a-111.dts |    9 +
 .../edelweiss/rk3588-thin_88rk-1a-common.dtsi | 1332 +++++++++++++++++
 11 files changed, 1414 insertions(+)
 create mode 100644 arch/arm64/boot/dts/edelweiss/Makefile
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-000.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-001.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-010.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-011.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-100.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-101.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-110.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-111.dts
 create mode 100644 arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-common.dtsi

diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 21cd3a87f38530..611932f3b4ce55 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -12,6 +12,7 @@ subdir-y += arm
 subdir-y += bitmain
 subdir-y += broadcom
 subdir-y += cavium
+subdir-y += edelweiss
 subdir-y += exynos
 subdir-y += freescale
 subdir-y += hisilicon
diff --git a/arch/arm64/boot/dts/edelweiss/Makefile b/arch/arm64/boot/dts/edelweiss/Makefile
new file mode 100644
index 00000000000000..fcd9dcdf1eae75
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-000.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-001.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-010.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-011.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-100.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-101.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-110.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-thin_88rk-1a-111.dtb
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-000.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-000.dts
new file mode 100644
index 00000000000000..dab32722b32cf1
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-000.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA
+#define THIN_88RK_PCIE3_1x4
+#define THIN_88RK_LDVS
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-001.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-001.dts
new file mode 100644
index 00000000000000..639e302323db72
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-001.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA_M2
+#define THIN_88RK_PCIE3_1x4
+#define THIN_88RK_LDVS
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-010.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-010.dts
new file mode 100644
index 00000000000000..2221572f97d017
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-010.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA
+#define THIN_88RK_PCIE3_1x4
+#define THIN_88RK_DP
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-011.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-011.dts
new file mode 100644
index 00000000000000..87f02db1f8f2c2
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-011.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA_M2
+#define THIN_88RK_PCIE3_1x4
+#define THIN_88RK_DP
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-100.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-100.dts
new file mode 100644
index 00000000000000..07d151120646bd
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-100.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA
+#define THIN_88RK_PCIE3_2x2
+#define THIN_88RK_LDVS
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-101.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-101.dts
new file mode 100644
index 00000000000000..012d919d613215
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-101.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA_M2
+#define THIN_88RK_PCIE3_2x2
+#define THIN_88RK_LDVS
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-110.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-110.dts
new file mode 100644
index 00000000000000..9d7a37d3a14a41
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-110.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA
+#define THIN_88RK_PCIE3_2x2
+#define THIN_88RK_DP
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-111.dts b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-111.dts
new file mode 100644
index 00000000000000..203cf1cb99b555
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-111.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#define THIN_88RK_SATA_M2
+#define THIN_88RK_PCIE3_2x2
+#define THIN_88RK_DP
+
+#include "rk3588-thin_88rk-1a-common.dtsi"
diff --git a/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-common.dtsi b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-common.dtsi
new file mode 100644
index 00000000000000..c34f31de6f2e78
--- /dev/null
+++ b/arch/arm64/boot/dts/edelweiss/rk3588-thin_88rk-1a-common.dtsi
@@ -0,0 +1,1332 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pwm/pwm.h>
+#include "../rockchip/rk3588.dtsi"
+
+/ {
+	model = "Edelweiss Thin-88rk-1a board";
+	compatible = "edelweiss,thin-88rk-1a", "rockchip,rk3588";
+
+	dummy_supply: dummy-supply {
+		compatible = "regulator-fixed";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-name = "dummy_supply";
+	};
+
+	vcc19v_dcin: regulator-vcc19v-dcin {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc19v_dcin";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-max-microvolt = <19000000>;
+		regulator-min-microvolt = <19000000>;
+	};
+
+	vcc12v0_sys: vcc12v0-sys {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc12v0_sys";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-max-microvolt = <12000000>;
+		regulator-min-microvolt = <12000000>;
+		vin-supply = <&vcc19v_dcin>;
+	};
+
+	vcc5v0_sys: regulator-vcc5v0-sys {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc5v0_sys";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		vin-supply = <&vcc19v_dcin>;
+	};
+
+	vcc3v3_sys: regulator-vcc3v3-sys {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3_sys";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-max-microvolt = <3300000>;
+		regulator-min-microvolt = <3300000>;
+		vin-supply = <&vcc19v_dcin>;
+	};
+
+	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_1v1_nldo_s3";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <1100000>;
+		regulator-max-microvolt = <1100000>;
+		vin-supply = <&vcc5v0_sys>;
+	};
+
+	vcc_5v0_usb_internal: vcc-5v0-usb-internal {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_5v0_usb_internal";
+		enable-active-high;
+		gpio = <&gpio2 0x03 0x00>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&vcc_5v0_usb_internal_en>;
+		regulator-max-microvolt = <5000000>;
+		regulator-min-microvolt = <5000000>;
+		vin-supply = <&vcc5v0_sys>;
+	};
+
+	vcc5v0-hdmi0 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc5v0_hdmi0";
+		enable-active-high;
+		gpio = <&pca9535_20 0x04 0x00>;
+		interrupt-parent = <&pca9535_20>;
+		interrupts = <0x05 0x02>;
+		regulator-always-on;
+		regulator-max-microvolt = <5000000>;
+		regulator-min-microvolt = <5000000>;
+		vin-supply = <&vcc5v0_sys>;
+	};
+
+	vcc5v0-hdmi1 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc5v0_hdmi1";
+		enable-active-high;
+		gpio = <&pca9535_20 0x06 0x00>;
+		interrupt-parent = <&pca9535_20>;
+		interrupts = <0x07 0x02>;
+		regulator-always-on;
+		regulator-max-microvolt = <5000000>;
+		regulator-min-microvolt = <5000000>;
+		vin-supply = <&vcc5v0_sys>;
+	};
+
+	hdmi0-con {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi0_con_in: endpoint {
+				remote-endpoint = <&hdmi0_out_con>;
+			};
+		};
+	};
+
+	vcc_12v0_pcie3x4: regulator-vcc-12v0-pcie3x4 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_12v0_pcie3x4";
+		interrupt-parent = <&pca9535_23>;
+		interrupts = <0x01 0x02>;
+		regulator-min-microvolt = <12000000>;
+		regulator-max-microvolt = <12000000>;
+		vin-supply = <&vcc12v0_sys>;
+	};
+
+	vcc_3v3_pcie3x4: regulator-vcc-3v3-pcie3x4 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_3v3_pcie3x4";
+		enable-active-high;
+		gpio = <&pca9535_20 0x0e 0x00>;
+		interrupt-parent = <&pca9535_23>;
+		interrupts = <0x00 0x02>;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc3v3_sys>;
+	};
+
+	vcc_3v3_pcie3x2_m2: regulator-vcc-3v3-pcie3x2-m2 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_3v3_pcie3x2_m2";
+		enable-active-high;
+		gpio = <&pca9535_23 0x08 0x00>;
+		interrupt-parent = <&pca9535_23>;
+		interrupts = <0x09 0x02>;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc3v3_sys>;
+	};
+
+	vcc_3v3_pcie2x1: regulator-vcc-3v3-pcie2x1 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_3v3_pcie2x1";
+		enable-active-high;
+		gpio = <&pca9535_20 0x0c 0x00>;
+		interrupt-parent = <&pca9535_20>;
+		interrupts = <0x0d 0x02>;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc3v3_sys>;
+	};
+
+	vcc_12v0_sata: regulator-vcc-12v0-sata {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_12v0_sata";
+		enable-active-high;
+		gpio = <&pca9535_23 0x02 0x00>;
+		interrupt-parent = <&pca9535_23>;
+		interrupts = <0x03 0x02>;
+		regulator-min-microvolt = <12000000>;
+		regulator-max-microvolt = <12000000>;
+		vin-supply = <&vcc12v0_sys>;
+	};
+
+	vcc_5v0_sata: regulator-vcc-5v0-sata {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_5v0_sata";
+		enable-active-high;
+		gpio = <&pca9535_23 0x02 0x00>;
+		interrupt-parent = <&pca9535_23>;
+		interrupts = <0x04 0x02>;
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		vin-supply = <&vcc5v0_sys>;
+	};
+
+	vcc_3v3_sata: regulator-vcc-3v3-sata {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_3v3_sata";
+		enable-active-high;
+		gpio = <&pca9535_23 0x02 0x00>;
+		interrupt-parent = <&pca9535_23>;
+		interrupts = <0x05 0x02>;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc3v3_sys>;
+	};
+
+	vcc_3v3_sata_m2: regulator-vcc-3v3-sata-m2 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_3v3_sata_m2";
+		enable-active-high;
+		gpio = <&pca9535_23 0x0a 0x00>;
+		interrupt-parent = <&pca9535_23>;
+		interrupts = <0x0b 0x02>;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc3v3_sys>;
+	};
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "RK3588 audio";
+		simple-audio-card,bitclock-master = <&masterdai>;
+		simple-audio-card,format = "i2s";
+		simple-audio-card,frame-master = <&masterdai>;
+		simple-audio-card,mclk-fs = <256>;
+		simple-audio-card,pin-switches = "Headphones", "Speaker";
+		simple-audio-card,widgets =
+			"Headphones", "Headphones",
+			"Speaker", "Speaker",
+			"Microphone", "Internal Microphone",
+			"Microphone", "Headset Microphone";
+		simple-audio-card,routing =
+			"Headphones", "LHP",
+			"Headphones", "RHP",
+			"Speaker", "LSPK",
+			"Speaker", "RSPK",
+			"LMICP", "Headset Microphone",
+			"RMICP", "Internal Microphone";
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s0_8ch>;
+		};
+
+		masterdai: simple-audio-card,codec {
+			sound-dai = <&nau8822>;
+		};
+	};
+
+	fan_cpu: pwm-fan-cpu {
+		compatible = "pwm-fan";
+		cooling-levels = <0 50 100 150 200 255>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>;
+		pulses-per-revolution = <2>;
+		fan-supply = <&vcc12v0_sys>;
+		pwms = <&pwm0 0 50000 PWM_POLARITY_INVERTED>;
+		#cooling-cells = <2>;
+	};
+
+	fan_sys: pwm-fan-sys {
+		compatible = "pwm-fan";
+		cooling-levels = <0 50 100 150 200 255>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <RK_PA7 IRQ_TYPE_EDGE_FALLING>;
+		pulses-per-revolution = <2>;
+		fan-supply = <&vcc12v0_sys>;
+		pwms = <&pwm14 0 50000 PWM_POLARITY_INVERTED>;
+		#cooling-cells = <2>;
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		led_hdd {
+			linux,default-trigger = "disk-activity";
+			gpios = <&pca9535_20 0 GPIO_ACTIVE_HIGH>;
+			label = "led_hdd";
+		};
+
+		pwr_led {
+			linux,default-trigger = "default-on";
+			gpios = <&pca9535_20 1 GPIO_ACTIVE_HIGH>;
+			label = "led_pwr";
+		};
+	};
+
+	rockchip-suspend {
+		compatible = "rockchip,pm-rk3588";
+		rockchip,sleep-debug-en = <0x01>;
+		rockchip,sleep-mode-config = <0x04>;
+		rockchip,wakeup-config = <0x1901>;
+		status = "okay";
+	};
+};
+
+&uart2 {
+	pinctrl-0 = <&uart2m0_xfer>;
+	status = "okay";
+};
+
+&usb_host0_ehci {
+	status = "okay";
+};
+
+&usb_host0_ohci {
+	status = "okay";
+};
+
+&usb_host1_ehci {
+	status = "okay";
+};
+
+&usb_host1_ohci {
+	status = "okay";
+};
+
+&u2phy2 {
+	status = "okay";
+};
+
+&u2phy2_host {
+	status = "okay";
+};
+
+&u2phy3 {
+	status = "okay";
+};
+
+&u2phy3_host {
+	status = "okay";
+};
+
+&usb_host0_xhci {
+	dr_mode = "host";
+	status = "okay";
+};
+
+&usb_host1_xhci {
+	dr_mode = "host";
+	status = "okay";
+};
+
+&u2phy0 {
+	status = "okay";
+};
+
+&u2phy0_otg {
+	phy-supply = <&vcc_5v0_usb_internal>;
+	status = "okay";
+};
+
+&usbdp_phy0 {
+	status = "okay";
+};
+
+&u2phy1 {
+	status = "okay";
+};
+
+&u2phy1_otg {
+	status = "okay";
+};
+
+&usbdp_phy1 {
+	status = "okay";
+};
+
+&pinctrl {
+	pcfg_pull_none_drv_level_1_smt: pcfg-pull-none-drv-level-1-smt {
+		bias-disable;
+		drive-strength = <1>;
+		input-schmitt-enable;
+	};
+
+	pcfg_pull_none_drv_level_5_smt: pcfg-pull-none-drv-level-5-smt {
+		bias-disable;
+		drive-strength = <5>;
+		input-schmitt-enable;
+	};
+
+	rtl8211f {
+		rtl8211f_rst: rtl8211f-rst {
+			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+
+	};
+
+	i2c-expander {
+
+		expander_int: expander-int {
+			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
+	vcc5v0_usb_internal_enable {
+		vcc_5v0_usb_internal_en: vcc-5v0-usb-internal-en {
+			rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
+	hdmi {
+		hdmim2_tx0_scl: hdmim2-tx0-scl {
+			rockchip,pins = <3 RK_PC7 5 &pcfg_pull_none_drv_level_5_smt>;
+		};
+
+		hdmim2_tx0_sda: hdmim2-tx0-sda {
+			rockchip,pins = <3 RK_PD0 5 &pcfg_pull_none_drv_level_1_smt>;
+		};
+
+		hdmim1_tx1_scl: hdmim1-tx1-scl {
+			rockchip,pins = <3 RK_PC6 5 &pcfg_pull_none_drv_level_5_smt>;
+		};
+
+		hdmim1_tx1_sda: hdmim1-tx1-sda {
+			rockchip,pins = <3 RK_PC5 5 &pcfg_pull_none_drv_level_1_smt>;
+		};
+	};
+
+	lvds-bridge {
+		lvds_bridge_control: lvds-bridge-control {
+			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>,
+					<4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+
+	};
+
+	pcie30x4 {
+		pcie30x4m3_pins: pcie30x4m3-pins {
+			rockchip,pins = <1 RK_PB0 4 &pcfg_pull_none>,
+					<1 RK_PB2 0 &pcfg_pull_up>,
+					<1 RK_PB1 4 &pcfg_pull_none>,
+					<0 RK_PA4 0 &pcfg_pull_up>;
+		};
+	};
+
+	pcie30x2 {
+		pcie30x2m3_pins: pcie30x2m3-pins {
+			rockchip,pins = <1 RK_PD7 4 &pcfg_pull_none>,
+					<1 RK_PB7 0 &pcfg_pull_up>,
+					<1 RK_PB6 4 &pcfg_pull_none>;
+		};
+
+	};
+
+	pcie20x1 {
+		pcie20x1m1_pins: pcie20x1m1-pins {
+			rockchip,pins = <4 RK_PB7 4 &pcfg_pull_none>,
+					<4 RK_PC1 4 &pcfg_pull_none>,
+					<4 RK_PC0 4 &pcfg_pull_none>;
+		};
+	};
+
+	rtc {
+		rtc_int: rtc-int {
+			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
+
+&mdio0 {
+	rgmii_phy0: ethernet-phy на 0 {
+		compatible = "ethernet-phy-id001c.c916";
+		reg = <0x00>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&rtl8211f_rst>;
+		reset-assert-us = <20000>;
+		reset-deassert-us = <100000>;
+		reset-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_LOW>;
+
+		leds {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			led на 0 {
+				reg = <0>;
+				color = <LED_COLOR_ID_GREEN>;
+				function = LED_FUNCTION_LAN;
+				trigger-sources = <&mdio0>;
+				linux,default-trigger = "netdev";
+			};
+
+			led на 1 {
+				reg = <1>;
+				color = <LED_COLOR_ID_YELLOW>;
+				function = LED_FUNCTION_LAN;
+				trigger-sources = <&mdio0>;
+				linux,default-trigger = "netdev";
+			};
+		};
+	};
+};
+
+&gmac0 {
+	clock_in_out = "output";
+	phy-handle = <&rgmii_phy0>;
+	phy-mode = "rgmii-rxid";
+	pinctrl-names = "default";
+	pinctrl-0 = <&gmac0_miim
+		     &gmac0_tx_bus2
+		     &gmac0_rx_bus2
+		     &gmac0_rgmii_clk
+		     &gmac0_rgmii_bus>;
+	rx_delay = <0x00>;
+	tx_delay = <0x43>;
+	status = "okay";
+};
+
+&vop {
+	status = "okay";
+};
+
+&vop_mmu {
+	status = "okay";
+};
+
+&vp0 {
+	vp0_out_hdmi0: endpoint на ROCKCHIP_VOP2_EP_HDMI0 {
+		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
+		remote-endpoint = <&hdmi0_in_vp0>;
+	};
+};
+
+&hdmi0 {
+	pinctrl-0 = <&hdmim0_tx0_hpd &hdmim2_tx0_scl &hdmim2_tx0_sda>;
+	status = "okay";
+};
+
+&hdmi0_in {
+	hdmi0_in_vp0: endpoint {
+		remote-endpoint = <&vp0_out_hdmi0>;
+	};
+};
+
+&hdmi0_out {
+	hdmi0_out_con: endpoint {
+		remote-endpoint = <&hdmi0_con_in>;
+	};
+};
+
+&hdptxphy_hdmi0 {
+	status = "okay";
+};
+
+&spi2 {
+	assigned-clocks = <&cru CLK_SPI2>;
+	assigned-clock-rates = <200000000>;
+	num-cs = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
+	status = "okay";
+
+	pmic на 0 {
+		compatible = "rockchip,rk806";
+		reg = <0x0>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-names = "wakeup";
+		interrupt-parent = <&gpio0>;
+		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&pmic_pins>,
+			    <&rk806_dvs1_null>,
+			    <&rk806_dvs2_null>,
+			    <&rk806_dvs3_null>;
+
+		spi-max-frequency = <1000000>;
+		system-power-controller;
+
+		vcc1-supply = <&vcc5v0_sys>;
+		vcc2-supply = <&vcc5v0_sys>;
+		vcc3-supply = <&vcc5v0_sys>;
+		vcc4-supply = <&vcc5v0_sys>;
+		vcc5-supply = <&vcc5v0_sys>;
+		vcc6-supply = <&vcc5v0_sys>;
+		vcc7-supply = <&vcc5v0_sys>;
+		vcc8-supply = <&vcc5v0_sys>;
+		vcc9-supply = <&vcc5v0_sys>;
+		vcc10-supply = <&vcc5v0_sys>;
+		vcc11-supply = <&vcc_2v0_pldo_s3>;
+		vcc12-supply = <&vcc5v0_sys>;
+		vcc13-supply = <&vcc_1v1_nldo_s3>;
+		vcc14-supply = <&vcc_1v1_nldo_s3>;
+		vcca-supply = <&vcc5v0_sys>;
+		wakeup-source;
+
+		rk806_dvs1_null: dvs1-null-pins {
+			pins = "gpio_pwrctrl1";
+			function = "pin_fun0";
+		};
+
+		rk806_dvs2_null: dvs2-null-pins {
+			pins = "gpio_pwrctrl2";
+			function = "pin_fun0";
+		};
+
+		rk806_dvs3_null: dvs3-null-pins {
+			pins = "gpio_pwrctrl3";
+			function = "pin_fun0";
+		};
+
+		pwrkey {
+			status = "okay";
+		};
+
+		regulators {
+			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
+				regulator-name = "vdd_gpu_s0";
+				regulator-boot-on;
+				regulator-enable-ramp-delay = <400>;
+				regulator-min-microvolt = <550000>;
+				regulator-max-microvolt = <950000>;
+				regulator-ramp-delay = <12500>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
+				regulator-name = "vdd_cpu_lit_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <550000>;
+				regulator-max-microvolt = <950000>;
+				regulator-ramp-delay = <12500>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vdd_log_s0: dcdc-reg3 {
+				regulator-name = "vdd_log_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <675000>;
+				regulator-max-microvolt = <750000>;
+				regulator-ramp-delay = <12500>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <750000>;
+				};
+			};
+
+			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
+				regulator-name = "vdd_vdenc_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <550000>;
+				regulator-max-microvolt = <950000>;
+				regulator-ramp-delay = <12500>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vdd_ddr_s0: dcdc-reg5 {
+				regulator-name = "vdd_ddr_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <675000>;
+				regulator-max-microvolt = <900000>;
+				regulator-ramp-delay = <12500>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+					regulator-suspend-microvolt = <850000>;
+				};
+			};
+
+			vdd2_ddr_s3: dcdc-reg6 {
+				regulator-name = "vdd2_ddr_s3";
+				regulator-always-on;
+				regulator-boot-on;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+				};
+			};
+
+			vcc_2v0_pldo_s3: dcdc-reg7 {
+				regulator-name = "vdd_2v0_pldo_s3";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <2000000>;
+				regulator-max-microvolt = <2000000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <2000000>;
+				};
+			};
+
+			vcc_3v3_s3: dcdc-reg8 {
+				regulator-name = "vcc_3v3_s3";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3300000>;
+				};
+			};
+
+			vddq_ddr_s0: dcdc-reg9 {
+				regulator-name = "vddq_ddr_s0";
+				regulator-always-on;
+				regulator-boot-on;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vcc_1v8_s3: dcdc-reg10 {
+				regulator-name = "vcc_1v8_s3";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			avcc_1v8_s0: pldo-reg1 {
+				regulator-name = "avcc_1v8_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vcc_1v8_s0: pldo-reg2 {
+				regulator-name = "vcc_1v8_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			avdd_1v2_s0: pldo-reg3 {
+				regulator-name = "avdd_1v2_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vcc_3v3_s0: pldo-reg4 {
+				regulator-name = "vcc_3v3_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3300000>;
+				};
+			};
+
+			vccio_sd_s0: pldo-reg5 {
+				regulator-name = "vccio_sd_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			pldo6_s3: pldo-reg6 {
+				regulator-name = "pldo6_s3";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vdd_0v75_s3: nldo-reg1 {
+				regulator-name = "vdd_0v75_s3";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <750000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <750000>;
+				};
+			};
+
+			vdd_ddr_pll_s0: nldo-reg2 {
+				regulator-name = "vdd_ddr_pll_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <850000>;
+				regulator-max-microvolt = <850000>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <850000>;
+				};
+			};
+
+			avdd_0v75_s0: nldo-reg3 {
+				regulator-name = "avdd_0v75_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <837500>;
+				regulator-max-microvolt = <837500>;
+
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <837500>;
+				};
+			};
+
+			vdd_0v85_s0: nldo-reg4 {
+				regulator-name = "vdd_0v85_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <850000>;
+				regulator-max-microvolt = <850000>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vdd_0v75_s0: nldo-reg5 {
+				regulator-name = "vdd_0v75_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <750000>;
+
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+		};
+	};
+};
+
+&pcie30phy {
+#if defined(THIN_88RK_PCIE3_1x4)
+	data-lanes = <1 1 1 1>;
+#endif
+#if defined(THIN_88RK_PCIE3_2x2)
+	data-lanes = <1 1 2 2>;
+#endif
+	status = "okay";
+};
+
+&pcie3x4 {
+#if defined(THIN_88RK_PCIE3_1x4)
+	num-lanes = <4>;
+#endif
+#if defined(THIN_88RK_PCIE3_2x2)
+	num-lanes = <2>;
+#endif
+	pinctrl-names = "default";
+	pinctrl-0 = <&pcie30x4m3_pins>;
+	reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
+	vpcie12v0-supply = <&vcc_12v0_pcie3x4>;
+	vpcie3v3-supply = <&vcc_3v3_pcie3x4>;
+	status = "okay";
+};
+
+&pcie3x2 {
+#if defined(THIN_88RK_PCIE3_1x4)
+	status = "disabled";
+#endif
+#if defined(THIN_88RK_PCIE3_2x2)
+	num-lanes = <2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pcie30x2m3_pins>;
+	reset-gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_HIGH>;
+	vpcie3v3-supply = <&vcc_3v3_pcie3x2_m2>;
+	status = "okay";
+#endif
+};
+
+&combphy2_psu {
+	status = "okay";
+};
+
+&pcie2x1l1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pcie20x1m1_pins>;
+	reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;
+	vpcie3v3-supply = <&vcc_3v3_pcie2x1>;
+	status = "okay";
+};
+
+&combphy0_ps {
+	status = "okay";
+};
+
+&sata0 {
+	pinctrl-0 = <&sata0m0_pins>;
+	pinctrl-names = "default";
+	ahci-supply = <&dummy_supply>;
+	phy-supply = <&dummy_supply>;
+	status = "okay";
+
+	sata-port на 0 {
+#if defined(THIN_88RK_SATA)
+		target-supply = <&vcc_12v0_sata>, <&vcc_5v0_sata>, <&vcc_3v3_sata>;
+#endif
+#if defined(THIN_88RK_SATA_M2)
+		target-supply = <&vcc_3v3_sata_m2>;
+#endif
+	};
+};
+
+&combphy1_ps {
+	status = "okay";
+};
+
+&sata1 {
+	pinctrl-0 = <&sata1m0_pins>;
+	pinctrl-names = "default";
+	ahci-supply = <&dummy_supply>;
+	phy-supply = <&dummy_supply>;
+	status = "okay";
+
+	sata-port на 0 {
+		target-supply = <&vcc_12v0_sata>, <&vcc_5v0_sata>, <&vcc_3v3_sata>;
+	};
+};
+
+&i2s5_8ch {
+	status = "okay";
+};
+
+&i2s0_8ch {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2s0_lrck
+		     &i2s0_sclk
+		     &i2s0_sdi0
+		     &i2s0_sdo0>;
+	status = "okay";
+};
+
+&i2s6_8ch {
+	status = "okay";
+};
+
+&i2s7_8ch {
+	status = "okay";
+};
+
+&i2c0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c0m2_xfer>;
+	status = "okay";
+
+	vdd_cpu_big0_s0: regulator на 42 {
+		compatible = "rockchip,rk8602";
+		reg = <0x42>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-name = "vdd_cpu_big0_s0";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <550000>;
+		regulator-max-microvolt = <1050000>;
+		regulator-ramp-delay = <2300>;
+		vin-supply = <&vcc5v0_sys>;
+
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+
+	vdd_cpu_big1_s0: regulator на 43 {
+		compatible = "rockchip,rk8603", "rockchip,rk8602";
+		reg = <0x43>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-name = "vdd_cpu_big1_s0";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <550000>;
+		regulator-max-microvolt = <1050000>;
+		regulator-ramp-delay = <2300>;
+		vin-supply = <&vcc5v0_sys>;
+
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+};
+
+&cpu_b0 {
+	cpu-supply = <&vdd_cpu_big0_s0>;
+};
+
+&cpu_b1 {
+	cpu-supply = <&vdd_cpu_big0_s0>;
+};
+
+&cpu_b2 {
+	cpu-supply = <&vdd_cpu_big1_s0>;
+};
+
+&cpu_b3 {
+	cpu-supply = <&vdd_cpu_big1_s0>;
+};
+
+&cpu_l0 {
+	cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l1 {
+	cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l2 {
+	cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l3 {
+	cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&i2c1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c1m2_xfer>;
+	status = "okay";
+
+	i2c-mux на 70 {
+		compatible = "nxp,pca9540";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		i2c-mux-idle-disconnect;
+		reg = <0x70>;
+		status = "okay";
+
+		i2c на 0 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <0>;
+		};
+
+		i2c на 1 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <1>;
+		};
+	};
+};
+
+&i2c2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c2m0_xfer>;
+	status = "okay";
+
+	vdd_npu_s0: regulator на 42 {
+		compatible = "rockchip,rk8602";
+		reg = <0x42>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-name = "vdd_npu_s0";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <550000>;
+		regulator-max-microvolt = <950000>;
+		regulator-ramp-delay = <2300>;
+		vin-supply = <&vcc5v0_sys>;
+
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+};
+
+&i2c3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c3m0_xfer>;
+	status = "okay";
+
+	eeprom: eeprom на 51 {
+		compatible = "atmel,24c32";
+		reg = <0x51>;
+		pagesize = <32>;
+	};
+
+	nau8822: audio-codec на 1a {
+		compatible = "nuvoton,nau8822";
+		reg = <0x1a>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&i2s0_mclk>;
+		clocks = <&cru I2S0_8CH_MCLKOUT>;
+		clock-names = "mclk";
+		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
+		assigned-clock-rates = <12288000>;
+		#sound-dai-cells = <0>;
+	};
+
+	rtc на 32 {
+		compatible = "epson,rx8111";
+		reg = <0x32>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&rtc_int>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
+	};
+};
+
+
+&i2c4 {
+	pinctrl-0 = <&i2c4m2_xfer>;
+	status = "okay";
+
+	pca9535_20: pca9535 на 20 {
+		#address-cells = <0x01>;
+		#gpio-cells = <0x02>;
+		#interrupt-cells = <0x02>;
+		#size-cells = <0x00>;
+		compatible = "nxp,pca9535";
+		gpio-controller;
+		gpio-line-names = "LED_HDD",
+				  "PWR_LED",
+				  "EN_DP",
+				  "OC#_DP",
+				  "EN_HDMI0",
+				  "OC#_HDMI0",
+				  "EN_HDMI1",
+				  "OC#_HDMI1",
+				  "SATA1_DVSLP",
+				  "FRU_WP#",
+				  "RS1_HiSd",
+				  "RS2_HiSd",
+				  "EN_M2_E",
+				  "OC#_M2_E",
+				  "EN_PCIe",
+				  "OC#_3V3AUX_PCIe";
+		interrupt-controller;
+		interrupt-parent = <&gpio1>;
+		interrupts = <0x14 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-0 = <&expander_int>;
+		pinctrl-names = "default";
+		reg = <0x20>;
+		vcc-supply = <&vcc3v3_sys>;
+
+		fru_wp {
+			gpio-hog;
+			gpios = <0x09 0x00>;
+			output-high;
+		};
+
+		rs1_hisd {
+			gpio-hog;
+			gpios = <0x0a 0x00>;
+			output-high;
+		};
+
+		rs2_hisd {
+			gpio-hog;
+			gpios = <0x0b 0x00>;
+			output-high;
+		};
+	};
+
+	pca9535_23: pca9535 на 23 {
+		#address-cells = <0x01>;
+		#gpio-cells = <0x02>;
+		#interrupt-cells = <0x02>;
+		#size-cells = <0x00>;
+		compatible = "nxp,pca9535";
+		gpio-controller;
+		gpio-line-names = "OC#_3V3_PCIE",
+				  "OC#_12V_PCIe",
+				  "EN_SATA",
+				  "OC#_12V_SATA",
+				  "OC#_5V_SATA",
+				  "OC#_3V3_SATA",
+				  "EN_12V_LCD",
+				  "OC#_12V_LCD",
+				  "EN_M2_M0",
+				  "OC#_M2_M0",
+				  "EN_M2_M1",
+				  "OC#_M2_M1",
+				  "PCIe_MUX0_CTRL",
+				  "VIDEO_MUX_CTRL",
+				  "EN_3V3AUX_PCIe",
+				  "SATA_MUX_CTRL";
+		interrupt-controller;
+		interrupt-parent = <&gpio1>;
+		interrupts = <0x14 IRQ_TYPE_LEVEL_LOW>;
+		reg = <0x23>;
+		vcc-supply = <&vcc3v3_sys>;
+
+#if defined(THIN_88RK_SATA_M2)
+		sata_m2 {
+			gpio-hog;
+			gpios = <0x0f 0x00>;
+			output-high;
+		};
+#else
+		sata0 {
+			gpio-hog;
+			gpios = <0x0f 0x00>;
+			output-low;
+		};
+#endif
+	};
+};
+
+&i2c5 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c5m2_xfer>;
+	interrupts-extended = <&gic GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>,
+			      <&gpio1 RK_PB3 IRQ_TYPE_LEVEL_LOW 0>;
+	status = "okay";
+};
+
+&i2c6 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c6m0_xfer>;
+	status = "okay";
+
+	battery: smart-battery на b {
+		compatible = "sbs,sbs-battery";
+		reg = <0xb>;
+		sbs,i2c-retry-count = <2>;
+		sbs,poll-retry-count = <10>;
+	};
+};
+
+&i2c8 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c8m0_xfer>;
+	status = "okay";
+};
+
+&saradc {
+	vref-supply = <&avcc_1v8_s0>;
+	status = "okay";
+};
+
+&gpu {
+	mali-supply = <&vdd_gpu_s0>;
+	status = "okay";
+};
+
+&pwm0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pwm0m1_pins>;
+	status = "okay";
+};
+
+&pwm7 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pwm7m3_pins>;
+	status = "okay";
+};
+
+&pwm14 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pwm14m2_pins>;
+	status = "okay";
+};
+
+&tsadc {
+	status = "okay";
+};
+
+&package_thermal {
+	polling-delay = <1000>;
+
+	trips {
+		package_fan0: package-fan0 {
+			temperature = <35000>;
+			hysteresis = <2000>;
+			type = "active";
+		};
+
+		package_fan1: package-fan1 {
+			temperature = <55000>;
+			hysteresis = <2000>;
+			type = "active";
+		};
+
+		package_fan2: package-fan2 {
+			temperature = <65000>;
+			hysteresis = <2000>;
+			type = "active";
+		};
+	};
+
+	cooling-maps {
+		map0 {
+			trip = <&package_fan0>;
+			cooling-device = <&fan_cpu 0 3>;
+		};
+
+		map1 {
+			trip = <&package_fan1>;
+			cooling-device = <&fan_cpu 4 4>;
+		};
+
+		map2 {
+			trip = <&package_fan2>;
+			cooling-device = <&fan_cpu 5 THERMAL_NO_LIMIT>;
+		};
+	};
+};
-- 
2.42.2



Подробная информация о списке рассылки devel-kernel