sun50i-h6-tanix.dtsi 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. // Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net>
  3. /dts-v1/;
  4. #include "sun50i-h6.dtsi"
  5. #include "sun50i-h6-cpu-opp.dtsi"
  6. #include <dt-bindings/gpio/gpio.h>
  7. / {
  8. aliases {
  9. serial0 = &uart0;
  10. };
  11. chosen {
  12. stdout-path = "serial0:115200n8";
  13. };
  14. connector {
  15. compatible = "hdmi-connector";
  16. ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
  17. type = "a";
  18. port {
  19. hdmi_con_in: endpoint {
  20. remote-endpoint = <&hdmi_out_con>;
  21. };
  22. };
  23. };
  24. /* used for FD650 LED display driver */
  25. i2c {
  26. compatible = "i2c-gpio";
  27. sda-gpios = <&pio 7 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; /* PH6 */
  28. scl-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; /* PH5 */
  29. i2c-gpio,delay-us = <5>;
  30. };
  31. reg_vcc1v8: regulator-vcc1v8 {
  32. compatible = "regulator-fixed";
  33. regulator-name = "vcc1v8";
  34. regulator-min-microvolt = <1800000>;
  35. regulator-max-microvolt = <1800000>;
  36. };
  37. reg_vcc3v3: regulator-vcc3v3 {
  38. compatible = "regulator-fixed";
  39. regulator-name = "vcc3v3";
  40. regulator-min-microvolt = <3300000>;
  41. regulator-max-microvolt = <3300000>;
  42. };
  43. reg_vdd_cpu_gpu: regulator-vdd-cpu-gpu {
  44. compatible = "regulator-fixed";
  45. regulator-name = "vdd-cpu-gpu";
  46. regulator-min-microvolt = <1135000>;
  47. regulator-max-microvolt = <1135000>;
  48. };
  49. sound-spdif {
  50. compatible = "simple-audio-card";
  51. simple-audio-card,name = "sun50i-h6-spdif";
  52. simple-audio-card,cpu {
  53. sound-dai = <&spdif>;
  54. };
  55. simple-audio-card,codec {
  56. sound-dai = <&spdif_out>;
  57. };
  58. };
  59. spdif_out: spdif-out {
  60. #sound-dai-cells = <0>;
  61. compatible = "linux,spdif-dit";
  62. };
  63. wifi_pwrseq: wifi-pwrseq {
  64. compatible = "mmc-pwrseq-simple";
  65. clocks = <&rtc CLK_OSC32K_FANOUT>;
  66. clock-names = "ext_clock";
  67. reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
  68. };
  69. };
  70. &cpu0 {
  71. cpu-supply = <&reg_vdd_cpu_gpu>;
  72. };
  73. &de {
  74. status = "okay";
  75. };
  76. &dwc3 {
  77. status = "okay";
  78. };
  79. &ehci0 {
  80. status = "okay";
  81. };
  82. &ehci3 {
  83. status = "okay";
  84. };
  85. &gpu {
  86. mali-supply = <&reg_vdd_cpu_gpu>;
  87. status = "okay";
  88. };
  89. &hdmi {
  90. status = "okay";
  91. };
  92. &hdmi_out {
  93. hdmi_out_con: endpoint {
  94. remote-endpoint = <&hdmi_con_in>;
  95. };
  96. };
  97. &mmc0 {
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&mmc0_pins>;
  100. vmmc-supply = <&reg_vcc3v3>;
  101. cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
  102. bus-width = <4>;
  103. status = "okay";
  104. };
  105. &mmc1 {
  106. vmmc-supply = <&reg_vcc3v3>;
  107. vqmmc-supply = <&reg_vcc1v8>;
  108. mmc-pwrseq = <&wifi_pwrseq>;
  109. bus-width = <4>;
  110. non-removable;
  111. status = "okay";
  112. };
  113. &mmc2 {
  114. vmmc-supply = <&reg_vcc3v3>;
  115. vqmmc-supply = <&reg_vcc1v8>;
  116. bus-width = <8>;
  117. non-removable;
  118. cap-mmc-hw-reset;
  119. mmc-hs200-1_8v;
  120. status = "okay";
  121. };
  122. &ohci0 {
  123. status = "okay";
  124. };
  125. &ohci3 {
  126. status = "okay";
  127. };
  128. &pio {
  129. vcc-pc-supply = <&reg_vcc1v8>;
  130. vcc-pd-supply = <&reg_vcc3v3>;
  131. vcc-pg-supply = <&reg_vcc1v8>;
  132. };
  133. &r_ir {
  134. status = "okay";
  135. };
  136. &spdif {
  137. status = "okay";
  138. };
  139. &uart0 {
  140. pinctrl-names = "default";
  141. pinctrl-0 = <&uart0_ph_pins>;
  142. status = "okay";
  143. };
  144. &usb2otg {
  145. dr_mode = "host";
  146. status = "okay";
  147. };
  148. &usb2phy {
  149. status = "okay";
  150. };
  151. &usb3phy {
  152. status = "okay";
  153. };