xref: /freebsd-src/sys/contrib/device-tree/src/arm/rockchip/rk3288-firefly-reload-core.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Device tree file for Firefly Rockchip RK3288 Core board
4*f126890aSEmmanuel Vadot * Copyright (c) 2016 Randy Li <ayaka@soulik.info>
5*f126890aSEmmanuel Vadot */
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
8*f126890aSEmmanuel Vadot#include "rk3288.dtsi"
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	memory@0 {
12*f126890aSEmmanuel Vadot		device_type = "memory";
13*f126890aSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>;
14*f126890aSEmmanuel Vadot	};
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot	ext_gmac: external-gmac-clock {
17*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
18*f126890aSEmmanuel Vadot		#clock-cells = <0>;
19*f126890aSEmmanuel Vadot		clock-frequency = <125000000>;
20*f126890aSEmmanuel Vadot		clock-output-names = "ext_gmac";
21*f126890aSEmmanuel Vadot	};
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot
24*f126890aSEmmanuel Vadot	vcc_flash: flash-regulator {
25*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
26*f126890aSEmmanuel Vadot		regulator-name = "vcc_flash";
27*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
28*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
29*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
30*f126890aSEmmanuel Vadot	};
31*f126890aSEmmanuel Vadot};
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot&cpu0 {
34*f126890aSEmmanuel Vadot	cpu0-supply = <&vdd_cpu>;
35*f126890aSEmmanuel Vadot};
36*f126890aSEmmanuel Vadot
37*f126890aSEmmanuel Vadot&emmc {
38*f126890aSEmmanuel Vadot	bus-width = <8>;
39*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
40*f126890aSEmmanuel Vadot	disable-wp;
41*f126890aSEmmanuel Vadot	mmc-ddr-1_8v;
42*f126890aSEmmanuel Vadot	mmc-hs200-1_8v;
43*f126890aSEmmanuel Vadot	non-removable;
44*f126890aSEmmanuel Vadot	pinctrl-names = "default";
45*f126890aSEmmanuel Vadot	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
46*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_io>;
47*f126890aSEmmanuel Vadot	vqmmc-supply = <&vcc_flash>;
48*f126890aSEmmanuel Vadot	status = "okay";
49*f126890aSEmmanuel Vadot};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot&gmac {
52*f126890aSEmmanuel Vadot	assigned-clocks = <&cru SCLK_MAC>;
53*f126890aSEmmanuel Vadot	assigned-clock-parents = <&ext_gmac>;
54*f126890aSEmmanuel Vadot	clock_in_out = "input";
55*f126890aSEmmanuel Vadot	pinctrl-names = "default";
56*f126890aSEmmanuel Vadot	pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
57*f126890aSEmmanuel Vadot	phy-supply = <&vcc_lan>;
58*f126890aSEmmanuel Vadot	phy-mode = "rgmii";
59*f126890aSEmmanuel Vadot	snps,reset-active-low;
60*f126890aSEmmanuel Vadot	snps,reset-delays-us = <0 10000 1000000>;
61*f126890aSEmmanuel Vadot	snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
62*f126890aSEmmanuel Vadot	tx_delay = <0x30>;
63*f126890aSEmmanuel Vadot	rx_delay = <0x10>;
64*f126890aSEmmanuel Vadot	status = "okay";
65*f126890aSEmmanuel Vadot};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot&i2c0 {
68*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
69*f126890aSEmmanuel Vadot	status = "okay";
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot	vdd_cpu: syr827@40 {
72*f126890aSEmmanuel Vadot		compatible = "silergy,syr827";
73*f126890aSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
74*f126890aSEmmanuel Vadot		reg = <0x40>;
75*f126890aSEmmanuel Vadot		regulator-name = "vdd_cpu";
76*f126890aSEmmanuel Vadot		regulator-min-microvolt = <850000>;
77*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1350000>;
78*f126890aSEmmanuel Vadot		regulator-always-on;
79*f126890aSEmmanuel Vadot		regulator-boot-on;
80*f126890aSEmmanuel Vadot		regulator-enable-ramp-delay = <300>;
81*f126890aSEmmanuel Vadot		regulator-ramp-delay = <8000>;
82*f126890aSEmmanuel Vadot		vin-supply = <&vcc_sys>;
83*f126890aSEmmanuel Vadot	};
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot	vdd_gpu: syr828@41 {
86*f126890aSEmmanuel Vadot		compatible = "silergy,syr828";
87*f126890aSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
88*f126890aSEmmanuel Vadot		reg = <0x41>;
89*f126890aSEmmanuel Vadot		regulator-name = "vdd_gpu";
90*f126890aSEmmanuel Vadot		regulator-min-microvolt = <850000>;
91*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1350000>;
92*f126890aSEmmanuel Vadot		regulator-always-on;
93*f126890aSEmmanuel Vadot		vin-supply = <&vcc_sys>;
94*f126890aSEmmanuel Vadot	};
95*f126890aSEmmanuel Vadot
96*f126890aSEmmanuel Vadot	act8846: act8846@5a {
97*f126890aSEmmanuel Vadot		compatible = "active-semi,act8846";
98*f126890aSEmmanuel Vadot		reg = <0x5a>;
99*f126890aSEmmanuel Vadot		pinctrl-names = "default";
100*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
101*f126890aSEmmanuel Vadot		system-power-controller;
102*f126890aSEmmanuel Vadot
103*f126890aSEmmanuel Vadot		vp1-supply = <&vcc_sys>;
104*f126890aSEmmanuel Vadot		vp2-supply = <&vcc_sys>;
105*f126890aSEmmanuel Vadot		vp3-supply = <&vcc_sys>;
106*f126890aSEmmanuel Vadot		vp4-supply = <&vcc_sys>;
107*f126890aSEmmanuel Vadot		inl1-supply = <&vcc_sys>;
108*f126890aSEmmanuel Vadot		inl2-supply = <&vcc_sys>;
109*f126890aSEmmanuel Vadot		inl3-supply = <&vcc_20>;
110*f126890aSEmmanuel Vadot
111*f126890aSEmmanuel Vadot		regulators {
112*f126890aSEmmanuel Vadot			vcc_ddr: REG1 {
113*f126890aSEmmanuel Vadot				regulator-name = "vcc_ddr";
114*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
115*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
116*f126890aSEmmanuel Vadot				regulator-always-on;
117*f126890aSEmmanuel Vadot			};
118*f126890aSEmmanuel Vadot
119*f126890aSEmmanuel Vadot			vcc_io: REG2 {
120*f126890aSEmmanuel Vadot				regulator-name = "vcc_io";
121*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
122*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
123*f126890aSEmmanuel Vadot				regulator-always-on;
124*f126890aSEmmanuel Vadot			};
125*f126890aSEmmanuel Vadot
126*f126890aSEmmanuel Vadot			vdd_log: REG3 {
127*f126890aSEmmanuel Vadot				regulator-name = "vdd_log";
128*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1100000>;
129*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
130*f126890aSEmmanuel Vadot				regulator-always-on;
131*f126890aSEmmanuel Vadot			};
132*f126890aSEmmanuel Vadot
133*f126890aSEmmanuel Vadot			vcc_20: REG4 {
134*f126890aSEmmanuel Vadot				regulator-name = "vcc_20";
135*f126890aSEmmanuel Vadot				regulator-min-microvolt = <2000000>;
136*f126890aSEmmanuel Vadot				regulator-max-microvolt = <2000000>;
137*f126890aSEmmanuel Vadot				regulator-always-on;
138*f126890aSEmmanuel Vadot			};
139*f126890aSEmmanuel Vadot
140*f126890aSEmmanuel Vadot			vccio_sd: REG5 {
141*f126890aSEmmanuel Vadot				regulator-name = "vccio_sd";
142*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
143*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
144*f126890aSEmmanuel Vadot			};
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot			vdd10_lcd: REG6 {
147*f126890aSEmmanuel Vadot				regulator-name = "vdd10_lcd";
148*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
149*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
150*f126890aSEmmanuel Vadot				regulator-always-on;
151*f126890aSEmmanuel Vadot			};
152*f126890aSEmmanuel Vadot
153*f126890aSEmmanuel Vadot			vcca_18: REG7  {
154*f126890aSEmmanuel Vadot				regulator-name = "vcca_18";
155*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
156*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
157*f126890aSEmmanuel Vadot				regulator-always-on;
158*f126890aSEmmanuel Vadot			};
159*f126890aSEmmanuel Vadot
160*f126890aSEmmanuel Vadot			vcca_33: REG8 {
161*f126890aSEmmanuel Vadot				regulator-name = "vcca_33";
162*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
163*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
164*f126890aSEmmanuel Vadot				regulator-always-on;
165*f126890aSEmmanuel Vadot			};
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot			vcc_lan: REG9 {
168*f126890aSEmmanuel Vadot				regulator-name = "vcca_lan";
169*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
170*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
171*f126890aSEmmanuel Vadot			};
172*f126890aSEmmanuel Vadot
173*f126890aSEmmanuel Vadot			vdd_10: REG10 {
174*f126890aSEmmanuel Vadot				regulator-name = "vdd_10";
175*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
176*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
177*f126890aSEmmanuel Vadot				regulator-always-on;
178*f126890aSEmmanuel Vadot			};
179*f126890aSEmmanuel Vadot
180*f126890aSEmmanuel Vadot			vccio_wl: vcc_18: REG11 {
181*f126890aSEmmanuel Vadot				regulator-name = "vcc_18";
182*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
183*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
184*f126890aSEmmanuel Vadot			};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot			vcc18_lcd: REG12 {
187*f126890aSEmmanuel Vadot				regulator-name = "vcc18_lcd";
188*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
189*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
190*f126890aSEmmanuel Vadot				regulator-always-on;
191*f126890aSEmmanuel Vadot			};
192*f126890aSEmmanuel Vadot		};
193*f126890aSEmmanuel Vadot	};
194*f126890aSEmmanuel Vadot};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot&io_domains {
197*f126890aSEmmanuel Vadot	status = "okay";
198*f126890aSEmmanuel Vadot
199*f126890aSEmmanuel Vadot	audio-supply = <&vccio_wl>;
200*f126890aSEmmanuel Vadot	bb-supply = <&vcc_io>;
201*f126890aSEmmanuel Vadot	dvp-supply = <&dovdd_1v8>;
202*f126890aSEmmanuel Vadot	flash0-supply = <&vcc_flash>;
203*f126890aSEmmanuel Vadot	flash1-supply = <&vcc_lan>;
204*f126890aSEmmanuel Vadot	gpio30-supply = <&vcc_io>;
205*f126890aSEmmanuel Vadot	gpio1830-supply = <&vcc_io>;
206*f126890aSEmmanuel Vadot	lcdc-supply = <&vcc_io>;
207*f126890aSEmmanuel Vadot	sdcard-supply = <&vccio_sd>;
208*f126890aSEmmanuel Vadot	wifi-supply = <&vccio_wl>;
209*f126890aSEmmanuel Vadot};
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot&pinctrl {
212*f126890aSEmmanuel Vadot	pcfg_output_high: pcfg-output-high {
213*f126890aSEmmanuel Vadot		output-high;
214*f126890aSEmmanuel Vadot	};
215*f126890aSEmmanuel Vadot
216*f126890aSEmmanuel Vadot	pcfg_output_low: pcfg-output-low {
217*f126890aSEmmanuel Vadot		output-low;
218*f126890aSEmmanuel Vadot	};
219*f126890aSEmmanuel Vadot
220*f126890aSEmmanuel Vadot	pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma {
221*f126890aSEmmanuel Vadot		bias-pull-up;
222*f126890aSEmmanuel Vadot		drive-strength = <12>;
223*f126890aSEmmanuel Vadot	};
224*f126890aSEmmanuel Vadot
225*f126890aSEmmanuel Vadot	act8846 {
226*f126890aSEmmanuel Vadot		pwr_hold: pwr-hold {
227*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>;
228*f126890aSEmmanuel Vadot		};
229*f126890aSEmmanuel Vadot
230*f126890aSEmmanuel Vadot		pmic_vsel: pmic-vsel {
231*f126890aSEmmanuel Vadot			rockchip,pins = <7 RK_PB6 RK_FUNC_GPIO &pcfg_output_low>;
232*f126890aSEmmanuel Vadot		};
233*f126890aSEmmanuel Vadot	};
234*f126890aSEmmanuel Vadot
235*f126890aSEmmanuel Vadot	gmac {
236*f126890aSEmmanuel Vadot		phy_int: phy-int {
237*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
238*f126890aSEmmanuel Vadot		};
239*f126890aSEmmanuel Vadot
240*f126890aSEmmanuel Vadot		phy_pmeb: phy-pmeb {
241*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
242*f126890aSEmmanuel Vadot		};
243*f126890aSEmmanuel Vadot
244*f126890aSEmmanuel Vadot		phy_rst: phy-rst {
245*f126890aSEmmanuel Vadot			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>;
246*f126890aSEmmanuel Vadot		};
247*f126890aSEmmanuel Vadot	};
248*f126890aSEmmanuel Vadot};
249*f126890aSEmmanuel Vadot
250*f126890aSEmmanuel Vadot&tsadc {
251*f126890aSEmmanuel Vadot	rockchip,hw-tshut-mode = <0>;
252*f126890aSEmmanuel Vadot	rockchip,hw-tshut-polarity = <0>;
253*f126890aSEmmanuel Vadot	status = "okay";
254*f126890aSEmmanuel Vadot};
255*f126890aSEmmanuel Vadot
256*f126890aSEmmanuel Vadot&vopb {
257*f126890aSEmmanuel Vadot	status = "okay";
258*f126890aSEmmanuel Vadot};
259*f126890aSEmmanuel Vadot
260*f126890aSEmmanuel Vadot&vopb_mmu {
261*f126890aSEmmanuel Vadot	status = "okay";
262*f126890aSEmmanuel Vadot};
263*f126890aSEmmanuel Vadot
264*f126890aSEmmanuel Vadot&vopl {
265*f126890aSEmmanuel Vadot	status = "okay";
266*f126890aSEmmanuel Vadot};
267*f126890aSEmmanuel Vadot
268*f126890aSEmmanuel Vadot&vopl_mmu {
269*f126890aSEmmanuel Vadot	status = "okay";
270*f126890aSEmmanuel Vadot};
271*f126890aSEmmanuel Vadot
272*f126890aSEmmanuel Vadot&wdt {
273*f126890aSEmmanuel Vadot	status = "okay";
274*f126890aSEmmanuel Vadot};
275