Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH 0/3] Add DSI Port B input support for LT9611 HDMI bridge
@ 2026-01-27  6:58 Hongyang Zhao
  2026-01-27  6:58 ` [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property Hongyang Zhao
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-01-27  6:58 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Vinod Koul, Bjorn Andersson,
	Konrad Dybcio
  Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm, Hongyang Zhao,
	Roger Shimizu

The LT9611 HDMI bridge has two DSI input ports (Port A and Port B).
The current driver only supports Port A or dual-port (A+B) mode, but
some boards like RubikPi3 connect DSI to Port B only.

This series adds support for selecting DSI Port B as the input source:

- Patch 1 adds the dt-bindings documentation for the new property
- Patch 2 implements the driver support for Port B input selection
- Patch 3 enables this feature on the RubikPi3 board

The implementation configures port swap (register 0x8303 bit 6) and
byte_clk source (register 0x8250 bit 3:2) when Port B is selected.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
---
Hongyang Zhao (3):
      dt-bindings: display: lt9611: Add dsi-port-b property
      drm/bridge: lt9611: Add support for DSI port B input
      arm64: dts: qcom: qcs6490-rubikpi3: Use DSI port B

 .../devicetree/bindings/display/bridge/lontium,lt9611.yaml |  6 ++++++
 arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts  |  2 ++
 drivers/gpu/drm/bridge/lontium-lt9611.c                    | 14 ++++++++++++++
 3 files changed, 22 insertions(+)
---
base-commit: 46fe65a2c28ecf5df1a7475aba1f08ccf4c0ac1b
change-id: 20260127-rubikpi-next-20260116-99c1dbea50e4

Best regards,
-- 
Hongyang Zhao <hongyang.zhao@thundersoft.com>


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

* [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property
  2026-01-27  6:58 [PATCH 0/3] Add DSI Port B input support for LT9611 HDMI bridge Hongyang Zhao
@ 2026-01-27  6:58 ` Hongyang Zhao
  2026-01-27  7:54   ` Neil Armstrong
  2026-01-27  6:58 ` [PATCH 2/3] drm/bridge: lt9611: Add support for DSI port B input Hongyang Zhao
  2026-01-27  6:58 ` [PATCH 3/3] arm64: dts: qcom: qcs6490-rubikpi3: Use DSI port B Hongyang Zhao
  2 siblings, 1 reply; 6+ messages in thread
From: Hongyang Zhao @ 2026-01-27  6:58 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Vinod Koul, Bjorn Andersson,
	Konrad Dybcio
  Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm, Hongyang Zhao,
	Roger Shimizu

Document the lontium,dsi-port-b property for selecting DSI Port B as
the input source instead of the default Port A.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
Reviewed-by: Roger Shimizu <rosh@debian.org>
---
 .../devicetree/bindings/display/bridge/lontium,lt9611.yaml          | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml b/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
index 655db8cfdc25..9b7dba4e114c 100644
--- a/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
@@ -37,6 +37,12 @@ properties:
   vcc-supply:
     description: Regulator for 3.3V IO power.
 
+  lontium,dsi-port-b:
+    type: boolean
+    description:
+      Use DSI Port B as the input source instead of Port A or Port A + B.
+      Required when the DSI is physically connected to Port B.
+
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
 

-- 
2.43.0


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

* [PATCH 2/3] drm/bridge: lt9611: Add support for DSI port B input
  2026-01-27  6:58 [PATCH 0/3] Add DSI Port B input support for LT9611 HDMI bridge Hongyang Zhao
  2026-01-27  6:58 ` [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property Hongyang Zhao
@ 2026-01-27  6:58 ` Hongyang Zhao
  2026-01-27  6:58 ` [PATCH 3/3] arm64: dts: qcom: qcs6490-rubikpi3: Use DSI port B Hongyang Zhao
  2 siblings, 0 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-01-27  6:58 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Vinod Koul, Bjorn Andersson,
	Konrad Dybcio
  Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm, Hongyang Zhao,
	Roger Shimizu

The LT9611 has two DSI input ports. The driver currently hardcodes
Port A or Port A+B, but some boards connect DSI to Port B only.

Add device tree property "lontium,dsi-port-b" to select Port B as the
DSI input source. When set, configure port swap (0x8303 bit 6) and
byte_clk source (0x8250 bit 3:2) for Port B.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
Reviewed-by: Roger Shimizu <rosh@debian.org>
---
 drivers/gpu/drm/bridge/lontium-lt9611.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c
index a2d032ee4744..178f056c9e85 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611.c
@@ -47,6 +47,7 @@ struct lt9611 {
 	struct mipi_dsi_device *dsi1;
 
 	bool ac_mode;
+	bool dsi_port_b;
 
 	struct gpio_desc *reset_gpio;
 	struct gpio_desc *enable_gpio;
@@ -116,6 +117,7 @@ static int lt9611_mipi_input_digital(struct lt9611 *lt9611,
 		{ 0x830a, 0x00 },
 		{ 0x824f, 0x80 },
 		{ 0x8250, 0x10 },
+		{ 0x8303, 0x00 },
 		{ 0x8302, 0x0a },
 		{ 0x8306, 0x0a },
 	};
@@ -123,6 +125,16 @@ static int lt9611_mipi_input_digital(struct lt9611 *lt9611,
 	if (lt9611->dsi1_node)
 		reg_cfg[1].def = 0x03;
 
+	/*
+	 * Select DSI input port:
+	 * - 0x8303 bit 6: port swap (0=PortA, 1=PortB)
+	 * - 0x8250 bit 3:2: byte_clk source (00=PortA, 01=PortB)
+	 */
+	if (lt9611->dsi_port_b) {
+		reg_cfg[3].def = 0x14;
+		reg_cfg[4].def = 0x40;
+	}
+
 	return regmap_multi_reg_write(lt9611->regmap, reg_cfg, ARRAY_SIZE(reg_cfg));
 }
 
@@ -1024,6 +1036,8 @@ static int lt9611_parse_dt(struct device *dev,
 
 	lt9611->ac_mode = of_property_read_bool(dev->of_node, "lt,ac-mode");
 
+	lt9611->dsi_port_b = of_property_read_bool(dev->of_node, "lontium,dsi-port-b");
+
 	return drm_of_find_panel_or_bridge(dev->of_node, 2, -1, NULL, &lt9611->next_bridge);
 }
 

-- 
2.43.0


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

* [PATCH 3/3] arm64: dts: qcom: qcs6490-rubikpi3: Use DSI port B
  2026-01-27  6:58 [PATCH 0/3] Add DSI Port B input support for LT9611 HDMI bridge Hongyang Zhao
  2026-01-27  6:58 ` [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property Hongyang Zhao
  2026-01-27  6:58 ` [PATCH 2/3] drm/bridge: lt9611: Add support for DSI port B input Hongyang Zhao
@ 2026-01-27  6:58 ` Hongyang Zhao
  2 siblings, 0 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-01-27  6:58 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Vinod Koul, Bjorn Andersson,
	Konrad Dybcio
  Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm, Hongyang Zhao,
	Roger Shimizu

The LT9611 HDMI bridge on RubikPi3 is connected to DSI port B. Add
lontium,dsi-port-b property to configure the correct input port.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
Reviewed-by: Roger Shimizu <rosh@debian.org>
---
 arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
index 0b64a0b91202..0b27c5343271 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
@@ -751,6 +751,8 @@ lt9611_codec: hdmi-bridge@39 {
 			    <&lt9611_rst_pin>;
 		pinctrl-names = "default";
 
+		lontium,dsi-port-b;
+
 		ports {
 			#address-cells = <1>;
 			#size-cells = <0>;

-- 
2.43.0


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

* Re: [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property
  2026-01-27  6:58 ` [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property Hongyang Zhao
@ 2026-01-27  7:54   ` Neil Armstrong
  2026-01-27  8:48     ` Hongyang Zhao
  0 siblings, 1 reply; 6+ messages in thread
From: Neil Armstrong @ 2026-01-27  7:54 UTC (permalink / raw)
  To: Hongyang Zhao, Andrzej Hajda, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Vinod Koul, Bjorn Andersson,
	Konrad Dybcio
  Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm, Roger Shimizu

On 1/27/26 07:58, Hongyang Zhao wrote:
> Document the lontium,dsi-port-b property for selecting DSI Port B as
> the input source instead of the default Port A.
> 
> Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
> Reviewed-by: Roger Shimizu <rosh@debian.org>
> ---
>   .../devicetree/bindings/display/bridge/lontium,lt9611.yaml          | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml b/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
> index 655db8cfdc25..9b7dba4e114c 100644
> --- a/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
> @@ -37,6 +37,12 @@ properties:
>     vcc-supply:
>       description: Regulator for 3.3V IO power.
>   
> +  lontium,dsi-port-b:
> +    type: boolean
> +    description:
> +      Use DSI Port B as the input source instead of Port A or Port A + B.
> +      Required when the DSI is physically connected to Port B.

This is not how this should be solved, the ports links are here for this exact purpose.

port@0 represents port A, port@1 represent port B, so you need to describe the HW correctly
in the first place.

Populate only port1 and in the driver check which ports are population and change the
configuration.

Neil

> +
>     ports:
>       $ref: /schemas/graph.yaml#/properties/ports
>   
> 


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

* Re: [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property
  2026-01-27  7:54   ` Neil Armstrong
@ 2026-01-27  8:48     ` Hongyang Zhao
  0 siblings, 0 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-01-27  8:48 UTC (permalink / raw)
  To: neil.armstrong
  Cc: Laurent.pinchart, airlied, andersson, andrzej.hajda, conor+dt,
	devicetree, dri-devel, hongyang.zhao, jernej.skrabec, jonas,
	konradybcio, krzk+dt, linux-arm-msm, linux-kernel,
	maarten.lankhorst, mripard, rfoss, robh, rosh, simona,
	tzimmermann, vkoul

> On 1/27/26 07:58, Hongyang Zhao wrote:
> > Document the lontium,dsi-port-b property for selecting DSI Port B as
> > the input source instead of the default Port A.
> >
> > Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
> > Reviewed-by: Roger Shimizu <rosh@debian.org>
> > ---
> >   .../devicetree/bindings/display/bridge/lontium,lt9611.yaml          | 6 ++++++
> >   1 file changed, 6 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml b/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
> > index 655db8cfdc25..9b7dba4e114c 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml
> > @@ -37,6 +37,12 @@ properties:
> >     vcc-supply:
> >       description: Regulator for 3.3V IO power.
> >
> > +  lontium,dsi-port-b:
> > +    type: boolean
> > +    description:
> > +      Use DSI Port B as the input source instead of Port A or Port A + B.
> > +      Required when the DSI is physically connected to Port B.
>
> This is not how this should be solved, the ports links are here for this exact purpose.
>
> port@0 represents port A, port@1 represent port B, so you need to describe the HW correctly
> in the first place.
>
> Populate only port1 and in the driver check which ports are population and change the
> configuration.
>
> Neil
>
> > +
> >     ports:
> >       $ref: /schemas/graph.yaml#/properties/ports
> >
> >

Hi Neil,

Thanks for the review. You're right - I'll use the ports to describe the
physical connection properly.

I'll update the patches to:
1. Make port@0 optional in the binding (require at least one of port@0 or port@1)
2. Update port descriptions to clarify port@0 = Port A, port@1 = Port B
3. Modify the driver to detect which port is populated and configure accordingly
4. Use port@1 in the RubikPi3 DTS since the DSI is physically connected to Port B

Will send v2 shortly.

Thanks,
Hongyang

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

end of thread, other threads:[~2026-01-27  8:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-27  6:58 [PATCH 0/3] Add DSI Port B input support for LT9611 HDMI bridge Hongyang Zhao
2026-01-27  6:58 ` [PATCH 1/3] dt-bindings: display: lt9611: Add dsi-port-b property Hongyang Zhao
2026-01-27  7:54   ` Neil Armstrong
2026-01-27  8:48     ` Hongyang Zhao
2026-01-27  6:58 ` [PATCH 2/3] drm/bridge: lt9611: Add support for DSI port B input Hongyang Zhao
2026-01-27  6:58 ` [PATCH 3/3] arm64: dts: qcom: qcs6490-rubikpi3: Use DSI port B Hongyang Zhao

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