imx8mn-bsh-smm-s2pro.dts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright 2021 Collabora Ltd.
  4. * Copyright 2021 BSH Hausgeraete GmbH
  5. */
  6. /dts-v1/;
  7. #include "imx8mn-bsh-smm-s2-common.dtsi"
  8. #include <dt-bindings/sound/tlv320aic31xx.h>
  9. / {
  10. model = "BSH SMM S2 PRO";
  11. compatible = "bsh,imx8mn-bsh-smm-s2pro", "fsl,imx8mn";
  12. memory@40000000 {
  13. device_type = "memory";
  14. reg = <0x0 0x40000000 0x0 0x20000000>;
  15. };
  16. sound-tlv320aic31xx {
  17. compatible = "fsl,imx-audio-tlv320aic31xx";
  18. model = "tlv320aic31xx-hifi";
  19. audio-cpu = <&sai3>;
  20. audio-codec = <&tlv320dac3101>;
  21. audio-asrc = <&easrc>;
  22. audio-routing =
  23. "Ext Spk", "SPL",
  24. "Ext Spk", "SPR";
  25. mclk-id = <PLL_CLKIN_BCLK>;
  26. };
  27. vdd_input: vdd_input {
  28. compatible = "regulator-fixed";
  29. regulator-name = "vdd_input";
  30. regulator-min-microvolt = <5000000>;
  31. regulator-max-microvolt = <5000000>;
  32. };
  33. };
  34. &easrc {
  35. fsl,asrc-rate = <48000>;
  36. fsl,asrc-format = <10>;
  37. status = "okay";
  38. };
  39. &i2c2 {
  40. clock-frequency = <400000>;
  41. pinctrl-names = "default";
  42. pinctrl-0 = <&pinctrl_i2c2>;
  43. status = "okay";
  44. tlv320dac3101: audio-codec@18 {
  45. compatible = "ti,tlv320dac3101";
  46. pinctrl-names = "default";
  47. pinctrl-0 = <&pinctrl_dac_rst>;
  48. reg = <0x18>;
  49. #sound-dai-cells = <0>;
  50. HPVDD-supply = <&buck4_reg>;
  51. SPRVDD-supply = <&vdd_input>;
  52. SPLVDD-supply = <&vdd_input>;
  53. AVDD-supply = <&buck4_reg>;
  54. IOVDD-supply = <&buck4_reg>;
  55. DVDD-supply = <&buck5_reg>;
  56. reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
  57. ai31xx-micbias-vg = <MICBIAS_AVDDV>;
  58. clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
  59. };
  60. };
  61. &sai3 {
  62. pinctrl-names = "default";
  63. pinctrl-0 = <&pinctrl_sai3>;
  64. assigned-clocks = <&clk IMX8MN_CLK_SAI3>;
  65. assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
  66. assigned-clock-rates = <24576000>;
  67. fsl,sai-mclk-direction-output;
  68. status = "okay";
  69. };
  70. /* eMMC */
  71. &usdhc1 {
  72. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  73. pinctrl-0 = <&pinctrl_usdhc1>;
  74. pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
  75. pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
  76. bus-width = <8>;
  77. non-removable;
  78. status = "okay";
  79. };
  80. &iomuxc {
  81. pinctrl_dac_rst: dacrstgrp {
  82. fsl,pins = <
  83. MX8MN_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19 /* DAC_RST */
  84. >;
  85. };
  86. pinctrl_espi2: espi2grp {
  87. fsl,pins = <
  88. MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x082
  89. MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x082
  90. MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x082
  91. MX8MN_IOMUXC_ECSPI2_SS0_ECSPI2_SS0 0x040
  92. >;
  93. };
  94. pinctrl_i2c2: i2c2grp {
  95. fsl,pins = <
  96. MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x400000c3
  97. MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400000c3
  98. >;
  99. };
  100. pinctrl_sai3: sai3grp {
  101. fsl,pins = <
  102. MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
  103. MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
  104. MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
  105. >;
  106. };
  107. pinctrl_usdhc1: usdhc1grp {
  108. fsl,pins = <
  109. MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000090
  110. MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d0
  111. MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d0
  112. MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d0
  113. MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d0
  114. MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d0
  115. MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d0
  116. MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d0
  117. MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d0
  118. MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d0
  119. MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x090
  120. >;
  121. };
  122. pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
  123. fsl,pins = <
  124. MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000094
  125. MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d4
  126. MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d4
  127. MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d4
  128. MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d4
  129. MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d4
  130. MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d4
  131. MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d4
  132. MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d4
  133. MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d4
  134. MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x094
  135. >;
  136. };
  137. pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
  138. fsl,pins = <
  139. MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000096
  140. MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d6
  141. MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d6
  142. MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d6
  143. MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d6
  144. MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d6
  145. MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d6
  146. MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d6
  147. MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d6
  148. MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d6
  149. MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x096
  150. >;
  151. };
  152. };