rk3288-firefly-reload.dts 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device tree file for Firefly Rockchip RK3288 Core board
  4. * Copyright (c) 2016 Randy Li <[email protected]>
  5. */
  6. /dts-v1/;
  7. #include "rk3288-firefly-reload-core.dtsi"
  8. / {
  9. model = "Firefly-RK3288-reload";
  10. compatible = "firefly,firefly-rk3288-reload", "rockchip,rk3288";
  11. adc-keys {
  12. compatible = "adc-keys";
  13. io-channels = <&saradc 1>;
  14. io-channel-names = "buttons";
  15. keyup-threshold-microvolt = <1800000>;
  16. button-recovery {
  17. label = "Recovery";
  18. linux,code = <KEY_VENDOR>;
  19. press-threshold-microvolt = <0>;
  20. };
  21. };
  22. gpio-keys {
  23. compatible = "gpio-keys";
  24. key-power {
  25. wakeup-source;
  26. gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
  27. label = "GPIO Power";
  28. linux,code = <KEY_POWER>;
  29. pinctrl-names = "default";
  30. pinctrl-0 = <&pwr_key>;
  31. };
  32. };
  33. ir-receiver {
  34. compatible = "gpio-ir-receiver";
  35. gpios = <&gpio7 RK_PA0 GPIO_ACTIVE_LOW>;
  36. };
  37. leds {
  38. compatible = "gpio-leds";
  39. power_led: led-0 {
  40. gpios = <&gpio8 RK_PA2 GPIO_ACTIVE_LOW>;
  41. label = "firefly:blue:power";
  42. pinctrl-names = "default";
  43. pinctrl-0 = <&power_led_pin>;
  44. panic-indicator;
  45. };
  46. work_led: led-1 {
  47. gpios = <&gpio8 RK_PA1 GPIO_ACTIVE_LOW>;
  48. label = "firefly:blue:user";
  49. linux,default-trigger = "rc-feedback";
  50. pinctrl-names = "default";
  51. pinctrl-0 = <&work_led_pin>;
  52. };
  53. };
  54. sdio_pwrseq: sdio-pwrseq {
  55. compatible = "mmc-pwrseq-simple";
  56. clocks = <&hym8563>;
  57. clock-names = "ext_clock";
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&wifi_enable>;
  60. reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
  61. };
  62. sound {
  63. compatible = "simple-audio-card";
  64. simple-audio-card,name = "SPDIF";
  65. simple-audio-card,dai-link@1 { /* S/PDIF - S/PDIF */
  66. cpu { sound-dai = <&spdif>; };
  67. codec { sound-dai = <&spdif_out>; };
  68. };
  69. };
  70. spdif_out: spdif-out {
  71. compatible = "linux,spdif-dit";
  72. #sound-dai-cells = <0>;
  73. };
  74. vcc_host_5v: usb-host-regulator {
  75. compatible = "regulator-fixed";
  76. enable-active-high;
  77. gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
  78. pinctrl-names = "default";
  79. pinctrl-0 = <&host_vbus_drv>;
  80. regulator-name = "vcc_host_5v";
  81. regulator-min-microvolt = <5000000>;
  82. regulator-max-microvolt = <5000000>;
  83. regulator-always-on;
  84. vin-supply = <&vcc_5v>;
  85. };
  86. vcc_5v: vcc_sys: vsys-regulator {
  87. compatible = "regulator-fixed";
  88. regulator-name = "vcc_5v";
  89. regulator-min-microvolt = <5000000>;
  90. regulator-max-microvolt = <5000000>;
  91. regulator-always-on;
  92. regulator-boot-on;
  93. };
  94. vcc_sd: sdmmc-regulator {
  95. compatible = "regulator-fixed";
  96. gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
  97. pinctrl-names = "default";
  98. pinctrl-0 = <&sdmmc_pwr>;
  99. regulator-name = "vcc_sd";
  100. regulator-min-microvolt = <3300000>;
  101. regulator-max-microvolt = <3300000>;
  102. startup-delay-us = <100000>;
  103. vin-supply = <&vcc_io>;
  104. };
  105. vcc_otg_5v: usb-otg-regulator {
  106. compatible = "regulator-fixed";
  107. enable-active-high;
  108. gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&otg_vbus_drv>;
  111. regulator-name = "vcc_otg_5v";
  112. regulator-min-microvolt = <5000000>;
  113. regulator-max-microvolt = <5000000>;
  114. regulator-always-on;
  115. vin-supply = <&vcc_5v>;
  116. };
  117. dovdd_1v8: dovdd-1v8-regulator {
  118. compatible = "regulator-fixed";
  119. enable-active-high;
  120. gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
  121. pinctrl-names = "default";
  122. pinctrl-0 = <&dvp_pwr>;
  123. regulator-name = "dovdd_1v8";
  124. regulator-min-microvolt = <1800000>;
  125. regulator-max-microvolt = <1800000>;
  126. vin-supply = <&vcc_io>;
  127. };
  128. vcc28_dvp: vcc28-dvp-regulator {
  129. compatible = "regulator-fixed";
  130. enable-active-high;
  131. gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
  132. pinctrl-names = "default";
  133. pinctrl-0 = <&dvp_pwr>;
  134. regulator-name = "vcc28_dvp";
  135. regulator-min-microvolt = <2800000>;
  136. regulator-max-microvolt = <2800000>;
  137. vin-supply = <&vcc_io>;
  138. };
  139. af_28: af_28-regulator {
  140. compatible = "regulator-fixed";
  141. enable-active-high;
  142. gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
  143. pinctrl-names = "default";
  144. pinctrl-0 = <&dvp_pwr>;
  145. regulator-name = "af_28";
  146. regulator-min-microvolt = <2800000>;
  147. regulator-max-microvolt = <2800000>;
  148. vin-supply = <&vcc_io>;
  149. };
  150. dvdd_1v2: af_28-regulator {
  151. compatible = "regulator-fixed";
  152. enable-active-high;
  153. gpio = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>;
  154. pinctrl-names = "default";
  155. pinctrl-0 = <&cif_pwr>;
  156. regulator-name = "dvdd_1v2";
  157. regulator-min-microvolt = <1200000>;
  158. regulator-max-microvolt = <1200000>;
  159. vin-supply = <&vcc_io>;
  160. };
  161. vbat_wl: wifi-regulator {
  162. compatible = "regulator-fixed";
  163. regulator-name = "vbat_wl";
  164. regulator-min-microvolt = <3300000>;
  165. regulator-max-microvolt = <3300000>;
  166. vin-supply = <&vcc_io>;
  167. };
  168. };
  169. &hdmi {
  170. ddc-i2c-bus = <&i2c5>;
  171. pinctrl-names = "default";
  172. pinctrl-0 = <&hdmi_cec_c0>;
  173. status = "okay";
  174. };
  175. &i2c0 {
  176. hym8563: hym8563@51 {
  177. compatible = "haoyu,hym8563";
  178. reg = <0x51>;
  179. #clock-cells = <0>;
  180. clock-frequency = <32768>;
  181. clock-output-names = "xin32k";
  182. interrupt-parent = <&gpio7>;
  183. interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
  184. pinctrl-names = "default";
  185. pinctrl-0 = <&rtc_int>;
  186. };
  187. };
  188. &i2c2 {
  189. status = "okay";
  190. codec: es8328@10 {
  191. compatible = "everest,es8328";
  192. DVDD-supply = <&vcca_33>;
  193. AVDD-supply = <&vcca_33>;
  194. PVDD-supply = <&vcca_33>;
  195. HPVDD-supply = <&vcca_33>;
  196. clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
  197. clock-names = "i2s_hclk", "i2s_clk";
  198. reg = <0x10>;
  199. };
  200. };
  201. &i2c5 {
  202. status = "okay";
  203. };
  204. &i2s {
  205. status = "okay";
  206. };
  207. &saradc {
  208. vref-supply = <&vcc_18>;
  209. status = "okay";
  210. };
  211. &sdmmc {
  212. bus-width = <4>;
  213. cap-mmc-highspeed;
  214. cap-sd-highspeed;
  215. card-detect-delay = <200>;
  216. disable-wp;
  217. pinctrl-names = "default";
  218. pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
  219. vmmc-supply = <&vcc_sd>;
  220. vqmmc-supply = <&vccio_sd>;
  221. status = "okay";
  222. };
  223. &sdio0 {
  224. bus-width = <4>;
  225. cap-sd-highspeed;
  226. cap-sdio-irq;
  227. mmc-pwrseq = <&sdio_pwrseq>;
  228. non-removable;
  229. pinctrl-names = "default";
  230. pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
  231. sd-uhs-sdr12;
  232. sd-uhs-sdr25;
  233. sd-uhs-sdr50;
  234. sd-uhs-ddr50;
  235. vmmc-supply = <&vbat_wl>;
  236. vqmmc-supply = <&vccio_wl>;
  237. status = "okay";
  238. };
  239. &spdif {
  240. status = "okay";
  241. };
  242. &uart0 {
  243. pinctrl-names = "default";
  244. pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
  245. status = "okay";
  246. };
  247. &uart1 {
  248. status = "okay";
  249. };
  250. &uart2 {
  251. status = "okay";
  252. };
  253. &uart3 {
  254. status = "okay";
  255. };
  256. &usbphy {
  257. status = "okay";
  258. };
  259. &usb_host1 {
  260. pinctrl-names = "default";
  261. pinctrl-0 = <&usbhub_rst>;
  262. status = "okay";
  263. };
  264. &usb_otg {
  265. status = "okay";
  266. };
  267. &pinctrl {
  268. ir {
  269. ir_int: ir-int {
  270. rockchip,pins = <7 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
  271. };
  272. };
  273. dvp {
  274. dvp_pwr: dvp-pwr {
  275. rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  276. };
  277. cif_pwr: cif-pwr {
  278. rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
  279. };
  280. };
  281. hym8563 {
  282. rtc_int: rtc-int {
  283. rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
  284. };
  285. };
  286. keys {
  287. pwr_key: pwr-key {
  288. rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
  289. };
  290. };
  291. leds {
  292. power_led_pin: power-led-pin {
  293. rockchip,pins = <8 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
  294. };
  295. work_led_pin: work-led-pin {
  296. rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
  297. };
  298. };
  299. sdmmc {
  300. /*
  301. * Default drive strength isn't enough to achieve even
  302. * high-speed mode on firefly board so bump up to 12ma.
  303. */
  304. sdmmc_bus4: sdmmc-bus4 {
  305. rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>,
  306. <6 RK_PC1 1 &pcfg_pull_up_drv_12ma>,
  307. <6 RK_PC2 1 &pcfg_pull_up_drv_12ma>,
  308. <6 RK_PC3 1 &pcfg_pull_up_drv_12ma>;
  309. };
  310. sdmmc_clk: sdmmc-clk {
  311. rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>;
  312. };
  313. sdmmc_cmd: sdmmc-cmd {
  314. rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>;
  315. };
  316. sdmmc_pwr: sdmmc-pwr {
  317. rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  318. };
  319. };
  320. sdio {
  321. wifi_enable: wifi-enable {
  322. rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
  323. };
  324. };
  325. usb_host {
  326. host_vbus_drv: host-vbus-drv {
  327. rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
  328. };
  329. usbhub_rst: usbhub-rst {
  330. rockchip,pins = <8 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>;
  331. };
  332. };
  333. usb_otg {
  334. otg_vbus_drv: otg-vbus-drv {
  335. rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
  336. };
  337. };
  338. };