xref: /openbmc/linux/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi (revision cdcc26d714c96e9de75c549f05d770b3ddaf2d21)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Theobroma Systems Design und Consulting GmbH
4 */
5
6/dts-v1/;
7#include "rk3368.dtsi"
8
9/ {
10	aliases {
11		mmc0 = &emmc;
12	};
13
14	chosen {
15		stdout-path = "serial0:115200n8";
16	};
17
18	ext_gmac: gmac-clk {
19		compatible = "fixed-clock";
20		clock-frequency = <125000000>;
21		clock-output-names = "ext_gmac";
22		#clock-cells = <0>;
23	};
24
25	i2cmux1 {
26		compatible = "i2c-mux-gpio";
27		#address-cells = <1>;
28		#size-cells = <0>;
29		i2c-parent = <&i2c1>;
30		mux-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
31
32		/* Q7_GP0_I2C */
33		i2c_gp0: i2c@0 {
34			reg = <0>;
35			#address-cells = <1>;
36			#size-cells = <0>;
37		};
38
39		/* Q7_SMB */
40		i2c_smb: i2c@1 {
41			reg = <1>;
42			#address-cells = <1>;
43			#size-cells = <0>;
44		};
45	};
46
47	i2cmux2 {
48		compatible = "i2c-mux-gpio";
49		#address-cells = <1>;
50		#size-cells = <0>;
51		i2c-parent = <&i2c2>;
52		mux-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
53
54		/* Q7_LVDS_BLC_I2C */
55		i2c_lvds_blc: i2c@0 {
56			reg = <0>;
57			#address-cells = <1>;
58			#size-cells = <0>;
59
60			fan: fan@18 {
61				compatible = "ti,amc6821";
62				reg = <0x18>;
63			};
64
65			rtc_twi: rtc@6f {
66				compatible = "isil,isl1208";
67				reg = <0x6f>;
68			};
69		};
70
71		/* Q7_GP2_I2C = LVDS_DID_CLK/DAT */
72		i2c_gp2: i2c@1 {
73			reg = <1>;
74			#address-cells = <1>;
75			#size-cells = <0>;
76		};
77	};
78
79	leds {
80		compatible = "gpio-leds";
81		pinctrl-names = "default";
82		pinctrl-0 = <&module_led_pins>;
83
84		module_led1: led-1 {
85			label = "module_led1";
86			gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
87			linux,default-trigger = "heartbeat";
88			panic-indicator;
89		};
90
91		module_led2: led-2 {
92			label = "module_led2";
93			gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>;
94			default-state = "off";
95		};
96	};
97
98	vcc_sys: vcc-sys-regulator {
99		compatible = "regulator-fixed";
100		regulator-name = "vcc_sys";
101		regulator-min-microvolt = <5000000>;
102		regulator-max-microvolt = <5000000>;
103		regulator-always-on;
104		regulator-boot-on;
105	};
106};
107
108&cpu_l0 {
109	cpu-supply = <&vdd_cpu>;
110};
111
112&cpu_l1 {
113	cpu-supply = <&vdd_cpu>;
114};
115
116&cpu_l2 {
117	cpu-supply = <&vdd_cpu>;
118};
119
120&cpu_l3 {
121	cpu-supply = <&vdd_cpu>;
122};
123
124&cpu_b0 {
125	cpu-supply = <&vdd_cpu>;
126};
127
128&cpu_b1 {
129	cpu-supply = <&vdd_cpu>;
130};
131
132&cpu_b2 {
133	cpu-supply = <&vdd_cpu>;
134};
135
136&cpu_b3 {
137	cpu-supply = <&vdd_cpu>;
138};
139
140&emmc {
141	bus-width = <8>;
142	clock-frequency = <150000000>;
143	mmc-hs200-1_8v;
144	non-removable;
145	vmmc-supply = <&vcc33_io>;
146	vqmmc-supply = <&vcc_18>;
147	pinctrl-names = "default";
148	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
149	status = "okay";
150};
151
152&gmac {
153	assigned-clocks = <&cru SCLK_MAC>;
154	assigned-clock-parents = <&ext_gmac>;
155	clock_in_out = "input";
156	phy-supply = <&vcc33_io>;
157	phy-mode = "rgmii";
158	pinctrl-names = "default";
159	pinctrl-0 = <&rgmii_pins>;
160	snps,reset-active-low;
161	snps,reset-delays-us = <0 10000 50000>;
162	snps,reset-gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
163	tx_delay = <0x10>;
164	rx_delay = <0x10>;
165	status = "okay";
166};
167
168&i2c0 {
169	status = "okay";
170
171	rk808: pmic@1b {
172		compatible = "rockchip,rk808";
173		reg = <0x1b>;
174		interrupt-parent = <&gpio0>;
175		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
176		clock-output-names = "xin32k", "rk808-clkout2";
177		#clock-cells = <1>;
178		pinctrl-names = "default";
179		pinctrl-0 = <&pmic_int_l>, <&pmic_sleep>;
180		rockchip,system-power-controller;
181		vcc1-supply = <&vcc_sys>;
182		vcc2-supply = <&vcc_sys>;
183		vcc3-supply = <&vcc_sys>;
184		vcc4-supply = <&vcc_sys>;
185		vcc6-supply = <&vcc_sys>;
186		vcc7-supply = <&vcc_sys>;
187		vcc8-supply = <&vcc_sys>;
188		vcc9-supply = <&vcc_sys>;
189		vcc10-supply = <&vcc_sys>;
190		vcc11-supply = <&vcc_sys>;
191		vcc12-supply = <&vcc_sys>;
192
193		regulators {
194			vdd_cpu: DCDC_REG1 {
195				regulator-name = "vdd_cpu";
196				regulator-min-microvolt = <700000>;
197				regulator-max-microvolt = <1500000>;
198				regulator-always-on;
199				regulator-boot-on;
200			};
201
202			vdd_log: DCDC_REG2 {
203				regulator-name = "vdd_log";
204				regulator-min-microvolt = <700000>;
205				regulator-max-microvolt = <1500000>;
206				regulator-always-on;
207				regulator-boot-on;
208			};
209
210			vcc_ddr: DCDC_REG3 {
211				regulator-name = "vcc_ddr";
212				regulator-always-on;
213				regulator-boot-on;
214			};
215
216			vcc33_io: DCDC_REG4 {
217				regulator-name = "vcc33_io";
218				regulator-min-microvolt = <3300000>;
219				regulator-max-microvolt = <3300000>;
220				regulator-always-on;
221				regulator-boot-on;
222			};
223
224			vcc33_video: LDO_REG2 {
225				regulator-name = "vcc33_video";
226				regulator-min-microvolt = <3300000>;
227				regulator-max-microvolt = <3300000>;
228				regulator-always-on;
229				regulator-boot-on;
230			};
231
232			vdd10_pll: LDO_REG3 {
233				regulator-name = "vdd10_pll";
234				regulator-min-microvolt = <1000000>;
235				regulator-max-microvolt = <1000000>;
236				regulator-always-on;
237				regulator-boot-on;
238			};
239
240			vdd10_video: LDO_REG6 {
241				regulator-name = "vdd10_video";
242				regulator-min-microvolt = <1000000>;
243				regulator-max-microvolt = <1000000>;
244				regulator-always-on;
245				regulator-boot-on;
246			};
247
248			vcc_18: LDO_REG7 {
249				regulator-always-on;
250				regulator-boot-on;
251				regulator-min-microvolt = <1800000>;
252				regulator-max-microvolt = <1800000>;
253				regulator-name = "vcc_18";
254			};
255
256			vcc18_video: LDO_REG8 {
257				regulator-name = "vcc18_video";
258				regulator-min-microvolt = <1800000>;
259				regulator-max-microvolt = <1800000>;
260				regulator-always-on;
261				regulator-boot-on;
262			};
263		};
264	};
265};
266
267&i2c1 {
268	status = "okay";
269};
270
271&i2c2 {
272	status = "okay";
273};
274
275/* The RK3368-uQ7 "Lion" has most IO voltages hardwired to 3.3V. */
276&io_domains {
277	audio-supply = <&vcc33_io>;
278	dvp-supply = <&vcc33_io>;
279	flash0-supply = <&vcc_18>;
280	gpio30-supply = <&vcc33_io>;
281	gpio1830-supply = <&vcc33_io>;
282	sdcard-supply = <&vcc33_io>;
283	wifi-supply = <&vcc33_io>;
284	status = "okay";
285};
286
287&pinctrl {
288	leds {
289		module_led_pins: module-led-pins {
290			rockchip,pins =
291				<2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>,
292				<3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
293		};
294	};
295	pmic {
296		pmic_int_l: pmic-int-l {
297			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
298		};
299
300		pmic_sleep: pmic-sleep {
301			rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>;
302		};
303	};
304};
305
306&pmu_io_domains {
307	pmu-supply = <&vcc33_io>;
308	vop-supply = <&vcc33_io>;
309	status = "okay";
310};
311
312&spi1 {
313	status = "okay";
314
315	norflash: flash@0 {
316		compatible = "jedec,spi-nor";
317		reg = <0>;
318		spi-max-frequency = <50000000>;
319	};
320};
321
322&uart1 {
323	status = "okay";
324};
325
326&uart3 {
327	status = "okay";
328};
329
330&usb_host0_ehci {
331	status = "okay";
332};
333
334&wdt {
335	status = "okay";
336};
337