Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp
@ 2026-07-15 18:34 Frank.Li
  2026-07-15 18:34 ` [PATCH v2 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL Frank.Li
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

i.MX8DXL and i.MX8QX support LCDIF, which is compatible with i.MX6SX.

- Update lcdif binding doc to support front compatible string:
fsl,imxqxp-lcdif and fsl,imx8dxl-lcdif
- Update simple pannel binding doc and driver to support waiken,101wx001
- update chip dts to support lcdif ip
- add overlay file to enable lcd panel waiken,101wx001 and lcdif
- use onboard pinmux "pinctrl-multiplexer" for on board signal switch

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Changes in v2 (fix sashiko reported problem):
- add power domain required for binding
- fix 136 height
- add acm patch to cleam MCL clock output pin
- remove iomux hog in overlay file
- Link to v1: https://patch.msgid.link/20260714-dxl_lcdif-v1-0-6761a8a6592b@nxp.com

---
Frank Li (7):
      dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL
      dt-bindings: display: simple: Add waiken,101wx001
      drm/panel: simple: Add waiken WKS101WX001-WCT support
      arm64: dts: imx8-ss-dma: Add lcdif support for i.MX8QXP and i.MX8DXL
      arm64: dts: imx8dxl-evk: Add onboard GPIO mux controller
      arm64: dts: imx8dxl-evk: Move ACM MCLK pin to ACM pinctrl
      arm64: dts: imx8dxl-evk: add lcdif overlay

 .../devicetree/bindings/display/fsl,lcdif.yaml     |   4 +
 .../bindings/display/panel/panel-simple.yaml       |   2 +
 .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
 arch/arm64/boot/dts/freescale/Makefile             |   3 +
 arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi     |  29 +++++
 .../boot/dts/freescale/imx8dxl-evk-lcdif.dtso      | 118 +++++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8dxl-evk.dts      |  88 ++++++++++++---
 arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi |  11 ++
 drivers/gpu/drm/panel/panel-simple.c               |  31 ++++++
 9 files changed, 276 insertions(+), 12 deletions(-)
---
base-commit: 31bd73273b9bf03a3fe32227b417f00d4a94c6ac
change-id: 20260709-dxl_lcdif-d6cbdbac92fb

Best regards,
--  
Frank Li <Frank.Li@nxp.com>



^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v2 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL
  2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
@ 2026-07-15 18:34 ` Frank.Li
  2026-07-17  5:19   ` Liu Ying
  2026-07-15 18:34 ` [PATCH v2 2/7] dt-bindings: display: simple: Add waiken,101wx001 Frank.Li
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

From: Frank Li <Frank.Li@nxp.com>

i.MX8QXP and i.MX8DXL have lcdif, which back compatible with i.MX6SX. Add
front compatible string "fsl,imx8dxl-lcdif" and "fsl,imx8qxp-lcdif", which
fallback to "fsl,imx6sx-lcdif".

Required power-domains for both.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
change in v2
- require power-domains (sashiko)
---
 Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
index 2dd0411ec6516..f16bef7f68535 100644
--- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
+++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
@@ -28,9 +28,11 @@ properties:
               - fsl,imx6sll-lcdif
               - fsl,imx6ul-lcdif
               - fsl,imx7d-lcdif
+              - fsl,imx8dxl-lcdif
               - fsl,imx8mm-lcdif
               - fsl,imx8mn-lcdif
               - fsl,imx8mq-lcdif
+              - fsl,imx8qxp-lcdif
           - const: fsl,imx6sx-lcdif
 
   reg:
@@ -152,9 +154,11 @@ allOf:
           contains:
             enum:
               - fsl,imx6sl-lcdif
+              - fsl,imx8dxl-lcdif
               - fsl,imx8mm-lcdif
               - fsl,imx8mn-lcdif
               - fsl,imx8mp-lcdif
+              - fsl,imx8qxp-lcdif
               - fsl,imx93-lcdif
     then:
       required:

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 2/7] dt-bindings: display: simple: Add waiken,101wx001
  2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
  2026-07-15 18:34 ` [PATCH v2 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL Frank.Li
@ 2026-07-15 18:34 ` Frank.Li
  2026-07-17  5:29   ` Liu Ying
  2026-07-15 18:34 ` [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support Frank.Li
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

From: Frank Li <Frank.Li@nxp.com>

Add WKS101WX001-WCT panel, which is an industrial-grade 10.1-inch IPS TFT
LCD capacitive touch screen display module.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 Documentation/devicetree/bindings/display/panel/panel-simple.yaml | 2 ++
 Documentation/devicetree/bindings/vendor-prefixes.yaml            | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index 21453f0d7ce22..01da44ed3e20a 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -349,6 +349,8 @@ properties:
       - vivax,tpc9150-panel
         # VXT 800x480 color TFT LCD panel
       - vxt,vl050-8048nt-c01
+        # waiken 10.1-inch IPS TFT LCD panel with capacitive touch
+      - waiken,101wx001
         # Waveshare 10.1" WXGA (1280x800) LCD panel
       - waveshare,10.1inch-c-panel
         # Waveshare 11.9" (320x1480) LCD panel
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 396044f368e7c..38d6765ed62ed 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1833,6 +1833,8 @@ patternProperties:
     description: VXT Ltd
   "^wacom,.*":
     description: Wacom
+  "^waiken,.*":
+    description: Waiken Technology Co.
   "^wanchanglong,.*":
     description: Wanchanglong Electronics Technology(SHENZHEN)Co.,Ltd.
   "^wand,.*":

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
  2026-07-15 18:34 ` [PATCH v2 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL Frank.Li
  2026-07-15 18:34 ` [PATCH v2 2/7] dt-bindings: display: simple: Add waiken,101wx001 Frank.Li
@ 2026-07-15 18:34 ` Frank.Li
  2026-07-17  5:48   ` Liu Ying
  2026-07-15 18:34 ` [PATCH v2 4/7] arm64: dts: imx8-ss-dma: Add lcdif support for i.MX8QXP and i.MX8DXL Frank.Li
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

From: Frank Li <Frank.Li@nxp.com>

Add support for WKS101WX001-WCT panel, which is an industrial-grade
10.1-inch IPS TFT LCD capacitive touch screen display module.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
change in v2
- update height to 135 from 136 (sashiko)
---
 drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index c09bf3db5e78a..73a21303a612a 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -5171,6 +5171,34 @@ static const struct panel_desc vl050_8048nt_c01 = {
 	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
 };
 
+static const struct drm_display_mode waiken_101wx001_mode = {
+	.clock = 71100,
+	.hdisplay = 1280,
+	.hsync_start = 1280 + 70,
+	.hsync_end = 1280 + 70 + 10,
+	.htotal = 1280 + 70 + 10 + 80,
+	.vdisplay = 800,
+	.vsync_start = 800 + 10,
+	.vsync_end = 800 + 10 + 3,
+	.vtotal = 800 + 10 + 3 + 10,
+	.width_mm = 217,
+	.height_mm = 135,
+	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+};
+
+static const struct panel_desc waiken_101wx001_panel = {
+	.modes = &waiken_101wx001_mode,
+	.num_modes = 1,
+	.bpc = 6,
+	.size = {
+		.width = 217,
+		.height = 135,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
+	.connector_type = DRM_MODE_CONNECTOR_DPI,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE,
+};
+
 static const struct drm_display_mode waveshare_28_lcd_mode = {
 	.clock = 50000,
 	.hdisplay = 480,
@@ -6155,6 +6183,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "vxt,vl050-8048nt-c01",
 		.data = &vl050_8048nt_c01,
+	}, {
+		.compatible = "waiken,101wx001",
+		.data = &waiken_101wx001_panel,
 	}, {
 		.compatible = "waveshare,2.8inch-panel",
 		.data = &waveshare_28_lcd_panel

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 4/7] arm64: dts: imx8-ss-dma: Add lcdif support for i.MX8QXP and i.MX8DXL
  2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
                   ` (2 preceding siblings ...)
  2026-07-15 18:34 ` [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support Frank.Li
@ 2026-07-15 18:34 ` Frank.Li
  2026-07-15 18:34 ` [PATCH v2 5/7] arm64: dts: imx8dxl-evk: Add onboard GPIO mux controller Frank.Li
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

From: Frank Li <Frank.Li@nxp.com>

Add lcdif support for i.MX8QXP and i.MX8DXL.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi     | 29 ++++++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi | 11 ++++++++
 2 files changed, 40 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi b/arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi
index 4de78f870c05c..87082c3fa9338 100644
--- a/arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi
@@ -149,6 +149,24 @@ lpuart3: serial@5a090000 {
 		status = "disabled";
 	};
 
+	adma_lcdif: lcdif@5a180000 {
+		compatible = "fsl,imx8qxp-lcdif", "fsl,imx6sx-lcdif";
+		reg = <0x5a180000 0x10000>;
+		clocks = <&lcd_clk_lpcg IMX_LPCG_CLK_0>,
+			 <&lcd_clk_lpcg IMX_LPCG_CLK_4>,
+			 <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_MISC0>;
+		clock-names = "pix", "axi", "disp_axi";
+		assigned-clocks = <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_PER>,
+				  <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_MISC0>,
+				  <&clk IMX_SC_R_ELCDIF_PLL IMX_SC_PM_CLK_PLL>;
+		assigned-clock-parents = <&clk IMX_SC_R_ELCDIF_PLL IMX_SC_PM_CLK_PLL>,
+					 <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_BYPASS>;
+		assigned-clock-rates = <0>, <24000000>, <804000000>;
+		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+		power-domains = <&pd IMX_SC_R_LCD_0>;
+		status = "disabled";
+	};
+
 	adma_pwm: pwm@5a190000 {
 		compatible = "fsl,imx8qxp-pwm", "fsl,imx27-pwm";
 		reg = <0x5a190000 0x1000>;
@@ -298,6 +316,17 @@ uart3_lpcg: clock-controller@5a490000 {
 		power-domains = <&pd IMX_SC_R_UART_3>;
 	};
 
+	lcd_clk_lpcg: clock-controller@5a580000 {
+		compatible = "fsl,imx8qxp-lpcg";
+		reg = <0x5a580000 0x4>;
+		#clock-cells = <1>;
+		clocks = <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_PER>,
+			 <&dma_ipg_clk>;
+		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
+		clock-output-names = "lcd_clk_lpcg", "lcd_ipg_clk";
+		power-domains = <&pd IMX_SC_R_LCD_0>;
+	};
+
 	adma_pwm_lpcg: clock-controller@5a590000 {
 		compatible = "fsl,imx8qxp-lpcg";
 		reg = <0x5a590000 0x10000>;
diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi b/arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi
index 7a191195dbd97..febf5f8b54ac4 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi
@@ -60,6 +60,17 @@ &acm {
 		      "sai3_rx_bclk";
 };
 
+&adma_lcdif {
+	compatible = "fsl,imx8dxl-lcdif", "fsl,imx6sx-lcdif";
+	assigned-clocks = <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_PER>,
+			  <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_MISC0>,
+			  <&clk IMX_SC_R_ELCDIF_PLL IMX_SC_PM_CLK_PLL>;
+	assigned-clock-parents = <&clk IMX_SC_R_ELCDIF_PLL IMX_SC_PM_CLK_PLL>,
+				 <&clk IMX_SC_R_LCD_0 IMX_SC_PM_CLK_BYPASS>;
+	assigned-clock-rates = <0>, <24000000>, <711000000>;
+	interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+};
+
 &audio_ipg_clk {
 	clock-frequency = <160000000>;
 };

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 5/7] arm64: dts: imx8dxl-evk: Add onboard GPIO mux controller
  2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
                   ` (3 preceding siblings ...)
  2026-07-15 18:34 ` [PATCH v2 4/7] arm64: dts: imx8-ss-dma: Add lcdif support for i.MX8QXP and i.MX8DXL Frank.Li
@ 2026-07-15 18:34 ` Frank.Li
  2026-07-15 18:34 ` [PATCH v2 6/7] arm64: dts: imx8dxl-evk: Move ACM MCLK pin to ACM pinctrl Frank.Li
  2026-07-15 18:34 ` [PATCH v2 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay Frank.Li
  6 siblings, 0 replies; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

From: Frank Li <Frank.Li@nxp.com>

Add a GPIO mux controller to describe the onboard signal multiplexer.
Previously, the device tree relied on the hardware reset defaults to
select the mux state. Now that the kernel supports the pinctrl-multiplexer
framework, describe the onboard mux explicitly and let the kernel configure
the required routing.

Prepare for additional device tree overlays that require different mux
configurations.

Remove the regulator-m2uart1sel node, which incorrectly modeled the board
mux as a regulator.

There are no backward compatibility concerns, as the affected functions
(lpuart1 for Bluetooth, spi3, and m4_lpuart) are not used by existing other
users such as U-Boot.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8dxl-evk.dts | 76 +++++++++++++++++++++++----
 1 file changed, 65 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
index 78e8d41e67916..33941645641f5 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
@@ -97,14 +97,68 @@ vdevbuffer: memory-vdevbuffer@90400000 {
 		};
 	};
 
-	m2_uart1_sel: regulator-m2uart1sel {
-		compatible = "regulator-fixed";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-		regulator-name = "m2_uart1_sel";
-		gpio = <&pca6416_1 6 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-		regulator-always-on;
+	m4_debug_mux: mux-controller-0 {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		#mux-state-cells = <1>;
+		mux-gpios = <&pca6416_1 3 GPIO_ACTIVE_HIGH>;
+	};
+
+	spi3_mux: mux-controller-1 {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		#mux-state-cells = <1>;
+		mux-gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>;
+	};
+
+	uart1_mux: mux-controller-2 {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		#mux-state-cells = <1>;
+		mux-gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>;
+	};
+
+	spi0_mux: mux-controller-3 {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		#mux-state-cells = <1>;
+		mux-gpios = <&pca6416_1 7 GPIO_ACTIVE_HIGH>;
+	};
+
+	pinctrl-gpiomux {
+		compatible = "pinctrl-multiplexer";
+
+		m4_debug_fun: cm4-uart-grp {
+			mux-states = <&m4_debug_mux 1>;
+		};
+
+		spi0_fun: spi0-grp {
+			mux-states = <&spi0_mux 1>;
+		};
+
+		spi3_fun: spi3-grp {
+			mux-states = <&spi3_mux 1>;
+		};
+
+		uart1_fun: uart1-grp {
+			mux-states = <&uart1_mux 1>;
+		};
+
+		lcd_0_fun: lcd0-grp {
+			mux-states = <&spi0_mux 0>;
+		};
+
+		lcd_1_fun: lcd1-grp {
+			mux-states = <&spi3_mux 0>;
+		};
+
+		lcd_2_fun: lcd2-grp {
+			mux-states = <&uart1_mux 0>;
+		};
+
+		lcd_3_fun: lcd3-grp {
+			mux-states = <&m4_debug_mux 0>;
+		};
 	};
 
 	mux3_en: regulator-0 {
@@ -620,7 +674,7 @@ &lpuart0 {
 
 &lpuart1 {
 	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_lpuart1>;
+	pinctrl-0 = <&pinctrl_lpuart1>, <&uart1_fun>;
 	status = "okay";
 
 	bluetooth {
@@ -658,7 +712,7 @@ &cm40_intmux {
 
 &cm40_lpuart {
 	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_cm40_lpuart>;
+	pinctrl-0 = <&pinctrl_cm40_lpuart>, <&m4_debug_fun>;
 	status = "disabled";
 };
 
@@ -876,7 +930,7 @@ &usdhc2 {
 &lpspi3 {
 	fsl,spi-only-use-cs1-sel;
 	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_lpspi3>;
+	pinctrl-0 = <&pinctrl_lpspi3>, <&spi3_fun>;
 	status = "okay";
 };
 

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 6/7] arm64: dts: imx8dxl-evk: Move ACM MCLK pin to ACM pinctrl
  2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
                   ` (4 preceding siblings ...)
  2026-07-15 18:34 ` [PATCH v2 5/7] arm64: dts: imx8dxl-evk: Add onboard GPIO mux controller Frank.Li
@ 2026-07-15 18:34 ` Frank.Li
  2026-07-15 18:34 ` [PATCH v2 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay Frank.Li
  6 siblings, 0 replies; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

From: Frank Li <Frank.Li@nxp.com>

Move the IMX8DXL_SPI3_CS0_ADMA_ACM_MCLK_OUT1 pin from the iomuxc hog
group to the ACM pinctrl state.

The pin is used as the ACM MCLK output and should be configured by its
actual consumer rather than unconditionally claimed by a pinctrl hog.
Prepare for LCDIF support, which uses the same pin.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8dxl-evk.dts | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
index 33941645641f5..3b96bab6aec80 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
@@ -347,6 +347,11 @@ sound-wm8960-3 {
 	};
 };
 
+&acm {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_mclk>;
+};
+
 &adc0 {
 	vref-supply = <&reg_vref_1v8>;
 	status = "okay";
@@ -942,7 +947,6 @@ pinctrl_hog: hoggrp {
 		fsl,pins = <
 			IMX8DXL_COMP_CTL_GPIO_1V8_3V3_GPIORHB_PAD	0x000514a0
 			IMX8DXL_COMP_CTL_GPIO_1V8_3V3_GPIORHK_PAD	0x000014a0
-			IMX8DXL_SPI3_CS0_ADMA_ACM_MCLK_OUT1		0x0600004c
 			IMX8DXL_SNVS_TAMPER_OUT1_LSIO_GPIO2_IO05_IN	0x0600004c
 		>;
 	};
@@ -1062,6 +1066,12 @@ IMX8DXL_SPI1_SDI_ADMA_I2C3_SCL		0x06000021
 		>;
 	};
 
+	pinctrl_mclk: mclkgrp {
+		fsl,pins = <
+			 IMX8DXL_SPI3_CS0_ADMA_ACM_MCLK_OUT1	0x0600004c
+		>;
+	};
+
 	pinctrl_lpuart0: lpuart0grp {
 		fsl,pins = <
 			IMX8DXL_UART0_RX_ADMA_UART0_RX		0x06000020

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay
  2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
                   ` (5 preceding siblings ...)
  2026-07-15 18:34 ` [PATCH v2 6/7] arm64: dts: imx8dxl-evk: Move ACM MCLK pin to ACM pinctrl Frank.Li
@ 2026-07-15 18:34 ` Frank.Li
  6 siblings, 0 replies; 20+ messages in thread
From: Frank.Li @ 2026-07-15 18:34 UTC (permalink / raw)
  To: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
	Robert Chiras, Liu Ying, Frank Li

From: Frank Li <Frank.Li@nxp.com>

Add lcd panel (waiken,101wx001) support.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
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 = <&reg_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



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL
  2026-07-15 18:34 ` [PATCH v2 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL Frank.Li
@ 2026-07-17  5:19   ` Liu Ying
  0 siblings, 0 replies; 20+ messages in thread
From: Liu Ying @ 2026-07-17  5:19 UTC (permalink / raw)
  To: Frank.Li
  Cc: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Wed, Jul 15, 2026 at 02:34:46PM -0400, Frank.Li@oss.nxp.com wrote:
> From: Frank Li <Frank.Li@nxp.com>
> 
> i.MX8QXP and i.MX8DXL have lcdif, which back compatible with i.MX6SX. Add
> front compatible string "fsl,imx8dxl-lcdif" and "fsl,imx8qxp-lcdif", which
> fallback to "fsl,imx6sx-lcdif".
> 
> Required power-domains for both.

Need to add a constraint for both that only allows 3 clocks and clock-names?

> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change in v2
> - require power-domains (sashiko)
> ---
>  Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> index 2dd0411ec6516..f16bef7f68535 100644
> --- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> +++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> @@ -28,9 +28,11 @@ properties:
>                - fsl,imx6sll-lcdif
>                - fsl,imx6ul-lcdif
>                - fsl,imx7d-lcdif
> +              - fsl,imx8dxl-lcdif
>                - fsl,imx8mm-lcdif
>                - fsl,imx8mn-lcdif
>                - fsl,imx8mq-lcdif
> +              - fsl,imx8qxp-lcdif
>            - const: fsl,imx6sx-lcdif
>  
>    reg:
> @@ -152,9 +154,11 @@ allOf:
>            contains:
>              enum:
>                - fsl,imx6sl-lcdif
> +              - fsl,imx8dxl-lcdif
>                - fsl,imx8mm-lcdif
>                - fsl,imx8mn-lcdif
>                - fsl,imx8mp-lcdif
> +              - fsl,imx8qxp-lcdif
>                - fsl,imx93-lcdif
>      then:
>        required:
> 
> -- 
> 2.43.0
> 

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 2/7] dt-bindings: display: simple: Add waiken,101wx001
  2026-07-15 18:34 ` [PATCH v2 2/7] dt-bindings: display: simple: Add waiken,101wx001 Frank.Li
@ 2026-07-17  5:29   ` Liu Ying
  0 siblings, 0 replies; 20+ messages in thread
From: Liu Ying @ 2026-07-17  5:29 UTC (permalink / raw)
  To: Frank.Li
  Cc: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Wed, Jul 15, 2026 at 02:34:47PM -0400, Frank.Li@oss.nxp.com wrote:
> From: Frank Li <Frank.Li@nxp.com>
> 
> Add WKS101WX001-WCT panel, which is an industrial-grade 10.1-inch IPS TFT
> LCD capacitive touch screen display module.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
>  Documentation/devicetree/bindings/display/panel/panel-simple.yaml | 2 ++
>  Documentation/devicetree/bindings/vendor-prefixes.yaml            | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> index 21453f0d7ce22..01da44ed3e20a 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> @@ -349,6 +349,8 @@ properties:
>        - vivax,tpc9150-panel
>          # VXT 800x480 color TFT LCD panel
>        - vxt,vl050-8048nt-c01
> +        # waiken 10.1-inch IPS TFT LCD panel with capacitive touch

To follow comment convention for each compatible string:
s/waiken/Waiken/
s/10.1-inch/10.1"/


> +      - waiken,101wx001

Commit message mentions "WKS101WX001-WCT", so can you use full model name?

>          # Waveshare 10.1" WXGA (1280x800) LCD panel
>        - waveshare,10.1inch-c-panel
>          # Waveshare 11.9" (320x1480) LCD panel
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 396044f368e7c..38d6765ed62ed 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -1833,6 +1833,8 @@ patternProperties:
>      description: VXT Ltd
>    "^wacom,.*":
>      description: Wacom
> +  "^waiken,.*":
> +    description: Waiken Technology Co.

Home page[1] mentions "Waiken Technology Limited", so use the same for
description?

[1] https://www.waikentech.com/

>    "^wanchanglong,.*":
>      description: Wanchanglong Electronics Technology(SHENZHEN)Co.,Ltd.
>    "^wand,.*":
> 
> -- 
> 2.43.0
> 

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-15 18:34 ` [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support Frank.Li
@ 2026-07-17  5:48   ` Liu Ying
  2026-07-22  0:05     ` Frank Li
  0 siblings, 1 reply; 20+ messages in thread
From: Liu Ying @ 2026-07-17  5:48 UTC (permalink / raw)
  To: Frank.Li
  Cc: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> From: Frank Li <Frank.Li@nxp.com>
> 
> Add support for WKS101WX001-WCT panel, which is an industrial-grade
> 10.1-inch IPS TFT LCD capacitive touch screen display module.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change in v2
> - update height to 135 from 136 (sashiko)
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index c09bf3db5e78a..73a21303a612a 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -5171,6 +5171,34 @@ static const struct panel_desc vl050_8048nt_c01 = {
>  	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
>  };
>  
> +static const struct drm_display_mode waiken_101wx001_mode = {
> +	.clock = 71100,
> +	.hdisplay = 1280,
> +	.hsync_start = 1280 + 70,
> +	.hsync_end = 1280 + 70 + 10,
> +	.htotal = 1280 + 70 + 10 + 80,
> +	.vdisplay = 800,
> +	.vsync_start = 800 + 10,
> +	.vsync_end = 800 + 10 + 3,
> +	.vtotal = 800 + 10 + 3 + 10,
> +	.width_mm = 217,
> +	.height_mm = 135,
> +	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> +};
> +
> +static const struct panel_desc waiken_101wx001_panel = {
> +	.modes = &waiken_101wx001_mode,
> +	.num_modes = 1,
> +	.bpc = 6,
> +	.size = {
> +		.width = 217,
> +		.height = 135,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,

I find a panel specification in link [1] and guess it's for this panel.
It indicates that each color component width is 8 in 'RGB Input Interface
Description' table.

[1] https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Optimizing-eLCDIF-throughput/m-p/982741/highlight/true?profile.language=en#M5348

> +	.connector_type = DRM_MODE_CONNECTOR_DPI,

Seems that the panel also supports LVDS input according to the specification,
since it mentions 'RGB or LVDS Interface'?

> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE,
> +};
> +
>  static const struct drm_display_mode waveshare_28_lcd_mode = {
>  	.clock = 50000,
>  	.hdisplay = 480,
> @@ -6155,6 +6183,9 @@ static const struct of_device_id platform_of_match[] = {
>  	}, {
>  		.compatible = "vxt,vl050-8048nt-c01",
>  		.data = &vl050_8048nt_c01,
> +	}, {
> +		.compatible = "waiken,101wx001",
> +		.data = &waiken_101wx001_panel,
>  	}, {
>  		.compatible = "waveshare,2.8inch-panel",
>  		.data = &waveshare_28_lcd_panel
> 
> -- 
> 2.43.0
> 

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-17  5:48   ` Liu Ying
@ 2026-07-22  0:05     ` Frank Li
  2026-07-22  3:44       ` Liu Ying
  0 siblings, 1 reply; 20+ messages in thread
From: Frank Li @ 2026-07-22  0:05 UTC (permalink / raw)
  To: Liu Ying
  Cc: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > From: Frank Li <Frank.Li@nxp.com>
> >
> > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> >
> > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > ---
> > change in v2
> > - update height to 135 from 136 (sashiko)
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> >  1 file changed, 31 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index c09bf3db5e78a..73a21303a612a 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -5171,6 +5171,34 @@ static const struct panel_desc vl050_8048nt_c01 = {
> >  	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
> >  };
> >
> > +static const struct drm_display_mode waiken_101wx001_mode = {
> > +	.clock = 71100,
> > +	.hdisplay = 1280,
> > +	.hsync_start = 1280 + 70,
> > +	.hsync_end = 1280 + 70 + 10,
> > +	.htotal = 1280 + 70 + 10 + 80,
> > +	.vdisplay = 800,
> > +	.vsync_start = 800 + 10,
> > +	.vsync_end = 800 + 10 + 3,
> > +	.vtotal = 800 + 10 + 3 + 10,
> > +	.width_mm = 217,
> > +	.height_mm = 135,
> > +	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> > +};
> > +
> > +static const struct panel_desc waiken_101wx001_panel = {
> > +	.modes = &waiken_101wx001_mode,
> > +	.num_modes = 1,
> > +	.bpc = 6,
> > +	.size = {
> > +		.width = 217,
> > +		.height = 135,
> > +	},
> > +	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
>
> I find a panel specification in link [1] and guess it's for this panel.
> It indicates that each color component width is 8 in 'RGB Input Interface
> Description' table.
>
> [1] https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Optimizing-eLCDIF-throughput/m-p/982741/highlight/true?profile.language=en#M5348
>
> > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
>
> Seems that the panel also supports LVDS input according to the specification,
> since it mentions 'RGB or LVDS Interface'?

Need hardware rework to use LVDS. Need remove banch of resistors. Should it
be treat as difference panel by different compatible string? hardware
actually changed.

Frank

>
> > +	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE,
> > +};
> > +
> >  static const struct drm_display_mode waveshare_28_lcd_mode = {
> >  	.clock = 50000,
> >  	.hdisplay = 480,
> > @@ -6155,6 +6183,9 @@ static const struct of_device_id platform_of_match[] = {
> >  	}, {
> >  		.compatible = "vxt,vl050-8048nt-c01",
> >  		.data = &vl050_8048nt_c01,
> > +	}, {
> > +		.compatible = "waiken,101wx001",
> > +		.data = &waiken_101wx001_panel,
> >  	}, {
> >  		.compatible = "waveshare,2.8inch-panel",
> >  		.data = &waveshare_28_lcd_panel
> >
> > --
> > 2.43.0
> >
>
> --
> Regards,
> Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-22  0:05     ` Frank Li
@ 2026-07-22  3:44       ` Liu Ying
  2026-07-22  3:57         ` Liu Ying
  0 siblings, 1 reply; 20+ messages in thread
From: Liu Ying @ 2026-07-22  3:44 UTC (permalink / raw)
  To: Frank Li
  Cc: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > From: Frank Li <Frank.Li@nxp.com>
> > >
> > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > >
> > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > ---
> > > change in v2
> > > - update height to 135 from 136 (sashiko)
> > > ---
> > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > >  1 file changed, 31 insertions(+)

[...]

> > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> >
> > Seems that the panel also supports LVDS input according to the specification,
> > since it mentions 'RGB or LVDS Interface'?
> 
> Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> be treat as difference panel by different compatible string? hardware
> actually changed.

Not sure how to handle that.

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-22  3:44       ` Liu Ying
@ 2026-07-22  3:57         ` Liu Ying
  2026-07-22 22:12           ` Frank Li
  0 siblings, 1 reply; 20+ messages in thread
From: Liu Ying @ 2026-07-22  3:57 UTC (permalink / raw)
  To: Frank Li
  Cc: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Wed, Jul 22, 2026 at 11:44:09AM +0800, Liu Ying wrote:
> On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> > On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > > From: Frank Li <Frank.Li@nxp.com>
> > > >
> > > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > > >
> > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > ---
> > > > change in v2
> > > > - update height to 135 from 136 (sashiko)
> > > > ---
> > > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > > >  1 file changed, 31 insertions(+)
> 
> [...]
> 
> > > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> > >
> > > Seems that the panel also supports LVDS input according to the specification,
> > > since it mentions 'RGB or LVDS Interface'?
> > 
> > Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> > be treat as difference panel by different compatible string? hardware
> > actually changed.
> 
> Not sure how to handle that.

Wait, you probably may drop this patch, just document the compatible
string in panel-simple.yaml and panel-lvds.yaml and use add a fallback
compatible string "panel-dpi" or "panel-lvds" in device tree plus a
panel-timing node.

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-22  3:57         ` Liu Ying
@ 2026-07-22 22:12           ` Frank Li
  2026-07-23  2:22             ` Liu Ying
  0 siblings, 1 reply; 20+ messages in thread
From: Frank Li @ 2026-07-22 22:12 UTC (permalink / raw)
  To: Liu Ying, Neil Armstrong
  Cc: Marek Vasut, Stefan Agner, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Wed, Jul 22, 2026 at 11:57:09AM +0800, Liu Ying wrote:
> On Wed, Jul 22, 2026 at 11:44:09AM +0800, Liu Ying wrote:
> > On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> > > On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > > > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > > > From: Frank Li <Frank.Li@nxp.com>
> > > > >
> > > > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > > > >
> > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > ---
> > > > > change in v2
> > > > > - update height to 135 from 136 (sashiko)
> > > > > ---
> > > > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > > > >  1 file changed, 31 insertions(+)
> >
> > [...]
> >
> > > > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> > > >
> > > > Seems that the panel also supports LVDS input according to the specification,
> > > > since it mentions 'RGB or LVDS Interface'?
> > >
> > > Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> > > be treat as difference panel by different compatible string? hardware
> > > actually changed.
> >
> > Not sure how to handle that.
>
> Wait, you probably may drop this patch, just document the compatible
> string in panel-simple.yaml and panel-lvds.yaml and use add a fallback
> compatible string "panel-dpi" or "panel-lvds" in device tree plus a
> panel-timing node.

Look like recently prefer add panel-timing informaiton into c code instead
of put it into dts file. But I am not sure about it. Just check recent's
log history.

Add Neil Armstrong for comments.

Frank

>
> --
> Regards,
> Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-22 22:12           ` Frank Li
@ 2026-07-23  2:22             ` Liu Ying
  2026-07-23 21:36               ` Frank Li
  0 siblings, 1 reply; 20+ messages in thread
From: Liu Ying @ 2026-07-23  2:22 UTC (permalink / raw)
  To: Frank Li
  Cc: Neil Armstrong, Marek Vasut, Stefan Agner, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Wed, Jul 22, 2026 at 05:12:47PM -0500, Frank Li wrote:
> On Wed, Jul 22, 2026 at 11:57:09AM +0800, Liu Ying wrote:
> > On Wed, Jul 22, 2026 at 11:44:09AM +0800, Liu Ying wrote:
> > > On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> > > > On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > > > > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > > > > From: Frank Li <Frank.Li@nxp.com>
> > > > > >
> > > > > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > > > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > > > > >
> > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > ---
> > > > > > change in v2
> > > > > > - update height to 135 from 136 (sashiko)
> > > > > > ---
> > > > > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > > > > >  1 file changed, 31 insertions(+)
> > >
> > > [...]
> > >
> > > > > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> > > > >
> > > > > Seems that the panel also supports LVDS input according to the specification,
> > > > > since it mentions 'RGB or LVDS Interface'?
> > > >
> > > > Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> > > > be treat as difference panel by different compatible string? hardware
> > > > actually changed.
> > >
> > > Not sure how to handle that.
> >
> > Wait, you probably may drop this patch, just document the compatible
> > string in panel-simple.yaml and panel-lvds.yaml and use add a fallback
> > compatible string "panel-dpi" or "panel-lvds" in device tree plus a
> > panel-timing node.
> 
> Look like recently prefer add panel-timing informaiton into c code instead
> of put it into dts file. But I am not sure about it. Just check recent's
> log history.

If display timing is specified in panel-simple.c, then you have to specify
the connector_type there too, right?  The problem here is that you don't
know the connector_type, as it could be either LVDS or DPI, and I'd assume
that we don't want two compatible strings - one for LVDS and the other for
DPI.  Although display timing in panel-simple.c avoids duplicated panel-timing
nodes across various potential DT files, I think you have the "good" reason
here to use the panel-timing node + fallback compatible string with one single
panel specific compatible string.

> 
> Add Neil Armstrong for comments.
> 
> Frank
> 
> >
> > --
> > Regards,
> > Liu Ying

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-23  2:22             ` Liu Ying
@ 2026-07-23 21:36               ` Frank Li
  2026-07-24  2:27                 ` Liu Ying
  0 siblings, 1 reply; 20+ messages in thread
From: Frank Li @ 2026-07-23 21:36 UTC (permalink / raw)
  To: Liu Ying
  Cc: Neil Armstrong, Marek Vasut, Stefan Agner, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Thu, Jul 23, 2026 at 10:22:10AM +0800, Liu Ying wrote:
> On Wed, Jul 22, 2026 at 05:12:47PM -0500, Frank Li wrote:
> > On Wed, Jul 22, 2026 at 11:57:09AM +0800, Liu Ying wrote:
> > > On Wed, Jul 22, 2026 at 11:44:09AM +0800, Liu Ying wrote:
> > > > On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> > > > > On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > > > > > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > > > > > From: Frank Li <Frank.Li@nxp.com>
> > > > > > >
> > > > > > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > > > > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > > > > > >
> > > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > > ---
> > > > > > > change in v2
> > > > > > > - update height to 135 from 136 (sashiko)
> > > > > > > ---
> > > > > > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > > > > > >  1 file changed, 31 insertions(+)
> > > >
> > > > [...]
> > > >
> > > > > > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> > > > > >
> > > > > > Seems that the panel also supports LVDS input according to the specification,
> > > > > > since it mentions 'RGB or LVDS Interface'?
> > > > >
> > > > > Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> > > > > be treat as difference panel by different compatible string? hardware
> > > > > actually changed.
> > > >
> > > > Not sure how to handle that.
> > >
> > > Wait, you probably may drop this patch, just document the compatible
> > > string in panel-simple.yaml and panel-lvds.yaml and use add a fallback

panel-simple.yaml don't allow fallback to panel-dpi. Need seperated yaml
for it.

> > > compatible string "panel-dpi" or "panel-lvds" in device tree plus a
> > > panel-timing node.

previous dt-binding discuss, don't allow failback to two compatible string
sorry, I can't remember exactly thread.

like
items:
  - const: ws101w001-wct
  - enum:
       - panel-dpi
       - panel-lvds

> >
> > Look like recently prefer add panel-timing informaiton into c code instead
> > of put it into dts file. But I am not sure about it. Just check recent's
> > log history.
>
> If display timing is specified in panel-simple.c, then you have to specify
> the connector_type there too, right?  The problem here is that you don't
> know the connector_type, as it could be either LVDS or DPI, and I'd assume
> that we don't want two compatible strings - one for LVDS and the other for
> DPI.

If supported both type, generally need customer property and new panel
driver to switch between dpi / lvds

or use
	ports {

		port@0: //connect dpi
		port@1: //connect lvds
	};


I think we can defer this lvds work until it is actually used because
- need a big hardware rework to support lvds, most likely it will not be
appeared at real productions. If it mass production, vendor most likely use
difference module number for it.
- it may be end of life if there are not much users.

Frank

> Although display timing in panel-simple.c avoids duplicated panel-timing
> nodes across various potential DT files, I think you have the "good" reason
> here to use the panel-timing node + fallback compatible string with one single
> panel specific compatible string.
>
> >
> > Add Neil Armstrong for comments.
> >
> > Frank
> >
> > >
> > > --
> > > Regards,
> > > Liu Ying
>
> --
> Regards,
> Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-23 21:36               ` Frank Li
@ 2026-07-24  2:27                 ` Liu Ying
  2026-07-24  3:16                   ` Frank Li
  0 siblings, 1 reply; 20+ messages in thread
From: Liu Ying @ 2026-07-24  2:27 UTC (permalink / raw)
  To: Frank Li
  Cc: Neil Armstrong, Marek Vasut, Stefan Agner, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Thu, Jul 23, 2026 at 04:36:39PM -0500, Frank Li wrote:
> On Thu, Jul 23, 2026 at 10:22:10AM +0800, Liu Ying wrote:
> > On Wed, Jul 22, 2026 at 05:12:47PM -0500, Frank Li wrote:
> > > On Wed, Jul 22, 2026 at 11:57:09AM +0800, Liu Ying wrote:
> > > > On Wed, Jul 22, 2026 at 11:44:09AM +0800, Liu Ying wrote:
> > > > > On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> > > > > > On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > > > > > > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > > > > > > From: Frank Li <Frank.Li@nxp.com>
> > > > > > > >
> > > > > > > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > > > > > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > > > > > > >
> > > > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > > > ---
> > > > > > > > change in v2
> > > > > > > > - update height to 135 from 136 (sashiko)
> > > > > > > > ---
> > > > > > > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > > > > > > >  1 file changed, 31 insertions(+)
> > > > >
> > > > > [...]
> > > > >
> > > > > > > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> > > > > > >
> > > > > > > Seems that the panel also supports LVDS input according to the specification,
> > > > > > > since it mentions 'RGB or LVDS Interface'?
> > > > > >
> > > > > > Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> > > > > > be treat as difference panel by different compatible string? hardware
> > > > > > actually changed.
> > > > >
> > > > > Not sure how to handle that.
> > > >
> > > > Wait, you probably may drop this patch, just document the compatible
> > > > string in panel-simple.yaml and panel-lvds.yaml and use add a fallback
> 
> panel-simple.yaml don't allow fallback to panel-dpi. Need seperated yaml
> for it.

Really?  How does it disallow that?

I can see newhaven,nhd-4.3-480272ef-atxl and osddisplays,osd070t1718-19ts
are documented in panel-simple.yaml and used with the "panel-dpi" fallback
compatible string.

Documentation/devicetree/bindings/display/panel/panel-simple.yaml:244:      - newhaven,nhd-4.3-480272ef-atxl
arch/arm/boot/dts/ti/omap/am437x-sk-evm.dts:127:                compatible = "newhaven,nhd-4.3-480272ef-atxl", "panel-dpi";

Documentation/devicetree/bindings/display/panel/panel-simple.yaml:268:      - osddisplays,osd070t1718-19ts
arch/arm/boot/dts/ti/omap/am437x-gp-evm.dts:89:         compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
arch/arm/boot/dts/ti/omap/am43x-epos-evm.dts:45:                compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
arch/arm/boot/dts/ti/omap/am57xx-evm.dtso:62:           compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";

> 
> > > > compatible string "panel-dpi" or "panel-lvds" in device tree plus a
> > > > panel-timing node.
> 
> previous dt-binding discuss, don't allow failback to two compatible string
> sorry, I can't remember exactly thread.
> 
> like
> items:
>   - const: ws101w001-wct
>   - enum:
>        - panel-dpi
>        - panel-lvds

I meant just to document the panel in panel-simple.yaml and panel-lvds.yaml.
No need to add a dedicated DT binding file with such a compatible property
for this panel.

> 
> > >
> > > Look like recently prefer add panel-timing informaiton into c code instead
> > > of put it into dts file. But I am not sure about it. Just check recent's
> > > log history.
> >
> > If display timing is specified in panel-simple.c, then you have to specify
> > the connector_type there too, right?  The problem here is that you don't
> > know the connector_type, as it could be either LVDS or DPI, and I'd assume
> > that we don't want two compatible strings - one for LVDS and the other for
> > DPI.
> 
> If supported both type, generally need customer property and new panel
> driver to switch between dpi / lvds
> 
> or use
> 	ports {
> 
> 		port@0: //connect dpi
> 		port@1: //connect lvds
> 	};

I'd say a new panel driver for this panel is a bit overkill.

> 
> 
> I think we can defer this lvds work until it is actually used because
> - need a big hardware rework to support lvds, most likely it will not be

Per panel spec, just remove a few resistors, which doesn't sound like a
big rework to me.  But, perhaps, this doesn't impact SW solution a lot though.

> appeared at real productions. If it mass production, vendor most likely use
> difference module number for it.
> - it may be end of life if there are not much users.

I'd prefer a mature solution which handles both DPI and LVDS interfaces
correctly in the first place.

Anyway, just my two cents here.  "DRM PANEL DRIVERS" maintainers or DRM
subsystem maintainers may override me.

> 
> Frank
> 
> > Although display timing in panel-simple.c avoids duplicated panel-timing
> > nodes across various potential DT files, I think you have the "good" reason
> > here to use the panel-timing node + fallback compatible string with one single
> > panel specific compatible string.
> >
> > >
> > > Add Neil Armstrong for comments.
> > >
> > > Frank
> > >
> > > >
> > > > --
> > > > Regards,
> > > > Liu Ying
> >
> > --
> > Regards,
> > Liu Ying

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-24  2:27                 ` Liu Ying
@ 2026-07-24  3:16                   ` Frank Li
  2026-07-24  3:56                     ` Liu Ying
  0 siblings, 1 reply; 20+ messages in thread
From: Frank Li @ 2026-07-24  3:16 UTC (permalink / raw)
  To: Liu Ying
  Cc: Neil Armstrong, Marek Vasut, Stefan Agner, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Fri, Jul 24, 2026 at 10:27:13AM +0800, Liu Ying wrote:
> On Thu, Jul 23, 2026 at 04:36:39PM -0500, Frank Li wrote:
> > On Thu, Jul 23, 2026 at 10:22:10AM +0800, Liu Ying wrote:
> > > On Wed, Jul 22, 2026 at 05:12:47PM -0500, Frank Li wrote:
> > > > On Wed, Jul 22, 2026 at 11:57:09AM +0800, Liu Ying wrote:
> > > > > On Wed, Jul 22, 2026 at 11:44:09AM +0800, Liu Ying wrote:
> > > > > > On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> > > > > > > On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > > > > > > > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > > > > > > > From: Frank Li <Frank.Li@nxp.com>
> > > > > > > > >
> > > > > > > > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > > > > > > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > > > > > > > >
> > > > > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > > > > ---
> > > > > > > > > change in v2
> > > > > > > > > - update height to 135 from 136 (sashiko)
> > > > > > > > > ---
> > > > > > > > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > > > > > > > >  1 file changed, 31 insertions(+)
> > > > > >
> > > > > > [...]
> > > > > >
> > > > > > > > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> > > > > > > >
> > > > > > > > Seems that the panel also supports LVDS input according to the specification,
> > > > > > > > since it mentions 'RGB or LVDS Interface'?
> > > > > > >
> > > > > > > Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> > > > > > > be treat as difference panel by different compatible string? hardware
> > > > > > > actually changed.
> > > > > >
> > > > > > Not sure how to handle that.
> > > > >
> > > > > Wait, you probably may drop this patch, just document the compatible
> > > > > string in panel-simple.yaml and panel-lvds.yaml and use add a fallback
> >
> > panel-simple.yaml don't allow fallback to panel-dpi. Need seperated yaml
> > for it.
>
> Really?  How does it disallow that?
>
> I can see newhaven,nhd-4.3-480272ef-atxl and osddisplays,osd070t1718-19ts
> are documented in panel-simple.yaml and used with the "panel-dpi" fallback
> compatible string.
>
> Documentation/devicetree/bindings/display/panel/panel-simple.yaml:244:      - newhaven,nhd-4.3-480272ef-atxl
> arch/arm/boot/dts/ti/omap/am437x-sk-evm.dts:127:                compatible = "newhaven,nhd-4.3-480272ef-atxl", "panel-dpi";
>
> Documentation/devicetree/bindings/display/panel/panel-simple.yaml:268:      - osddisplays,osd070t1718-19ts
> arch/arm/boot/dts/ti/omap/am437x-gp-evm.dts:89:         compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
> arch/arm/boot/dts/ti/omap/am43x-epos-evm.dts:45:                compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
> arch/arm/boot/dts/ti/omap/am57xx-evm.dtso:62:           compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";

It can't pass DTB_CHECK. it may add at earily time. panel-simple.yaml
have not fallback compatible string. I tried it. DTB_CHECK will complain
too long compatible string if add "panel-dpi".

>
> >
> > > > > compatible string "panel-dpi" or "panel-lvds" in device tree plus a
> > > > > panel-timing node.
> >
> > previous dt-binding discuss, don't allow failback to two compatible string
> > sorry, I can't remember exactly thread.
> >
> > like
> > items:
> >   - const: ws101w001-wct
> >   - enum:
> >        - panel-dpi
> >        - panel-lvds
>
> I meant just to document the panel in panel-simple.yaml and panel-lvds.yaml.
> No need to add a dedicated DT binding file with such a compatible property
> for this panel.

panel-lvds.yaml allow fallback to panel-lvds, but panel-simple.yaml not.
all binding which allow fallback to panel-dpi, there are seperate yaml file
for it.

of course TI or old platform, especially arm32 platform wrongly use it
regardless DTB check warning. But for new platform, we can't do that as it.

Frank
>
> >
> > > >
> > > > Look like recently prefer add panel-timing informaiton into c code instead
> > > > of put it into dts file. But I am not sure about it. Just check recent's
> > > > log history.
> > >
> > > If display timing is specified in panel-simple.c, then you have to specify
> > > the connector_type there too, right?  The problem here is that you don't
> > > know the connector_type, as it could be either LVDS or DPI, and I'd assume
> > > that we don't want two compatible strings - one for LVDS and the other for
> > > DPI.
> >
> > If supported both type, generally need customer property and new panel
> > driver to switch between dpi / lvds
> >
> > or use
> > 	ports {
> >
> > 		port@0: //connect dpi
> > 		port@1: //connect lvds
> > 	};
>
> I'd say a new panel driver for this panel is a bit overkill.
>
> >
> >
> > I think we can defer this lvds work until it is actually used because
> > - need a big hardware rework to support lvds, most likely it will not be
>
> Per panel spec, just remove a few resistors, which doesn't sound like a
> big rework to me.  But, perhaps, this doesn't impact SW solution a lot though.
>
> > appeared at real productions. If it mass production, vendor most likely use
> > difference module number for it.
> > - it may be end of life if there are not much users.
>
> I'd prefer a mature solution which handles both DPI and LVDS interfaces
> correctly in the first place.
>
> Anyway, just my two cents here.  "DRM PANEL DRIVERS" maintainers or DRM
> subsystem maintainers may override me.
>
> >
> > Frank
> >
> > > Although display timing in panel-simple.c avoids duplicated panel-timing
> > > nodes across various potential DT files, I think you have the "good" reason
> > > here to use the panel-timing node + fallback compatible string with one single
> > > panel specific compatible string.
> > >
> > > >
> > > > Add Neil Armstrong for comments.
> > > >
> > > > Frank
> > > >
> > > > >
> > > > > --
> > > > > Regards,
> > > > > Liu Ying
> > >
> > > --
> > > Regards,
> > > Liu Ying
>
> --
> Regards,
> Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support
  2026-07-24  3:16                   ` Frank Li
@ 2026-07-24  3:56                     ` Liu Ying
  0 siblings, 0 replies; 20+ messages in thread
From: Liu Ying @ 2026-07-24  3:56 UTC (permalink / raw)
  To: Frank Li
  Cc: Neil Armstrong, Marek Vasut, Stefan Agner, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jessica Zhang,
	Thierry Reding, Sam Ravnborg, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, dri-devel, devicetree,
	linux-kernel, imx, linux-arm-kernel, Robert Chiras, Frank Li

On Thu, Jul 23, 2026 at 10:16:18PM -0500, Frank Li wrote:
> On Fri, Jul 24, 2026 at 10:27:13AM +0800, Liu Ying wrote:
> > On Thu, Jul 23, 2026 at 04:36:39PM -0500, Frank Li wrote:
> > > On Thu, Jul 23, 2026 at 10:22:10AM +0800, Liu Ying wrote:
> > > > On Wed, Jul 22, 2026 at 05:12:47PM -0500, Frank Li wrote:
> > > > > On Wed, Jul 22, 2026 at 11:57:09AM +0800, Liu Ying wrote:
> > > > > > On Wed, Jul 22, 2026 at 11:44:09AM +0800, Liu Ying wrote:
> > > > > > > On Tue, Jul 21, 2026 at 07:05:03PM -0500, Frank Li wrote:
> > > > > > > > On Fri, Jul 17, 2026 at 01:48:31PM +0800, Liu Ying wrote:
> > > > > > > > > On Wed, Jul 15, 2026 at 02:34:48PM -0400, Frank.Li@oss.nxp.com wrote:
> > > > > > > > > > From: Frank Li <Frank.Li@nxp.com>
> > > > > > > > > >
> > > > > > > > > > Add support for WKS101WX001-WCT panel, which is an industrial-grade
> > > > > > > > > > 10.1-inch IPS TFT LCD capacitive touch screen display module.
> > > > > > > > > >
> > > > > > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > > > > > ---
> > > > > > > > > > change in v2
> > > > > > > > > > - update height to 135 from 136 (sashiko)
> > > > > > > > > > ---
> > > > > > > > > >  drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
> > > > > > > > > >  1 file changed, 31 insertions(+)
> > > > > > >
> > > > > > > [...]
> > > > > > >
> > > > > > > > > > +	.connector_type = DRM_MODE_CONNECTOR_DPI,
> > > > > > > > >
> > > > > > > > > Seems that the panel also supports LVDS input according to the specification,
> > > > > > > > > since it mentions 'RGB or LVDS Interface'?
> > > > > > > >
> > > > > > > > Need hardware rework to use LVDS. Need remove banch of resistors. Should it
> > > > > > > > be treat as difference panel by different compatible string? hardware
> > > > > > > > actually changed.
> > > > > > >
> > > > > > > Not sure how to handle that.
> > > > > >
> > > > > > Wait, you probably may drop this patch, just document the compatible
> > > > > > string in panel-simple.yaml and panel-lvds.yaml and use add a fallback
> > >
> > > panel-simple.yaml don't allow fallback to panel-dpi. Need seperated yaml
> > > for it.
> >
> > Really?  How does it disallow that?
> >
> > I can see newhaven,nhd-4.3-480272ef-atxl and osddisplays,osd070t1718-19ts
> > are documented in panel-simple.yaml and used with the "panel-dpi" fallback
> > compatible string.
> >
> > Documentation/devicetree/bindings/display/panel/panel-simple.yaml:244:      - newhaven,nhd-4.3-480272ef-atxl
> > arch/arm/boot/dts/ti/omap/am437x-sk-evm.dts:127:                compatible = "newhaven,nhd-4.3-480272ef-atxl", "panel-dpi";
> >
> > Documentation/devicetree/bindings/display/panel/panel-simple.yaml:268:      - osddisplays,osd070t1718-19ts
> > arch/arm/boot/dts/ti/omap/am437x-gp-evm.dts:89:         compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
> > arch/arm/boot/dts/ti/omap/am43x-epos-evm.dts:45:                compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
> > arch/arm/boot/dts/ti/omap/am57xx-evm.dtso:62:           compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
> 
> It can't pass DTB_CHECK. it may add at earily time. panel-simple.yaml
> have not fallback compatible string. I tried it. DTB_CHECK will complain
> too long compatible string if add "panel-dpi".

Yeah, I missed testing panel-simple.yaml with DTB_CHECK.

So, just don't document the panel compatible string in panel-simple.yaml
and only document it in panel-lvds.yaml(not today, but until someone really
uses it).  Then, I'd assume that the "fallback compatible" solution still
works.

> 
> >
> > >
> > > > > > compatible string "panel-dpi" or "panel-lvds" in device tree plus a
> > > > > > panel-timing node.
> > >
> > > previous dt-binding discuss, don't allow failback to two compatible string
> > > sorry, I can't remember exactly thread.
> > >
> > > like
> > > items:
> > >   - const: ws101w001-wct
> > >   - enum:
> > >        - panel-dpi
> > >        - panel-lvds
> >
> > I meant just to document the panel in panel-simple.yaml and panel-lvds.yaml.
> > No need to add a dedicated DT binding file with such a compatible property
> > for this panel.
> 
> panel-lvds.yaml allow fallback to panel-lvds, but panel-simple.yaml not.
> all binding which allow fallback to panel-dpi, there are seperate yaml file
> for it.
> 
> of course TI or old platform, especially arm32 platform wrongly use it
> regardless DTB check warning. But for new platform, we can't do that as it.
> 
> Frank
> >
> > >
> > > > >
> > > > > Look like recently prefer add panel-timing informaiton into c code instead
> > > > > of put it into dts file. But I am not sure about it. Just check recent's
> > > > > log history.
> > > >
> > > > If display timing is specified in panel-simple.c, then you have to specify
> > > > the connector_type there too, right?  The problem here is that you don't
> > > > know the connector_type, as it could be either LVDS or DPI, and I'd assume
> > > > that we don't want two compatible strings - one for LVDS and the other for
> > > > DPI.
> > >
> > > If supported both type, generally need customer property and new panel
> > > driver to switch between dpi / lvds
> > >
> > > or use
> > > 	ports {
> > >
> > > 		port@0: //connect dpi
> > > 		port@1: //connect lvds
> > > 	};
> >
> > I'd say a new panel driver for this panel is a bit overkill.
> >
> > >
> > >
> > > I think we can defer this lvds work until it is actually used because
> > > - need a big hardware rework to support lvds, most likely it will not be
> >
> > Per panel spec, just remove a few resistors, which doesn't sound like a
> > big rework to me.  But, perhaps, this doesn't impact SW solution a lot though.
> >
> > > appeared at real productions. If it mass production, vendor most likely use
> > > difference module number for it.
> > > - it may be end of life if there are not much users.
> >
> > I'd prefer a mature solution which handles both DPI and LVDS interfaces
> > correctly in the first place.
> >
> > Anyway, just my two cents here.  "DRM PANEL DRIVERS" maintainers or DRM
> > subsystem maintainers may override me.
> >
> > >
> > > Frank
> > >
> > > > Although display timing in panel-simple.c avoids duplicated panel-timing
> > > > nodes across various potential DT files, I think you have the "good" reason
> > > > here to use the panel-timing node + fallback compatible string with one single
> > > > panel specific compatible string.
> > > >
> > > > >
> > > > > Add Neil Armstrong for comments.
> > > > >
> > > > > Frank
> > > > >
> > > > > >
> > > > > > --
> > > > > > Regards,
> > > > > > Liu Ying
> > > >
> > > > --
> > > > Regards,
> > > > Liu Ying
> >
> > --
> > Regards,
> > Liu Ying

-- 
Regards,
Liu Ying


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2026-07-24  3:55 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 18:34 [PATCH v2 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
2026-07-15 18:34 ` [PATCH v2 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL Frank.Li
2026-07-17  5:19   ` Liu Ying
2026-07-15 18:34 ` [PATCH v2 2/7] dt-bindings: display: simple: Add waiken,101wx001 Frank.Li
2026-07-17  5:29   ` Liu Ying
2026-07-15 18:34 ` [PATCH v2 3/7] drm/panel: simple: Add waiken WKS101WX001-WCT support Frank.Li
2026-07-17  5:48   ` Liu Ying
2026-07-22  0:05     ` Frank Li
2026-07-22  3:44       ` Liu Ying
2026-07-22  3:57         ` Liu Ying
2026-07-22 22:12           ` Frank Li
2026-07-23  2:22             ` Liu Ying
2026-07-23 21:36               ` Frank Li
2026-07-24  2:27                 ` Liu Ying
2026-07-24  3:16                   ` Frank Li
2026-07-24  3:56                     ` Liu Ying
2026-07-15 18:34 ` [PATCH v2 4/7] arm64: dts: imx8-ss-dma: Add lcdif support for i.MX8QXP and i.MX8DXL Frank.Li
2026-07-15 18:34 ` [PATCH v2 5/7] arm64: dts: imx8dxl-evk: Add onboard GPIO mux controller Frank.Li
2026-07-15 18:34 ` [PATCH v2 6/7] arm64: dts: imx8dxl-evk: Move ACM MCLK pin to ACM pinctrl Frank.Li
2026-07-15 18:34 ` [PATCH v2 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay Frank.Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox