rk3328-roc-cc.dts 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
  4. */
  5. /dts-v1/;
  6. #include "rk3328.dtsi"
  7. / {
  8. model = "Firefly roc-rk3328-cc";
  9. compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328";
  10. aliases {
  11. mmc0 = &sdmmc;
  12. mmc1 = &emmc;
  13. };
  14. chosen {
  15. stdout-path = "serial2:1500000n8";
  16. };
  17. gmac_clkin: external-gmac-clock {
  18. compatible = "fixed-clock";
  19. clock-frequency = <125000000>;
  20. clock-output-names = "gmac_clkin";
  21. #clock-cells = <0>;
  22. };
  23. dc_12v: dc-12v {
  24. compatible = "regulator-fixed";
  25. regulator-name = "dc_12v";
  26. regulator-always-on;
  27. regulator-boot-on;
  28. regulator-min-microvolt = <12000000>;
  29. regulator-max-microvolt = <12000000>;
  30. };
  31. vcc_sd: sdmmc-regulator {
  32. compatible = "regulator-fixed";
  33. gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
  34. pinctrl-names = "default";
  35. pinctrl-0 = <&sdmmc0m1_pin>;
  36. regulator-boot-on;
  37. regulator-name = "vcc_sd";
  38. regulator-min-microvolt = <3300000>;
  39. regulator-max-microvolt = <3300000>;
  40. vin-supply = <&vcc_io>;
  41. };
  42. vcc_sdio: sdmmcio-regulator {
  43. compatible = "regulator-gpio";
  44. gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>;
  45. states = <1800000 0x1>,
  46. <3300000 0x0>;
  47. regulator-name = "vcc_sdio";
  48. regulator-type = "voltage";
  49. regulator-min-microvolt = <1800000>;
  50. regulator-max-microvolt = <3300000>;
  51. regulator-always-on;
  52. vin-supply = <&vcc_sys>;
  53. };
  54. vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
  55. compatible = "regulator-fixed";
  56. enable-active-high;
  57. gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&usb20_host_drv>;
  60. regulator-name = "vcc_host1_5v";
  61. regulator-always-on;
  62. vin-supply = <&vcc_sys>;
  63. };
  64. vcc_sys: vcc-sys {
  65. compatible = "regulator-fixed";
  66. regulator-name = "vcc_sys";
  67. regulator-always-on;
  68. regulator-boot-on;
  69. regulator-min-microvolt = <5000000>;
  70. regulator-max-microvolt = <5000000>;
  71. vin-supply = <&dc_12v>;
  72. };
  73. vcc_phy: vcc-phy-regulator {
  74. compatible = "regulator-fixed";
  75. regulator-name = "vcc_phy";
  76. regulator-always-on;
  77. regulator-boot-on;
  78. };
  79. leds {
  80. compatible = "gpio-leds";
  81. power_led: led-0 {
  82. label = "firefly:blue:power";
  83. linux,default-trigger = "heartbeat";
  84. gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
  85. default-state = "on";
  86. };
  87. user_led: led-1 {
  88. label = "firefly:yellow:user";
  89. linux,default-trigger = "mmc1";
  90. gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
  91. default-state = "off";
  92. };
  93. };
  94. };
  95. &analog_sound {
  96. status = "okay";
  97. };
  98. &codec {
  99. status = "okay";
  100. };
  101. &cpu0 {
  102. cpu-supply = <&vdd_arm>;
  103. };
  104. &cpu1 {
  105. cpu-supply = <&vdd_arm>;
  106. };
  107. &cpu2 {
  108. cpu-supply = <&vdd_arm>;
  109. };
  110. &cpu3 {
  111. cpu-supply = <&vdd_arm>;
  112. };
  113. &emmc {
  114. bus-width = <8>;
  115. cap-mmc-highspeed;
  116. max-frequency = <150000000>;
  117. mmc-ddr-1_8v;
  118. mmc-hs200-1_8v;
  119. non-removable;
  120. pinctrl-names = "default";
  121. pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
  122. vmmc-supply = <&vcc_io>;
  123. vqmmc-supply = <&vcc18_emmc>;
  124. status = "okay";
  125. };
  126. &gmac2io {
  127. assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
  128. assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
  129. clock_in_out = "input";
  130. phy-supply = <&vcc_phy>;
  131. phy-mode = "rgmii";
  132. pinctrl-names = "default";
  133. pinctrl-0 = <&rgmiim1_pins>;
  134. snps,aal;
  135. snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
  136. snps,reset-active-low;
  137. snps,reset-delays-us = <0 10000 50000>;
  138. snps,rxpbl = <0x4>;
  139. snps,txpbl = <0x4>;
  140. tx_delay = <0x24>;
  141. rx_delay = <0x18>;
  142. status = "okay";
  143. };
  144. &hdmi {
  145. status = "okay";
  146. };
  147. &hdmiphy {
  148. status = "okay";
  149. };
  150. &hdmi_sound {
  151. status = "okay";
  152. };
  153. &i2c1 {
  154. status = "okay";
  155. rk805: pmic@18 {
  156. compatible = "rockchip,rk805";
  157. reg = <0x18>;
  158. interrupt-parent = <&gpio1>;
  159. interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
  160. #clock-cells = <1>;
  161. clock-output-names = "xin32k", "rk805-clkout2";
  162. gpio-controller;
  163. #gpio-cells = <2>;
  164. pinctrl-names = "default";
  165. pinctrl-0 = <&pmic_int_l>;
  166. rockchip,system-power-controller;
  167. wakeup-source;
  168. vcc1-supply = <&vcc_sys>;
  169. vcc2-supply = <&vcc_sys>;
  170. vcc3-supply = <&vcc_sys>;
  171. vcc4-supply = <&vcc_sys>;
  172. vcc5-supply = <&vcc_io>;
  173. vcc6-supply = <&vcc_io>;
  174. regulators {
  175. vdd_logic: DCDC_REG1 {
  176. regulator-name = "vdd_logic";
  177. regulator-min-microvolt = <712500>;
  178. regulator-max-microvolt = <1450000>;
  179. regulator-always-on;
  180. regulator-boot-on;
  181. regulator-state-mem {
  182. regulator-on-in-suspend;
  183. regulator-suspend-microvolt = <1000000>;
  184. };
  185. };
  186. vdd_arm: DCDC_REG2 {
  187. regulator-name = "vdd_arm";
  188. regulator-min-microvolt = <712500>;
  189. regulator-max-microvolt = <1450000>;
  190. regulator-always-on;
  191. regulator-boot-on;
  192. regulator-state-mem {
  193. regulator-on-in-suspend;
  194. regulator-suspend-microvolt = <950000>;
  195. };
  196. };
  197. vcc_ddr: DCDC_REG3 {
  198. regulator-name = "vcc_ddr";
  199. regulator-always-on;
  200. regulator-boot-on;
  201. regulator-state-mem {
  202. regulator-on-in-suspend;
  203. };
  204. };
  205. vcc_io: DCDC_REG4 {
  206. regulator-name = "vcc_io";
  207. regulator-min-microvolt = <3300000>;
  208. regulator-max-microvolt = <3300000>;
  209. regulator-always-on;
  210. regulator-boot-on;
  211. regulator-state-mem {
  212. regulator-on-in-suspend;
  213. regulator-suspend-microvolt = <3300000>;
  214. };
  215. };
  216. vcc_18: LDO_REG1 {
  217. regulator-name = "vcc_18";
  218. regulator-min-microvolt = <1800000>;
  219. regulator-max-microvolt = <1800000>;
  220. regulator-always-on;
  221. regulator-boot-on;
  222. regulator-state-mem {
  223. regulator-on-in-suspend;
  224. regulator-suspend-microvolt = <1800000>;
  225. };
  226. };
  227. vcc18_emmc: LDO_REG2 {
  228. regulator-name = "vcc18_emmc";
  229. regulator-min-microvolt = <1800000>;
  230. regulator-max-microvolt = <1800000>;
  231. regulator-always-on;
  232. regulator-boot-on;
  233. regulator-state-mem {
  234. regulator-on-in-suspend;
  235. regulator-suspend-microvolt = <1800000>;
  236. };
  237. };
  238. vdd_10: LDO_REG3 {
  239. regulator-name = "vdd_10";
  240. regulator-min-microvolt = <1000000>;
  241. regulator-max-microvolt = <1000000>;
  242. regulator-always-on;
  243. regulator-boot-on;
  244. regulator-state-mem {
  245. regulator-on-in-suspend;
  246. regulator-suspend-microvolt = <1000000>;
  247. };
  248. };
  249. };
  250. };
  251. };
  252. &i2s0 {
  253. status = "okay";
  254. };
  255. &i2s1 {
  256. status = "okay";
  257. };
  258. &io_domains {
  259. status = "okay";
  260. vccio1-supply = <&vcc_io>;
  261. vccio2-supply = <&vcc18_emmc>;
  262. vccio3-supply = <&vcc_sdio>;
  263. vccio4-supply = <&vcc_18>;
  264. vccio5-supply = <&vcc_io>;
  265. vccio6-supply = <&vcc_io>;
  266. pmuio-supply = <&vcc_io>;
  267. };
  268. &pinctrl {
  269. pmic {
  270. pmic_int_l: pmic-int-l {
  271. rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
  272. };
  273. };
  274. usb2 {
  275. usb20_host_drv: usb20-host-drv {
  276. rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
  277. };
  278. };
  279. };
  280. &sdmmc {
  281. bus-width = <4>;
  282. cap-mmc-highspeed;
  283. cap-sd-highspeed;
  284. disable-wp;
  285. max-frequency = <150000000>;
  286. pinctrl-names = "default";
  287. pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
  288. sd-uhs-sdr12;
  289. sd-uhs-sdr25;
  290. sd-uhs-sdr50;
  291. sd-uhs-sdr104;
  292. vmmc-supply = <&vcc_sd>;
  293. vqmmc-supply = <&vcc_sdio>;
  294. status = "okay";
  295. };
  296. &tsadc {
  297. status = "okay";
  298. };
  299. &u2phy {
  300. status = "okay";
  301. };
  302. &u2phy_host {
  303. status = "okay";
  304. };
  305. &u2phy_otg {
  306. status = "okay";
  307. };
  308. &uart2 {
  309. status = "okay";
  310. };
  311. &usb20_otg {
  312. dr_mode = "host";
  313. status = "okay";
  314. };
  315. &usbdrd3 {
  316. dr_mode = "host";
  317. status = "okay";
  318. };
  319. &usb_host0_ehci {
  320. status = "okay";
  321. };
  322. &usb_host0_ohci {
  323. status = "okay";
  324. };
  325. &vop {
  326. status = "okay";
  327. };
  328. &vop_mmu {
  329. status = "okay";
  330. };