rk3399-evb.dts 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/pwm/pwm.h>
  7. #include "rk3399.dtsi"
  8. / {
  9. model = "Rockchip RK3399 Evaluation Board";
  10. compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
  11. aliases {
  12. mmc0 = &sdhci;
  13. };
  14. backlight: backlight {
  15. compatible = "pwm-backlight";
  16. brightness-levels = <
  17. 0 1 2 3 4 5 6 7
  18. 8 9 10 11 12 13 14 15
  19. 16 17 18 19 20 21 22 23
  20. 24 25 26 27 28 29 30 31
  21. 32 33 34 35 36 37 38 39
  22. 40 41 42 43 44 45 46 47
  23. 48 49 50 51 52 53 54 55
  24. 56 57 58 59 60 61 62 63
  25. 64 65 66 67 68 69 70 71
  26. 72 73 74 75 76 77 78 79
  27. 80 81 82 83 84 85 86 87
  28. 88 89 90 91 92 93 94 95
  29. 96 97 98 99 100 101 102 103
  30. 104 105 106 107 108 109 110 111
  31. 112 113 114 115 116 117 118 119
  32. 120 121 122 123 124 125 126 127
  33. 128 129 130 131 132 133 134 135
  34. 136 137 138 139 140 141 142 143
  35. 144 145 146 147 148 149 150 151
  36. 152 153 154 155 156 157 158 159
  37. 160 161 162 163 164 165 166 167
  38. 168 169 170 171 172 173 174 175
  39. 176 177 178 179 180 181 182 183
  40. 184 185 186 187 188 189 190 191
  41. 192 193 194 195 196 197 198 199
  42. 200 201 202 203 204 205 206 207
  43. 208 209 210 211 212 213 214 215
  44. 216 217 218 219 220 221 222 223
  45. 224 225 226 227 228 229 230 231
  46. 232 233 234 235 236 237 238 239
  47. 240 241 242 243 244 245 246 247
  48. 248 249 250 251 252 253 254 255>;
  49. default-brightness-level = <200>;
  50. pwms = <&pwm0 0 25000 0>;
  51. };
  52. edp_panel: edp-panel {
  53. compatible = "lg,lp079qx1-sp0v";
  54. backlight = <&backlight>;
  55. enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
  56. power-supply = <&vcc3v3_s0>;
  57. port {
  58. panel_in_edp: endpoint {
  59. remote-endpoint = <&edp_out_panel>;
  60. };
  61. };
  62. };
  63. clkin_gmac: external-gmac-clock {
  64. compatible = "fixed-clock";
  65. clock-frequency = <125000000>;
  66. clock-output-names = "clkin_gmac";
  67. #clock-cells = <0>;
  68. };
  69. vdd_center: vdd-center {
  70. compatible = "pwm-regulator";
  71. pwms = <&pwm3 0 25000 0>;
  72. regulator-name = "vdd_center";
  73. regulator-min-microvolt = <800000>;
  74. regulator-max-microvolt = <1400000>;
  75. regulator-always-on;
  76. regulator-boot-on;
  77. status = "okay";
  78. };
  79. vcc3v3_sys: vcc3v3-sys {
  80. compatible = "regulator-fixed";
  81. regulator-name = "vcc3v3_sys";
  82. regulator-always-on;
  83. regulator-boot-on;
  84. regulator-min-microvolt = <3300000>;
  85. regulator-max-microvolt = <3300000>;
  86. };
  87. vcc5v0_sys: vcc5v0-sys {
  88. compatible = "regulator-fixed";
  89. regulator-name = "vcc5v0_sys";
  90. regulator-always-on;
  91. regulator-boot-on;
  92. regulator-min-microvolt = <5000000>;
  93. regulator-max-microvolt = <5000000>;
  94. };
  95. vcc5v0_host: vcc5v0-host-regulator {
  96. compatible = "regulator-fixed";
  97. enable-active-high;
  98. gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
  99. pinctrl-names = "default";
  100. pinctrl-0 = <&vcc5v0_host_en>;
  101. regulator-name = "vcc5v0_host";
  102. vin-supply = <&vcc5v0_sys>;
  103. };
  104. vcc_phy: vcc-phy-regulator {
  105. compatible = "regulator-fixed";
  106. regulator-name = "vcc_phy";
  107. regulator-always-on;
  108. regulator-boot-on;
  109. };
  110. vcc_phy: vcc-phy-regulator {
  111. compatible = "regulator-fixed";
  112. regulator-name = "vcc_phy";
  113. regulator-always-on;
  114. regulator-boot-on;
  115. };
  116. };
  117. &edp {
  118. status = "okay";
  119. force-hpd;
  120. ports {
  121. edp_out: port@1 {
  122. reg = <1>;
  123. #address-cells = <1>;
  124. #size-cells = <0>;
  125. edp_out_panel: endpoint@0 {
  126. reg = <0>;
  127. remote-endpoint = <&panel_in_edp>;
  128. };
  129. };
  130. };
  131. };
  132. &emmc_phy {
  133. status = "okay";
  134. };
  135. &gmac {
  136. assigned-clocks = <&cru SCLK_RMII_SRC>;
  137. assigned-clock-parents = <&clkin_gmac>;
  138. clock_in_out = "input";
  139. phy-supply = <&vcc_phy>;
  140. phy-mode = "rgmii";
  141. pinctrl-names = "default";
  142. pinctrl-0 = <&rgmii_pins>;
  143. snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
  144. snps,reset-active-low;
  145. snps,reset-delays-us = <0 10000 50000>;
  146. tx_delay = <0x28>;
  147. rx_delay = <0x11>;
  148. status = "okay";
  149. };
  150. &i2c0 {
  151. status = "okay";
  152. rk808: pmic@1b {
  153. compatible = "rockchip,rk808";
  154. reg = <0x1b>;
  155. interrupt-parent = <&gpio1>;
  156. interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
  157. pinctrl-names = "default";
  158. pinctrl-0 = <&pmic_int_l>;
  159. rockchip,system-power-controller;
  160. wakeup-source;
  161. #clock-cells = <1>;
  162. clock-output-names = "rk808-clkout1", "rk808-clkout2";
  163. vcc1-supply = <&vcc3v3_sys>;
  164. vcc2-supply = <&vcc3v3_sys>;
  165. vcc3-supply = <&vcc3v3_sys>;
  166. vcc4-supply = <&vcc3v3_sys>;
  167. vcc6-supply = <&vcc3v3_sys>;
  168. vcc7-supply = <&vcc3v3_sys>;
  169. vcc8-supply = <&vcc3v3_sys>;
  170. vcc9-supply = <&vcc3v3_sys>;
  171. vcc10-supply = <&vcc3v3_sys>;
  172. vcc11-supply = <&vcc3v3_sys>;
  173. vcc12-supply = <&vcc3v3_sys>;
  174. vddio-supply = <&vcc1v8_pmu>;
  175. regulators {
  176. vdd_log: DCDC_REG1 {
  177. regulator-name = "vdd_log";
  178. regulator-min-microvolt = <750000>;
  179. regulator-max-microvolt = <1350000>;
  180. regulator-ramp-delay = <6001>;
  181. regulator-always-on;
  182. regulator-boot-on;
  183. regulator-state-mem {
  184. regulator-on-in-suspend;
  185. regulator-suspend-microvolt = <900000>;
  186. };
  187. };
  188. vdd_cpu_l: DCDC_REG2 {
  189. regulator-name = "vdd_cpu_l";
  190. regulator-min-microvolt = <750000>;
  191. regulator-max-microvolt = <1350000>;
  192. regulator-ramp-delay = <6001>;
  193. regulator-always-on;
  194. regulator-boot-on;
  195. regulator-state-mem {
  196. regulator-off-in-suspend;
  197. };
  198. };
  199. vcc_ddr: DCDC_REG3 {
  200. regulator-name = "vcc_ddr";
  201. regulator-always-on;
  202. regulator-boot-on;
  203. regulator-state-mem {
  204. regulator-on-in-suspend;
  205. };
  206. };
  207. vcc_1v8: DCDC_REG4 {
  208. regulator-name = "vcc_1v8";
  209. regulator-min-microvolt = <1800000>;
  210. regulator-max-microvolt = <1800000>;
  211. regulator-always-on;
  212. regulator-boot-on;
  213. regulator-state-mem {
  214. regulator-on-in-suspend;
  215. regulator-suspend-microvolt = <1800000>;
  216. };
  217. };
  218. vcc1v8_dvp: LDO_REG1 {
  219. regulator-name = "vcc1v8_dvp";
  220. regulator-min-microvolt = <1800000>;
  221. regulator-max-microvolt = <1800000>;
  222. regulator-always-on;
  223. regulator-boot-on;
  224. regulator-state-mem {
  225. regulator-off-in-suspend;
  226. };
  227. };
  228. vcc3v0_tp: LDO_REG2 {
  229. regulator-name = "vcc3v0_tp";
  230. regulator-min-microvolt = <3000000>;
  231. regulator-max-microvolt = <3000000>;
  232. regulator-always-on;
  233. regulator-boot-on;
  234. regulator-state-mem {
  235. regulator-off-in-suspend;
  236. };
  237. };
  238. vcc1v8_pmu: LDO_REG3 {
  239. regulator-name = "vcc1v8_pmu";
  240. regulator-min-microvolt = <1800000>;
  241. regulator-max-microvolt = <1800000>;
  242. regulator-always-on;
  243. regulator-boot-on;
  244. regulator-state-mem {
  245. regulator-on-in-suspend;
  246. regulator-suspend-microvolt = <1800000>;
  247. };
  248. };
  249. vcc_sd: LDO_REG4 {
  250. regulator-name = "vcc_sd";
  251. regulator-min-microvolt = <1800000>;
  252. regulator-max-microvolt = <3000000>;
  253. regulator-always-on;
  254. regulator-boot-on;
  255. regulator-state-mem {
  256. regulator-on-in-suspend;
  257. regulator-suspend-microvolt = <3000000>;
  258. };
  259. };
  260. vcca3v0_codec: LDO_REG5 {
  261. regulator-name = "vcca3v0_codec";
  262. regulator-min-microvolt = <3000000>;
  263. regulator-max-microvolt = <3000000>;
  264. regulator-always-on;
  265. regulator-boot-on;
  266. regulator-state-mem {
  267. regulator-off-in-suspend;
  268. };
  269. };
  270. vcc_1v5: LDO_REG6 {
  271. regulator-name = "vcc_1v5";
  272. regulator-min-microvolt = <1500000>;
  273. regulator-max-microvolt = <1500000>;
  274. regulator-always-on;
  275. regulator-boot-on;
  276. regulator-state-mem {
  277. regulator-on-in-suspend;
  278. regulator-suspend-microvolt = <1500000>;
  279. };
  280. };
  281. vcca1v8_codec: LDO_REG7 {
  282. regulator-name = "vcca1v8_codec";
  283. regulator-min-microvolt = <1800000>;
  284. regulator-max-microvolt = <1800000>;
  285. regulator-always-on;
  286. regulator-boot-on;
  287. regulator-state-mem {
  288. regulator-off-in-suspend;
  289. };
  290. };
  291. vcc_3v0: LDO_REG8 {
  292. regulator-name = "vcc_3v0";
  293. regulator-min-microvolt = <3000000>;
  294. regulator-max-microvolt = <3000000>;
  295. regulator-always-on;
  296. regulator-boot-on;
  297. regulator-state-mem {
  298. regulator-on-in-suspend;
  299. regulator-suspend-microvolt = <3000000>;
  300. };
  301. };
  302. vcc3v3_s3: SWITCH_REG1 {
  303. regulator-name = "vcc3v3_s3";
  304. regulator-always-on;
  305. regulator-boot-on;
  306. regulator-state-mem {
  307. regulator-on-in-suspend;
  308. };
  309. };
  310. vcc3v3_s0: SWITCH_REG2 {
  311. regulator-name = "vcc3v3_s0";
  312. regulator-always-on;
  313. regulator-boot-on;
  314. regulator-state-mem {
  315. regulator-off-in-suspend;
  316. };
  317. };
  318. };
  319. };
  320. vdd_cpu_b: regulator@40 {
  321. compatible = "silergy,syr827";
  322. reg = <0x40>;
  323. fcs,suspend-voltage-selector = <1>;
  324. regulator-name = "vdd_cpu_b";
  325. regulator-min-microvolt = <712500>;
  326. regulator-max-microvolt = <1500000>;
  327. regulator-ramp-delay = <1000>;
  328. regulator-always-on;
  329. regulator-boot-on;
  330. vin-supply = <&vcc5v0_sys>;
  331. regulator-state-mem {
  332. regulator-off-in-suspend;
  333. };
  334. };
  335. vdd_gpu: regulator@41 {
  336. compatible = "silergy,syr828";
  337. reg = <0x41>;
  338. fcs,suspend-voltage-selector = <1>;
  339. regulator-name = "vdd_gpu";
  340. regulator-min-microvolt = <712500>;
  341. regulator-max-microvolt = <1500000>;
  342. regulator-ramp-delay = <1000>;
  343. regulator-always-on;
  344. regulator-boot-on;
  345. vin-supply = <&vcc5v0_sys>;
  346. regulator-state-mem {
  347. regulator-off-in-suspend;
  348. };
  349. };
  350. };
  351. &pwm0 {
  352. status = "okay";
  353. };
  354. &pwm2 {
  355. status = "okay";
  356. };
  357. &pwm3 {
  358. status = "okay";
  359. };
  360. &sdhci {
  361. bus-width = <8>;
  362. mmc-hs400-1_8v;
  363. mmc-hs400-enhanced-strobe;
  364. non-removable;
  365. status = "okay";
  366. };
  367. &pcie_phy {
  368. status = "disabled";
  369. };
  370. &pcie0 {
  371. ep-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>;
  372. num-lanes = <4>;
  373. pinctrl-names = "default";
  374. pinctrl-0 = <&pcie_clkreqn_cpm>;
  375. status = "disabled";
  376. };
  377. &u2phy0 {
  378. status = "okay";
  379. };
  380. &u2phy0_host {
  381. phy-supply = <&vcc5v0_host>;
  382. status = "okay";
  383. };
  384. &u2phy1 {
  385. status = "okay";
  386. };
  387. &u2phy1_host {
  388. phy-supply = <&vcc5v0_host>;
  389. status = "okay";
  390. };
  391. &uart2 {
  392. status = "okay";
  393. };
  394. &usb_host0_ehci {
  395. status = "okay";
  396. };
  397. &usb_host0_ohci {
  398. status = "okay";
  399. };
  400. &usb_host1_ehci {
  401. status = "okay";
  402. };
  403. &usb_host1_ohci {
  404. status = "okay";
  405. };
  406. &pinctrl {
  407. pmic {
  408. pmic_int_l: pmic-int-l {
  409. rockchip,pins =
  410. <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
  411. };
  412. };
  413. usb2 {
  414. vcc5v0_host_en: vcc5v0-host-en {
  415. rockchip,pins =
  416. <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
  417. };
  418. };
  419. };
  420. &vopb {
  421. status = "okay";
  422. };
  423. &vopb_mmu {
  424. status = "okay";
  425. };