18ccc0d23SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 28ccc0d23SEmmanuel Vadot/* 38ccc0d23SEmmanuel Vadot * Copyright (C) 2025 PHYTEC Messtechnik GmbH 48ccc0d23SEmmanuel Vadot * Author: Teresa Remmet <t.remmet@phytec.de> 58ccc0d23SEmmanuel Vadot */ 68ccc0d23SEmmanuel Vadot 78ccc0d23SEmmanuel Vadot/dts-v1/; 88ccc0d23SEmmanuel Vadot/plugin/; 98ccc0d23SEmmanuel Vadot 108ccc0d23SEmmanuel Vadot#include <dt-bindings/clock/imx8mm-clock.h> 118ccc0d23SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 128ccc0d23SEmmanuel Vadot#include "imx8mm-pinfunc.h" 138ccc0d23SEmmanuel Vadot 148ccc0d23SEmmanuel Vadot&{/} { 158ccc0d23SEmmanuel Vadot backlight: backlight { 168ccc0d23SEmmanuel Vadot compatible = "pwm-backlight"; 178ccc0d23SEmmanuel Vadot pinctrl-names = "default"; 188ccc0d23SEmmanuel Vadot pinctrl-0 = <&pinctrl_lcd>; 198ccc0d23SEmmanuel Vadot default-brightness-level = <6>; 208ccc0d23SEmmanuel Vadot pwms = <&pwm4 0 50000 0>; 218ccc0d23SEmmanuel Vadot power-supply = <®_vdd_3v3_s>; 228ccc0d23SEmmanuel Vadot enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; 238ccc0d23SEmmanuel Vadot brightness-levels= <0 4 8 16 32 64 128 255>; 248ccc0d23SEmmanuel Vadot }; 258ccc0d23SEmmanuel Vadot 268ccc0d23SEmmanuel Vadot panel { 278ccc0d23SEmmanuel Vadot compatible = "edt,etml1010g3dra"; 288ccc0d23SEmmanuel Vadot backlight = <&backlight>; 298ccc0d23SEmmanuel Vadot power-supply = <®_vcc_3v3>; 308ccc0d23SEmmanuel Vadot 318ccc0d23SEmmanuel Vadot port { 328ccc0d23SEmmanuel Vadot panel_in: endpoint { 338ccc0d23SEmmanuel Vadot remote-endpoint = <&bridge_out>; 348ccc0d23SEmmanuel Vadot }; 358ccc0d23SEmmanuel Vadot }; 368ccc0d23SEmmanuel Vadot }; 378ccc0d23SEmmanuel Vadot 388ccc0d23SEmmanuel Vadot reg_sound_1v8: regulator-1v8 { 398ccc0d23SEmmanuel Vadot compatible = "regulator-fixed"; 408ccc0d23SEmmanuel Vadot regulator-name = "VCC_1V8_Audio"; 418ccc0d23SEmmanuel Vadot regulator-min-microvolt = <1800000>; 428ccc0d23SEmmanuel Vadot regulator-max-microvolt = <1800000>; 438ccc0d23SEmmanuel Vadot }; 448ccc0d23SEmmanuel Vadot 458ccc0d23SEmmanuel Vadot reg_sound_3v3: regulator-3v3 { 468ccc0d23SEmmanuel Vadot compatible = "regulator-fixed"; 478ccc0d23SEmmanuel Vadot regulator-name = "VCC_3V3_Analog"; 488ccc0d23SEmmanuel Vadot regulator-min-microvolt = <3300000>; 498ccc0d23SEmmanuel Vadot regulator-max-microvolt = <3300000>; 508ccc0d23SEmmanuel Vadot }; 518ccc0d23SEmmanuel Vadot 528ccc0d23SEmmanuel Vadot sound-peb-av-10 { 538ccc0d23SEmmanuel Vadot compatible = "simple-audio-card"; 548ccc0d23SEmmanuel Vadot simple-audio-card,name = "snd-peb-av-10"; 558ccc0d23SEmmanuel Vadot simple-audio-card,format = "i2s"; 568ccc0d23SEmmanuel Vadot simple-audio-card,bitclock-master = <&dailink_master>; 578ccc0d23SEmmanuel Vadot simple-audio-card,frame-master = <&dailink_master>; 588ccc0d23SEmmanuel Vadot simple-audio-card,mclk-fs = <32>; 598ccc0d23SEmmanuel Vadot simple-audio-card,widgets = 608ccc0d23SEmmanuel Vadot "Line", "Line In", 618ccc0d23SEmmanuel Vadot "Speaker", "Speaker", 628ccc0d23SEmmanuel Vadot "Microphone", "Microphone Jack", 638ccc0d23SEmmanuel Vadot "Headphone", "Headphone Jack"; 648ccc0d23SEmmanuel Vadot simple-audio-card,routing = 658ccc0d23SEmmanuel Vadot "Speaker", "SPOP", 668ccc0d23SEmmanuel Vadot "Speaker", "SPOM", 678ccc0d23SEmmanuel Vadot "Headphone Jack", "HPLOUT", 688ccc0d23SEmmanuel Vadot "Headphone Jack", "HPROUT", 698ccc0d23SEmmanuel Vadot "LINE1L", "Line In", 708ccc0d23SEmmanuel Vadot "LINE1R", "Line In", 718ccc0d23SEmmanuel Vadot "MIC3R", "Microphone Jack", 728ccc0d23SEmmanuel Vadot "Microphone Jack", "Mic Bias"; 738ccc0d23SEmmanuel Vadot 748ccc0d23SEmmanuel Vadot simple-audio-card,cpu { 758ccc0d23SEmmanuel Vadot sound-dai = <&sai5>; 768ccc0d23SEmmanuel Vadot }; 778ccc0d23SEmmanuel Vadot 788ccc0d23SEmmanuel Vadot dailink_master: simple-audio-card,codec { 798ccc0d23SEmmanuel Vadot sound-dai = <&codec>; 808ccc0d23SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI5>; 818ccc0d23SEmmanuel Vadot }; 828ccc0d23SEmmanuel Vadot }; 838ccc0d23SEmmanuel Vadot}; 848ccc0d23SEmmanuel Vadot 858ccc0d23SEmmanuel Vadot&i2c3 { 868ccc0d23SEmmanuel Vadot clock-frequency = <400000>; 878ccc0d23SEmmanuel Vadot pinctrl-names = "default", "gpio"; 888ccc0d23SEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c3>; 898ccc0d23SEmmanuel Vadot pinctrl-1 = <&pinctrl_i2c3_gpio>; 908ccc0d23SEmmanuel Vadot sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 918ccc0d23SEmmanuel Vadot scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 928ccc0d23SEmmanuel Vadot #address-cells = <1>; 938ccc0d23SEmmanuel Vadot #size-cells = <0>; 948ccc0d23SEmmanuel Vadot status = "okay"; 958ccc0d23SEmmanuel Vadot 968ccc0d23SEmmanuel Vadot codec: codec@18 { 978ccc0d23SEmmanuel Vadot compatible = "ti,tlv320aic3007"; 988ccc0d23SEmmanuel Vadot pinctrl-names = "default"; 998ccc0d23SEmmanuel Vadot pinctrl-0 = <&pinctrl_tlv320>; 1008ccc0d23SEmmanuel Vadot #sound-dai-cells = <0>; 1018ccc0d23SEmmanuel Vadot reg = <0x18>; 1028ccc0d23SEmmanuel Vadot reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>; 1038ccc0d23SEmmanuel Vadot ai3x-gpio-func = <0xd 0x0>; 1048ccc0d23SEmmanuel Vadot ai3x-micbias-vg = <2>; 1058ccc0d23SEmmanuel Vadot AVDD-supply = <®_sound_3v3>; 1068ccc0d23SEmmanuel Vadot IOVDD-supply = <®_sound_3v3>; 1078ccc0d23SEmmanuel Vadot DRVDD-supply = <®_sound_3v3>; 1088ccc0d23SEmmanuel Vadot DVDD-supply = <®_sound_1v8>; 1098ccc0d23SEmmanuel Vadot }; 1108ccc0d23SEmmanuel Vadot 1118ccc0d23SEmmanuel Vadot eeprom@57 { 1128ccc0d23SEmmanuel Vadot compatible = "atmel,24c32"; 1138ccc0d23SEmmanuel Vadot pagesize = <32>; 1148ccc0d23SEmmanuel Vadot reg = <0x57>; 1158ccc0d23SEmmanuel Vadot vcc-supply = <®_vdd_3v3_s>; 1168ccc0d23SEmmanuel Vadot }; 1178ccc0d23SEmmanuel Vadot 1188ccc0d23SEmmanuel Vadot eeprom@5f { 1198ccc0d23SEmmanuel Vadot compatible = "atmel,24c32"; 1208ccc0d23SEmmanuel Vadot pagesize = <32>; 1218ccc0d23SEmmanuel Vadot reg = <0x5f>; 1228ccc0d23SEmmanuel Vadot size = <32>; 1238ccc0d23SEmmanuel Vadot vcc-supply = <®_vdd_3v3_s>; 1248ccc0d23SEmmanuel Vadot }; 1258ccc0d23SEmmanuel Vadot}; 1268ccc0d23SEmmanuel Vadot 1278ccc0d23SEmmanuel Vadot&lcdif { 1288ccc0d23SEmmanuel Vadot status = "okay"; 1298ccc0d23SEmmanuel Vadot}; 1308ccc0d23SEmmanuel Vadot 1318ccc0d23SEmmanuel Vadot&mipi_dsi { 1328ccc0d23SEmmanuel Vadot samsung,esc-clock-frequency = <10000000>; 1338ccc0d23SEmmanuel Vadot status = "okay"; 1348ccc0d23SEmmanuel Vadot 1358ccc0d23SEmmanuel Vadot ports { 1368ccc0d23SEmmanuel Vadot #address-cells = <1>; 1378ccc0d23SEmmanuel Vadot #size-cells = <0>; 1388ccc0d23SEmmanuel Vadot port@1 { 1398ccc0d23SEmmanuel Vadot reg = <1>; 1408ccc0d23SEmmanuel Vadot dsi_out: endpoint { 1418ccc0d23SEmmanuel Vadot remote-endpoint = <&bridge_in>; 1428ccc0d23SEmmanuel Vadot }; 1438ccc0d23SEmmanuel Vadot }; 1448ccc0d23SEmmanuel Vadot }; 1458ccc0d23SEmmanuel Vadot}; 1468ccc0d23SEmmanuel Vadot 1478ccc0d23SEmmanuel Vadot&pwm4 { 1488ccc0d23SEmmanuel Vadot pinctrl-names = "default"; 1498ccc0d23SEmmanuel Vadot pinctrl-0 = <&pinctrl_pwm4>; 1508ccc0d23SEmmanuel Vadot status = "okay"; 1518ccc0d23SEmmanuel Vadot}; 1528ccc0d23SEmmanuel Vadot 1538ccc0d23SEmmanuel Vadot&sai5 { 1548ccc0d23SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_SAI5>; 1558ccc0d23SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL2_OUT>; 1568ccc0d23SEmmanuel Vadot assigned-clock-rates = <11289600>; 1578ccc0d23SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI5_IPG>, <&clk IMX8MM_CLK_DUMMY>, 1588ccc0d23SEmmanuel Vadot <&clk IMX8MM_CLK_SAI5_ROOT>, <&clk IMX8MM_CLK_DUMMY>, 1598ccc0d23SEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>, 1608ccc0d23SEmmanuel Vadot <&clk IMX8MM_AUDIO_PLL2_OUT>; 1618ccc0d23SEmmanuel Vadot clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", 1628ccc0d23SEmmanuel Vadot "pll11k"; 1638ccc0d23SEmmanuel Vadot fsl,sai-mclk-direction-output; 1648ccc0d23SEmmanuel Vadot pinctrl-names = "default"; 1658ccc0d23SEmmanuel Vadot pinctrl-0 = <&pinctrl_sai5>; 1668ccc0d23SEmmanuel Vadot #sound-dai-cells = <0>; 1678ccc0d23SEmmanuel Vadot status = "okay"; 1688ccc0d23SEmmanuel Vadot}; 1698ccc0d23SEmmanuel Vadot 1708ccc0d23SEmmanuel Vadot&sn65dsi83 { 1718ccc0d23SEmmanuel Vadot status = "okay"; 1728ccc0d23SEmmanuel Vadot 1738ccc0d23SEmmanuel Vadot ports { 1748ccc0d23SEmmanuel Vadot #address-cells = <1>; 1758ccc0d23SEmmanuel Vadot #size-cells = <0>; 1768ccc0d23SEmmanuel Vadot 1778ccc0d23SEmmanuel Vadot port@0 { 1788ccc0d23SEmmanuel Vadot reg = <0>; 1798ccc0d23SEmmanuel Vadot bridge_in: endpoint { 1808ccc0d23SEmmanuel Vadot remote-endpoint = <&dsi_out>; 1818ccc0d23SEmmanuel Vadot data-lanes = <1 2 3 4>; 1828ccc0d23SEmmanuel Vadot }; 1838ccc0d23SEmmanuel Vadot }; 1848ccc0d23SEmmanuel Vadot 1858ccc0d23SEmmanuel Vadot port@2 { 1868ccc0d23SEmmanuel Vadot reg = <2>; 1878ccc0d23SEmmanuel Vadot bridge_out: endpoint { 1888ccc0d23SEmmanuel Vadot remote-endpoint = <&panel_in>; 189*ae5de77eSEmmanuel Vadot ti,lvds-vod-swing-clock-microvolt = <200000 600000>; 190*ae5de77eSEmmanuel Vadot ti,lvds-vod-swing-data-microvolt = <200000 600000>; 1918ccc0d23SEmmanuel Vadot }; 1928ccc0d23SEmmanuel Vadot }; 1938ccc0d23SEmmanuel Vadot }; 1948ccc0d23SEmmanuel Vadot}; 1958ccc0d23SEmmanuel Vadot 1968ccc0d23SEmmanuel Vadot&iomuxc { 1978ccc0d23SEmmanuel Vadot 1988ccc0d23SEmmanuel Vadot pinctrl_i2c3: i2c3grp { 1998ccc0d23SEmmanuel Vadot fsl,pins = < 2008ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c2 2018ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c2 2028ccc0d23SEmmanuel Vadot >; 2038ccc0d23SEmmanuel Vadot }; 2048ccc0d23SEmmanuel Vadot 2058ccc0d23SEmmanuel Vadot pinctrl_i2c3_gpio: i2c3gpiogrp { 2068ccc0d23SEmmanuel Vadot fsl,pins = < 2078ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18 0x1e2 2088ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19 0x1e2 2098ccc0d23SEmmanuel Vadot >; 2108ccc0d23SEmmanuel Vadot }; 2118ccc0d23SEmmanuel Vadot pinctrl_lcd: lcd0grp { 2128ccc0d23SEmmanuel Vadot fsl,pins = < 2138ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x12 2148ccc0d23SEmmanuel Vadot >; 2158ccc0d23SEmmanuel Vadot }; 2168ccc0d23SEmmanuel Vadot 2178ccc0d23SEmmanuel Vadot pinctrl_pwm4: pwm4grp { 2188ccc0d23SEmmanuel Vadot fsl,pins = < 2198ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI3_MCLK_PWM4_OUT 0x12 2208ccc0d23SEmmanuel Vadot >; 2218ccc0d23SEmmanuel Vadot }; 2228ccc0d23SEmmanuel Vadot 2238ccc0d23SEmmanuel Vadot pinctrl_sai5: sai5grp { 2248ccc0d23SEmmanuel Vadot fsl,pins = < 2258ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK 0xd6 2268ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0 0xd6 2278ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0xd6 2288ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0xd6 2298ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0xd6 2308ccc0d23SEmmanuel Vadot >; 2318ccc0d23SEmmanuel Vadot }; 2328ccc0d23SEmmanuel Vadot 2338ccc0d23SEmmanuel Vadot pinctrl_tlv320: tlv320grp { 2348ccc0d23SEmmanuel Vadot fsl,pins = < 2358ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x16 2368ccc0d23SEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x16 2378ccc0d23SEmmanuel Vadot >; 2388ccc0d23SEmmanuel Vadot }; 2398ccc0d23SEmmanuel Vadot}; 240