Commit f5a58577c427125a619a0940593510081cbf2564

Authored by Ye Li
1 parent d9303e7912
Exists in emb_lf_v2022.04

MLK-24958-4 DTS: imx8dxl-evk: Add dedicated DTS for LCD enablemennt

Because LCDIF has lots of pinmux conflict with modules like eQOS, SPI,
ADC, LPUART1, etc. We can't support it by default.
Introduce a new DTS for LCDIF enablement and disable conflicted nodes.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 39840421d4e2d805df1420658629e78925f41490)
(cherry picked from commit 6a402cfcea13b6d34f9c9adb036ecc1bcf161139)
(cherry picked from commit 2d8a314fea42ed5985e2e976af0a7c8c644362f2)
(cherry picked from commit 99460f617b13a4eb1aab04cf00c1813fc6cc4d11)

Showing 2 changed files with 86 additions and 0 deletions Side-by-side Diff

arch/arm/dts/Makefile
... ... @@ -946,6 +946,7 @@
946 946 fsl-imx8dx-mek.dtb \
947 947 fsl-imx8dxl-phantom-mek.dtb \
948 948 fsl-imx8dxl-evk.dtb \
  949 + fsl-imx8dxl-evk-lcdif.dtb \
949 950 fsl-imx8dxl-ddr3-evk.dtb \
950 951 imx8-deneb.dtb \
951 952 imx8-giedi.dtb
arch/arm/dts/fsl-imx8dxl-evk-lcdif.dts
  1 +// SPDX-License-Identifier: GPL-2.0
  2 +/*
  3 + * Copyright 2020 NXP.
  4 + */
  5 +
  6 +#include "fsl-imx8dxl-evk.dts"
  7 +#include "fsl-imx8dxl-evk-u-boot.dtsi"
  8 +
  9 +&eqos {
  10 + status = "disabled";
  11 +};
  12 +
  13 +&lpspi3 {
  14 + status = "disabled";
  15 +};
  16 +
  17 +&iomuxc {
  18 + pinctrl_lcdif: lcdifgrp {
  19 + fsl,pins = <
  20 + SC_P_SPI3_SCK_ADMA_LCDIF_D00 0x00000023
  21 + SC_P_SPI3_SDO_ADMA_LCDIF_D01 0x00000023
  22 + SC_P_SPI3_SDI_ADMA_LCDIF_D02 0x00000023
  23 + SC_P_ENET1_RGMII_TXD3_ADMA_LCDIF_D03 0x00000023
  24 + SC_P_UART1_TX_ADMA_LCDIF_D04 0x00000023
  25 + SC_P_UART1_RX_ADMA_LCDIF_D05 0x00000023
  26 + SC_P_UART1_RTS_B_ADMA_LCDIF_D06 0x00000023
  27 + SC_P_UART1_CTS_B_ADMA_LCDIF_D07 0x00000023
  28 + SC_P_SPI0_SCK_ADMA_LCDIF_D08 0x00000023
  29 + SC_P_SPI0_SDI_ADMA_LCDIF_D09 0x00000023
  30 + SC_P_SPI0_SDO_ADMA_LCDIF_D10 0x00000023
  31 + SC_P_SPI0_CS1_ADMA_LCDIF_D11 0x00000023
  32 + SC_P_SPI0_CS0_ADMA_LCDIF_D12 0x00000023
  33 + SC_P_ADC_IN1_ADMA_LCDIF_D13 0x00200003
  34 + SC_P_ADC_IN0_ADMA_LCDIF_D14 0x00200003
  35 + SC_P_ADC_IN3_ADMA_LCDIF_D15 0x00200003
  36 + SC_P_ADC_IN2_ADMA_LCDIF_D16 0x00200003
  37 + SC_P_ADC_IN5_ADMA_LCDIF_D17 0x00200003
  38 + SC_P_SPI3_CS0_ADMA_LCDIF_HSYNC 0x00000023
  39 + SC_P_SPI3_CS1_ADMA_LCDIF_RESET 0x00000023
  40 + SC_P_MCLK_IN1_ADMA_LCDIF_EN 0x00000023
  41 + SC_P_MCLK_IN0_ADMA_LCDIF_VSYNC 0x00000023
  42 + SC_P_MCLK_OUT0_ADMA_LCDIF_CLK 0x00000023
  43 + >;
  44 + };
  45 +};
  46 +
  47 +&adma_lcdif {
  48 + pinctrl-names = "default";
  49 + pinctrl-0 = <&pinctrl_lcdif>;
  50 + status = "okay";
  51 +
  52 + assigned-clocks = <&clk IMX8QXP_LCD_SEL>,
  53 + <&clk IMX8QXP_LCD_PXL_SEL>,
  54 + <&clk IMX8QXP_ELCDIF_PLL_DIV>;
  55 + assigned-clock-parents = <&clk IMX8QXP_ELCDIF_PLL_DIV>,
  56 + <&clk IMX8QXP_LCD_PXL_BYPASS_DIV>;
  57 + assigned-clock-rates = <0>, <0>, <711000000>;
  58 +
  59 + display = <&display0>;
  60 +
  61 + display0: display@0 {
  62 + bits-per-pixel = <18>;
  63 + bus-width = <24>;
  64 +
  65 + display-timings {
  66 + native-mode = <&timing0>;
  67 + timing0: timing0 {
  68 + clock-frequency = <71100000>;
  69 + hactive = <1280>;
  70 + vactive = <800>;
  71 + hfront-porch = <70>;
  72 + hback-porch = <80>;
  73 + hsync-len = <10>;
  74 + vback-porch = <10>;
  75 + vfront-porch = <10>;
  76 + vsync-len = <3>;
  77 +
  78 + hsync-active = <0>;
  79 + vsync-active = <0>;
  80 + de-active = <1>;
  81 + pixelclk-active = <0>;
  82 + };
  83 + };
  84 + };
  85 +};