rk3288-evb.dtsi 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. // SPDX-License-Identifier: GPL-2.0+ OR X11
  2. /*
  3. * (C) Copyright 2016 Rockchip Electronics Co., Ltd
  4. */
  5. #include "rk3288.dtsi"
  6. / {
  7. memory {
  8. reg = <0 0x80000000>;
  9. };
  10. ext_gmac: external-gmac-clock {
  11. compatible = "fixed-clock";
  12. #clock-cells = <0>;
  13. clock-frequency = <125000000>;
  14. clock-output-names = "ext_gmac";
  15. };
  16. keys: gpio-keys {
  17. compatible = "gpio-keys";
  18. #address-cells = <1>;
  19. #size-cells = <0>;
  20. button@0 {
  21. gpio-key,wakeup = <1>;
  22. gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
  23. label = "GPIO Power";
  24. linux,code = <116>;
  25. pinctrl-names = "default";
  26. pinctrl-0 = <&pwr_key>;
  27. };
  28. };
  29. vcc_sys: vsys-regulator {
  30. compatible = "regulator-fixed";
  31. regulator-name = "vcc_sys";
  32. regulator-min-microvolt = <5000000>;
  33. regulator-max-microvolt = <5000000>;
  34. regulator-always-on;
  35. regulator-boot-on;
  36. };
  37. vcc_flash: flash-regulator {
  38. compatible = "regulator-fixed";
  39. regulator-name = "vcc_flash";
  40. regulator-min-microvolt = <1800000>;
  41. regulator-max-microvolt = <1800000>;
  42. vin-supply = <&vcc_io>;
  43. };
  44. vcc_5v: usb-regulator {
  45. compatible = "regulator-fixed";
  46. regulator-name = "vcc_5v";
  47. regulator-min-microvolt = <5000000>;
  48. regulator-max-microvolt = <5000000>;
  49. regulator-always-on;
  50. regulator-boot-on;
  51. vin-supply = <&vcc_sys>;
  52. };
  53. vcc_host_5v: usb-host-regulator {
  54. compatible = "regulator-fixed";
  55. enable-active-high;
  56. gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
  57. pinctrl-names = "default";
  58. pinctrl-0 = <&host_vbus_drv>;
  59. regulator-name = "vcc_host_5v";
  60. regulator-min-microvolt = <5000000>;
  61. regulator-max-microvolt = <5000000>;
  62. regulator-always-on;
  63. vin-supply = <&vcc_5v>;
  64. };
  65. vcc_otg_5v: usb-otg-regulator {
  66. compatible = "regulator-fixed";
  67. enable-active-high;
  68. gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&otg_vbus_drv>;
  71. regulator-name = "vcc_otg_5v";
  72. regulator-min-microvolt = <5000000>;
  73. regulator-max-microvolt = <5000000>;
  74. regulator-always-on;
  75. vin-supply = <&vcc_5v>;
  76. };
  77. backlight: backlight {
  78. compatible = "pwm-backlight";
  79. power-supply = <&vcc_sys>;
  80. enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
  81. brightness-levels = <
  82. 0 1 2 3 4 5 6 7
  83. 8 9 10 11 12 13 14 15
  84. 16 17 18 19 20 21 22 23
  85. 24 25 26 27 28 29 30 31
  86. 32 33 34 35 36 37 38 39
  87. 40 41 42 43 44 45 46 47
  88. 48 49 50 51 52 53 54 55
  89. 56 57 58 59 60 61 62 63
  90. 64 65 66 67 68 69 70 71
  91. 72 73 74 75 76 77 78 79
  92. 80 81 82 83 84 85 86 87
  93. 88 89 90 91 92 93 94 95
  94. 96 97 98 99 100 101 102 103
  95. 104 105 106 107 108 109 110 111
  96. 112 113 114 115 116 117 118 119
  97. 120 121 122 123 124 125 126 127
  98. 128 129 130 131 132 133 134 135
  99. 136 137 138 139 140 141 142 143
  100. 144 145 146 147 148 149 150 151
  101. 152 153 154 155 156 157 158 159
  102. 160 161 162 163 164 165 166 167
  103. 168 169 170 171 172 173 174 175
  104. 176 177 178 179 180 181 182 183
  105. 184 185 186 187 188 189 190 191
  106. 192 193 194 195 196 197 198 199
  107. 200 201 202 203 204 205 206 207
  108. 208 209 210 211 212 213 214 215
  109. 216 217 218 219 220 221 222 223
  110. 224 225 226 227 228 229 230 231
  111. 232 233 234 235 236 237 238 239
  112. 240 241 242 243 244 245 246 247
  113. 248 249 250 251 252 253 254 255>;
  114. default-brightness-level = <50>;
  115. pwms = <&pwm0 0 25000 0>;
  116. pinctrl-names = "default";
  117. pinctrl-0 = <&pwm0_pin>;
  118. pwm-delay-us = <10000>;
  119. status = "disabled";
  120. };
  121. panel: panel {
  122. compatible = "simple-panel";
  123. power-supply = <&vcc_io>;
  124. backlight = <&backlight>;
  125. enable-gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
  126. status = "disabled";
  127. };
  128. };
  129. &cpu0 {
  130. cpu0-supply = <&vdd_cpu>;
  131. };
  132. &emmc {
  133. broken-cd;
  134. bus-width = <8>;
  135. cap-mmc-highspeed;
  136. disable-wp;
  137. non-removable;
  138. num-slots = <1>;
  139. pinctrl-names = "default";
  140. pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
  141. vmmc-supply = <&vcc_io>;
  142. vqmmc-supply = <&vcc_flash>;
  143. status = "okay";
  144. };
  145. &gmac {
  146. phy-mode = "rgmii";
  147. clock_in_out = "input";
  148. snps,reset-gpio = <&gpio4 7 0>;
  149. snps,reset-active-low;
  150. snps,reset-delays-us = <0 10000 1000000>;
  151. assigned-clocks = <&cru SCLK_MAC>;
  152. assigned-clock-parents = <&ext_gmac>;
  153. pinctrl-names = "default";
  154. pinctrl-0 = <&rgmii_pins>;
  155. tx_delay = <0x30>;
  156. rx_delay = <0x10>;
  157. status = "okay";
  158. };
  159. &hdmi {
  160. ddc-i2c-bus = <&i2c5>;
  161. status = "okay";
  162. };
  163. &i2c0 {
  164. clock-frequency = <400000>;
  165. status = "okay";
  166. vdd_cpu: syr827@40 {
  167. compatible = "silergy,syr827";
  168. fcs,suspend-voltage-selector = <1>;
  169. reg = <0x40>;
  170. regulator-name = "vdd_cpu";
  171. regulator-min-microvolt = <850000>;
  172. regulator-max-microvolt = <1350000>;
  173. regulator-always-on;
  174. regulator-boot-on;
  175. vin-supply = <&vcc_sys>;
  176. };
  177. vdd_gpu: syr828@41 {
  178. compatible = "silergy,syr828";
  179. fcs,suspend-voltage-selector = <1>;
  180. reg = <0x41>;
  181. regulator-name = "vdd_gpu";
  182. regulator-min-microvolt = <850000>;
  183. regulator-max-microvolt = <1350000>;
  184. regulator-always-on;
  185. vin-supply = <&vcc_sys>;
  186. };
  187. hym8563: hym8563@51 {
  188. compatible = "haoyu,hym8563";
  189. reg = <0x51>;
  190. #clock-cells = <0>;
  191. clock-frequency = <32768>;
  192. clock-output-names = "xin32k";
  193. interrupt-parent = <&gpio7>;
  194. interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
  195. pinctrl-names = "default";
  196. pinctrl-0 = <&rtc_int>;
  197. };
  198. act8846: act8846@5a {
  199. compatible = "active-semi,act8846";
  200. reg = <0x5a>;
  201. pinctrl-names = "default";
  202. pinctrl-0 = <&pwr_hold>;
  203. system-power-controller;
  204. regulators {
  205. vcc_ddr: REG1 {
  206. regulator-name = "vcc_ddr";
  207. regulator-min-microvolt = <1200000>;
  208. regulator-max-microvolt = <1200000>;
  209. regulator-always-on;
  210. };
  211. vcc_io: REG2 {
  212. regulator-name = "vcc_io";
  213. regulator-min-microvolt = <3300000>;
  214. regulator-max-microvolt = <3300000>;
  215. regulator-always-on;
  216. };
  217. vdd_log: REG3 {
  218. regulator-name = "vdd_log";
  219. regulator-min-microvolt = <1100000>;
  220. regulator-max-microvolt = <1100000>;
  221. regulator-always-on;
  222. };
  223. vcc_20: REG4 {
  224. regulator-name = "vcc_20";
  225. regulator-min-microvolt = <2000000>;
  226. regulator-max-microvolt = <2000000>;
  227. regulator-always-on;
  228. };
  229. vccio_sd: REG5 {
  230. regulator-name = "vccio_sd";
  231. regulator-min-microvolt = <3300000>;
  232. regulator-max-microvolt = <3300000>;
  233. regulator-always-on;
  234. };
  235. vdd10_lcd: REG6 {
  236. regulator-name = "vdd10_lcd";
  237. regulator-min-microvolt = <1000000>;
  238. regulator-max-microvolt = <1000000>;
  239. regulator-always-on;
  240. };
  241. vcca_codec: REG7 {
  242. regulator-name = "vcca_codec";
  243. regulator-min-microvolt = <3300000>;
  244. regulator-max-microvolt = <3300000>;
  245. };
  246. vcc_tp: REG8 {
  247. regulator-name = "vcca_33";
  248. regulator-min-microvolt = <3300000>;
  249. regulator-max-microvolt = <3300000>;
  250. };
  251. vccio_pmu: REG9 {
  252. regulator-name = "vccio_pmu";
  253. regulator-min-microvolt = <3300000>;
  254. regulator-max-microvolt = <3300000>;
  255. };
  256. vdd_10: REG10 {
  257. regulator-name = "vdd_10";
  258. regulator-min-microvolt = <1000000>;
  259. regulator-max-microvolt = <1000000>;
  260. regulator-always-on;
  261. };
  262. vcc_18: REG11 {
  263. regulator-name = "vcc_18";
  264. regulator-min-microvolt = <1800000>;
  265. regulator-max-microvolt = <1800000>;
  266. regulator-always-on;
  267. };
  268. vcc18_lcd: REG12 {
  269. regulator-name = "vcc18_lcd";
  270. regulator-min-microvolt = <1800000>;
  271. regulator-max-microvolt = <1800000>;
  272. regulator-always-on;
  273. };
  274. };
  275. };
  276. };
  277. &i2c1 {
  278. status = "okay";
  279. };
  280. &i2c2 {
  281. status = "okay";
  282. };
  283. &i2c4 {
  284. status = "okay";
  285. };
  286. &i2c5 {
  287. status = "okay";
  288. };
  289. &pinctrl {
  290. pcfg_output_high: pcfg-output-high {
  291. output-high;
  292. };
  293. pcfg_output_low: pcfg-output-low {
  294. output-low;
  295. };
  296. act8846 {
  297. pwr_hold: pwr-hold {
  298. rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>;
  299. };
  300. };
  301. hym8563 {
  302. rtc_int: rtc-int {
  303. rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
  304. };
  305. };
  306. keys {
  307. pwr_key: pwr-key {
  308. rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
  309. };
  310. };
  311. sdmmc {
  312. sdmmc_pwr: sdmmc-pwr {
  313. rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
  314. };
  315. };
  316. usb_host {
  317. host_vbus_drv: host-vbus-drv {
  318. rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
  319. };
  320. };
  321. usb_otg {
  322. otg_vbus_drv: otg-vbus-drv {
  323. rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
  324. };
  325. };
  326. };
  327. &pwm0 {
  328. status = "okay";
  329. };
  330. &saradc {
  331. vref-supply = <&vcc_18>;
  332. status = "okay";
  333. };
  334. &sdio0 {
  335. broken-cd;
  336. bus-width = <4>;
  337. disable-wp;
  338. non-removable;
  339. num-slots = <1>;
  340. pinctrl-names = "default";
  341. pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
  342. vmmc-supply = <&vcc_18>;
  343. status = "disabled";
  344. };
  345. &sdmmc {
  346. bus-width = <4>;
  347. cap-mmc-highspeed;
  348. cap-sd-highspeed;
  349. card-detect-delay = <200>;
  350. disable-wp;
  351. num-slots = <1>;
  352. pinctrl-names = "default";
  353. pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
  354. vmmc-supply = <&vccio_sd>;
  355. status = "okay";
  356. };
  357. &spi0 {
  358. pinctrl-names = "default";
  359. pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
  360. status = "okay";
  361. };
  362. &uart0 {
  363. pinctrl-names = "default";
  364. pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
  365. status = "okay";
  366. };
  367. &uart1 {
  368. status = "okay";
  369. };
  370. &uart2 {
  371. status = "okay";
  372. };
  373. &uart3 {
  374. status = "okay";
  375. };
  376. &usb_host1 {
  377. status = "okay";
  378. };
  379. &usb_otg {
  380. status = "okay";
  381. };
  382. &vopb {
  383. status = "okay";
  384. };
  385. &vopb_mmu {
  386. status = "okay";
  387. };
  388. &vopl {
  389. status = "okay";
  390. };
  391. &vopl_mmu {
  392. status = "okay";
  393. };
  394. &mipi_dsi0 {
  395. status = "disabled";
  396. rockchip,panel = <&panel>;
  397. display-timings {
  398. timing0 {
  399. bits-per-pixel = <24>;
  400. clock-frequency = <160000000>;
  401. hfront-porch = <120>;
  402. hsync-len = <20>;
  403. hback-porch = <21>;
  404. hactive = <1200>;
  405. vfront-porch = <21>;
  406. vsync-len = <3>;
  407. vback-porch = <18>;
  408. vactive = <1920>;
  409. hsync-active = <0>;
  410. vsync-active = <0>;
  411. de-active = <1>;
  412. pixelclk-active = <0>;
  413. };
  414. };
  415. };
  416. &wdt {
  417. status = "okay";
  418. };