Merge branch 'master' of git://git.denx.de/u-boot-rockchip
[platform/kernel/u-boot.git] / arch / arm / dts / rk3399-evb.dts
1 /*
2  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 /dts-v1/;
8 #include <dt-bindings/pwm/pwm.h>
9 #include <dt-bindings/pinctrl/rockchip.h>
10 #include "rk3399.dtsi"
11 #include "rk3399-sdram-lpddr3-4GB-1600.dtsi"
12
13 / {
14         model = "Rockchip RK3399 Evaluation Board";
15         compatible = "rockchip,rk3399-evb", "rockchip,rk3399",
16                      "google,rk3399evb-rev2";
17
18         chosen {
19                 stdout-path = &uart2;
20         };
21
22         vdd_center: vdd-center {
23                 compatible = "pwm-regulator";
24                 pwms = <&pwm3 0 25000 1>;
25                 regulator-name = "vdd_center";
26                 regulator-min-microvolt = <800000>;
27                 regulator-max-microvolt = <1400000>;
28                 regulator-init-microvolt = <950000>;
29                 regulator-always-on;
30                 regulator-boot-on;
31                 status = "okay";
32         };
33
34         vccsys: vccsys {
35                 compatible = "regulator-fixed";
36                 regulator-name = "vccsys";
37                 regulator-boot-on;
38                 regulator-always-on;
39         };
40
41         vcc3v3_sys: vcc3v3-sys {
42                 compatible = "regulator-fixed";
43                 regulator-name = "vcc3v3_sys";
44                 regulator-always-on;
45                 regulator-boot-on;
46                 regulator-min-microvolt = <3300000>;
47                 regulator-max-microvolt = <3300000>;
48         };
49
50         vcc_phy: vcc-phy-regulator {
51                 compatible = "regulator-fixed";
52                 regulator-name = "vcc_phy";
53                 regulator-always-on;
54                 regulator-boot-on;
55         };
56
57         vcc5v0_host: vcc5v0-host-en {
58                 compatible = "regulator-fixed";
59                 regulator-name = "vcc5v0_host";
60                 gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
61         };
62
63         vcc5v0_typec0: vcc5v0-typec0-en {
64                 compatible = "regulator-fixed";
65                 regulator-name = "vcc5v0_typec0";
66                 gpio = <&gpio1 3 GPIO_ACTIVE_HIGH>;
67         };
68
69         vcc5v0_typec1: vcc5v0-typec1-en {
70                 compatible = "regulator-fixed";
71                 regulator-name = "vcc5v0_typec1";
72                 gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
73         };
74
75         clkin_gmac: external-gmac-clock {
76                 compatible = "fixed-clock";
77                 clock-frequency = <125000000>;
78                 clock-output-names = "clkin_gmac";
79                 #clock-cells = <0>;
80         };
81
82         backlight: backlight {
83                 compatible = "pwm-backlight";
84                 power-supply = <&vccsys>;
85                 enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
86                 brightness-levels = <
87                           0   1   2   3   4   5   6   7
88                           8   9  10  11  12  13  14  15
89                          16  17  18  19  20  21  22  23
90                          24  25  26  27  28  29  30  31
91                          32  33  34  35  36  37  38  39
92                          40  41  42  43  44  45  46  47
93                          48  49  50  51  52  53  54  55
94                          56  57  58  59  60  61  62  63
95                          64  65  66  67  68  69  70  71
96                          72  73  74  75  76  77  78  79
97                          80  81  82  83  84  85  86  87
98                          88  89  90  91  92  93  94  95
99                          96  97  98  99 100 101 102 103
100                         104 105 106 107 108 109 110 111
101                         112 113 114 115 116 117 118 119
102                         120 121 122 123 124 125 126 127
103                         128 129 130 131 132 133 134 135
104                         136 137 138 139 140 141 142 143
105                         144 145 146 147 148 149 150 151
106                         152 153 154 155 156 157 158 159
107                         160 161 162 163 164 165 166 167
108                         168 169 170 171 172 173 174 175
109                         176 177 178 179 180 181 182 183
110                         184 185 186 187 188 189 190 191
111                         192 193 194 195 196 197 198 199
112                         200 201 202 203 204 205 206 207
113                         208 209 210 211 212 213 214 215
114                         216 217 218 219 220 221 222 223
115                         224 225 226 227 228 229 230 231
116                         232 233 234 235 236 237 238 239
117                         240 241 242 243 244 245 246 247
118                         248 249 250 251 252 253 254 255>;
119                 default-brightness-level = <200>;
120                 pwms = <&pwm0 0 25000 0>;
121                 pinctrl-names = "default";
122                 pinctrl-0 = <&pwm0_pin>;
123                 pwm-delay-us = <10000>;
124                 status = "disabled";
125         };
126
127         panel:panel {
128                 compatible = "simple-panel";
129                 power-supply = <&vcc33_lcd>;
130                 backlight = <&backlight>;
131                 /*enable-gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;*/
132                 status = "disabled";
133         };
134 };
135
136 &emmc_phy {
137         status = "okay";
138 };
139
140 &pwm0 {
141         status = "okay";
142 };
143
144 &pwm2 {
145         status = "okay";
146 };
147
148 &pwm3 {
149         status = "okay";
150 };
151
152 &sdmmc {
153         bus-width = <4>;
154         status = "okay";
155 };
156
157 &sdhci {
158         bus-width = <8>;
159         mmc-hs400-1_8v;
160         mmc-hs400-enhanced-strobe;
161         non-removable;
162         status = "okay";
163 };
164
165 &uart2 {
166         status = "okay";
167 };
168
169 &usb_host0_ehci {
170         status = "okay";
171 };
172
173 &usb_host0_ohci {
174         status = "okay";
175 };
176
177 &dwc3_typec0 {
178         vbus-supply = <&vcc5v0_typec0>;
179         status = "okay";
180 };
181
182 &usb_host1_ehci {
183         status = "okay";
184 };
185
186 &usb_host1_ohci {
187         status = "okay";
188 };
189
190 &dwc3_typec1 {
191         vbus-supply = <&vcc5v0_typec1>;
192         status = "okay";
193 };
194
195 &i2c0 {
196         status = "okay";
197         clock-frequency = <400000>;
198         i2c-scl-falling-time-ns = <50>;
199         i2c-scl-rising-time-ns = <100>;
200         u-boot,dm-pre-reloc;
201
202         rk808: pmic@1b {
203                 compatible = "rockchip,rk808";
204                 clock-output-names = "xin32k", "wifibt_32kin";
205                 interrupt-parent = <&gpio0>;
206                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
207                 pinctrl-names = "default";
208                 pinctrl-0 = <&pmic_int_l>;
209                 reg = <0x1b>;
210                 rockchip,system-power-controller;
211                 #clock-cells = <1>;
212                 u-boot,dm-pre-reloc;
213                 status = "okay";
214
215                 vcc12-supply = <&vcc3v3_sys>;
216
217                 regulators {
218                         vcc33_lcd: SWITCH_REG2 {
219                                 regulator-always-on;
220                                 regulator-boot-on;
221                                 regulator-name = "vcc33_lcd";
222                         };
223                 };
224         };
225 };
226
227 &mipi_dsi {
228         status = "disabled";
229         rockchip,panel = <&panel>;
230         display-timings {
231                 timing0 {
232                 bits-per-pixel = <24>;
233                 clock-frequency = <160000000>;
234                 hfront-porch = <120>;
235                 hsync-len = <20>;
236                 hback-porch = <21>;
237                 hactive = <1200>;
238                 vfront-porch = <21>;
239                 vsync-len = <3>;
240                 vback-porch = <18>;
241                 vactive = <1920>;
242                 hsync-active = <0>;
243                 vsync-active = <0>;
244                 de-active = <1>;
245                 pixelclk-active = <0>;
246                 };
247         };
248 };
249
250 &pinctrl {
251         pmic {
252                 pmic_int_l: pmic-int-l {
253                         rockchip,pins =
254                                 <1 21 RK_FUNC_GPIO &pcfg_pull_up>;
255                 };
256
257                 pmic_dvs2: pmic-dvs2 {
258                         rockchip,pins =
259                                 <1 18 RK_FUNC_GPIO &pcfg_pull_down>;
260                 };
261         };
262 };
263
264 &gmac {
265         phy-supply = <&vcc_phy>;
266         phy-mode = "rgmii";
267         clock_in_out = "input";
268         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
269         snps,reset-active-low;
270         snps,reset-delays-us = <0 10000 50000>;
271         assigned-clocks = <&cru SCLK_RMII_SRC>;
272         assigned-clock-parents = <&clkin_gmac>;
273         pinctrl-names = "default";
274         pinctrl-0 = <&rgmii_pins>;
275         tx_delay = <0x10>;
276         rx_delay = <0x10>;
277         status = "okay";
278 };
279
280 &gmac {
281         phy-supply = <&vcc_phy>;
282         phy-mode = "rgmii";
283         clock_in_out = "input";
284         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
285         snps,reset-active-low;
286         snps,reset-delays-us = <0 10000 50000>;
287         assigned-clocks = <&cru SCLK_RMII_SRC>;
288         assigned-clock-parents = <&clkin_gmac>;
289         pinctrl-names = "default";
290         pinctrl-0 = <&rgmii_pins>;
291         tx_delay = <0x10>;
292         rx_delay = <0x10>;
293         status = "okay";
294 };