xref: /freebsd-src/sys/contrib/device-tree/src/arm64/freescale/imx8mp-msc-sm2s-ep1.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
17ef62cebSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
27ef62cebSEmmanuel Vadot/*
37ef62cebSEmmanuel Vadot * Copyright (C) 2022 Avnet Embedded GmbH
47ef62cebSEmmanuel Vadot */
57ef62cebSEmmanuel Vadot
67ef62cebSEmmanuel Vadot/dts-v1/;
77ef62cebSEmmanuel Vadot
87ef62cebSEmmanuel Vadot#include "imx8mp-msc-sm2s-14N0600E.dtsi"
97ef62cebSEmmanuel Vadot#include <dt-bindings/clock/imx8mp-clock.h>
107ef62cebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
117ef62cebSEmmanuel Vadot
127ef62cebSEmmanuel Vadot/ {
137ef62cebSEmmanuel Vadot	model = "MSC SM2-MB-EP1 Carrier Board with SM2S-IMX8PLUS-QC6-14N0600E SoM";
147ef62cebSEmmanuel Vadot	compatible = "avnet,sm2s-imx8mp-14N0600E-ep1",
157ef62cebSEmmanuel Vadot		     "avnet,sm2s-imx8mp-14N0600E", "avnet,sm2s-imx8mp",
167ef62cebSEmmanuel Vadot		     "fsl,imx8mp";
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadot	reg_vcc_3v3_audio: 3v3-audio-regulator {
19f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
20f126890aSEmmanuel Vadot		regulator-name = "VCC_3V3_AUD";
21f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
22f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
23f126890aSEmmanuel Vadot	};
24f126890aSEmmanuel Vadot
25f126890aSEmmanuel Vadot	reg_vcc_1v8_audio: 1v8-audio-regulator {
26f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
27f126890aSEmmanuel Vadot		regulator-name = "VCC_1V8_AUD";
28f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
29f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
30f126890aSEmmanuel Vadot	};
31f126890aSEmmanuel Vadot
32f126890aSEmmanuel Vadot	sound {
33f126890aSEmmanuel Vadot		compatible = "simple-audio-card";
34f126890aSEmmanuel Vadot		simple-audio-card,name = "sgtl5000-audio";
35f126890aSEmmanuel Vadot		simple-audio-card,format = "i2s";
36f126890aSEmmanuel Vadot		simple-audio-card,frame-master = <&codec_dai>;
37f126890aSEmmanuel Vadot		simple-audio-card,bitclock-master = <&codec_dai>;
38f126890aSEmmanuel Vadot
39f126890aSEmmanuel Vadot		simple-audio-card,cpu {
40f126890aSEmmanuel Vadot			sound-dai = <&sai2>;
41f126890aSEmmanuel Vadot		};
42f126890aSEmmanuel Vadot
43f126890aSEmmanuel Vadot		codec_dai: simple-audio-card,codec {
44f126890aSEmmanuel Vadot			sound-dai = <&sgtl5000>;
45f126890aSEmmanuel Vadot		};
46f126890aSEmmanuel Vadot	};
47f126890aSEmmanuel Vadot};
48f126890aSEmmanuel Vadot
49*0e8011faSEmmanuel Vadot&hdmi_pvi {
50*0e8011faSEmmanuel Vadot	status = "okay";
51*0e8011faSEmmanuel Vadot};
52*0e8011faSEmmanuel Vadot
53*0e8011faSEmmanuel Vadot&hdmi_tx {
54*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
55*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pinctrl_hdmi>;
56*0e8011faSEmmanuel Vadot	status = "okay";
57*0e8011faSEmmanuel Vadot};
58*0e8011faSEmmanuel Vadot
59*0e8011faSEmmanuel Vadot&hdmi_tx_phy {
60*0e8011faSEmmanuel Vadot	status = "okay";
61*0e8011faSEmmanuel Vadot};
62*0e8011faSEmmanuel Vadot
63*0e8011faSEmmanuel Vadot&lcdif3 {
64*0e8011faSEmmanuel Vadot	status = "okay";
65*0e8011faSEmmanuel Vadot};
66*0e8011faSEmmanuel Vadot
67f126890aSEmmanuel Vadot&i2c1 {
68f126890aSEmmanuel Vadot	sgtl5000: audio-codec@a {
69f126890aSEmmanuel Vadot		compatible = "fsl,sgtl5000";
70f126890aSEmmanuel Vadot		reg = <0x0a>;
71f126890aSEmmanuel Vadot
72f126890aSEmmanuel Vadot		assigned-clocks = <&clk IMX8MP_CLK_CLKOUT1_SEL>;
73f126890aSEmmanuel Vadot		assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
74f126890aSEmmanuel Vadot		assigned-clock-rates = <24000000>;
75f126890aSEmmanuel Vadot		clocks = <&clk IMX8MP_CLK_CLKOUT1>;
76f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot		VDDA-supply = <&reg_vcc_3v3_audio>;
79f126890aSEmmanuel Vadot		VDDD-supply = <&reg_vcc_1v8_audio>;
80f126890aSEmmanuel Vadot		VDDIO-supply = <&reg_vcc_1v8_audio>;
81f126890aSEmmanuel Vadot	};
82f126890aSEmmanuel Vadot};
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot/* I2S-0 = sai2 */
85f126890aSEmmanuel Vadot&sai2 {
86f126890aSEmmanuel Vadot	pinctrl-names = "default";
87f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_sai2>;
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot	assigned-clocks = <&clk IMX8MP_CLK_SAI2>;
90f126890aSEmmanuel Vadot	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
91f126890aSEmmanuel Vadot	assigned-clock-rates = <12288000>;
92f126890aSEmmanuel Vadot
93f126890aSEmmanuel Vadot	fsl,sai-mclk-direction-output;
94f126890aSEmmanuel Vadot	status = "okay";
957ef62cebSEmmanuel Vadot};
967ef62cebSEmmanuel Vadot
977ef62cebSEmmanuel Vadot&flexcan1 {
987ef62cebSEmmanuel Vadot	status = "okay";
997ef62cebSEmmanuel Vadot};
1007ef62cebSEmmanuel Vadot
1017ef62cebSEmmanuel Vadot&flexcan2 {
1027ef62cebSEmmanuel Vadot	status = "okay";
1037ef62cebSEmmanuel Vadot};
1047ef62cebSEmmanuel Vadot
1057ef62cebSEmmanuel Vadot&usdhc2 {
1067ef62cebSEmmanuel Vadot	no-1-8-v;
1077ef62cebSEmmanuel Vadot};
1087ef62cebSEmmanuel Vadot
1097ef62cebSEmmanuel Vadot&iomuxc {
1107ef62cebSEmmanuel Vadot	pinctrl-names = "default";
1117ef62cebSEmmanuel Vadot	pinctrl-0 = <&pinctrl_smarc_gpio>;
1127ef62cebSEmmanuel Vadot
113*0e8011faSEmmanuel Vadot	pinctrl_hdmi: hdmigrp {
114*0e8011faSEmmanuel Vadot		fsl,pins = <
115*0e8011faSEmmanuel Vadot			MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL	0x1c2
116*0e8011faSEmmanuel Vadot			MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA	0x1c2
117*0e8011faSEmmanuel Vadot			MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC		0x10
118*0e8011faSEmmanuel Vadot			MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD		0x10
119*0e8011faSEmmanuel Vadot		>;
120*0e8011faSEmmanuel Vadot	};
121*0e8011faSEmmanuel Vadot
122f126890aSEmmanuel Vadot	pinctrl_sai2: sai2grp {
123f126890aSEmmanuel Vadot		fsl,pins = <
124f126890aSEmmanuel Vadot			MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC   0xd6
125f126890aSEmmanuel Vadot			MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK    0xd6
126f126890aSEmmanuel Vadot			MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00 0xd6
127f126890aSEmmanuel Vadot			MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6
128f126890aSEmmanuel Vadot		>;
129f126890aSEmmanuel Vadot	};
130f126890aSEmmanuel Vadot
1317ef62cebSEmmanuel Vadot	pinctrl_smarc_gpio: smarcgpiosgrp {
1327ef62cebSEmmanuel Vadot		fsl,pins =
1337ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11	0x19>, /* GPIO0 */
1347ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01	0x19>, /* GPIO1 */
1357ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02	0x19>, /* GPIO2 */
1367ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03	0x19>, /* GPIO3 */
1377ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29	0x19>, /* GPIO4 */
1387ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02	0x19>, /* GPIO5 */
1397ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18	0x19>, /* GPIO6 */
1407ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10	0x19>, /* GPIO7 */
1417ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20	0x19>, /* GPIO8 */
1427ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21	0x19>, /* GPIO9 */
1437ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22	0x19>, /* GPIO10 */
1447ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28	0x19>, /* GPIO11 */
1457ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19	0x19>, /* GPIO12 */
1467ef62cebSEmmanuel Vadot			<MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00	0x19>; /* GPIO13 */
1477ef62cebSEmmanuel Vadot	};
1487ef62cebSEmmanuel Vadot};
149