Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'v6.16-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

New SoC the RK3562 (4xA53, Mali-G52) with one evaluation board.
New boards:
- Cobra and PP1516 from Theobroma-Systems (build around the PX30)
- Radxa Rock 5B+ (rk3588)
- Rockchip RK3399 industrial eval board
New peripherals:
- GMAC + SDMMC/SDIO on rk3528
- SAI + HDMI-audio on rk3576
Interesting general updates:
- move rk3528 i2c + uart aliases as requested
- rk3568 PCIe3 MSI to use GIC ITS
- update deprecated dwmac reset properties on some px30 boards
- updates for cypress usb hubs on some Theobroma boards
Binding taken with Greg's blessing
https://lore.kernel.org/all/2025051550-polish-prude-ed56@gregkh/

* tag 'v6.16-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (35 commits)
arm64: dts: rockchip: Improve LED config for NanoPi R5S
arm64: dts: rockchip: add px30-pp1516 base dtsi and board variants
dt-bindings: arm: rockchip: add PX30-PP1516 boards from Theobroma Systems
arm64: dts: rockchip: add px30-cobra base dtsi and board variants
dt-bindings: arm: rockchip: add PX30-Cobra boards from Theobroma Systems
arm64: dts: rockchip: move reset to dedicated eth-phy node on ringneck
arm64: dts: rockchip: add basic mdio node to px30
arm64: dts: rockchip: disable unrouted USB controllers and PHY on RK3399 Puma with Haikou
arm64: dts: rockchip: disable unrouted USB controllers and PHY on RK3399 Puma
arm64: dts: rockchip: fix internal USB hub instability on RK3399 Puma
dt-bindings: usb: cypress,hx3: Add support for all variants
arm64: dts: rockchip: move rk3528 i2c+uart aliases to board files
arm64: dts: rockchip: drop wrong spdif clock from edp1 on rk3588
arm64: dts: rockchip: Add RK3562 evb2 devicetree
arm64: dts: rockchip: add core dtsi for RK3562 SoC
dt-bindings: arm: rockchip: Add rk3562 evb2 board
dt-bindings: soc: rockchip: Add rk3562 syscon compatibles
dt-bindings: rockchip: pmu: Add rk3562 compatible
arm64: dts: rockchip: Enable Ethernet controller on Radxa E20C
arm64: dts: rockchip: Add GMAC nodes for RK3528
...

Link: https://lore.kernel.org/r/3998939.iIbC2pHGDl@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+7667 -1011
+33
Documentation/devicetree/bindings/arm/rockchip.yaml
··· 946 946 - const: radxa,rock-5b 947 947 - const: rockchip,rk3588 948 948 949 + - description: Radxa ROCK 5B+ 950 + items: 951 + - const: radxa,rock-5b-plus 952 + - const: rockchip,rk3588 953 + 949 954 - description: Radxa ROCK 5C 950 955 items: 951 956 - const: radxa,rock-5c ··· 1052 1047 - const: rockchip,rk3399-evb 1053 1048 - const: rockchip,rk3399 1054 1049 1050 + - description: Rockchip RK3399 Industry Evaluation board 1051 + items: 1052 + - const: rockchip,rk3399-evb-ind 1053 + - const: rockchip,rk3399 1054 + 1055 1055 - description: Rockchip RK3399 Sapphire standalone 1056 1056 items: 1057 1057 - const: rockchip,rk3399-sapphire ··· 1066 1056 items: 1067 1057 - const: rockchip,rk3399-sapphire-excavator 1068 1058 - const: rockchip,rk3399 1059 + 1060 + - description: Rockchip RK3562 Evaluation board 2 1061 + items: 1062 + - const: rockchip,rk3562-evb2-v10 1063 + - const: rockchip,rk3562 1069 1064 1070 1065 - description: Rockchip RK3566 BOX Evaluation Demo board 1071 1066 items: ··· 1125 1110 - enum: 1126 1111 - rockchip,rv1126 1127 1112 - rockchip,rv1109 1113 + 1114 + - description: Theobroma Systems PX30-Cobra 1115 + items: 1116 + - enum: 1117 + - tsd,px30-cobra-ltk050h3146w 1118 + - tsd,px30-cobra-ltk050h3146w-a2 1119 + - tsd,px30-cobra-ltk050h3148w 1120 + - tsd,px30-cobra-ltk500hd1829 1121 + - const: tsd,px30-cobra 1122 + - const: rockchip,px30 1123 + 1124 + - description: Theobroma Systems PX30-PP1516 1125 + items: 1126 + - enum: 1127 + - tsd,px30-pp1516-ltk050h3146w-a2 1128 + - tsd,px30-pp1516-ltk050h3148w 1129 + - const: tsd,px30-pp1516 1130 + - const: rockchip,px30 1128 1131 1129 1132 - description: Theobroma Systems PX30-uQ7 with Haikou baseboard 1130 1133 items:
+2
Documentation/devicetree/bindings/arm/rockchip/pmu.yaml
··· 25 25 - rockchip,rk3288-pmu 26 26 - rockchip,rk3368-pmu 27 27 - rockchip,rk3399-pmu 28 + - rockchip,rk3562-pmu 28 29 - rockchip,rk3568-pmu 29 30 - rockchip,rk3576-pmu 30 31 - rockchip,rk3588-pmu ··· 44 43 - rockchip,rk3288-pmu 45 44 - rockchip,rk3368-pmu 46 45 - rockchip,rk3399-pmu 46 + - rockchip,rk3562-pmu 47 47 - rockchip,rk3568-pmu 48 48 - rockchip,rk3576-pmu 49 49 - rockchip,rk3588-pmu
+7
Documentation/devicetree/bindings/soc/rockchip/grf.yaml
··· 18 18 - rockchip,rk3528-ioc-grf 19 19 - rockchip,rk3528-vo-grf 20 20 - rockchip,rk3528-vpu-grf 21 + - rockchip,rk3562-ioc-grf 22 + - rockchip,rk3562-peri-grf 23 + - rockchip,rk3562-pipephy-grf 24 + - rockchip,rk3562-pmu-grf 25 + - rockchip,rk3562-sys-grf 26 + - rockchip,rk3562-usbphy-grf 21 27 - rockchip,rk3566-pipe-grf 22 28 - rockchip,rk3568-pcie3-phy-grf 23 29 - rockchip,rk3568-pipe-grf ··· 88 82 - rockchip,rk3368-pmugrf 89 83 - rockchip,rk3399-grf 90 84 - rockchip,rk3399-pmugrf 85 + - rockchip,rk3562-pmu-grf 91 86 - rockchip,rk3568-grf 92 87 - rockchip,rk3568-pmugrf 93 88 - rockchip,rk3576-ioc-grf
+16 -3
Documentation/devicetree/bindings/usb/cypress,hx3.yaml
··· 14 14 15 15 properties: 16 16 compatible: 17 - enum: 18 - - usb4b4,6504 19 - - usb4b4,6506 17 + oneOf: 18 + - enum: 19 + - usb4b4,6504 20 + - usb4b4,6506 21 + - items: 22 + - enum: 23 + - usb4b4,6500 24 + - usb4b4,6508 25 + - const: usb4b4,6504 26 + - items: 27 + - enum: 28 + - usb4b4,6502 29 + - usb4b4,6503 30 + - usb4b4,6507 31 + - usb4b4,650a 32 + - const: usb4b4,6506 20 33 21 34 reg: true 22 35
+9
arch/arm64/boot/dts/rockchip/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 + dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-cobra-ltk050h3146w-a2.dtb 3 + dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-cobra-ltk050h3146w.dtb 4 + dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-cobra-ltk050h3148w.dtb 5 + dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-cobra-ltk500hd1829.dtb 2 6 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb 3 7 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-engicam-px30-core-ctouch2.dtb 4 8 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-engicam-px30-core-ctouch2-of10.dtb 5 9 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-engicam-px30-core-edimm2.2.dtb 6 10 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-firefly-jd4-core-mb.dtb 11 + dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-pp1516-ltk050h3146w-a2.dtb 12 + dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-pp1516-ltk050h3148w.dtb 7 13 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou.dtb 8 14 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou-lvds-9904379.dtbo 9 15 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou-video-demo.dtbo ··· 46 40 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb 47 41 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-eaidk-610.dtb 48 42 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb.dtb 43 + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb-ind.dtb 49 44 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ficus.dtb 50 45 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb 51 46 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-bob.dtb ··· 88 81 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb 89 82 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb 90 83 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-radxa-e20c.dtb 84 + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-v10.dtb 91 85 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg-arc-d.dtb 92 86 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg-arc-s.dtb 93 87 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353p.dtb ··· 173 165 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb 174 166 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-ep.dtbo 175 167 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-srns.dtbo 168 + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus.dtb 176 169 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou.dtb 177 170 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-video-demo.dtbo 178 171 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-toybrick-x0.dtb
+39
arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w-a2.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include "px30-cobra.dtsi" 8 + 9 + / { 10 + model = "Theobroma Systems Cobra with LTK050H3146W-A2 Display"; 11 + compatible = "tsd,px30-cobra-ltk050h3146w-a2", "tsd,px30-cobra", "rockchip,px30"; 12 + }; 13 + 14 + &dsi { 15 + status = "okay"; 16 + 17 + panel@0 { 18 + compatible = "leadtek,ltk050h3146w-a2"; 19 + reg = <0>; 20 + backlight = <&backlight>; 21 + iovcc-supply = <&vcc_1v8>; 22 + pinctrl-names = "default"; 23 + pinctrl-0 = <&dsp_rst>; 24 + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 25 + vci-supply = <&vcc_2v8>; 26 + 27 + port { 28 + mipi_in_panel: endpoint { 29 + remote-endpoint = <&mipi_out_panel>; 30 + }; 31 + }; 32 + }; 33 + }; 34 + 35 + &dsi_out { 36 + mipi_out_panel: endpoint { 37 + remote-endpoint = <&mipi_in_panel>; 38 + }; 39 + };
+39
arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include "px30-cobra.dtsi" 8 + 9 + / { 10 + model = "Theobroma Systems Cobra with LTK050H3146W Display"; 11 + compatible = "tsd,px30-cobra-ltk050h3146w", "tsd,px30-cobra", "rockchip,px30"; 12 + }; 13 + 14 + &dsi { 15 + status = "okay"; 16 + 17 + panel@0 { 18 + compatible = "leadtek,ltk050h3146w"; 19 + reg = <0>; 20 + backlight = <&backlight>; 21 + iovcc-supply = <&vcc_1v8>; 22 + pinctrl-names = "default"; 23 + pinctrl-0 = <&dsp_rst>; 24 + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 25 + vci-supply = <&vcc_2v8>; 26 + 27 + port { 28 + mipi_in_panel: endpoint { 29 + remote-endpoint = <&mipi_out_panel>; 30 + }; 31 + }; 32 + }; 33 + }; 34 + 35 + &dsi_out { 36 + mipi_out_panel: endpoint { 37 + remote-endpoint = <&mipi_in_panel>; 38 + }; 39 + };
+39
arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3148w.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include "px30-cobra.dtsi" 8 + 9 + / { 10 + model = "Theobroma Systems Cobra with ltk050h3148w Display"; 11 + compatible = "tsd,px30-cobra-ltk050h3148w", "tsd,px30-cobra", "rockchip,px30"; 12 + }; 13 + 14 + &dsi { 15 + status = "okay"; 16 + 17 + panel@0 { 18 + compatible = "leadtek,ltk050h3148w"; 19 + reg = <0>; 20 + backlight = <&backlight>; 21 + iovcc-supply = <&vcc_1v8>; 22 + pinctrl-names = "default"; 23 + pinctrl-0 = <&dsp_rst>; 24 + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 25 + vci-supply = <&vcc_2v8>; 26 + 27 + port { 28 + mipi_in_panel: endpoint { 29 + remote-endpoint = <&mipi_out_panel>; 30 + }; 31 + }; 32 + }; 33 + }; 34 + 35 + &dsi_out { 36 + mipi_out_panel: endpoint { 37 + remote-endpoint = <&mipi_in_panel>; 38 + }; 39 + };
+73
arch/arm64/boot/dts/rockchip/px30-cobra-ltk500hd1829.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include "px30-cobra.dtsi" 8 + 9 + / { 10 + model = "Theobroma Systems Cobra prototype with LTK500HD1829 Display"; 11 + compatible = "tsd,px30-cobra-ltk500hd1829", "tsd,px30-cobra", "rockchip,px30"; 12 + 13 + aliases { 14 + mmc1 = &sdmmc; 15 + }; 16 + }; 17 + 18 + &dsi { 19 + status = "okay"; 20 + 21 + panel@0 { 22 + compatible = "leadtek,ltk500hd1829"; 23 + reg = <0>; 24 + backlight = <&backlight>; 25 + iovcc-supply = <&vcc_1v8>; 26 + pinctrl-names = "default"; 27 + pinctrl-0 = <&dsp_rst>; 28 + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 29 + vcc-supply = <&vcc_2v8>; 30 + 31 + port { 32 + mipi_in_panel: endpoint { 33 + remote-endpoint = <&mipi_out_panel>; 34 + }; 35 + }; 36 + }; 37 + }; 38 + 39 + &dsi_out { 40 + mipi_out_panel: endpoint { 41 + remote-endpoint = <&mipi_in_panel>; 42 + }; 43 + }; 44 + 45 + &pinctrl { 46 + pinctrl-names = "default"; 47 + pinctrl-0 = <&cobra_pin_hog>, <&cobra_proto_hog>; 48 + 49 + hog { 50 + cobra_proto_hog: cobra-proto-hog { 51 + rockchip,pins = 52 + /* STUSB4500 open drain outout POWER_OK2, needs pull-up */ 53 + <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, 54 + /* STUSB4500 open drain outout POWER_OK3, needs pull-up */ 55 + <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 56 + }; 57 + }; 58 + }; 59 + 60 + &sdmmc { 61 + bus-width = <4>; 62 + broken-cd; 63 + cap-sd-highspeed; 64 + pinctrl-names = "default"; 65 + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 66 + sd-uhs-sdr12; 67 + sd-uhs-sdr25; 68 + sd-uhs-sdr50; 69 + sd-uhs-sdr104; 70 + vmmc-supply = <&vccio_sd>; 71 + vqmmc-supply = <&vccio_sd>; 72 + status = "okay"; 73 + };
+566
arch/arm64/boot/dts/rockchip/px30-cobra.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include <dt-bindings/gpio/gpio.h> 8 + #include <dt-bindings/input/input.h> 9 + #include <dt-bindings/leds/common.h> 10 + #include <dt-bindings/pinctrl/rockchip.h> 11 + #include "px30.dtsi" 12 + 13 + / { 14 + aliases { 15 + ethernet0 = &gmac; 16 + mmc0 = &emmc; 17 + }; 18 + 19 + chosen { 20 + stdout-path = "serial5:115200n8"; 21 + }; 22 + 23 + backlight: backlight { 24 + compatible = "pwm-backlight"; 25 + power-supply = <&vcc5v0_sys>; 26 + pwms = <&pwm0 0 25000 0>; 27 + }; 28 + 29 + beeper { 30 + compatible = "pwm-beeper"; 31 + pwms = <&pwm1 0 1000 0>; 32 + }; 33 + 34 + emmc_pwrseq: emmc-pwrseq { 35 + compatible = "mmc-pwrseq-emmc"; 36 + pinctrl-0 = <&emmc_reset>; 37 + pinctrl-names = "default"; 38 + reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 39 + }; 40 + 41 + gpio-leds { 42 + compatible = "gpio-leds"; 43 + pinctrl-names = "default"; 44 + pinctrl-0 = <&heartbeat_led_pin>; 45 + 46 + /* 47 + * LED14 on the PCB. Typically NOT populated. 48 + */ 49 + led-0 { 50 + color = <LED_COLOR_ID_BLUE>; 51 + gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 52 + label = "heartbeat"; 53 + linux,default-trigger = "heartbeat"; 54 + }; 55 + }; 56 + 57 + pwm-leds { 58 + compatible = "pwm-leds"; 59 + 60 + ring_red: led-0 { 61 + color = <LED_COLOR_ID_RED>; 62 + default-state = "off"; 63 + label = "ring_red"; 64 + pwms = <&pwm5 0 1000000 0>; 65 + max-brightness = <255>; 66 + }; 67 + 68 + ring_green: led-1 { 69 + color = <LED_COLOR_ID_GREEN>; 70 + default-state = "off"; 71 + label = "ring_green"; 72 + pwms = <&pwm6 0 1000000 0>; 73 + max-brightness = <255>; 74 + }; 75 + 76 + ring_blue: led-2 { 77 + color = <LED_COLOR_ID_BLUE>; 78 + default-state = "off"; 79 + label = "ring_blue"; 80 + pwms = <&pwm7 0 1000000 0>; 81 + max-brightness = <255>; 82 + }; 83 + }; 84 + 85 + /* also named 5V_Q7 in schematics */ 86 + vcc5v0_sys: regulator-vccsys { 87 + compatible = "regulator-fixed"; 88 + regulator-name = "vcc5v0_sys"; 89 + regulator-always-on; 90 + regulator-boot-on; 91 + regulator-min-microvolt = <5000000>; 92 + regulator-max-microvolt = <5000000>; 93 + }; 94 + }; 95 + 96 + &cpu0 { 97 + cpu-supply = <&vdd_arm>; 98 + }; 99 + 100 + &cpu1 { 101 + cpu-supply = <&vdd_arm>; 102 + }; 103 + 104 + &cpu2 { 105 + cpu-supply = <&vdd_arm>; 106 + }; 107 + 108 + &cpu3 { 109 + cpu-supply = <&vdd_arm>; 110 + }; 111 + 112 + &display_subsystem { 113 + status = "okay"; 114 + }; 115 + 116 + &dsi_dphy { 117 + status = "okay"; 118 + }; 119 + 120 + &emmc { 121 + bus-width = <8>; 122 + cap-mmc-highspeed; 123 + /* 124 + * For hs200 support, U-Boot would have to set the RK809 DCDC4 125 + * rail to 1.8V from the default of 3.0V. It doesn't do that on 126 + * devices out in the field, so disable hs200. 127 + * mmc-hs200-1_8v; 128 + */ 129 + mmc-pwrseq = <&emmc_pwrseq>; 130 + non-removable; 131 + vmmc-supply = <&vcc_3v3>; 132 + vqmmc-supply = <&vcc_emmc>; 133 + status = "okay"; 134 + }; 135 + 136 + &gmac { 137 + clock_in_out = "output"; 138 + phy-handle = <&dp83825>; 139 + phy-supply = <&vcc_3v3>; 140 + status = "okay"; 141 + }; 142 + 143 + &gpu { 144 + mali-supply = <&vdd_log>; 145 + status = "okay"; 146 + }; 147 + 148 + /* I2C0 = PMIC, STUSB4500, RTC */ 149 + &i2c0 { 150 + status = "okay"; 151 + 152 + rk809: pmic@20 { 153 + compatible = "rockchip,rk809"; 154 + reg = <0x20>; 155 + #clock-cells = <0>; 156 + clock-output-names = "xin32k"; 157 + interrupt-parent = <&gpio0>; 158 + interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 159 + pinctrl-names = "default"; 160 + pinctrl-0 = <&pmic_int>; 161 + system-power-controller; 162 + wakeup-source; 163 + 164 + vcc1-supply = <&vcc5v0_sys>; 165 + vcc2-supply = <&vcc5v0_sys>; 166 + vcc3-supply = <&vcc5v0_sys>; 167 + vcc4-supply = <&vcc5v0_sys>; 168 + vcc5-supply = <&vcc_3v3>; 169 + vcc6-supply = <&vcc_3v3>; 170 + vcc7-supply = <&vcc_3v3>; 171 + vcc9-supply = <&vcc5v0_sys>; 172 + 173 + regulators { 174 + vdd_log: DCDC_REG1 { 175 + regulator-name = "vdd_log"; 176 + regulator-always-on; 177 + regulator-boot-on; 178 + regulator-min-microvolt = <950000>; 179 + regulator-max-microvolt = <1350000>; 180 + regulator-ramp-delay = <6001>; 181 + 182 + regulator-state-mem { 183 + regulator-on-in-suspend; 184 + regulator-suspend-microvolt = <950000>; 185 + }; 186 + }; 187 + 188 + vdd_arm: DCDC_REG2 { 189 + regulator-name = "vdd_arm"; 190 + regulator-always-on; 191 + regulator-boot-on; 192 + regulator-min-microvolt = <950000>; 193 + regulator-max-microvolt = <1350000>; 194 + regulator-ramp-delay = <6001>; 195 + 196 + regulator-state-mem { 197 + regulator-off-in-suspend; 198 + regulator-suspend-microvolt = <950000>; 199 + }; 200 + }; 201 + 202 + vcc_ddr: DCDC_REG3 { 203 + regulator-name = "vcc_ddr"; 204 + regulator-always-on; 205 + regulator-boot-on; 206 + 207 + regulator-state-mem { 208 + regulator-on-in-suspend; 209 + }; 210 + }; 211 + 212 + vcc_3v0_1v8: vcc_emmc: DCDC_REG4 { 213 + regulator-name = "vcc_3v0_1v8"; 214 + regulator-always-on; 215 + regulator-boot-on; 216 + regulator-min-microvolt = <3000000>; 217 + regulator-max-microvolt = <3000000>; 218 + 219 + regulator-state-mem { 220 + regulator-on-in-suspend; 221 + regulator-suspend-microvolt = <3000000>; 222 + }; 223 + }; 224 + 225 + vcc_3v3: DCDC_REG5 { 226 + regulator-name = "vcc_3v3"; 227 + regulator-always-on; 228 + regulator-boot-on; 229 + regulator-min-microvolt = <3300000>; 230 + regulator-max-microvolt = <3300000>; 231 + 232 + regulator-state-mem { 233 + regulator-on-in-suspend; 234 + regulator-suspend-microvolt = <3300000>; 235 + }; 236 + }; 237 + 238 + vcc_1v8: LDO_REG2 { 239 + regulator-name = "vcc_1v8"; 240 + regulator-always-on; 241 + regulator-boot-on; 242 + regulator-min-microvolt = <1800000>; 243 + regulator-max-microvolt = <1800000>; 244 + 245 + regulator-state-mem { 246 + regulator-on-in-suspend; 247 + regulator-suspend-microvolt = <1800000>; 248 + }; 249 + }; 250 + 251 + vcc_1v0: LDO_REG3 { 252 + regulator-name = "vcc_1v0"; 253 + regulator-always-on; 254 + regulator-boot-on; 255 + regulator-min-microvolt = <1000000>; 256 + regulator-max-microvolt = <1000000>; 257 + 258 + regulator-state-mem { 259 + regulator-on-in-suspend; 260 + regulator-suspend-microvolt = <1000000>; 261 + }; 262 + }; 263 + 264 + vcc_2v8: LDO_REG4 { 265 + regulator-name = "vcc_2v8"; 266 + regulator-always-on; 267 + regulator-boot-on; 268 + regulator-min-microvolt = <2800000>; 269 + regulator-max-microvolt = <2800000>; 270 + 271 + regulator-state-mem { 272 + regulator-off-in-suspend; 273 + regulator-suspend-microvolt = <2800000>; 274 + }; 275 + }; 276 + 277 + /* 278 + * vccio_sd also supplies the vmmc supply on prototypes 279 + * with sd-slots, so needs to stay single voltage for 280 + * those. Production models don't have sd-slots anymore 281 + * and only supply vccio2 from this regulator. 282 + */ 283 + vccio_sd: LDO_REG5 { 284 + regulator-name = "vccio_sd"; 285 + regulator-always-on; 286 + regulator-boot-on; 287 + regulator-min-microvolt = <3000000>; 288 + regulator-max-microvolt = <3000000>; 289 + 290 + regulator-state-mem { 291 + regulator-on-in-suspend; 292 + regulator-suspend-microvolt = <3000000>; 293 + }; 294 + }; 295 + 296 + /* vcc_sdio also supplies the pull-up resistors for i2c1 */ 297 + vcc_sdio: LDO_REG6 { 298 + regulator-name = "vcc_sdio"; 299 + regulator-always-on; 300 + regulator-boot-on; 301 + regulator-min-microvolt = <3000000>; 302 + regulator-max-microvolt = <3000000>; 303 + 304 + regulator-state-mem { 305 + regulator-on-in-suspend; 306 + regulator-suspend-microvolt = <3300000>; 307 + }; 308 + }; 309 + 310 + vcc_lcd: LDO_REG7 { 311 + regulator-name = "vcc_lcd"; 312 + regulator-always-on; 313 + regulator-boot-on; 314 + regulator-min-microvolt = <1000000>; 315 + regulator-max-microvolt = <1000000>; 316 + 317 + regulator-state-mem { 318 + regulator-off-in-suspend; 319 + regulator-suspend-microvolt = <1000000>; 320 + }; 321 + }; 322 + 323 + vcc_1v8_lcd: LDO_REG8 { 324 + regulator-name = "vcc_1v8_lcd"; 325 + regulator-always-on; 326 + regulator-boot-on; 327 + regulator-min-microvolt = <1800000>; 328 + regulator-max-microvolt = <1800000>; 329 + 330 + regulator-state-mem { 331 + regulator-on-in-suspend; 332 + regulator-suspend-microvolt = <1800000>; 333 + }; 334 + }; 335 + 336 + vcca_1v8: LDO_REG9 { 337 + regulator-name = "vcca_1v8"; 338 + regulator-always-on; 339 + regulator-boot-on; 340 + regulator-min-microvolt = <1800000>; 341 + regulator-max-microvolt = <1800000>; 342 + 343 + regulator-state-mem { 344 + regulator-off-in-suspend; 345 + regulator-suspend-microvolt = <1800000>; 346 + }; 347 + }; 348 + }; 349 + }; 350 + }; 351 + 352 + &i2c1 { 353 + clock-frequency = <100000>; 354 + status = "okay"; 355 + }; 356 + 357 + &i2c2 { 358 + clock-frequency = <100000>; 359 + i2c-scl-falling-time-ns = <50>; 360 + i2c-scl-rising-time-ns = <300>; 361 + status = "okay"; 362 + 363 + touchscreen@14 { 364 + compatible = "goodix,gt911"; 365 + reg = <0x14>; 366 + AVDD28-supply = <&vcc_2v8>; 367 + interrupt-parent = <&gpio0>; 368 + interrupts = <RK_PA1 IRQ_TYPE_LEVEL_LOW>; 369 + irq-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 370 + pinctrl-names = "default"; 371 + pinctrl-0 = <&tch_int &tch_rst>; 372 + reset-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 373 + touchscreen-inverted-x; 374 + VDDIO-supply = <&vcc_3v3>; 375 + }; 376 + }; 377 + 378 + /* 379 + * Enable pull-ups to prevent floating pins when the touch 380 + * panel is not connected. 381 + */ 382 + &i2c2_xfer { 383 + rockchip,pins = 384 + <2 RK_PB7 2 &pcfg_pull_up>, 385 + <2 RK_PC0 2 &pcfg_pull_up>; 386 + }; 387 + 388 + &io_domains { 389 + vccio1-supply = <&vcc_sdio>; 390 + vccio2-supply = <&vccio_sd>; 391 + vccio3-supply = <&vcc_3v3>; 392 + vccio4-supply = <&vcc_3v3>; 393 + vccio5-supply = <&vcc_1v8>; 394 + vccio6-supply = <&vcc_emmc>; 395 + status = "okay"; 396 + }; 397 + 398 + &mdio { 399 + dp83825: ethernet-phy@0 { 400 + compatible = "ethernet-phy-ieee802.3-c22"; 401 + reg = <0x0>; 402 + pinctrl-names = "default"; 403 + pinctrl-0 = <&phy_rst>; 404 + reset-assert-us = <50000>; 405 + reset-deassert-us = <50000>; 406 + reset-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_LOW>; 407 + }; 408 + }; 409 + 410 + &pinctrl { 411 + pinctrl-names = "default"; 412 + pinctrl-0 = <&cobra_pin_hog>; 413 + 414 + hog { 415 + cobra_pin_hog: cobra-pin-hog { 416 + rockchip,pins = 417 + /* USB_HUB2_RESET */ 418 + <0 RK_PA5 RK_FUNC_GPIO &pcfg_output_high>, 419 + /* USB_HUB1_RESET */ 420 + <0 RK_PB4 RK_FUNC_GPIO &pcfg_output_high>, 421 + /* The default pull-down can keep the IC in reset. */ 422 + <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>, 423 + /* USB-A 5V enable */ 424 + <3 RK_PC0 RK_FUNC_GPIO &pcfg_output_high>, 425 + /* USB-A data enable */ 426 + <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_high>; 427 + }; 428 + }; 429 + 430 + emmc { 431 + emmc_reset: emmc-reset { 432 + rockchip,pins = 433 + <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 434 + }; 435 + }; 436 + 437 + ethernet { 438 + phy_rst: phy-rst { 439 + rockchip,pins = 440 + <2 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 441 + }; 442 + }; 443 + 444 + leds { 445 + heartbeat_led_pin: heartbeat-led-pin { 446 + rockchip,pins = 447 + <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 448 + }; 449 + }; 450 + 451 + panel { 452 + dsp_rst: dsp-rst { 453 + rockchip,pins = 454 + <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>; 455 + }; 456 + 457 + tch_int: tch-int { 458 + rockchip,pins = 459 + <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 460 + }; 461 + 462 + tch_rst: tch-rst { 463 + rockchip,pins = 464 + <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 465 + }; 466 + }; 467 + 468 + pmic { 469 + pmic_int: pmic-int { 470 + rockchip,pins = 471 + <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 472 + }; 473 + }; 474 + }; 475 + 476 + &pmu_io_domains { 477 + pmuio1-supply = <&vcc_3v3>; 478 + pmuio2-supply = <&vcc_3v3>; 479 + status = "okay"; 480 + }; 481 + 482 + &pwm0 { 483 + status = "okay"; 484 + }; 485 + 486 + &pwm1 { 487 + status = "okay"; 488 + }; 489 + 490 + &pwm5 { 491 + status = "okay"; 492 + }; 493 + 494 + &pwm6 { 495 + status = "okay"; 496 + }; 497 + 498 + &pwm7 { 499 + status = "okay"; 500 + }; 501 + 502 + &saradc { 503 + vref-supply = <&vcc_1v8>; 504 + status = "okay"; 505 + }; 506 + 507 + &tsadc { 508 + status = "okay"; 509 + }; 510 + 511 + &u2phy { 512 + status = "okay"; 513 + }; 514 + 515 + &u2phy_host { 516 + status = "okay"; 517 + }; 518 + 519 + &u2phy_otg { 520 + status = "okay"; 521 + }; 522 + 523 + &uart1 { 524 + /delete-property/ dmas; 525 + /delete-property/ dma-names; 526 + pinctrl-names = "default"; 527 + pinctrl-0 = <&uart1_xfer>; 528 + status = "okay"; 529 + }; 530 + 531 + &uart5 { 532 + pinctrl-0 = <&uart5_xfer>; 533 + status = "okay"; 534 + }; 535 + 536 + &usb20_otg { 537 + status = "okay"; 538 + }; 539 + 540 + &usb_host0_ehci { 541 + status = "okay"; 542 + }; 543 + 544 + &usb_host0_ohci { 545 + status = "okay"; 546 + }; 547 + 548 + &vopb { 549 + status = "okay"; 550 + }; 551 + 552 + &vopb_mmu { 553 + status = "okay"; 554 + }; 555 + 556 + &vopl { 557 + status = "disabled"; 558 + }; 559 + 560 + &vopl_mmu { 561 + status = "disabled"; 562 + }; 563 + 564 + &wdt { 565 + status = "okay"; 566 + };
+39
arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include "px30-pp1516.dtsi" 8 + 9 + / { 10 + model = "Theobroma Systems PP-1516 with LTK050H3146W-A2 Display"; 11 + compatible = "tsd,px30-pp1516-ltk050h3146w-a2", "tsd,px30-pp1516", "rockchip,px30"; 12 + }; 13 + 14 + &dsi { 15 + status = "okay"; 16 + 17 + panel@0 { 18 + compatible = "leadtek,ltk050h3146w-a2"; 19 + reg = <0>; 20 + backlight = <&backlight>; 21 + iovcc-supply = <&vcc_1v8>; 22 + pinctrl-names = "default"; 23 + pinctrl-0 = <&dsp_rst>; 24 + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 25 + vci-supply = <&vcc_2v8>; 26 + 27 + port { 28 + mipi_in_panel: endpoint { 29 + remote-endpoint = <&mipi_out_panel>; 30 + }; 31 + }; 32 + }; 33 + }; 34 + 35 + &dsi_out { 36 + mipi_out_panel: endpoint { 37 + remote-endpoint = <&mipi_in_panel>; 38 + }; 39 + };
+39
arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3148w.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include "px30-pp1516.dtsi" 8 + 9 + / { 10 + model = "Theobroma Systems PP-1516 with LTK050H3148W Display"; 11 + compatible = "tsd,px30-pp1516-ltk050h3148w", "tsd,px30-pp1516", "rockchip,px30"; 12 + }; 13 + 14 + &dsi { 15 + status = "okay"; 16 + 17 + panel@0 { 18 + compatible = "leadtek,ltk050h3148w"; 19 + reg = <0>; 20 + backlight = <&backlight>; 21 + iovcc-supply = <&vcc_1v8>; 22 + pinctrl-names = "default"; 23 + pinctrl-0 = <&dsp_rst>; 24 + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 25 + vci-supply = <&vcc_2v8>; 26 + 27 + port { 28 + mipi_in_panel: endpoint { 29 + remote-endpoint = <&mipi_out_panel>; 30 + }; 31 + }; 32 + }; 33 + }; 34 + 35 + &dsi_out { 36 + mipi_out_panel: endpoint { 37 + remote-endpoint = <&mipi_in_panel>; 38 + }; 39 + };
+602
arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + #include <dt-bindings/gpio/gpio.h> 8 + #include <dt-bindings/input/input.h> 9 + #include <dt-bindings/pinctrl/rockchip.h> 10 + #include "px30.dtsi" 11 + 12 + / { 13 + aliases { 14 + mmc0 = &emmc; 15 + }; 16 + 17 + chosen { 18 + stdout-path = "serial5:115200n8"; 19 + }; 20 + 21 + backlight: backlight { 22 + compatible = "pwm-backlight"; 23 + power-supply = <&vcc5v0_sys>; 24 + pwms = <&pwm0 0 25000 0>; 25 + }; 26 + 27 + beeper { 28 + compatible = "pwm-beeper"; 29 + pwms = <&pwm1 0 1000 0>; 30 + }; 31 + 32 + emmc_pwrseq: emmc-pwrseq { 33 + compatible = "mmc-pwrseq-emmc"; 34 + pinctrl-0 = <&emmc_reset>; 35 + pinctrl-names = "default"; 36 + reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 37 + }; 38 + 39 + gpio-leds { 40 + compatible = "gpio-leds"; 41 + pinctrl-names = "default"; 42 + pinctrl-0 = <&debug_led_pin>, <&heartbeat_led_pin>; 43 + 44 + /* 45 + * LED2 on the PCB, left of the USB-C connector. 46 + * Typically NOT populated. 47 + */ 48 + debug: led-0 { 49 + label = "debug"; 50 + gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; 51 + linux,default-trigger = "none"; 52 + }; 53 + 54 + /* 55 + * LED14 on the PCB, left of the PX30 SoC. 56 + * Typically NOT populated. 57 + */ 58 + heartbeat: led-1 { 59 + label = "heartbeat"; 60 + gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 61 + linux,default-trigger = "heartbeat"; 62 + }; 63 + }; 64 + 65 + vcc5v0_sys: regulator-vccsys { 66 + compatible = "regulator-fixed"; 67 + regulator-name = "vcc5v0_sys"; 68 + regulator-always-on; 69 + regulator-boot-on; 70 + regulator-min-microvolt = <5000000>; 71 + regulator-max-microvolt = <5000000>; 72 + }; 73 + 74 + vcc_cam_avdd: regulator-vcc-cam-avdd { 75 + compatible = "regulator-fixed"; 76 + regulator-name = "vcc_cam_avdd"; 77 + gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; 78 + pinctrl-names = "default"; 79 + pinctrl-0 = <&cam_avdd_en>; 80 + regulator-min-microvolt = <2800000>; 81 + regulator-max-microvolt = <2800000>; 82 + vin-supply = <&vcc_2v8>; 83 + }; 84 + 85 + vcc_cam_dovdd: regulator-vcc-cam-dovdd { 86 + compatible = "regulator-fixed"; 87 + regulator-name = "vcc_cam_dovdd"; 88 + gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; 89 + pinctrl-names = "default"; 90 + pinctrl-0 = <&cam_dovdd_en>; 91 + regulator-min-microvolt = <1800000>; 92 + regulator-max-microvolt = <1800000>; 93 + vin-supply = <&vcc_1v8>; 94 + }; 95 + 96 + vcc_cam_dvdd: regulator-vcc-cam-dvdd { 97 + compatible = "regulator-fixed"; 98 + regulator-name = "vcc_cam_dvdd"; 99 + gpio = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; 100 + enable-active-high; 101 + pinctrl-names = "default"; 102 + pinctrl-0 = <&cam_dvdd_en>; 103 + regulator-min-microvolt = <1200000>; 104 + regulator-max-microvolt = <1200000>; 105 + vin-supply = <&vcc_3v3>; 106 + }; 107 + 108 + vcc_lens_afvdd: regulator-vcc-lens-afvdd { 109 + compatible = "regulator-fixed"; 110 + regulator-name = "vcc_lens_afvdd"; 111 + gpio = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; 112 + pinctrl-names = "default"; 113 + pinctrl-0 = <&cam_afvdd_en>; 114 + regulator-min-microvolt = <2800000>; 115 + regulator-max-microvolt = <2800000>; 116 + vin-supply = <&vcc_2v8>; 117 + }; 118 + }; 119 + 120 + &cpu0 { 121 + cpu-supply = <&vdd_arm>; 122 + }; 123 + 124 + &cpu1 { 125 + cpu-supply = <&vdd_arm>; 126 + }; 127 + 128 + &cpu2 { 129 + cpu-supply = <&vdd_arm>; 130 + }; 131 + 132 + &cpu3 { 133 + cpu-supply = <&vdd_arm>; 134 + }; 135 + 136 + &csi_dphy { 137 + status = "okay"; 138 + }; 139 + 140 + &display_subsystem { 141 + status = "okay"; 142 + }; 143 + 144 + &dsi_dphy { 145 + status = "okay"; 146 + }; 147 + 148 + &emmc { 149 + bus-width = <8>; 150 + cap-mmc-highspeed; 151 + /* 152 + * For hs200 support, U-Boot would have to set the RK809 DCDC4 153 + * rail to 1.8V from the default of 3.0V. It doesn't do that on 154 + * devices out in the field, so disable hs200. 155 + * mmc-hs200-1_8v; 156 + */ 157 + mmc-pwrseq = <&emmc_pwrseq>; 158 + non-removable; 159 + vmmc-supply = <&vcc_3v3>; 160 + vqmmc-supply = <&vcc_emmc>; 161 + status = "okay"; 162 + }; 163 + 164 + &gpu { 165 + mali-supply = <&vdd_log>; 166 + status = "okay"; 167 + }; 168 + 169 + /* I2C0 = PMIC, Touchscreen */ 170 + &i2c0 { 171 + status = "okay"; 172 + 173 + touchscreen@14 { 174 + compatible = "goodix,gt911"; 175 + reg = <0x14>; 176 + AVDD28-supply = <&vcc_2v8>; 177 + interrupt-parent = <&gpio0>; 178 + interrupts = <RK_PA1 IRQ_TYPE_LEVEL_LOW>; 179 + irq-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 180 + pinctrl-names = "default"; 181 + pinctrl-0 = <&tch_int &tch_rst>; 182 + reset-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 183 + VDDIO-supply = <&vcc_3v3>; 184 + }; 185 + 186 + rk809: pmic@20 { 187 + compatible = "rockchip,rk809"; 188 + reg = <0x20>; 189 + #clock-cells = <0>; 190 + clock-output-names = "xin32k"; 191 + interrupt-parent = <&gpio0>; 192 + interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 193 + pinctrl-names = "default"; 194 + pinctrl-0 = <&pmic_int>; 195 + system-power-controller; 196 + wakeup-source; 197 + 198 + vcc1-supply = <&vcc5v0_sys>; 199 + vcc2-supply = <&vcc5v0_sys>; 200 + vcc3-supply = <&vcc5v0_sys>; 201 + vcc4-supply = <&vcc5v0_sys>; 202 + vcc5-supply = <&vcc_3v3>; 203 + vcc6-supply = <&vcc_3v3>; 204 + vcc7-supply = <&vcc_3v3>; 205 + vcc9-supply = <&vcc5v0_sys>; 206 + 207 + regulators { 208 + vdd_log: DCDC_REG1 { 209 + regulator-name = "vdd_log"; 210 + regulator-always-on; 211 + regulator-boot-on; 212 + regulator-min-microvolt = <950000>; 213 + regulator-max-microvolt = <1350000>; 214 + regulator-ramp-delay = <6001>; 215 + 216 + regulator-state-mem { 217 + regulator-on-in-suspend; 218 + regulator-suspend-microvolt = <950000>; 219 + }; 220 + }; 221 + 222 + vdd_arm: DCDC_REG2 { 223 + regulator-name = "vdd_arm"; 224 + regulator-always-on; 225 + regulator-boot-on; 226 + regulator-min-microvolt = <950000>; 227 + regulator-max-microvolt = <1350000>; 228 + regulator-ramp-delay = <6001>; 229 + 230 + regulator-state-mem { 231 + regulator-off-in-suspend; 232 + regulator-suspend-microvolt = <950000>; 233 + }; 234 + }; 235 + 236 + vcc_ddr: DCDC_REG3 { 237 + regulator-name = "vcc_ddr"; 238 + regulator-always-on; 239 + regulator-boot-on; 240 + 241 + regulator-state-mem { 242 + regulator-on-in-suspend; 243 + }; 244 + }; 245 + 246 + vcc_3v0_1v8: vcc_emmc: DCDC_REG4 { 247 + regulator-name = "vcc_3v0_1v8"; 248 + regulator-always-on; 249 + regulator-boot-on; 250 + regulator-min-microvolt = <3000000>; 251 + regulator-max-microvolt = <3000000>; 252 + 253 + regulator-state-mem { 254 + regulator-on-in-suspend; 255 + regulator-suspend-microvolt = <3000000>; 256 + }; 257 + }; 258 + 259 + vcc_3v3: DCDC_REG5 { 260 + regulator-name = "vcc_3v3"; 261 + regulator-always-on; 262 + regulator-boot-on; 263 + regulator-min-microvolt = <3300000>; 264 + regulator-max-microvolt = <3300000>; 265 + 266 + regulator-state-mem { 267 + regulator-on-in-suspend; 268 + regulator-suspend-microvolt = <3300000>; 269 + }; 270 + }; 271 + 272 + vcc_1v8: LDO_REG2 { 273 + regulator-name = "vcc_1v8"; 274 + regulator-always-on; 275 + regulator-boot-on; 276 + regulator-min-microvolt = <1800000>; 277 + regulator-max-microvolt = <1800000>; 278 + 279 + regulator-state-mem { 280 + regulator-on-in-suspend; 281 + regulator-suspend-microvolt = <1800000>; 282 + }; 283 + }; 284 + 285 + vcc_1v0: LDO_REG3 { 286 + regulator-name = "vcc_1v0"; 287 + regulator-always-on; 288 + regulator-boot-on; 289 + regulator-min-microvolt = <1000000>; 290 + regulator-max-microvolt = <1000000>; 291 + 292 + regulator-state-mem { 293 + regulator-on-in-suspend; 294 + regulator-suspend-microvolt = <1000000>; 295 + }; 296 + }; 297 + 298 + vcc_2v8: LDO_REG4 { 299 + regulator-name = "vcc_2v8"; 300 + regulator-always-on; 301 + regulator-boot-on; 302 + regulator-min-microvolt = <2800000>; 303 + regulator-max-microvolt = <2800000>; 304 + 305 + regulator-state-mem { 306 + regulator-off-in-suspend; 307 + regulator-suspend-microvolt = <2800000>; 308 + }; 309 + }; 310 + 311 + vccio_sd: LDO_REG5 { 312 + regulator-name = "vccio_sd"; 313 + regulator-always-on; 314 + regulator-boot-on; 315 + regulator-min-microvolt = <3000000>; 316 + regulator-max-microvolt = <3000000>; 317 + 318 + regulator-state-mem { 319 + regulator-on-in-suspend; 320 + regulator-suspend-microvolt = <3000000>; 321 + }; 322 + }; 323 + 324 + vcc_sdio: LDO_REG6 { 325 + regulator-name = "vcc_sdio"; 326 + regulator-always-on; 327 + regulator-boot-on; 328 + regulator-min-microvolt = <1800000>; 329 + regulator-max-microvolt = <1800000>; 330 + 331 + regulator-state-mem { 332 + regulator-on-in-suspend; 333 + regulator-suspend-microvolt = <1800000>; 334 + }; 335 + }; 336 + 337 + vcc_lcd: LDO_REG7 { 338 + regulator-name = "vcc_lcd"; 339 + regulator-always-on; 340 + regulator-boot-on; 341 + regulator-min-microvolt = <1000000>; 342 + regulator-max-microvolt = <1000000>; 343 + 344 + regulator-state-mem { 345 + regulator-off-in-suspend; 346 + regulator-suspend-microvolt = <1000000>; 347 + }; 348 + }; 349 + 350 + vcc_1v8_lcd: LDO_REG8 { 351 + regulator-name = "vcc_1v8_lcd"; 352 + regulator-always-on; 353 + regulator-boot-on; 354 + regulator-min-microvolt = <1800000>; 355 + regulator-max-microvolt = <1800000>; 356 + 357 + regulator-state-mem { 358 + regulator-on-in-suspend; 359 + regulator-suspend-microvolt = <1800000>; 360 + }; 361 + }; 362 + 363 + vcca_1v8: LDO_REG9 { 364 + regulator-name = "vcca_1v8"; 365 + regulator-always-on; 366 + regulator-boot-on; 367 + regulator-min-microvolt = <1800000>; 368 + regulator-max-microvolt = <1800000>; 369 + 370 + regulator-state-mem { 371 + regulator-off-in-suspend; 372 + regulator-suspend-microvolt = <1800000>; 373 + }; 374 + }; 375 + }; 376 + }; 377 + }; 378 + 379 + &i2c1 { 380 + clock-frequency = <100000>; 381 + status = "okay"; 382 + }; 383 + 384 + /* I2C2 = Accelerometer + Camera */ 385 + &i2c2 { 386 + /* MEMSIC MXC4005 accelerometer is rated for I2C Fast Mode (<=400KHz) */ 387 + /* OmniVision OV5675 camera is rated for I2C Fast Mode (<=400KHz) */ 388 + clock-frequency = <400000>; 389 + status = "okay"; 390 + 391 + focus: focus@c { 392 + compatible = "dongwoon,dw9714"; 393 + reg = <0xc>; 394 + vcc-supply = <&vcc_lens_afvdd>; 395 + }; 396 + 397 + accel@15 { 398 + compatible = "memsic,mxc4005"; 399 + reg = <0x15>; 400 + interrupt-parent = <&gpio2>; 401 + interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>; 402 + pinctrl-names = "default"; 403 + pinctrl-0 = <&accel_int>; 404 + }; 405 + 406 + camera@36 { 407 + compatible = "ovti,ov5675"; 408 + reg = <0x36>; 409 + clocks = <&cru SCLK_CIF_OUT>; 410 + assigned-clocks = <&cru SCLK_CIF_OUT>; 411 + assigned-clock-rates = <19200000>; 412 + avdd-supply = <&vcc_cam_avdd>; 413 + dvdd-supply = <&vcc_cam_dvdd>; 414 + dovdd-supply = <&vcc_cam_dovdd>; 415 + lens-focus = <&focus>; 416 + orientation = <0>; 417 + pinctrl-names = "default"; 418 + pinctrl-0 = <&cif_clkout_m0 &cam_pwdn>; 419 + reset-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>; 420 + rotation = <0>; 421 + 422 + port { 423 + ucam_out: endpoint { 424 + remote-endpoint = <&mipi_in_ucam>; 425 + data-lanes = <1 2>; 426 + link-frequencies = /bits/ 64 <450000000>; 427 + }; 428 + }; 429 + }; 430 + }; 431 + 432 + &io_domains { 433 + vccio1-supply = <&vcc_sdio>; 434 + vccio2-supply = <&vccio_sd>; 435 + vccio3-supply = <&vcc_1v8>; 436 + vccio4-supply = <&vcc_3v3>; 437 + vccio5-supply = <&vcc_3v3>; 438 + vccio6-supply = <&vcc_emmc>; 439 + status = "okay"; 440 + }; 441 + 442 + &isp { 443 + status = "okay"; 444 + 445 + ports { 446 + port@0 { 447 + mipi_in_ucam: endpoint@0 { 448 + reg = <0>; 449 + data-lanes = <1 2>; 450 + remote-endpoint = <&ucam_out>; 451 + }; 452 + }; 453 + }; 454 + }; 455 + 456 + &isp_mmu { 457 + status = "okay"; 458 + }; 459 + 460 + &pinctrl { 461 + accel { 462 + accel_int: accel-int { 463 + rockchip,pins = 464 + <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 465 + }; 466 + }; 467 + 468 + camera { 469 + cam_afvdd_en: cam-afvdd-en { 470 + rockchip,pins = 471 + <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 472 + }; 473 + 474 + cam_avdd_en: cam-avdd-en { 475 + rockchip,pins = 476 + <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 477 + }; 478 + 479 + cam_dovdd_en: cam-dovdd-en { 480 + rockchip,pins = 481 + <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 482 + }; 483 + 484 + cam_dvdd_en: cam-dvdd-en { 485 + rockchip,pins = 486 + <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 487 + }; 488 + 489 + cam_pwdn: cam-pwdn { 490 + rockchip,pins = 491 + <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 492 + }; 493 + }; 494 + 495 + emmc { 496 + emmc_reset: emmc-reset { 497 + rockchip,pins = 498 + <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 499 + }; 500 + }; 501 + 502 + leds { 503 + debug_led_pin: debug-led-pin { 504 + rockchip,pins = 505 + <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 506 + }; 507 + 508 + heartbeat_led_pin: heartbeat-led-pin { 509 + rockchip,pins = 510 + <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 511 + }; 512 + }; 513 + 514 + panel { 515 + dsp_rst: dsp-rst { 516 + rockchip,pins = 517 + <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>; 518 + }; 519 + 520 + tch_int: tch-int { 521 + rockchip,pins = 522 + <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 523 + }; 524 + 525 + tch_rst: tch-rst { 526 + rockchip,pins = 527 + <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 528 + }; 529 + }; 530 + 531 + pmic { 532 + pmic_int: pmic-int { 533 + rockchip,pins = 534 + <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 535 + }; 536 + }; 537 + }; 538 + 539 + &pmu_io_domains { 540 + pmuio1-supply = <&vcc_3v3>; 541 + pmuio2-supply = <&vcc_3v3>; 542 + status = "okay"; 543 + }; 544 + 545 + &pwm0 { 546 + status = "okay"; 547 + }; 548 + 549 + &pwm1 { 550 + status = "okay"; 551 + }; 552 + 553 + &saradc { 554 + vref-supply = <&vcc_1v8>; 555 + status = "okay"; 556 + }; 557 + 558 + &tsadc { 559 + status = "okay"; 560 + }; 561 + 562 + &u2phy { 563 + status = "okay"; 564 + }; 565 + 566 + &u2phy_host { 567 + status = "okay"; 568 + }; 569 + 570 + &u2phy_otg { 571 + status = "okay"; 572 + }; 573 + 574 + &uart5 { 575 + pinctrl-0 = <&uart5_xfer>; 576 + status = "okay"; 577 + }; 578 + 579 + &usb20_otg { 580 + dr_mode = "peripheral"; 581 + status = "okay"; 582 + }; 583 + 584 + &usb_host0_ehci { 585 + status = "okay"; 586 + }; 587 + 588 + &usb_host0_ohci { 589 + status = "okay"; 590 + }; 591 + 592 + &vopb { 593 + status = "okay"; 594 + }; 595 + 596 + &vopb_mmu { 597 + status = "okay"; 598 + }; 599 + 600 + &wdt { 601 + status = "okay"; 602 + };
+19 -3
arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
··· 83 83 84 84 /* On-module TI DP83825I PHY but no connector, enable in carrierboard */ 85 85 &gmac { 86 - snps,reset-gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 87 - snps,reset-active-low; 88 - snps,reset-delays-us = <0 50000 50000>; 86 + phy-handle = <&dp83825>; 89 87 phy-supply = <&vcc_3v3>; 90 88 clock_in_out = "output"; 91 89 }; ··· 342 344 status = "okay"; 343 345 }; 344 346 347 + &mdio { 348 + dp83825: ethernet-phy@0 { 349 + compatible = "ethernet-phy-ieee802.3-c22"; 350 + reg = <0x0>; 351 + pinctrl-names = "default"; 352 + pinctrl-0 = <&phy_rst>; 353 + reset-assert-us = <50000>; 354 + reset-deassert-us = <50000>; 355 + reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 356 + }; 357 + }; 358 + 345 359 &pinctrl { 346 360 emmc { 347 361 emmc_reset: emmc-reset { 348 362 rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 363 + }; 364 + }; 365 + 366 + ethernet { 367 + phy_rst: phy-rst { 368 + rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 349 369 }; 350 370 }; 351 371
+6
arch/arm64/boot/dts/rockchip/px30.dtsi
··· 985 985 resets = <&cru SRST_GMAC_A>; 986 986 reset-names = "stmmaceth"; 987 987 status = "disabled"; 988 + 989 + mdio: mdio { 990 + compatible = "snps,dwmac-mdio"; 991 + #address-cells = <1>; 992 + #size-cells = <0>; 993 + }; 988 994 }; 989 995 990 996 sdmmc: mmc@ff370000 {
+494
arch/arm64/boot/dts/rockchip/rk3399-evb-ind.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2025 Rockchip Electronics Co., Ltd. 4 + */ 5 + 6 + /dts-v1/; 7 + #include "rk3399.dtsi" 8 + 9 + / { 10 + model = "Rockchip RK3399 EVB IND LPDDR4 Board"; 11 + compatible = "rockchip,rk3399-evb-ind", "rockchip,rk3399"; 12 + 13 + aliases { 14 + mmc0 = &sdhci; 15 + mmc1 = &sdmmc; 16 + }; 17 + 18 + chosen { 19 + stdout-path = "serial2:1500000n8"; 20 + }; 21 + 22 + vcc5v0_sys: regulator-vcc5v0-sys { 23 + compatible = "regulator-fixed"; 24 + enable-active-high; 25 + gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 26 + regulator-name = "vcc5v0_sys"; 27 + regulator-always-on; 28 + regulator-boot-on; 29 + regulator-max-microvolt = <5000000>; 30 + regulator-min-microvolt = <5000000>; 31 + }; 32 + }; 33 + 34 + &cpu_b0 { 35 + cpu-supply = <&vdd_cpu_b>; 36 + }; 37 + 38 + &cpu_b1 { 39 + cpu-supply = <&vdd_cpu_b>; 40 + }; 41 + 42 + &cpu_l0 { 43 + cpu-supply = <&vdd_cpu_l>; 44 + }; 45 + 46 + &cpu_l1 { 47 + cpu-supply = <&vdd_cpu_l>; 48 + }; 49 + 50 + &cpu_l2 { 51 + cpu-supply = <&vdd_cpu_l>; 52 + }; 53 + 54 + &cpu_l3 { 55 + cpu-supply = <&vdd_cpu_l>; 56 + }; 57 + 58 + &emmc_phy { 59 + status = "okay"; 60 + }; 61 + 62 + &gpu { 63 + mali-supply = <&vdd_gpu>; 64 + status = "okay"; 65 + }; 66 + 67 + &hdmi { 68 + pinctrl-names = "default"; 69 + pinctrl-0 = <&hdmi_i2c_xfer>, <&hdmi_cec>; 70 + status = "okay"; 71 + }; 72 + 73 + &hdmi_sound { 74 + status = "okay"; 75 + }; 76 + 77 + &i2c0 { 78 + clock-frequency = <400000>; 79 + i2c-scl-falling-time-ns = <4>; 80 + i2c-scl-rising-time-ns = <168>; 81 + status = "okay"; 82 + 83 + vdd_gpu: regulator@10 { 84 + compatible = "tcs,tcs4525"; 85 + reg = <0x10>; 86 + pinctrl-names = "default"; 87 + pinctrl-0 = <&vsel2_gpio>; 88 + regulator-name = "vdd_gpu"; 89 + regulator-always-on; 90 + regulator-boot-on; 91 + regulator-max-microvolt = <1500000>; 92 + regulator-min-microvolt = <712500>; 93 + regulator-ramp-delay = <1000>; 94 + vin-supply = <&vcc5v0_sys>; 95 + vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>; 96 + fcs,suspend-voltage-selector = <1>; 97 + 98 + regulator-state-mem { 99 + regulator-off-in-suspend; 100 + }; 101 + }; 102 + 103 + vdd_cpu_b: regulator@1c { 104 + compatible = "tcs,tcs4525"; 105 + reg = <0x1c>; 106 + pinctrl-names = "default"; 107 + pinctrl-0 = <&vsel1_gpio>; 108 + regulator-name = "vdd_cpu_b"; 109 + regulator-always-on; 110 + regulator-boot-on; 111 + regulator-max-microvolt = <1500000>; 112 + regulator-min-microvolt = <712500>; 113 + regulator-ramp-delay = <1000>; 114 + vin-supply = <&vcc5v0_sys>; 115 + vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 116 + fcs,suspend-voltage-selector = <1>; 117 + 118 + regulator-state-mem { 119 + regulator-off-in-suspend; 120 + }; 121 + }; 122 + 123 + rk809: pmic@20 { 124 + compatible = "rockchip,rk809"; 125 + reg = <0x20>; 126 + #clock-cells = <1>; 127 + clock-output-names = "xin32k", "rk808-clkout2"; 128 + interrupt-parent = <&gpio1>; 129 + interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>; 130 + pinctrl-names = "default"; 131 + pinctrl-0 = <&pmic_int_l>; 132 + wakeup-source; 133 + 134 + vcc1-supply = <&vcc5v0_sys>; 135 + vcc2-supply = <&vcc5v0_sys>; 136 + vcc3-supply = <&vcc5v0_sys>; 137 + vcc4-supply = <&vcc5v0_sys>; 138 + vcc5-supply = <&vcc_buck5>; 139 + vcc6-supply = <&vcc_buck5>; 140 + vcc7-supply = <&vcc5v0_sys>; 141 + vcc8-supply = <&vcc3v3_sys>; 142 + vcc9-supply = <&vcc5v0_sys>; 143 + 144 + regulators { 145 + vdd_center: DCDC_REG1 { 146 + regulator-name = "vdd_center"; 147 + regulator-always-on; 148 + regulator-boot-on; 149 + regulator-initial-mode = <0x2>; 150 + regulator-max-microvolt = <1350000>; 151 + regulator-min-microvolt = <750000>; 152 + regulator-ramp-delay = <6001>; 153 + 154 + regulator-state-mem { 155 + regulator-off-in-suspend; 156 + }; 157 + }; 158 + 159 + vdd_cpu_l: DCDC_REG2 { 160 + regulator-name = "vdd_cpu_l"; 161 + regulator-always-on; 162 + regulator-boot-on; 163 + regulator-initial-mode = <0x2>; 164 + regulator-max-microvolt = <1350000>; 165 + regulator-min-microvolt = <750000>; 166 + regulator-ramp-delay = <6001>; 167 + 168 + regulator-state-mem { 169 + regulator-off-in-suspend; 170 + }; 171 + }; 172 + 173 + vcc_ddr: DCDC_REG3 { 174 + regulator-name = "vcc_ddr"; 175 + regulator-always-on; 176 + regulator-boot-on; 177 + regulator-initial-mode = <0x2>; 178 + 179 + regulator-state-mem { 180 + regulator-on-in-suspend; 181 + }; 182 + }; 183 + 184 + vcc3v3_sys: DCDC_REG4 { 185 + regulator-name = "vcc3v3_sys"; 186 + regulator-always-on; 187 + regulator-boot-on; 188 + regulator-initial-mode = <0x2>; 189 + regulator-max-microvolt = <3300000>; 190 + regulator-min-microvolt = <3300000>; 191 + 192 + regulator-state-mem { 193 + regulator-on-in-suspend; 194 + regulator-suspend-microvolt = <3300000>; 195 + }; 196 + }; 197 + 198 + vcc_buck5: DCDC_REG5 { 199 + regulator-name = "vcc_buck5"; 200 + regulator-always-on; 201 + regulator-boot-on; 202 + regulator-max-microvolt = <2200000>; 203 + regulator-min-microvolt = <2200000>; 204 + 205 + regulator-state-mem { 206 + regulator-on-in-suspend; 207 + regulator-suspend-microvolt = <2200000>; 208 + }; 209 + }; 210 + 211 + vcca_0v9: LDO_REG1 { 212 + regulator-name = "vcca_0v9"; 213 + regulator-always-on; 214 + regulator-boot-on; 215 + regulator-max-microvolt = <900000>; 216 + regulator-min-microvolt = <900000>; 217 + 218 + regulator-state-mem { 219 + regulator-off-in-suspend; 220 + }; 221 + }; 222 + 223 + vcc_1v8: LDO_REG2 { 224 + regulator-name = "vcc_1v8"; 225 + regulator-always-on; 226 + regulator-boot-on; 227 + regulator-max-microvolt = <1800000>; 228 + regulator-min-microvolt = <1800000>; 229 + 230 + regulator-state-mem { 231 + regulator-on-in-suspend; 232 + regulator-suspend-microvolt = <1800000>; 233 + }; 234 + }; 235 + 236 + vcc0v9_soc: LDO_REG3 { 237 + regulator-name = "vcc0v9_soc"; 238 + regulator-always-on; 239 + regulator-boot-on; 240 + regulator-max-microvolt = <900000>; 241 + regulator-min-microvolt = <900000>; 242 + 243 + regulator-state-mem { 244 + regulator-on-in-suspend; 245 + regulator-suspend-microvolt = <900000>; 246 + }; 247 + }; 248 + 249 + vcca_1v8: LDO_REG4 { 250 + regulator-name = "vcca_1v8"; 251 + regulator-always-on; 252 + regulator-boot-on; 253 + regulator-max-microvolt = <1800000>; 254 + regulator-min-microvolt = <1800000>; 255 + 256 + regulator-state-mem { 257 + regulator-off-in-suspend; 258 + }; 259 + }; 260 + 261 + vdd1v5_dvp: LDO_REG5 { 262 + regulator-name = "vdd1v5_dvp"; 263 + regulator-always-on; 264 + regulator-boot-on; 265 + regulator-max-microvolt = <1500000>; 266 + regulator-min-microvolt = <1500000>; 267 + 268 + regulator-state-mem { 269 + regulator-off-in-suspend; 270 + }; 271 + }; 272 + 273 + vcc_1v5: LDO_REG6 { 274 + regulator-name = "vcc_1v5"; 275 + regulator-always-on; 276 + regulator-boot-on; 277 + regulator-max-microvolt = <1500000>; 278 + regulator-min-microvolt = <1500000>; 279 + 280 + regulator-state-mem { 281 + regulator-off-in-suspend; 282 + }; 283 + }; 284 + 285 + vcc_3v0: LDO_REG7 { 286 + regulator-name = "vcc_3v0"; 287 + regulator-always-on; 288 + regulator-boot-on; 289 + regulator-max-microvolt = <3000000>; 290 + regulator-min-microvolt = <3000000>; 291 + 292 + regulator-state-mem { 293 + regulator-off-in-suspend; 294 + }; 295 + }; 296 + 297 + vccio_sd: LDO_REG8 { 298 + regulator-name = "vccio_sd"; 299 + regulator-always-on; 300 + regulator-boot-on; 301 + regulator-max-microvolt = <3300000>; 302 + regulator-min-microvolt = <1800000>; 303 + 304 + regulator-state-mem { 305 + regulator-off-in-suspend; 306 + }; 307 + }; 308 + 309 + vcc_sd: LDO_REG9 { 310 + regulator-name = "vcc_sd"; 311 + regulator-always-on; 312 + regulator-boot-on; 313 + regulator-max-microvolt = <3300000>; 314 + regulator-min-microvolt = <3300000>; 315 + 316 + regulator-state-mem { 317 + regulator-off-in-suspend; 318 + }; 319 + }; 320 + 321 + vcc5v0_usb: SWITCH_REG1 { 322 + regulator-name = "vcc5v0_usb"; 323 + regulator-always-on; 324 + regulator-boot-on; 325 + 326 + regulator-state-mem { 327 + regulator-on-in-suspend; 328 + }; 329 + }; 330 + 331 + vccio_3v3: SWITCH_REG2 { 332 + regulator-name = "vccio_3v3"; 333 + regulator-always-on; 334 + regulator-boot-on; 335 + 336 + regulator-state-mem { 337 + regulator-off-in-suspend; 338 + }; 339 + }; 340 + }; 341 + }; 342 + }; 343 + 344 + &i2s2 { 345 + status = "okay"; 346 + }; 347 + 348 + &io_domains { 349 + audio-supply = <&vcca_1v8>; 350 + bt656-supply = <&vcc_3v0>; 351 + gpio1830-supply = <&vcc_3v0>; 352 + sdmmc-supply = <&vccio_sd>; 353 + status = "okay"; 354 + }; 355 + 356 + &pinctrl { 357 + pmic { 358 + pmic_int_l: pmic-int-l { 359 + rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 360 + }; 361 + 362 + vsel1_gpio: vsel1 { 363 + rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 364 + }; 365 + 366 + vsel2_gpio: vsel2 { 367 + rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 368 + }; 369 + }; 370 + }; 371 + 372 + &pmu_io_domains { 373 + pmu1830-supply = <&vcc_1v8>; 374 + status = "okay"; 375 + }; 376 + 377 + &sdhci { 378 + bus-width = <8>; 379 + keep-power-in-suspend; 380 + mmc-hs400-1_8v; 381 + mmc-hs400-enhanced-strobe; 382 + no-sdio; 383 + no-sd; 384 + non-removable; 385 + status = "okay"; 386 + }; 387 + 388 + &sdmmc { 389 + bus-width = <4>; 390 + cap-mmc-highspeed; 391 + cap-sd-highspeed; 392 + disable-wp; 393 + no-sdio; 394 + no-mmc; 395 + pinctrl-names = "default"; 396 + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 397 + sd-uhs-sdr104; 398 + vmmc-supply = <&vcc_sd>; 399 + vqmmc-supply = <&vccio_sd>; 400 + status = "okay"; 401 + }; 402 + 403 + &tcphy0 { 404 + status = "okay"; 405 + }; 406 + 407 + &tcphy1 { 408 + status = "okay"; 409 + }; 410 + 411 + &tsadc { 412 + /* tshut mode 0:CRU 1:GPIO */ 413 + rockchip,hw-tshut-mode = <1>; 414 + /* tshut polarity 0:LOW 1:HIGH */ 415 + rockchip,hw-tshut-polarity = <1>; 416 + status = "okay"; 417 + }; 418 + 419 + &u2phy0 { 420 + status = "okay"; 421 + }; 422 + 423 + &u2phy0_host { 424 + status = "okay"; 425 + }; 426 + 427 + &u2phy0_otg { 428 + status = "okay"; 429 + }; 430 + 431 + &u2phy1 { 432 + status = "okay"; 433 + }; 434 + 435 + &u2phy1_host { 436 + status = "okay"; 437 + }; 438 + 439 + &u2phy1_otg { 440 + status = "okay"; 441 + }; 442 + 443 + &uart2 { 444 + status = "okay"; 445 + }; 446 + 447 + &usb_host0_ehci { 448 + status = "okay"; 449 + }; 450 + 451 + &usb_host0_ohci { 452 + status = "okay"; 453 + }; 454 + 455 + &usb_host1_ehci { 456 + status = "okay"; 457 + }; 458 + 459 + &usb_host1_ohci { 460 + status = "okay"; 461 + }; 462 + 463 + &usbdrd_dwc3_0 { 464 + status = "okay"; 465 + }; 466 + 467 + &usbdrd3_0 { 468 + status = "okay"; 469 + }; 470 + 471 + &usbdrd3_1 { 472 + status = "okay"; 473 + }; 474 + 475 + &usbdrd_dwc3_1 { 476 + dr_mode = "host"; 477 + status = "okay"; 478 + }; 479 + 480 + &vopb { 481 + status = "okay"; 482 + }; 483 + 484 + &vopb_mmu { 485 + status = "okay"; 486 + }; 487 + 488 + &vopl { 489 + status = "okay"; 490 + }; 491 + 492 + &vopl_mmu { 493 + status = "okay"; 494 + };
-8
arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
··· 312 312 status = "okay"; 313 313 }; 314 314 315 - &usb_host0_ehci { 316 - status = "okay"; 317 - }; 318 - 319 - &usb_host0_ohci { 320 - status = "okay"; 321 - }; 322 - 323 315 &vopb { 324 316 status = "okay"; 325 317 };
+24 -24
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
··· 60 60 vin-supply = <&vcc5v0_sys>; 61 61 }; 62 62 63 - vcc5v0_host: regulator-vcc5v0-host { 64 - compatible = "regulator-fixed"; 65 - gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; 66 - pinctrl-names = "default"; 67 - pinctrl-0 = <&vcc5v0_host_en>; 68 - regulator-name = "vcc5v0_host"; 69 - regulator-always-on; 70 - vin-supply = <&vcc5v0_sys>; 71 - }; 72 - 73 63 vcc5v0_sys: regulator-vcc5v0-sys { 74 64 compatible = "regulator-fixed"; 75 65 regulator-name = "vcc5v0_sys"; ··· 517 527 }; 518 528 }; 519 529 520 - usb2 { 521 - vcc5v0_host_en: vcc5v0-host-en { 530 + usb { 531 + cy3304_reset: cy3304-reset { 522 532 rockchip,pins = 523 - <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 533 + <4 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>; 524 534 }; 525 535 }; 526 536 ··· 585 595 u2phy1_otg: otg-port { 586 596 status = "okay"; 587 597 }; 588 - 589 - u2phy1_host: host-port { 590 - phy-supply = <&vcc5v0_host>; 591 - status = "okay"; 592 - }; 593 598 }; 594 599 595 600 &usbdrd3_1 { ··· 594 609 &usbdrd_dwc3_1 { 595 610 status = "okay"; 596 611 dr_mode = "host"; 597 - }; 612 + pinctrl-names = "default"; 613 + pinctrl-0 = <&cy3304_reset>; 614 + #address-cells = <1>; 615 + #size-cells = <0>; 598 616 599 - &usb_host1_ehci { 600 - status = "okay"; 601 - }; 617 + hub_2_0: hub@1 { 618 + compatible = "usb4b4,6502", "usb4b4,6506"; 619 + reg = <1>; 620 + peer-hub = <&hub_3_0>; 621 + reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 622 + vdd-supply = <&vcc1v2_phy>; 623 + vdd2-supply = <&vcc3v3_sys>; 602 624 603 - &usb_host1_ohci { 604 - status = "okay"; 625 + }; 626 + 627 + hub_3_0: hub@2 { 628 + compatible = "usb4b4,6500", "usb4b4,6504"; 629 + reg = <2>; 630 + peer-hub = <&hub_2_0>; 631 + reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 632 + vdd-supply = <&vcc1v2_phy>; 633 + vdd2-supply = <&vcc3v3_sys>; 634 + }; 605 635 };
+62
arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
··· 17 17 compatible = "radxa,e20c", "rockchip,rk3528"; 18 18 19 19 aliases { 20 + ethernet0 = &gmac1; 21 + i2c1 = &i2c1; 20 22 mmc0 = &sdhci; 23 + mmc1 = &sdmmc; 24 + serial0 = &uart0; 21 25 }; 22 26 23 27 chosen { ··· 134 130 regulator-max-microvolt = <5000000>; 135 131 }; 136 132 133 + vccio_sd: regulator-vccio-sd { 134 + compatible = "regulator-gpio"; 135 + gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 136 + pinctrl-names = "default"; 137 + pinctrl-0 = <&sdmmc_vol_ctrl_h>; 138 + regulator-name = "vccio_sd"; 139 + regulator-min-microvolt = <1800000>; 140 + regulator-max-microvolt = <3300000>; 141 + states = <1800000 0x0>, <3300000 0x1>; 142 + vin-supply = <&vcc5v0_sys>; 143 + }; 144 + 137 145 vdd_arm: regulator-vdd-arm { 138 146 compatible = "pwm-regulator"; 139 147 pwms = <&pwm1 0 5000 PWM_POLARITY_INVERTED>; ··· 187 171 cpu-supply = <&vdd_arm>; 188 172 }; 189 173 174 + &gmac1 { 175 + clock_in_out = "output"; 176 + phy-handle = <&rgmii_phy>; 177 + phy-mode = "rgmii-id"; 178 + phy-supply = <&vcc_3v3>; 179 + pinctrl-names = "default"; 180 + pinctrl-0 = <&rgmii_miim>, <&rgmii_tx_bus2>, <&rgmii_rx_bus2>, 181 + <&rgmii_rgmii_clk>, <&rgmii_rgmii_bus>; 182 + status = "okay"; 183 + }; 184 + 190 185 &i2c1 { 191 186 pinctrl-names = "default"; 192 187 pinctrl-0 = <&i2c1m0_xfer>; ··· 212 185 }; 213 186 }; 214 187 188 + &mdio1 { 189 + rgmii_phy: ethernet-phy@1 { 190 + compatible = "ethernet-phy-ieee802.3-c22"; 191 + reg = <0x1>; 192 + pinctrl-names = "default"; 193 + pinctrl-0 = <&gmac1_rstn_l>; 194 + reset-assert-us = <20000>; 195 + reset-deassert-us = <100000>; 196 + reset-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; 197 + }; 198 + }; 199 + 215 200 &pinctrl { 201 + ethernet { 202 + gmac1_rstn_l: gmac1-rstn-l { 203 + rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 204 + }; 205 + }; 206 + 216 207 gpio-keys { 217 208 user_key: user-key { 218 209 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; ··· 248 203 249 204 wan_led_g: wan-led-g { 250 205 rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 206 + }; 207 + }; 208 + 209 + sdmmc { 210 + sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h { 211 + rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 251 212 }; 252 213 }; 253 214 }; ··· 283 232 non-removable; 284 233 vmmc-supply = <&vcc_3v3>; 285 234 vqmmc-supply = <&vcc_1v8>; 235 + status = "okay"; 236 + }; 237 + 238 + &sdmmc { 239 + bus-width = <4>; 240 + cap-mmc-highspeed; 241 + cap-sd-highspeed; 242 + disable-wp; 243 + sd-uhs-sdr104; 244 + vmmc-supply = <&vcc_3v3>; 245 + vqmmc-supply = <&vccio_sd>; 286 246 status = "okay"; 287 247 }; 288 248
+174 -16
arch/arm64/boot/dts/rockchip/rk3528.dtsi
··· 24 24 gpio2 = &gpio2; 25 25 gpio3 = &gpio3; 26 26 gpio4 = &gpio4; 27 - i2c0 = &i2c0; 28 - i2c1 = &i2c1; 29 - i2c2 = &i2c2; 30 - i2c3 = &i2c3; 31 - i2c4 = &i2c4; 32 - i2c5 = &i2c5; 33 - i2c6 = &i2c6; 34 - i2c7 = &i2c7; 35 - serial0 = &uart0; 36 - serial1 = &uart1; 37 - serial2 = &uart2; 38 - serial3 = &uart3; 39 - serial4 = &uart4; 40 - serial5 = &uart5; 41 - serial6 = &uart6; 42 - serial7 = &uart7; 43 27 }; 44 28 45 29 cpus { ··· 311 327 qos_vpu: qos@ff280400 { 312 328 compatible = "rockchip,rk3528-qos", "syscon"; 313 329 reg = <0x0 0xff280400 0x0 0x20>; 330 + }; 331 + 332 + vpu_grf: syscon@ff340000 { 333 + compatible = "rockchip,rk3528-vpu-grf", "syscon"; 334 + reg = <0x0 0xff340000 0x0 0x8000>; 335 + }; 336 + 337 + vo_grf: syscon@ff360000 { 338 + compatible = "rockchip,rk3528-vo-grf", "syscon"; 339 + reg = <0x0 0xff360000 0x0 0x10000>; 314 340 }; 315 341 316 342 cru: clock-controller@ff4a0000 { ··· 661 667 status = "disabled"; 662 668 }; 663 669 670 + gmac0: ethernet@ffbd0000 { 671 + compatible = "rockchip,rk3528-gmac", "snps,dwmac-4.20a"; 672 + reg = <0x0 0xffbd0000 0x0 0x10000>; 673 + clocks = <&cru CLK_GMAC0_SRC>, <&cru CLK_GMAC0_RMII_50M>, 674 + <&cru CLK_GMAC0_RX>, <&cru CLK_GMAC0_TX>, 675 + <&cru PCLK_MAC_VO>, <&cru ACLK_MAC_VO>; 676 + clock-names = "stmmaceth", "clk_mac_ref", 677 + "mac_clk_rx", "mac_clk_tx", 678 + "pclk_mac", "aclk_mac"; 679 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 680 + <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 681 + interrupt-names = "macirq", "eth_wake_irq"; 682 + phy-handle = <&rmii0_phy>; 683 + phy-mode = "rmii"; 684 + resets = <&cru SRST_A_MAC_VO>; 685 + reset-names = "stmmaceth"; 686 + rockchip,grf = <&vo_grf>; 687 + snps,axi-config = <&gmac0_stmmac_axi_setup>; 688 + snps,mixed-burst; 689 + snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 690 + snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 691 + snps,tso; 692 + status = "disabled"; 693 + 694 + mdio0: mdio { 695 + compatible = "snps,dwmac-mdio"; 696 + #address-cells = <0x1>; 697 + #size-cells = <0x0>; 698 + 699 + rmii0_phy: ethernet-phy@2 { 700 + compatible = "ethernet-phy-ieee802.3-c22"; 701 + reg = <0x2>; 702 + clocks = <&cru CLK_MACPHY>; 703 + phy-is-integrated; 704 + pinctrl-names = "default"; 705 + pinctrl-0 = <&fephym0_led_link>, 706 + <&fephym0_led_spd>; 707 + resets = <&cru SRST_MACPHY>; 708 + }; 709 + }; 710 + 711 + gmac0_stmmac_axi_setup: stmmac-axi-config { 712 + snps,blen = <0 0 0 0 16 8 4>; 713 + snps,rd_osr_lmt = <8>; 714 + snps,wr_osr_lmt = <4>; 715 + }; 716 + 717 + gmac0_mtl_rx_setup: rx-queues-config { 718 + snps,rx-queues-to-use = <1>; 719 + queue0 {}; 720 + }; 721 + 722 + gmac0_mtl_tx_setup: tx-queues-config { 723 + snps,tx-queues-to-use = <1>; 724 + queue0 {}; 725 + }; 726 + }; 727 + 728 + gmac1: ethernet@ffbe0000 { 729 + compatible = "rockchip,rk3528-gmac", "snps,dwmac-4.20a"; 730 + reg = <0x0 0xffbe0000 0x0 0x10000>; 731 + clocks = <&cru CLK_GMAC1_SRC_VPU>, 732 + <&cru CLK_GMAC1_RMII_VPU>, 733 + <&cru PCLK_MAC_VPU>, 734 + <&cru ACLK_MAC_VPU>; 735 + clock-names = "stmmaceth", 736 + "clk_mac_ref", 737 + "pclk_mac", 738 + "aclk_mac"; 739 + interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 740 + <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 741 + interrupt-names = "macirq", "eth_wake_irq"; 742 + resets = <&cru SRST_A_MAC>; 743 + reset-names = "stmmaceth"; 744 + rockchip,grf = <&vpu_grf>; 745 + snps,axi-config = <&gmac1_stmmac_axi_setup>; 746 + snps,mixed-burst; 747 + snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 748 + snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 749 + snps,tso; 750 + status = "disabled"; 751 + 752 + mdio1: mdio { 753 + compatible = "snps,dwmac-mdio"; 754 + #address-cells = <0x1>; 755 + #size-cells = <0x0>; 756 + }; 757 + 758 + gmac1_stmmac_axi_setup: stmmac-axi-config { 759 + snps,blen = <0 0 0 0 16 8 4>; 760 + snps,rd_osr_lmt = <8>; 761 + snps,wr_osr_lmt = <4>; 762 + }; 763 + 764 + gmac1_mtl_rx_setup: rx-queues-config { 765 + snps,rx-queues-to-use = <1>; 766 + queue0 {}; 767 + }; 768 + 769 + gmac1_mtl_tx_setup: tx-queues-config { 770 + snps,tx-queues-to-use = <1>; 771 + queue0 {}; 772 + }; 773 + }; 774 + 664 775 sdhci: mmc@ffbf0000 { 665 776 compatible = "rockchip,rk3528-dwcmshc", 666 777 "rockchip,rk3588-dwcmshc"; ··· 787 688 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>, 788 689 <&cru SRST_T_EMMC>; 789 690 reset-names = "core", "bus", "axi", "block", "timer"; 691 + status = "disabled"; 692 + }; 693 + 694 + sdio0: mmc@ffc10000 { 695 + compatible = "rockchip,rk3528-dw-mshc", 696 + "rockchip,rk3288-dw-mshc"; 697 + reg = <0x0 0xffc10000 0x0 0x4000>; 698 + clocks = <&cru HCLK_SDIO0>, 699 + <&cru CCLK_SRC_SDIO0>, 700 + <&cru SCLK_SDIO0_DRV>, 701 + <&cru SCLK_SDIO0_SAMPLE>; 702 + clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 703 + fifo-depth = <0x100>; 704 + interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 705 + max-frequency = <200000000>; 706 + pinctrl-names = "default"; 707 + pinctrl-0 = <&sdio0_bus4>, <&sdio0_clk>, <&sdio0_cmd>; 708 + resets = <&cru SRST_H_SDIO0>; 709 + reset-names = "reset"; 710 + status = "disabled"; 711 + }; 712 + 713 + sdio1: mmc@ffc20000 { 714 + compatible = "rockchip,rk3528-dw-mshc", 715 + "rockchip,rk3288-dw-mshc"; 716 + reg = <0x0 0xffc20000 0x0 0x4000>; 717 + clocks = <&cru HCLK_SDIO1>, 718 + <&cru CCLK_SRC_SDIO1>, 719 + <&cru SCLK_SDIO1_DRV>, 720 + <&cru SCLK_SDIO1_SAMPLE>; 721 + clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 722 + fifo-depth = <0x100>; 723 + interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 724 + max-frequency = <200000000>; 725 + pinctrl-names = "default"; 726 + pinctrl-0 = <&sdio1_bus4>, <&sdio1_clk>, <&sdio1_cmd>; 727 + resets = <&cru SRST_H_SDIO1>; 728 + reset-names = "reset"; 729 + status = "disabled"; 730 + }; 731 + 732 + sdmmc: mmc@ffc30000 { 733 + compatible = "rockchip,rk3528-dw-mshc", 734 + "rockchip,rk3288-dw-mshc"; 735 + reg = <0x0 0xffc30000 0x0 0x4000>; 736 + clocks = <&cru HCLK_SDMMC0>, 737 + <&cru CCLK_SRC_SDMMC0>, 738 + <&cru SCLK_SDMMC_DRV>, 739 + <&cru SCLK_SDMMC_SAMPLE>; 740 + clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 741 + fifo-depth = <0x100>; 742 + interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 743 + max-frequency = <150000000>; 744 + pinctrl-names = "default"; 745 + pinctrl-0 = <&sdmmc_bus4>, <&sdmmc_clk>, <&sdmmc_cmd>, 746 + <&sdmmc_det>; 747 + resets = <&cru SRST_H_SDMMC0>; 748 + reset-names = "reset"; 749 + rockchip,default-sample-phase = <90>; 790 750 status = "disabled"; 791 751 }; 792 752
+456
arch/arm64/boot/dts/rockchip/rk3562-evb2-v10.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2024-2025 Rockchip Electronics Co., Ltd. 4 + * 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include <dt-bindings/gpio/gpio.h> 10 + #include <dt-bindings/input/input.h> 11 + #include <dt-bindings/leds/common.h> 12 + #include <dt-bindings/pinctrl/rockchip.h> 13 + #include "rk3562.dtsi" 14 + 15 + / { 16 + model = "Rockchip RK3562 EVB V20 Board"; 17 + compatible = "rockchip,rk3562-evb2-v10", "rockchip,rk3562"; 18 + 19 + chosen: chosen { 20 + stdout-path = "serial0:1500000n8"; 21 + }; 22 + 23 + adc_keys: adc-keys { 24 + compatible = "adc-keys"; 25 + io-channels = <&saradc0 1>; 26 + io-channel-names = "buttons"; 27 + keyup-threshold-microvolt = <1800000>; 28 + poll-interval = <100>; 29 + 30 + button-vol-up { 31 + linux,code = <KEY_VOLUMEUP>; 32 + label = "volume up"; 33 + press-threshold-microvolt = <17000>; 34 + }; 35 + 36 + button-vol-down { 37 + linux,code = <KEY_VOLUMEDOWN>; 38 + label = "volume down"; 39 + press-threshold-microvolt = <414000>; 40 + }; 41 + 42 + button-menu { 43 + linux,code = <KEY_MENU>; 44 + label = "menu"; 45 + press-threshold-microvolt = <800000>; 46 + }; 47 + 48 + button-back { 49 + linux,code = <KEY_BACK>; 50 + label = "back"; 51 + press-threshold-microvolt = <1200000>; 52 + }; 53 + }; 54 + 55 + leds: leds { 56 + compatible = "gpio-leds"; 57 + 58 + work_led: led-0 { 59 + gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 60 + linux,default-trigger = "heartbeat"; 61 + }; 62 + }; 63 + 64 + sdio_pwrseq: sdio-pwrseq { 65 + compatible = "mmc-pwrseq-simple"; 66 + clocks = <&rk809 1>; 67 + clock-names = "ext_clock"; 68 + pinctrl-names = "default"; 69 + pinctrl-0 = <&wifi_enable_h>; 70 + 71 + /* 72 + * On the module itself this is one of these (depending 73 + * on the actual card populated): 74 + * - SDIO_RESET_L_WL_REG_ON 75 + * - PDN (power down when low) 76 + */ 77 + post-power-on-delay-ms = <200>; 78 + reset-gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>; 79 + }; 80 + 81 + vcc12v_dcin: regulator-vcc12v-dcin { 82 + compatible = "regulator-fixed"; 83 + regulator-name = "vcc12v_dcin"; 84 + regulator-always-on; 85 + regulator-boot-on; 86 + regulator-min-microvolt = <12000000>; 87 + regulator-max-microvolt = <12000000>; 88 + }; 89 + 90 + vcc3v3_pcie20: regulator-vcc3v3-pcie20 { 91 + compatible = "regulator-fixed"; 92 + regulator-name = "vcc3v3_pcie20"; 93 + regulator-min-microvolt = <3300000>; 94 + regulator-max-microvolt = <3300000>; 95 + enable-active-high; 96 + gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 97 + startup-delay-us = <5000>; 98 + vin-supply = <&vcc12v_dcin>; 99 + }; 100 + 101 + vcc5v0_sys: regulator-vcc5v0-sys { 102 + compatible = "regulator-fixed"; 103 + regulator-name = "vcc5v0_sys"; 104 + regulator-always-on; 105 + regulator-boot-on; 106 + regulator-min-microvolt = <5000000>; 107 + regulator-max-microvolt = <5000000>; 108 + vin-supply = <&vcc12v_dcin>; 109 + }; 110 + 111 + vcc5v0_usb: regulator-vcc5v0-usb { 112 + compatible = "regulator-fixed"; 113 + regulator-name = "vcc5v0_usb"; 114 + regulator-always-on; 115 + regulator-boot-on; 116 + regulator-min-microvolt = <5000000>; 117 + regulator-max-microvolt = <5000000>; 118 + vin-supply = <&vcc12v_dcin>; 119 + }; 120 + 121 + vcc5v0_usb_host: regulator-vcc5v0-usb-host { 122 + compatible = "regulator-fixed"; 123 + regulator-name = "vcc5v0_usb_host"; 124 + regulator-boot-on; 125 + regulator-always-on; 126 + regulator-min-microvolt = <5000000>; 127 + regulator-max-microvolt = <5000000>; 128 + enable-active-high; 129 + gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 130 + vin-supply = <&vcc5v0_usb>; 131 + pinctrl-names = "default"; 132 + pinctrl-0 = <&usb_host_pwren>; 133 + }; 134 + 135 + vcc5v0_usb_otg: regulator-vcc5v0-usb-otg { 136 + compatible = "regulator-fixed"; 137 + regulator-name = "vcc5v0_usb_otg"; 138 + regulator-min-microvolt = <5000000>; 139 + regulator-max-microvolt = <5000000>; 140 + enable-active-high; 141 + gpio = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; 142 + vin-supply = <&vcc5v0_usb>; 143 + pinctrl-names = "default"; 144 + pinctrl-0 = <&usb_otg_pwren>; 145 + }; 146 + 147 + vcc3v3_clk: regulator-vcc3v3-clk { 148 + compatible = "regulator-fixed"; 149 + regulator-name = "vcc3v3_clk"; 150 + regulator-min-microvolt = <3300000>; 151 + regulator-max-microvolt = <3300000>; 152 + vin-supply = <&vcc5v0_sys>; 153 + }; 154 + 155 + vcc3v3_sys: regulator-vcc-sys { 156 + compatible = "regulator-fixed"; 157 + regulator-name = "vcc3v3_sys"; 158 + regulator-always-on; 159 + regulator-boot-on; 160 + regulator-min-microvolt = <3300000>; 161 + regulator-max-microvolt = <3300000>; 162 + vin-supply = <&vcc12v_dcin>; 163 + }; 164 + }; 165 + 166 + &combphy { 167 + status = "okay"; 168 + }; 169 + 170 + &i2c0 { 171 + status = "okay"; 172 + 173 + rk809: pmic@20 { 174 + compatible = "rockchip,rk809"; 175 + reg = <0x20>; 176 + interrupt-parent = <&gpio0>; 177 + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 178 + 179 + pinctrl-names = "default", "pmic-sleep", 180 + "pmic-power-off", "pmic-reset"; 181 + pinctrl-0 = <&pmic_int>; 182 + rockchip,system-power-controller; 183 + wakeup-source; 184 + #clock-cells = <1>; 185 + clock-output-names = "rk808-clkout1", "rk808-clkout2"; 186 + 187 + vcc1-supply = <&vcc3v3_sys>; 188 + vcc2-supply = <&vcc3v3_sys>; 189 + vcc3-supply = <&vcc3v3_sys>; 190 + vcc4-supply = <&vcc3v3_sys>; 191 + vcc5-supply = <&vcc3v3_sys>; 192 + vcc6-supply = <&vcc3v3_sys>; 193 + vcc7-supply = <&vcc3v3_sys>; 194 + vcc8-supply = <&vcc3v3_sys>; 195 + vcc9-supply = <&vcc3v3_sys>; 196 + 197 + regulators { 198 + vdd_logic: DCDC_REG1 { 199 + regulator-always-on; 200 + regulator-boot-on; 201 + regulator-min-microvolt = <500000>; 202 + regulator-max-microvolt = <1350000>; 203 + regulator-ramp-delay = <6001>; 204 + regulator-initial-mode = <0x2>; 205 + regulator-name = "vdd_logic"; 206 + regulator-state-mem { 207 + regulator-off-in-suspend; 208 + }; 209 + }; 210 + 211 + vdd_cpu: DCDC_REG2 { 212 + regulator-always-on; 213 + regulator-boot-on; 214 + regulator-min-microvolt = <500000>; 215 + regulator-max-microvolt = <1350000>; 216 + regulator-ramp-delay = <6001>; 217 + regulator-initial-mode = <0x2>; 218 + regulator-name = "vdd_cpu"; 219 + regulator-state-mem { 220 + regulator-off-in-suspend; 221 + }; 222 + }; 223 + 224 + vcc_ddr: DCDC_REG3 { 225 + regulator-always-on; 226 + regulator-boot-on; 227 + regulator-initial-mode = <0x2>; 228 + regulator-name = "vcc_ddr"; 229 + regulator-state-mem { 230 + regulator-on-in-suspend; 231 + }; 232 + }; 233 + 234 + vdd_gpu: DCDC_REG4 { 235 + regulator-always-on; 236 + regulator-boot-on; 237 + regulator-min-microvolt = <500000>; 238 + regulator-max-microvolt = <1350000>; 239 + regulator-ramp-delay = <6001>; 240 + regulator-initial-mode = <0x2>; 241 + regulator-name = "vdd_gpu"; 242 + regulator-state-mem { 243 + regulator-off-in-suspend; 244 + }; 245 + }; 246 + 247 + vcc2v8_dvp: LDO_REG1 { 248 + regulator-min-microvolt = <2800000>; 249 + regulator-max-microvolt = <2800000>; 250 + regulator-name = "vcc2v8_dvp"; 251 + regulator-state-mem { 252 + regulator-off-in-suspend; 253 + }; 254 + }; 255 + 256 + vdda_0v9: LDO_REG2 { 257 + regulator-always-on; 258 + regulator-boot-on; 259 + regulator-min-microvolt = <900000>; 260 + regulator-max-microvolt = <900000>; 261 + regulator-name = "vdda_0v9"; 262 + regulator-state-mem { 263 + regulator-off-in-suspend; 264 + }; 265 + }; 266 + 267 + vdda0v9_pmu: LDO_REG3 { 268 + regulator-always-on; 269 + regulator-boot-on; 270 + regulator-min-microvolt = <900000>; 271 + regulator-max-microvolt = <900000>; 272 + regulator-name = "vdda0v9_pmu"; 273 + regulator-state-mem { 274 + regulator-on-in-suspend; 275 + regulator-suspend-microvolt = <900000>; 276 + }; 277 + }; 278 + 279 + vccio_acodec: LDO_REG4 { 280 + regulator-always-on; 281 + regulator-boot-on; 282 + regulator-min-microvolt = <3000000>; 283 + regulator-max-microvolt = <3000000>; 284 + regulator-name = "vccio_acodec"; 285 + regulator-state-mem { 286 + regulator-off-in-suspend; 287 + }; 288 + }; 289 + 290 + vccio_sd: LDO_REG5 { 291 + regulator-always-on; 292 + regulator-boot-on; 293 + regulator-min-microvolt = <1800000>; 294 + regulator-max-microvolt = <3300000>; 295 + regulator-name = "vccio_sd"; 296 + regulator-state-mem { 297 + regulator-off-in-suspend; 298 + }; 299 + }; 300 + 301 + vcc3v3_pmu: LDO_REG6 { 302 + regulator-always-on; 303 + regulator-boot-on; 304 + regulator-min-microvolt = <3300000>; 305 + regulator-max-microvolt = <3300000>; 306 + regulator-name = "vcc3v3_pmu"; 307 + regulator-state-mem { 308 + regulator-on-in-suspend; 309 + regulator-suspend-microvolt = <3300000>; 310 + }; 311 + }; 312 + 313 + vcca_1v8: LDO_REG7 { 314 + regulator-always-on; 315 + regulator-boot-on; 316 + regulator-min-microvolt = <1800000>; 317 + regulator-max-microvolt = <1800000>; 318 + regulator-name = "vcca_1v8"; 319 + regulator-state-mem { 320 + regulator-off-in-suspend; 321 + }; 322 + }; 323 + 324 + vcca1v8_pmu: LDO_REG8 { 325 + regulator-always-on; 326 + regulator-boot-on; 327 + regulator-min-microvolt = <1800000>; 328 + regulator-max-microvolt = <1800000>; 329 + regulator-name = "vcca1v8_pmu"; 330 + regulator-state-mem { 331 + regulator-on-in-suspend; 332 + regulator-suspend-microvolt = <1800000>; 333 + }; 334 + }; 335 + 336 + vcc1v8_dvp: LDO_REG9 { 337 + regulator-min-microvolt = <1800000>; 338 + regulator-max-microvolt = <1800000>; 339 + regulator-name = "vcc1v8_dvp"; 340 + regulator-state-mem { 341 + regulator-off-in-suspend; 342 + }; 343 + }; 344 + 345 + vcc_1v8: DCDC_REG5 { 346 + regulator-always-on; 347 + regulator-boot-on; 348 + regulator-min-microvolt = <1800000>; 349 + regulator-max-microvolt = <1800000>; 350 + regulator-name = "vcc_1v8"; 351 + regulator-state-mem { 352 + regulator-off-in-suspend; 353 + }; 354 + }; 355 + 356 + vcc_3v3: SWITCH_REG1 { 357 + regulator-always-on; 358 + regulator-boot-on; 359 + regulator-name = "vcc_3v3"; 360 + regulator-state-mem { 361 + regulator-off-in-suspend; 362 + }; 363 + }; 364 + 365 + vcc3v3_sd: SWITCH_REG2 { 366 + regulator-always-on; 367 + regulator-boot-on; 368 + regulator-name = "vcc3v3_sd"; 369 + regulator-state-mem { 370 + regulator-off-in-suspend; 371 + }; 372 + }; 373 + }; 374 + }; 375 + }; 376 + 377 + &pcie2x1 { 378 + reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>; 379 + vpcie3v3-supply = <&vcc3v3_pcie20>; 380 + status = "okay"; 381 + }; 382 + 383 + &pinctrl { 384 + sdio-pwrseq { 385 + wifi_enable_h: wifi-enable-h { 386 + rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 387 + }; 388 + }; 389 + 390 + usb { 391 + usb_host_pwren: usb-host-pwren { 392 + rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 393 + }; 394 + 395 + usb_otg_pwren: usb-otg-pwren { 396 + rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 397 + }; 398 + }; 399 + }; 400 + 401 + &saradc0 { 402 + vref-supply = <&vcc_1v8>; 403 + status = "okay"; 404 + }; 405 + 406 + &sdhci { 407 + bus-width = <8>; 408 + no-sdio; 409 + no-sd; 410 + non-removable; 411 + mmc-hs400-1_8v; 412 + mmc-hs400-enhanced-strobe; 413 + full-pwr-cycle-in-suspend; 414 + status = "okay"; 415 + }; 416 + 417 + &sdmmc0 { 418 + no-sdio; 419 + no-mmc; 420 + bus-width = <4>; 421 + cap-mmc-highspeed; 422 + cap-sd-highspeed; 423 + disable-wp; 424 + pinctrl-names = "default"; 425 + pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 426 + sd-uhs-sdr104; 427 + vmmc-supply = <&vcc3v3_sd>; 428 + vqmmc-supply = <&vccio_sd>; 429 + status = "okay"; 430 + }; 431 + 432 + &sdmmc1 { 433 + no-sd; 434 + no-mmc; 435 + bus-width = <4>; 436 + disable-wp; 437 + cap-sd-highspeed; 438 + cap-sdio-irq; 439 + keep-power-in-suspend; 440 + mmc-pwrseq = <&sdio_pwrseq>; 441 + non-removable; 442 + pinctrl-names = "default"; 443 + pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>; 444 + sd-uhs-sdr104; 445 + status = "okay"; 446 + }; 447 + 448 + &uart0 { 449 + status = "okay"; 450 + }; 451 + 452 + &uart1 { 453 + pinctrl-names = "default"; 454 + pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>; 455 + status = "okay"; 456 + };
+2352
arch/arm64/boot/dts/rockchip/rk3562-pinctrl.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2022 Rockchip Electronics Co., Ltd. 4 + */ 5 + 6 + #include <dt-bindings/pinctrl/rockchip.h> 7 + #include "rockchip-pinconf.dtsi" 8 + 9 + /* 10 + * This file is auto generated by pin2dts tool, please keep these code 11 + * by adding changes at end of this file. 12 + */ 13 + &pinctrl { 14 + cam { 15 + /omit-if-no-ref/ 16 + camm0_clk0_out: camm0-clk0-out { 17 + rockchip,pins = 18 + /* camm0_clk0_out */ 19 + <3 RK_PB2 2 &pcfg_pull_none>; 20 + }; 21 + 22 + /omit-if-no-ref/ 23 + camm0_clk1_out: camm0-clk1-out { 24 + rockchip,pins = 25 + /* camm0_clk1_out */ 26 + <3 RK_PB3 2 &pcfg_pull_none>; 27 + }; 28 + 29 + /omit-if-no-ref/ 30 + camm1_clk0_out: camm1-clk0-out { 31 + rockchip,pins = 32 + /* camm1_clk0_out */ 33 + <4 RK_PB1 3 &pcfg_pull_none>; 34 + }; 35 + 36 + /omit-if-no-ref/ 37 + camm1_clk1_out: camm1-clk1-out { 38 + rockchip,pins = 39 + /* camm1_clk1_out */ 40 + <4 RK_PB7 3 &pcfg_pull_none>; 41 + }; 42 + 43 + /omit-if-no-ref/ 44 + cam_clk2_out: cam-clk2-out { 45 + rockchip,pins = 46 + /* cam_clk2_out */ 47 + <3 RK_PB4 2 &pcfg_pull_none>; 48 + }; 49 + 50 + /omit-if-no-ref/ 51 + cam_clk3_out: cam-clk3-out { 52 + rockchip,pins = 53 + /* cam_clk3_out */ 54 + <3 RK_PB5 2 &pcfg_pull_none>; 55 + }; 56 + }; 57 + 58 + can0 { 59 + /omit-if-no-ref/ 60 + can0m0_pins: can0m0-pins { 61 + rockchip,pins = 62 + /* can0_rx_m0 */ 63 + <3 RK_PA1 4 &pcfg_pull_none>, 64 + /* can0_tx_m0 */ 65 + <3 RK_PA0 4 &pcfg_pull_none>; 66 + }; 67 + 68 + /omit-if-no-ref/ 69 + can0m1_pins: can0m1-pins { 70 + rockchip,pins = 71 + /* can0_rx_m1 */ 72 + <3 RK_PB7 6 &pcfg_pull_none>, 73 + /* can0_tx_m1 */ 74 + <3 RK_PB6 6 &pcfg_pull_none>; 75 + }; 76 + 77 + /omit-if-no-ref/ 78 + can0m2_pins: can0m2-pins { 79 + rockchip,pins = 80 + /* can0_rx_m2 */ 81 + <0 RK_PC7 2 &pcfg_pull_none>, 82 + /* can0_tx_m2 */ 83 + <0 RK_PC6 2 &pcfg_pull_none>; 84 + }; 85 + }; 86 + 87 + can1 { 88 + /omit-if-no-ref/ 89 + can1m0_pins: can1m0-pins { 90 + rockchip,pins = 91 + /* can1_rx_m0 */ 92 + <1 RK_PB7 4 &pcfg_pull_none>, 93 + /* can1_tx_m0 */ 94 + <1 RK_PC0 5 &pcfg_pull_none>; 95 + }; 96 + 97 + /omit-if-no-ref/ 98 + can1m1_pins: can1m1-pins { 99 + rockchip,pins = 100 + /* can1_rx_m1 */ 101 + <0 RK_PC1 4 &pcfg_pull_none>, 102 + /* can1_tx_m1 */ 103 + <0 RK_PC0 4 &pcfg_pull_none>; 104 + }; 105 + }; 106 + 107 + clk { 108 + /omit-if-no-ref/ 109 + clk_32k_in: clk-32k-in { 110 + rockchip,pins = 111 + /* clk_32k_in */ 112 + <0 RK_PB0 1 &pcfg_pull_none>; 113 + }; 114 + }; 115 + 116 + clk0 { 117 + /omit-if-no-ref/ 118 + clk0_32k_out: clk0-32k-out { 119 + rockchip,pins = 120 + /* clk0_32k_out */ 121 + <0 RK_PB0 2 &pcfg_pull_none>; 122 + }; 123 + }; 124 + 125 + clk1 { 126 + /omit-if-no-ref/ 127 + clk1_32k_out: clk1-32k-out { 128 + rockchip,pins = 129 + /* clk1_32k_out */ 130 + <2 RK_PA1 3 &pcfg_pull_none>; 131 + }; 132 + }; 133 + 134 + cpu { 135 + /omit-if-no-ref/ 136 + cpu_pins: cpu-pins { 137 + rockchip,pins = 138 + /* cpu_avs */ 139 + <0 RK_PB7 3 &pcfg_pull_none>; 140 + }; 141 + }; 142 + 143 + dsm { 144 + /omit-if-no-ref/ 145 + dsm_pins: dsm-pins { 146 + rockchip,pins = 147 + /* dsm_aud_ln */ 148 + <1 RK_PB4 5 &pcfg_pull_none>, 149 + /* dsm_aud_lp */ 150 + <1 RK_PB3 5 &pcfg_pull_none>, 151 + /* dsm_aud_rn */ 152 + <1 RK_PB6 6 &pcfg_pull_none>, 153 + /* dsm_aud_rp */ 154 + <1 RK_PB5 6 &pcfg_pull_none>; 155 + }; 156 + }; 157 + 158 + emmc { 159 + /omit-if-no-ref/ 160 + emmc_bus8: emmc-bus8 { 161 + rockchip,pins = 162 + /* emmc_d0 */ 163 + <1 RK_PA0 1 &pcfg_pull_up_drv_level_2>, 164 + /* emmc_d1 */ 165 + <1 RK_PA1 1 &pcfg_pull_up_drv_level_2>, 166 + /* emmc_d2 */ 167 + <1 RK_PA2 1 &pcfg_pull_up_drv_level_2>, 168 + /* emmc_d3 */ 169 + <1 RK_PA3 1 &pcfg_pull_up_drv_level_2>, 170 + /* emmc_d4 */ 171 + <1 RK_PA4 1 &pcfg_pull_up_drv_level_2>, 172 + /* emmc_d5 */ 173 + <1 RK_PA5 1 &pcfg_pull_up_drv_level_2>, 174 + /* emmc_d6 */ 175 + <1 RK_PA6 1 &pcfg_pull_up_drv_level_2>, 176 + /* emmc_d7 */ 177 + <1 RK_PA7 1 &pcfg_pull_up_drv_level_2>; 178 + }; 179 + 180 + /omit-if-no-ref/ 181 + emmc_clk: emmc-clk { 182 + rockchip,pins = 183 + /* emmc_clk */ 184 + <1 RK_PB1 1 &pcfg_pull_up_drv_level_2>; 185 + }; 186 + 187 + /omit-if-no-ref/ 188 + emmc_cmd: emmc-cmd { 189 + rockchip,pins = 190 + /* emmc_cmd */ 191 + <1 RK_PB0 1 &pcfg_pull_up_drv_level_2>; 192 + }; 193 + 194 + /omit-if-no-ref/ 195 + emmc_strb: emmc-strb { 196 + rockchip,pins = 197 + /* emmc_strb */ 198 + <1 RK_PB2 1 &pcfg_pull_none>; 199 + }; 200 + }; 201 + 202 + eth { 203 + /omit-if-no-ref/ 204 + ethm0_pins: ethm0-pins { 205 + rockchip,pins = 206 + /* eth_clk_25m_out_m0 */ 207 + <4 RK_PB1 2 &pcfg_pull_none>; 208 + }; 209 + 210 + /omit-if-no-ref/ 211 + ethm1_pins: ethm1-pins { 212 + rockchip,pins = 213 + /* eth_clk_25m_out_m1 */ 214 + <2 RK_PA1 2 &pcfg_pull_none>; 215 + }; 216 + }; 217 + 218 + fspi { 219 + /omit-if-no-ref/ 220 + fspi_pins: fspi-pins { 221 + rockchip,pins = 222 + /* fspi_clk */ 223 + <1 RK_PB1 2 &pcfg_pull_none>, 224 + /* fspi_d0 */ 225 + <1 RK_PA0 2 &pcfg_pull_none>, 226 + /* fspi_d1 */ 227 + <1 RK_PA1 2 &pcfg_pull_none>, 228 + /* fspi_d2 */ 229 + <1 RK_PA2 2 &pcfg_pull_none>, 230 + /* fspi_d3 */ 231 + <1 RK_PA3 2 &pcfg_pull_none>; 232 + }; 233 + 234 + /omit-if-no-ref/ 235 + fspi_csn0: fspi-csn0 { 236 + rockchip,pins = 237 + /* fspi_csn0 */ 238 + <1 RK_PB0 2 &pcfg_pull_none>; 239 + }; 240 + /omit-if-no-ref/ 241 + fspi_csn1: fspi-csn1 { 242 + rockchip,pins = 243 + /* fspi_csn1 */ 244 + <1 RK_PB2 2 &pcfg_pull_none>; 245 + }; 246 + }; 247 + 248 + gpu { 249 + /omit-if-no-ref/ 250 + gpu_pins: gpu-pins { 251 + rockchip,pins = 252 + /* gpu_avs */ 253 + <0 RK_PC0 3 &pcfg_pull_none>; 254 + }; 255 + }; 256 + 257 + i2c0 { 258 + /omit-if-no-ref/ 259 + i2c0_xfer: i2c0-xfer { 260 + rockchip,pins = 261 + /* i2c0_scl */ 262 + <0 RK_PB1 1 &pcfg_pull_none_smt>, 263 + /* i2c0_sda */ 264 + <0 RK_PB2 1 &pcfg_pull_none_smt>; 265 + }; 266 + }; 267 + 268 + i2c1 { 269 + /omit-if-no-ref/ 270 + i2c1m0_xfer: i2c1m0-xfer { 271 + rockchip,pins = 272 + /* i2c1_scl_m0 */ 273 + <0 RK_PB3 1 &pcfg_pull_none_smt>, 274 + /* i2c1_sda_m0 */ 275 + <0 RK_PB4 1 &pcfg_pull_none_smt>; 276 + }; 277 + 278 + /omit-if-no-ref/ 279 + i2c1m1_xfer: i2c1m1-xfer { 280 + rockchip,pins = 281 + /* i2c1_scl_m1 */ 282 + <4 RK_PB4 5 &pcfg_pull_none_smt>, 283 + /* i2c1_sda_m1 */ 284 + <4 RK_PB5 5 &pcfg_pull_none_smt>; 285 + }; 286 + }; 287 + 288 + i2c2 { 289 + /omit-if-no-ref/ 290 + i2c2m0_xfer: i2c2m0-xfer { 291 + rockchip,pins = 292 + /* i2c2_scl_m0 */ 293 + <0 RK_PB5 1 &pcfg_pull_none_smt>, 294 + /* i2c2_sda_m0 */ 295 + <0 RK_PB6 1 &pcfg_pull_none_smt>; 296 + }; 297 + 298 + /omit-if-no-ref/ 299 + i2c2m1_xfer: i2c2m1-xfer { 300 + rockchip,pins = 301 + /* i2c2_scl_m1 */ 302 + <3 RK_PD2 5 &pcfg_pull_none_smt>, 303 + /* i2c2_sda_m1 */ 304 + <3 RK_PD3 5 &pcfg_pull_none_smt>; 305 + }; 306 + }; 307 + 308 + i2c3 { 309 + /omit-if-no-ref/ 310 + i2c3m0_xfer: i2c3m0-xfer { 311 + rockchip,pins = 312 + /* i2c3_scl_m0 */ 313 + <3 RK_PA0 1 &pcfg_pull_none_smt>, 314 + /* i2c3_sda_m0 */ 315 + <3 RK_PA1 1 &pcfg_pull_none_smt>; 316 + }; 317 + 318 + /omit-if-no-ref/ 319 + i2c3m1_xfer: i2c3m1-xfer { 320 + rockchip,pins = 321 + /* i2c3_scl_m1 */ 322 + <4 RK_PA5 5 &pcfg_pull_none_smt>, 323 + /* i2c3_sda_m1 */ 324 + <4 RK_PA6 5 &pcfg_pull_none_smt>; 325 + }; 326 + }; 327 + 328 + i2c4 { 329 + /omit-if-no-ref/ 330 + i2c4m0_xfer: i2c4m0-xfer { 331 + rockchip,pins = 332 + /* i2c4_scl_m0 */ 333 + <3 RK_PB6 5 &pcfg_pull_none_smt>, 334 + /* i2c4_sda_m0 */ 335 + <3 RK_PB7 5 &pcfg_pull_none_smt>; 336 + }; 337 + 338 + /omit-if-no-ref/ 339 + i2c4m1_xfer: i2c4m1-xfer { 340 + rockchip,pins = 341 + /* i2c4_scl_m1 */ 342 + <0 RK_PA5 2 &pcfg_pull_none_smt>, 343 + /* i2c4_sda_m1 */ 344 + <0 RK_PA4 2 &pcfg_pull_none_smt>; 345 + }; 346 + }; 347 + 348 + i2c5 { 349 + /omit-if-no-ref/ 350 + i2c5m0_xfer: i2c5m0-xfer { 351 + rockchip,pins = 352 + /* i2c5_scl_m0 */ 353 + <3 RK_PC2 1 &pcfg_pull_none_smt>, 354 + /* i2c5_sda_m0 */ 355 + <3 RK_PC3 1 &pcfg_pull_none_smt>; 356 + }; 357 + 358 + /omit-if-no-ref/ 359 + i2c5m1_xfer: i2c5m1-xfer { 360 + rockchip,pins = 361 + /* i2c5_scl_m1 */ 362 + <1 RK_PC7 4 &pcfg_pull_none_smt>, 363 + /* i2c5_sda_m1 */ 364 + <1 RK_PD0 4 &pcfg_pull_none_smt>; 365 + }; 366 + }; 367 + 368 + i2s0 { 369 + /omit-if-no-ref/ 370 + i2s0m0_lrck: i2s0m0-lrck { 371 + rockchip,pins = 372 + /* i2s0_lrck_m0 */ 373 + <3 RK_PA4 1 &pcfg_pull_none_smt>; 374 + }; 375 + 376 + /omit-if-no-ref/ 377 + i2s0m0_mclk: i2s0m0-mclk { 378 + rockchip,pins = 379 + /* i2s0_mclk_m0 */ 380 + <3 RK_PA2 1 &pcfg_pull_none_smt>; 381 + }; 382 + 383 + /omit-if-no-ref/ 384 + i2s0m0_sclk: i2s0m0-sclk { 385 + rockchip,pins = 386 + /* i2s0_sclk_m0 */ 387 + <3 RK_PA3 1 &pcfg_pull_none_smt>; 388 + }; 389 + 390 + /omit-if-no-ref/ 391 + i2s0m0_sdi0: i2s0m0-sdi0 { 392 + rockchip,pins = 393 + /* i2s0_sdi0_m0 */ 394 + <3 RK_PB1 1 &pcfg_pull_none>; 395 + }; 396 + 397 + /omit-if-no-ref/ 398 + i2s0m0_sdi1: i2s0m0-sdi1 { 399 + rockchip,pins = 400 + /* i2s0_sdi1_m0 */ 401 + <3 RK_PB0 2 &pcfg_pull_none>; 402 + }; 403 + 404 + /omit-if-no-ref/ 405 + i2s0m0_sdi2: i2s0m0-sdi2 { 406 + rockchip,pins = 407 + /* i2s0_sdi2_m0 */ 408 + <3 RK_PA7 2 &pcfg_pull_none>; 409 + }; 410 + 411 + /omit-if-no-ref/ 412 + i2s0m0_sdi3: i2s0m0-sdi3 { 413 + rockchip,pins = 414 + /* i2s0_sdi3_m0 */ 415 + <3 RK_PA6 2 &pcfg_pull_none>; 416 + }; 417 + 418 + /omit-if-no-ref/ 419 + i2s0m0_sdo0: i2s0m0-sdo0 { 420 + rockchip,pins = 421 + /* i2s0_sdo0_m0 */ 422 + <3 RK_PA5 1 &pcfg_pull_none>; 423 + }; 424 + 425 + /omit-if-no-ref/ 426 + i2s0m0_sdo1: i2s0m0-sdo1 { 427 + rockchip,pins = 428 + /* i2s0_sdo1_m0 */ 429 + <3 RK_PA6 1 &pcfg_pull_none>; 430 + }; 431 + 432 + /omit-if-no-ref/ 433 + i2s0m0_sdo2: i2s0m0-sdo2 { 434 + rockchip,pins = 435 + /* i2s0_sdo2_m0 */ 436 + <3 RK_PA7 1 &pcfg_pull_none>; 437 + }; 438 + 439 + /omit-if-no-ref/ 440 + i2s0m0_sdo3: i2s0m0-sdo3 { 441 + rockchip,pins = 442 + /* i2s0_sdo3_m0 */ 443 + <3 RK_PB0 1 &pcfg_pull_none>; 444 + }; 445 + 446 + /omit-if-no-ref/ 447 + i2s0m1_lrck: i2s0m1-lrck { 448 + rockchip,pins = 449 + /* i2s0_lrck_m1 */ 450 + <1 RK_PC4 3 &pcfg_pull_none_smt>; 451 + }; 452 + 453 + /omit-if-no-ref/ 454 + i2s0m1_mclk: i2s0m1-mclk { 455 + rockchip,pins = 456 + /* i2s0_mclk_m1 */ 457 + <1 RK_PC6 3 &pcfg_pull_none_smt>; 458 + }; 459 + 460 + /omit-if-no-ref/ 461 + i2s0m1_sclk: i2s0m1-sclk { 462 + rockchip,pins = 463 + /* i2s0_sclk_m1 */ 464 + <1 RK_PC5 3 &pcfg_pull_none_smt>; 465 + }; 466 + 467 + /omit-if-no-ref/ 468 + i2s0m1_sdi0: i2s0m1-sdi0 { 469 + rockchip,pins = 470 + /* i2s0_sdi0_m1 */ 471 + <1 RK_PC1 3 &pcfg_pull_none>; 472 + }; 473 + 474 + /omit-if-no-ref/ 475 + i2s0m1_sdi1: i2s0m1-sdi1 { 476 + rockchip,pins = 477 + /* i2s0_sdi1_m1 */ 478 + <1 RK_PC2 3 &pcfg_pull_none>; 479 + }; 480 + 481 + /omit-if-no-ref/ 482 + i2s0m1_sdi2: i2s0m1-sdi2 { 483 + rockchip,pins = 484 + /* i2s0_sdi2_m1 */ 485 + <1 RK_PD3 3 &pcfg_pull_none>; 486 + }; 487 + 488 + /omit-if-no-ref/ 489 + i2s0m1_sdi3: i2s0m1-sdi3 { 490 + rockchip,pins = 491 + /* i2s0_sdi3_m1 */ 492 + <1 RK_PD4 3 &pcfg_pull_none>; 493 + }; 494 + 495 + /omit-if-no-ref/ 496 + i2s0m1_sdo0: i2s0m1-sdo0 { 497 + rockchip,pins = 498 + /* i2s0_sdo0_m1 */ 499 + <1 RK_PC3 3 &pcfg_pull_none>; 500 + }; 501 + 502 + /omit-if-no-ref/ 503 + i2s0m1_sdo1: i2s0m1-sdo1 { 504 + rockchip,pins = 505 + /* i2s0_sdo1_m1 */ 506 + <1 RK_PD1 3 &pcfg_pull_none>; 507 + }; 508 + 509 + /omit-if-no-ref/ 510 + i2s0m1_sdo2: i2s0m1-sdo2 { 511 + rockchip,pins = 512 + /* i2s0_sdo2_m1 */ 513 + <1 RK_PD2 3 &pcfg_pull_none>; 514 + }; 515 + 516 + /omit-if-no-ref/ 517 + i2s0m1_sdo3: i2s0m1-sdo3 { 518 + rockchip,pins = 519 + /* i2s0_sdo3_m1 */ 520 + <2 RK_PA1 5 &pcfg_pull_none>; 521 + }; 522 + }; 523 + 524 + i2s1 { 525 + /omit-if-no-ref/ 526 + i2s1m0_lrck: i2s1m0-lrck { 527 + rockchip,pins = 528 + /* i2s1_lrck_m0 */ 529 + <3 RK_PC6 2 &pcfg_pull_none_smt>; 530 + }; 531 + 532 + /omit-if-no-ref/ 533 + i2s1m0_mclk: i2s1m0-mclk { 534 + rockchip,pins = 535 + /* i2s1_mclk_m0 */ 536 + <3 RK_PC4 2 &pcfg_pull_none_smt>; 537 + }; 538 + 539 + /omit-if-no-ref/ 540 + i2s1m0_sclk: i2s1m0-sclk { 541 + rockchip,pins = 542 + /* i2s1_sclk_m0 */ 543 + <3 RK_PC5 2 &pcfg_pull_none_smt>; 544 + }; 545 + 546 + /omit-if-no-ref/ 547 + i2s1m0_sdi0: i2s1m0-sdi0 { 548 + rockchip,pins = 549 + /* i2s1_sdi0_m0 */ 550 + <3 RK_PD0 2 &pcfg_pull_none>; 551 + }; 552 + 553 + /omit-if-no-ref/ 554 + i2s1m0_sdi1: i2s1m0-sdi1 { 555 + rockchip,pins = 556 + /* i2s1_sdi1_m0 */ 557 + <3 RK_PD1 2 &pcfg_pull_none>; 558 + }; 559 + 560 + /omit-if-no-ref/ 561 + i2s1m0_sdi2: i2s1m0-sdi2 { 562 + rockchip,pins = 563 + /* i2s1_sdi2_m0 */ 564 + <3 RK_PD2 2 &pcfg_pull_none>; 565 + }; 566 + 567 + /omit-if-no-ref/ 568 + i2s1m0_sdi3: i2s1m0-sdi3 { 569 + rockchip,pins = 570 + /* i2s1_sdi3_m0 */ 571 + <3 RK_PD3 2 &pcfg_pull_none>; 572 + }; 573 + 574 + /omit-if-no-ref/ 575 + i2s1m0_sdo0: i2s1m0-sdo0 { 576 + rockchip,pins = 577 + /* i2s1_sdo0_m0 */ 578 + <3 RK_PC7 2 &pcfg_pull_none>; 579 + }; 580 + 581 + /omit-if-no-ref/ 582 + i2s1m0_sdo1: i2s1m0-sdo1 { 583 + rockchip,pins = 584 + /* i2s1_sdo1_m0 */ 585 + <4 RK_PB4 2 &pcfg_pull_none>; 586 + }; 587 + 588 + /omit-if-no-ref/ 589 + i2s1m0_sdo2: i2s1m0-sdo2 { 590 + rockchip,pins = 591 + /* i2s1_sdo2_m0 */ 592 + <4 RK_PB5 2 &pcfg_pull_none>; 593 + }; 594 + 595 + /omit-if-no-ref/ 596 + i2s1m0_sdo3: i2s1m0-sdo3 { 597 + rockchip,pins = 598 + /* i2s1_sdo3_m0 */ 599 + <4 RK_PB6 2 &pcfg_pull_none>; 600 + }; 601 + 602 + /omit-if-no-ref/ 603 + i2s1m1_lrck: i2s1m1-lrck { 604 + rockchip,pins = 605 + /* i2s1_lrck_m1 */ 606 + <3 RK_PB4 1 &pcfg_pull_none_smt>; 607 + }; 608 + 609 + /omit-if-no-ref/ 610 + i2s1m1_mclk: i2s1m1-mclk { 611 + rockchip,pins = 612 + /* i2s1_mclk_m1 */ 613 + <3 RK_PB2 1 &pcfg_pull_none_smt>; 614 + }; 615 + 616 + /omit-if-no-ref/ 617 + i2s1m1_sclk: i2s1m1-sclk { 618 + rockchip,pins = 619 + /* i2s1_sclk_m1 */ 620 + <3 RK_PB3 1 &pcfg_pull_none_smt>; 621 + }; 622 + 623 + /omit-if-no-ref/ 624 + i2s1m1_sdi0: i2s1m1-sdi0 { 625 + rockchip,pins = 626 + /* i2s1_sdi0_m1 */ 627 + <3 RK_PC1 1 &pcfg_pull_none>; 628 + }; 629 + 630 + /omit-if-no-ref/ 631 + i2s1m1_sdi1: i2s1m1-sdi1 { 632 + rockchip,pins = 633 + /* i2s1_sdi1_m1 */ 634 + <3 RK_PC0 2 &pcfg_pull_none>; 635 + }; 636 + 637 + /omit-if-no-ref/ 638 + i2s1m1_sdi2: i2s1m1-sdi2 { 639 + rockchip,pins = 640 + /* i2s1_sdi2_m1 */ 641 + <3 RK_PB7 2 &pcfg_pull_none>; 642 + }; 643 + 644 + /omit-if-no-ref/ 645 + i2s1m1_sdi3: i2s1m1-sdi3 { 646 + rockchip,pins = 647 + /* i2s1_sdi3_m1 */ 648 + <3 RK_PB6 2 &pcfg_pull_none>; 649 + }; 650 + 651 + /omit-if-no-ref/ 652 + i2s1m1_sdo0: i2s1m1-sdo0 { 653 + rockchip,pins = 654 + /* i2s1_sdo0_m1 */ 655 + <3 RK_PB5 1 &pcfg_pull_none>; 656 + }; 657 + 658 + /omit-if-no-ref/ 659 + i2s1m1_sdo1: i2s1m1-sdo1 { 660 + rockchip,pins = 661 + /* i2s1_sdo1_m1 */ 662 + <3 RK_PB6 1 &pcfg_pull_none>; 663 + }; 664 + 665 + /omit-if-no-ref/ 666 + i2s1m1_sdo2: i2s1m1-sdo2 { 667 + rockchip,pins = 668 + /* i2s1_sdo2_m1 */ 669 + <3 RK_PB7 1 &pcfg_pull_none>; 670 + }; 671 + 672 + /omit-if-no-ref/ 673 + i2s1m1_sdo3: i2s1m1-sdo3 { 674 + rockchip,pins = 675 + /* i2s1_sdo3_m1 */ 676 + <3 RK_PC0 1 &pcfg_pull_none>; 677 + }; 678 + }; 679 + 680 + i2s2 { 681 + /omit-if-no-ref/ 682 + i2s2m0_lrck: i2s2m0-lrck { 683 + rockchip,pins = 684 + /* i2s2_lrck_m0 */ 685 + <1 RK_PD6 1 &pcfg_pull_none_smt>; 686 + }; 687 + 688 + /omit-if-no-ref/ 689 + i2s2m0_mclk: i2s2m0-mclk { 690 + rockchip,pins = 691 + /* i2s2_mclk_m0 */ 692 + <2 RK_PA1 1 &pcfg_pull_none_smt>; 693 + }; 694 + 695 + /omit-if-no-ref/ 696 + i2s2m0_sclk: i2s2m0-sclk { 697 + rockchip,pins = 698 + /* i2s2_sclk_m0 */ 699 + <1 RK_PD5 1 &pcfg_pull_none_smt>; 700 + }; 701 + 702 + /omit-if-no-ref/ 703 + i2s2m0_sdi: i2s2m0-sdi { 704 + rockchip,pins = 705 + /* i2s2_sdi_m0 */ 706 + <2 RK_PA0 1 &pcfg_pull_none>; 707 + }; 708 + 709 + /omit-if-no-ref/ 710 + i2s2m0_sdo: i2s2m0-sdo { 711 + rockchip,pins = 712 + /* i2s2_sdo_m0 */ 713 + <1 RK_PD7 1 &pcfg_pull_none>; 714 + }; 715 + 716 + /omit-if-no-ref/ 717 + i2s2m1_lrck: i2s2m1-lrck { 718 + rockchip,pins = 719 + /* i2s2_lrck_m1 */ 720 + <4 RK_PA1 3 &pcfg_pull_none_smt>; 721 + }; 722 + 723 + /omit-if-no-ref/ 724 + i2s2m1_mclk: i2s2m1-mclk { 725 + rockchip,pins = 726 + /* i2s2_mclk_m1 */ 727 + <3 RK_PD6 3 &pcfg_pull_none_smt>; 728 + }; 729 + 730 + /omit-if-no-ref/ 731 + i2s2m1_sclk: i2s2m1-sclk { 732 + rockchip,pins = 733 + /* i2s2_sclk_m1 */ 734 + <4 RK_PB1 4 &pcfg_pull_none_smt>; 735 + }; 736 + 737 + /omit-if-no-ref/ 738 + i2s2m1_sdi: i2s2m1-sdi { 739 + rockchip,pins = 740 + /* i2s2_sdi_m1 */ 741 + <3 RK_PD4 4 &pcfg_pull_none>; 742 + }; 743 + 744 + /omit-if-no-ref/ 745 + i2s2m1_sdo: i2s2m1-sdo { 746 + rockchip,pins = 747 + /* i2s2_sdo_m1 */ 748 + <3 RK_PD5 4 &pcfg_pull_none>; 749 + }; 750 + }; 751 + 752 + isp { 753 + /omit-if-no-ref/ 754 + isp_pins: isp-pins { 755 + rockchip,pins = 756 + /* isp_flash_trigin */ 757 + <3 RK_PC1 2 &pcfg_pull_none>, 758 + /* isp_flash_trigout */ 759 + <3 RK_PC3 2 &pcfg_pull_none>, 760 + /* isp_prelight_trigout */ 761 + <3 RK_PC2 2 &pcfg_pull_none>; 762 + }; 763 + }; 764 + 765 + jtag { 766 + /omit-if-no-ref/ 767 + jtagm0_pins: jtagm0-pins { 768 + rockchip,pins = 769 + /* jtag_cpu_mcu_tck_m0 */ 770 + <0 RK_PD1 2 &pcfg_pull_none>, 771 + /* jtag_cpu_mcu_tms_m0 */ 772 + <0 RK_PD0 2 &pcfg_pull_none>; 773 + }; 774 + 775 + /omit-if-no-ref/ 776 + jtagm1_pins: jtagm1-pins { 777 + rockchip,pins = 778 + /* jtag_cpu_mcu_tck_m1 */ 779 + <1 RK_PB5 2 &pcfg_pull_none>, 780 + /* jtag_cpu_mcu_tms_m1 */ 781 + <1 RK_PB6 2 &pcfg_pull_none>; 782 + }; 783 + }; 784 + 785 + npu { 786 + /omit-if-no-ref/ 787 + npu_pins: npu-pins { 788 + rockchip,pins = 789 + /* npu_avs */ 790 + <0 RK_PC1 3 &pcfg_pull_none>; 791 + }; 792 + }; 793 + 794 + pcie20 { 795 + /omit-if-no-ref/ 796 + pcie20m0_pins: pcie20m0-pins { 797 + rockchip,pins = 798 + /* pcie20_clkreqn_m0 */ 799 + <0 RK_PA6 1 &pcfg_pull_none>, 800 + /* pcie20_perstn_m0 */ 801 + <0 RK_PB5 2 &pcfg_pull_none>, 802 + /* pcie20_waken_m0 */ 803 + <0 RK_PB6 2 &pcfg_pull_none>; 804 + }; 805 + 806 + /omit-if-no-ref/ 807 + pcie20m1_pins: pcie20m1-pins { 808 + rockchip,pins = 809 + /* pcie20_clkreqn_m1 */ 810 + <3 RK_PA6 4 &pcfg_pull_none>, 811 + /* pcie20_perstn_m1 */ 812 + <3 RK_PB0 4 &pcfg_pull_none>, 813 + /* pcie20_waken_m1 */ 814 + <3 RK_PA7 4 &pcfg_pull_none>; 815 + }; 816 + 817 + /omit-if-no-ref/ 818 + pcie20_buttonrstn: pcie20-buttonrstn { 819 + rockchip,pins = 820 + /* pcie20_buttonrstn */ 821 + <0 RK_PB0 3 &pcfg_pull_none>; 822 + }; 823 + }; 824 + 825 + pdm { 826 + /omit-if-no-ref/ 827 + pdmm0_clk0: pdmm0-clk0 { 828 + rockchip,pins = 829 + /* pdm_clk0_m0 */ 830 + <3 RK_PA6 3 &pcfg_pull_none>; 831 + }; 832 + 833 + /omit-if-no-ref/ 834 + pdmm0_clk1: pdmm0-clk1 { 835 + rockchip,pins = 836 + /* pdm_clk1_m0 */ 837 + <3 RK_PA2 3 &pcfg_pull_none>; 838 + }; 839 + 840 + /omit-if-no-ref/ 841 + pdmm0_sdi0: pdmm0-sdi0 { 842 + rockchip,pins = 843 + /* pdm_sdi0_m0 */ 844 + <3 RK_PB1 2 &pcfg_pull_none>; 845 + }; 846 + 847 + /omit-if-no-ref/ 848 + pdmm0_sdi1: pdmm0-sdi1 { 849 + rockchip,pins = 850 + /* pdm_sdi1_m0 */ 851 + <3 RK_PB0 3 &pcfg_pull_none>; 852 + }; 853 + 854 + /omit-if-no-ref/ 855 + pdmm0_sdi2: pdmm0-sdi2 { 856 + rockchip,pins = 857 + /* pdm_sdi2_m0 */ 858 + <3 RK_PA7 3 &pcfg_pull_none>; 859 + }; 860 + 861 + /omit-if-no-ref/ 862 + pdmm0_sdi3: pdmm0-sdi3 { 863 + rockchip,pins = 864 + /* pdm_sdi3_m0 */ 865 + <3 RK_PA0 3 &pcfg_pull_none>; 866 + }; 867 + 868 + /omit-if-no-ref/ 869 + pdmm1_clk0: pdmm1-clk0 { 870 + rockchip,pins = 871 + /* pdm_clk0_m1 */ 872 + <4 RK_PB7 4 &pcfg_pull_none>; 873 + }; 874 + 875 + /omit-if-no-ref/ 876 + pdmm1_clk1: pdmm1-clk1 { 877 + rockchip,pins = 878 + /* pdm_clk1_m1 */ 879 + <4 RK_PB1 5 &pcfg_pull_none>; 880 + }; 881 + 882 + /omit-if-no-ref/ 883 + pdmm1_sdi0: pdmm1-sdi0 { 884 + rockchip,pins = 885 + /* pdm_sdi0_m1 */ 886 + <4 RK_PA7 4 &pcfg_pull_none>; 887 + }; 888 + 889 + /omit-if-no-ref/ 890 + pdmm1_sdi1: pdmm1-sdi1 { 891 + rockchip,pins = 892 + /* pdm_sdi1_m1 */ 893 + <4 RK_PB0 4 &pcfg_pull_none>; 894 + }; 895 + 896 + /omit-if-no-ref/ 897 + pdmm1_sdi2: pdmm1-sdi2 { 898 + rockchip,pins = 899 + /* pdm_sdi2_m1 */ 900 + <4 RK_PA5 4 &pcfg_pull_none>; 901 + }; 902 + 903 + /omit-if-no-ref/ 904 + pdmm1_sdi3: pdmm1-sdi3 { 905 + rockchip,pins = 906 + /* pdm_sdi3_m1 */ 907 + <4 RK_PA6 4 &pcfg_pull_none>; 908 + }; 909 + }; 910 + 911 + pmic { 912 + /omit-if-no-ref/ 913 + pmic_int: pmic-int { 914 + rockchip,pins = 915 + <0 RK_PA3 0 &pcfg_pull_up>; 916 + }; 917 + 918 + /omit-if-no-ref/ 919 + soc_slppin_gpio: soc-slppin-gpio { 920 + rockchip,pins = 921 + <0 RK_PA2 0 &pcfg_output_low>; 922 + }; 923 + 924 + /omit-if-no-ref/ 925 + soc_slppin_slp: soc-slppin-slp { 926 + rockchip,pins = 927 + <0 RK_PA2 1 &pcfg_pull_none>; 928 + }; 929 + }; 930 + 931 + pmu { 932 + /omit-if-no-ref/ 933 + pmu_pins: pmu-pins { 934 + rockchip,pins = 935 + /* pmu_debug */ 936 + <0 RK_PA5 3 &pcfg_pull_none>; 937 + }; 938 + }; 939 + 940 + pwm0 { 941 + /omit-if-no-ref/ 942 + pwm0m0_pins: pwm0m0-pins { 943 + rockchip,pins = 944 + /* pwm0_m0 */ 945 + <0 RK_PC3 2 &pcfg_pull_none_drv_level_1>; 946 + }; 947 + 948 + /omit-if-no-ref/ 949 + pwm0m1_pins: pwm0m1-pins { 950 + rockchip,pins = 951 + /* pwm0_m1 */ 952 + <1 RK_PC5 4 &pcfg_pull_none_drv_level_1>; 953 + }; 954 + }; 955 + 956 + pwm1 { 957 + /omit-if-no-ref/ 958 + pwm1m0_pins: pwm1m0-pins { 959 + rockchip,pins = 960 + /* pwm1_m0 */ 961 + <0 RK_PC4 2 &pcfg_pull_none_drv_level_1>; 962 + }; 963 + 964 + /omit-if-no-ref/ 965 + pwm1m1_pins: pwm1m1-pins { 966 + rockchip,pins = 967 + /* pwm1_m1 */ 968 + <1 RK_PC6 4 &pcfg_pull_none_drv_level_1>; 969 + }; 970 + }; 971 + 972 + pwm2 { 973 + /omit-if-no-ref/ 974 + pwm2m0_pins: pwm2m0-pins { 975 + rockchip,pins = 976 + /* pwm2_m0 */ 977 + <0 RK_PC5 2 &pcfg_pull_none_drv_level_1>; 978 + }; 979 + 980 + /omit-if-no-ref/ 981 + pwm2m1_pins: pwm2m1-pins { 982 + rockchip,pins = 983 + /* pwm2_m1 */ 984 + <1 RK_PC7 3 &pcfg_pull_none_drv_level_1>; 985 + }; 986 + }; 987 + 988 + pwm3 { 989 + /omit-if-no-ref/ 990 + pwm3m0_pins: pwm3m0-pins { 991 + rockchip,pins = 992 + /* pwm3_m0 */ 993 + <0 RK_PA7 1 &pcfg_pull_none_drv_level_1>; 994 + }; 995 + 996 + /omit-if-no-ref/ 997 + pwm3m1_pins: pwm3m1-pins { 998 + rockchip,pins = 999 + /* pwm3_m1 */ 1000 + <1 RK_PD0 3 &pcfg_pull_none_drv_level_1>; 1001 + }; 1002 + }; 1003 + 1004 + pwm4 { 1005 + /omit-if-no-ref/ 1006 + pwm4m0_pins: pwm4m0-pins { 1007 + rockchip,pins = 1008 + /* pwm4_m0 */ 1009 + <0 RK_PB7 2 &pcfg_pull_none_drv_level_1>; 1010 + }; 1011 + 1012 + /omit-if-no-ref/ 1013 + pwm4m1_pins: pwm4m1-pins { 1014 + rockchip,pins = 1015 + /* pwm4_m1 */ 1016 + <1 RK_PD1 4 &pcfg_pull_none_drv_level_1>; 1017 + }; 1018 + }; 1019 + 1020 + pwm5 { 1021 + /omit-if-no-ref/ 1022 + pwm5m0_pins: pwm5m0-pins { 1023 + rockchip,pins = 1024 + /* pwm5_m0 */ 1025 + <0 RK_PC2 2 &pcfg_pull_none_drv_level_1>; 1026 + }; 1027 + 1028 + /omit-if-no-ref/ 1029 + pwm5m1_pins: pwm5m1-pins { 1030 + rockchip,pins = 1031 + /* pwm5_m1 */ 1032 + <1 RK_PD2 4 &pcfg_pull_none_drv_level_1>; 1033 + }; 1034 + }; 1035 + 1036 + pwm6 { 1037 + /omit-if-no-ref/ 1038 + pwm6m0_pins: pwm6m0-pins { 1039 + rockchip,pins = 1040 + /* pwm6_m0 */ 1041 + <0 RK_PC1 2 &pcfg_pull_none_drv_level_1>; 1042 + }; 1043 + 1044 + /omit-if-no-ref/ 1045 + pwm6m1_pins: pwm6m1-pins { 1046 + rockchip,pins = 1047 + /* pwm6_m1 */ 1048 + <1 RK_PD3 4 &pcfg_pull_none_drv_level_1>; 1049 + }; 1050 + }; 1051 + 1052 + pwm7 { 1053 + /omit-if-no-ref/ 1054 + pwm7m0_pins: pwm7m0-pins { 1055 + rockchip,pins = 1056 + /* pwm7_m0 */ 1057 + <0 RK_PC0 2 &pcfg_pull_none_drv_level_1>; 1058 + }; 1059 + 1060 + /omit-if-no-ref/ 1061 + pwm7m1_pins: pwm7m1-pins { 1062 + rockchip,pins = 1063 + /* pwm7_m1 */ 1064 + <1 RK_PD4 4 &pcfg_pull_none_drv_level_1>; 1065 + }; 1066 + }; 1067 + 1068 + pwm8 { 1069 + /omit-if-no-ref/ 1070 + pwm8m0_pins: pwm8m0-pins { 1071 + rockchip,pins = 1072 + /* pwm8_m0 */ 1073 + <3 RK_PA4 2 &pcfg_pull_none_drv_level_1>; 1074 + }; 1075 + 1076 + /omit-if-no-ref/ 1077 + pwm8m1_pins: pwm8m1-pins { 1078 + rockchip,pins = 1079 + /* pwm8_m1 */ 1080 + <1 RK_PC1 4 &pcfg_pull_none_drv_level_1>; 1081 + }; 1082 + }; 1083 + 1084 + pwm9 { 1085 + /omit-if-no-ref/ 1086 + pwm9m0_pins: pwm9m0-pins { 1087 + rockchip,pins = 1088 + /* pwm9_m0 */ 1089 + <3 RK_PA5 2 &pcfg_pull_none_drv_level_1>; 1090 + }; 1091 + 1092 + /omit-if-no-ref/ 1093 + pwm9m1_pins: pwm9m1-pins { 1094 + rockchip,pins = 1095 + /* pwm9_m1 */ 1096 + <1 RK_PC2 4 &pcfg_pull_none_drv_level_1>; 1097 + }; 1098 + }; 1099 + 1100 + pwm10 { 1101 + /omit-if-no-ref/ 1102 + pwm10m0_pins: pwm10m0-pins { 1103 + rockchip,pins = 1104 + /* pwm10_m0 */ 1105 + <1 RK_PB5 5 &pcfg_pull_none_drv_level_1>; 1106 + }; 1107 + 1108 + /omit-if-no-ref/ 1109 + pwm10m1_pins: pwm10m1-pins { 1110 + rockchip,pins = 1111 + /* pwm10_m1 */ 1112 + <1 RK_PC3 4 &pcfg_pull_none_drv_level_1>; 1113 + }; 1114 + }; 1115 + 1116 + pwm11 { 1117 + /omit-if-no-ref/ 1118 + pwm11m0_pins: pwm11m0-pins { 1119 + rockchip,pins = 1120 + /* pwm11_m0 */ 1121 + <1 RK_PB6 5 &pcfg_pull_none_drv_level_1>; 1122 + }; 1123 + 1124 + /omit-if-no-ref/ 1125 + pwm11m1_pins: pwm11m1-pins { 1126 + rockchip,pins = 1127 + /* pwm11_m1 */ 1128 + <1 RK_PC4 4 &pcfg_pull_none_drv_level_1>; 1129 + }; 1130 + }; 1131 + 1132 + pwm12 { 1133 + /omit-if-no-ref/ 1134 + pwm12m0_pins: pwm12m0-pins { 1135 + rockchip,pins = 1136 + /* pwm12_m0 */ 1137 + <4 RK_PA1 4 &pcfg_pull_none_drv_level_1>; 1138 + }; 1139 + 1140 + /omit-if-no-ref/ 1141 + pwm12m1_pins: pwm12m1-pins { 1142 + rockchip,pins = 1143 + /* pwm12_m1 */ 1144 + <3 RK_PB4 5 &pcfg_pull_none_drv_level_1>; 1145 + }; 1146 + }; 1147 + 1148 + pwm13 { 1149 + /omit-if-no-ref/ 1150 + pwm13m0_pins: pwm13m0-pins { 1151 + rockchip,pins = 1152 + /* pwm13_m0 */ 1153 + <4 RK_PA4 3 &pcfg_pull_none_drv_level_1>; 1154 + }; 1155 + 1156 + /omit-if-no-ref/ 1157 + pwm13m1_pins: pwm13m1-pins { 1158 + rockchip,pins = 1159 + /* pwm13_m1 */ 1160 + <3 RK_PB5 5 &pcfg_pull_none_drv_level_1>; 1161 + }; 1162 + }; 1163 + 1164 + pwm14 { 1165 + /omit-if-no-ref/ 1166 + pwm14m0_pins: pwm14m0-pins { 1167 + rockchip,pins = 1168 + /* pwm14_m0 */ 1169 + <3 RK_PC5 4 &pcfg_pull_none_drv_level_1>; 1170 + }; 1171 + 1172 + /omit-if-no-ref/ 1173 + pwm14m1_pins: pwm14m1-pins { 1174 + rockchip,pins = 1175 + /* pwm14_m1 */ 1176 + <1 RK_PD7 5 &pcfg_pull_none_drv_level_1>; 1177 + }; 1178 + }; 1179 + 1180 + pwm15 { 1181 + /omit-if-no-ref/ 1182 + pwm15m0_pins: pwm15m0-pins { 1183 + rockchip,pins = 1184 + /* pwm15_m0 */ 1185 + <3 RK_PC6 4 &pcfg_pull_none_drv_level_1>; 1186 + }; 1187 + 1188 + /omit-if-no-ref/ 1189 + pwm15m1_pins: pwm15m1-pins { 1190 + rockchip,pins = 1191 + /* pwm15_m1 */ 1192 + <2 RK_PA0 5 &pcfg_pull_none_drv_level_1>; 1193 + }; 1194 + }; 1195 + 1196 + pwr { 1197 + /omit-if-no-ref/ 1198 + pwr_pins: pwr-pins { 1199 + rockchip,pins = 1200 + /* pwr_ctrl0 */ 1201 + <0 RK_PA2 1 &pcfg_pull_none>, 1202 + /* pwr_ctrl1 */ 1203 + <0 RK_PA3 1 &pcfg_pull_none>; 1204 + }; 1205 + }; 1206 + 1207 + ref { 1208 + /omit-if-no-ref/ 1209 + ref_pins: ref-pins { 1210 + rockchip,pins = 1211 + /* ref_clk_out */ 1212 + <0 RK_PA0 1 &pcfg_pull_none>; 1213 + }; 1214 + }; 1215 + 1216 + rgmii { 1217 + /omit-if-no-ref/ 1218 + rgmiim0_miim: rgmiim0-miim { 1219 + rockchip,pins = 1220 + /* rgmii_mdc_m0 */ 1221 + <4 RK_PB2 2 &pcfg_pull_none>, 1222 + /* rgmii_mdio_m0 */ 1223 + <4 RK_PB3 2 &pcfg_pull_none>; 1224 + }; 1225 + 1226 + /omit-if-no-ref/ 1227 + rgmiim0_rx_er: rgmiim0-rx_er { 1228 + rockchip,pins = 1229 + /* rgmii_rxer_m0 */ 1230 + <4 RK_PB0 2 &pcfg_pull_none>; 1231 + }; 1232 + 1233 + /omit-if-no-ref/ 1234 + rgmiim0_rx_bus2: rgmiim0-rx_bus2 { 1235 + rockchip,pins = 1236 + /* rgmii_rxd0_m0 */ 1237 + <4 RK_PA5 2 &pcfg_pull_none>, 1238 + /* rgmii_rxd1_m0 */ 1239 + <4 RK_PA6 2 &pcfg_pull_none>, 1240 + /* rgmii_rxdv_m0 */ 1241 + <4 RK_PA7 2 &pcfg_pull_none>; 1242 + }; 1243 + 1244 + /omit-if-no-ref/ 1245 + rgmiim0_tx_bus2: rgmiim0-tx_bus2 { 1246 + rockchip,pins = 1247 + /* rgmii_txd0_m0 */ 1248 + <4 RK_PA2 2 &pcfg_pull_none>, 1249 + /* rgmii_txd1_m0 */ 1250 + <4 RK_PA3 2 &pcfg_pull_none>, 1251 + /* rgmii_txen_m0 */ 1252 + <4 RK_PA4 2 &pcfg_pull_none>; 1253 + }; 1254 + 1255 + /omit-if-no-ref/ 1256 + rgmiim0_rgmii_clk: rgmiim0-rgmii_clk { 1257 + rockchip,pins = 1258 + /* rgmii_rxclk_m0 */ 1259 + <4 RK_PA1 2 &pcfg_pull_none>, 1260 + /* rgmii_txclk_m0 */ 1261 + <3 RK_PD6 2 &pcfg_pull_none>; 1262 + }; 1263 + 1264 + /omit-if-no-ref/ 1265 + rgmiim0_rgmii_bus: rgmiim0-rgmii_bus { 1266 + rockchip,pins = 1267 + /* rgmii_rxd2_m0 */ 1268 + <3 RK_PD7 2 &pcfg_pull_none>, 1269 + /* rgmii_rxd3_m0 */ 1270 + <4 RK_PA0 2 &pcfg_pull_none>, 1271 + /* rgmii_txd2_m0 */ 1272 + <3 RK_PD4 2 &pcfg_pull_none>, 1273 + /* rgmii_txd3_m0 */ 1274 + <3 RK_PD5 2 &pcfg_pull_none>; 1275 + }; 1276 + 1277 + /omit-if-no-ref/ 1278 + rgmiim0_clk: rgmiim0-clk { 1279 + rockchip,pins = 1280 + /* rgmiim0_clk */ 1281 + <4 RK_PB7 2 &pcfg_pull_none>; 1282 + }; 1283 + 1284 + /omit-if-no-ref/ 1285 + rgmiim1_miim: rgmiim1-miim { 1286 + rockchip,pins = 1287 + /* rgmii_mdc_m1 */ 1288 + <1 RK_PC7 2 &pcfg_pull_none>, 1289 + /* rgmii_mdio_m1 */ 1290 + <1 RK_PD0 2 &pcfg_pull_none>; 1291 + }; 1292 + 1293 + /omit-if-no-ref/ 1294 + rgmiim1_rx_er: rgmiim1-rx_er { 1295 + rockchip,pins = 1296 + /* rgmii_rxer_m1 */ 1297 + <2 RK_PA0 2 &pcfg_pull_none>; 1298 + }; 1299 + 1300 + /omit-if-no-ref/ 1301 + rgmiim1_rx_bus2: rgmiim1-rx_bus2 { 1302 + rockchip,pins = 1303 + /* rgmii_rxd0_m1 */ 1304 + <1 RK_PD4 2 &pcfg_pull_none>, 1305 + /* rgmii_rxd1_m1 */ 1306 + <1 RK_PD7 2 &pcfg_pull_none>, 1307 + /* rgmii_rxdv_m1 */ 1308 + <1 RK_PD6 2 &pcfg_pull_none>; 1309 + }; 1310 + 1311 + /omit-if-no-ref/ 1312 + rgmiim1_tx_bus2: rgmiim1-tx_bus2 { 1313 + rockchip,pins = 1314 + /* rgmii_txd0_m1 */ 1315 + <1 RK_PD1 2 &pcfg_pull_none>, 1316 + /* rgmii_txd1_m1 */ 1317 + <1 RK_PD2 2 &pcfg_pull_none>, 1318 + /* rgmii_txen_m1 */ 1319 + <1 RK_PD3 2 &pcfg_pull_none>; 1320 + }; 1321 + 1322 + /omit-if-no-ref/ 1323 + rgmiim1_rgmii_clk: rgmiim1-rgmii_clk { 1324 + rockchip,pins = 1325 + /* rgmii_rxclk_m1 */ 1326 + <1 RK_PC6 2 &pcfg_pull_none>, 1327 + /* rgmii_txclk_m1 */ 1328 + <1 RK_PC3 2 &pcfg_pull_none>; 1329 + }; 1330 + 1331 + /omit-if-no-ref/ 1332 + rgmiim1_rgmii_bus: rgmiim1-rgmii_bus { 1333 + rockchip,pins = 1334 + /* rgmii_rxd2_m1 */ 1335 + <1 RK_PC4 2 &pcfg_pull_none>, 1336 + /* rgmii_rxd3_m1 */ 1337 + <1 RK_PC5 2 &pcfg_pull_none>, 1338 + /* rgmii_txd2_m1 */ 1339 + <1 RK_PC1 2 &pcfg_pull_none>, 1340 + /* rgmii_txd3_m1 */ 1341 + <1 RK_PC2 2 &pcfg_pull_none>; 1342 + }; 1343 + 1344 + /omit-if-no-ref/ 1345 + rgmiim1_clk: rgmiim1-clk { 1346 + rockchip,pins = 1347 + /* rgmiim1_clk */ 1348 + <1 RK_PD5 2 &pcfg_pull_none>; 1349 + }; 1350 + }; 1351 + 1352 + rmii { 1353 + /omit-if-no-ref/ 1354 + rmii_pins: rmii-pins { 1355 + rockchip,pins = 1356 + /* rmii_clk */ 1357 + <1 RK_PD5 5 &pcfg_pull_none>, 1358 + /* rmii_mdc */ 1359 + <1 RK_PC7 5 &pcfg_pull_none>, 1360 + /* rmii_mdio */ 1361 + <1 RK_PD0 5 &pcfg_pull_none>, 1362 + /* rmii_rxd0 */ 1363 + <1 RK_PD4 5 &pcfg_pull_none>, 1364 + /* rmii_rxd1 */ 1365 + <1 RK_PD7 6 &pcfg_pull_none>, 1366 + /* rmii_rxdv_crs */ 1367 + <1 RK_PD6 5 &pcfg_pull_none>, 1368 + /* rmii_rxer */ 1369 + <2 RK_PA0 6 &pcfg_pull_none>, 1370 + /* rmii_txd0 */ 1371 + <1 RK_PD1 5 &pcfg_pull_none>, 1372 + /* rmii_txd1 */ 1373 + <1 RK_PD2 5 &pcfg_pull_none>, 1374 + /* rmii_txen */ 1375 + <1 RK_PD3 5 &pcfg_pull_none>; 1376 + }; 1377 + }; 1378 + 1379 + sdmmc0 { 1380 + /omit-if-no-ref/ 1381 + sdmmc0_bus4: sdmmc0-bus4 { 1382 + rockchip,pins = 1383 + /* sdmmc0_d0 */ 1384 + <1 RK_PB3 1 &pcfg_pull_up_drv_level_2>, 1385 + /* sdmmc0_d1 */ 1386 + <1 RK_PB4 1 &pcfg_pull_up_drv_level_2>, 1387 + /* sdmmc0_d2 */ 1388 + <1 RK_PB5 1 &pcfg_pull_up_drv_level_2>, 1389 + /* sdmmc0_d3 */ 1390 + <1 RK_PB6 1 &pcfg_pull_up_drv_level_2>; 1391 + }; 1392 + 1393 + /omit-if-no-ref/ 1394 + sdmmc0_clk: sdmmc0-clk { 1395 + rockchip,pins = 1396 + /* sdmmc0_clk */ 1397 + <1 RK_PC0 1 &pcfg_pull_up_drv_level_2>; 1398 + }; 1399 + 1400 + /omit-if-no-ref/ 1401 + sdmmc0_cmd: sdmmc0-cmd { 1402 + rockchip,pins = 1403 + /* sdmmc0_cmd */ 1404 + <1 RK_PB7 1 &pcfg_pull_up_drv_level_2>; 1405 + }; 1406 + 1407 + /omit-if-no-ref/ 1408 + sdmmc0_det: sdmmc0-det { 1409 + rockchip,pins = 1410 + /* sdmmc0_detn */ 1411 + <0 RK_PA4 1 &pcfg_pull_up>; 1412 + }; 1413 + 1414 + /omit-if-no-ref/ 1415 + sdmmc0_pwren: sdmmc0-pwren { 1416 + rockchip,pins = 1417 + /* sdmmc0_pwren */ 1418 + <0 RK_PA5 1 &pcfg_pull_none>; 1419 + }; 1420 + }; 1421 + 1422 + sdmmc1 { 1423 + /omit-if-no-ref/ 1424 + sdmmc1_bus4: sdmmc1-bus4 { 1425 + rockchip,pins = 1426 + /* sdmmc1_d0 */ 1427 + <1 RK_PC1 1 &pcfg_pull_up_drv_level_2>, 1428 + /* sdmmc1_d1 */ 1429 + <1 RK_PC2 1 &pcfg_pull_up_drv_level_2>, 1430 + /* sdmmc1_d2 */ 1431 + <1 RK_PC3 1 &pcfg_pull_up_drv_level_2>, 1432 + /* sdmmc1_d3 */ 1433 + <1 RK_PC4 1 &pcfg_pull_up_drv_level_2>; 1434 + }; 1435 + 1436 + /omit-if-no-ref/ 1437 + sdmmc1_clk: sdmmc1-clk { 1438 + rockchip,pins = 1439 + /* sdmmc1_clk */ 1440 + <1 RK_PC6 1 &pcfg_pull_up_drv_level_2>; 1441 + }; 1442 + 1443 + /omit-if-no-ref/ 1444 + sdmmc1_cmd: sdmmc1-cmd { 1445 + rockchip,pins = 1446 + /* sdmmc1_cmd */ 1447 + <1 RK_PC5 1 &pcfg_pull_up_drv_level_2>; 1448 + }; 1449 + 1450 + /omit-if-no-ref/ 1451 + sdmmc1_det: sdmmc1-det { 1452 + rockchip,pins = 1453 + /* sdmmc1_detn */ 1454 + <1 RK_PD0 1 &pcfg_pull_up>; 1455 + }; 1456 + 1457 + /omit-if-no-ref/ 1458 + sdmmc1_pwren: sdmmc1-pwren { 1459 + rockchip,pins = 1460 + /* sdmmc1_pwren */ 1461 + <1 RK_PC7 1 &pcfg_pull_none>; 1462 + }; 1463 + }; 1464 + 1465 + spdif { 1466 + /omit-if-no-ref/ 1467 + spdifm0_pins: spdifm0-pins { 1468 + rockchip,pins = 1469 + /* spdif_tx_m0 */ 1470 + <3 RK_PA1 3 &pcfg_pull_none>; 1471 + }; 1472 + 1473 + /omit-if-no-ref/ 1474 + spdifm1_pins: spdifm1-pins { 1475 + rockchip,pins = 1476 + /* spdif_tx_m1 */ 1477 + <0 RK_PB7 4 &pcfg_pull_none>; 1478 + }; 1479 + 1480 + /omit-if-no-ref/ 1481 + spdifm2_pins: spdifm2-pins { 1482 + rockchip,pins = 1483 + /* spdif_tx_m2 */ 1484 + <1 RK_PB7 2 &pcfg_pull_none>; 1485 + }; 1486 + }; 1487 + 1488 + spi0 { 1489 + /omit-if-no-ref/ 1490 + spi0m0_pins: spi0m0-pins { 1491 + rockchip,pins = 1492 + /* spi0_clk_m0 */ 1493 + <0 RK_PC3 3 &pcfg_pull_none_drv_level_3>, 1494 + /* spi0_miso_m0 */ 1495 + <0 RK_PC5 3 &pcfg_pull_none_drv_level_3>, 1496 + /* spi0_mosi_m0 */ 1497 + <0 RK_PC4 3 &pcfg_pull_none_drv_level_3>; 1498 + }; 1499 + 1500 + /omit-if-no-ref/ 1501 + spi0m0_csn0: spi0m0-csn0 { 1502 + rockchip,pins = 1503 + /* spi0m0_csn0 */ 1504 + <0 RK_PC2 3 &pcfg_pull_none_drv_level_3>; 1505 + }; 1506 + /omit-if-no-ref/ 1507 + spi0m0_csn1: spi0m0-csn1 { 1508 + rockchip,pins = 1509 + /* spi0m0_csn1 */ 1510 + <0 RK_PB7 1 &pcfg_pull_none_drv_level_3>; 1511 + }; 1512 + 1513 + /omit-if-no-ref/ 1514 + spi0m1_pins: spi0m1-pins { 1515 + rockchip,pins = 1516 + /* spi0_clk_m1 */ 1517 + <3 RK_PB5 4 &pcfg_pull_none_drv_level_3>, 1518 + /* spi0_miso_m1 */ 1519 + <3 RK_PC0 4 &pcfg_pull_none_drv_level_3>, 1520 + /* spi0_mosi_m1 */ 1521 + <3 RK_PB4 4 &pcfg_pull_none_drv_level_3>; 1522 + }; 1523 + 1524 + /omit-if-no-ref/ 1525 + spi0m1_csn0: spi0m1-csn0 { 1526 + rockchip,pins = 1527 + /* spi0m1_csn0 */ 1528 + <3 RK_PB7 4 &pcfg_pull_none_drv_level_3>; 1529 + }; 1530 + /omit-if-no-ref/ 1531 + spi0m1_csn1: spi0m1-csn1 { 1532 + rockchip,pins = 1533 + /* spi0m1_csn1 */ 1534 + <3 RK_PB6 4 &pcfg_pull_none_drv_level_3>; 1535 + }; 1536 + }; 1537 + 1538 + spi1 { 1539 + /omit-if-no-ref/ 1540 + spi1m0_pins: spi1m0-pins { 1541 + rockchip,pins = 1542 + /* spi1_clk_m0 */ 1543 + <3 RK_PD6 4 &pcfg_pull_none_drv_level_3>, 1544 + /* spi1_miso_m0 */ 1545 + <4 RK_PA3 4 &pcfg_pull_none_drv_level_3>, 1546 + /* spi1_mosi_m0 */ 1547 + <4 RK_PA2 4 &pcfg_pull_none_drv_level_3>; 1548 + }; 1549 + 1550 + /omit-if-no-ref/ 1551 + spi1m0_csn0: spi1m0-csn0 { 1552 + rockchip,pins = 1553 + /* spi1m0_csn0 */ 1554 + <3 RK_PD7 4 &pcfg_pull_none_drv_level_3>; 1555 + }; 1556 + /omit-if-no-ref/ 1557 + spi1m0_csn1: spi1m0-csn1 { 1558 + rockchip,pins = 1559 + /* spi1m0_csn1 */ 1560 + <4 RK_PA0 4 &pcfg_pull_none_drv_level_3>; 1561 + }; 1562 + 1563 + /omit-if-no-ref/ 1564 + spi1m1_pins: spi1m1-pins { 1565 + rockchip,pins = 1566 + /* spi1_clk_m1 */ 1567 + <1 RK_PC0 4 &pcfg_pull_none_drv_level_3>, 1568 + /* spi1_miso_m1 */ 1569 + <1 RK_PB4 4 &pcfg_pull_none_drv_level_3>, 1570 + /* spi1_mosi_m1 */ 1571 + <1 RK_PB3 4 &pcfg_pull_none_drv_level_3>; 1572 + }; 1573 + 1574 + /omit-if-no-ref/ 1575 + spi1m1_csn0: spi1m1-csn0 { 1576 + rockchip,pins = 1577 + /* spi1m1_csn0 */ 1578 + <1 RK_PB6 4 &pcfg_pull_none_drv_level_3>; 1579 + }; 1580 + /omit-if-no-ref/ 1581 + spi1m1_csn1: spi1m1-csn1 { 1582 + rockchip,pins = 1583 + /* spi1m1_csn1 */ 1584 + <1 RK_PB5 4 &pcfg_pull_none_drv_level_3>; 1585 + }; 1586 + }; 1587 + 1588 + spi2 { 1589 + /omit-if-no-ref/ 1590 + spi2m0_pins: spi2m0-pins { 1591 + rockchip,pins = 1592 + /* spi2_clk_m0 */ 1593 + <4 RK_PB6 4 &pcfg_pull_none_drv_level_3>, 1594 + /* spi2_miso_m0 */ 1595 + <3 RK_PD2 4 &pcfg_pull_none_drv_level_3>, 1596 + /* spi2_mosi_m0 */ 1597 + <3 RK_PD3 4 &pcfg_pull_none_drv_level_3>; 1598 + }; 1599 + 1600 + /omit-if-no-ref/ 1601 + spi2m0_csn0: spi2m0-csn0 { 1602 + rockchip,pins = 1603 + /* spi2m0_csn0 */ 1604 + <4 RK_PB5 4 &pcfg_pull_none_drv_level_3>; 1605 + }; 1606 + /omit-if-no-ref/ 1607 + spi2m0_csn1: spi2m0-csn1 { 1608 + rockchip,pins = 1609 + /* spi2m0_csn1 */ 1610 + <4 RK_PB4 4 &pcfg_pull_none_drv_level_3>; 1611 + }; 1612 + 1613 + /omit-if-no-ref/ 1614 + spi2m1_pins: spi2m1-pins { 1615 + rockchip,pins = 1616 + /* spi2_clk_m1 */ 1617 + <2 RK_PA1 4 &pcfg_pull_none_drv_level_3>, 1618 + /* spi2_miso_m1 */ 1619 + <2 RK_PA0 4 &pcfg_pull_none_drv_level_3>, 1620 + /* spi2_mosi_m1 */ 1621 + <1 RK_PD7 4 &pcfg_pull_none_drv_level_3>; 1622 + }; 1623 + 1624 + /omit-if-no-ref/ 1625 + spi2m1_csn0: spi2m1-csn0 { 1626 + rockchip,pins = 1627 + /* spi2m1_csn0 */ 1628 + <1 RK_PD6 4 &pcfg_pull_none_drv_level_3>; 1629 + }; 1630 + /omit-if-no-ref/ 1631 + spi2m1_csn1: spi2m1-csn1 { 1632 + rockchip,pins = 1633 + /* spi2m1_csn1 */ 1634 + <1 RK_PD5 4 &pcfg_pull_none_drv_level_3>; 1635 + }; 1636 + }; 1637 + 1638 + tsadc { 1639 + /omit-if-no-ref/ 1640 + tsadcm0_pins: tsadcm0-pins { 1641 + rockchip,pins = 1642 + /* tsadc_shut_m0 */ 1643 + <0 RK_PA1 1 &pcfg_pull_none>; 1644 + }; 1645 + 1646 + /omit-if-no-ref/ 1647 + tsadcm1_pins: tsadcm1-pins { 1648 + rockchip,pins = 1649 + /* tsadc_shut_m1 */ 1650 + <0 RK_PA2 2 &pcfg_pull_none>; 1651 + }; 1652 + 1653 + /omit-if-no-ref/ 1654 + tsadc_shut_org: tsadc-shut-org { 1655 + rockchip,pins = 1656 + /* tsadc_shut_org */ 1657 + <0 RK_PA1 2 &pcfg_pull_none>; 1658 + }; 1659 + }; 1660 + 1661 + uart0 { 1662 + /omit-if-no-ref/ 1663 + uart0m0_xfer: uart0m0-xfer { 1664 + rockchip,pins = 1665 + /* uart0_rx_m0 */ 1666 + <0 RK_PD0 1 &pcfg_pull_up>, 1667 + /* uart0_tx_m0 */ 1668 + <0 RK_PD1 1 &pcfg_pull_up>; 1669 + }; 1670 + 1671 + /omit-if-no-ref/ 1672 + uart0m1_xfer: uart0m1-xfer { 1673 + rockchip,pins = 1674 + /* uart0_rx_m1 */ 1675 + <1 RK_PB3 2 &pcfg_pull_up>, 1676 + /* uart0_tx_m1 */ 1677 + <1 RK_PB4 2 &pcfg_pull_up>; 1678 + }; 1679 + }; 1680 + 1681 + uart1 { 1682 + /omit-if-no-ref/ 1683 + uart1m0_xfer: uart1m0-xfer { 1684 + rockchip,pins = 1685 + /* uart1_rx_m0 */ 1686 + <1 RK_PD1 1 &pcfg_pull_up>, 1687 + /* uart1_tx_m0 */ 1688 + <1 RK_PD2 1 &pcfg_pull_up>; 1689 + }; 1690 + 1691 + /omit-if-no-ref/ 1692 + uart1m0_ctsn: uart1m0-ctsn { 1693 + rockchip,pins = 1694 + /* uart1m0_ctsn */ 1695 + <1 RK_PD4 1 &pcfg_pull_none>; 1696 + }; 1697 + /omit-if-no-ref/ 1698 + uart1m0_rtsn: uart1m0-rtsn { 1699 + rockchip,pins = 1700 + /* uart1m0_rtsn */ 1701 + <1 RK_PD3 1 &pcfg_pull_none>; 1702 + }; 1703 + 1704 + /omit-if-no-ref/ 1705 + uart1m1_xfer: uart1m1-xfer { 1706 + rockchip,pins = 1707 + /* uart1_rx_m1 */ 1708 + <4 RK_PA6 3 &pcfg_pull_up>, 1709 + /* uart1_tx_m1 */ 1710 + <4 RK_PA5 3 &pcfg_pull_up>; 1711 + }; 1712 + 1713 + /omit-if-no-ref/ 1714 + uart1m1_ctsn: uart1m1-ctsn { 1715 + rockchip,pins = 1716 + /* uart1m1_ctsn */ 1717 + <4 RK_PB0 3 &pcfg_pull_none>; 1718 + }; 1719 + /omit-if-no-ref/ 1720 + uart1m1_rtsn: uart1m1-rtsn { 1721 + rockchip,pins = 1722 + /* uart1m1_rtsn */ 1723 + <4 RK_PA7 3 &pcfg_pull_none>; 1724 + }; 1725 + }; 1726 + 1727 + uart2 { 1728 + /omit-if-no-ref/ 1729 + uart2m0_xfer: uart2m0-xfer { 1730 + rockchip,pins = 1731 + /* uart2_rx_m0 */ 1732 + <0 RK_PC1 1 &pcfg_pull_up>, 1733 + /* uart2_tx_m0 */ 1734 + <0 RK_PC0 1 &pcfg_pull_up>; 1735 + }; 1736 + 1737 + /omit-if-no-ref/ 1738 + uart2m0_ctsn: uart2m0-ctsn { 1739 + rockchip,pins = 1740 + /* uart2m0_ctsn */ 1741 + <0 RK_PC2 1 &pcfg_pull_none>; 1742 + }; 1743 + /omit-if-no-ref/ 1744 + uart2m0_rtsn: uart2m0-rtsn { 1745 + rockchip,pins = 1746 + /* uart2m0_rtsn */ 1747 + <0 RK_PC3 1 &pcfg_pull_none>; 1748 + }; 1749 + 1750 + /omit-if-no-ref/ 1751 + uart2m1_xfer: uart2m1-xfer { 1752 + rockchip,pins = 1753 + /* uart2_rx_m1 */ 1754 + <3 RK_PA1 2 &pcfg_pull_up>, 1755 + /* uart2_tx_m1 */ 1756 + <3 RK_PA0 2 &pcfg_pull_up>; 1757 + }; 1758 + 1759 + /omit-if-no-ref/ 1760 + uart2m1_ctsn: uart2m1-ctsn { 1761 + rockchip,pins = 1762 + /* uart2m1_ctsn */ 1763 + <3 RK_PA2 2 &pcfg_pull_none>; 1764 + }; 1765 + /omit-if-no-ref/ 1766 + uart2m1_rtsn: uart2m1-rtsn { 1767 + rockchip,pins = 1768 + /* uart2m1_rtsn */ 1769 + <3 RK_PA3 2 &pcfg_pull_none>; 1770 + }; 1771 + }; 1772 + 1773 + uart3 { 1774 + /omit-if-no-ref/ 1775 + uart3m0_xfer: uart3m0-xfer { 1776 + rockchip,pins = 1777 + /* uart3_rx_m0 */ 1778 + <4 RK_PB5 6 &pcfg_pull_up>, 1779 + /* uart3_tx_m0 */ 1780 + <4 RK_PB4 6 &pcfg_pull_up>; 1781 + }; 1782 + 1783 + /omit-if-no-ref/ 1784 + uart3m0_ctsn: uart3m0-ctsn { 1785 + rockchip,pins = 1786 + /* uart3m0_ctsn */ 1787 + <4 RK_PB6 3 &pcfg_pull_none>; 1788 + }; 1789 + /omit-if-no-ref/ 1790 + uart3m0_rtsn: uart3m0-rtsn { 1791 + rockchip,pins = 1792 + /* uart3m0_rtsn */ 1793 + <3 RK_PD1 4 &pcfg_pull_none>; 1794 + }; 1795 + 1796 + /omit-if-no-ref/ 1797 + uart3m1_xfer: uart3m1-xfer { 1798 + rockchip,pins = 1799 + /* uart3_rx_m1 */ 1800 + <3 RK_PC0 3 &pcfg_pull_up>, 1801 + /* uart3_tx_m1 */ 1802 + <3 RK_PB7 3 &pcfg_pull_up>; 1803 + }; 1804 + 1805 + /omit-if-no-ref/ 1806 + uart3m1_ctsn: uart3m1-ctsn { 1807 + rockchip,pins = 1808 + /* uart3m1_ctsn */ 1809 + <3 RK_PB6 3 &pcfg_pull_none>; 1810 + }; 1811 + /omit-if-no-ref/ 1812 + uart3m1_rtsn: uart3m1-rtsn { 1813 + rockchip,pins = 1814 + /* uart3m1_rtsn */ 1815 + <3 RK_PC1 3 &pcfg_pull_none>; 1816 + }; 1817 + }; 1818 + 1819 + uart4 { 1820 + /omit-if-no-ref/ 1821 + uart4m0_xfer: uart4m0-xfer { 1822 + rockchip,pins = 1823 + /* uart4_rx_m0 */ 1824 + <3 RK_PD1 3 &pcfg_pull_up>, 1825 + /* uart4_tx_m0 */ 1826 + <3 RK_PD0 3 &pcfg_pull_up>; 1827 + }; 1828 + 1829 + /omit-if-no-ref/ 1830 + uart4m0_ctsn: uart4m0-ctsn { 1831 + rockchip,pins = 1832 + /* uart4m0_ctsn */ 1833 + <3 RK_PC5 3 &pcfg_pull_none>; 1834 + }; 1835 + /omit-if-no-ref/ 1836 + uart4m0_rtsn: uart4m0-rtsn { 1837 + rockchip,pins = 1838 + /* uart4m0_rtsn */ 1839 + <3 RK_PC6 3 &pcfg_pull_none>; 1840 + }; 1841 + 1842 + /omit-if-no-ref/ 1843 + uart4m1_xfer: uart4m1-xfer { 1844 + rockchip,pins = 1845 + /* uart4_rx_m1 */ 1846 + <1 RK_PD5 3 &pcfg_pull_up>, 1847 + /* uart4_tx_m1 */ 1848 + <1 RK_PD6 3 &pcfg_pull_up>; 1849 + }; 1850 + 1851 + /omit-if-no-ref/ 1852 + uart4m1_ctsn: uart4m1-ctsn { 1853 + rockchip,pins = 1854 + /* uart4m1_ctsn */ 1855 + <2 RK_PA0 3 &pcfg_pull_none>; 1856 + }; 1857 + /omit-if-no-ref/ 1858 + uart4m1_rtsn: uart4m1-rtsn { 1859 + rockchip,pins = 1860 + /* uart4m1_rtsn */ 1861 + <1 RK_PD7 3 &pcfg_pull_none>; 1862 + }; 1863 + }; 1864 + 1865 + uart5 { 1866 + /omit-if-no-ref/ 1867 + uart5m0_xfer: uart5m0-xfer { 1868 + rockchip,pins = 1869 + /* uart5_rx_m0 */ 1870 + <1 RK_PB7 3 &pcfg_pull_up>, 1871 + /* uart5_tx_m0 */ 1872 + <1 RK_PC0 3 &pcfg_pull_up>; 1873 + }; 1874 + 1875 + /omit-if-no-ref/ 1876 + uart5m0_ctsn: uart5m0-ctsn { 1877 + rockchip,pins = 1878 + /* uart5m0_ctsn */ 1879 + <1 RK_PB5 3 &pcfg_pull_none>; 1880 + }; 1881 + /omit-if-no-ref/ 1882 + uart5m0_rtsn: uart5m0-rtsn { 1883 + rockchip,pins = 1884 + /* uart5m0_rtsn */ 1885 + <1 RK_PB6 3 &pcfg_pull_none>; 1886 + }; 1887 + 1888 + /omit-if-no-ref/ 1889 + uart5m1_xfer: uart5m1-xfer { 1890 + rockchip,pins = 1891 + /* uart5_rx_m1 */ 1892 + <3 RK_PA7 5 &pcfg_pull_up>, 1893 + /* uart5_tx_m1 */ 1894 + <3 RK_PA6 5 &pcfg_pull_up>; 1895 + }; 1896 + 1897 + /omit-if-no-ref/ 1898 + uart5m1_ctsn: uart5m1-ctsn { 1899 + rockchip,pins = 1900 + /* uart5m1_ctsn */ 1901 + <3 RK_PA0 5 &pcfg_pull_none>; 1902 + }; 1903 + /omit-if-no-ref/ 1904 + uart5m1_rtsn: uart5m1-rtsn { 1905 + rockchip,pins = 1906 + /* uart5m1_rtsn */ 1907 + <3 RK_PA1 5 &pcfg_pull_none>; 1908 + }; 1909 + }; 1910 + 1911 + uart6 { 1912 + /omit-if-no-ref/ 1913 + uart6m0_xfer: uart6m0-xfer { 1914 + rockchip,pins = 1915 + /* uart6_rx_m0 */ 1916 + <0 RK_PC7 1 &pcfg_pull_up>, 1917 + /* uart6_tx_m0 */ 1918 + <0 RK_PC6 1 &pcfg_pull_up>; 1919 + }; 1920 + 1921 + /omit-if-no-ref/ 1922 + uart6m0_ctsn: uart6m0-ctsn { 1923 + rockchip,pins = 1924 + /* uart6m0_ctsn */ 1925 + <0 RK_PC4 1 &pcfg_pull_none>; 1926 + }; 1927 + /omit-if-no-ref/ 1928 + uart6m0_rtsn: uart6m0-rtsn { 1929 + rockchip,pins = 1930 + /* uart6m0_rtsn */ 1931 + <0 RK_PC5 1 &pcfg_pull_none>; 1932 + }; 1933 + 1934 + /omit-if-no-ref/ 1935 + uart6m1_xfer: uart6m1-xfer { 1936 + rockchip,pins = 1937 + /* uart6_rx_m1 */ 1938 + <4 RK_PB0 5 &pcfg_pull_up>, 1939 + /* uart6_tx_m1 */ 1940 + <4 RK_PA7 5 &pcfg_pull_up>; 1941 + }; 1942 + 1943 + /omit-if-no-ref/ 1944 + uart6m1_ctsn: uart6m1-ctsn { 1945 + rockchip,pins = 1946 + /* uart6m1_ctsn */ 1947 + <4 RK_PA2 3 &pcfg_pull_none>; 1948 + }; 1949 + /omit-if-no-ref/ 1950 + uart6m1_rtsn: uart6m1-rtsn { 1951 + rockchip,pins = 1952 + /* uart6m1_rtsn */ 1953 + <4 RK_PA3 3 &pcfg_pull_none>; 1954 + }; 1955 + }; 1956 + 1957 + uart7 { 1958 + /omit-if-no-ref/ 1959 + uart7m0_xfer: uart7m0-xfer { 1960 + rockchip,pins = 1961 + /* uart7_rx_m0 */ 1962 + <3 RK_PC7 3 &pcfg_pull_up>, 1963 + /* uart7_tx_m0 */ 1964 + <3 RK_PC4 3 &pcfg_pull_up>; 1965 + }; 1966 + 1967 + /omit-if-no-ref/ 1968 + uart7m0_ctsn: uart7m0-ctsn { 1969 + rockchip,pins = 1970 + /* uart7m0_ctsn */ 1971 + <3 RK_PD2 3 &pcfg_pull_none>; 1972 + }; 1973 + /omit-if-no-ref/ 1974 + uart7m0_rtsn: uart7m0-rtsn { 1975 + rockchip,pins = 1976 + /* uart7m0_rtsn */ 1977 + <3 RK_PD3 3 &pcfg_pull_none>; 1978 + }; 1979 + 1980 + /omit-if-no-ref/ 1981 + uart7m1_xfer: uart7m1-xfer { 1982 + rockchip,pins = 1983 + /* uart7_rx_m1 */ 1984 + <1 RK_PB3 3 &pcfg_pull_up>, 1985 + /* uart7_tx_m1 */ 1986 + <1 RK_PB4 3 &pcfg_pull_up>; 1987 + }; 1988 + }; 1989 + 1990 + uart8 { 1991 + /omit-if-no-ref/ 1992 + uart8m0_xfer: uart8m0-xfer { 1993 + rockchip,pins = 1994 + /* uart8_rx_m0 */ 1995 + <3 RK_PB3 3 &pcfg_pull_up>, 1996 + /* uart8_tx_m0 */ 1997 + <3 RK_PB2 3 &pcfg_pull_up>; 1998 + }; 1999 + 2000 + /omit-if-no-ref/ 2001 + uart8m0_ctsn: uart8m0-ctsn { 2002 + rockchip,pins = 2003 + /* uart8m0_ctsn */ 2004 + <3 RK_PB4 3 &pcfg_pull_none>; 2005 + }; 2006 + /omit-if-no-ref/ 2007 + uart8m0_rtsn: uart8m0-rtsn { 2008 + rockchip,pins = 2009 + /* uart8m0_rtsn */ 2010 + <3 RK_PB5 3 &pcfg_pull_none>; 2011 + }; 2012 + 2013 + /omit-if-no-ref/ 2014 + uart8m1_xfer: uart8m1-xfer { 2015 + rockchip,pins = 2016 + /* uart8_rx_m1 */ 2017 + <3 RK_PD5 3 &pcfg_pull_up>, 2018 + /* uart8_tx_m1 */ 2019 + <3 RK_PD4 3 &pcfg_pull_up>; 2020 + }; 2021 + 2022 + /omit-if-no-ref/ 2023 + uart8m1_ctsn: uart8m1-ctsn { 2024 + rockchip,pins = 2025 + /* uart8m1_ctsn */ 2026 + <3 RK_PD7 3 &pcfg_pull_none>; 2027 + }; 2028 + /omit-if-no-ref/ 2029 + uart8m1_rtsn: uart8m1-rtsn { 2030 + rockchip,pins = 2031 + /* uart8m1_rtsn */ 2032 + <4 RK_PA0 3 &pcfg_pull_none>; 2033 + }; 2034 + }; 2035 + 2036 + uart9 { 2037 + /omit-if-no-ref/ 2038 + uart9m0_xfer: uart9m0-xfer { 2039 + rockchip,pins = 2040 + /* uart9_rx_m0 */ 2041 + <4 RK_PB3 3 &pcfg_pull_up>, 2042 + /* uart9_tx_m0 */ 2043 + <4 RK_PB2 3 &pcfg_pull_up>; 2044 + }; 2045 + 2046 + /omit-if-no-ref/ 2047 + uart9m0_ctsn: uart9m0-ctsn { 2048 + rockchip,pins = 2049 + /* uart9m0_ctsn */ 2050 + <4 RK_PB4 3 &pcfg_pull_none>; 2051 + }; 2052 + /omit-if-no-ref/ 2053 + uart9m0_rtsn: uart9m0-rtsn { 2054 + rockchip,pins = 2055 + /* uart9m0_rtsn */ 2056 + <4 RK_PB5 3 &pcfg_pull_none>; 2057 + }; 2058 + 2059 + /omit-if-no-ref/ 2060 + uart9m1_xfer: uart9m1-xfer { 2061 + rockchip,pins = 2062 + /* uart9_rx_m1 */ 2063 + <3 RK_PC3 3 &pcfg_pull_up>, 2064 + /* uart9_tx_m1 */ 2065 + <3 RK_PC2 3 &pcfg_pull_up>; 2066 + }; 2067 + }; 2068 + 2069 + vo { 2070 + /omit-if-no-ref/ 2071 + vo_pins: vo-pins { 2072 + rockchip,pins = 2073 + /* vo_lcdc_clk */ 2074 + <4 RK_PB7 1 &pcfg_pull_none_drv_level_4>, 2075 + /* vo_lcdc_d0 */ 2076 + <4 RK_PA4 1 &pcfg_pull_none_drv_level_3>, 2077 + /* vo_lcdc_d1 */ 2078 + <4 RK_PA5 1 &pcfg_pull_none_drv_level_3>, 2079 + /* vo_lcdc_d2 */ 2080 + <4 RK_PB2 1 &pcfg_pull_none_drv_level_3>, 2081 + /* vo_lcdc_d3 */ 2082 + <3 RK_PC4 1 &pcfg_pull_none_drv_level_3>, 2083 + /* vo_lcdc_d4 */ 2084 + <3 RK_PC5 1 &pcfg_pull_none_drv_level_3>, 2085 + /* vo_lcdc_d5 */ 2086 + <3 RK_PC6 1 &pcfg_pull_none_drv_level_3>, 2087 + /* vo_lcdc_d6 */ 2088 + <3 RK_PC7 1 &pcfg_pull_none_drv_level_3>, 2089 + /* vo_lcdc_d7 */ 2090 + <3 RK_PD0 1 &pcfg_pull_none_drv_level_3>, 2091 + /* vo_lcdc_d8 */ 2092 + <4 RK_PA6 1 &pcfg_pull_none_drv_level_3>, 2093 + /* vo_lcdc_d9 */ 2094 + <4 RK_PA7 1 &pcfg_pull_none_drv_level_3>, 2095 + /* vo_lcdc_d10 */ 2096 + <3 RK_PD1 1 &pcfg_pull_none_drv_level_3>, 2097 + /* vo_lcdc_d11 */ 2098 + <3 RK_PD2 1 &pcfg_pull_none_drv_level_3>, 2099 + /* vo_lcdc_d12 */ 2100 + <3 RK_PD3 1 &pcfg_pull_none_drv_level_3>, 2101 + /* vo_lcdc_d13 */ 2102 + <3 RK_PD4 1 &pcfg_pull_none_drv_level_3>, 2103 + /* vo_lcdc_d14 */ 2104 + <3 RK_PD5 1 &pcfg_pull_none_drv_level_3>, 2105 + /* vo_lcdc_d15 */ 2106 + <3 RK_PD6 1 &pcfg_pull_none_drv_level_3>, 2107 + /* vo_lcdc_d16 */ 2108 + <4 RK_PB0 1 &pcfg_pull_none_drv_level_3>, 2109 + /* vo_lcdc_d17 */ 2110 + <4 RK_PB1 1 &pcfg_pull_none_drv_level_3>, 2111 + /* vo_lcdc_d18 */ 2112 + <4 RK_PB3 1 &pcfg_pull_none_drv_level_3>, 2113 + /* vo_lcdc_d19 */ 2114 + <3 RK_PD7 1 &pcfg_pull_none_drv_level_3>, 2115 + /* vo_lcdc_d20 */ 2116 + <4 RK_PA0 1 &pcfg_pull_none_drv_level_3>, 2117 + /* vo_lcdc_d21 */ 2118 + <4 RK_PA1 1 &pcfg_pull_none_drv_level_3>, 2119 + /* vo_lcdc_d22 */ 2120 + <4 RK_PA2 1 &pcfg_pull_none_drv_level_3>, 2121 + /* vo_lcdc_d23 */ 2122 + <4 RK_PA3 1 &pcfg_pull_none_drv_level_3>, 2123 + /* vo_lcdc_den */ 2124 + <4 RK_PB6 1 &pcfg_pull_none_drv_level_3>, 2125 + /* vo_lcdc_hsync */ 2126 + <4 RK_PB4 1 &pcfg_pull_none_drv_level_3>, 2127 + /* vo_lcdc_vsync */ 2128 + <4 RK_PB5 1 &pcfg_pull_none_drv_level_3>; 2129 + }; 2130 + }; 2131 + }; 2132 + 2133 + /* 2134 + * This part is edited handly. 2135 + */ 2136 + &pinctrl { 2137 + vo { 2138 + /omit-if-no-ref/ 2139 + bt1120_pins: bt1120-pins { 2140 + rockchip,pins = 2141 + /* vo_lcdc_clk */ 2142 + <4 RK_PB7 1 &pcfg_pull_none_drv_level_4>, 2143 + /* vo_lcdc_d3 */ 2144 + <3 RK_PC4 1 &pcfg_pull_none_drv_level_3>, 2145 + /* vo_lcdc_d4 */ 2146 + <3 RK_PC5 1 &pcfg_pull_none_drv_level_3>, 2147 + /* vo_lcdc_d5 */ 2148 + <3 RK_PC6 1 &pcfg_pull_none_drv_level_3>, 2149 + /* vo_lcdc_d6 */ 2150 + <3 RK_PC7 1 &pcfg_pull_none_drv_level_3>, 2151 + /* vo_lcdc_d7 */ 2152 + <3 RK_PD0 1 &pcfg_pull_none_drv_level_3>, 2153 + /* vo_lcdc_d10 */ 2154 + <3 RK_PD1 1 &pcfg_pull_none_drv_level_3>, 2155 + /* vo_lcdc_d11 */ 2156 + <3 RK_PD2 1 &pcfg_pull_none_drv_level_3>, 2157 + /* vo_lcdc_d12 */ 2158 + <3 RK_PD3 1 &pcfg_pull_none_drv_level_3>, 2159 + /* vo_lcdc_d13 */ 2160 + <3 RK_PD4 1 &pcfg_pull_none_drv_level_3>, 2161 + /* vo_lcdc_d14 */ 2162 + <3 RK_PD5 1 &pcfg_pull_none_drv_level_3>, 2163 + /* vo_lcdc_d15 */ 2164 + <3 RK_PD6 1 &pcfg_pull_none_drv_level_3>, 2165 + /* vo_lcdc_d19 */ 2166 + <3 RK_PD7 1 &pcfg_pull_none_drv_level_3>, 2167 + /* vo_lcdc_d20 */ 2168 + <4 RK_PA0 1 &pcfg_pull_none_drv_level_3>, 2169 + /* vo_lcdc_d21 */ 2170 + <4 RK_PA1 1 &pcfg_pull_none_drv_level_3>, 2171 + /* vo_lcdc_d22 */ 2172 + <4 RK_PA2 1 &pcfg_pull_none_drv_level_3>, 2173 + /* vo_lcdc_d23 */ 2174 + <4 RK_PA3 1 &pcfg_pull_none_drv_level_3>; 2175 + }; 2176 + 2177 + /omit-if-no-ref/ 2178 + bt656_pins: bt656-pins { 2179 + rockchip,pins = 2180 + /* vo_lcdc_clk */ 2181 + <4 RK_PB7 1 &pcfg_pull_none_drv_level_4>, 2182 + /* vo_lcdc_d3 */ 2183 + <3 RK_PC4 1 &pcfg_pull_none_drv_level_3>, 2184 + /* vo_lcdc_d4 */ 2185 + <3 RK_PC5 1 &pcfg_pull_none_drv_level_3>, 2186 + /* vo_lcdc_d5 */ 2187 + <3 RK_PC6 1 &pcfg_pull_none_drv_level_3>, 2188 + /* vo_lcdc_d6 */ 2189 + <3 RK_PC7 1 &pcfg_pull_none_drv_level_3>, 2190 + /* vo_lcdc_d7 */ 2191 + <3 RK_PD0 1 &pcfg_pull_none_drv_level_3>, 2192 + /* vo_lcdc_d10 */ 2193 + <3 RK_PD1 1 &pcfg_pull_none_drv_level_3>, 2194 + /* vo_lcdc_d11 */ 2195 + <3 RK_PD2 1 &pcfg_pull_none_drv_level_3>, 2196 + /* vo_lcdc_d12 */ 2197 + <3 RK_PD3 1 &pcfg_pull_none_drv_level_3>; 2198 + }; 2199 + 2200 + /omit-if-no-ref/ 2201 + rgb3x8_pins_m0: rgb3x8-pins-m0 { 2202 + rockchip,pins = 2203 + /* vo_lcdc_clk */ 2204 + <4 RK_PB7 1 &pcfg_pull_none_drv_level_4>, 2205 + /* vo_lcdc_d3 */ 2206 + <3 RK_PC4 1 &pcfg_pull_none_drv_level_3>, 2207 + /* vo_lcdc_d4 */ 2208 + <3 RK_PC5 1 &pcfg_pull_none_drv_level_3>, 2209 + /* vo_lcdc_d5 */ 2210 + <3 RK_PC6 1 &pcfg_pull_none_drv_level_3>, 2211 + /* vo_lcdc_d6 */ 2212 + <3 RK_PC7 1 &pcfg_pull_none_drv_level_3>, 2213 + /* vo_lcdc_d7 */ 2214 + <3 RK_PD0 1 &pcfg_pull_none_drv_level_3>, 2215 + /* vo_lcdc_d10 */ 2216 + <3 RK_PD1 1 &pcfg_pull_none_drv_level_3>, 2217 + /* vo_lcdc_d11 */ 2218 + <3 RK_PD2 1 &pcfg_pull_none_drv_level_3>, 2219 + /* vo_lcdc_d12 */ 2220 + <3 RK_PD3 1 &pcfg_pull_none_drv_level_3>, 2221 + /* vo_lcdc_den */ 2222 + <4 RK_PB6 1 &pcfg_pull_none_drv_level_3>, 2223 + /* vo_lcdc_hsync */ 2224 + <4 RK_PB4 1 &pcfg_pull_none_drv_level_3>, 2225 + /* vo_lcdc_vsync */ 2226 + <4 RK_PB5 1 &pcfg_pull_none_drv_level_3>; 2227 + }; 2228 + 2229 + /omit-if-no-ref/ 2230 + rgb3x8_pins_m1: rgb3x8-pins-m1 { 2231 + rockchip,pins = 2232 + /* vo_lcdc_clk */ 2233 + <4 RK_PB7 1 &pcfg_pull_none_drv_level_4>, 2234 + /* vo_lcdc_d13 */ 2235 + <3 RK_PD4 1 &pcfg_pull_none_drv_level_3>, 2236 + /* vo_lcdc_d14 */ 2237 + <3 RK_PD5 1 &pcfg_pull_none_drv_level_3>, 2238 + /* vo_lcdc_d15 */ 2239 + <3 RK_PD6 1 &pcfg_pull_none_drv_level_3>, 2240 + /* vo_lcdc_d19 */ 2241 + <3 RK_PD7 1 &pcfg_pull_none_drv_level_3>, 2242 + /* vo_lcdc_d20 */ 2243 + <4 RK_PA0 1 &pcfg_pull_none_drv_level_3>, 2244 + /* vo_lcdc_d21 */ 2245 + <4 RK_PA1 1 &pcfg_pull_none_drv_level_3>, 2246 + /* vo_lcdc_d22 */ 2247 + <4 RK_PA2 1 &pcfg_pull_none_drv_level_3>, 2248 + /* vo_lcdc_d23 */ 2249 + <4 RK_PA3 1 &pcfg_pull_none_drv_level_3>, 2250 + /* vo_lcdc_den */ 2251 + <4 RK_PB6 1 &pcfg_pull_none_drv_level_3>, 2252 + /* vo_lcdc_hsync */ 2253 + <4 RK_PB4 1 &pcfg_pull_none_drv_level_3>, 2254 + /* vo_lcdc_vsync */ 2255 + <4 RK_PB5 1 &pcfg_pull_none_drv_level_3>; 2256 + }; 2257 + 2258 + /omit-if-no-ref/ 2259 + rgb565_pins: rgb565-pins { 2260 + rockchip,pins = 2261 + /* vo_lcdc_clk */ 2262 + <4 RK_PB7 1 &pcfg_pull_none_drv_level_4>, 2263 + /* vo_lcdc_d3 */ 2264 + <3 RK_PC4 1 &pcfg_pull_none_drv_level_3>, 2265 + /* vo_lcdc_d4 */ 2266 + <3 RK_PC5 1 &pcfg_pull_none_drv_level_3>, 2267 + /* vo_lcdc_d5 */ 2268 + <3 RK_PC6 1 &pcfg_pull_none_drv_level_3>, 2269 + /* vo_lcdc_d6 */ 2270 + <3 RK_PC7 1 &pcfg_pull_none_drv_level_3>, 2271 + /* vo_lcdc_d7 */ 2272 + <3 RK_PD0 1 &pcfg_pull_none_drv_level_3>, 2273 + /* vo_lcdc_d10 */ 2274 + <3 RK_PD1 1 &pcfg_pull_none_drv_level_3>, 2275 + /* vo_lcdc_d11 */ 2276 + <3 RK_PD2 1 &pcfg_pull_none_drv_level_3>, 2277 + /* vo_lcdc_d12 */ 2278 + <3 RK_PD3 1 &pcfg_pull_none_drv_level_3>, 2279 + /* vo_lcdc_d13 */ 2280 + <3 RK_PD4 1 &pcfg_pull_none_drv_level_3>, 2281 + /* vo_lcdc_d14 */ 2282 + <3 RK_PD5 1 &pcfg_pull_none_drv_level_3>, 2283 + /* vo_lcdc_d15 */ 2284 + <3 RK_PD6 1 &pcfg_pull_none_drv_level_3>, 2285 + /* vo_lcdc_d19 */ 2286 + <3 RK_PD7 1 &pcfg_pull_none_drv_level_3>, 2287 + /* vo_lcdc_d20 */ 2288 + <4 RK_PA0 1 &pcfg_pull_none_drv_level_3>, 2289 + /* vo_lcdc_d21 */ 2290 + <4 RK_PA1 1 &pcfg_pull_none_drv_level_3>, 2291 + /* vo_lcdc_d22 */ 2292 + <4 RK_PA2 1 &pcfg_pull_none_drv_level_3>, 2293 + /* vo_lcdc_d23 */ 2294 + <4 RK_PA3 1 &pcfg_pull_none_drv_level_3>, 2295 + /* vo_lcdc_den */ 2296 + <4 RK_PB6 1 &pcfg_pull_none_drv_level_3>, 2297 + /* vo_lcdc_hsync */ 2298 + <4 RK_PB4 1 &pcfg_pull_none_drv_level_3>, 2299 + /* vo_lcdc_vsync */ 2300 + <4 RK_PB5 1 &pcfg_pull_none_drv_level_3>; 2301 + }; 2302 + 2303 + /omit-if-no-ref/ 2304 + rgb666_pins: rgb666-pins { 2305 + rockchip,pins = 2306 + /* vo_lcdc_clk */ 2307 + <4 RK_PB7 1 &pcfg_pull_none_drv_level_4>, 2308 + /* vo_lcdc_d2 */ 2309 + <4 RK_PB2 1 &pcfg_pull_none_drv_level_3>, 2310 + /* vo_lcdc_d3 */ 2311 + <3 RK_PC4 1 &pcfg_pull_none_drv_level_3>, 2312 + /* vo_lcdc_d4 */ 2313 + <3 RK_PC5 1 &pcfg_pull_none_drv_level_3>, 2314 + /* vo_lcdc_d5 */ 2315 + <3 RK_PC6 1 &pcfg_pull_none_drv_level_3>, 2316 + /* vo_lcdc_d6 */ 2317 + <3 RK_PC7 1 &pcfg_pull_none_drv_level_3>, 2318 + /* vo_lcdc_d7 */ 2319 + <3 RK_PD0 1 &pcfg_pull_none_drv_level_3>, 2320 + /* vo_lcdc_d10 */ 2321 + <3 RK_PD1 1 &pcfg_pull_none_drv_level_3>, 2322 + /* vo_lcdc_d11 */ 2323 + <3 RK_PD2 1 &pcfg_pull_none_drv_level_3>, 2324 + /* vo_lcdc_d12 */ 2325 + <3 RK_PD3 1 &pcfg_pull_none_drv_level_3>, 2326 + /* vo_lcdc_d13 */ 2327 + <3 RK_PD4 1 &pcfg_pull_none_drv_level_3>, 2328 + /* vo_lcdc_d14 */ 2329 + <3 RK_PD5 1 &pcfg_pull_none_drv_level_3>, 2330 + /* vo_lcdc_d15 */ 2331 + <3 RK_PD6 1 &pcfg_pull_none_drv_level_3>, 2332 + /* vo_lcdc_d18 */ 2333 + <4 RK_PB3 1 &pcfg_pull_none_drv_level_3>, 2334 + /* vo_lcdc_d19 */ 2335 + <3 RK_PD7 1 &pcfg_pull_none_drv_level_3>, 2336 + /* vo_lcdc_d20 */ 2337 + <4 RK_PA0 1 &pcfg_pull_none_drv_level_3>, 2338 + /* vo_lcdc_d21 */ 2339 + <4 RK_PA1 1 &pcfg_pull_none_drv_level_3>, 2340 + /* vo_lcdc_d22 */ 2341 + <4 RK_PA2 1 &pcfg_pull_none_drv_level_3>, 2342 + /* vo_lcdc_d23 */ 2343 + <4 RK_PA3 1 &pcfg_pull_none_drv_level_3>, 2344 + /* vo_lcdc_den */ 2345 + <4 RK_PB6 1 &pcfg_pull_none_drv_level_3>, 2346 + /* vo_lcdc_hsync */ 2347 + <4 RK_PB4 1 &pcfg_pull_none_drv_level_3>, 2348 + /* vo_lcdc_vsync */ 2349 + <4 RK_PB5 1 &pcfg_pull_none_drv_level_3>; 2350 + }; 2351 + }; 2352 + };
+1185
arch/arm64/boot/dts/rockchip/rk3562.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2022 Rockchip Electronics Co., Ltd. 4 + */ 5 + 6 + #include <dt-bindings/clock/rockchip,rk3562-cru.h> 7 + #include <dt-bindings/interrupt-controller/arm-gic.h> 8 + #include <dt-bindings/interrupt-controller/irq.h> 9 + #include <dt-bindings/phy/phy.h> 10 + #include <dt-bindings/pinctrl/rockchip.h> 11 + #include <dt-bindings/reset/rockchip,rk3562-cru.h> 12 + #include <dt-bindings/soc/rockchip,boot-mode.h> 13 + #include <dt-bindings/thermal/thermal.h> 14 + 15 + / { 16 + compatible = "rockchip,rk3562"; 17 + 18 + interrupt-parent = <&gic>; 19 + #address-cells = <2>; 20 + #size-cells = <2>; 21 + 22 + aliases { 23 + gpio0 = &gpio0; 24 + gpio1 = &gpio1; 25 + gpio2 = &gpio2; 26 + gpio3 = &gpio3; 27 + gpio4 = &gpio4; 28 + }; 29 + 30 + xin32k: clock-xin32k { 31 + compatible = "fixed-clock"; 32 + #clock-cells = <0>; 33 + clock-frequency = <32768>; 34 + clock-output-names = "xin32k"; 35 + }; 36 + 37 + xin24m: clock-xin24m { 38 + compatible = "fixed-clock"; 39 + #clock-cells = <0>; 40 + clock-frequency = <24000000>; 41 + clock-output-names = "xin24m"; 42 + }; 43 + 44 + cpus { 45 + #address-cells = <2>; 46 + #size-cells = <0>; 47 + 48 + cpu0: cpu@0 { 49 + device_type = "cpu"; 50 + compatible = "arm,cortex-a53"; 51 + reg = <0x0 0x0>; 52 + enable-method = "psci"; 53 + clocks = <&scmi_clk ARMCLK>; 54 + cpu-idle-states = <&CPU_SLEEP>; 55 + operating-points-v2 = <&cpu0_opp_table>; 56 + #cooling-cells = <2>; 57 + dynamic-power-coefficient = <138>; 58 + }; 59 + 60 + cpu1: cpu@1 { 61 + device_type = "cpu"; 62 + compatible = "arm,cortex-a53"; 63 + reg = <0x0 0x1>; 64 + enable-method = "psci"; 65 + clocks = <&scmi_clk ARMCLK>; 66 + cpu-idle-states = <&CPU_SLEEP>; 67 + operating-points-v2 = <&cpu0_opp_table>; 68 + #cooling-cells = <2>; 69 + dynamic-power-coefficient = <138>; 70 + }; 71 + 72 + cpu2: cpu@2 { 73 + device_type = "cpu"; 74 + compatible = "arm,cortex-a53"; 75 + reg = <0x0 0x2>; 76 + enable-method = "psci"; 77 + clocks = <&scmi_clk ARMCLK>; 78 + cpu-idle-states = <&CPU_SLEEP>; 79 + operating-points-v2 = <&cpu0_opp_table>; 80 + #cooling-cells = <2>; 81 + dynamic-power-coefficient = <138>; 82 + }; 83 + 84 + cpu3: cpu@3 { 85 + device_type = "cpu"; 86 + compatible = "arm,cortex-a53"; 87 + reg = <0x0 0x3>; 88 + enable-method = "psci"; 89 + clocks = <&scmi_clk ARMCLK>; 90 + cpu-idle-states = <&CPU_SLEEP>; 91 + operating-points-v2 = <&cpu0_opp_table>; 92 + #cooling-cells = <2>; 93 + dynamic-power-coefficient = <138>; 94 + }; 95 + 96 + idle-states { 97 + entry-method = "psci"; 98 + 99 + CPU_SLEEP: cpu-sleep { 100 + compatible = "arm,idle-state"; 101 + local-timer-stop; 102 + arm,psci-suspend-param = <0x0010000>; 103 + entry-latency-us = <120>; 104 + exit-latency-us = <250>; 105 + min-residency-us = <900>; 106 + }; 107 + }; 108 + }; 109 + 110 + cpu0_opp_table: opp-table-cpu0 { 111 + compatible = "operating-points-v2"; 112 + opp-shared; 113 + 114 + opp-408000000 { 115 + opp-hz = /bits/ 64 <408000000>; 116 + opp-microvolt = <825000 825000 1150000>; 117 + clock-latency-ns = <40000>; 118 + opp-suspend; 119 + }; 120 + opp-600000000 { 121 + opp-hz = /bits/ 64 <600000000>; 122 + opp-microvolt = <825000 825000 1150000>; 123 + clock-latency-ns = <40000>; 124 + }; 125 + opp-816000000 { 126 + opp-hz = /bits/ 64 <816000000>; 127 + opp-microvolt = <825000 825000 1150000>; 128 + clock-latency-ns = <40000>; 129 + }; 130 + opp-1008000000 { 131 + opp-hz = /bits/ 64 <1008000000>; 132 + opp-microvolt = <850000 850000 1150000>; 133 + clock-latency-ns = <40000>; 134 + }; 135 + opp-1200000000 { 136 + opp-hz = /bits/ 64 <1200000000>; 137 + opp-microvolt = <925000 925000 1150000>; 138 + clock-latency-ns = <40000>; 139 + }; 140 + opp-1416000000 { 141 + opp-hz = /bits/ 64 <1416000000>; 142 + opp-microvolt = <1000000 1000000 1150000>; 143 + clock-latency-ns = <40000>; 144 + }; 145 + opp-1608000000 { 146 + opp-supported-hw = <0xf9 0xffff>; 147 + opp-hz = /bits/ 64 <1608000000>; 148 + opp-microvolt = <1037500 1037500 1150000>; 149 + clock-latency-ns = <40000>; 150 + }; 151 + opp-1800000000 { 152 + opp-hz = /bits/ 64 <1800000000>; 153 + opp-microvolt = <1125000 1125000 1150000>; 154 + clock-latency-ns = <40000>; 155 + }; 156 + opp-2016000000 { 157 + opp-hz = /bits/ 64 <2016000000>; 158 + opp-microvolt = <1150000 1150000 1150000>; 159 + clock-latency-ns = <40000>; 160 + }; 161 + 162 + }; 163 + 164 + gpu_opp_table: opp-table-gpu { 165 + compatible = "operating-points-v2"; 166 + 167 + opp-300000000 { 168 + opp-hz = /bits/ 64 <300000000>; 169 + opp-microvolt = <825000 825000 1000000>; 170 + }; 171 + opp-400000000 { 172 + opp-hz = /bits/ 64 <400000000>; 173 + opp-microvolt = <825000 825000 1000000>; 174 + }; 175 + opp-500000000 { 176 + opp-hz = /bits/ 64 <500000000>; 177 + opp-microvolt = <825000 825000 1000000>; 178 + }; 179 + opp-600000000 { 180 + opp-hz = /bits/ 64 <600000000>; 181 + opp-microvolt = <825000 825000 1000000>; 182 + }; 183 + opp-700000000 { 184 + opp-hz = /bits/ 64 <700000000>; 185 + opp-microvolt = <900000 900000 1000000>; 186 + }; 187 + opp-800000000 { 188 + opp-hz = /bits/ 64 <800000000>; 189 + opp-microvolt = <950000 950000 1000000>; 190 + }; 191 + opp-900000000 { 192 + opp-hz = /bits/ 64 <900000000>; 193 + opp-microvolt = <1000000 1000000 1000000>; 194 + }; 195 + }; 196 + 197 + arm_pmu: arm-pmu { 198 + compatible = "arm,cortex-a53-pmu"; 199 + interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>, 200 + <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>, 201 + <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>, 202 + <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>; 203 + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 204 + }; 205 + 206 + firmware { 207 + scmi: scmi { 208 + compatible = "arm,scmi-smc"; 209 + shmem = <&scmi_shmem>; 210 + arm,smc-id = <0x82000010>; 211 + #address-cells = <1>; 212 + #size-cells = <0>; 213 + 214 + scmi_clk: protocol@14 { 215 + reg = <0x14>; 216 + #clock-cells = <1>; 217 + }; 218 + }; 219 + }; 220 + 221 + psci { 222 + compatible = "arm,psci-1.0"; 223 + method = "smc"; 224 + }; 225 + 226 + reserved-memory { 227 + #address-cells = <2>; 228 + #size-cells = <2>; 229 + ranges; 230 + 231 + scmi_shmem: shmem@10f000 { 232 + compatible = "arm,scmi-shmem"; 233 + reg = <0x0 0x0010f000 0x0 0x100>; 234 + no-map; 235 + }; 236 + }; 237 + 238 + timer { 239 + compatible = "arm,armv8-timer"; 240 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 241 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 242 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 243 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 244 + }; 245 + 246 + soc { 247 + compatible = "simple-bus"; 248 + #address-cells = <2>; 249 + #size-cells = <2>; 250 + ranges; 251 + 252 + gic: interrupt-controller@fe901000 { 253 + compatible = "arm,gic-400"; 254 + #interrupt-cells = <3>; 255 + #address-cells = <0>; 256 + interrupt-controller; 257 + reg = <0x0 0xfe901000 0 0x1000>, 258 + <0x0 0xfe902000 0 0x2000>, 259 + <0x0 0xfe904000 0 0x2000>, 260 + <0x0 0xfe906000 0 0x2000>; 261 + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 262 + }; 263 + 264 + qos_dma2ddr: qos@fee03800 { 265 + compatible = "rockchip,rk3562-qos", "syscon"; 266 + reg = <0x0 0xfee03800 0x0 0x20>; 267 + }; 268 + 269 + qos_mcu: qos@fee10000 { 270 + compatible = "rockchip,rk3562-qos", "syscon"; 271 + reg = <0x0 0xfee10000 0x0 0x20>; 272 + }; 273 + 274 + qos_dft_apb: qos@fee10100 { 275 + compatible = "rockchip,rk3562-qos", "syscon"; 276 + reg = <0x0 0xfee10100 0x0 0x20>; 277 + }; 278 + 279 + qos_gmac: qos@fee10200 { 280 + compatible = "rockchip,rk3562-qos", "syscon"; 281 + reg = <0x0 0xfee10200 0x0 0x20>; 282 + }; 283 + 284 + qos_mac100: qos@fee10300 { 285 + compatible = "rockchip,rk3562-qos", "syscon"; 286 + reg = <0x0 0xfee10300 0x0 0x20>; 287 + }; 288 + 289 + qos_dcf: qos@fee10400 { 290 + compatible = "rockchip,rk3562-qos", "syscon"; 291 + reg = <0x0 0xfee10400 0x0 0x20>; 292 + }; 293 + 294 + qos_cpu: qos@fee20000 { 295 + compatible = "rockchip,rk3562-qos", "syscon"; 296 + reg = <0x0 0xfee20000 0x0 0x20>; 297 + }; 298 + 299 + qos_gpu: qos@fee30000 { 300 + compatible = "rockchip,rk3562-qos", "syscon"; 301 + reg = <0x0 0xfee30000 0x0 0x20>; 302 + }; 303 + 304 + qos_npu: qos@fee40000 { 305 + compatible = "rockchip,rk3562-qos", "syscon"; 306 + reg = <0x0 0xfee40000 0x0 0x20>; 307 + }; 308 + 309 + qos_rkvdec: qos@fee50000 { 310 + compatible = "rockchip,rk3562-qos", "syscon"; 311 + reg = <0x0 0xfee50000 0x0 0x20>; 312 + }; 313 + 314 + qos_vepu: qos@fee60000 { 315 + compatible = "rockchip,rk3562-qos", "syscon"; 316 + reg = <0x0 0xfee60000 0x0 0x20>; 317 + }; 318 + 319 + qos_isp: qos@fee70000 { 320 + compatible = "rockchip,rk3562-qos", "syscon"; 321 + reg = <0x0 0xfee70000 0x0 0x20>; 322 + }; 323 + 324 + qos_vicap: qos@fee70100 { 325 + compatible = "rockchip,rk3562-qos", "syscon"; 326 + reg = <0x0 0xfee70100 0x0 0x20>; 327 + }; 328 + 329 + qos_vop: qos@fee80000 { 330 + compatible = "rockchip,rk3562-qos", "syscon"; 331 + reg = <0x0 0xfee80000 0x0 0x20>; 332 + }; 333 + 334 + qos_jpeg: qos@fee90000 { 335 + compatible = "rockchip,rk3562-qos", "syscon"; 336 + reg = <0x0 0xfee90000 0x0 0x20>; 337 + }; 338 + 339 + qos_rga_rd: qos@fee90100 { 340 + compatible = "rockchip,rk3562-qos", "syscon"; 341 + reg = <0x0 0xfee90100 0x0 0x20>; 342 + }; 343 + 344 + qos_rga_wr: qos@fee90200 { 345 + compatible = "rockchip,rk3562-qos", "syscon"; 346 + reg = <0x0 0xfee90200 0x0 0x20>; 347 + }; 348 + 349 + qos_pcie: qos@feea0000 { 350 + compatible = "rockchip,rk3562-qos", "syscon"; 351 + reg = <0x0 0xfeea0000 0x0 0x20>; 352 + }; 353 + 354 + qos_usb3: qos@feea0100 { 355 + compatible = "rockchip,rk3562-qos", "syscon"; 356 + reg = <0x0 0xfeea0100 0x0 0x20>; 357 + }; 358 + 359 + qos_crypto_apb: qos@feeb0000 { 360 + compatible = "rockchip,rk3562-qos", "syscon"; 361 + reg = <0x0 0xfeeb0000 0x0 0x20>; 362 + }; 363 + 364 + qos_crypto: qos@feeb0100 { 365 + compatible = "rockchip,rk3562-qos", "syscon"; 366 + reg = <0x0 0xfeeb0100 0x0 0x20>; 367 + }; 368 + 369 + qos_dmac: qos@feeb0200 { 370 + compatible = "rockchip,rk3562-qos", "syscon"; 371 + reg = <0x0 0xfeeb0200 0x0 0x20>; 372 + }; 373 + 374 + qos_emmc: qos@feeb0300 { 375 + compatible = "rockchip,rk3562-qos", "syscon"; 376 + reg = <0x0 0xfeeb0300 0x0 0x20>; 377 + }; 378 + 379 + qos_fspi: qos@feeb0400 { 380 + compatible = "rockchip,rk3562-qos", "syscon"; 381 + reg = <0x0 0xfeeb0400 0x0 0x20>; 382 + }; 383 + 384 + qos_rkdma: qos@feeb0500 { 385 + compatible = "rockchip,rk3562-qos", "syscon"; 386 + reg = <0x0 0xfeeb0500 0x0 0x20>; 387 + }; 388 + 389 + qos_sdmmc0: qos@feeb0600 { 390 + compatible = "rockchip,rk3562-qos", "syscon"; 391 + reg = <0x0 0xfeeb0600 0x0 0x20>; 392 + }; 393 + 394 + qos_sdmmc1: qos@feeb0700 { 395 + compatible = "rockchip,rk3562-qos", "syscon"; 396 + reg = <0x0 0xfeeb0700 0x0 0x20>; 397 + }; 398 + 399 + qos_usb2: qos@feeb0800 { 400 + compatible = "rockchip,rk3562-qos", "syscon"; 401 + reg = <0x0 0xfeeb0800 0x0 0x20>; 402 + }; 403 + 404 + pmu_grf: syscon@ff010000 { 405 + compatible = "rockchip,rk3562-pmu-grf", "syscon", "simple-mfd"; 406 + reg = <0x0 0xff010000 0x0 0x10000>; 407 + 408 + reboot_mode: reboot-mode { 409 + compatible = "syscon-reboot-mode"; 410 + offset = <0x220>; 411 + mode-normal = <BOOT_NORMAL>; 412 + mode-loader = <BOOT_BL_DOWNLOAD>; 413 + mode-recovery = <BOOT_RECOVERY>; 414 + mode-bootloader = <BOOT_FASTBOOT>; 415 + }; 416 + }; 417 + 418 + sys_grf: syscon@ff030000 { 419 + compatible = "rockchip,rk3562-sys-grf", "syscon"; 420 + reg = <0x0 0xff030000 0x0 0x10000>; 421 + }; 422 + 423 + peri_grf: syscon@ff040000 { 424 + compatible = "rockchip,rk3562-peri-grf", "syscon"; 425 + reg = <0x0 0xff040000 0x0 0x10000>; 426 + }; 427 + 428 + ioc_grf: syscon@ff060000 { 429 + compatible = "rockchip,rk3562-ioc-grf", "syscon"; 430 + reg = <0x0 0xff060000 0x0 0x30000>; 431 + }; 432 + 433 + usbphy_grf: syscon@ff090000 { 434 + compatible = "rockchip,rk3562-usbphy-grf", "syscon"; 435 + reg = <0x0 0xff090000 0x0 0x8000>; 436 + }; 437 + 438 + pipephy_grf: syscon@ff098000 { 439 + compatible = "rockchip,rk3562-pipephy-grf", "syscon"; 440 + reg = <0x0 0xff098000 0x0 0x8000>; 441 + }; 442 + 443 + cru: clock-controller@ff100000 { 444 + compatible = "rockchip,rk3562-cru"; 445 + reg = <0x0 0xff100000 0x0 0x40000>; 446 + #clock-cells = <1>; 447 + #reset-cells = <1>; 448 + 449 + assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>, 450 + <&cru PLL_HPLL>; 451 + assigned-clock-rates = <1188000000>, <1000000000>, 452 + <983040000>; 453 + }; 454 + 455 + i2c0: i2c@ff200000 { 456 + compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c"; 457 + reg = <0x0 0xff200000 0x0 0x1000>; 458 + clocks = <&cru CLK_PMU0_I2C0>, <&cru PCLK_PMU0_I2C0>; 459 + clock-names = "i2c", "pclk"; 460 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 461 + pinctrl-names = "default"; 462 + pinctrl-0 = <&i2c0_xfer>; 463 + #address-cells = <1>; 464 + #size-cells = <0>; 465 + status = "disabled"; 466 + }; 467 + 468 + uart0: serial@ff210000 { 469 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 470 + reg = <0x0 0xff210000 0x0 0x100>; 471 + interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 472 + clocks = <&cru SCLK_PMU1_UART0>, <&cru PCLK_PMU1_UART0>; 473 + clock-names = "baudclk", "apb_pclk"; 474 + reg-shift = <2>; 475 + reg-io-width = <4>; 476 + status = "disabled"; 477 + }; 478 + 479 + spi0: spi@ff220000 { 480 + compatible = "rockchip,rk3562-spi", "rockchip,rk3066-spi"; 481 + reg = <0x0 0xff220000 0x0 0x1000>; 482 + interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 483 + clocks = <&cru CLK_PMU1_SPI0>, <&cru PCLK_PMU1_SPI0>; 484 + clock-names = "spiclk", "apb_pclk"; 485 + dmas = <&dmac 13>, <&dmac 12>; 486 + dma-names = "tx", "rx"; 487 + num-cs = <2>; 488 + pinctrl-names = "default"; 489 + pinctrl-0 = <&spi0m0_csn0 &spi0m0_csn1 &spi0m0_pins>; 490 + #address-cells = <1>; 491 + #size-cells = <0>; 492 + status = "disabled"; 493 + }; 494 + 495 + pwm0: pwm@ff230000 { 496 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 497 + reg = <0x0 0xff230000 0x0 0x10>; 498 + clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>; 499 + clock-names = "pwm", "pclk"; 500 + pinctrl-names = "default"; 501 + pinctrl-0 = <&pwm0m0_pins>; 502 + #pwm-cells = <3>; 503 + status = "disabled"; 504 + }; 505 + 506 + pwm1: pwm@ff230010 { 507 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 508 + reg = <0x0 0xff230010 0x0 0x10>; 509 + clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>; 510 + clock-names = "pwm", "pclk"; 511 + pinctrl-names = "default"; 512 + pinctrl-0 = <&pwm1m0_pins>; 513 + #pwm-cells = <3>; 514 + status = "disabled"; 515 + }; 516 + 517 + pwm2: pwm@ff230020 { 518 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 519 + reg = <0x0 0xff230020 0x0 0x10>; 520 + clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>; 521 + clock-names = "pwm", "pclk"; 522 + pinctrl-names = "default"; 523 + pinctrl-0 = <&pwm2m0_pins>; 524 + #pwm-cells = <3>; 525 + status = "disabled"; 526 + }; 527 + 528 + pwm3: pwm@ff230030 { 529 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 530 + reg = <0x0 0xff230030 0x0 0x10>; 531 + clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>; 532 + clock-names = "pwm", "pclk"; 533 + pinctrl-names = "default"; 534 + pinctrl-0 = <&pwm3m0_pins>; 535 + #pwm-cells = <3>; 536 + status = "disabled"; 537 + }; 538 + 539 + pmu: power-management@ff258000 { 540 + compatible = "rockchip,rk3562-pmu", "syscon", "simple-mfd"; 541 + reg = <0x0 0xff258000 0x0 0x1000>; 542 + 543 + power: power-controller { 544 + compatible = "rockchip,rk3562-power-controller"; 545 + #power-domain-cells = <1>; 546 + #address-cells = <1>; 547 + #size-cells = <0>; 548 + 549 + power-domain@8 { 550 + reg = <8>; 551 + pm_qos = <&qos_gpu>; 552 + #power-domain-cells = <0>; 553 + }; 554 + 555 + power-domain@7 { 556 + reg = <7>; 557 + pm_qos = <&qos_npu>; 558 + #power-domain-cells = <0>; 559 + }; 560 + 561 + power-domain@11 { 562 + reg = <11>; 563 + pm_qos = <&qos_rkvdec>; 564 + #power-domain-cells = <0>; 565 + }; 566 + 567 + power-domain@12 { 568 + reg = <12>; 569 + pm_qos = <&qos_isp>, 570 + <&qos_vicap>; 571 + #power-domain-cells = <1>; 572 + #address-cells = <1>; 573 + #size-cells = <0>; 574 + 575 + power-domain@10 { 576 + reg = <10>; 577 + pm_qos = <&qos_vepu>; 578 + #power-domain-cells = <0>; 579 + }; 580 + }; 581 + 582 + power-domain@13 { 583 + reg = <13>; 584 + pm_qos = <&qos_vop>; 585 + #power-domain-cells = <1>; 586 + #address-cells = <1>; 587 + #size-cells = <0>; 588 + 589 + power-domain@14 { 590 + reg = <14>; 591 + pm_qos = <&qos_rga_rd>, 592 + <&qos_rga_wr>, 593 + <&qos_jpeg>; 594 + #power-domain-cells = <0>; 595 + }; 596 + }; 597 + 598 + power-domain@15 { 599 + reg = <15>; 600 + pm_qos = <&qos_pcie>, 601 + <&qos_usb3>; 602 + #power-domain-cells = <0>; 603 + }; 604 + }; 605 + }; 606 + 607 + gpu: gpu@ff320000 { 608 + compatible = "rockchip,rk3562-mali", "arm,mali-bifrost"; 609 + reg = <0x0 0xff320000 0x0 0x4000>; 610 + clocks = <&cru CLK_GPU>, <&cru CLK_GPU_BRG>, 611 + <&cru ACLK_GPU_PRE>; 612 + clock-names = "clk_gpu", "clk_gpu_brg", "aclk_gpu"; 613 + dynamic-power-coefficient = <820>; 614 + interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 615 + <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 616 + <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 617 + interrupt-names = "job", "mmu", "gpu"; 618 + operating-points-v2 = <&gpu_opp_table>; 619 + power-domains = <&power 8>; 620 + #cooling-cells = <2>; 621 + status = "disabled"; 622 + }; 623 + 624 + pcie2x1: pcie@ff500000 { 625 + compatible = "rockchip,rk3562-pcie", "rockchip,rk3568-pcie"; 626 + bus-range = <0x0 0xff>; 627 + clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>, 628 + <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>, 629 + <&cru CLK_PCIE20_AUX>; 630 + clock-names = "aclk_mst", "aclk_slv", 631 + "aclk_dbi", "pclk", "aux"; 632 + device_type = "pci"; 633 + interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 634 + <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 635 + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 636 + <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, 637 + <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 638 + <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 639 + interrupt-names = "sys", "pmc", "msg", "legacy", "err", "msi"; 640 + #interrupt-cells = <1>; 641 + interrupt-map-mask = <0 0 0 7>; 642 + interrupt-map = <0 0 0 1 &pcie2x1_intc 0>, 643 + <0 0 0 2 &pcie2x1_intc 1>, 644 + <0 0 0 3 &pcie2x1_intc 2>, 645 + <0 0 0 4 &pcie2x1_intc 3>; 646 + linux,pci-domain = <0>; 647 + max-link-speed = <2>; 648 + num-ib-windows = <8>; 649 + num-viewport = <8>; 650 + num-ob-windows = <2>; 651 + num-lanes = <1>; 652 + phys = <&combphy PHY_TYPE_PCIE>; 653 + phy-names = "pcie-phy"; 654 + power-domains = <&power 15>; 655 + ranges = <0x01000000 0x0 0xfc100000 0x0 0xfc100000 0x0 0x100000 656 + 0x02000000 0x0 0xfc200000 0x0 0xfc200000 0x0 0x1e00000 657 + 0x03000000 0x3 0x00000000 0x3 0x00000000 0x0 0x40000000>; 658 + reg = <0x0 0xfe000000 0x0 0x400000>, 659 + <0x0 0xff500000 0x0 0x10000>, 660 + <0x0 0xfc000000 0x0 0x100000>; 661 + reg-names = "dbi", "apb", "config"; 662 + resets = <&cru SRST_PCIE20_POWERUP>; 663 + reset-names = "pipe"; 664 + #address-cells = <3>; 665 + #size-cells = <2>; 666 + status = "disabled"; 667 + 668 + pcie2x1_intc: legacy-interrupt-controller { 669 + interrupt-controller; 670 + #address-cells = <0>; 671 + #interrupt-cells = <1>; 672 + interrupt-parent = <&gic>; 673 + interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 674 + }; 675 + }; 676 + 677 + spi1: spi@ff640000 { 678 + compatible = "rockchip,rk3066-spi"; 679 + reg = <0x0 0xff640000 0x0 0x1000>; 680 + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 681 + clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 682 + clock-names = "spiclk", "apb_pclk"; 683 + dmas = <&dmac 15>, <&dmac 14>; 684 + dma-names = "tx", "rx"; 685 + num-cs = <2>; 686 + pinctrl-names = "default"; 687 + pinctrl-0 = <&spi1m0_csn0 &spi1m0_csn1 &spi1m0_pins>; 688 + #address-cells = <1>; 689 + #size-cells = <0>; 690 + status = "disabled"; 691 + }; 692 + 693 + spi2: spi@ff650000 { 694 + compatible = "rockchip,rk3066-spi"; 695 + reg = <0x0 0xff650000 0x0 0x1000>; 696 + interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 697 + clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 698 + clock-names = "spiclk", "apb_pclk"; 699 + dmas = <&dmac 17>, <&dmac 16>; 700 + dma-names = "tx", "rx"; 701 + num-cs = <2>; 702 + pinctrl-names = "default"; 703 + pinctrl-0 = <&spi2m0_csn0 &spi2m0_csn1 &spi2m0_pins>; 704 + #address-cells = <1>; 705 + #size-cells = <0>; 706 + status = "disabled"; 707 + }; 708 + 709 + uart1: serial@ff670000 { 710 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 711 + reg = <0x0 0xff670000 0x0 0x100>; 712 + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 713 + clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 714 + clock-names = "baudclk", "apb_pclk"; 715 + reg-shift = <2>; 716 + reg-io-width = <4>; 717 + status = "disabled"; 718 + }; 719 + 720 + uart2: serial@ff680000 { 721 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 722 + reg = <0x0 0xff680000 0x0 0x100>; 723 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 724 + clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 725 + clock-names = "baudclk", "apb_pclk"; 726 + reg-shift = <2>; 727 + reg-io-width = <4>; 728 + status = "disabled"; 729 + }; 730 + 731 + uart3: serial@ff690000 { 732 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 733 + reg = <0x0 0xff690000 0x0 0x100>; 734 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 735 + clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 736 + clock-names = "baudclk", "apb_pclk"; 737 + reg-shift = <2>; 738 + reg-io-width = <4>; 739 + status = "disabled"; 740 + }; 741 + 742 + uart4: serial@ff6a0000 { 743 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 744 + reg = <0x0 0xff6a0000 0x0 0x100>; 745 + interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 746 + clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 747 + clock-names = "baudclk", "apb_pclk"; 748 + reg-shift = <2>; 749 + reg-io-width = <4>; 750 + status = "disabled"; 751 + }; 752 + 753 + uart5: serial@ff6b0000 { 754 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 755 + reg = <0x0 0xff6b0000 0x0 0x100>; 756 + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 757 + clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 758 + clock-names = "baudclk", "apb_pclk"; 759 + reg-shift = <2>; 760 + reg-io-width = <4>; 761 + status = "disabled"; 762 + }; 763 + 764 + uart6: serial@ff6c0000 { 765 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 766 + reg = <0x0 0xff6c0000 0x0 0x100>; 767 + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 768 + clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 769 + clock-names = "baudclk", "apb_pclk"; 770 + reg-shift = <2>; 771 + reg-io-width = <4>; 772 + status = "disabled"; 773 + }; 774 + 775 + uart7: serial@ff6d0000 { 776 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 777 + reg = <0x0 0xff6d0000 0x0 0x100>; 778 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 779 + clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 780 + clock-names = "baudclk", "apb_pclk"; 781 + reg-shift = <2>; 782 + reg-io-width = <4>; 783 + status = "disabled"; 784 + }; 785 + 786 + uart8: serial@ff6e0000 { 787 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 788 + reg = <0x0 0xff6e0000 0x0 0x100>; 789 + interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 790 + clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 791 + clock-names = "baudclk", "apb_pclk"; 792 + reg-shift = <2>; 793 + reg-io-width = <4>; 794 + status = "disabled"; 795 + }; 796 + 797 + uart9: serial@ff6f0000 { 798 + compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart"; 799 + reg = <0x0 0xff6f0000 0x0 0x100>; 800 + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 801 + clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 802 + clock-names = "baudclk", "apb_pclk"; 803 + reg-shift = <2>; 804 + reg-io-width = <4>; 805 + status = "disabled"; 806 + }; 807 + 808 + pwm4: pwm@ff700000 { 809 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 810 + reg = <0x0 0xff700000 0x0 0x10>; 811 + clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 812 + clock-names = "pwm", "pclk"; 813 + pinctrl-names = "default"; 814 + pinctrl-0 = <&pwm4m0_pins>; 815 + #pwm-cells = <3>; 816 + status = "disabled"; 817 + }; 818 + 819 + pwm5: pwm@ff700010 { 820 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 821 + reg = <0x0 0xff700010 0x0 0x10>; 822 + clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 823 + clock-names = "pwm", "pclk"; 824 + pinctrl-names = "default"; 825 + pinctrl-0 = <&pwm5m0_pins>; 826 + #pwm-cells = <3>; 827 + status = "disabled"; 828 + }; 829 + 830 + pwm6: pwm@ff700020 { 831 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 832 + reg = <0x0 0xff700020 0x0 0x10>; 833 + clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 834 + clock-names = "pwm", "pclk"; 835 + pinctrl-names = "default"; 836 + pinctrl-0 = <&pwm6m0_pins>; 837 + #pwm-cells = <3>; 838 + status = "disabled"; 839 + }; 840 + 841 + pwm7: pwm@ff700030 { 842 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 843 + reg = <0x0 0xff700030 0x0 0x10>; 844 + clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 845 + clock-names = "pwm", "pclk"; 846 + pinctrl-names = "default"; 847 + pinctrl-0 = <&pwm7m0_pins>; 848 + #pwm-cells = <3>; 849 + status = "disabled"; 850 + }; 851 + 852 + pwm8: pwm@ff710000 { 853 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 854 + reg = <0x0 0xff710000 0x0 0x10>; 855 + clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 856 + clock-names = "pwm", "pclk"; 857 + pinctrl-names = "default"; 858 + pinctrl-0 = <&pwm8m0_pins>; 859 + #pwm-cells = <3>; 860 + status = "disabled"; 861 + }; 862 + 863 + pwm9: pwm@ff710010 { 864 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 865 + reg = <0x0 0xff710010 0x0 0x10>; 866 + clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 867 + clock-names = "pwm", "pclk"; 868 + pinctrl-names = "default"; 869 + pinctrl-0 = <&pwm9m0_pins>; 870 + #pwm-cells = <3>; 871 + status = "disabled"; 872 + }; 873 + 874 + pwm10: pwm@ff710020 { 875 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 876 + reg = <0x0 0xff710020 0x0 0x10>; 877 + clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 878 + clock-names = "pwm", "pclk"; 879 + pinctrl-names = "default"; 880 + pinctrl-0 = <&pwm10m0_pins>; 881 + #pwm-cells = <3>; 882 + status = "disabled"; 883 + }; 884 + 885 + pwm11: pwm@ff710030 { 886 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 887 + reg = <0x0 0xff710030 0x0 0x10>; 888 + clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 889 + clock-names = "pwm", "pclk"; 890 + pinctrl-names = "default"; 891 + pinctrl-0 = <&pwm11m0_pins>; 892 + #pwm-cells = <3>; 893 + status = "disabled"; 894 + }; 895 + 896 + pwm12: pwm@ff720000 { 897 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 898 + reg = <0x0 0xff720000 0x0 0x10>; 899 + clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>; 900 + clock-names = "pwm", "pclk"; 901 + pinctrl-names = "default"; 902 + pinctrl-0 = <&pwm12m0_pins>; 903 + #pwm-cells = <3>; 904 + status = "disabled"; 905 + }; 906 + 907 + pwm13: pwm@ff720010 { 908 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 909 + reg = <0x0 0xff720010 0x0 0x10>; 910 + clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>; 911 + clock-names = "pwm", "pclk"; 912 + pinctrl-names = "default"; 913 + pinctrl-0 = <&pwm13m0_pins>; 914 + #pwm-cells = <3>; 915 + status = "disabled"; 916 + }; 917 + 918 + pwm14: pwm@ff720020 { 919 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 920 + reg = <0x0 0xff720020 0x0 0x10>; 921 + clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>; 922 + clock-names = "pwm", "pclk"; 923 + pinctrl-names = "default"; 924 + pinctrl-0 = <&pwm14m0_pins>; 925 + #pwm-cells = <3>; 926 + status = "disabled"; 927 + }; 928 + 929 + pwm15: pwm@ff720030 { 930 + compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm"; 931 + reg = <0x0 0xff720030 0x0 0x10>; 932 + clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>; 933 + clock-names = "pwm", "pclk"; 934 + pinctrl-names = "default"; 935 + pinctrl-0 = <&pwm15m0_pins>; 936 + #pwm-cells = <3>; 937 + status = "disabled"; 938 + }; 939 + 940 + saradc0: adc@ff730000 { 941 + compatible = "rockchip,rk3562-saradc"; 942 + reg = <0x0 0xff730000 0x0 0x100>; 943 + interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 944 + clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 945 + clock-names = "saradc", "apb_pclk"; 946 + resets = <&cru SRST_P_SARADC>; 947 + reset-names = "saradc-apb"; 948 + #io-channel-cells = <1>; 949 + status = "disabled"; 950 + }; 951 + 952 + combphy: phy@ff750000 { 953 + compatible = "rockchip,rk3562-naneng-combphy"; 954 + reg = <0x0 0xff750000 0x0 0x100>; 955 + #phy-cells = <1>; 956 + clocks = <&cru CLK_PIPEPHY_REF>, <&cru PCLK_PIPEPHY>, 957 + <&cru PCLK_PHP>; 958 + clock-names = "ref", "apb", "pipe"; 959 + assigned-clocks = <&cru CLK_PIPEPHY_REF>; 960 + assigned-clock-rates = <100000000>; 961 + resets = <&cru SRST_PIPEPHY>; 962 + reset-names = "phy"; 963 + rockchip,pipe-grf = <&peri_grf>; 964 + rockchip,pipe-phy-grf = <&pipephy_grf>; 965 + status = "disabled"; 966 + }; 967 + 968 + sfc: spi@ff860000 { 969 + compatible = "rockchip,sfc"; 970 + reg = <0x0 0xff860000 0x0 0x10000>; 971 + interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; 972 + clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 973 + clock-names = "clk_sfc", "hclk_sfc"; 974 + #address-cells = <1>; 975 + #size-cells = <0>; 976 + status = "disabled"; 977 + }; 978 + 979 + sdhci: mmc@ff870000 { 980 + compatible = "rockchip,rk3562-dwcmshc", "rockchip,rk3588-dwcmshc"; 981 + reg = <0x0 0xff870000 0x0 0x10000>; 982 + interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 983 + assigned-clocks = <&cru BCLK_EMMC>, <&cru CCLK_EMMC>; 984 + assigned-clock-rates = <200000000>, <200000000>; 985 + clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>, 986 + <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 987 + <&cru TMCLK_EMMC>; 988 + clock-names = "core", "bus", "axi", "block", "timer"; 989 + resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>, 990 + <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>, 991 + <&cru SRST_T_EMMC>; 992 + reset-names = "core", "bus", "axi", "block", "timer"; 993 + max-frequency = <200000000>; 994 + status = "disabled"; 995 + }; 996 + 997 + sdmmc0: mmc@ff880000 { 998 + compatible = "rockchip,rk3562-dw-mshc", 999 + "rockchip,rk3288-dw-mshc"; 1000 + reg = <0x0 0xff880000 0x0 0x10000>; 1001 + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 1002 + clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SDMMC0>, 1003 + <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>; 1004 + clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1005 + fifo-depth = <0x100>; 1006 + max-frequency = <200000000>; 1007 + resets = <&cru SRST_H_SDMMC0>; 1008 + reset-names = "reset"; 1009 + status = "disabled"; 1010 + }; 1011 + 1012 + sdmmc1: mmc@ff890000 { 1013 + compatible = "rockchip,rk3562-dw-mshc", 1014 + "rockchip,rk3288-dw-mshc"; 1015 + reg = <0x0 0xff890000 0x0 0x10000>; 1016 + interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 1017 + clocks = <&cru HCLK_SDMMC1>, <&cru CCLK_SDMMC1>, 1018 + <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>; 1019 + clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1020 + fifo-depth = <0x100>; 1021 + max-frequency = <200000000>; 1022 + resets = <&cru SRST_H_SDMMC1>; 1023 + reset-names = "reset"; 1024 + status = "disabled"; 1025 + }; 1026 + 1027 + dmac: dma-controller@ff990000 { 1028 + compatible = "arm,pl330", "arm,primecell"; 1029 + reg = <0x0 0xff990000 0x0 0x4000>; 1030 + arm,pl330-periph-burst; 1031 + clocks = <&cru ACLK_DMAC>; 1032 + clock-names = "apb_pclk"; 1033 + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 1034 + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 1035 + #dma-cells = <1>; 1036 + }; 1037 + 1038 + i2c1: i2c@ffa00000 { 1039 + compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c"; 1040 + reg = <0x0 0xffa00000 0x0 0x1000>; 1041 + clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 1042 + clock-names = "i2c", "pclk"; 1043 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1044 + pinctrl-names = "default"; 1045 + pinctrl-0 = <&i2c1m0_xfer>; 1046 + #address-cells = <1>; 1047 + #size-cells = <0>; 1048 + status = "disabled"; 1049 + }; 1050 + 1051 + i2c2: i2c@ffa10000 { 1052 + compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c"; 1053 + reg = <0x0 0xffa10000 0x0 0x1000>; 1054 + clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 1055 + clock-names = "i2c", "pclk"; 1056 + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1057 + pinctrl-names = "default"; 1058 + pinctrl-0 = <&i2c2m0_xfer>; 1059 + #address-cells = <1>; 1060 + #size-cells = <0>; 1061 + status = "disabled"; 1062 + }; 1063 + 1064 + i2c3: i2c@ffa20000 { 1065 + compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c"; 1066 + reg = <0x0 0xffa20000 0x0 0x1000>; 1067 + clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 1068 + clock-names = "i2c", "pclk"; 1069 + interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 1070 + pinctrl-names = "default"; 1071 + pinctrl-0 = <&i2c3m0_xfer>; 1072 + #address-cells = <1>; 1073 + #size-cells = <0>; 1074 + status = "disabled"; 1075 + }; 1076 + 1077 + i2c4: i2c@ffa30000 { 1078 + compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c"; 1079 + reg = <0x0 0xffa30000 0x0 0x1000>; 1080 + clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 1081 + clock-names = "i2c", "pclk"; 1082 + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1083 + pinctrl-names = "default"; 1084 + pinctrl-0 = <&i2c4m0_xfer>; 1085 + #address-cells = <1>; 1086 + #size-cells = <0>; 1087 + status = "disabled"; 1088 + }; 1089 + 1090 + i2c5: i2c@ffa40000 { 1091 + compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c"; 1092 + reg = <0x0 0xffa40000 0x0 0x1000>; 1093 + clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 1094 + clock-names = "i2c", "pclk"; 1095 + interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1096 + pinctrl-names = "default"; 1097 + pinctrl-0 = <&i2c5m0_xfer>; 1098 + #address-cells = <1>; 1099 + #size-cells = <0>; 1100 + status = "disabled"; 1101 + }; 1102 + 1103 + saradc1: adc@ffaa0000 { 1104 + compatible = "rockchip,rk3562-saradc"; 1105 + reg = <0x0 0xffaa0000 0x0 0x100>; 1106 + interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 1107 + clocks = <&cru CLK_SARADC_VCCIO156>, <&cru PCLK_SARADC_VCCIO156>; 1108 + clock-names = "saradc", "apb_pclk"; 1109 + resets = <&cru SRST_P_SARADC_VCCIO156>; 1110 + reset-names = "saradc-apb"; 1111 + #io-channel-cells = <1>; 1112 + status = "disabled"; 1113 + }; 1114 + 1115 + pinctrl: pinctrl { 1116 + compatible = "rockchip,rk3562-pinctrl"; 1117 + rockchip,grf = <&ioc_grf>; 1118 + #address-cells = <2>; 1119 + #size-cells = <2>; 1120 + ranges; 1121 + 1122 + gpio0: gpio@ff260000 { 1123 + compatible = "rockchip,gpio-bank"; 1124 + reg = <0x0 0xff260000 0x0 0x100>; 1125 + clocks = <&cru PCLK_PMU0_GPIO0>, <&cru DBCLK_PMU0_GPIO0>; 1126 + gpio-controller; 1127 + gpio-ranges = <&pinctrl 0 0 32>; 1128 + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 1129 + interrupt-controller; 1130 + #gpio-cells = <2>; 1131 + #interrupt-cells = <2>; 1132 + }; 1133 + 1134 + gpio1: gpio@ff620000 { 1135 + compatible = "rockchip,gpio-bank"; 1136 + reg = <0x0 0xff620000 0x0 0x100>; 1137 + clocks = <&cru PCLK_PERI_GPIO1>, <&cru DCLK_PERI_GPIO1>; 1138 + gpio-controller; 1139 + gpio-ranges = <&pinctrl 0 32 32>; 1140 + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 1141 + interrupt-controller; 1142 + #gpio-cells = <2>; 1143 + #interrupt-cells = <2>; 1144 + }; 1145 + 1146 + gpio2: gpio@ff630000 { 1147 + compatible = "rockchip,gpio-bank"; 1148 + reg = <0x0 0xff630000 0x0 0x100>; 1149 + clocks = <&cru PCLK_PERI_GPIO2>, <&cru DCLK_PERI_GPIO2>; 1150 + gpio-controller; 1151 + gpio-ranges = <&pinctrl 0 64 32>; 1152 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 1153 + interrupt-controller; 1154 + #gpio-cells = <2>; 1155 + #interrupt-cells = <2>; 1156 + }; 1157 + 1158 + gpio3: gpio@ffac0000 { 1159 + compatible = "rockchip,gpio-bank"; 1160 + reg = <0x0 0xffac0000 0x0 0x100>; 1161 + clocks = <&cru PCLK_GPIO3_VCCIO156>, <&cru DCLK_BUS_GPIO3>; 1162 + gpio-controller; 1163 + gpio-ranges = <&pinctrl 0 96 32>; 1164 + interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1165 + interrupt-controller; 1166 + #gpio-cells = <2>; 1167 + #interrupt-cells = <2>; 1168 + }; 1169 + 1170 + gpio4: gpio@ffad0000 { 1171 + compatible = "rockchip,gpio-bank"; 1172 + reg = <0x0 0xffad0000 0x0 0x100>; 1173 + clocks = <&cru PCLK_GPIO4_VCCIO156>, <&cru DCLK_BUS_GPIO4>; 1174 + gpio-controller; 1175 + gpio-ranges = <&pinctrl 0 128 32>; 1176 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1177 + interrupt-controller; 1178 + #gpio-cells = <2>; 1179 + #interrupt-cells = <2>; 1180 + }; 1181 + }; 1182 + }; 1183 + }; 1184 + 1185 + #include "rk3562-pinctrl.dtsi"
+14 -4
arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts
··· 20 20 gpio-leds { 21 21 compatible = "gpio-leds"; 22 22 pinctrl-names = "default"; 23 - pinctrl-0 = <&lan1_led_pin>, <&lan2_led_pin>, <&power_led_pin>, <&wan_led_pin>; 23 + pinctrl-0 = <&lan1_led_pin>, <&lan2_led_pin>, <&sys_led_pin>, <&wan_led_pin>; 24 24 25 25 led-lan1 { 26 26 color = <LED_COLOR_ID_GREEN>; 27 + default-state = "off"; 27 28 function = LED_FUNCTION_LAN; 28 29 function-enumerator = <1>; 29 30 gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 31 + label = "LAN-1"; 32 + linux,default-trigger = "netdev"; 30 33 }; 31 34 32 35 led-lan2 { 33 36 color = <LED_COLOR_ID_GREEN>; 37 + default-state = "off"; 34 38 function = LED_FUNCTION_LAN; 35 39 function-enumerator = <2>; 36 40 gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_HIGH>; 41 + label = "LAN-2"; 42 + linux,default-trigger = "netdev"; 37 43 }; 38 44 39 - power_led: led-power { 45 + power_led: led-sys { 40 46 color = <LED_COLOR_ID_RED>; 41 47 function = LED_FUNCTION_POWER; 42 - linux,default-trigger = "heartbeat"; 43 48 gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 49 + label = "SYS"; 50 + linux,default-trigger = "heartbeat"; 44 51 }; 45 52 46 53 led-wan { 47 54 color = <LED_COLOR_ID_GREEN>; 55 + default-state = "off"; 48 56 function = LED_FUNCTION_WAN; 49 57 gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; 58 + label = "WAN"; 59 + linux,default-trigger = "netdev"; 50 60 }; 51 61 }; 52 62 }; ··· 136 126 rockchip,pins = <3 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; 137 127 }; 138 128 139 - power_led_pin: power-led-pin { 129 + sys_led_pin: sys-led-pin { 140 130 rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 141 131 }; 142 132
+4 -1
arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi
··· 486 486 &sdhci { 487 487 bus-width = <8>; 488 488 max-frequency = <200000000>; 489 + mmc-hs200-1_8v; 489 490 non-removable; 490 491 pinctrl-names = "default"; 491 - pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>; 492 + pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 493 + vmmc-supply = <&vcc_3v3>; 494 + vqmmc-supply = <&vcc_1v8>; 492 495 status = "okay"; 493 496 }; 494 497
+4 -4
arch/arm64/boot/dts/rockchip/rk3568.dtsi
··· 152 152 compatible = "rockchip,rk3568-pcie"; 153 153 #address-cells = <3>; 154 154 #size-cells = <2>; 155 - bus-range = <0x0 0xf>; 155 + bus-range = <0x10 0x1f>; 156 156 clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>, 157 157 <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>, 158 158 <&cru CLK_PCIE30X1_AUX_NDFT>; ··· 175 175 num-ib-windows = <6>; 176 176 num-ob-windows = <2>; 177 177 max-link-speed = <3>; 178 - msi-map = <0x0 &gic 0x1000 0x1000>; 178 + msi-map = <0x1000 &its 0x1000 0x1000>; 179 179 num-lanes = <1>; 180 180 phys = <&pcie30phy>; 181 181 phy-names = "pcie-phy"; ··· 205 205 compatible = "rockchip,rk3568-pcie"; 206 206 #address-cells = <3>; 207 207 #size-cells = <2>; 208 - bus-range = <0x0 0xf>; 208 + bus-range = <0x20 0x2f>; 209 209 clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>, 210 210 <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>, 211 211 <&cru CLK_PCIE30X2_AUX_NDFT>; ··· 228 228 num-ib-windows = <6>; 229 229 num-ob-windows = <2>; 230 230 max-link-speed = <3>; 231 - msi-map = <0x0 &gic 0x2000 0x1000>; 231 + msi-map = <0x2000 &its 0x2000 0x1000>; 232 232 num-lanes = <2>; 233 233 phys = <&pcie30phy>; 234 234 phy-names = "pcie-phy";
+64
arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts
··· 56 56 }; 57 57 }; 58 58 59 + es8388_sound: es8388-sound { 60 + compatible = "simple-audio-card"; 61 + simple-audio-card,format = "i2s"; 62 + simple-audio-card,mclk-fs = <256>; 63 + simple-audio-card,name = "On-board Analog ES8388"; 64 + simple-audio-card,widgets = "Microphone", "Headphone Mic", 65 + "Microphone", "Mic Pads", 66 + "Headphone", "Headphone", 67 + "Line Out", "Line Out"; 68 + simple-audio-card,routing = "Headphone", "LOUT1", 69 + "Headphone", "ROUT1", 70 + "Line Out", "LOUT2", 71 + "Line Out", "ROUT2", 72 + "RINPUT1", "Headphone Mic", 73 + "LINPUT2", "Mic Pads", 74 + "RINPUT2", "Mic Pads"; 75 + simple-audio-card,pin-switches = "Headphone", "Line Out"; 76 + 77 + simple-audio-card,cpu { 78 + sound-dai = <&sai1>; 79 + }; 80 + 81 + simple-audio-card,codec { 82 + sound-dai = <&es8388>; 83 + system-clock-frequency = <12288000>; 84 + }; 85 + }; 86 + 59 87 vcc_12v0_dcin: regulator-vcc-12v0-dcin { 60 88 compatible = "regulator-fixed"; 61 89 regulator-name = "vcc_12v0_dcin"; ··· 273 245 hdmi_out_con: endpoint { 274 246 remote-endpoint = <&hdmi_con_in>; 275 247 }; 248 + }; 249 + 250 + &hdmi_sound { 251 + status = "okay"; 276 252 }; 277 253 278 254 &hdptxphy { ··· 656 624 }; 657 625 }; 658 626 627 + &i2c3 { 628 + status = "okay"; 629 + 630 + es8388: audio-codec@10 { 631 + compatible = "everest,es8388", "everest,es8328"; 632 + reg = <0x10>; 633 + clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>; 634 + AVDD-supply = <&vcca_3v3_s0>; 635 + DVDD-supply = <&vcc_3v3_s0>; 636 + HPVDD-supply = <&vcca_3v3_s0>; 637 + PVDD-supply = <&vcc_3v3_s0>; 638 + assigned-clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>; 639 + assigned-clock-rates = <12288000>; 640 + #sound-dai-cells = <0>; 641 + pinctrl-names = "default"; 642 + pinctrl-0 = <&sai1m0_mclk>; 643 + }; 644 + }; 645 + 659 646 &mdio0 { 660 647 rgmii_phy0: phy@1 { 661 648 compatible = "ethernet-phy-ieee802.3-c22"; ··· 729 678 rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 730 679 }; 731 680 }; 681 + }; 682 + 683 + &sai1 { 684 + pinctrl-names = "default"; 685 + pinctrl-0 = <&sai1m0_lrck 686 + &sai1m0_sclk 687 + &sai1m0_sdi0 688 + &sai1m0_sdo0>; 689 + status = "okay"; 690 + }; 691 + 692 + &sai6 { 693 + status = "okay"; 732 694 }; 733 695 734 696 &sdhci {
+217
arch/arm64/boot/dts/rockchip/rk3576.dtsi
··· 413 413 }; 414 414 }; 415 415 416 + hdmi_sound: hdmi-sound { 417 + compatible = "simple-audio-card"; 418 + simple-audio-card,name = "HDMI"; 419 + simple-audio-card,format = "i2s"; 420 + simple-audio-card,mclk-fs = <256>; 421 + status = "disabled"; 422 + 423 + simple-audio-card,codec { 424 + sound-dai = <&hdmi>; 425 + }; 426 + 427 + simple-audio-card,cpu { 428 + sound-dai = <&sai6>; 429 + }; 430 + }; 431 + 416 432 pmu_a53: pmu-a53 { 417 433 compatible = "arm,cortex-a53-pmu"; 418 434 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, ··· 1026 1010 status = "disabled"; 1027 1011 }; 1028 1012 1013 + sai5: sai@27d40000 { 1014 + compatible = "rockchip,rk3576-sai"; 1015 + reg = <0x0 0x27d40000 0x0 0x1000>; 1016 + interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 1017 + clocks = <&cru MCLK_SAI5_8CH>, <&cru HCLK_SAI5_8CH>; 1018 + clock-names = "mclk", "hclk"; 1019 + dmas = <&dmac2 3>; 1020 + dma-names = "rx"; 1021 + power-domains = <&power RK3576_PD_VO0>; 1022 + resets = <&cru SRST_M_SAI5_8CH>, <&cru SRST_H_SAI5_8CH>; 1023 + reset-names = "m", "h"; 1024 + rockchip,sai-rx-route = <0 1 2 3>; 1025 + #sound-dai-cells = <0>; 1026 + sound-name-prefix = "SAI5"; 1027 + status = "disabled"; 1028 + }; 1029 + 1030 + sai6: sai@27d50000 { 1031 + compatible = "rockchip,rk3576-sai"; 1032 + reg = <0x0 0x27d50000 0x0 0x1000>; 1033 + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 1034 + clocks = <&cru MCLK_SAI6_8CH>, <&cru HCLK_SAI6_8CH>; 1035 + clock-names = "mclk", "hclk"; 1036 + dmas = <&dmac2 4>, <&dmac2 5>; 1037 + dma-names = "tx", "rx"; 1038 + power-domains = <&power RK3576_PD_VO0>; 1039 + resets = <&cru SRST_M_SAI6_8CH>, <&cru SRST_H_SAI6_8CH>; 1040 + reset-names = "m", "h"; 1041 + rockchip,sai-rx-route = <0 1 2 3>; 1042 + rockchip,sai-tx-route = <0 1 2 3>; 1043 + #sound-dai-cells = <0>; 1044 + sound-name-prefix = "SAI6"; 1045 + status = "disabled"; 1046 + }; 1047 + 1029 1048 hdmi: hdmi@27da0000 { 1030 1049 compatible = "rockchip,rk3576-dw-hdmi-qp"; 1031 1050 reg = <0x0 0x27da0000 0x0 0x20000>; ··· 1085 1034 reset-names = "ref", "hdp"; 1086 1035 rockchip,grf = <&ioc_grf>; 1087 1036 rockchip,vo-grf = <&vo0_grf>; 1037 + #sound-dai-cells = <0>; 1088 1038 status = "disabled"; 1089 1039 1090 1040 ports { ··· 1100 1048 reg = <1>; 1101 1049 }; 1102 1050 }; 1051 + }; 1052 + 1053 + sai7: sai@27ed0000 { 1054 + compatible = "rockchip,rk3576-sai"; 1055 + reg = <0x0 0x27ed0000 0x0 0x1000>; 1056 + interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; 1057 + clocks = <&cru MCLK_SAI7_8CH>, <&cru HCLK_SAI7_8CH>; 1058 + clock-names = "mclk", "hclk"; 1059 + dmas = <&dmac2 19>; 1060 + dma-names = "tx"; 1061 + power-domains = <&power RK3576_PD_VO1>; 1062 + resets = <&cru SRST_M_SAI7_8CH>, <&cru SRST_H_SAI7_8CH>; 1063 + reset-names = "m", "h"; 1064 + rockchip,sai-tx-route = <0 1 2 3>; 1065 + #sound-dai-cells = <0>; 1066 + sound-name-prefix = "SAI7"; 1067 + status = "disabled"; 1068 + }; 1069 + 1070 + sai8: sai@27ee0000 { 1071 + compatible = "rockchip,rk3576-sai"; 1072 + reg = <0x0 0x27ee0000 0x0 0x1000>; 1073 + interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>; 1074 + clocks = <&cru MCLK_SAI8_8CH>, <&cru HCLK_SAI8_8CH>; 1075 + clock-names = "mclk", "hclk"; 1076 + dmas = <&dmac1 7>; 1077 + dma-names = "tx"; 1078 + power-domains = <&power RK3576_PD_VO1>; 1079 + resets = <&cru SRST_M_SAI8_8CH>, <&cru SRST_H_SAI8_8CH>; 1080 + reset-names = "m", "h"; 1081 + rockchip,sai-tx-route = <0 1 2 3>; 1082 + #sound-dai-cells = <0>; 1083 + sound-name-prefix = "SAI8"; 1084 + status = "disabled"; 1085 + }; 1086 + 1087 + sai9: sai@27ef0000 { 1088 + compatible = "rockchip,rk3576-sai"; 1089 + reg = <0x0 0x27ef0000 0x0 0x1000>; 1090 + interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 1091 + clocks = <&cru MCLK_SAI9_8CH>, <&cru HCLK_SAI9_8CH>; 1092 + clock-names = "mclk", "hclk"; 1093 + dmas = <&dmac0 26>; 1094 + dma-names = "tx"; 1095 + power-domains = <&power RK3576_PD_VO1>; 1096 + resets = <&cru SRST_M_SAI9_8CH>, <&cru SRST_H_SAI9_8CH>; 1097 + reset-names = "m", "h"; 1098 + rockchip,sai-tx-route = <0 1 2 3>; 1099 + #sound-dai-cells = <0>; 1100 + sound-name-prefix = "SAI9"; 1101 + status = "disabled"; 1103 1102 }; 1104 1103 1105 1104 qos_hdcp1: qos@27f02000 { ··· 1705 1602 log_leakage: log-leakage@22 { 1706 1603 reg = <0x22 0x1>; 1707 1604 }; 1605 + }; 1606 + 1607 + sai0: sai@2a600000 { 1608 + compatible = "rockchip,rk3576-sai"; 1609 + reg = <0x0 0x2a600000 0x0 0x1000>; 1610 + interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 1611 + clocks = <&cru MCLK_SAI0_8CH>, <&cru HCLK_SAI0_8CH>; 1612 + clock-names = "mclk", "hclk"; 1613 + dmas = <&dmac0 0>, <&dmac0 1>; 1614 + dma-names = "tx", "rx"; 1615 + power-domains = <&power RK3576_PD_AUDIO>; 1616 + resets = <&cru SRST_M_SAI0_8CH>, <&cru SRST_H_SAI0_8CH>; 1617 + reset-names = "m", "h"; 1618 + pinctrl-names = "default"; 1619 + pinctrl-0 = <&sai0m0_lrck 1620 + &sai0m0_sclk 1621 + &sai0m0_sdi0 1622 + &sai0m0_sdi1 1623 + &sai0m0_sdi2 1624 + &sai0m0_sdi3 1625 + &sai0m0_sdo0 1626 + &sai0m0_sdo1 1627 + &sai0m0_sdo2 1628 + &sai0m0_sdo3>; 1629 + #sound-dai-cells = <0>; 1630 + sound-name-prefix = "SAI0"; 1631 + status = "disabled"; 1632 + }; 1633 + 1634 + sai1: sai@2a610000 { 1635 + compatible = "rockchip,rk3576-sai"; 1636 + reg = <0x0 0x2a610000 0x0 0x1000>; 1637 + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 1638 + clocks = <&cru MCLK_SAI1_8CH>, <&cru HCLK_SAI1_8CH>; 1639 + clock-names = "mclk", "hclk"; 1640 + dmas = <&dmac0 2>, <&dmac0 3>; 1641 + dma-names = "tx", "rx"; 1642 + power-domains = <&power RK3576_PD_AUDIO>; 1643 + resets = <&cru SRST_M_SAI1_8CH>, <&cru SRST_H_SAI1_8CH>; 1644 + reset-names = "m", "h"; 1645 + pinctrl-names = "default"; 1646 + pinctrl-0 = <&sai1m0_lrck 1647 + &sai1m0_sclk 1648 + &sai1m0_sdi0 1649 + &sai1m0_sdo0 1650 + &sai1m0_sdo1 1651 + &sai1m0_sdo2 1652 + &sai1m0_sdo3>; 1653 + #sound-dai-cells = <0>; 1654 + sound-name-prefix = "SAI1"; 1655 + status = "disabled"; 1656 + }; 1657 + 1658 + sai2: sai@2a620000 { 1659 + compatible = "rockchip,rk3576-sai"; 1660 + reg = <0x0 0x2a620000 0x0 0x1000>; 1661 + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 1662 + clocks = <&cru MCLK_SAI2_2CH>, <&cru HCLK_SAI2_2CH>; 1663 + clock-names = "mclk", "hclk"; 1664 + dmas = <&dmac1 0>, <&dmac1 1>; 1665 + dma-names = "tx", "rx"; 1666 + power-domains = <&power RK3576_PD_AUDIO>; 1667 + resets = <&cru SRST_M_SAI2_2CH>, <&cru SRST_H_SAI2_2CH>; 1668 + reset-names = "m", "h"; 1669 + pinctrl-names = "default"; 1670 + pinctrl-0 = <&sai2m0_lrck 1671 + &sai2m0_sclk 1672 + &sai2m0_sdi 1673 + &sai2m0_sdo>; 1674 + #sound-dai-cells = <0>; 1675 + sound-name-prefix = "SAI2"; 1676 + status = "disabled"; 1677 + }; 1678 + 1679 + sai3: sai@2a630000 { 1680 + compatible = "rockchip,rk3576-sai"; 1681 + reg = <0x0 0x2a630000 0x0 0x1000>; 1682 + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 1683 + clocks = <&cru MCLK_SAI3_2CH>, <&cru HCLK_SAI3_2CH>; 1684 + clock-names = "mclk", "hclk"; 1685 + dmas = <&dmac1 2>, <&dmac1 3>; 1686 + dma-names = "tx", "rx"; 1687 + power-domains = <&power RK3576_PD_AUDIO>; 1688 + resets = <&cru SRST_M_SAI3_2CH>, <&cru SRST_H_SAI3_2CH>; 1689 + reset-names = "m", "h"; 1690 + pinctrl-names = "default"; 1691 + pinctrl-0 = <&sai3m0_lrck 1692 + &sai3m0_sclk 1693 + &sai3m0_sdi 1694 + &sai3m0_sdo>; 1695 + #sound-dai-cells = <0>; 1696 + sound-name-prefix = "SAI3"; 1697 + status = "disabled"; 1698 + }; 1699 + 1700 + sai4: sai@2a640000 { 1701 + compatible = "rockchip,rk3576-sai"; 1702 + reg = <0x0 0x2a640000 0x0 0x1000>; 1703 + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; 1704 + clocks = <&cru MCLK_SAI4_2CH>, <&cru HCLK_SAI4_2CH>; 1705 + clock-names = "mclk", "hclk"; 1706 + dmas = <&dmac2 0>, <&dmac2 1>; 1707 + dma-names = "tx", "rx"; 1708 + power-domains = <&power RK3576_PD_AUDIO>; 1709 + resets = <&cru SRST_M_SAI4_2CH>, <&cru SRST_H_SAI4_2CH>; 1710 + reset-names = "m", "h"; 1711 + pinctrl-names = "default"; 1712 + pinctrl-0 = <&sai4m0_lrck 1713 + &sai4m0_sclk 1714 + &sai4m0_sdi 1715 + &sai4m0_sdo>; 1716 + #sound-dai-cells = <0>; 1717 + sound-name-prefix = "SAI4"; 1718 + status = "disabled"; 1708 1719 }; 1709 1720 1710 1721 gic: interrupt-controller@2a701000 {
+2 -2
arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
··· 255 255 edp1: edp@fded0000 { 256 256 compatible = "rockchip,rk3588-edp"; 257 257 reg = <0x0 0xfded0000 0x0 0x1000>; 258 - clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>, <&cru CLK_EDP1_200M>; 259 - clock-names = "dp", "pclk", "spdif"; 258 + clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>; 259 + clock-names = "dp", "pclk"; 260 260 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>; 261 261 phys = <&hdptxphy1>; 262 262 phy-names = "dp";
+113
arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + 3 + /dts-v1/; 4 + 5 + #include "rk3588-rock-5b.dtsi" 6 + 7 + / { 8 + model = "Radxa ROCK 5B+"; 9 + compatible = "radxa,rock-5b-plus", "rockchip,rk3588"; 10 + 11 + rfkill-wwan { 12 + compatible = "rfkill-gpio"; 13 + label = "rfkill-m2-wwan"; 14 + radio-type = "wwan"; 15 + shutdown-gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>; 16 + }; 17 + 18 + vcc3v3_4g: regulator-vcc3v3-4g { 19 + compatible = "regulator-fixed"; 20 + enable-active-high; 21 + gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; 22 + /* pinctrl for the GPIO is requested by vcc3v3_pcie2x1l0 */ 23 + regulator-name = "vcc3v3_4g"; 24 + regulator-always-on; 25 + regulator-boot-on; 26 + regulator-min-microvolt = <3300000>; 27 + regulator-max-microvolt = <3300000>; 28 + startup-delay-us = <50000>; 29 + vin-supply = <&vcc5v0_sys>; 30 + }; 31 + 32 + vcc3v3_wwan_pwr: regulator-vcc3v3-wwan { 33 + compatible = "regulator-fixed"; 34 + enable-active-high; 35 + gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; 36 + pinctrl-names = "default"; 37 + pinctrl-0 = <&wwan_power_en>; 38 + regulator-name = "vcc3v3_wwan_pwr"; 39 + regulator-always-on; 40 + regulator-boot-on; 41 + regulator-min-microvolt = <3300000>; 42 + regulator-max-microvolt = <3300000>; 43 + vin-supply = <&vcc3v3_4g>; 44 + }; 45 + }; 46 + 47 + &gpio0 { 48 + wwan-disable2-n-hog { 49 + gpios = <RK_PB2 GPIO_ACTIVE_LOW>; 50 + output-low; 51 + line-name = "M.2 B-key W_DISABLE2#"; 52 + gpio-hog; 53 + }; 54 + }; 55 + 56 + &gpio2 { 57 + wwan-reset-n-hog { 58 + gpios = <RK_PB3 GPIO_ACTIVE_LOW>; 59 + output-low; 60 + line-name = "M.2 B-key RESET#"; 61 + gpio-hog; 62 + }; 63 + 64 + wwan-wake-n-hog { 65 + gpios = <RK_PB2 GPIO_ACTIVE_LOW>; 66 + input; 67 + line-name = "M.2 B-key WoWWAN#"; 68 + gpio-hog; 69 + }; 70 + }; 71 + 72 + &pcie30phy { 73 + data-lanes = <1 1 2 2>; 74 + }; 75 + 76 + &pcie3x2 { 77 + pinctrl-names = "default"; 78 + pinctrl-0 = <&pcie3x2_rst>; 79 + reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 80 + vpcie3v3-supply = <&vcc3v3_pcie30>; 81 + status = "okay"; 82 + }; 83 + 84 + &pcie3x4 { 85 + num-lanes = <2>; 86 + }; 87 + 88 + &pinctrl { 89 + wwan { 90 + wwan_power_en: wwan-pwr-en { 91 + rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 92 + }; 93 + }; 94 + 95 + pcie3 { 96 + pcie3x2_rst: pcie3x2-rst { 97 + rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 98 + }; 99 + }; 100 + 101 + usb { 102 + vcc5v0_host_en: vcc5v0-host-en { 103 + rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 104 + }; 105 + }; 106 + }; 107 + 108 + &vcc5v0_host { 109 + enable-active-high; 110 + gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>; 111 + pinctrl-names = "default"; 112 + pinctrl-0 = <&vcc5v0_host_en>; 113 + };
+13 -946
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
··· 2 2 3 3 /dts-v1/; 4 4 5 - #include <dt-bindings/gpio/gpio.h> 6 - #include <dt-bindings/leds/common.h> 7 - #include <dt-bindings/soc/rockchip,vop2.h> 8 - #include "rk3588.dtsi" 5 + #include "rk3588-rock-5b.dtsi" 9 6 10 7 / { 11 8 model = "Radxa ROCK 5B"; 12 9 compatible = "radxa,rock-5b", "rockchip,rk3588"; 13 - 14 - aliases { 15 - mmc0 = &sdhci; 16 - mmc1 = &sdmmc; 17 - mmc2 = &sdio; 18 - }; 19 - 20 - chosen { 21 - stdout-path = "serial2:1500000n8"; 22 - }; 23 - 24 - analog-sound { 25 - compatible = "audio-graph-card"; 26 - label = "rk3588-es8316"; 27 - 28 - widgets = "Microphone", "Mic Jack", 29 - "Headphone", "Headphones"; 30 - 31 - routing = "MIC2", "Mic Jack", 32 - "Headphones", "HPOL", 33 - "Headphones", "HPOR"; 34 - 35 - dais = <&i2s0_8ch_p0>; 36 - hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; 37 - pinctrl-names = "default"; 38 - pinctrl-0 = <&hp_detect>; 39 - }; 40 - 41 - hdmi0-con { 42 - compatible = "hdmi-connector"; 43 - type = "a"; 44 - 45 - port { 46 - hdmi0_con_in: endpoint { 47 - remote-endpoint = <&hdmi0_out_con>; 48 - }; 49 - }; 50 - }; 51 - 52 - hdmi1-con { 53 - compatible = "hdmi-connector"; 54 - type = "a"; 55 - 56 - port { 57 - hdmi1_con_in: endpoint { 58 - remote-endpoint = <&hdmi1_out_con>; 59 - }; 60 - }; 61 - }; 62 - 63 - leds { 64 - compatible = "gpio-leds"; 65 - pinctrl-names = "default"; 66 - pinctrl-0 = <&led_rgb_b>; 67 - 68 - led_rgb_b { 69 - function = LED_FUNCTION_STATUS; 70 - color = <LED_COLOR_ID_BLUE>; 71 - gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 72 - linux,default-trigger = "heartbeat"; 73 - }; 74 - }; 75 - 76 - fan: pwm-fan { 77 - compatible = "pwm-fan"; 78 - cooling-levels = <0 120 150 180 210 240 255>; 79 - fan-supply = <&vcc5v0_sys>; 80 - pwms = <&pwm1 0 50000 0>; 81 - #cooling-cells = <2>; 82 - }; 83 - 84 - rfkill { 85 - compatible = "rfkill-gpio"; 86 - label = "rfkill-m2-wlan"; 87 - radio-type = "wlan"; 88 - shutdown-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 89 - }; 90 - 91 - rfkill-bt { 92 - compatible = "rfkill-gpio"; 93 - label = "rfkill-m2-bt"; 94 - radio-type = "bluetooth"; 95 - shutdown-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; 96 - }; 97 - 98 - vcc3v3_pcie2x1l0: regulator-vcc3v3-pcie2x1l0 { 99 - compatible = "regulator-fixed"; 100 - enable-active-high; 101 - gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; 102 - pinctrl-names = "default"; 103 - pinctrl-0 = <&pcie2_0_vcc3v3_en>; 104 - regulator-name = "vcc3v3_pcie2x1l0"; 105 - regulator-always-on; 106 - regulator-boot-on; 107 - regulator-min-microvolt = <3300000>; 108 - regulator-max-microvolt = <3300000>; 109 - startup-delay-us = <50000>; 110 - vin-supply = <&vcc5v0_sys>; 111 - }; 112 - 113 - vcc3v3_pcie2x1l2: regulator-vcc3v3-pcie2x1l2 { 114 - compatible = "regulator-fixed"; 115 - regulator-name = "vcc3v3_pcie2x1l2"; 116 - regulator-min-microvolt = <3300000>; 117 - regulator-max-microvolt = <3300000>; 118 - startup-delay-us = <5000>; 119 - vin-supply = <&vcc_3v3_s3>; 120 - }; 121 - 122 - vcc3v3_pcie30: regulator-vcc3v3-pcie30 { 123 - compatible = "regulator-fixed"; 124 - enable-active-high; 125 - gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; 126 - pinctrl-names = "default"; 127 - pinctrl-0 = <&pcie3_vcc3v3_en>; 128 - regulator-name = "vcc3v3_pcie30"; 129 - regulator-min-microvolt = <3300000>; 130 - regulator-max-microvolt = <3300000>; 131 - startup-delay-us = <5000>; 132 - vin-supply = <&vcc5v0_sys>; 133 - }; 134 - 135 - vcc5v0_host: regulator-vcc5v0-host { 136 - compatible = "regulator-fixed"; 137 - regulator-name = "vcc5v0_host"; 138 - regulator-boot-on; 139 - regulator-always-on; 140 - regulator-min-microvolt = <5000000>; 141 - regulator-max-microvolt = <5000000>; 142 - enable-active-high; 143 - gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 144 - pinctrl-names = "default"; 145 - pinctrl-0 = <&vcc5v0_host_en>; 146 - vin-supply = <&vcc5v0_sys>; 147 - }; 148 - 149 - vcc5v0_sys: regulator-vcc5v0-sys { 150 - compatible = "regulator-fixed"; 151 - regulator-name = "vcc5v0_sys"; 152 - regulator-always-on; 153 - regulator-boot-on; 154 - regulator-min-microvolt = <5000000>; 155 - regulator-max-microvolt = <5000000>; 156 - }; 157 - 158 - vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { 159 - compatible = "regulator-fixed"; 160 - regulator-name = "vcc_1v1_nldo_s3"; 161 - regulator-always-on; 162 - regulator-boot-on; 163 - regulator-min-microvolt = <1100000>; 164 - regulator-max-microvolt = <1100000>; 165 - vin-supply = <&vcc5v0_sys>; 166 - }; 167 - }; 168 - 169 - &combphy0_ps { 170 - status = "okay"; 171 - }; 172 - 173 - &combphy1_ps { 174 - status = "okay"; 175 - }; 176 - 177 - &combphy2_psu { 178 - status = "okay"; 179 - }; 180 - 181 - &cpu_b0 { 182 - cpu-supply = <&vdd_cpu_big0_s0>; 183 - }; 184 - 185 - &cpu_b1 { 186 - cpu-supply = <&vdd_cpu_big0_s0>; 187 - }; 188 - 189 - &cpu_b2 { 190 - cpu-supply = <&vdd_cpu_big1_s0>; 191 - }; 192 - 193 - &cpu_b3 { 194 - cpu-supply = <&vdd_cpu_big1_s0>; 195 - }; 196 - 197 - &cpu_l0 { 198 - cpu-supply = <&vdd_cpu_lit_s0>; 199 - }; 200 - 201 - &cpu_l1 { 202 - cpu-supply = <&vdd_cpu_lit_s0>; 203 - }; 204 - 205 - &cpu_l2 { 206 - cpu-supply = <&vdd_cpu_lit_s0>; 207 - }; 208 - 209 - &cpu_l3 { 210 - cpu-supply = <&vdd_cpu_lit_s0>; 211 - }; 212 - 213 - &gpu { 214 - mali-supply = <&vdd_gpu_s0>; 215 - status = "okay"; 216 - }; 217 - 218 - &hdmi0 { 219 - status = "okay"; 220 - }; 221 - 222 - &hdmi0_in { 223 - hdmi0_in_vp0: endpoint { 224 - remote-endpoint = <&vp0_out_hdmi0>; 225 - }; 226 - }; 227 - 228 - &hdmi0_out { 229 - hdmi0_out_con: endpoint { 230 - remote-endpoint = <&hdmi0_con_in>; 231 - }; 232 - }; 233 - 234 - &hdmi0_sound { 235 - status = "okay"; 236 - }; 237 - 238 - &hdmi1 { 239 - pinctrl-0 = <&hdmim0_tx1_cec &hdmim0_tx1_hpd 240 - &hdmim1_tx1_scl &hdmim1_tx1_sda>; 241 - status = "okay"; 242 - }; 243 - 244 - &hdmi1_in { 245 - hdmi1_in_vp1: endpoint { 246 - remote-endpoint = <&vp1_out_hdmi1>; 247 - }; 248 - }; 249 - 250 - &hdmi1_out { 251 - hdmi1_out_con: endpoint { 252 - remote-endpoint = <&hdmi1_con_in>; 253 - }; 254 - }; 255 - 256 - &hdmi1_sound { 257 - status = "okay"; 258 - }; 259 - 260 - &hdmi_receiver_cma { 261 - status = "okay"; 262 - }; 263 - 264 - &hdmi_receiver { 265 - hpd-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>; 266 - pinctrl-0 = <&hdmim1_rx_cec &hdmim1_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda &hdmirx_hpd>; 267 - pinctrl-names = "default"; 268 - status = "okay"; 269 - }; 270 - 271 - &hdptxphy0 { 272 - status = "okay"; 273 - }; 274 - 275 - &hdptxphy1 { 276 - status = "okay"; 277 - }; 278 - 279 - &i2c0 { 280 - pinctrl-names = "default"; 281 - pinctrl-0 = <&i2c0m2_xfer>; 282 - status = "okay"; 283 - 284 - vdd_cpu_big0_s0: regulator@42 { 285 - compatible = "rockchip,rk8602"; 286 - reg = <0x42>; 287 - fcs,suspend-voltage-selector = <1>; 288 - regulator-name = "vdd_cpu_big0_s0"; 289 - regulator-always-on; 290 - regulator-boot-on; 291 - regulator-min-microvolt = <550000>; 292 - regulator-max-microvolt = <1050000>; 293 - regulator-ramp-delay = <2300>; 294 - vin-supply = <&vcc5v0_sys>; 295 - 296 - regulator-state-mem { 297 - regulator-off-in-suspend; 298 - }; 299 - }; 300 - 301 - vdd_cpu_big1_s0: regulator@43 { 302 - compatible = "rockchip,rk8603", "rockchip,rk8602"; 303 - reg = <0x43>; 304 - fcs,suspend-voltage-selector = <1>; 305 - regulator-name = "vdd_cpu_big1_s0"; 306 - regulator-always-on; 307 - regulator-boot-on; 308 - regulator-min-microvolt = <550000>; 309 - regulator-max-microvolt = <1050000>; 310 - regulator-ramp-delay = <2300>; 311 - vin-supply = <&vcc5v0_sys>; 312 - 313 - regulator-state-mem { 314 - regulator-off-in-suspend; 315 - }; 316 - }; 317 - }; 318 - 319 - &i2c6 { 320 - status = "okay"; 321 - 322 - hym8563: rtc@51 { 323 - compatible = "haoyu,hym8563"; 324 - reg = <0x51>; 325 - #clock-cells = <0>; 326 - clock-output-names = "hym8563"; 327 - pinctrl-names = "default"; 328 - pinctrl-0 = <&hym8563_int>; 329 - interrupt-parent = <&gpio0>; 330 - interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 331 - wakeup-source; 332 - }; 333 - }; 334 - 335 - &i2c7 { 336 - status = "okay"; 337 - 338 - es8316: audio-codec@11 { 339 - compatible = "everest,es8316"; 340 - reg = <0x11>; 341 - clocks = <&cru I2S0_8CH_MCLKOUT>; 342 - clock-names = "mclk"; 343 - assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 344 - assigned-clock-rates = <12288000>; 345 - #sound-dai-cells = <0>; 346 - 347 - port { 348 - es8316_p0_0: endpoint { 349 - remote-endpoint = <&i2s0_8ch_p0_0>; 350 - }; 351 - }; 352 - }; 353 - }; 354 - 355 - &i2s0_8ch { 356 - pinctrl-names = "default"; 357 - pinctrl-0 = <&i2s0_lrck 358 - &i2s0_mclk 359 - &i2s0_sclk 360 - &i2s0_sdi0 361 - &i2s0_sdo0>; 362 - status = "okay"; 363 - 364 - i2s0_8ch_p0: port { 365 - i2s0_8ch_p0_0: endpoint { 366 - dai-format = "i2s"; 367 - mclk-fs = <256>; 368 - remote-endpoint = <&es8316_p0_0>; 369 - }; 370 - }; 371 - }; 372 - 373 - &i2s5_8ch { 374 - status = "okay"; 375 - }; 376 - 377 - &i2s6_8ch { 378 - status = "okay"; 379 - }; 380 - 381 - &package_thermal { 382 - polling-delay = <1000>; 383 - 384 - trips { 385 - package_fan0: package-fan0 { 386 - temperature = <55000>; 387 - hysteresis = <2000>; 388 - type = "active"; 389 - }; 390 - 391 - package_fan1: package-fan1 { 392 - temperature = <65000>; 393 - hysteresis = <2000>; 394 - type = "active"; 395 - }; 396 - }; 397 - 398 - cooling-maps { 399 - map0 { 400 - trip = <&package_fan0>; 401 - cooling-device = <&fan THERMAL_NO_LIMIT 1>; 402 - }; 403 - 404 - map1 { 405 - trip = <&package_fan1>; 406 - cooling-device = <&fan 2 THERMAL_NO_LIMIT>; 407 - }; 408 - }; 409 - }; 410 - 411 - &pcie2x1l0 { 412 - pinctrl-names = "default"; 413 - pinctrl-0 = <&pcie2_0_rst>; 414 - reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 415 - vpcie3v3-supply = <&vcc3v3_pcie2x1l0>; 416 - status = "okay"; 417 - }; 418 - 419 - &pcie2x1l2 { 420 - pinctrl-names = "default"; 421 - pinctrl-0 = <&pcie2_2_rst>; 422 - reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>; 423 - vpcie3v3-supply = <&vcc3v3_pcie2x1l2>; 424 - status = "okay"; 425 - }; 426 - 427 - &pcie30phy { 428 - status = "okay"; 429 - }; 430 - 431 - &pcie3x4 { 432 - pinctrl-names = "default"; 433 - pinctrl-0 = <&pcie3_rst>; 434 - reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 435 - vpcie3v3-supply = <&vcc3v3_pcie30>; 436 - status = "okay"; 437 - }; 438 - 439 - &pd_gpu { 440 - domain-supply = <&vdd_gpu_s0>; 441 - }; 442 - 443 - &pinctrl { 444 - hdmirx { 445 - hdmirx_hpd: hdmirx-5v-detection { 446 - rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 447 - }; 448 - }; 449 - 450 - hym8563 { 451 - hym8563_int: hym8563-int { 452 - rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 453 - }; 454 - }; 455 - 456 - leds { 457 - led_rgb_b: led-rgb-b { 458 - rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 459 - }; 460 - }; 461 - 462 - sound { 463 - hp_detect: hp-detect { 464 - rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 465 - }; 466 - }; 467 - 468 - pcie2 { 469 - pcie2_0_rst: pcie2-0-rst { 470 - rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 471 - }; 472 - 473 - pcie2_0_vcc3v3_en: pcie2-0-vcc-en { 474 - rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 475 - }; 476 - 477 - pcie2_2_rst: pcie2-2-rst { 478 - rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 479 - }; 480 - }; 481 - 482 - pcie3 { 483 - pcie3_rst: pcie3-rst { 484 - rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 485 - }; 486 - 487 - pcie3_vcc3v3_en: pcie3-vcc3v3-en { 488 - rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 489 - }; 490 - }; 491 - 492 - usb { 493 - vcc5v0_host_en: vcc5v0-host-en { 494 - rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 495 - }; 496 - }; 497 - }; 498 - 499 - &pwm1 { 500 - status = "okay"; 501 - }; 502 - 503 - &saradc { 504 - vref-supply = <&avcc_1v8_s0>; 505 - status = "okay"; 506 - }; 507 - 508 - &sdhci { 509 - bus-width = <8>; 510 - no-sdio; 511 - no-sd; 512 - non-removable; 513 - mmc-hs400-1_8v; 514 - mmc-hs400-enhanced-strobe; 515 - status = "okay"; 516 - }; 517 - 518 - &sdmmc { 519 - max-frequency = <200000000>; 520 - no-sdio; 521 - no-mmc; 522 - bus-width = <4>; 523 - cap-mmc-highspeed; 524 - cap-sd-highspeed; 525 - cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 526 - disable-wp; 527 - sd-uhs-sdr104; 528 - vmmc-supply = <&vcc_3v3_s3>; 529 - vqmmc-supply = <&vccio_sd_s0>; 530 - status = "okay"; 531 10 }; 532 11 533 12 &sdio { ··· 30 551 status = "okay"; 31 552 }; 32 553 33 - &sfc { 34 - pinctrl-names = "default"; 35 - pinctrl-0 = <&fspim2_pins>; 36 - status = "okay"; 37 - 38 - flash@0 { 39 - compatible = "jedec,spi-nor"; 40 - reg = <0>; 41 - spi-max-frequency = <104000000>; 42 - spi-rx-bus-width = <4>; 43 - spi-tx-bus-width = <1>; 44 - vcc-supply = <&vcc_3v3_s3>; 45 - }; 46 - }; 47 - 48 554 &uart6 { 49 555 pinctrl-names = "default"; 50 556 pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>; 51 557 status = "okay"; 52 558 }; 53 559 54 - &spi2 { 55 - status = "okay"; 56 - assigned-clocks = <&cru CLK_SPI2>; 57 - assigned-clock-rates = <200000000>; 560 + &pinctrl { 561 + usb { 562 + vcc5v0_host_en: vcc5v0-host-en { 563 + rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 564 + }; 565 + }; 566 + }; 567 + 568 + &vcc5v0_host { 569 + enable-active-high; 570 + gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 58 571 pinctrl-names = "default"; 59 - pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 60 - num-cs = <1>; 61 - 62 - pmic@0 { 63 - compatible = "rockchip,rk806"; 64 - spi-max-frequency = <1000000>; 65 - reg = <0x0>; 66 - 67 - interrupt-parent = <&gpio0>; 68 - interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 69 - 70 - pinctrl-names = "default"; 71 - pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 72 - <&rk806_dvs2_null>, <&rk806_dvs3_null>; 73 - 74 - system-power-controller; 75 - 76 - vcc1-supply = <&vcc5v0_sys>; 77 - vcc2-supply = <&vcc5v0_sys>; 78 - vcc3-supply = <&vcc5v0_sys>; 79 - vcc4-supply = <&vcc5v0_sys>; 80 - vcc5-supply = <&vcc5v0_sys>; 81 - vcc6-supply = <&vcc5v0_sys>; 82 - vcc7-supply = <&vcc5v0_sys>; 83 - vcc8-supply = <&vcc5v0_sys>; 84 - vcc9-supply = <&vcc5v0_sys>; 85 - vcc10-supply = <&vcc5v0_sys>; 86 - vcc11-supply = <&vcc_2v0_pldo_s3>; 87 - vcc12-supply = <&vcc5v0_sys>; 88 - vcc13-supply = <&vcc_1v1_nldo_s3>; 89 - vcc14-supply = <&vcc_1v1_nldo_s3>; 90 - vcca-supply = <&vcc5v0_sys>; 91 - 92 - gpio-controller; 93 - #gpio-cells = <2>; 94 - 95 - rk806_dvs1_null: dvs1-null-pins { 96 - pins = "gpio_pwrctrl1"; 97 - function = "pin_fun0"; 98 - }; 99 - 100 - rk806_dvs2_null: dvs2-null-pins { 101 - pins = "gpio_pwrctrl2"; 102 - function = "pin_fun0"; 103 - }; 104 - 105 - rk806_dvs3_null: dvs3-null-pins { 106 - pins = "gpio_pwrctrl3"; 107 - function = "pin_fun0"; 108 - }; 109 - 110 - regulators { 111 - vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 { 112 - regulator-boot-on; 113 - regulator-min-microvolt = <550000>; 114 - regulator-max-microvolt = <950000>; 115 - regulator-ramp-delay = <12500>; 116 - regulator-name = "vdd_gpu_s0"; 117 - regulator-enable-ramp-delay = <400>; 118 - 119 - regulator-state-mem { 120 - regulator-off-in-suspend; 121 - }; 122 - }; 123 - 124 - vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 { 125 - regulator-always-on; 126 - regulator-boot-on; 127 - regulator-min-microvolt = <550000>; 128 - regulator-max-microvolt = <950000>; 129 - regulator-ramp-delay = <12500>; 130 - regulator-name = "vdd_cpu_lit_s0"; 131 - 132 - regulator-state-mem { 133 - regulator-off-in-suspend; 134 - }; 135 - }; 136 - 137 - vdd_log_s0: dcdc-reg3 { 138 - regulator-always-on; 139 - regulator-boot-on; 140 - regulator-min-microvolt = <675000>; 141 - regulator-max-microvolt = <750000>; 142 - regulator-ramp-delay = <12500>; 143 - regulator-name = "vdd_log_s0"; 144 - 145 - regulator-state-mem { 146 - regulator-off-in-suspend; 147 - regulator-suspend-microvolt = <750000>; 148 - }; 149 - }; 150 - 151 - vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 { 152 - regulator-always-on; 153 - regulator-boot-on; 154 - regulator-min-microvolt = <550000>; 155 - regulator-max-microvolt = <950000>; 156 - regulator-ramp-delay = <12500>; 157 - regulator-name = "vdd_vdenc_s0"; 158 - 159 - regulator-state-mem { 160 - regulator-off-in-suspend; 161 - }; 162 - }; 163 - 164 - vdd_ddr_s0: dcdc-reg5 { 165 - regulator-always-on; 166 - regulator-boot-on; 167 - regulator-min-microvolt = <675000>; 168 - regulator-max-microvolt = <900000>; 169 - regulator-ramp-delay = <12500>; 170 - regulator-name = "vdd_ddr_s0"; 171 - 172 - regulator-state-mem { 173 - regulator-off-in-suspend; 174 - regulator-suspend-microvolt = <850000>; 175 - }; 176 - }; 177 - 178 - vdd2_ddr_s3: dcdc-reg6 { 179 - regulator-always-on; 180 - regulator-boot-on; 181 - regulator-name = "vdd2_ddr_s3"; 182 - 183 - regulator-state-mem { 184 - regulator-on-in-suspend; 185 - }; 186 - }; 187 - 188 - vcc_2v0_pldo_s3: dcdc-reg7 { 189 - regulator-always-on; 190 - regulator-boot-on; 191 - regulator-min-microvolt = <2000000>; 192 - regulator-max-microvolt = <2000000>; 193 - regulator-ramp-delay = <12500>; 194 - regulator-name = "vdd_2v0_pldo_s3"; 195 - 196 - regulator-state-mem { 197 - regulator-on-in-suspend; 198 - regulator-suspend-microvolt = <2000000>; 199 - }; 200 - }; 201 - 202 - vcc_3v3_s3: dcdc-reg8 { 203 - regulator-always-on; 204 - regulator-boot-on; 205 - regulator-min-microvolt = <3300000>; 206 - regulator-max-microvolt = <3300000>; 207 - regulator-name = "vcc_3v3_s3"; 208 - 209 - regulator-state-mem { 210 - regulator-on-in-suspend; 211 - regulator-suspend-microvolt = <3300000>; 212 - }; 213 - }; 214 - 215 - vddq_ddr_s0: dcdc-reg9 { 216 - regulator-always-on; 217 - regulator-boot-on; 218 - regulator-name = "vddq_ddr_s0"; 219 - 220 - regulator-state-mem { 221 - regulator-off-in-suspend; 222 - }; 223 - }; 224 - 225 - vcc_1v8_s3: dcdc-reg10 { 226 - regulator-always-on; 227 - regulator-boot-on; 228 - regulator-min-microvolt = <1800000>; 229 - regulator-max-microvolt = <1800000>; 230 - regulator-name = "vcc_1v8_s3"; 231 - 232 - regulator-state-mem { 233 - regulator-on-in-suspend; 234 - regulator-suspend-microvolt = <1800000>; 235 - }; 236 - }; 237 - 238 - avcc_1v8_s0: pldo-reg1 { 239 - regulator-always-on; 240 - regulator-boot-on; 241 - regulator-min-microvolt = <1800000>; 242 - regulator-max-microvolt = <1800000>; 243 - regulator-name = "avcc_1v8_s0"; 244 - 245 - regulator-state-mem { 246 - regulator-off-in-suspend; 247 - }; 248 - }; 249 - 250 - vcc_1v8_s0: pldo-reg2 { 251 - regulator-always-on; 252 - regulator-boot-on; 253 - regulator-min-microvolt = <1800000>; 254 - regulator-max-microvolt = <1800000>; 255 - regulator-name = "vcc_1v8_s0"; 256 - 257 - regulator-state-mem { 258 - regulator-off-in-suspend; 259 - regulator-suspend-microvolt = <1800000>; 260 - }; 261 - }; 262 - 263 - avdd_1v2_s0: pldo-reg3 { 264 - regulator-always-on; 265 - regulator-boot-on; 266 - regulator-min-microvolt = <1200000>; 267 - regulator-max-microvolt = <1200000>; 268 - regulator-name = "avdd_1v2_s0"; 269 - 270 - regulator-state-mem { 271 - regulator-off-in-suspend; 272 - }; 273 - }; 274 - 275 - vcc_3v3_s0: pldo-reg4 { 276 - regulator-always-on; 277 - regulator-boot-on; 278 - regulator-min-microvolt = <3300000>; 279 - regulator-max-microvolt = <3300000>; 280 - regulator-ramp-delay = <12500>; 281 - regulator-name = "vcc_3v3_s0"; 282 - 283 - regulator-state-mem { 284 - regulator-off-in-suspend; 285 - }; 286 - }; 287 - 288 - vccio_sd_s0: pldo-reg5 { 289 - regulator-always-on; 290 - regulator-boot-on; 291 - regulator-min-microvolt = <1800000>; 292 - regulator-max-microvolt = <3300000>; 293 - regulator-ramp-delay = <12500>; 294 - regulator-name = "vccio_sd_s0"; 295 - 296 - regulator-state-mem { 297 - regulator-off-in-suspend; 298 - }; 299 - }; 300 - 301 - pldo6_s3: pldo-reg6 { 302 - regulator-always-on; 303 - regulator-boot-on; 304 - regulator-min-microvolt = <1800000>; 305 - regulator-max-microvolt = <1800000>; 306 - regulator-name = "pldo6_s3"; 307 - 308 - regulator-state-mem { 309 - regulator-on-in-suspend; 310 - regulator-suspend-microvolt = <1800000>; 311 - }; 312 - }; 313 - 314 - vdd_0v75_s3: nldo-reg1 { 315 - regulator-always-on; 316 - regulator-boot-on; 317 - regulator-min-microvolt = <750000>; 318 - regulator-max-microvolt = <750000>; 319 - regulator-name = "vdd_0v75_s3"; 320 - 321 - regulator-state-mem { 322 - regulator-on-in-suspend; 323 - regulator-suspend-microvolt = <750000>; 324 - }; 325 - }; 326 - 327 - vdd_ddr_pll_s0: nldo-reg2 { 328 - regulator-always-on; 329 - regulator-boot-on; 330 - regulator-min-microvolt = <850000>; 331 - regulator-max-microvolt = <850000>; 332 - regulator-name = "vdd_ddr_pll_s0"; 333 - 334 - regulator-state-mem { 335 - regulator-off-in-suspend; 336 - regulator-suspend-microvolt = <850000>; 337 - }; 338 - }; 339 - 340 - avdd_0v75_s0: nldo-reg3 { 341 - regulator-always-on; 342 - regulator-boot-on; 343 - regulator-min-microvolt = <750000>; 344 - regulator-max-microvolt = <750000>; 345 - regulator-name = "avdd_0v75_s0"; 346 - 347 - regulator-state-mem { 348 - regulator-off-in-suspend; 349 - }; 350 - }; 351 - 352 - vdd_0v85_s0: nldo-reg4 { 353 - regulator-always-on; 354 - regulator-boot-on; 355 - regulator-min-microvolt = <850000>; 356 - regulator-max-microvolt = <850000>; 357 - regulator-name = "vdd_0v85_s0"; 358 - 359 - regulator-state-mem { 360 - regulator-off-in-suspend; 361 - }; 362 - }; 363 - 364 - vdd_0v75_s0: nldo-reg5 { 365 - regulator-always-on; 366 - regulator-boot-on; 367 - regulator-min-microvolt = <750000>; 368 - regulator-max-microvolt = <750000>; 369 - regulator-name = "vdd_0v75_s0"; 370 - 371 - regulator-state-mem { 372 - regulator-off-in-suspend; 373 - }; 374 - }; 375 - }; 376 - }; 377 - }; 378 - 379 - &tsadc { 380 - status = "okay"; 381 - }; 382 - 383 - &uart2 { 384 - pinctrl-0 = <&uart2m0_xfer>; 385 - status = "okay"; 386 - }; 387 - 388 - &u2phy1 { 389 - status = "okay"; 390 - }; 391 - 392 - &u2phy1_otg { 393 - status = "okay"; 394 - }; 395 - 396 - &u2phy2 { 397 - status = "okay"; 398 - }; 399 - 400 - &u2phy2_host { 401 - /* connected to USB hub, which is powered by vcc5v0_sys */ 402 - phy-supply = <&vcc5v0_sys>; 403 - status = "okay"; 404 - }; 405 - 406 - &u2phy3 { 407 - status = "okay"; 408 - }; 409 - 410 - &u2phy3_host { 411 - phy-supply = <&vcc5v0_host>; 412 - status = "okay"; 413 - }; 414 - 415 - &usbdp_phy1 { 416 - status = "okay"; 417 - }; 418 - 419 - &usb_host0_ehci { 420 - status = "okay"; 421 - }; 422 - 423 - &usb_host0_ohci { 424 - status = "okay"; 425 - }; 426 - 427 - &usb_host1_ehci { 428 - status = "okay"; 429 - }; 430 - 431 - &usb_host1_ohci { 432 - status = "okay"; 433 - }; 434 - 435 - &usb_host1_xhci { 436 - dr_mode = "host"; 437 - status = "okay"; 438 - }; 439 - 440 - &usb_host2_xhci { 441 - status = "okay"; 442 - }; 443 - 444 - &vop { 445 - status = "okay"; 446 - }; 447 - 448 - &vop_mmu { 449 - status = "okay"; 450 - }; 451 - 452 - &vp0 { 453 - vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 454 - reg = <ROCKCHIP_VOP2_EP_HDMI0>; 455 - remote-endpoint = <&hdmi0_in_vp0>; 456 - }; 457 - }; 458 - 459 - &vp1 { 460 - vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 { 461 - reg = <ROCKCHIP_VOP2_EP_HDMI1>; 462 - remote-endpoint = <&hdmi1_in_vp1>; 463 - }; 572 + pinctrl-0 = <&vcc5v0_host_en>; 464 573 };
+945
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + 3 + /dts-v1/; 4 + 5 + #include <dt-bindings/gpio/gpio.h> 6 + #include <dt-bindings/leds/common.h> 7 + #include <dt-bindings/soc/rockchip,vop2.h> 8 + #include "rk3588.dtsi" 9 + 10 + / { 11 + aliases { 12 + mmc0 = &sdhci; 13 + mmc1 = &sdmmc; 14 + mmc2 = &sdio; 15 + }; 16 + 17 + chosen { 18 + stdout-path = "serial2:1500000n8"; 19 + }; 20 + 21 + analog-sound { 22 + compatible = "audio-graph-card"; 23 + label = "rk3588-es8316"; 24 + 25 + widgets = "Microphone", "Mic Jack", 26 + "Headphone", "Headphones"; 27 + 28 + routing = "MIC2", "Mic Jack", 29 + "Headphones", "HPOL", 30 + "Headphones", "HPOR"; 31 + 32 + dais = <&i2s0_8ch_p0>; 33 + hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; 34 + pinctrl-names = "default"; 35 + pinctrl-0 = <&hp_detect>; 36 + }; 37 + 38 + hdmi0-con { 39 + compatible = "hdmi-connector"; 40 + type = "a"; 41 + 42 + port { 43 + hdmi0_con_in: endpoint { 44 + remote-endpoint = <&hdmi0_out_con>; 45 + }; 46 + }; 47 + }; 48 + 49 + hdmi1-con { 50 + compatible = "hdmi-connector"; 51 + type = "a"; 52 + 53 + port { 54 + hdmi1_con_in: endpoint { 55 + remote-endpoint = <&hdmi1_out_con>; 56 + }; 57 + }; 58 + }; 59 + 60 + leds { 61 + compatible = "gpio-leds"; 62 + pinctrl-names = "default"; 63 + pinctrl-0 = <&led_rgb_b>; 64 + 65 + led_rgb_b { 66 + function = LED_FUNCTION_STATUS; 67 + color = <LED_COLOR_ID_BLUE>; 68 + gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 69 + linux,default-trigger = "heartbeat"; 70 + }; 71 + }; 72 + 73 + fan: pwm-fan { 74 + compatible = "pwm-fan"; 75 + cooling-levels = <0 120 150 180 210 240 255>; 76 + fan-supply = <&vcc5v0_sys>; 77 + pwms = <&pwm1 0 50000 0>; 78 + #cooling-cells = <2>; 79 + }; 80 + 81 + rfkill { 82 + compatible = "rfkill-gpio"; 83 + label = "rfkill-m2-wlan"; 84 + radio-type = "wlan"; 85 + shutdown-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 86 + }; 87 + 88 + rfkill-bt { 89 + compatible = "rfkill-gpio"; 90 + label = "rfkill-m2-bt"; 91 + radio-type = "bluetooth"; 92 + shutdown-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; 93 + }; 94 + 95 + vcc3v3_pcie2x1l0: regulator-vcc3v3-pcie2x1l0 { 96 + compatible = "regulator-fixed"; 97 + enable-active-high; 98 + gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; 99 + pinctrl-names = "default"; 100 + pinctrl-0 = <&pcie2_0_vcc3v3_en>; 101 + regulator-name = "vcc3v3_pcie2x1l0"; 102 + regulator-always-on; 103 + regulator-boot-on; 104 + regulator-min-microvolt = <3300000>; 105 + regulator-max-microvolt = <3300000>; 106 + startup-delay-us = <50000>; 107 + vin-supply = <&vcc5v0_sys>; 108 + }; 109 + 110 + vcc3v3_pcie2x1l2: regulator-vcc3v3-pcie2x1l2 { 111 + compatible = "regulator-fixed"; 112 + regulator-name = "vcc3v3_pcie2x1l2"; 113 + regulator-min-microvolt = <3300000>; 114 + regulator-max-microvolt = <3300000>; 115 + startup-delay-us = <5000>; 116 + vin-supply = <&vcc_3v3_s3>; 117 + }; 118 + 119 + vcc3v3_pcie30: regulator-vcc3v3-pcie30 { 120 + compatible = "regulator-fixed"; 121 + enable-active-high; 122 + gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; 123 + pinctrl-names = "default"; 124 + pinctrl-0 = <&pcie3_vcc3v3_en>; 125 + regulator-name = "vcc3v3_pcie30"; 126 + regulator-min-microvolt = <3300000>; 127 + regulator-max-microvolt = <3300000>; 128 + startup-delay-us = <5000>; 129 + vin-supply = <&vcc5v0_sys>; 130 + }; 131 + 132 + vcc5v0_host: regulator-vcc5v0-host { 133 + compatible = "regulator-fixed"; 134 + regulator-name = "vcc5v0_host"; 135 + regulator-boot-on; 136 + regulator-always-on; 137 + regulator-min-microvolt = <5000000>; 138 + regulator-max-microvolt = <5000000>; 139 + vin-supply = <&vcc5v0_sys>; 140 + }; 141 + 142 + vcc5v0_sys: regulator-vcc5v0-sys { 143 + compatible = "regulator-fixed"; 144 + regulator-name = "vcc5v0_sys"; 145 + regulator-always-on; 146 + regulator-boot-on; 147 + regulator-min-microvolt = <5000000>; 148 + regulator-max-microvolt = <5000000>; 149 + }; 150 + 151 + vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { 152 + compatible = "regulator-fixed"; 153 + regulator-name = "vcc_1v1_nldo_s3"; 154 + regulator-always-on; 155 + regulator-boot-on; 156 + regulator-min-microvolt = <1100000>; 157 + regulator-max-microvolt = <1100000>; 158 + vin-supply = <&vcc5v0_sys>; 159 + }; 160 + }; 161 + 162 + &combphy0_ps { 163 + status = "okay"; 164 + }; 165 + 166 + &combphy1_ps { 167 + status = "okay"; 168 + }; 169 + 170 + &combphy2_psu { 171 + status = "okay"; 172 + }; 173 + 174 + &cpu_b0 { 175 + cpu-supply = <&vdd_cpu_big0_s0>; 176 + }; 177 + 178 + &cpu_b1 { 179 + cpu-supply = <&vdd_cpu_big0_s0>; 180 + }; 181 + 182 + &cpu_b2 { 183 + cpu-supply = <&vdd_cpu_big1_s0>; 184 + }; 185 + 186 + &cpu_b3 { 187 + cpu-supply = <&vdd_cpu_big1_s0>; 188 + }; 189 + 190 + &cpu_l0 { 191 + cpu-supply = <&vdd_cpu_lit_s0>; 192 + }; 193 + 194 + &cpu_l1 { 195 + cpu-supply = <&vdd_cpu_lit_s0>; 196 + }; 197 + 198 + &cpu_l2 { 199 + cpu-supply = <&vdd_cpu_lit_s0>; 200 + }; 201 + 202 + &cpu_l3 { 203 + cpu-supply = <&vdd_cpu_lit_s0>; 204 + }; 205 + 206 + &gpu { 207 + mali-supply = <&vdd_gpu_s0>; 208 + status = "okay"; 209 + }; 210 + 211 + &hdmi0 { 212 + status = "okay"; 213 + }; 214 + 215 + &hdmi0_in { 216 + hdmi0_in_vp0: endpoint { 217 + remote-endpoint = <&vp0_out_hdmi0>; 218 + }; 219 + }; 220 + 221 + &hdmi0_out { 222 + hdmi0_out_con: endpoint { 223 + remote-endpoint = <&hdmi0_con_in>; 224 + }; 225 + }; 226 + 227 + &hdmi0_sound { 228 + status = "okay"; 229 + }; 230 + 231 + &hdmi1 { 232 + pinctrl-0 = <&hdmim0_tx1_cec &hdmim0_tx1_hpd 233 + &hdmim1_tx1_scl &hdmim1_tx1_sda>; 234 + status = "okay"; 235 + }; 236 + 237 + &hdmi1_in { 238 + hdmi1_in_vp1: endpoint { 239 + remote-endpoint = <&vp1_out_hdmi1>; 240 + }; 241 + }; 242 + 243 + &hdmi1_out { 244 + hdmi1_out_con: endpoint { 245 + remote-endpoint = <&hdmi1_con_in>; 246 + }; 247 + }; 248 + 249 + &hdmi1_sound { 250 + status = "okay"; 251 + }; 252 + 253 + &hdmi_receiver_cma { 254 + status = "okay"; 255 + }; 256 + 257 + &hdmi_receiver { 258 + hpd-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>; 259 + pinctrl-0 = <&hdmim1_rx_cec &hdmim1_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda &hdmirx_hpd>; 260 + pinctrl-names = "default"; 261 + status = "okay"; 262 + }; 263 + 264 + &hdptxphy0 { 265 + status = "okay"; 266 + }; 267 + 268 + &hdptxphy1 { 269 + status = "okay"; 270 + }; 271 + 272 + &i2c0 { 273 + pinctrl-names = "default"; 274 + pinctrl-0 = <&i2c0m2_xfer>; 275 + status = "okay"; 276 + 277 + vdd_cpu_big0_s0: regulator@42 { 278 + compatible = "rockchip,rk8602"; 279 + reg = <0x42>; 280 + fcs,suspend-voltage-selector = <1>; 281 + regulator-name = "vdd_cpu_big0_s0"; 282 + regulator-always-on; 283 + regulator-boot-on; 284 + regulator-min-microvolt = <550000>; 285 + regulator-max-microvolt = <1050000>; 286 + regulator-ramp-delay = <2300>; 287 + vin-supply = <&vcc5v0_sys>; 288 + 289 + regulator-state-mem { 290 + regulator-off-in-suspend; 291 + }; 292 + }; 293 + 294 + vdd_cpu_big1_s0: regulator@43 { 295 + compatible = "rockchip,rk8603", "rockchip,rk8602"; 296 + reg = <0x43>; 297 + fcs,suspend-voltage-selector = <1>; 298 + regulator-name = "vdd_cpu_big1_s0"; 299 + regulator-always-on; 300 + regulator-boot-on; 301 + regulator-min-microvolt = <550000>; 302 + regulator-max-microvolt = <1050000>; 303 + regulator-ramp-delay = <2300>; 304 + vin-supply = <&vcc5v0_sys>; 305 + 306 + regulator-state-mem { 307 + regulator-off-in-suspend; 308 + }; 309 + }; 310 + }; 311 + 312 + &i2c6 { 313 + status = "okay"; 314 + 315 + hym8563: rtc@51 { 316 + compatible = "haoyu,hym8563"; 317 + reg = <0x51>; 318 + #clock-cells = <0>; 319 + clock-output-names = "hym8563"; 320 + pinctrl-names = "default"; 321 + pinctrl-0 = <&hym8563_int>; 322 + interrupt-parent = <&gpio0>; 323 + interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 324 + wakeup-source; 325 + }; 326 + }; 327 + 328 + &i2c7 { 329 + status = "okay"; 330 + 331 + es8316: audio-codec@11 { 332 + compatible = "everest,es8316"; 333 + reg = <0x11>; 334 + clocks = <&cru I2S0_8CH_MCLKOUT>; 335 + clock-names = "mclk"; 336 + assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 337 + assigned-clock-rates = <12288000>; 338 + #sound-dai-cells = <0>; 339 + 340 + port { 341 + es8316_p0_0: endpoint { 342 + remote-endpoint = <&i2s0_8ch_p0_0>; 343 + }; 344 + }; 345 + }; 346 + }; 347 + 348 + &i2s0_8ch { 349 + pinctrl-names = "default"; 350 + pinctrl-0 = <&i2s0_lrck 351 + &i2s0_mclk 352 + &i2s0_sclk 353 + &i2s0_sdi0 354 + &i2s0_sdo0>; 355 + status = "okay"; 356 + 357 + i2s0_8ch_p0: port { 358 + i2s0_8ch_p0_0: endpoint { 359 + dai-format = "i2s"; 360 + mclk-fs = <256>; 361 + remote-endpoint = <&es8316_p0_0>; 362 + }; 363 + }; 364 + }; 365 + 366 + &i2s5_8ch { 367 + status = "okay"; 368 + }; 369 + 370 + &i2s6_8ch { 371 + status = "okay"; 372 + }; 373 + 374 + &package_thermal { 375 + polling-delay = <1000>; 376 + 377 + trips { 378 + package_fan0: package-fan0 { 379 + temperature = <55000>; 380 + hysteresis = <2000>; 381 + type = "active"; 382 + }; 383 + 384 + package_fan1: package-fan1 { 385 + temperature = <65000>; 386 + hysteresis = <2000>; 387 + type = "active"; 388 + }; 389 + }; 390 + 391 + cooling-maps { 392 + map0 { 393 + trip = <&package_fan0>; 394 + cooling-device = <&fan THERMAL_NO_LIMIT 1>; 395 + }; 396 + 397 + map1 { 398 + trip = <&package_fan1>; 399 + cooling-device = <&fan 2 THERMAL_NO_LIMIT>; 400 + }; 401 + }; 402 + }; 403 + 404 + &pcie2x1l0 { 405 + pinctrl-names = "default"; 406 + pinctrl-0 = <&pcie2_0_rst>; 407 + reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 408 + vpcie3v3-supply = <&vcc3v3_pcie2x1l0>; 409 + status = "okay"; 410 + }; 411 + 412 + &pcie2x1l2 { 413 + pinctrl-names = "default"; 414 + pinctrl-0 = <&pcie2_2_rst>; 415 + reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>; 416 + vpcie3v3-supply = <&vcc3v3_pcie2x1l2>; 417 + status = "okay"; 418 + }; 419 + 420 + &pcie30phy { 421 + status = "okay"; 422 + }; 423 + 424 + &pcie3x4 { 425 + pinctrl-names = "default"; 426 + pinctrl-0 = <&pcie3_rst>; 427 + reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 428 + vpcie3v3-supply = <&vcc3v3_pcie30>; 429 + status = "okay"; 430 + }; 431 + 432 + &pd_gpu { 433 + domain-supply = <&vdd_gpu_s0>; 434 + }; 435 + 436 + &pinctrl { 437 + hdmirx { 438 + hdmirx_hpd: hdmirx-5v-detection { 439 + rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 440 + }; 441 + }; 442 + 443 + hym8563 { 444 + hym8563_int: hym8563-int { 445 + rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 446 + }; 447 + }; 448 + 449 + leds { 450 + led_rgb_b: led-rgb-b { 451 + rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 452 + }; 453 + }; 454 + 455 + sound { 456 + hp_detect: hp-detect { 457 + rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 458 + }; 459 + }; 460 + 461 + pcie2 { 462 + pcie2_0_rst: pcie2-0-rst { 463 + rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 464 + }; 465 + 466 + pcie2_0_vcc3v3_en: pcie2-0-vcc-en { 467 + rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 468 + }; 469 + 470 + pcie2_2_rst: pcie2-2-rst { 471 + rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 472 + }; 473 + }; 474 + 475 + pcie3 { 476 + pcie3_rst: pcie3-rst { 477 + rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 478 + }; 479 + 480 + pcie3_vcc3v3_en: pcie3-vcc3v3-en { 481 + rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 482 + }; 483 + }; 484 + }; 485 + 486 + &pwm1 { 487 + status = "okay"; 488 + }; 489 + 490 + &saradc { 491 + vref-supply = <&avcc_1v8_s0>; 492 + status = "okay"; 493 + }; 494 + 495 + &sdhci { 496 + bus-width = <8>; 497 + no-sdio; 498 + no-sd; 499 + non-removable; 500 + mmc-hs400-1_8v; 501 + mmc-hs400-enhanced-strobe; 502 + status = "okay"; 503 + }; 504 + 505 + &sdmmc { 506 + max-frequency = <200000000>; 507 + no-sdio; 508 + no-mmc; 509 + bus-width = <4>; 510 + cap-mmc-highspeed; 511 + cap-sd-highspeed; 512 + cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 513 + disable-wp; 514 + sd-uhs-sdr104; 515 + vmmc-supply = <&vcc_3v3_s3>; 516 + vqmmc-supply = <&vccio_sd_s0>; 517 + status = "okay"; 518 + }; 519 + 520 + &sfc { 521 + pinctrl-names = "default"; 522 + pinctrl-0 = <&fspim2_pins>; 523 + status = "okay"; 524 + 525 + flash@0 { 526 + compatible = "jedec,spi-nor"; 527 + reg = <0>; 528 + spi-max-frequency = <104000000>; 529 + spi-rx-bus-width = <4>; 530 + spi-tx-bus-width = <1>; 531 + vcc-supply = <&vcc_3v3_s3>; 532 + }; 533 + }; 534 + 535 + &spi2 { 536 + status = "okay"; 537 + assigned-clocks = <&cru CLK_SPI2>; 538 + assigned-clock-rates = <200000000>; 539 + pinctrl-names = "default"; 540 + pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 541 + num-cs = <1>; 542 + 543 + pmic@0 { 544 + compatible = "rockchip,rk806"; 545 + spi-max-frequency = <1000000>; 546 + reg = <0x0>; 547 + 548 + interrupt-parent = <&gpio0>; 549 + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 550 + 551 + pinctrl-names = "default"; 552 + pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 553 + <&rk806_dvs2_null>, <&rk806_dvs3_null>; 554 + 555 + system-power-controller; 556 + 557 + vcc1-supply = <&vcc5v0_sys>; 558 + vcc2-supply = <&vcc5v0_sys>; 559 + vcc3-supply = <&vcc5v0_sys>; 560 + vcc4-supply = <&vcc5v0_sys>; 561 + vcc5-supply = <&vcc5v0_sys>; 562 + vcc6-supply = <&vcc5v0_sys>; 563 + vcc7-supply = <&vcc5v0_sys>; 564 + vcc8-supply = <&vcc5v0_sys>; 565 + vcc9-supply = <&vcc5v0_sys>; 566 + vcc10-supply = <&vcc5v0_sys>; 567 + vcc11-supply = <&vcc_2v0_pldo_s3>; 568 + vcc12-supply = <&vcc5v0_sys>; 569 + vcc13-supply = <&vcc_1v1_nldo_s3>; 570 + vcc14-supply = <&vcc_1v1_nldo_s3>; 571 + vcca-supply = <&vcc5v0_sys>; 572 + 573 + gpio-controller; 574 + #gpio-cells = <2>; 575 + 576 + rk806_dvs1_null: dvs1-null-pins { 577 + pins = "gpio_pwrctrl1"; 578 + function = "pin_fun0"; 579 + }; 580 + 581 + rk806_dvs2_null: dvs2-null-pins { 582 + pins = "gpio_pwrctrl2"; 583 + function = "pin_fun0"; 584 + }; 585 + 586 + rk806_dvs3_null: dvs3-null-pins { 587 + pins = "gpio_pwrctrl3"; 588 + function = "pin_fun0"; 589 + }; 590 + 591 + regulators { 592 + vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 { 593 + regulator-boot-on; 594 + regulator-min-microvolt = <550000>; 595 + regulator-max-microvolt = <950000>; 596 + regulator-ramp-delay = <12500>; 597 + regulator-name = "vdd_gpu_s0"; 598 + regulator-enable-ramp-delay = <400>; 599 + 600 + regulator-state-mem { 601 + regulator-off-in-suspend; 602 + }; 603 + }; 604 + 605 + vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 { 606 + regulator-always-on; 607 + regulator-boot-on; 608 + regulator-min-microvolt = <550000>; 609 + regulator-max-microvolt = <950000>; 610 + regulator-ramp-delay = <12500>; 611 + regulator-name = "vdd_cpu_lit_s0"; 612 + 613 + regulator-state-mem { 614 + regulator-off-in-suspend; 615 + }; 616 + }; 617 + 618 + vdd_log_s0: dcdc-reg3 { 619 + regulator-always-on; 620 + regulator-boot-on; 621 + regulator-min-microvolt = <675000>; 622 + regulator-max-microvolt = <750000>; 623 + regulator-ramp-delay = <12500>; 624 + regulator-name = "vdd_log_s0"; 625 + 626 + regulator-state-mem { 627 + regulator-off-in-suspend; 628 + regulator-suspend-microvolt = <750000>; 629 + }; 630 + }; 631 + 632 + vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 { 633 + regulator-always-on; 634 + regulator-boot-on; 635 + regulator-min-microvolt = <550000>; 636 + regulator-max-microvolt = <950000>; 637 + regulator-ramp-delay = <12500>; 638 + regulator-name = "vdd_vdenc_s0"; 639 + 640 + regulator-state-mem { 641 + regulator-off-in-suspend; 642 + }; 643 + }; 644 + 645 + vdd_ddr_s0: dcdc-reg5 { 646 + regulator-always-on; 647 + regulator-boot-on; 648 + regulator-min-microvolt = <675000>; 649 + regulator-max-microvolt = <900000>; 650 + regulator-ramp-delay = <12500>; 651 + regulator-name = "vdd_ddr_s0"; 652 + 653 + regulator-state-mem { 654 + regulator-off-in-suspend; 655 + regulator-suspend-microvolt = <850000>; 656 + }; 657 + }; 658 + 659 + vdd2_ddr_s3: dcdc-reg6 { 660 + regulator-always-on; 661 + regulator-boot-on; 662 + regulator-name = "vdd2_ddr_s3"; 663 + 664 + regulator-state-mem { 665 + regulator-on-in-suspend; 666 + }; 667 + }; 668 + 669 + vcc_2v0_pldo_s3: dcdc-reg7 { 670 + regulator-always-on; 671 + regulator-boot-on; 672 + regulator-min-microvolt = <2000000>; 673 + regulator-max-microvolt = <2000000>; 674 + regulator-ramp-delay = <12500>; 675 + regulator-name = "vdd_2v0_pldo_s3"; 676 + 677 + regulator-state-mem { 678 + regulator-on-in-suspend; 679 + regulator-suspend-microvolt = <2000000>; 680 + }; 681 + }; 682 + 683 + vcc_3v3_s3: dcdc-reg8 { 684 + regulator-always-on; 685 + regulator-boot-on; 686 + regulator-min-microvolt = <3300000>; 687 + regulator-max-microvolt = <3300000>; 688 + regulator-name = "vcc_3v3_s3"; 689 + 690 + regulator-state-mem { 691 + regulator-on-in-suspend; 692 + regulator-suspend-microvolt = <3300000>; 693 + }; 694 + }; 695 + 696 + vddq_ddr_s0: dcdc-reg9 { 697 + regulator-always-on; 698 + regulator-boot-on; 699 + regulator-name = "vddq_ddr_s0"; 700 + 701 + regulator-state-mem { 702 + regulator-off-in-suspend; 703 + }; 704 + }; 705 + 706 + vcc_1v8_s3: dcdc-reg10 { 707 + regulator-always-on; 708 + regulator-boot-on; 709 + regulator-min-microvolt = <1800000>; 710 + regulator-max-microvolt = <1800000>; 711 + regulator-name = "vcc_1v8_s3"; 712 + 713 + regulator-state-mem { 714 + regulator-on-in-suspend; 715 + regulator-suspend-microvolt = <1800000>; 716 + }; 717 + }; 718 + 719 + avcc_1v8_s0: pldo-reg1 { 720 + regulator-always-on; 721 + regulator-boot-on; 722 + regulator-min-microvolt = <1800000>; 723 + regulator-max-microvolt = <1800000>; 724 + regulator-name = "avcc_1v8_s0"; 725 + 726 + regulator-state-mem { 727 + regulator-off-in-suspend; 728 + }; 729 + }; 730 + 731 + vcc_1v8_s0: pldo-reg2 { 732 + regulator-always-on; 733 + regulator-boot-on; 734 + regulator-min-microvolt = <1800000>; 735 + regulator-max-microvolt = <1800000>; 736 + regulator-name = "vcc_1v8_s0"; 737 + 738 + regulator-state-mem { 739 + regulator-off-in-suspend; 740 + regulator-suspend-microvolt = <1800000>; 741 + }; 742 + }; 743 + 744 + avdd_1v2_s0: pldo-reg3 { 745 + regulator-always-on; 746 + regulator-boot-on; 747 + regulator-min-microvolt = <1200000>; 748 + regulator-max-microvolt = <1200000>; 749 + regulator-name = "avdd_1v2_s0"; 750 + 751 + regulator-state-mem { 752 + regulator-off-in-suspend; 753 + }; 754 + }; 755 + 756 + vcc_3v3_s0: pldo-reg4 { 757 + regulator-always-on; 758 + regulator-boot-on; 759 + regulator-min-microvolt = <3300000>; 760 + regulator-max-microvolt = <3300000>; 761 + regulator-ramp-delay = <12500>; 762 + regulator-name = "vcc_3v3_s0"; 763 + 764 + regulator-state-mem { 765 + regulator-off-in-suspend; 766 + }; 767 + }; 768 + 769 + vccio_sd_s0: pldo-reg5 { 770 + regulator-always-on; 771 + regulator-boot-on; 772 + regulator-min-microvolt = <1800000>; 773 + regulator-max-microvolt = <3300000>; 774 + regulator-ramp-delay = <12500>; 775 + regulator-name = "vccio_sd_s0"; 776 + 777 + regulator-state-mem { 778 + regulator-off-in-suspend; 779 + }; 780 + }; 781 + 782 + pldo6_s3: pldo-reg6 { 783 + regulator-always-on; 784 + regulator-boot-on; 785 + regulator-min-microvolt = <1800000>; 786 + regulator-max-microvolt = <1800000>; 787 + regulator-name = "pldo6_s3"; 788 + 789 + regulator-state-mem { 790 + regulator-on-in-suspend; 791 + regulator-suspend-microvolt = <1800000>; 792 + }; 793 + }; 794 + 795 + vdd_0v75_s3: nldo-reg1 { 796 + regulator-always-on; 797 + regulator-boot-on; 798 + regulator-min-microvolt = <750000>; 799 + regulator-max-microvolt = <750000>; 800 + regulator-name = "vdd_0v75_s3"; 801 + 802 + regulator-state-mem { 803 + regulator-on-in-suspend; 804 + regulator-suspend-microvolt = <750000>; 805 + }; 806 + }; 807 + 808 + vdd_ddr_pll_s0: nldo-reg2 { 809 + regulator-always-on; 810 + regulator-boot-on; 811 + regulator-min-microvolt = <850000>; 812 + regulator-max-microvolt = <850000>; 813 + regulator-name = "vdd_ddr_pll_s0"; 814 + 815 + regulator-state-mem { 816 + regulator-off-in-suspend; 817 + regulator-suspend-microvolt = <850000>; 818 + }; 819 + }; 820 + 821 + avdd_0v75_s0: nldo-reg3 { 822 + regulator-always-on; 823 + regulator-boot-on; 824 + regulator-min-microvolt = <750000>; 825 + regulator-max-microvolt = <750000>; 826 + regulator-name = "avdd_0v75_s0"; 827 + 828 + regulator-state-mem { 829 + regulator-off-in-suspend; 830 + }; 831 + }; 832 + 833 + vdd_0v85_s0: nldo-reg4 { 834 + regulator-always-on; 835 + regulator-boot-on; 836 + regulator-min-microvolt = <850000>; 837 + regulator-max-microvolt = <850000>; 838 + regulator-name = "vdd_0v85_s0"; 839 + 840 + regulator-state-mem { 841 + regulator-off-in-suspend; 842 + }; 843 + }; 844 + 845 + vdd_0v75_s0: nldo-reg5 { 846 + regulator-always-on; 847 + regulator-boot-on; 848 + regulator-min-microvolt = <750000>; 849 + regulator-max-microvolt = <750000>; 850 + regulator-name = "vdd_0v75_s0"; 851 + 852 + regulator-state-mem { 853 + regulator-off-in-suspend; 854 + }; 855 + }; 856 + }; 857 + }; 858 + }; 859 + 860 + &tsadc { 861 + status = "okay"; 862 + }; 863 + 864 + &uart2 { 865 + pinctrl-0 = <&uart2m0_xfer>; 866 + status = "okay"; 867 + }; 868 + 869 + &u2phy1 { 870 + status = "okay"; 871 + }; 872 + 873 + &u2phy1_otg { 874 + status = "okay"; 875 + }; 876 + 877 + &u2phy2 { 878 + status = "okay"; 879 + }; 880 + 881 + &u2phy2_host { 882 + /* connected to USB hub, which is powered by vcc5v0_sys */ 883 + phy-supply = <&vcc5v0_sys>; 884 + status = "okay"; 885 + }; 886 + 887 + &u2phy3 { 888 + status = "okay"; 889 + }; 890 + 891 + &u2phy3_host { 892 + phy-supply = <&vcc5v0_host>; 893 + status = "okay"; 894 + }; 895 + 896 + &usbdp_phy1 { 897 + status = "okay"; 898 + }; 899 + 900 + &usb_host0_ehci { 901 + status = "okay"; 902 + }; 903 + 904 + &usb_host0_ohci { 905 + status = "okay"; 906 + }; 907 + 908 + &usb_host1_ehci { 909 + status = "okay"; 910 + }; 911 + 912 + &usb_host1_ohci { 913 + status = "okay"; 914 + }; 915 + 916 + &usb_host1_xhci { 917 + dr_mode = "host"; 918 + status = "okay"; 919 + }; 920 + 921 + &usb_host2_xhci { 922 + status = "okay"; 923 + }; 924 + 925 + &vop { 926 + status = "okay"; 927 + }; 928 + 929 + &vop_mmu { 930 + status = "okay"; 931 + }; 932 + 933 + &vp0 { 934 + vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 935 + reg = <ROCKCHIP_VOP2_EP_HDMI0>; 936 + remote-endpoint = <&hdmi0_in_vp0>; 937 + }; 938 + }; 939 + 940 + &vp1 { 941 + vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 { 942 + reg = <ROCKCHIP_VOP2_EP_HDMI1>; 943 + remote-endpoint = <&hdmi1_in_vp1>; 944 + }; 945 + };
+6
include/dt-bindings/clock/rockchip,rk3528-cru.h
··· 414 414 #define MCLK_I2S2_2CH_SAI_SRC_PRE 402 415 415 #define MCLK_I2S3_8CH_SAI_SRC_PRE 403 416 416 #define MCLK_SDPDIF_SRC_PRE 404 417 + #define SCLK_SDMMC_DRV 405 418 + #define SCLK_SDMMC_SAMPLE 406 419 + #define SCLK_SDIO0_DRV 407 420 + #define SCLK_SDIO0_SAMPLE 408 421 + #define SCLK_SDIO1_DRV 409 422 + #define SCLK_SDIO1_SAMPLE 410 417 423 418 424 /* scmi-clocks indices */ 419 425 #define SCMI_PCLK_KEYREADER 0
+10
include/dt-bindings/clock/rockchip,rk3576-cru.h
··· 594 594 #define SCMI_ARMCLK_B 11 595 595 #define SCMI_CLK_GPU 456 596 596 597 + /* IOC-controlled output clocks */ 598 + #define CLK_SAI0_MCLKOUT_TO_IO 571 599 + #define CLK_SAI1_MCLKOUT_TO_IO 572 600 + #define CLK_SAI2_MCLKOUT_TO_IO 573 601 + #define CLK_SAI3_MCLKOUT_TO_IO 574 602 + #define CLK_SAI4_MCLKOUT_TO_IO 575 603 + #define CLK_SAI4_MCLKOUT_TO_IO 575 604 + #define CLK_FSPI0_TO_IO 576 605 + #define CLK_FSPI1_TO_IO 577 606 + 597 607 #endif