xref: /linux/scripts/dtc/include-prefixes/arm64/freescale/imx8mm-phyboard-polis-peb-av-10.dtsi (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
14f03fd6dSJan Remmet// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
24f03fd6dSJan Remmet/*
34f03fd6dSJan Remmet * Copyright (C) 2025 PHYTEC Messtechnik GmbH
44f03fd6dSJan Remmet */
54f03fd6dSJan Remmet
64f03fd6dSJan Remmet#include <dt-bindings/clock/imx8mm-clock.h>
74f03fd6dSJan Remmet#include <dt-bindings/gpio/gpio.h>
84f03fd6dSJan Remmet#include "imx8mm-pinfunc.h"
94f03fd6dSJan Remmet
104f03fd6dSJan Remmet&{/} {
114f03fd6dSJan Remmet	backlight: backlight {
124f03fd6dSJan Remmet		compatible = "pwm-backlight";
134f03fd6dSJan Remmet		pinctrl-names = "default";
144f03fd6dSJan Remmet		pinctrl-0 = <&pinctrl_lcd>;
154f03fd6dSJan Remmet		power-supply = <&reg_vdd_3v3_s>;
164f03fd6dSJan Remmet		status = "disabled";
174f03fd6dSJan Remmet	};
184f03fd6dSJan Remmet
194f03fd6dSJan Remmet	panel: panel {
204f03fd6dSJan Remmet		backlight = <&backlight>;
214f03fd6dSJan Remmet		power-supply = <&reg_vcc_3v3>;
224f03fd6dSJan Remmet		status = "disabled";
234f03fd6dSJan Remmet
244f03fd6dSJan Remmet		port {
254f03fd6dSJan Remmet			panel_in: endpoint {
264f03fd6dSJan Remmet				remote-endpoint = <&bridge_out>;
274f03fd6dSJan Remmet			};
284f03fd6dSJan Remmet		};
294f03fd6dSJan Remmet	};
304f03fd6dSJan Remmet
314f03fd6dSJan Remmet	reg_sound_1v8: regulator-1v8 {
324f03fd6dSJan Remmet		compatible = "regulator-fixed";
334f03fd6dSJan Remmet		regulator-name = "VCC_1V8_Audio";
344f03fd6dSJan Remmet		regulator-min-microvolt = <1800000>;
354f03fd6dSJan Remmet		regulator-max-microvolt = <1800000>;
364f03fd6dSJan Remmet	};
374f03fd6dSJan Remmet
384f03fd6dSJan Remmet	reg_sound_3v3: regulator-3v3 {
394f03fd6dSJan Remmet		compatible = "regulator-fixed";
404f03fd6dSJan Remmet		regulator-name = "VCC_3V3_Analog";
414f03fd6dSJan Remmet		regulator-min-microvolt = <3300000>;
424f03fd6dSJan Remmet		regulator-max-microvolt = <3300000>;
434f03fd6dSJan Remmet	};
444f03fd6dSJan Remmet
454f03fd6dSJan Remmet	sound-peb-av-10 {
464f03fd6dSJan Remmet		compatible = "simple-audio-card";
474f03fd6dSJan Remmet		simple-audio-card,name = "snd-peb-av-10";
484f03fd6dSJan Remmet		simple-audio-card,format = "i2s";
494f03fd6dSJan Remmet		simple-audio-card,bitclock-master = <&dailink_master>;
504f03fd6dSJan Remmet		simple-audio-card,frame-master = <&dailink_master>;
514f03fd6dSJan Remmet		simple-audio-card,mclk-fs = <32>;
524f03fd6dSJan Remmet		simple-audio-card,widgets =
534f03fd6dSJan Remmet			"Line", "Line In",
544f03fd6dSJan Remmet			"Speaker", "Speaker",
554f03fd6dSJan Remmet			"Microphone", "Microphone Jack",
564f03fd6dSJan Remmet			"Headphone", "Headphone Jack";
574f03fd6dSJan Remmet		simple-audio-card,routing =
584f03fd6dSJan Remmet			"Speaker", "SPOP",
594f03fd6dSJan Remmet			"Speaker", "SPOM",
604f03fd6dSJan Remmet			"Headphone Jack", "HPLOUT",
614f03fd6dSJan Remmet			"Headphone Jack", "HPROUT",
624f03fd6dSJan Remmet			"LINE1L", "Line In",
634f03fd6dSJan Remmet			"LINE1R", "Line In",
644f03fd6dSJan Remmet			"MIC3R", "Microphone Jack",
654f03fd6dSJan Remmet			"Microphone Jack", "Mic Bias";
664f03fd6dSJan Remmet
674f03fd6dSJan Remmet		simple-audio-card,cpu {
684f03fd6dSJan Remmet			sound-dai = <&sai5>;
694f03fd6dSJan Remmet		};
704f03fd6dSJan Remmet
714f03fd6dSJan Remmet		dailink_master: simple-audio-card,codec {
724f03fd6dSJan Remmet			sound-dai = <&codec>;
734f03fd6dSJan Remmet			clocks = <&clk IMX8MM_CLK_SAI5>;
744f03fd6dSJan Remmet		};
754f03fd6dSJan Remmet	};
764f03fd6dSJan Remmet};
774f03fd6dSJan Remmet
784f03fd6dSJan Remmet&bridge_out {
794f03fd6dSJan Remmet	remote-endpoint = <&panel_in>;
804f03fd6dSJan Remmet};
814f03fd6dSJan Remmet
824f03fd6dSJan Remmet&i2c3 {
834f03fd6dSJan Remmet	clock-frequency = <400000>;
844f03fd6dSJan Remmet	pinctrl-names = "default", "gpio";
854f03fd6dSJan Remmet	pinctrl-0 = <&pinctrl_i2c3>;
864f03fd6dSJan Remmet	pinctrl-1 = <&pinctrl_i2c3_gpio>;
874f03fd6dSJan Remmet	sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
884f03fd6dSJan Remmet	scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
894f03fd6dSJan Remmet	#address-cells = <1>;
904f03fd6dSJan Remmet	#size-cells = <0>;
914f03fd6dSJan Remmet	status = "okay";
924f03fd6dSJan Remmet
934f03fd6dSJan Remmet	codec: codec@18 {
944f03fd6dSJan Remmet		compatible = "ti,tlv320aic3007";
954f03fd6dSJan Remmet		pinctrl-names = "default";
964f03fd6dSJan Remmet		pinctrl-0 = <&pinctrl_tlv320>;
974f03fd6dSJan Remmet		#sound-dai-cells = <0>;
984f03fd6dSJan Remmet		reg = <0x18>;
994f03fd6dSJan Remmet		reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
1004f03fd6dSJan Remmet		ai3x-gpio-func = <0xd 0x0>;
1014f03fd6dSJan Remmet		ai3x-micbias-vg = <2>;
1024f03fd6dSJan Remmet		AVDD-supply = <&reg_sound_3v3>;
1034f03fd6dSJan Remmet		IOVDD-supply = <&reg_sound_3v3>;
1044f03fd6dSJan Remmet		DRVDD-supply = <&reg_sound_3v3>;
1054f03fd6dSJan Remmet		DVDD-supply = <&reg_sound_1v8>;
1064f03fd6dSJan Remmet	};
1074f03fd6dSJan Remmet
1084f03fd6dSJan Remmet	eeprom@57 {
1094f03fd6dSJan Remmet		compatible = "atmel,24c32";
1104f03fd6dSJan Remmet		pagesize = <32>;
1114f03fd6dSJan Remmet		reg = <0x57>;
1124f03fd6dSJan Remmet		vcc-supply = <&reg_vdd_3v3_s>;
1134f03fd6dSJan Remmet	};
1144f03fd6dSJan Remmet
1154f03fd6dSJan Remmet	eeprom@5f {
1164f03fd6dSJan Remmet		compatible = "atmel,24c32";
1174f03fd6dSJan Remmet		pagesize = <32>;
1184f03fd6dSJan Remmet		reg = <0x5f>;
1194f03fd6dSJan Remmet		size = <32>;
1204f03fd6dSJan Remmet		vcc-supply = <&reg_vdd_3v3_s>;
1214f03fd6dSJan Remmet	};
1224f03fd6dSJan Remmet};
1234f03fd6dSJan Remmet
1244f03fd6dSJan Remmet&pwm4 {
1254f03fd6dSJan Remmet	pinctrl-names = "default";
1264f03fd6dSJan Remmet	pinctrl-0 = <&pinctrl_pwm4>;
1274f03fd6dSJan Remmet};
1284f03fd6dSJan Remmet
1294f03fd6dSJan Remmet&sai5 {
1304f03fd6dSJan Remmet	assigned-clocks = <&clk IMX8MM_CLK_SAI5>;
1314f03fd6dSJan Remmet	assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL2_OUT>;
1324f03fd6dSJan Remmet	assigned-clock-rates = <11289600>;
1334f03fd6dSJan Remmet	clocks = <&clk IMX8MM_CLK_SAI5_IPG>, <&clk IMX8MM_CLK_DUMMY>,
1344f03fd6dSJan Remmet		<&clk IMX8MM_CLK_SAI5_ROOT>, <&clk IMX8MM_CLK_DUMMY>,
1354f03fd6dSJan Remmet		<&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>,
1364f03fd6dSJan Remmet		<&clk IMX8MM_AUDIO_PLL2_OUT>;
1374f03fd6dSJan Remmet	clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k",
1384f03fd6dSJan Remmet			"pll11k";
1394f03fd6dSJan Remmet	fsl,sai-mclk-direction-output;
1404f03fd6dSJan Remmet	pinctrl-names = "default";
1414f03fd6dSJan Remmet	pinctrl-0 = <&pinctrl_sai5>;
1424f03fd6dSJan Remmet	#sound-dai-cells = <0>;
1434f03fd6dSJan Remmet	status = "okay";
1444f03fd6dSJan Remmet};
1454f03fd6dSJan Remmet
1464f03fd6dSJan Remmet&iomuxc {
1474f03fd6dSJan Remmet
1484f03fd6dSJan Remmet	pinctrl_i2c3: i2c3grp {
1494f03fd6dSJan Remmet		fsl,pins = <
1504f03fd6dSJan Remmet			MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL          0x400001c2
1514f03fd6dSJan Remmet			MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA          0x400001c2
1524f03fd6dSJan Remmet		>;
1534f03fd6dSJan Remmet	};
1544f03fd6dSJan Remmet
1554f03fd6dSJan Remmet	pinctrl_i2c3_gpio: i2c3gpiogrp {
1564f03fd6dSJan Remmet		fsl,pins = <
1574f03fd6dSJan Remmet			MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18        0x1e2
1584f03fd6dSJan Remmet			MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19        0x1e2
1594f03fd6dSJan Remmet		>;
1604f03fd6dSJan Remmet	};
1614f03fd6dSJan Remmet	pinctrl_lcd: lcd0grp {
1624f03fd6dSJan Remmet		fsl,pins = <
1634f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1		0x12
1644f03fd6dSJan Remmet		>;
1654f03fd6dSJan Remmet	};
1664f03fd6dSJan Remmet
1674f03fd6dSJan Remmet	pinctrl_pwm4: pwm4grp {
1684f03fd6dSJan Remmet		fsl,pins = <
1694f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI3_MCLK_PWM4_OUT		0x12
1704f03fd6dSJan Remmet		>;
1714f03fd6dSJan Remmet	};
1724f03fd6dSJan Remmet
1734f03fd6dSJan Remmet	pinctrl_sai5: sai5grp {
1744f03fd6dSJan Remmet		fsl,pins = <
1754f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK        0xd6
1764f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0    0xd6
1774f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC     0xd6
1784f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK     0xd6
1794f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0    0xd6
1804f03fd6dSJan Remmet		>;
1814f03fd6dSJan Remmet	};
1824f03fd6dSJan Remmet
1834f03fd6dSJan Remmet	pinctrl_tlv320: tlv320grp {
1844f03fd6dSJan Remmet		fsl,pins = <
185*3b0bf065STeresa Remmet			MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28       0x116
1864f03fd6dSJan Remmet			MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20        0x16
1874f03fd6dSJan Remmet		>;
1884f03fd6dSJan Remmet	};
1894f03fd6dSJan Remmet};
190