162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2021 Collabora Ltd. 462306a36Sopenharmony_ci * Copyright 2021 BSH Hausgeraete GmbH 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci/dts-v1/; 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "imx8mn-bsh-smm-s2-common.dtsi" 1062306a36Sopenharmony_ci#include <dt-bindings/sound/tlv320aic31xx.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/ { 1362306a36Sopenharmony_ci model = "BSH SMM S2 PRO"; 1462306a36Sopenharmony_ci compatible = "bsh,imx8mn-bsh-smm-s2pro", "fsl,imx8mn"; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci memory@40000000 { 1762306a36Sopenharmony_ci device_type = "memory"; 1862306a36Sopenharmony_ci reg = <0x0 0x40000000 0x0 0x20000000>; 1962306a36Sopenharmony_ci }; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci sound-tlv320aic31xx { 2262306a36Sopenharmony_ci compatible = "fsl,imx-audio-tlv320aic31xx"; 2362306a36Sopenharmony_ci model = "tlv320aic31xx-hifi"; 2462306a36Sopenharmony_ci audio-cpu = <&sai3>; 2562306a36Sopenharmony_ci audio-codec = <&tlv320dac3101>; 2662306a36Sopenharmony_ci audio-asrc = <&easrc>; 2762306a36Sopenharmony_ci audio-routing = 2862306a36Sopenharmony_ci "Ext Spk", "SPL", 2962306a36Sopenharmony_ci "Ext Spk", "SPR"; 3062306a36Sopenharmony_ci mclk-id = <PLL_CLKIN_BCLK>; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci vdd_input: vdd_input { 3462306a36Sopenharmony_ci compatible = "regulator-fixed"; 3562306a36Sopenharmony_ci regulator-name = "vdd_input"; 3662306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 3762306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci}; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci&easrc { 4262306a36Sopenharmony_ci fsl,asrc-rate = <48000>; 4362306a36Sopenharmony_ci fsl,asrc-format = <10>; 4462306a36Sopenharmony_ci status = "okay"; 4562306a36Sopenharmony_ci}; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci&i2c2 { 4862306a36Sopenharmony_ci clock-frequency = <400000>; 4962306a36Sopenharmony_ci pinctrl-names = "default"; 5062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c2>; 5162306a36Sopenharmony_ci status = "okay"; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci tlv320dac3101: audio-codec@18 { 5462306a36Sopenharmony_ci compatible = "ti,tlv320dac3101"; 5562306a36Sopenharmony_ci pinctrl-names = "default"; 5662306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_dac_rst>; 5762306a36Sopenharmony_ci reg = <0x18>; 5862306a36Sopenharmony_ci #sound-dai-cells = <0>; 5962306a36Sopenharmony_ci HPVDD-supply = <&buck4_reg>; 6062306a36Sopenharmony_ci SPRVDD-supply = <&vdd_input>; 6162306a36Sopenharmony_ci SPLVDD-supply = <&vdd_input>; 6262306a36Sopenharmony_ci AVDD-supply = <&buck4_reg>; 6362306a36Sopenharmony_ci IOVDD-supply = <&buck4_reg>; 6462306a36Sopenharmony_ci DVDD-supply = <&buck5_reg>; 6562306a36Sopenharmony_ci reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 6662306a36Sopenharmony_ci ai31xx-micbias-vg = <MICBIAS_AVDDV>; 6762306a36Sopenharmony_ci clocks = <&clk IMX8MN_CLK_SAI3_ROOT>; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci}; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci&sai3 { 7262306a36Sopenharmony_ci pinctrl-names = "default"; 7362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_sai3>; 7462306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MN_CLK_SAI3>; 7562306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>; 7662306a36Sopenharmony_ci assigned-clock-rates = <24576000>; 7762306a36Sopenharmony_ci fsl,sai-mclk-direction-output; 7862306a36Sopenharmony_ci status = "okay"; 7962306a36Sopenharmony_ci}; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci/* eMMC */ 8262306a36Sopenharmony_ci&usdhc1 { 8362306a36Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 8462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc1>; 8562306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 8662306a36Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 8762306a36Sopenharmony_ci bus-width = <8>; 8862306a36Sopenharmony_ci non-removable; 8962306a36Sopenharmony_ci status = "okay"; 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci&iomuxc { 9362306a36Sopenharmony_ci pinctrl_dac_rst: dacrstgrp { 9462306a36Sopenharmony_ci fsl,pins = < 9562306a36Sopenharmony_ci MX8MN_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19 /* DAC_RST */ 9662306a36Sopenharmony_ci >; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci pinctrl_espi2: espi2grp { 10062306a36Sopenharmony_ci fsl,pins = < 10162306a36Sopenharmony_ci MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x082 10262306a36Sopenharmony_ci MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x082 10362306a36Sopenharmony_ci MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x082 10462306a36Sopenharmony_ci MX8MN_IOMUXC_ECSPI2_SS0_ECSPI2_SS0 0x040 10562306a36Sopenharmony_ci >; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci pinctrl_i2c2: i2c2grp { 10962306a36Sopenharmony_ci fsl,pins = < 11062306a36Sopenharmony_ci MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x400000c3 11162306a36Sopenharmony_ci MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400000c3 11262306a36Sopenharmony_ci >; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci pinctrl_sai3: sai3grp { 11662306a36Sopenharmony_ci fsl,pins = < 11762306a36Sopenharmony_ci MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 11862306a36Sopenharmony_ci MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 11962306a36Sopenharmony_ci MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 12062306a36Sopenharmony_ci >; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci pinctrl_usdhc1: usdhc1grp { 12462306a36Sopenharmony_ci fsl,pins = < 12562306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000090 12662306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d0 12762306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d0 12862306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d0 12962306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d0 13062306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d0 13162306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d0 13262306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d0 13362306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d0 13462306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d0 13562306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x090 13662306a36Sopenharmony_ci >; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 14062306a36Sopenharmony_ci fsl,pins = < 14162306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000094 14262306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d4 14362306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d4 14462306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d4 14562306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d4 14662306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d4 14762306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d4 14862306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d4 14962306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d4 15062306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d4 15162306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x094 15262306a36Sopenharmony_ci >; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 15662306a36Sopenharmony_ci fsl,pins = < 15762306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000096 15862306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d6 15962306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d6 16062306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d6 16162306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d6 16262306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d6 16362306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d6 16462306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d6 16562306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d6 16662306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d6 16762306a36Sopenharmony_ci MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x096 16862306a36Sopenharmony_ci >; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci}; 171