meson-g12b-ugoos-am6.dts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2019 BayLibre, SAS
  4. * Author: Neil Armstrong <[email protected]>
  5. * Copyright (c) 2019 Christian Hewitt <[email protected]>
  6. */
  7. /dts-v1/;
  8. #include "meson-g12b-w400.dtsi"
  9. #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
  10. / {
  11. compatible = "ugoos,am6", "amlogic,s922x", "amlogic,g12b";
  12. model = "Ugoos AM6";
  13. spdif_dit: audio-codec-1 {
  14. #sound-dai-cells = <0>;
  15. compatible = "linux,spdif-dit";
  16. status = "okay";
  17. sound-name-prefix = "DIT";
  18. };
  19. sound {
  20. compatible = "amlogic,axg-sound-card";
  21. model = "UGOOS-AM6";
  22. audio-aux-devs = <&tdmout_b>;
  23. audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
  24. "TDMOUT_B IN 1", "FRDDR_B OUT 1",
  25. "TDMOUT_B IN 2", "FRDDR_C OUT 1",
  26. "TDM_B Playback", "TDMOUT_B OUT",
  27. "SPDIFOUT IN 0", "FRDDR_A OUT 3",
  28. "SPDIFOUT IN 1", "FRDDR_B OUT 3",
  29. "SPDIFOUT IN 2", "FRDDR_C OUT 3";
  30. assigned-clocks = <&clkc CLKID_MPLL2>,
  31. <&clkc CLKID_MPLL0>,
  32. <&clkc CLKID_MPLL1>;
  33. assigned-clock-parents = <0>, <0>, <0>;
  34. assigned-clock-rates = <294912000>,
  35. <270950400>,
  36. <393216000>;
  37. status = "okay";
  38. dai-link-0 {
  39. sound-dai = <&frddr_a>;
  40. };
  41. dai-link-1 {
  42. sound-dai = <&frddr_b>;
  43. };
  44. dai-link-2 {
  45. sound-dai = <&frddr_c>;
  46. };
  47. /* 8ch hdmi interface */
  48. dai-link-3 {
  49. sound-dai = <&tdmif_b>;
  50. dai-format = "i2s";
  51. dai-tdm-slot-tx-mask-0 = <1 1>;
  52. dai-tdm-slot-tx-mask-1 = <1 1>;
  53. dai-tdm-slot-tx-mask-2 = <1 1>;
  54. dai-tdm-slot-tx-mask-3 = <1 1>;
  55. mclk-fs = <256>;
  56. codec {
  57. sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
  58. };
  59. };
  60. /* spdif hdmi or toslink interface */
  61. dai-link-4 {
  62. sound-dai = <&spdifout>;
  63. codec-0 {
  64. sound-dai = <&spdif_dit>;
  65. };
  66. codec-1 {
  67. sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
  68. };
  69. };
  70. /* spdif hdmi interface */
  71. dai-link-5 {
  72. sound-dai = <&spdifout_b>;
  73. codec {
  74. sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
  75. };
  76. };
  77. /* hdmi glue */
  78. dai-link-6 {
  79. sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
  80. codec {
  81. sound-dai = <&hdmi_tx>;
  82. };
  83. };
  84. };
  85. };
  86. &arb {
  87. status = "okay";
  88. };
  89. &clkc_audio {
  90. status = "okay";
  91. };
  92. &frddr_a {
  93. status = "okay";
  94. };
  95. &frddr_b {
  96. status = "okay";
  97. };
  98. &frddr_c {
  99. status = "okay";
  100. };
  101. &ir {
  102. linux,rc-map-name = "rc-khadas";
  103. };
  104. &spdifout {
  105. pinctrl-0 = <&spdif_out_h_pins>;
  106. pinctrl-names = "default";
  107. status = "okay";
  108. };
  109. &spdifout_b {
  110. status = "okay";
  111. };
  112. &tdmif_b {
  113. status = "okay";
  114. };
  115. &tdmout_b {
  116. status = "okay";
  117. };
  118. &tohdmitx {
  119. status = "okay";
  120. };
  121. &uart_A {
  122. status = "okay";
  123. pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
  124. pinctrl-names = "default";
  125. uart-has-rtscts;
  126. bluetooth {
  127. compatible = "brcm,bcm43438-bt";
  128. shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
  129. max-speed = <2000000>;
  130. clocks = <&wifi32k>;
  131. clock-names = "lpo";
  132. };
  133. };
  134. &uart_AO {
  135. status = "okay";
  136. pinctrl-0 = <&uart_ao_a_pins>;
  137. pinctrl-names = "default";
  138. };
  139. &usb {
  140. status = "okay";
  141. dr_mode = "host";
  142. vbus-supply = <&usb_pwr_en>;
  143. };
  144. &usb2_phy0 {
  145. phy-supply = <&usb1_pow>;
  146. };
  147. &usb2_phy1 {
  148. phy-supply = <&usb1_pow>;
  149. };