xref: /openbmc/u-boot/arch/arm/dts/rk3399-evb.dts (revision e8f80a5a)
1*83d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
2777c834fSKever Yang/*
3777c834fSKever Yang * (C) Copyright 2016 Rockchip Electronics Co., Ltd
4777c834fSKever Yang */
5777c834fSKever Yang
6777c834fSKever Yang/dts-v1/;
7777c834fSKever Yang#include <dt-bindings/pwm/pwm.h>
8fd9884e2SKever Yang#include <dt-bindings/pinctrl/rockchip.h>
9777c834fSKever Yang#include "rk3399.dtsi"
10a82426e0SKever Yang#include "rk3399-sdram-lpddr3-4GB-1600.dtsi"
11777c834fSKever Yang
12777c834fSKever Yang/ {
13777c834fSKever Yang	model = "Rockchip RK3399 Evaluation Board";
14777c834fSKever Yang	compatible = "rockchip,rk3399-evb", "rockchip,rk3399",
15777c834fSKever Yang		     "google,rk3399evb-rev2";
16777c834fSKever Yang
17777c834fSKever Yang	chosen {
18777c834fSKever Yang		stdout-path = &uart2;
19f777df36SKever Yang		u-boot,spl-boot-order = \
20f777df36SKever Yang			&sdhci, &sdmmc;
21777c834fSKever Yang	};
22777c834fSKever Yang
23777c834fSKever Yang	vdd_center: vdd-center {
24777c834fSKever Yang		compatible = "pwm-regulator";
2526b1edf4SKever Yang		pwms = <&pwm3 0 25000 1>;
26777c834fSKever Yang		regulator-name = "vdd_center";
27777c834fSKever Yang		regulator-min-microvolt = <800000>;
28777c834fSKever Yang		regulator-max-microvolt = <1400000>;
29c553de90SKever Yang		regulator-init-microvolt = <950000>;
30777c834fSKever Yang		regulator-always-on;
31777c834fSKever Yang		regulator-boot-on;
32777c834fSKever Yang		status = "okay";
33777c834fSKever Yang	};
34777c834fSKever Yang
35d3cf9eb2Seric.gao@rock-chips.com	vccsys: vccsys {
36d3cf9eb2Seric.gao@rock-chips.com		compatible = "regulator-fixed";
37d3cf9eb2Seric.gao@rock-chips.com		regulator-name = "vccsys";
38d3cf9eb2Seric.gao@rock-chips.com		regulator-boot-on;
39d3cf9eb2Seric.gao@rock-chips.com		regulator-always-on;
40d3cf9eb2Seric.gao@rock-chips.com	};
41d3cf9eb2Seric.gao@rock-chips.com
42777c834fSKever Yang	vcc3v3_sys: vcc3v3-sys {
43777c834fSKever Yang		compatible = "regulator-fixed";
44777c834fSKever Yang		regulator-name = "vcc3v3_sys";
45777c834fSKever Yang		regulator-always-on;
46777c834fSKever Yang		regulator-boot-on;
47777c834fSKever Yang		regulator-min-microvolt = <3300000>;
48777c834fSKever Yang		regulator-max-microvolt = <3300000>;
49777c834fSKever Yang	};
50777c834fSKever Yang
51777c834fSKever Yang	vcc_phy: vcc-phy-regulator {
52777c834fSKever Yang		compatible = "regulator-fixed";
53777c834fSKever Yang		regulator-name = "vcc_phy";
54777c834fSKever Yang		regulator-always-on;
55777c834fSKever Yang		regulator-boot-on;
56777c834fSKever Yang	};
57b850d929SKever Yang
58b850d929SKever Yang	vcc5v0_host: vcc5v0-host-en {
59b850d929SKever Yang		compatible = "regulator-fixed";
60b850d929SKever Yang		regulator-name = "vcc5v0_host";
61b850d929SKever Yang		gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
62b850d929SKever Yang	};
63d3cf9eb2Seric.gao@rock-chips.com
64f6f47c2eSMeng Dongyang	vcc5v0_typec0: vcc5v0-typec0-en {
65f6f47c2eSMeng Dongyang		compatible = "regulator-fixed";
66f6f47c2eSMeng Dongyang		regulator-name = "vcc5v0_typec0";
67f6f47c2eSMeng Dongyang		gpio = <&gpio1 3 GPIO_ACTIVE_HIGH>;
68f6f47c2eSMeng Dongyang	};
69f6f47c2eSMeng Dongyang
70f6f47c2eSMeng Dongyang	vcc5v0_typec1: vcc5v0-typec1-en {
71f6f47c2eSMeng Dongyang		compatible = "regulator-fixed";
72f6f47c2eSMeng Dongyang		regulator-name = "vcc5v0_typec1";
73f6f47c2eSMeng Dongyang		gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
74f6f47c2eSMeng Dongyang	};
75f6f47c2eSMeng Dongyang
76fd9884e2SKever Yang	clkin_gmac: external-gmac-clock {
77fd9884e2SKever Yang		compatible = "fixed-clock";
78fd9884e2SKever Yang		clock-frequency = <125000000>;
79fd9884e2SKever Yang		clock-output-names = "clkin_gmac";
80fd9884e2SKever Yang		#clock-cells = <0>;
81fd9884e2SKever Yang	};
82df8fe99cSEric Gao
83df8fe99cSEric Gao	backlight: backlight {
84df8fe99cSEric Gao		compatible = "pwm-backlight";
85df8fe99cSEric Gao		power-supply = <&vccsys>;
86df8fe99cSEric Gao		enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
87df8fe99cSEric Gao		brightness-levels = <
88df8fe99cSEric Gao			  0   1   2   3   4   5   6   7
89df8fe99cSEric Gao			  8   9  10  11  12  13  14  15
90df8fe99cSEric Gao			 16  17  18  19  20  21  22  23
91df8fe99cSEric Gao			 24  25  26  27  28  29  30  31
92df8fe99cSEric Gao			 32  33  34  35  36  37  38  39
93df8fe99cSEric Gao			 40  41  42  43  44  45  46  47
94df8fe99cSEric Gao			 48  49  50  51  52  53  54  55
95df8fe99cSEric Gao			 56  57  58  59  60  61  62  63
96df8fe99cSEric Gao			 64  65  66  67  68  69  70  71
97df8fe99cSEric Gao			 72  73  74  75  76  77  78  79
98df8fe99cSEric Gao			 80  81  82  83  84  85  86  87
99df8fe99cSEric Gao			 88  89  90  91  92  93  94  95
100df8fe99cSEric Gao			 96  97  98  99 100 101 102 103
101df8fe99cSEric Gao			104 105 106 107 108 109 110 111
102df8fe99cSEric Gao			112 113 114 115 116 117 118 119
103df8fe99cSEric Gao			120 121 122 123 124 125 126 127
104df8fe99cSEric Gao			128 129 130 131 132 133 134 135
105df8fe99cSEric Gao			136 137 138 139 140 141 142 143
106df8fe99cSEric Gao			144 145 146 147 148 149 150 151
107df8fe99cSEric Gao			152 153 154 155 156 157 158 159
108df8fe99cSEric Gao			160 161 162 163 164 165 166 167
109df8fe99cSEric Gao			168 169 170 171 172 173 174 175
110df8fe99cSEric Gao			176 177 178 179 180 181 182 183
111df8fe99cSEric Gao			184 185 186 187 188 189 190 191
112df8fe99cSEric Gao			192 193 194 195 196 197 198 199
113df8fe99cSEric Gao			200 201 202 203 204 205 206 207
114df8fe99cSEric Gao			208 209 210 211 212 213 214 215
115df8fe99cSEric Gao			216 217 218 219 220 221 222 223
116df8fe99cSEric Gao			224 225 226 227 228 229 230 231
117df8fe99cSEric Gao			232 233 234 235 236 237 238 239
118df8fe99cSEric Gao			240 241 242 243 244 245 246 247
119df8fe99cSEric Gao			248 249 250 251 252 253 254 255>;
120df8fe99cSEric Gao		default-brightness-level = <200>;
121df8fe99cSEric Gao		pwms = <&pwm0 0 25000 0>;
122df8fe99cSEric Gao		pinctrl-names = "default";
123df8fe99cSEric Gao		pinctrl-0 = <&pwm0_pin>;
124df8fe99cSEric Gao		pwm-delay-us = <10000>;
125df8fe99cSEric Gao		status = "disabled";
126df8fe99cSEric Gao	};
127df8fe99cSEric Gao
128df8fe99cSEric Gao	panel:panel {
129df8fe99cSEric Gao		compatible = "simple-panel";
130df8fe99cSEric Gao		power-supply = <&vcc33_lcd>;
131df8fe99cSEric Gao		backlight = <&backlight>;
132df8fe99cSEric Gao		/*enable-gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;*/
133df8fe99cSEric Gao		status = "disabled";
134df8fe99cSEric Gao	};
135777c834fSKever Yang};
136777c834fSKever Yang
137777c834fSKever Yang&emmc_phy {
138777c834fSKever Yang	status = "okay";
139777c834fSKever Yang};
140777c834fSKever Yang
141777c834fSKever Yang&pwm0 {
142777c834fSKever Yang	status = "okay";
143777c834fSKever Yang};
144777c834fSKever Yang
145777c834fSKever Yang&pwm2 {
146777c834fSKever Yang	status = "okay";
147777c834fSKever Yang};
148777c834fSKever Yang
149777c834fSKever Yang&pwm3 {
150777c834fSKever Yang	status = "okay";
151777c834fSKever Yang};
152777c834fSKever Yang
1533b4cab15SDavid Wu&saradc {
1543b4cab15SDavid Wu	status = "okay";
1553b4cab15SDavid Wu};
1563b4cab15SDavid Wu
157da8ff82eSKever Yang&sdmmc {
158f777df36SKever Yang	u-boot,dm-pre-reloc;
159a82426e0SKever Yang	bus-width = <4>;
160da8ff82eSKever Yang	status = "okay";
161da8ff82eSKever Yang};
162da8ff82eSKever Yang
163777c834fSKever Yang&sdhci {
164777c834fSKever Yang	bus-width = <8>;
165777c834fSKever Yang	mmc-hs400-1_8v;
166777c834fSKever Yang	mmc-hs400-enhanced-strobe;
167777c834fSKever Yang	non-removable;
168777c834fSKever Yang	status = "okay";
169777c834fSKever Yang};
170777c834fSKever Yang
171777c834fSKever Yang&uart2 {
172777c834fSKever Yang	status = "okay";
173777c834fSKever Yang};
174777c834fSKever Yang
175777c834fSKever Yang&usb_host0_ehci {
176777c834fSKever Yang	status = "okay";
177777c834fSKever Yang};
178777c834fSKever Yang
179777c834fSKever Yang&usb_host0_ohci {
180777c834fSKever Yang	status = "okay";
181777c834fSKever Yang};
182777c834fSKever Yang
183fa5e2d16SMengDongyang&dwc3_typec0 {
184f6f47c2eSMeng Dongyang	vbus-supply = <&vcc5v0_typec0>;
185fa5e2d16SMengDongyang	status = "okay";
186fa5e2d16SMengDongyang};
187fa5e2d16SMengDongyang
188777c834fSKever Yang&usb_host1_ehci {
189777c834fSKever Yang	status = "okay";
190777c834fSKever Yang};
191777c834fSKever Yang
192777c834fSKever Yang&usb_host1_ohci {
193777c834fSKever Yang	status = "okay";
194777c834fSKever Yang};
195777c834fSKever Yang
196fa5e2d16SMengDongyang&dwc3_typec1 {
197f6f47c2eSMeng Dongyang	vbus-supply = <&vcc5v0_typec1>;
198fa5e2d16SMengDongyang	status = "okay";
199fa5e2d16SMengDongyang};
200fa5e2d16SMengDongyang
201d3cf9eb2Seric.gao@rock-chips.com&i2c0 {
202d3cf9eb2Seric.gao@rock-chips.com	status = "okay";
203d3cf9eb2Seric.gao@rock-chips.com	clock-frequency = <400000>;
204d3cf9eb2Seric.gao@rock-chips.com	i2c-scl-falling-time-ns = <50>;
205d3cf9eb2Seric.gao@rock-chips.com	i2c-scl-rising-time-ns = <100>;
206d3cf9eb2Seric.gao@rock-chips.com	u-boot,dm-pre-reloc;
207d3cf9eb2Seric.gao@rock-chips.com
208d3cf9eb2Seric.gao@rock-chips.com	rk808: pmic@1b {
209d3cf9eb2Seric.gao@rock-chips.com		compatible = "rockchip,rk808";
210d3cf9eb2Seric.gao@rock-chips.com		clock-output-names = "xin32k", "wifibt_32kin";
211d3cf9eb2Seric.gao@rock-chips.com		interrupt-parent = <&gpio0>;
212d3cf9eb2Seric.gao@rock-chips.com		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
213d3cf9eb2Seric.gao@rock-chips.com		pinctrl-names = "default";
214d3cf9eb2Seric.gao@rock-chips.com		pinctrl-0 = <&pmic_int_l>;
215d3cf9eb2Seric.gao@rock-chips.com		reg = <0x1b>;
216d3cf9eb2Seric.gao@rock-chips.com		rockchip,system-power-controller;
217d3cf9eb2Seric.gao@rock-chips.com		#clock-cells = <1>;
218d3cf9eb2Seric.gao@rock-chips.com		u-boot,dm-pre-reloc;
219d3cf9eb2Seric.gao@rock-chips.com		status = "okay";
220d3cf9eb2Seric.gao@rock-chips.com
221d3cf9eb2Seric.gao@rock-chips.com		vcc12-supply = <&vcc3v3_sys>;
222df8fe99cSEric Gao
223d3cf9eb2Seric.gao@rock-chips.com		regulators {
224d3cf9eb2Seric.gao@rock-chips.com			vcc33_lcd: SWITCH_REG2 {
225d3cf9eb2Seric.gao@rock-chips.com				regulator-always-on;
226d3cf9eb2Seric.gao@rock-chips.com				regulator-boot-on;
227d3cf9eb2Seric.gao@rock-chips.com				regulator-name = "vcc33_lcd";
228d3cf9eb2Seric.gao@rock-chips.com			};
229d3cf9eb2Seric.gao@rock-chips.com		};
230d3cf9eb2Seric.gao@rock-chips.com	};
231d3cf9eb2Seric.gao@rock-chips.com};
232d3cf9eb2Seric.gao@rock-chips.com
233df8fe99cSEric Gao&mipi_dsi {
234df8fe99cSEric Gao	status = "disabled";
235df8fe99cSEric Gao	rockchip,panel = <&panel>;
236df8fe99cSEric Gao	display-timings {
237df8fe99cSEric Gao		timing0 {
238df8fe99cSEric Gao		bits-per-pixel = <24>;
239df8fe99cSEric Gao		clock-frequency = <160000000>;
240df8fe99cSEric Gao		hfront-porch = <120>;
241df8fe99cSEric Gao		hsync-len = <20>;
242df8fe99cSEric Gao		hback-porch = <21>;
243df8fe99cSEric Gao		hactive = <1200>;
244df8fe99cSEric Gao		vfront-porch = <21>;
245df8fe99cSEric Gao		vsync-len = <3>;
246df8fe99cSEric Gao		vback-porch = <18>;
247df8fe99cSEric Gao		vactive = <1920>;
248df8fe99cSEric Gao		hsync-active = <0>;
249df8fe99cSEric Gao		vsync-active = <0>;
250df8fe99cSEric Gao		de-active = <1>;
251df8fe99cSEric Gao		pixelclk-active = <0>;
252df8fe99cSEric Gao		};
253df8fe99cSEric Gao	};
254df8fe99cSEric Gao};
255df8fe99cSEric Gao
256777c834fSKever Yang&pinctrl {
257777c834fSKever Yang	pmic {
258777c834fSKever Yang		pmic_int_l: pmic-int-l {
259777c834fSKever Yang			rockchip,pins =
260777c834fSKever Yang				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
261777c834fSKever Yang		};
262777c834fSKever Yang
263777c834fSKever Yang		pmic_dvs2: pmic-dvs2 {
264777c834fSKever Yang			rockchip,pins =
265777c834fSKever Yang				<1 18 RK_FUNC_GPIO &pcfg_pull_down>;
266777c834fSKever Yang		};
267777c834fSKever Yang	};
268777c834fSKever Yang};
269fd9884e2SKever Yang
270fd9884e2SKever Yang&gmac {
271fd9884e2SKever Yang        phy-supply = <&vcc_phy>;
272fd9884e2SKever Yang	phy-mode = "rgmii";
273fd9884e2SKever Yang	clock_in_out = "input";
274fd9884e2SKever Yang	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
275fd9884e2SKever Yang	snps,reset-active-low;
276fd9884e2SKever Yang	snps,reset-delays-us = <0 10000 50000>;
277fd9884e2SKever Yang	assigned-clocks = <&cru SCLK_RMII_SRC>;
278fd9884e2SKever Yang	assigned-clock-parents = <&clkin_gmac>;
279fd9884e2SKever Yang	pinctrl-names = "default";
280fd9884e2SKever Yang	pinctrl-0 = <&rgmii_pins>;
281dc5b2013SDavid Wu	tx_delay = <0x28>;
282dc5b2013SDavid Wu	rx_delay = <0x11>;
283fd9884e2SKever Yang	status = "okay";
284fd9884e2SKever Yang};
285