xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dts (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1bd4372f0SAriel D'Alessandro// SPDX-License-Identifier: GPL-2.0+
2bd4372f0SAriel D'Alessandro/*
3bd4372f0SAriel D'Alessandro * Copyright 2021 Collabora Ltd.
4bd4372f0SAriel D'Alessandro * Copyright 2021 BSH Hausgeraete GmbH
5bd4372f0SAriel D'Alessandro */
6bd4372f0SAriel D'Alessandro
7bd4372f0SAriel D'Alessandro/dts-v1/;
8bd4372f0SAriel D'Alessandro
9bd4372f0SAriel D'Alessandro#include "imx8mn-bsh-smm-s2-common.dtsi"
10236b8cfaSAriel D'Alessandro#include <dt-bindings/sound/tlv320aic31xx.h>
11bd4372f0SAriel D'Alessandro
12bd4372f0SAriel D'Alessandro/ {
13bd4372f0SAriel D'Alessandro	model = "BSH SMM S2 PRO";
14bd4372f0SAriel D'Alessandro	compatible = "bsh,imx8mn-bsh-smm-s2pro", "fsl,imx8mn";
15bd4372f0SAriel D'Alessandro
16bd4372f0SAriel D'Alessandro	memory@40000000 {
17bd4372f0SAriel D'Alessandro		device_type = "memory";
18bd4372f0SAriel D'Alessandro		reg = <0x0 0x40000000 0x0 0x20000000>;
19bd4372f0SAriel D'Alessandro	};
20236b8cfaSAriel D'Alessandro
21236b8cfaSAriel D'Alessandro	sound-tlv320aic31xx {
22236b8cfaSAriel D'Alessandro		compatible = "fsl,imx-audio-tlv320aic31xx";
23236b8cfaSAriel D'Alessandro		model = "tlv320aic31xx-hifi";
24236b8cfaSAriel D'Alessandro		audio-cpu = <&sai3>;
25236b8cfaSAriel D'Alessandro		audio-codec = <&tlv320dac3101>;
26236b8cfaSAriel D'Alessandro		audio-asrc = <&easrc>;
27236b8cfaSAriel D'Alessandro		audio-routing =
28236b8cfaSAriel D'Alessandro			"Ext Spk", "SPL",
29236b8cfaSAriel D'Alessandro			"Ext Spk", "SPR";
30236b8cfaSAriel D'Alessandro		mclk-id = <PLL_CLKIN_BCLK>;
31236b8cfaSAriel D'Alessandro	};
32236b8cfaSAriel D'Alessandro
33236b8cfaSAriel D'Alessandro	vdd_input: vdd_input {
34236b8cfaSAriel D'Alessandro		compatible = "regulator-fixed";
35236b8cfaSAriel D'Alessandro		regulator-name = "vdd_input";
36236b8cfaSAriel D'Alessandro		regulator-min-microvolt = <5000000>;
37236b8cfaSAriel D'Alessandro		regulator-max-microvolt = <5000000>;
38236b8cfaSAriel D'Alessandro	};
39236b8cfaSAriel D'Alessandro};
40236b8cfaSAriel D'Alessandro
41236b8cfaSAriel D'Alessandro&easrc {
42236b8cfaSAriel D'Alessandro	fsl,asrc-rate = <48000>;
43236b8cfaSAriel D'Alessandro	fsl,asrc-format = <10>;
44236b8cfaSAriel D'Alessandro	status = "okay";
45236b8cfaSAriel D'Alessandro};
46236b8cfaSAriel D'Alessandro
47236b8cfaSAriel D'Alessandro&i2c2 {
48236b8cfaSAriel D'Alessandro	clock-frequency = <400000>;
49236b8cfaSAriel D'Alessandro	pinctrl-names = "default";
50236b8cfaSAriel D'Alessandro	pinctrl-0 = <&pinctrl_i2c2>;
51236b8cfaSAriel D'Alessandro	status = "okay";
52236b8cfaSAriel D'Alessandro
53236b8cfaSAriel D'Alessandro	tlv320dac3101: audio-codec@18 {
54236b8cfaSAriel D'Alessandro		compatible = "ti,tlv320dac3101";
55236b8cfaSAriel D'Alessandro		pinctrl-names = "default";
56236b8cfaSAriel D'Alessandro		pinctrl-0 = <&pinctrl_dac_rst>;
57236b8cfaSAriel D'Alessandro		reg = <0x18>;
58236b8cfaSAriel D'Alessandro		#sound-dai-cells = <0>;
59236b8cfaSAriel D'Alessandro		HPVDD-supply = <&buck4_reg>;
60236b8cfaSAriel D'Alessandro		SPRVDD-supply = <&vdd_input>;
61236b8cfaSAriel D'Alessandro		SPLVDD-supply = <&vdd_input>;
62236b8cfaSAriel D'Alessandro		AVDD-supply = <&buck4_reg>;
63236b8cfaSAriel D'Alessandro		IOVDD-supply = <&buck4_reg>;
64236b8cfaSAriel D'Alessandro		DVDD-supply = <&buck5_reg>;
65236b8cfaSAriel D'Alessandro		reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
66236b8cfaSAriel D'Alessandro		ai31xx-micbias-vg = <MICBIAS_AVDDV>;
67236b8cfaSAriel D'Alessandro		clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
68236b8cfaSAriel D'Alessandro	};
69236b8cfaSAriel D'Alessandro};
70236b8cfaSAriel D'Alessandro
71236b8cfaSAriel D'Alessandro&sai3 {
72236b8cfaSAriel D'Alessandro	pinctrl-names = "default";
73236b8cfaSAriel D'Alessandro	pinctrl-0 = <&pinctrl_sai3>;
74236b8cfaSAriel D'Alessandro	assigned-clocks = <&clk IMX8MN_CLK_SAI3>;
75236b8cfaSAriel D'Alessandro	assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
76236b8cfaSAriel D'Alessandro	assigned-clock-rates = <24576000>;
77236b8cfaSAriel D'Alessandro	fsl,sai-mclk-direction-output;
78236b8cfaSAriel D'Alessandro	status = "okay";
79bd4372f0SAriel D'Alessandro};
80bd4372f0SAriel D'Alessandro
81bd4372f0SAriel D'Alessandro/* eMMC */
82bd4372f0SAriel D'Alessandro&usdhc1 {
83bd4372f0SAriel D'Alessandro	pinctrl-names = "default", "state_100mhz", "state_200mhz";
84bd4372f0SAriel D'Alessandro	pinctrl-0 = <&pinctrl_usdhc1>;
85bd4372f0SAriel D'Alessandro	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
86bd4372f0SAriel D'Alessandro	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
87bd4372f0SAriel D'Alessandro	bus-width = <8>;
88bd4372f0SAriel D'Alessandro	non-removable;
89bd4372f0SAriel D'Alessandro	status = "okay";
90bd4372f0SAriel D'Alessandro};
91bd4372f0SAriel D'Alessandro
92bd4372f0SAriel D'Alessandro&iomuxc {
93236b8cfaSAriel D'Alessandro	pinctrl_dac_rst: dacrstgrp {
94236b8cfaSAriel D'Alessandro		fsl,pins = <
95236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_GPIO1_IO06_GPIO1_IO6		0x19 /* DAC_RST */
96236b8cfaSAriel D'Alessandro		>;
97236b8cfaSAriel D'Alessandro	};
98236b8cfaSAriel D'Alessandro
99236b8cfaSAriel D'Alessandro	pinctrl_espi2: espi2grp {
100236b8cfaSAriel D'Alessandro		fsl,pins = <
101236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK		0x082
102236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI		0x082
103236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO		0x082
104236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_ECSPI2_SS0_ECSPI2_SS0		0x040
105236b8cfaSAriel D'Alessandro		>;
106236b8cfaSAriel D'Alessandro	};
107236b8cfaSAriel D'Alessandro
108236b8cfaSAriel D'Alessandro	pinctrl_i2c2: i2c2grp {
109236b8cfaSAriel D'Alessandro		fsl,pins = <
110236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL			0x400000c3
111236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA			0x400000c3
112236b8cfaSAriel D'Alessandro		>;
113236b8cfaSAriel D'Alessandro	};
114236b8cfaSAriel D'Alessandro
115236b8cfaSAriel D'Alessandro	pinctrl_sai3: sai3grp {
116236b8cfaSAriel D'Alessandro		fsl,pins = <
117236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC		0xd6
118236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK		0xd6
119236b8cfaSAriel D'Alessandro			MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0		0xd6
120236b8cfaSAriel D'Alessandro		>;
121236b8cfaSAriel D'Alessandro	};
122236b8cfaSAriel D'Alessandro
123bd4372f0SAriel D'Alessandro	pinctrl_usdhc1: usdhc1grp {
124bd4372f0SAriel D'Alessandro		fsl,pins = <
125bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK			0x40000090
126bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD			0x0d0
127bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0		0x0d0
128bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1		0x0d0
129bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2		0x0d0
130bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3		0x0d0
131bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4		0x0d0
132bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5		0x0d0
133bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6		0x0d0
134bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7		0x0d0
135bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x090
136bd4372f0SAriel D'Alessandro		>;
137bd4372f0SAriel D'Alessandro	};
138bd4372f0SAriel D'Alessandro
139*4629e559SPeng Fan	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
140bd4372f0SAriel D'Alessandro		fsl,pins = <
141bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK			0x40000094
142bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD			0x0d4
143bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0		0x0d4
144bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1		0x0d4
145bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2		0x0d4
146bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3		0x0d4
147bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4		0x0d4
148bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5		0x0d4
149bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6		0x0d4
150bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7		0x0d4
151bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x094
152bd4372f0SAriel D'Alessandro		>;
153bd4372f0SAriel D'Alessandro	};
154bd4372f0SAriel D'Alessandro
155*4629e559SPeng Fan	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
156bd4372f0SAriel D'Alessandro		fsl,pins = <
157bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK			0x40000096
158bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD			0x0d6
159bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0		0x0d6
160bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1		0x0d6
161bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2		0x0d6
162bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3		0x0d6
163bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4		0x0d6
164bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5		0x0d6
165bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6		0x0d6
166bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7		0x0d6
167bd4372f0SAriel D'Alessandro			MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE		0x096
168bd4372f0SAriel D'Alessandro		>;
169bd4372f0SAriel D'Alessandro	};
170bd4372f0SAriel D'Alessandro};
171