meson-g12a-u200.dts 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
  4. */
  5. /dts-v1/;
  6. #include "meson-g12a.dtsi"
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/gpio/meson-g12a-gpio.h>
  9. / {
  10. compatible = "amlogic,u200", "amlogic,g12a";
  11. model = "Amlogic Meson G12A U200 Development Board";
  12. aliases {
  13. serial0 = &uart_AO;
  14. ethernet0 = &ethmac;
  15. };
  16. chosen {
  17. stdout-path = "serial0:115200n8";
  18. };
  19. cvbs-connector {
  20. compatible = "composite-video-connector";
  21. port {
  22. cvbs_connector_in: endpoint {
  23. remote-endpoint = <&cvbs_vdac_out>;
  24. };
  25. };
  26. };
  27. emmc_pwrseq: emmc-pwrseq {
  28. compatible = "mmc-pwrseq-emmc";
  29. reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
  30. };
  31. hdmi-connector {
  32. compatible = "hdmi-connector";
  33. type = "a";
  34. port {
  35. hdmi_connector_in: endpoint {
  36. remote-endpoint = <&hdmi_tx_tmds_out>;
  37. };
  38. };
  39. };
  40. memory@0 {
  41. device_type = "memory";
  42. reg = <0x0 0x0 0x0 0x40000000>;
  43. };
  44. flash_1v8: regulator-flash_1v8 {
  45. compatible = "regulator-fixed";
  46. regulator-name = "FLASH_1V8";
  47. regulator-min-microvolt = <1800000>;
  48. regulator-max-microvolt = <1800000>;
  49. vin-supply = <&vcc_3v3>;
  50. regulator-always-on;
  51. };
  52. main_12v: regulator-main_12v {
  53. compatible = "regulator-fixed";
  54. regulator-name = "12V";
  55. regulator-min-microvolt = <12000000>;
  56. regulator-max-microvolt = <12000000>;
  57. regulator-always-on;
  58. };
  59. usb_pwr_en: regulator-usb_pwr_en {
  60. compatible = "regulator-fixed";
  61. regulator-name = "USB_PWR_EN";
  62. regulator-min-microvolt = <5000000>;
  63. regulator-max-microvolt = <5000000>;
  64. vin-supply = <&vcc_5v>;
  65. gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
  66. enable-active-high;
  67. };
  68. vcc_1v8: regulator-vcc_1v8 {
  69. compatible = "regulator-fixed";
  70. regulator-name = "VCC_1V8";
  71. regulator-min-microvolt = <1800000>;
  72. regulator-max-microvolt = <1800000>;
  73. vin-supply = <&vcc_3v3>;
  74. regulator-always-on;
  75. };
  76. vcc_3v3: regulator-vcc_3v3 {
  77. compatible = "regulator-fixed";
  78. regulator-name = "VCC_3V3";
  79. regulator-min-microvolt = <3300000>;
  80. regulator-max-microvolt = <3300000>;
  81. vin-supply = <&vddao_3v3>;
  82. regulator-always-on;
  83. /* FIXME: actually controlled by VDDCPU_B_EN */
  84. };
  85. vcc_5v: regulator-vcc_5v {
  86. compatible = "regulator-fixed";
  87. regulator-name = "VCC_5V";
  88. regulator-min-microvolt = <5000000>;
  89. regulator-max-microvolt = <5000000>;
  90. vin-supply = <&main_12v>;
  91. gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
  92. enable-active-high;
  93. };
  94. vddao_1v8: regulator-vddao_1v8 {
  95. compatible = "regulator-fixed";
  96. regulator-name = "VDDAO_1V8";
  97. regulator-min-microvolt = <1800000>;
  98. regulator-max-microvolt = <1800000>;
  99. vin-supply = <&vddao_3v3>;
  100. regulator-always-on;
  101. };
  102. vddao_3v3: regulator-vddao_3v3 {
  103. compatible = "regulator-fixed";
  104. regulator-name = "VDDAO_3V3";
  105. regulator-min-microvolt = <3300000>;
  106. regulator-max-microvolt = <3300000>;
  107. vin-supply = <&main_12v>;
  108. regulator-always-on;
  109. };
  110. vddcpu: regulator-vddcpu {
  111. /*
  112. * MP8756GD Regulator.
  113. */
  114. compatible = "pwm-regulator";
  115. regulator-name = "VDDCPU";
  116. regulator-min-microvolt = <721000>;
  117. regulator-max-microvolt = <1022000>;
  118. vin-supply = <&main_12v>;
  119. pwms = <&pwm_AO_cd 1 1250 0>;
  120. pwm-dutycycle-range = <100 0>;
  121. regulator-boot-on;
  122. regulator-always-on;
  123. };
  124. };
  125. &cec_AO {
  126. pinctrl-0 = <&cec_ao_a_h_pins>;
  127. pinctrl-names = "default";
  128. status = "disabled";
  129. hdmi-phandle = <&hdmi_tx>;
  130. };
  131. &cecb_AO {
  132. pinctrl-0 = <&cec_ao_b_h_pins>;
  133. pinctrl-names = "default";
  134. status = "okay";
  135. hdmi-phandle = <&hdmi_tx>;
  136. };
  137. &cpu0 {
  138. cpu-supply = <&vddcpu>;
  139. operating-points-v2 = <&cpu_opp_table>;
  140. clocks = <&clkc CLKID_CPU_CLK>;
  141. clock-latency = <50000>;
  142. };
  143. &cpu1 {
  144. cpu-supply = <&vddcpu>;
  145. operating-points-v2 = <&cpu_opp_table>;
  146. clocks = <&clkc CLKID_CPU_CLK>;
  147. clock-latency = <50000>;
  148. };
  149. &cpu2 {
  150. cpu-supply = <&vddcpu>;
  151. operating-points-v2 = <&cpu_opp_table>;
  152. clocks = <&clkc CLKID_CPU_CLK>;
  153. clock-latency = <50000>;
  154. };
  155. &cpu3 {
  156. cpu-supply = <&vddcpu>;
  157. operating-points-v2 = <&cpu_opp_table>;
  158. clocks = <&clkc CLKID_CPU_CLK>;
  159. clock-latency = <50000>;
  160. };
  161. &cvbs_vdac_port {
  162. cvbs_vdac_out: endpoint {
  163. remote-endpoint = <&cvbs_connector_in>;
  164. };
  165. };
  166. &ethmac {
  167. status = "okay";
  168. phy-handle = <&internal_ephy>;
  169. phy-mode = "rmii";
  170. };
  171. &hdmi_tx {
  172. status = "okay";
  173. pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
  174. pinctrl-names = "default";
  175. hdmi-supply = <&vcc_5v>;
  176. };
  177. &hdmi_tx_tmds_port {
  178. hdmi_tx_tmds_out: endpoint {
  179. remote-endpoint = <&hdmi_connector_in>;
  180. };
  181. };
  182. &ir {
  183. status = "okay";
  184. pinctrl-0 = <&remote_input_ao_pins>;
  185. pinctrl-names = "default";
  186. };
  187. /* i2c Touch */
  188. &i2c0 {
  189. status = "okay";
  190. pinctrl-0 = <&i2c0_sda_z0_pins>, <&i2c0_sck_z1_pins>;
  191. pinctrl-names = "default";
  192. };
  193. /* i2c CM */
  194. &i2c2 {
  195. status = "okay";
  196. pinctrl-0 = <&i2c2_sda_z_pins>, <&i2c2_sck_z_pins>;
  197. pinctrl-names = "default";
  198. };
  199. /* i2c Audio */
  200. &i2c3 {
  201. status = "okay";
  202. pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
  203. pinctrl-names = "default";
  204. };
  205. &pwm_AO_cd {
  206. pinctrl-0 = <&pwm_ao_d_e_pins>;
  207. pinctrl-names = "default";
  208. clocks = <&xtal>;
  209. clock-names = "clkin1";
  210. status = "okay";
  211. };
  212. /* SD card */
  213. &sd_emmc_b {
  214. status = "okay";
  215. pinctrl-0 = <&sdcard_c_pins>;
  216. pinctrl-1 = <&sdcard_clk_gate_c_pins>;
  217. pinctrl-names = "default", "clk-gate";
  218. bus-width = <4>;
  219. cap-sd-highspeed;
  220. max-frequency = <50000000>;
  221. disable-wp;
  222. cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
  223. vmmc-supply = <&vddao_3v3>;
  224. vqmmc-supply = <&vddao_3v3>;
  225. };
  226. /* eMMC */
  227. &sd_emmc_c {
  228. status = "okay";
  229. pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
  230. pinctrl-1 = <&emmc_clk_gate_pins>;
  231. pinctrl-names = "default", "clk-gate";
  232. bus-width = <8>;
  233. cap-mmc-highspeed;
  234. mmc-ddr-1_8v;
  235. mmc-hs200-1_8v;
  236. max-frequency = <200000000>;
  237. non-removable;
  238. disable-wp;
  239. mmc-pwrseq = <&emmc_pwrseq>;
  240. vmmc-supply = <&vcc_3v3>;
  241. vqmmc-supply = <&flash_1v8>;
  242. };
  243. &uart_AO {
  244. status = "okay";
  245. pinctrl-0 = <&uart_ao_a_pins>;
  246. pinctrl-names = "default";
  247. };
  248. &usb {
  249. status = "okay";
  250. vbus-supply = <&usb_pwr_en>;
  251. };
  252. &usb2_phy0 {
  253. phy-supply = <&vcc_5v>;
  254. };
  255. &usb2_phy1 {
  256. phy-supply = <&vcc_5v>;
  257. };