// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* * Copyright (C) 2025 PHYTEC Messtechnik GmbH */ #include #include #include "imx8mp-pinfunc.h" &{/} { backlight_lvds0: backlight0 { compatible = "pwm-backlight"; pinctrl-0 = <&pinctrl_lvds0>; pinctrl-names = "default"; power-supply = <®_vcc_12v>; status = "disabled"; }; panel_lvds0: panel-lvds0 { backlight = <&backlight_lvds0>; power-supply = <®_vcc_3v3_sw>; status = "disabled"; port { panel0_in: endpoint { remote-endpoint = <&ldb_lvds_ch0>; }; }; }; reg_vcc_12v: regulator-12v { compatible = "regulator-fixed"; regulator-always-on; regulator-boot-on; regulator-max-microvolt = <12000000>; regulator-min-microvolt = <12000000>; regulator-name = "VCC_12V"; }; reg_vcc_1v8_audio: regulator-1v8 { compatible = "regulator-fixed"; regulator-always-on; regulator-boot-on; regulator-max-microvolt = <1800000>; regulator-min-microvolt = <1800000>; regulator-name = "VCC_1V8_Audio"; }; reg_vcc_3v3_analog: regulator-3v3 { compatible = "regulator-fixed"; regulator-always-on; regulator-boot-on; regulator-max-microvolt = <3300000>; regulator-min-microvolt = <3300000>; regulator-name = "VCC_3V3_Analog"; }; sound { compatible = "simple-audio-card"; simple-audio-card,name = "snd-peb-av-10"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&dailink_master>; simple-audio-card,frame-master = <&dailink_master>; simple-audio-card,mclk-fs = <32>; simple-audio-card,widgets = "Line", "Line In", "Speaker", "Speaker", "Microphone", "Microphone Jack", "Headphone", "Headphone Jack"; simple-audio-card,routing = "Speaker", "SPOP", "Speaker", "SPOM", "Headphone Jack", "HPLOUT", "Headphone Jack", "HPROUT", "LINE1L", "Line In", "LINE1R", "Line In", "MIC3R", "Microphone Jack", "Microphone Jack", "Mic Bias"; simple-audio-card,cpu { sound-dai = <&sai2>; }; dailink_master: simple-audio-card,codec { sound-dai = <&codec>; clocks = <&clk IMX8MP_CLK_SAI2>; }; }; }; &i2c4 { clock-frequency = <400000>; pinctrl-0 = <&pinctrl_i2c4>; pinctrl-1 = <&pinctrl_i2c4_gpio>; pinctrl-names = "default", "gpio"; scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; #address-cells = <1>; #size-cells = <0>; status = "okay"; codec: codec@18 { compatible = "ti,tlv320aic3007"; reg = <0x18>; pinctrl-0 = <&pinctrl_tlv320>; pinctrl-names = "default"; #sound-dai-cells = <0>; reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>; ai3x-gpio-func = <0xd 0x0>; ai3x-micbias-vg = <2>; AVDD-supply = <®_vcc_3v3_analog>; DRVDD-supply = <®_vcc_3v3_analog>; DVDD-supply = <®_vcc_1v8_audio>; IOVDD-supply = <®_vcc_3v3_sw>; }; eeprom@57 { compatible = "atmel,24c32"; reg = <0x57>; pagesize = <32>; vcc-supply = <®_vcc_3v3_sw>; }; }; &ldb_lvds_ch0 { remote-endpoint = <&panel0_in>; }; &pwm4 { pinctrl-0 = <&pinctrl_pwm4>; pinctrl-names = "default"; }; &sai2 { pinctrl-0 = <&pinctrl_sai2>; pinctrl-names = "default"; assigned-clocks = <&clk IMX8MP_CLK_SAI2>; assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; assigned-clock-rates = <12288000>; clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_IPG>, <&clk IMX8MP_CLK_DUMMY>, <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_MCLK1>, <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_AUDIO_PLL1_OUT>, <&clk IMX8MP_AUDIO_PLL2_OUT>; clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k"; #sound-dai-cells = <0>; fsl,sai-mclk-direction-output; fsl,sai-synchronous-rx; status = "okay"; }; &iomuxc { pinctrl_i2c4: i2c4grp { fsl,pins = < MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2 MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2 >; }; pinctrl_i2c4_gpio: i2c4gpiogrp { fsl,pins = < MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20 0x1e2 MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21 0x1e2 >; }; pinctrl_lvds0: lvds0grp { fsl,pins = < MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x12 >; }; pinctrl_pwm4: pwm4grp { fsl,pins = < MX8MP_IOMUXC_SAI3_MCLK__PWM4_OUT 0x12 >; }; pinctrl_sai2: sai2grp { fsl,pins = < MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK 0xd6 MX8MP_IOMUXC_SAI2_RXFS__AUDIOMIX_SAI2_RX_SYNC 0xd6 MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0xd6 MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6 MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00 0xd6 >; }; pinctrl_tlv320: tlv320grp { fsl,pins = < MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x16 MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 0x16 >; }; };