xref: /linux/arch/arm64/boot/dts/rockchip/rk3566-soquartz-blade.dts (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
1a5c826ecSAndrew Powers-Holmes// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2a5c826ecSAndrew Powers-Holmes
3a5c826ecSAndrew Powers-Holmes/dts-v1/;
4a5c826ecSAndrew Powers-Holmes
5a5c826ecSAndrew Powers-Holmes#include <dt-bindings/gpio/gpio.h>
6a5c826ecSAndrew Powers-Holmes#include <dt-bindings/input/input.h>
7a5c826ecSAndrew Powers-Holmes#include <dt-bindings/leds/common.h>
8a5c826ecSAndrew Powers-Holmes#include <dt-bindings/pinctrl/rockchip.h>
9a5c826ecSAndrew Powers-Holmes
10a5c826ecSAndrew Powers-Holmes#include "rk3566-soquartz.dtsi"
11a5c826ecSAndrew Powers-Holmes
12a5c826ecSAndrew Powers-Holmes/ {
13*adbc5e6bSDragan Simic	model = "Pine64 SOQuartz on Blade carrier board";
14a5c826ecSAndrew Powers-Holmes	compatible = "pine64,soquartz-blade", "pine64,soquartz", "rockchip,rk3566";
15a5c826ecSAndrew Powers-Holmes
1636d9b3aeSDragan Simic	aliases {
1736d9b3aeSDragan Simic		ethernet0 = &gmac1;
1836d9b3aeSDragan Simic	};
1936d9b3aeSDragan Simic
20a5c826ecSAndrew Powers-Holmes	/* labeled VCC3V0_SD in schematic to not conflict with PMIC regulator */
21a5c826ecSAndrew Powers-Holmes	vcc3v0_sd: vcc3v0-sd-regulator {
22a5c826ecSAndrew Powers-Holmes		compatible = "regulator-fixed";
23a5c826ecSAndrew Powers-Holmes		regulator-name = "vcc3v0_sd";
24a5c826ecSAndrew Powers-Holmes		regulator-always-on;
25a5c826ecSAndrew Powers-Holmes		regulator-boot-on;
26a5c826ecSAndrew Powers-Holmes		regulator-min-microvolt = <3300000>;
27a5c826ecSAndrew Powers-Holmes		regulator-max-microvolt = <3300000>;
28a5c826ecSAndrew Powers-Holmes		vin-supply = <&vcc3v3_sys>;
29a5c826ecSAndrew Powers-Holmes	};
30a5c826ecSAndrew Powers-Holmes
31a5c826ecSAndrew Powers-Holmes	/* labeled VCC_SSD in schematic */
32a5c826ecSAndrew Powers-Holmes	vcc3v3_pcie_p: vcc3v3-pcie-regulator {
33a5c826ecSAndrew Powers-Holmes		compatible = "regulator-fixed";
34a5c826ecSAndrew Powers-Holmes		regulator-name = "vcc3v3_pcie_p";
35a5c826ecSAndrew Powers-Holmes		regulator-always-on;
36a5c826ecSAndrew Powers-Holmes		regulator-boot-on;
37a5c826ecSAndrew Powers-Holmes		regulator-min-microvolt = <3300000>;
38a5c826ecSAndrew Powers-Holmes		regulator-max-microvolt = <3300000>;
39a5c826ecSAndrew Powers-Holmes		vin-supply = <&vbus>;
40a5c826ecSAndrew Powers-Holmes	};
41a5c826ecSAndrew Powers-Holmes
42a5c826ecSAndrew Powers-Holmes	vcc5v_dcin: vcc5v-dcin-regulator {
43a5c826ecSAndrew Powers-Holmes		compatible = "regulator-fixed";
44a5c826ecSAndrew Powers-Holmes		regulator-name = "vcc5v_dcin";
45a5c826ecSAndrew Powers-Holmes		regulator-always-on;
46a5c826ecSAndrew Powers-Holmes		regulator-boot-on;
47a5c826ecSAndrew Powers-Holmes		regulator-min-microvolt = <5000000>;
48a5c826ecSAndrew Powers-Holmes		regulator-max-microvolt = <5000000>;
49a5c826ecSAndrew Powers-Holmes	};
50a5c826ecSAndrew Powers-Holmes};
51a5c826ecSAndrew Powers-Holmes
52a5c826ecSAndrew Powers-Holmes&combphy2 {
53a5c826ecSAndrew Powers-Holmes	phy-supply = <&vcc3v3_sys>;
54a5c826ecSAndrew Powers-Holmes	status = "okay";
55a5c826ecSAndrew Powers-Holmes};
56a5c826ecSAndrew Powers-Holmes
57a5c826ecSAndrew Powers-Holmes&gmac1 {
58a5c826ecSAndrew Powers-Holmes	status = "okay";
59a5c826ecSAndrew Powers-Holmes};
60a5c826ecSAndrew Powers-Holmes
61a5c826ecSAndrew Powers-Holmes/*
62a5c826ecSAndrew Powers-Holmes * i2c1 is exposed on CM1 / Module1A
63a5c826ecSAndrew Powers-Holmes * pin 80 - SCL0 - i2c1_scl_m0, pullup to vcc3v3_pmu
64a5c826ecSAndrew Powers-Holmes * pin 82 - SDA0 - i2c1_sda_m0, pullup to vcc3v3_pmu
65a5c826ecSAndrew Powers-Holmes */
66a5c826ecSAndrew Powers-Holmes&i2c1 {
67a5c826ecSAndrew Powers-Holmes	status = "okay";
68a5c826ecSAndrew Powers-Holmes
69a5c826ecSAndrew Powers-Holmes};
70a5c826ecSAndrew Powers-Holmes
71a5c826ecSAndrew Powers-Holmes/*
72a5c826ecSAndrew Powers-Holmes * i2c2 is exposed on CM1 / Module1A - to PI40
73a5c826ecSAndrew Powers-Holmes * pin 56 - GPIO3 - i2c2_scl_m1, pullup to vcc_3v3, shared with i2s1_8ch
74a5c826ecSAndrew Powers-Holmes * pin 58 - GPIO2 - i2c2_sda_m1, pullup to vcc_3v3
75a5c826ecSAndrew Powers-Holmes */
76a5c826ecSAndrew Powers-Holmes&i2c2 {
77a5c826ecSAndrew Powers-Holmes	status = "disabled";
78a5c826ecSAndrew Powers-Holmes};
79a5c826ecSAndrew Powers-Holmes
80a5c826ecSAndrew Powers-Holmes/*
81a5c826ecSAndrew Powers-Holmes * i2c3 is exposed on CM1 / Module1A - to PI40
82a5c826ecSAndrew Powers-Holmes * pin 35 - ID_SC(GPIO28) - i2c3_scl_m0, pullup to vcc_3v3
83a5c826ecSAndrew Powers-Holmes * pin 36 - ID_SD(GPIO27) - i2c3_sda_m0, pullup to vcc_3v3
84a5c826ecSAndrew Powers-Holmes */
85a5c826ecSAndrew Powers-Holmes&i2c3 {
86a5c826ecSAndrew Powers-Holmes	status = "disabled";
87a5c826ecSAndrew Powers-Holmes};
88a5c826ecSAndrew Powers-Holmes
89a5c826ecSAndrew Powers-Holmes/*
90a5c826ecSAndrew Powers-Holmes * i2c4 is exposed on CM2 / Module1B - to PI40
91a5c826ecSAndrew Powers-Holmes * pin 45 - GPIO24 - i2c4_scl_m1
92a5c826ecSAndrew Powers-Holmes * pin 47 - GPIO23 - i2c4_sda_m1
93a5c826ecSAndrew Powers-Holmes */
94a5c826ecSAndrew Powers-Holmes&i2c4 {
95a5c826ecSAndrew Powers-Holmes	status = "disabled";
96a5c826ecSAndrew Powers-Holmes};
97a5c826ecSAndrew Powers-Holmes
98a5c826ecSAndrew Powers-Holmes/*
99a5c826ecSAndrew Powers-Holmes * i2s1_8ch is exposed on CM1 / Module1A - to PI40
100a5c826ecSAndrew Powers-Holmes * pin 24 - GPIO26 - i2s1_sdi1_m1
101a5c826ecSAndrew Powers-Holmes * pin 25 - GPIO21 - i2s1_sdo0_m1
102a5c826ecSAndrew Powers-Holmes * pin 26 - GPIO19 - i2s1_lrck_tx_m1
103a5c826ecSAndrew Powers-Holmes * pin 27 - GPIO20 - i2s1_sdi0_m1
104a5c826ecSAndrew Powers-Holmes * pin 29 - GPIO16 - i2s1_sdi3_m1
105a5c826ecSAndrew Powers-Holmes * pin 30 - GPIO6  - i2s1_sdi2_m1
106a5c826ecSAndrew Powers-Holmes * pin 40 - GPIO9  - i2s1_sdo1_m1, shared with spi3
107a5c826ecSAndrew Powers-Holmes * pin 41 - GPIO25 - i2s1_sdo2_m1
108a5c826ecSAndrew Powers-Holmes * pin 49 - GPIO18 - i2s1_sclk_tx_m1
109a5c826ecSAndrew Powers-Holmes * pin 50 - GPIO17 - i2s1_mclk_m1
110a5c826ecSAndrew Powers-Holmes * pin 56 - GPIO3  - i2s1_sdo3_m1, shared with i2c2
111a5c826ecSAndrew Powers-Holmes */
112a5c826ecSAndrew Powers-Holmes&i2s1_8ch {
113a5c826ecSAndrew Powers-Holmes	status = "disabled";
114a5c826ecSAndrew Powers-Holmes};
115a5c826ecSAndrew Powers-Holmes
116a5c826ecSAndrew Powers-Holmes&led_diy {
117a5c826ecSAndrew Powers-Holmes	color = <LED_COLOR_ID_RED>;
118a5c826ecSAndrew Powers-Holmes	function = LED_FUNCTION_DISK_ACTIVITY;
119a5c826ecSAndrew Powers-Holmes	linux,default-trigger = "disk-activity";
120a5c826ecSAndrew Powers-Holmes	status = "okay";
121a5c826ecSAndrew Powers-Holmes};
122a5c826ecSAndrew Powers-Holmes
123a5c826ecSAndrew Powers-Holmes&led_work {
124a5c826ecSAndrew Powers-Holmes	color = <LED_COLOR_ID_GREEN>;
125a5c826ecSAndrew Powers-Holmes	function = LED_FUNCTION_STATUS;
126a5c826ecSAndrew Powers-Holmes	linux,default-trigger = "heartbeat";
127a5c826ecSAndrew Powers-Holmes	status = "okay";
128a5c826ecSAndrew Powers-Holmes};
129a5c826ecSAndrew Powers-Holmes
130a5c826ecSAndrew Powers-Holmes&pcie2x1 {
131a5c826ecSAndrew Powers-Holmes	vpcie3v3-supply = <&vcc3v3_pcie_p>;
132a5c826ecSAndrew Powers-Holmes	status = "okay";
133a5c826ecSAndrew Powers-Holmes};
134a5c826ecSAndrew Powers-Holmes
135a5c826ecSAndrew Powers-Holmes&rgmii_phy1 {
136a5c826ecSAndrew Powers-Holmes	status = "okay";
137a5c826ecSAndrew Powers-Holmes};
138a5c826ecSAndrew Powers-Holmes
139a5c826ecSAndrew Powers-Holmes/*
140a5c826ecSAndrew Powers-Holmes * saradc is exposed on CM1 / Module1A - to J2
141a5c826ecSAndrew Powers-Holmes * pin 94 - AIN1 - saradc_vin3
142a5c826ecSAndrew Powers-Holmes * pin 96 - AIN0 - saradc_vin2
143a5c826ecSAndrew Powers-Holmes */
144a5c826ecSAndrew Powers-Holmes&saradc {
145a5c826ecSAndrew Powers-Holmes	status = "disabled";
146a5c826ecSAndrew Powers-Holmes};
147a5c826ecSAndrew Powers-Holmes
148a5c826ecSAndrew Powers-Holmes&sdmmc0 {
149a5c826ecSAndrew Powers-Holmes	vmmc-supply = <&vcc3v0_sd>;
150a5c826ecSAndrew Powers-Holmes	status = "okay";
151a5c826ecSAndrew Powers-Holmes};
152a5c826ecSAndrew Powers-Holmes
153a5c826ecSAndrew Powers-Holmes/*
154a5c826ecSAndrew Powers-Holmes * spi3 is exposed on CM1 / Module1A - to PI40
155a5c826ecSAndrew Powers-Holmes * pin 37 - GPIO7  - spi3_cs1_m0
156a5c826ecSAndrew Powers-Holmes * pin 38 - GPIO11 - spi3_clk_m0
157a5c826ecSAndrew Powers-Holmes * pin 39 - GPIO8  - spi3_cs0_m0
158a5c826ecSAndrew Powers-Holmes * pin 40 - GPIO9  - spi3_miso_m0, shared with i2s1_8ch
159a5c826ecSAndrew Powers-Holmes * pin 44 - GPIO10 - spi3_mosi_m0
160a5c826ecSAndrew Powers-Holmes */
161a5c826ecSAndrew Powers-Holmes&spi3 {
162a5c826ecSAndrew Powers-Holmes	status = "disabled";
163a5c826ecSAndrew Powers-Holmes};
164a5c826ecSAndrew Powers-Holmes
165a5c826ecSAndrew Powers-Holmes/*
166a5c826ecSAndrew Powers-Holmes * uart2 is exposed on CM1 / Module1A - to PI40
167a5c826ecSAndrew Powers-Holmes * pin 51 - GPIO15 - uart2_rx_m0
168a5c826ecSAndrew Powers-Holmes * pin 55 - GPIO14 - uart2_tx_m0
169a5c826ecSAndrew Powers-Holmes */
170a5c826ecSAndrew Powers-Holmes&uart2 {
171a5c826ecSAndrew Powers-Holmes	status = "okay";
172a5c826ecSAndrew Powers-Holmes};
173a5c826ecSAndrew Powers-Holmes
174a5c826ecSAndrew Powers-Holmes/*
175a5c826ecSAndrew Powers-Holmes * uart7 is exposed on CM1 / Module1A - to PI40
176a5c826ecSAndrew Powers-Holmes * pin 46 - GPIO22 - uart7_tx_m2
177a5c826ecSAndrew Powers-Holmes * pin 47 - GPIO23 - uart7_rx_m2
178a5c826ecSAndrew Powers-Holmes */
179a5c826ecSAndrew Powers-Holmes&uart7 {
180a5c826ecSAndrew Powers-Holmes	status = "okay";
181a5c826ecSAndrew Powers-Holmes};
182a5c826ecSAndrew Powers-Holmes
183a5c826ecSAndrew Powers-Holmes&usb2phy0 {
184a5c826ecSAndrew Powers-Holmes	status = "okay";
185a5c826ecSAndrew Powers-Holmes};
186a5c826ecSAndrew Powers-Holmes
187a5c826ecSAndrew Powers-Holmes&usb2phy0_otg {
188a5c826ecSAndrew Powers-Holmes	phy-supply = <&vbus>;
189a5c826ecSAndrew Powers-Holmes	status = "okay";
190a5c826ecSAndrew Powers-Holmes};
191a5c826ecSAndrew Powers-Holmes
192a5c826ecSAndrew Powers-Holmes&usb_host0_xhci {
193a5c826ecSAndrew Powers-Holmes	status = "okay";
194a5c826ecSAndrew Powers-Holmes};
195a5c826ecSAndrew Powers-Holmes
196a5c826ecSAndrew Powers-Holmes&vbus {
197a5c826ecSAndrew Powers-Holmes	vin-supply = <&vcc5v_dcin>;
198a5c826ecSAndrew Powers-Holmes};
199