rk3368-lion.dtsi 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2018 Theobroma Systems Design und Consulting GmbH
  4. */
  5. /dts-v1/;
  6. #include "rk3368.dtsi"
  7. / {
  8. aliases {
  9. mmc0 = &emmc;
  10. };
  11. chosen {
  12. stdout-path = "serial0:115200n8";
  13. };
  14. ext_gmac: gmac-clk {
  15. compatible = "fixed-clock";
  16. clock-frequency = <125000000>;
  17. clock-output-names = "ext_gmac";
  18. #clock-cells = <0>;
  19. };
  20. i2cmux1 {
  21. compatible = "i2c-mux-gpio";
  22. #address-cells = <1>;
  23. #size-cells = <0>;
  24. i2c-parent = <&i2c1>;
  25. mux-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
  26. /* Q7_GP0_I2C */
  27. i2c_gp0: i2c@0 {
  28. reg = <0>;
  29. #address-cells = <1>;
  30. #size-cells = <0>;
  31. };
  32. /* Q7_SMB */
  33. i2c_smb: i2c@1 {
  34. reg = <1>;
  35. #address-cells = <1>;
  36. #size-cells = <0>;
  37. };
  38. };
  39. i2cmux2 {
  40. compatible = "i2c-mux-gpio";
  41. #address-cells = <1>;
  42. #size-cells = <0>;
  43. i2c-parent = <&i2c2>;
  44. mux-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
  45. /* Q7_LVDS_BLC_I2C */
  46. i2c_lvds_blc: i2c@0 {
  47. reg = <0>;
  48. #address-cells = <1>;
  49. #size-cells = <0>;
  50. fan: fan@18 {
  51. compatible = "ti,amc6821";
  52. reg = <0x18>;
  53. #cooling-cells = <2>;
  54. };
  55. rtc_twi: rtc@6f {
  56. compatible = "isil,isl1208";
  57. reg = <0x6f>;
  58. };
  59. };
  60. /* Q7_GP2_I2C = LVDS_DID_CLK/DAT */
  61. i2c_gp2: i2c@1 {
  62. reg = <1>;
  63. #address-cells = <1>;
  64. #size-cells = <0>;
  65. };
  66. };
  67. leds {
  68. compatible = "gpio-leds";
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&module_led_pins>;
  71. module_led1: led-1 {
  72. label = "module_led1";
  73. gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
  74. linux,default-trigger = "heartbeat";
  75. panic-indicator;
  76. };
  77. module_led2: led-2 {
  78. label = "module_led2";
  79. gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>;
  80. default-state = "off";
  81. };
  82. };
  83. vcc_sys: vcc-sys-regulator {
  84. compatible = "regulator-fixed";
  85. regulator-name = "vcc_sys";
  86. regulator-min-microvolt = <5000000>;
  87. regulator-max-microvolt = <5000000>;
  88. regulator-always-on;
  89. regulator-boot-on;
  90. };
  91. };
  92. &cpu_l0 {
  93. cpu-supply = <&vdd_cpu>;
  94. };
  95. &cpu_l1 {
  96. cpu-supply = <&vdd_cpu>;
  97. };
  98. &cpu_l2 {
  99. cpu-supply = <&vdd_cpu>;
  100. };
  101. &cpu_l3 {
  102. cpu-supply = <&vdd_cpu>;
  103. };
  104. &cpu_b0 {
  105. cpu-supply = <&vdd_cpu>;
  106. };
  107. &cpu_b1 {
  108. cpu-supply = <&vdd_cpu>;
  109. };
  110. &cpu_b2 {
  111. cpu-supply = <&vdd_cpu>;
  112. };
  113. &cpu_b3 {
  114. cpu-supply = <&vdd_cpu>;
  115. };
  116. &emmc {
  117. bus-width = <8>;
  118. clock-frequency = <150000000>;
  119. mmc-hs200-1_8v;
  120. non-removable;
  121. vmmc-supply = <&vcc33_io>;
  122. vqmmc-supply = <&vcc_18>;
  123. pinctrl-names = "default";
  124. pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
  125. status = "okay";
  126. };
  127. &gmac {
  128. assigned-clocks = <&cru SCLK_MAC>;
  129. assigned-clock-parents = <&ext_gmac>;
  130. clock_in_out = "input";
  131. phy-supply = <&vcc33_io>;
  132. phy-mode = "rgmii";
  133. pinctrl-names = "default";
  134. pinctrl-0 = <&rgmii_pins>;
  135. snps,reset-active-low;
  136. snps,reset-delays-us = <0 10000 50000>;
  137. snps,reset-gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
  138. tx_delay = <0x10>;
  139. rx_delay = <0x10>;
  140. status = "okay";
  141. };
  142. &i2c0 {
  143. status = "okay";
  144. rk808: pmic@1b {
  145. compatible = "rockchip,rk808";
  146. reg = <0x1b>;
  147. interrupt-parent = <&gpio0>;
  148. interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
  149. clock-output-names = "xin32k", "rk808-clkout2";
  150. #clock-cells = <1>;
  151. pinctrl-names = "default";
  152. pinctrl-0 = <&pmic_int_l>, <&pmic_sleep>;
  153. rockchip,system-power-controller;
  154. vcc1-supply = <&vcc_sys>;
  155. vcc2-supply = <&vcc_sys>;
  156. vcc3-supply = <&vcc_sys>;
  157. vcc4-supply = <&vcc_sys>;
  158. vcc6-supply = <&vcc_sys>;
  159. vcc7-supply = <&vcc_sys>;
  160. vcc8-supply = <&vcc_sys>;
  161. vcc9-supply = <&vcc_sys>;
  162. vcc10-supply = <&vcc_sys>;
  163. vcc11-supply = <&vcc_sys>;
  164. vcc12-supply = <&vcc_sys>;
  165. regulators {
  166. vdd_cpu: DCDC_REG1 {
  167. regulator-name = "vdd_cpu";
  168. regulator-min-microvolt = <700000>;
  169. regulator-max-microvolt = <1500000>;
  170. regulator-always-on;
  171. regulator-boot-on;
  172. };
  173. vdd_log: DCDC_REG2 {
  174. regulator-name = "vdd_log";
  175. regulator-min-microvolt = <700000>;
  176. regulator-max-microvolt = <1500000>;
  177. regulator-always-on;
  178. regulator-boot-on;
  179. };
  180. vcc_ddr: DCDC_REG3 {
  181. regulator-name = "vcc_ddr";
  182. regulator-always-on;
  183. regulator-boot-on;
  184. };
  185. vcc33_io: DCDC_REG4 {
  186. regulator-name = "vcc33_io";
  187. regulator-min-microvolt = <3300000>;
  188. regulator-max-microvolt = <3300000>;
  189. regulator-always-on;
  190. regulator-boot-on;
  191. };
  192. vcc33_video: LDO_REG2 {
  193. regulator-name = "vcc33_video";
  194. regulator-min-microvolt = <3300000>;
  195. regulator-max-microvolt = <3300000>;
  196. regulator-always-on;
  197. regulator-boot-on;
  198. };
  199. vdd10_pll: LDO_REG3 {
  200. regulator-name = "vdd10_pll";
  201. regulator-min-microvolt = <1000000>;
  202. regulator-max-microvolt = <1000000>;
  203. regulator-always-on;
  204. regulator-boot-on;
  205. };
  206. vdd10_video: LDO_REG6 {
  207. regulator-name = "vdd10_video";
  208. regulator-min-microvolt = <1000000>;
  209. regulator-max-microvolt = <1000000>;
  210. regulator-always-on;
  211. regulator-boot-on;
  212. };
  213. vcc_18: LDO_REG7 {
  214. regulator-always-on;
  215. regulator-boot-on;
  216. regulator-min-microvolt = <1800000>;
  217. regulator-max-microvolt = <1800000>;
  218. regulator-name = "vcc_18";
  219. };
  220. vcc18_video: LDO_REG8 {
  221. regulator-name = "vcc18_video";
  222. regulator-min-microvolt = <1800000>;
  223. regulator-max-microvolt = <1800000>;
  224. regulator-always-on;
  225. regulator-boot-on;
  226. };
  227. };
  228. };
  229. };
  230. &i2c1 {
  231. status = "okay";
  232. };
  233. &i2c2 {
  234. status = "okay";
  235. };
  236. /* The RK3368-uQ7 "Lion" has most IO voltages hardwired to 3.3V. */
  237. &io_domains {
  238. audio-supply = <&vcc33_io>;
  239. dvp-supply = <&vcc33_io>;
  240. flash0-supply = <&vcc_18>;
  241. gpio30-supply = <&vcc33_io>;
  242. gpio1830-supply = <&vcc33_io>;
  243. sdcard-supply = <&vcc33_io>;
  244. wifi-supply = <&vcc33_io>;
  245. status = "okay";
  246. };
  247. &pinctrl {
  248. leds {
  249. module_led_pins: module-led-pins {
  250. rockchip,pins =
  251. <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>,
  252. <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
  253. };
  254. };
  255. pmic {
  256. pmic_int_l: pmic-int-l {
  257. rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
  258. };
  259. pmic_sleep: pmic-sleep {
  260. rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>;
  261. };
  262. };
  263. };
  264. &pmu_io_domains {
  265. pmu-supply = <&vcc33_io>;
  266. vop-supply = <&vcc33_io>;
  267. status = "okay";
  268. };
  269. &spi1 {
  270. status = "okay";
  271. norflash: flash@0 {
  272. compatible = "jedec,spi-nor";
  273. reg = <0>;
  274. spi-max-frequency = <50000000>;
  275. };
  276. };
  277. &uart1 {
  278. status = "okay";
  279. };
  280. &uart3 {
  281. status = "okay";
  282. };
  283. &usb_host0_ehci {
  284. status = "okay";
  285. };
  286. &wdt {
  287. status = "okay";
  288. };