rk3318-a95x-z2.dts 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /dts-v1/;
  3. #include <dt-bindings/input/input.h>
  4. #include "rk3328.dtsi"
  5. / {
  6. model = "A95X Z2";
  7. compatible = "zkmagic,a95x-z2", "rockchip,rk3318";
  8. aliases {
  9. mmc0 = &sdmmc;
  10. mmc1 = &sdio;
  11. mmc2 = &emmc;
  12. };
  13. chosen {
  14. stdout-path = "serial2:1500000n8";
  15. };
  16. adc-keys {
  17. compatible = "adc-keys";
  18. io-channels = <&saradc 0>;
  19. io-channel-names = "buttons";
  20. keyup-threshold-microvolt = <1800000>;
  21. poll-interval = <100>;
  22. button-recovery {
  23. label = "recovery";
  24. linux,code = <KEY_VENDOR>;
  25. press-threshold-microvolt = <17000>;
  26. };
  27. };
  28. ir-receiver {
  29. compatible = "gpio-ir-receiver";
  30. gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
  31. pinctrl-0 = <&ir_int>;
  32. pinctrl-names = "default";
  33. };
  34. leds {
  35. compatible = "gpio-leds";
  36. pinctrl-0 = <&cyx_led_pin>;
  37. pinctrl-names = "default";
  38. cyx_led: led-0 {
  39. default-state = "on";
  40. gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_LOW>;
  41. label = "CYX_LED";
  42. };
  43. };
  44. sdio_pwrseq: sdio-pwrseq {
  45. compatible = "mmc-pwrseq-simple";
  46. pinctrl-0 = <&wifi_enable_h>;
  47. pinctrl-names = "default";
  48. reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
  49. };
  50. spdif-sound {
  51. compatible = "simple-audio-card";
  52. simple-audio-card,name = "SPDIF";
  53. simple-audio-card,cpu {
  54. sound-dai = <&spdif>;
  55. };
  56. simple-audio-card,codec {
  57. sound-dai = <&spdif_out>;
  58. };
  59. };
  60. spdif_out: spdif-out {
  61. compatible = "linux,spdif-dit";
  62. #sound-dai-cells = <0>;
  63. };
  64. /* Power tree */
  65. vccio_1v8: vccio-1v8-regulator {
  66. compatible = "regulator-fixed";
  67. regulator-name = "vccio_1v8";
  68. regulator-min-microvolt = <1800000>;
  69. regulator-max-microvolt = <1800000>;
  70. regulator-always-on;
  71. };
  72. vccio_3v3: vccio-3v3-regulator {
  73. compatible = "regulator-fixed";
  74. regulator-name = "vccio_3v3";
  75. regulator-min-microvolt = <3300000>;
  76. regulator-max-microvolt = <3300000>;
  77. regulator-always-on;
  78. };
  79. vcc_otg_vbus: otg-vbus-regulator {
  80. compatible = "regulator-fixed";
  81. gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
  82. pinctrl-0 = <&otg_vbus_drv>;
  83. pinctrl-names = "default";
  84. regulator-name = "vcc_otg_vbus";
  85. regulator-min-microvolt = <5000000>;
  86. regulator-max-microvolt = <5000000>;
  87. enable-active-high;
  88. };
  89. vcc_sd: sdmmc-regulator {
  90. compatible = "regulator-fixed";
  91. gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
  92. pinctrl-0 = <&sdmmc0m1_pin>;
  93. pinctrl-names = "default";
  94. regulator-name = "vcc_sd";
  95. regulator-min-microvolt = <3300000>;
  96. regulator-max-microvolt = <3300000>;
  97. vin-supply = <&vccio_3v3>;
  98. };
  99. vdd_arm: vdd-arm {
  100. compatible = "pwm-regulator";
  101. pwms = <&pwm0 0 5000 1>;
  102. regulator-name = "vdd_arm";
  103. regulator-min-microvolt = <950000>;
  104. regulator-max-microvolt = <1400000>;
  105. regulator-settling-time-up-us = <250>;
  106. regulator-always-on;
  107. regulator-boot-on;
  108. };
  109. vdd_log: vdd-log {
  110. compatible = "pwm-regulator";
  111. pwms = <&pwm1 0 5000 1>;
  112. regulator-name = "vdd_log";
  113. regulator-min-microvolt = <900000>;
  114. regulator-max-microvolt = <1300000>;
  115. regulator-settling-time-up-us = <250>;
  116. regulator-always-on;
  117. regulator-boot-on;
  118. };
  119. };
  120. &analog_sound {
  121. status = "okay";
  122. };
  123. &codec {
  124. status = "okay";
  125. };
  126. &cpu0 {
  127. cpu-supply = <&vdd_arm>;
  128. };
  129. &cpu1 {
  130. cpu-supply = <&vdd_arm>;
  131. };
  132. &cpu2 {
  133. cpu-supply = <&vdd_arm>;
  134. };
  135. &cpu3 {
  136. cpu-supply = <&vdd_arm>;
  137. };
  138. &cpu0_opp_table {
  139. opp-1200000000 {
  140. status = "disabled";
  141. };
  142. opp-1296000000 {
  143. status = "disabled";
  144. };
  145. };
  146. &emmc {
  147. bus-width = <8>;
  148. cap-mmc-highspeed;
  149. non-removable;
  150. pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
  151. pinctrl-names = "default";
  152. status = "okay";
  153. };
  154. &gmac2phy {
  155. assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
  156. assigned-clock-rate = <50000000>;
  157. assigned-clocks = <&cru SCLK_MAC2PHY>;
  158. status = "okay";
  159. };
  160. &gpu {
  161. mali-supply = <&vdd_log>;
  162. };
  163. &hdmi {
  164. status = "okay";
  165. };
  166. &hdmiphy {
  167. status = "okay";
  168. };
  169. &hdmi_sound {
  170. status = "okay";
  171. };
  172. &i2s0 {
  173. status = "okay";
  174. };
  175. &i2s1 {
  176. status = "okay";
  177. };
  178. &io_domains {
  179. pmuio-supply = <&vccio_3v3>;
  180. vccio1-supply = <&vccio_3v3>;
  181. vccio2-supply = <&vccio_1v8>;
  182. vccio3-supply = <&vccio_3v3>;
  183. vccio4-supply = <&vccio_1v8>;
  184. vccio5-supply = <&vccio_3v3>;
  185. vccio6-supply = <&vccio_3v3>;
  186. status = "okay";
  187. };
  188. &pinctrl {
  189. ir {
  190. ir_int: ir-int {
  191. rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
  192. };
  193. };
  194. leds {
  195. cyx_led_pin: cyx-led-pin {
  196. rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
  197. };
  198. };
  199. pwm0 {
  200. pwm0_pin_pull_up: pwm0-pin-pull-up {
  201. rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
  202. };
  203. };
  204. pwm1 {
  205. pwm1_pin_pull_up: pwm1-pin-pull-up {
  206. rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>;
  207. };
  208. };
  209. sdio-pwrseq {
  210. wifi_enable_h: wifi-enable-h {
  211. rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
  212. };
  213. };
  214. sdmmc1 {
  215. clk_32k_out: clk-32k-out {
  216. rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
  217. };
  218. };
  219. usb {
  220. host_vbus_drv: host-vbus-drv {
  221. rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
  222. };
  223. otg_vbus_drv: otg-vbus-drv {
  224. rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
  225. };
  226. };
  227. };
  228. &pwm0 {
  229. pinctrl-0 = <&pwm0_pin_pull_up>;
  230. pinctrl-names = "active";
  231. status = "okay";
  232. };
  233. &pwm1 {
  234. pinctrl-0 = <&pwm1_pin_pull_up>;
  235. pinctrl-names = "active";
  236. status = "okay";
  237. };
  238. &saradc {
  239. vref-supply = <&vccio_1v8>;
  240. status = "okay";
  241. };
  242. &sdio {
  243. bus-width = <4>;
  244. cap-sd-highspeed;
  245. cap-sdio-irq;
  246. keep-power-in-suspend;
  247. max-frequency = <125000000>;
  248. mmc-pwrseq = <&sdio_pwrseq>;
  249. non-removable;
  250. pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>;
  251. pinctrl-names = "default";
  252. sd-uhs-sdr104;
  253. status = "okay";
  254. };
  255. &sdmmc {
  256. bus-width = <4>;
  257. cap-sd-highspeed;
  258. pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
  259. pinctrl-names = "default";
  260. vmmc-supply = <&vcc_sd>;
  261. status = "okay";
  262. };
  263. &spdif {
  264. pinctrl-0 = <&spdifm0_tx>;
  265. status = "okay";
  266. };
  267. &soc_crit {
  268. temperature = <115000>; /* millicelsius */
  269. };
  270. &target {
  271. temperature = <105000>; /* millicelsius */
  272. };
  273. &threshold {
  274. temperature = <90000>; /* millicelsius */
  275. };
  276. &tsadc {
  277. rockchip,hw-tshut-temp = <120000>;
  278. status = "okay";
  279. };
  280. &u2phy {
  281. status = "okay";
  282. };
  283. &u2phy_host {
  284. status = "okay";
  285. };
  286. &u2phy_otg {
  287. phy-supply = <&vcc_otg_vbus>;
  288. status = "okay";
  289. };
  290. &uart0 {
  291. pinctrl-0 = <&uart0_xfer &uart0_cts>;
  292. status = "okay";
  293. };
  294. &uart2 {
  295. status = "okay";
  296. };
  297. &usb20_otg {
  298. dr_mode = "host";
  299. status = "okay";
  300. };
  301. &usbdrd3 {
  302. dr_mode = "host";
  303. status = "okay";
  304. };
  305. &usb_host0_ehci {
  306. status = "okay";
  307. };
  308. &usb_host0_ohci {
  309. status = "okay";
  310. };
  311. &vop {
  312. status = "okay";
  313. };
  314. &vop_mmu {
  315. status = "okay";
  316. };