]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: imx8mm-phyboard-polis-peb-av-10: split display configuration
authorJan Remmet <j.remmet@phytec.de>
Tue, 28 Oct 2025 08:58:11 +0000 (09:58 +0100)
committerShawn Guo <shawnguo@kernel.org>
Sun, 16 Nov 2025 09:36:53 +0000 (17:36 +0800)
The PEB-AV-10 board can be used with different displays or in audio-only
mode.
Split the device tree overlays to reflect these use cases. To use the
board with the EDT ETML1010G3DRA display, the overlay
imx8mm-phyboard-polis-peb-av-10-etml1010g3dra.dtbo must now be used
instead of imx8mm-phyboard-polis-peb-av-10.dtbo.

Signed-off-by: Jan Remmet <j.remmet@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/Makefile
arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-peb-av-10-etml1010g3dra.dtso [new file with mode: 0644]
arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-peb-av-10.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-peb-av-10.dtso

index 35e2690ee5ac42235fe7467083a71d15773c2dc9..ead679f9ef90b645e974475de5d840c8a0fe3f6d 100644 (file)
@@ -136,12 +136,15 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-phg.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-rdk.dtb
 
 imx8mm-phyboard-polis-peb-av-10-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phyboard-polis-peb-av-10.dtbo
+imx8mm-phyboard-polis-peb-av-10-etml1010g3dra-dtbs += imx8mm-phyboard-polis-rdk.dtb \
+       imx8mm-phyboard-polis-peb-av-10-etml1010g3dra.dtbo
 imx8mm-phyboard-polis-peb-eval-01-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phyboard-polis-peb-eval-01.dtbo
 imx8mm-phycore-no-eth-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phycore-no-eth.dtbo
 imx8mm-phycore-no-spiflash-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phycore-no-spiflash.dtbo
 imx8mm-phycore-rpmsg-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phycore-rpmsg.dtbo
 
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-peb-av-10.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-peb-av-10-etml1010g3dra.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-peb-eval-01.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-phycore-no-eth.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-phycore-no-spiflash.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-peb-av-10-etml1010g3dra.dtso b/arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-peb-av-10-etml1010g3dra.dtso
new file mode 100644 (file)
index 0000000..193fa9d
--- /dev/null
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
+/*
+ * Copyright (C) 2025 PHYTEC Messtechnik GmbH
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "imx8mm-phyboard-polis-peb-av-10.dtsi"
+
+&backlight {
+       brightness-levels = <0 4 8 16 32 64 128 255>;
+       default-brightness-level = <6>;
+       enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+       pwms = <&pwm4 0 50000 0>;
+       status = "okay";
+};
+
+&bridge_out {
+       ti,lvds-vod-swing-clock-microvolt = <200000 600000>;
+       ti,lvds-vod-swing-data-microvolt = <200000 600000>;
+};
+
+&lcdif {
+       status = "okay";
+};
+
+&mipi_dsi {
+       status = "okay";
+};
+
+&panel {
+       compatible = "edt,etml1010g3dra";
+       status = "okay";
+};
+
+&pwm4 {
+       status = "okay";
+};
+
+&sn65dsi83 {
+       status = "okay";
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-peb-av-10.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-peb-av-10.dtsi
new file mode 100644 (file)
index 0000000..3d4ffee
--- /dev/null
@@ -0,0 +1,189 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
+/*
+ * Copyright (C) 2025 PHYTEC Messtechnik GmbH
+ */
+
+#include <dt-bindings/clock/imx8mm-clock.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "imx8mm-pinfunc.h"
+
+&{/} {
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_lcd>;
+               power-supply = <&reg_vdd_3v3_s>;
+               status = "disabled";
+       };
+
+       panel: panel {
+               backlight = <&backlight>;
+               power-supply = <&reg_vcc_3v3>;
+               status = "disabled";
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <&bridge_out>;
+                       };
+               };
+       };
+
+       reg_sound_1v8: regulator-1v8 {
+               compatible = "regulator-fixed";
+               regulator-name = "VCC_1V8_Audio";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       reg_sound_3v3: regulator-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "VCC_3V3_Analog";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       sound-peb-av-10 {
+               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 = <&sai5>;
+               };
+
+               dailink_master: simple-audio-card,codec {
+                       sound-dai = <&codec>;
+                       clocks = <&clk IMX8MM_CLK_SAI5>;
+               };
+       };
+};
+
+&bridge_out {
+       remote-endpoint = <&panel_in>;
+};
+
+&i2c3 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default", "gpio";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       pinctrl-1 = <&pinctrl_i2c3_gpio>;
+       sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+       scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+       #address-cells = <1>;
+       #size-cells = <0>;
+       status = "okay";
+
+       codec: codec@18 {
+               compatible = "ti,tlv320aic3007";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_tlv320>;
+               #sound-dai-cells = <0>;
+               reg = <0x18>;
+               reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
+               ai3x-gpio-func = <0xd 0x0>;
+               ai3x-micbias-vg = <2>;
+               AVDD-supply = <&reg_sound_3v3>;
+               IOVDD-supply = <&reg_sound_3v3>;
+               DRVDD-supply = <&reg_sound_3v3>;
+               DVDD-supply = <&reg_sound_1v8>;
+       };
+
+       eeprom@57 {
+               compatible = "atmel,24c32";
+               pagesize = <32>;
+               reg = <0x57>;
+               vcc-supply = <&reg_vdd_3v3_s>;
+       };
+
+       eeprom@5f {
+               compatible = "atmel,24c32";
+               pagesize = <32>;
+               reg = <0x5f>;
+               size = <32>;
+               vcc-supply = <&reg_vdd_3v3_s>;
+       };
+};
+
+&pwm4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm4>;
+};
+
+&sai5 {
+       assigned-clocks = <&clk IMX8MM_CLK_SAI5>;
+       assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL2_OUT>;
+       assigned-clock-rates = <11289600>;
+       clocks = <&clk IMX8MM_CLK_SAI5_IPG>, <&clk IMX8MM_CLK_DUMMY>,
+               <&clk IMX8MM_CLK_SAI5_ROOT>, <&clk IMX8MM_CLK_DUMMY>,
+               <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>,
+               <&clk IMX8MM_AUDIO_PLL2_OUT>;
+       clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k",
+                       "pll11k";
+       fsl,sai-mclk-direction-output;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_sai5>;
+       #sound-dai-cells = <0>;
+       status = "okay";
+};
+
+&iomuxc {
+
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL          0x400001c2
+                       MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA          0x400001c2
+               >;
+       };
+
+       pinctrl_i2c3_gpio: i2c3gpiogrp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18        0x1e2
+                       MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19        0x1e2
+               >;
+       };
+       pinctrl_lcd: lcd0grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1         0x12
+               >;
+       };
+
+       pinctrl_pwm4: pwm4grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_SAI3_MCLK_PWM4_OUT         0x12
+               >;
+       };
+
+       pinctrl_sai5: sai5grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK        0xd6
+                       MX8MM_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0    0xd6
+                       MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC     0xd6
+                       MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK     0xd6
+                       MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0    0xd6
+               >;
+       };
+
+       pinctrl_tlv320: tlv320grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28       0x16
+                       MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20        0x16
+               >;
+       };
+};
index d08f73da75962e1e2bd1e4a25913a13c3f366323..28e8589f9f951ad79dfcd4d0ca2335fafdc683cd 100644 (file)
@@ -6,205 +6,4 @@
 /dts-v1/;
 /plugin/;
 
-#include <dt-bindings/clock/imx8mm-clock.h>
-#include <dt-bindings/gpio/gpio.h>
-#include "imx8mm-pinfunc.h"
-
-&{/} {
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               brightness-levels = <0 4 8 16 32 64 128 255>;
-               default-brightness-level = <6>;
-               enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
-               pinctrl-0 = <&pinctrl_lcd>;
-               pinctrl-names = "default";
-               power-supply = <&reg_vdd_3v3_s>;
-               pwms = <&pwm4 0 50000 0>;
-       };
-
-       panel {
-               compatible = "edt,etml1010g3dra";
-               backlight = <&backlight>;
-               power-supply = <&reg_vcc_3v3>;
-
-               port {
-                       panel_in: endpoint {
-                               remote-endpoint = <&bridge_out>;
-                       };
-               };
-       };
-
-       reg_vcc_1v8_audio: regulator-1v8 {
-               compatible = "regulator-fixed";
-               regulator-max-microvolt = <1800000>;
-               regulator-min-microvolt = <1800000>;
-               regulator-name = "VCC_1V8_Audio";
-       };
-
-       reg_vcc_3v3_analog: regulator-3v3 {
-               compatible = "regulator-fixed";
-               regulator-max-microvolt = <3300000>;
-               regulator-min-microvolt = <3300000>;
-               regulator-name = "VCC_3V3_Analog";
-       };
-
-       sound-peb-av-10 {
-               compatible = "simple-audio-card";
-               simple-audio-card,bitclock-master = <&dailink_master>;
-               simple-audio-card,format = "i2s";
-               simple-audio-card,frame-master = <&dailink_master>;
-               simple-audio-card,mclk-fs = <32>;
-               simple-audio-card,name = "snd-peb-av-10";
-               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 = <&sai5>;
-               };
-
-               dailink_master: simple-audio-card,codec {
-                       sound-dai = <&codec>;
-                       clocks = <&clk IMX8MM_CLK_SAI5>;
-               };
-       };
-};
-
-&bridge_out {
-       remote-endpoint = <&panel_in>;
-       ti,lvds-vod-swing-clock-microvolt = <200000 600000>;
-       ti,lvds-vod-swing-data-microvolt = <200000 600000>;
-};
-
-&i2c3 {
-       clock-frequency = <400000>;
-       pinctrl-0 = <&pinctrl_i2c3>;
-       pinctrl-1 = <&pinctrl_i2c3_gpio>;
-       pinctrl-names = "default", "gpio";
-       scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-       sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-       #address-cells = <1>;
-       #size-cells = <0>;
-       status = "okay";
-
-       codec: codec@18 {
-               compatible = "ti,tlv320aic3007";
-               pinctrl-0 = <&pinctrl_tlv320>;
-               pinctrl-names = "default";
-               #sound-dai-cells = <0>;
-               reg = <0x18>;
-               ai3x-gpio-func = <0xd 0x0>;
-               ai3x-micbias-vg = <2>;
-               reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
-               AVDD-supply = <&reg_vcc_3v3_analog>;
-               DRVDD-supply = <&reg_vcc_3v3_analog>;
-               DVDD-supply = <&reg_vcc_1v8_audio>;
-               IOVDD-supply = <&reg_vcc_3v3_analog>;
-       };
-
-       eeprom@57 {
-               compatible = "atmel,24c32";
-               pagesize = <32>;
-               reg = <0x57>;
-               vcc-supply = <&reg_vdd_3v3_s>;
-       };
-
-       eeprom@5f {
-               compatible = "atmel,24c32";
-               pagesize = <32>;
-               reg = <0x5f>;
-               size = <32>;
-               vcc-supply = <&reg_vdd_3v3_s>;
-       };
-};
-
-&lcdif {
-       status = "okay";
-};
-
-&mipi_dsi {
-       status = "okay";
-};
-
-&pwm4 {
-       pinctrl-0 = <&pinctrl_pwm4>;
-       pinctrl-names = "default";
-       status = "okay";
-};
-
-&sai5 {
-       assigned-clocks = <&clk IMX8MM_CLK_SAI5>;
-       assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL2_OUT>;
-       assigned-clock-rates = <11289600>;
-       clocks = <&clk IMX8MM_CLK_SAI5_IPG>, <&clk IMX8MM_CLK_DUMMY>,
-               <&clk IMX8MM_CLK_SAI5_ROOT>, <&clk IMX8MM_CLK_DUMMY>,
-               <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>,
-               <&clk IMX8MM_AUDIO_PLL2_OUT>;
-       clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k",
-                       "pll11k";
-       fsl,sai-mclk-direction-output;
-       pinctrl-0 = <&pinctrl_sai5>;
-       pinctrl-names = "default";
-       #sound-dai-cells = <0>;
-       status = "okay";
-};
-
-&sn65dsi83 {
-       status = "okay";
-};
-
-&iomuxc {
-
-       pinctrl_i2c3: i2c3grp {
-               fsl,pins = <
-                       MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL          0x400001c2
-                       MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA          0x400001c2
-               >;
-       };
-
-       pinctrl_i2c3_gpio: i2c3gpiogrp {
-               fsl,pins = <
-                       MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18        0x1e2
-                       MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19        0x1e2
-               >;
-       };
-       pinctrl_lcd: lcd0grp {
-               fsl,pins = <
-                       MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1         0x12
-               >;
-       };
-
-       pinctrl_pwm4: pwm4grp {
-               fsl,pins = <
-                       MX8MM_IOMUXC_SAI3_MCLK_PWM4_OUT         0x12
-               >;
-       };
-
-       pinctrl_sai5: sai5grp {
-               fsl,pins = <
-                       MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK        0xd6
-                       MX8MM_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0    0xd6
-                       MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC     0xd6
-                       MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK     0xd6
-                       MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0    0xd6
-               >;
-       };
-
-       pinctrl_tlv320: tlv320grp {
-               fsl,pins = <
-                       MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28       0x16
-                       MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20        0x16
-               >;
-       };
-};
+#include "imx8mm-phyboard-polis-peb-av-10.dtsi"