199 lines
4.6 KiB
Devicetree
199 lines
4.6 KiB
Devicetree
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
/*
|
|
* Copyright (C) 2025 PHYTEC Messtechnik GmbH
|
|
*/
|
|
|
|
#include <dt-bindings/clock/imx8mp-clock.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#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
|
|
>;
|
|
};
|
|
};
|