Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 /*
0003  * Copyright 2021 Collabora Ltd.
0004  * Copyright 2021 BSH Hausgeraete GmbH
0005  */
0006 
0007 /dts-v1/;
0008 
0009 #include "imx8mn-bsh-smm-s2-common.dtsi"
0010 #include <dt-bindings/sound/tlv320aic31xx.h>
0011 
0012 / {
0013         model = "BSH SMM S2 PRO";
0014         compatible = "bsh,imx8mn-bsh-smm-s2pro", "fsl,imx8mn";
0015 
0016         memory@40000000 {
0017                 device_type = "memory";
0018                 reg = <0x0 0x40000000 0x0 0x20000000>;
0019         };
0020 
0021         sound-tlv320aic31xx {
0022                 compatible = "fsl,imx-audio-tlv320aic31xx";
0023                 model = "tlv320aic31xx-hifi";
0024                 audio-cpu = <&sai3>;
0025                 audio-codec = <&tlv320dac3101>;
0026                 audio-asrc = <&easrc>;
0027                 audio-routing =
0028                         "Ext Spk", "SPL",
0029                         "Ext Spk", "SPR";
0030                 mclk-id = <PLL_CLKIN_BCLK>;
0031         };
0032 
0033         vdd_input: vdd_input {
0034                 compatible = "regulator-fixed";
0035                 regulator-name = "vdd_input";
0036                 regulator-min-microvolt = <5000000>;
0037                 regulator-max-microvolt = <5000000>;
0038         };
0039 };
0040 
0041 &easrc {
0042         fsl,asrc-rate = <48000>;
0043         fsl,asrc-format = <10>;
0044         status = "okay";
0045 };
0046 
0047 &i2c2 {
0048         clock-frequency = <400000>;
0049         pinctrl-names = "default";
0050         pinctrl-0 = <&pinctrl_i2c2>;
0051         status = "okay";
0052 
0053         tlv320dac3101: audio-codec@18 {
0054                 compatible = "ti,tlv320dac3101";
0055                 pinctrl-names = "default";
0056                 pinctrl-0 = <&pinctrl_dac_rst>;
0057                 reg = <0x18>;
0058                 #sound-dai-cells = <0>;
0059                 HPVDD-supply = <&buck4_reg>;
0060                 SPRVDD-supply = <&vdd_input>;
0061                 SPLVDD-supply = <&vdd_input>;
0062                 AVDD-supply = <&buck4_reg>;
0063                 IOVDD-supply = <&buck4_reg>;
0064                 DVDD-supply = <&buck5_reg>;
0065                 reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
0066                 ai31xx-micbias-vg = <MICBIAS_AVDDV>;
0067                 clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
0068         };
0069 };
0070 
0071 &sai3 {
0072         pinctrl-names = "default";
0073         pinctrl-0 = <&pinctrl_sai3>;
0074         assigned-clocks = <&clk IMX8MN_CLK_SAI3>;
0075         assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
0076         assigned-clock-rates = <24576000>;
0077         fsl,sai-mclk-direction-output;
0078         status = "okay";
0079 };
0080 
0081 /* eMMC */
0082 &usdhc1 {
0083         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0084         pinctrl-0 = <&pinctrl_usdhc1>;
0085         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
0086         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
0087         bus-width = <8>;
0088         non-removable;
0089         status = "okay";
0090 };
0091 
0092 &iomuxc {
0093         pinctrl_dac_rst: dacrstgrp {
0094                 fsl,pins = <
0095                         MX8MN_IOMUXC_GPIO1_IO06_GPIO1_IO6               0x19 /* DAC_RST */
0096                 >;
0097         };
0098 
0099         pinctrl_espi2: espi2grp {
0100                 fsl,pins = <
0101                         MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK            0x082
0102                         MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI            0x082
0103                         MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO            0x082
0104                         MX8MN_IOMUXC_ECSPI2_SS0_ECSPI2_SS0              0x040
0105                 >;
0106         };
0107 
0108         pinctrl_i2c2: i2c2grp {
0109                 fsl,pins = <
0110                         MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL                  0x400000c3
0111                         MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA                  0x400000c3
0112                 >;
0113         };
0114 
0115         pinctrl_sai3: sai3grp {
0116                 fsl,pins = <
0117                         MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC             0xd6
0118                         MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK              0xd6
0119                         MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0             0xd6
0120                 >;
0121         };
0122 
0123         pinctrl_usdhc1: usdhc1grp {
0124                 fsl,pins = <
0125                         MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK                 0x40000090
0126                         MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD                 0x0d0
0127                         MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0             0x0d0
0128                         MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1             0x0d0
0129                         MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2             0x0d0
0130                         MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3             0x0d0
0131                         MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4             0x0d0
0132                         MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5             0x0d0
0133                         MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6             0x0d0
0134                         MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7             0x0d0
0135                         MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x090
0136                 >;
0137         };
0138 
0139         pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
0140                 fsl,pins = <
0141                         MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK                 0x40000094
0142                         MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD                 0x0d4
0143                         MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0             0x0d4
0144                         MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1             0x0d4
0145                         MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2             0x0d4
0146                         MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3             0x0d4
0147                         MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4             0x0d4
0148                         MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5             0x0d4
0149                         MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6             0x0d4
0150                         MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7             0x0d4
0151                         MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x094
0152                 >;
0153         };
0154 
0155         pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
0156                 fsl,pins = <
0157                         MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK                 0x40000096
0158                         MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD                 0x0d6
0159                         MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0             0x0d6
0160                         MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1             0x0d6
0161                         MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2             0x0d6
0162                         MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3             0x0d6
0163                         MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4             0x0d6
0164                         MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5             0x0d6
0165                         MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6             0x0d6
0166                         MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7             0x0d6
0167                         MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x096
0168                 >;
0169         };
0170 };