From: Frank Li <[email protected]> Add lcd panel (waiken,101wx001) support.
Signed-off-by: Frank Li <[email protected]> --- change in v2 - remove iomux hog (sashiko) - add power-supply --- arch/arm64/boot/dts/freescale/Makefile | 3 + .../boot/dts/freescale/imx8dxl-evk-lcdif.dtso | 118 +++++++++++++++++++++ 2 files changed, 121 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 8ddaab127ab9c..aef7bc3292484 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -111,6 +111,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx8dx-colibri-iris-v2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8dx-colibri-iris.dtb dtb-$(CONFIG_ARCH_MXC) += imx8dxl-evk.dtb +imx8dxl-evk-lcdif-dtbs += imx8dxl-evk.dtb imx8dxl-evk-lcdif.dtbo +dtb-$(CONFIG_ARCH_MXC) += imx8dxl-evk-lcdif.dtb + imx8dxl-evk-pcie-ep-dtbs += imx8dxl-evk.dtb imx-pcie0-ep.dtbo dtb-$(CONFIG_ARCH_MXC) += imx8dxl-evk-pcie-ep.dtb DTC_FLAGS_imx8dxl-hummingboard-telematics := -@ diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk-lcdif.dtso b/arch/arm64/boot/dts/freescale/imx8dxl-evk-lcdif.dtso new file mode 100644 index 0000000000000..080a3f5108a22 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk-lcdif.dtso @@ -0,0 +1,118 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2026 NXP. + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pinctrl/pads-imx8dxl.h> + +&{/} { + lcd_backlight: backlight { + compatible = "gpio-backlight"; + gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; + }; + + lcd-panel { + compatible = "waiken,101wx001"; + backlight = <&lcd_backlight>; + power-supply = <®_lcd_3v3>; + + port { + panel_in: endpoint { + remote-endpoint = <&lcdif_out>; + }; + }; + }; + + reg_lcd_3v3: regulator-lcd-3v3 { + compatible = "regulator-fixed"; + regulator-name = "lcd3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; +}; + +&acm { + status = "disabled"; +}; + +&adma_lcdif { + pinctrl-0 = <&pinctrl_lcdif>, <&lcd_0_fun>, <&lcd_1_fun>, <&lcd_2_fun>, <&lcd_3_fun>; + pinctrl-names = "default"; + status = "okay"; + + port { + lcdif_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; +}; + +&cm40_lpuart { + status = "disabled"; +}; + +&eqos { + status = "disabled"; +}; + +&iomuxc { + pinctrl_lcdif: lcdifgrp { + fsl,pins = < + IMX8DXL_SPI3_SCK_ADMA_LCDIF_D00 0xe8000023 + IMX8DXL_SPI3_SDO_ADMA_LCDIF_D01 0xe8000023 + IMX8DXL_SPI3_SDI_ADMA_LCDIF_D02 0xe8000023 + IMX8DXL_ENET1_RGMII_TXD3_ADMA_LCDIF_D03 0xd0000023 + IMX8DXL_UART1_TX_ADMA_LCDIF_D04 0xe8000023 + IMX8DXL_UART1_RX_ADMA_LCDIF_D05 0xe8000023 + IMX8DXL_UART1_RTS_B_ADMA_LCDIF_D06 0xe8000023 + IMX8DXL_UART1_CTS_B_ADMA_LCDIF_D07 0xe8000023 + IMX8DXL_SPI0_SCK_ADMA_LCDIF_D08 0xe8000023 + IMX8DXL_SPI0_SDI_ADMA_LCDIF_D09 0xe8000023 + IMX8DXL_SPI0_SDO_ADMA_LCDIF_D10 0xe8000023 + IMX8DXL_SPI0_CS1_ADMA_LCDIF_D11 0xe8000023 + IMX8DXL_SPI0_CS0_ADMA_LCDIF_D12 0xe8000023 + IMX8DXL_ADC_IN1_ADMA_LCDIF_D13 0xe8200003 + IMX8DXL_ADC_IN0_ADMA_LCDIF_D14 0xe8200003 + IMX8DXL_ADC_IN3_ADMA_LCDIF_D15 0xe8200003 + IMX8DXL_ADC_IN2_ADMA_LCDIF_D16 0xe8200003 + IMX8DXL_ADC_IN5_ADMA_LCDIF_D17 0xe8200003 + IMX8DXL_SPI3_CS0_ADMA_LCDIF_HSYNC 0xd0000023 + IMX8DXL_SPI3_CS1_ADMA_LCDIF_RESET 0xd0000023 + IMX8DXL_MCLK_IN1_ADMA_LCDIF_EN 0xd0000023 + IMX8DXL_MCLK_IN0_ADMA_LCDIF_VSYNC 0xd0000023 + IMX8DXL_MCLK_OUT0_ADMA_LCDIF_CLK 0xd0000023 + >; + }; +}; + +&lpspi3 { + status = "disabled"; +}; + +&lpuart1 { + status = "disabled"; +}; + +&sai0 { + status = "disabled"; +}; + +&sai1 { + status = "disabled"; +}; + +&wm8960_1 { + status = "disabled"; +}; + +&wm8960_2 { + status = "disabled"; +}; + +&wm8960_3 { + status = "disabled"; +}; -- 2.43.0
