mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v5 0/5] Add DSI display support for QCS8300 target
@ 2026-01-04 13:44 Ayushi Makhija
  2026-01-04 13:44 ` [PATCH v5 1/5] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Ayushi Makhija @ 2026-01-04 13:44 UTC (permalink / raw)
  To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
  Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
	marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
	conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
	jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut

This series enables the support for DSI to DP bridge port
(labeled as DSI0) of the Qualcomm's QCS8300 Ride platform.

QCS8300 SoC has DSI controller v2.5.1 and DSI PHY v4.2.
The Ride platform is having ANX7625 DSI to DP bridge chip from Analogix.

---
This patch depends on following series:
https://lore.kernel.org/all/20251117-dts_qcs8300-v7-0-bf42d39e7828@oss.qualcomm.com/
(Enable DPU and Display Port for Qualcomm QCS8300-ride platform)

Changes in v5: Addressed review comments from Krzysztof
   - Patch 1: Updated commit description. [Krzysztof]
   - Patch 2: Updated commit description.
   - Patch 3: Added reviewed by tag from Krzysztof. [Krzysztof]
   - Link to v4:
     https://lore.kernel.org/all/20251225152134.2577701-1-quic_amakhija@quicinc.com/
 
Changes in v4: Addressed review comments from konard and Krzysztof
   - Patch 1: Update commit description to clarify PHY compatible string
              details.[Krzysztof]
   - Patch 2: Update commit description to clarify CTRL compatible string
              details.
   - Patch 4: Added new lines at few places. [konard]
   - Patch 5: 
            - Moved regulator always-on and boot-on properties at the end of
              the node. [konard]
            - Added new lines at few places. [konard]
            - Made the tlmm gpios entries sorted based on gpio index
              number. [Konard]
            - Drop output-high property. [konard]
   - Link to v3 :
     https://lore.kernel.org/all/20251125013302.3835909-1-quic_amakhija@quicinc.com/

Changes in v3: Addressed review comments from konard and Dmitry
   - Patch 2: Remove qcom,qcs8300-dsi-ctrl from clk details. [Dmitry]
   - Remove PHY and CTRL driver support. The CTRL and PHY versions for
     Monaco are the same as LeMans, and Monaco will use the same CTRL
     and PHY based on the fallback compatible string [Dmitry/Konard]
   - Patch 5: Rename the regulator used and arrange the compatible, reg,
     address and size cell for i2cmux in proper order. [Dmitry]
   - Link to v2:
     https://lore.kernel.org/all/20251006013924.1114833-1-quic_amakhija@quicinc.com/

Changes in v2: Addressed review comments from Konard and Dmitry
   - Patch 1: Documented the qcom,qcs8300-dsi-phy-5nm compatible string.
   - Patch 2: Documented the qcom,qcs8300-dsi-ctrl compatible string.
   - Patch 3:
           - Added qcom,qcs8300-dsi-ctrl and qcom,qcs8300-dsi-phy-5nm
             compatible strings
             to the Device Tree bindings. [Dmitry/Konard]
           - Fixed indentation issue. [Dmitry]
           - Drop the extra empty line. [Dmitry]
   - Patch 4: Added PHY driver support for qcom,qcs8300-dsi-phy-5nm.
   - Patch 5: Added CTRL driver support for qcom,qcs8300-dsi-ctrl.
   - Patch 6: Included qcom,qcs8300-dsi-ctrl and
     qcom,qcs8300-dsi-phy-5nm compatible strings in the Device Tree. [Dmitry/Konard]
   - Link to v1:
     https://lore.kernel.org/all/20250925053602.4105329-1-quic_amakhija@quicinc.com/

Ayushi Makhija (5):
  dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY
  dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL
  dt-bindings: display: msm: document DSI controller and phy on QCS8300
  arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
  arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node

 .../display/msm/dsi-controller-main.yaml      |   5 +
 .../bindings/display/msm/dsi-phy-7nm.yaml     |  30 +--
 .../display/msm/qcom,qcs8300-mdss.yaml        | 102 +++++++++-
 arch/arm64/boot/dts/qcom/monaco.dtsi          | 102 +++++++++-
 arch/arm64/boot/dts/qcom/qcs8300-ride.dts     | 177 ++++++++++++++++++
 5 files changed, 402 insertions(+), 14 deletions(-)

base-commit: cc3aa43b44bdb43dfbac0fcb51c56594a11338a8 ("next-20251219")
-- 
2.34.1


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

* [PATCH v5 1/5] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY
  2026-01-04 13:44 [PATCH v5 0/5] Add DSI display support for QCS8300 target Ayushi Makhija
@ 2026-01-04 13:44 ` Ayushi Makhija
  2026-01-04 13:44 ` [PATCH v5 2/5] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Ayushi Makhija @ 2026-01-04 13:44 UTC (permalink / raw)
  To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
  Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
	marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
	conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
	jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut,
	Krzysztof Kozlowski

QCS8300 uses the same 5nm MDSS DSI PHY IP as SA8775P, sharing
an identical register layout and programming model. Introduce a
QCS8300-specific compatible with a fallback to `qcom,sa8775p-dsi-phy-5nm`
to reflect this hardware reuse.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
 .../bindings/display/msm/dsi-phy-7nm.yaml     | 30 +++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
index 1ca820a500b7..7a83387502da 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
@@ -14,18 +14,24 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - qcom,dsi-phy-7nm
-      - qcom,dsi-phy-7nm-8150
-      - qcom,sa8775p-dsi-phy-5nm
-      - qcom,sar2130p-dsi-phy-5nm
-      - qcom,sc7280-dsi-phy-7nm
-      - qcom,sm6375-dsi-phy-7nm
-      - qcom,sm8350-dsi-phy-5nm
-      - qcom,sm8450-dsi-phy-5nm
-      - qcom,sm8550-dsi-phy-4nm
-      - qcom,sm8650-dsi-phy-4nm
-      - qcom,sm8750-dsi-phy-3nm
+    oneOf:
+      - items:
+          - enum:
+              - qcom,dsi-phy-7nm
+              - qcom,dsi-phy-7nm-8150
+              - qcom,sa8775p-dsi-phy-5nm
+              - qcom,sar2130p-dsi-phy-5nm
+              - qcom,sc7280-dsi-phy-7nm
+              - qcom,sm6375-dsi-phy-7nm
+              - qcom,sm8350-dsi-phy-5nm
+              - qcom,sm8450-dsi-phy-5nm
+              - qcom,sm8550-dsi-phy-4nm
+              - qcom,sm8650-dsi-phy-4nm
+              - qcom,sm8750-dsi-phy-3nm
+      - items:
+          - enum:
+              - qcom,qcs8300-dsi-phy-5nm
+          - const: qcom,sa8775p-dsi-phy-5nm
 
   reg:
     items:
-- 
2.34.1


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

* [PATCH v5 2/5] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL
  2026-01-04 13:44 [PATCH v5 0/5] Add DSI display support for QCS8300 target Ayushi Makhija
  2026-01-04 13:44 ` [PATCH v5 1/5] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
@ 2026-01-04 13:44 ` Ayushi Makhija
  2026-01-05  7:40   ` Krzysztof Kozlowski
  2026-01-04 13:44 ` [PATCH v5 3/5] dt-bindings: display: msm: document DSI controller and phy on QCS8300 Ayushi Makhija
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Ayushi Makhija @ 2026-01-04 13:44 UTC (permalink / raw)
  To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
  Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
	marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
	conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
	jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut

QCS8300 MDSS DSI controller reuses the same IP as SA8775P, with
identical register layout and programming model. Introduce a
QCS8300-specific compatible with a fallback to
`qcom,sa8775p-dsi-ctrl` to reflect this hardware reuse.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 .../devicetree/bindings/display/msm/dsi-controller-main.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
index 4400d4cce072..6276350e582f 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
@@ -45,6 +45,11 @@ properties:
               - qcom,sm8650-dsi-ctrl
               - qcom,sm8750-dsi-ctrl
           - const: qcom,mdss-dsi-ctrl
+      - items:
+          - enum:
+              - qcom,qcs8300-dsi-ctrl
+          - const: qcom,sa8775p-dsi-ctrl
+          - const: qcom,mdss-dsi-ctrl
       - enum:
           - qcom,dsi-ctrl-6g-qcm2290
           - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
-- 
2.34.1


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

* [PATCH v5 3/5] dt-bindings: display: msm: document DSI controller and phy on QCS8300
  2026-01-04 13:44 [PATCH v5 0/5] Add DSI display support for QCS8300 target Ayushi Makhija
  2026-01-04 13:44 ` [PATCH v5 1/5] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
  2026-01-04 13:44 ` [PATCH v5 2/5] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
@ 2026-01-04 13:44 ` Ayushi Makhija
  2026-01-04 13:44 ` [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Ayushi Makhija @ 2026-01-04 13:44 UTC (permalink / raw)
  To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
  Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
	marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
	conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
	jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut,
	Krzysztof Kozlowski

Document DSI controller and phy on QCS8300 platform.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
 .../display/msm/qcom,qcs8300-mdss.yaml        | 102 +++++++++++++++++-
 1 file changed, 101 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
index e96baaae9ba9..c41a86203e78 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
@@ -53,13 +53,23 @@ patternProperties:
         contains:
           const: qcom,qcs8300-dp
 
+  "^dsi@[0-9a-f]+$":
+    type: object
+    additionalProperties: true
+    properties:
+      compatible:
+        contains:
+          const: qcom,qcs8300-dsi-ctrl
+
   "^phy@[0-9a-f]+$":
     type: object
     additionalProperties: true
     properties:
       compatible:
         contains:
-          const: qcom,qcs8300-edp-phy
+          enum:
+            - qcom,qcs8300-dsi-phy-5nm
+            - qcom,qcs8300-edp-phy
 
 required:
   - compatible
@@ -71,6 +81,7 @@ examples:
     #include <dt-bindings/interconnect/qcom,icc.h>
     #include <dt-bindings/interrupt-controller/arm-gic.h>
     #include <dt-bindings/clock/qcom,qcs8300-gcc.h>
+    #include <dt-bindings/clock/qcom,rpmh.h>
     #include <dt-bindings/clock/qcom,sa8775p-dispcc.h>
     #include <dt-bindings/interconnect/qcom,qcs8300-rpmh.h>
     #include <dt-bindings/power/qcom,rpmhpd.h>
@@ -142,6 +153,13 @@ examples:
                          remote-endpoint = <&mdss_dp0_in>;
                     };
                 };
+
+                port@1 {
+                    reg = <1>;
+                    dpu_intf1_out: endpoint {
+                        remote-endpoint = <&mdss_dsi0_in>;
+                    };
+                };
             };
 
             mdp_opp_table: opp-table {
@@ -169,6 +187,88 @@ examples:
             };
         };
 
+        dsi@ae94000 {
+            compatible = "qcom,qcs8300-dsi-ctrl",
+                         "qcom,sa8775p-dsi-ctrl",
+                         "qcom,mdss-dsi-ctrl";
+            reg = <0x0ae94000 0x400>;
+            reg-names = "dsi_ctrl";
+
+            interrupt-parent = <&mdss>;
+            interrupts = <4>;
+
+            clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK>,
+                     <&dispcc MDSS_DISP_CC_MDSS_BYTE0_INTF_CLK>,
+                     <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK>,
+                     <&dispcc MDSS_DISP_CC_MDSS_ESC0_CLK>,
+                     <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+                     <&gcc GCC_DISP_HF_AXI_CLK>;
+            clock-names = "byte",
+                          "byte_intf",
+                          "pixel",
+                          "core",
+                          "iface",
+                          "bus";
+            assigned-clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK_SRC>,
+                              <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK_SRC>;
+            assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
+            phys = <&mdss_dsi0_phy>;
+
+            operating-points-v2 = <&dsi0_opp_table>;
+            power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+            vdda-supply = <&vreg_l5a>;
+
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                port@0 {
+                    reg = <0>;
+                    mdss0_dsi0_in: endpoint {
+                        remote-endpoint = <&dpu_intf1_out>;
+                    };
+                };
+
+                port@1 {
+                    reg = <1>;
+                    mdss0_dsi0_out: endpoint { };
+                };
+            };
+
+            dsi0_opp_table: opp-table {
+                compatible = "operating-points-v2";
+
+                opp-358000000 {
+                    opp-hz = /bits/ 64 <358000000>;
+                    required-opps = <&rpmhpd_opp_svs_l1>;
+                };
+            };
+        };
+
+        mdss_dsi0_phy: phy@ae94400 {
+            compatible = "qcom,qcs8300-dsi-phy-5nm",
+                         "qcom,sa8775p-dsi-phy-5nm";
+            reg = <0x0ae94400 0x200>,
+                  <0x0ae94600 0x280>,
+                  <0x0ae94900 0x27c>;
+            reg-names = "dsi_phy",
+                        "dsi_phy_lane",
+                        "dsi_pll";
+
+            #clock-cells = <1>;
+            #phy-cells = <0>;
+
+            clocks = <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+                     <&rpmhcc RPMH_CXO_CLK>;
+            clock-names = "iface", "ref";
+
+            vdds-supply = <&vreg_l4a>;
+        };
+
         mdss_dp0_phy: phy@aec2a00 {
             compatible = "qcom,qcs8300-edp-phy", "qcom,sa8775p-edp-phy";
 
-- 
2.34.1


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

* [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
  2026-01-04 13:44 [PATCH v5 0/5] Add DSI display support for QCS8300 target Ayushi Makhija
                   ` (2 preceding siblings ...)
  2026-01-04 13:44 ` [PATCH v5 3/5] dt-bindings: display: msm: document DSI controller and phy on QCS8300 Ayushi Makhija
@ 2026-01-04 13:44 ` Ayushi Makhija
  2026-01-07 12:46   ` Konrad Dybcio
  2026-01-07 12:51   ` Konrad Dybcio
  2026-01-04 13:44 ` [PATCH v5 5/5] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
  2026-01-15 21:05 ` [PATCH v5 0/5] Add DSI display support for QCS8300 target Dmitry Baryshkov
  5 siblings, 2 replies; 11+ messages in thread
From: Ayushi Makhija @ 2026-01-04 13:44 UTC (permalink / raw)
  To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
  Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
	marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
	conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
	jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut

Add device tree nodes for the DSI0 controller with their corresponding
PHY found on Qualcomm QCS8300 SoC.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/monaco.dtsi | 102 ++++++++++++++++++++++++++-
 1 file changed, 101 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index e44fd5c33816..052ccfa6a147 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -3,6 +3,7 @@
  * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
+#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
 #include <dt-bindings/clock/qcom,qcs8300-gcc.h>
 #include <dt-bindings/clock/qcom,rpmh.h>
 #include <dt-bindings/clock/qcom,sa8775p-camcc.h>
@@ -4858,9 +4859,18 @@ port@0 {
 						reg = <0>;
 
 						dpu_intf0_out: endpoint {
+
 							remote-endpoint = <&mdss_dp0_in>;
 						};
 					};
+
+					port@1 {
+						reg = <1>;
+						dpu_intf1_out: endpoint {
+
+							remote-endpoint = <&mdss_dsi0_in>;
+						};
+					};
 				};
 
 				mdp_opp_table: opp-table {
@@ -4888,6 +4898,94 @@ opp-650000000 {
 				};
 			};
 
+			mdss_dsi0: dsi@ae94000 {
+				compatible = "qcom,qcs8300-dsi-ctrl",
+					     "qcom,sa8775p-dsi-ctrl",
+					     "qcom,mdss-dsi-ctrl";
+				reg = <0x0 0x0ae94000 0x0 0x400>;
+				reg-names = "dsi_ctrl";
+
+				interrupt-parent = <&mdss>;
+				interrupts = <4>;
+
+				clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK>,
+					 <&dispcc MDSS_DISP_CC_MDSS_BYTE0_INTF_CLK>,
+					 <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK>,
+					 <&dispcc MDSS_DISP_CC_MDSS_ESC0_CLK>,
+					 <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+					 <&gcc GCC_DISP_HF_AXI_CLK>;
+				clock-names = "byte",
+					      "byte_intf",
+					      "pixel",
+					      "core",
+					      "iface",
+					      "bus";
+
+				assigned-clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK_SRC>,
+						  <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK_SRC>;
+				assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
+							 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
+
+				phys = <&mdss_dsi0_phy>;
+
+				operating-points-v2 = <&mdss_dsi_opp_table>;
+				power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				status = "disabled";
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					port@0 {
+						reg = <0>;
+						mdss_dsi0_in: endpoint {
+
+							remote-endpoint = <&dpu_intf1_out>;
+						};
+					};
+
+					port@1 {
+						reg = <1>;
+						mdss_dsi0_out: endpoint {
+						};
+					};
+				};
+
+				mdss_dsi_opp_table: opp-table {
+					compatible = "operating-points-v2";
+
+					opp-358000000 {
+						opp-hz = /bits/ 64 <358000000>;
+						required-opps = <&rpmhpd_opp_svs_l1>;
+					};
+				};
+			};
+
+			mdss_dsi0_phy: phy@ae94400 {
+				compatible = "qcom,qcs8300-dsi-phy-5nm",
+					     "qcom,sa8775p-dsi-phy-5nm";
+				reg = <0x0 0x0ae94400 0x0 0x200>,
+				      <0x0 0x0ae94600 0x0 0x280>,
+				      <0x0 0x0ae94900 0x0 0x27c>;
+				reg-names = "dsi_phy",
+					    "dsi_phy_lane",
+					    "dsi_pll";
+
+				#clock-cells = <1>;
+				#phy-cells = <0>;
+
+				clocks = <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+					 <&rpmhcc RPMH_CXO_CLK>;
+				clock-names = "iface",
+					      "ref";
+
+				status = "disabled";
+			};
+
 			mdss_dp0_phy: phy@aec2a00 {
 				compatible = "qcom,qcs8300-edp-phy", "qcom,sa8775p-edp-phy";
 
@@ -5015,7 +5113,9 @@ dispcc: clock-controller@af00000 {
 				 <&mdss_dp0_phy 0>,
 				 <&mdss_dp0_phy 1>,
 				 <0>, <0>,
-				 <0>, <0>, <0>, <0>;
+				 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
+				 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>,
+				 <0>, <0>;
 			power-domains = <&rpmhpd RPMHPD_MMCX>;
 			#clock-cells = <1>;
 			#reset-cells = <1>;
-- 
2.34.1


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

* [PATCH v5 5/5] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node
  2026-01-04 13:44 [PATCH v5 0/5] Add DSI display support for QCS8300 target Ayushi Makhija
                   ` (3 preceding siblings ...)
  2026-01-04 13:44 ` [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
@ 2026-01-04 13:44 ` Ayushi Makhija
  2026-01-07 12:49   ` Konrad Dybcio
  2026-01-15 21:05 ` [PATCH v5 0/5] Add DSI display support for QCS8300 target Dmitry Baryshkov
  5 siblings, 1 reply; 11+ messages in thread
From: Ayushi Makhija @ 2026-01-04 13:44 UTC (permalink / raw)
  To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
  Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
	marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
	conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
	jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut

Add anx7625 DSI to DP bridge device node.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 177 ++++++++++++++++++++++
 1 file changed, 177 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
index 4a8ac26846c6..8d324bf85e4d 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
@@ -24,6 +24,69 @@ chosen {
 		stdout-path = "serial0:115200n8";
 	};
 
+	vreg_12p0: regulator-vreg-12p0 {
+		compatible = "regulator-fixed";
+		regulator-name = "VREG_12P0";
+
+		regulator-min-microvolt = <12000000>;
+		regulator-max-microvolt = <12000000>;
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vreg_5p0: regulator-vreg-5p0 {
+		compatible = "regulator-fixed";
+		regulator-name = "VREG_5P0";
+
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+
+		vin-supply = <&vreg_12p0>;
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vreg_1p8: regulator-vreg-1p8 {
+		compatible = "regulator-fixed";
+		regulator-name = "VREG_1P8";
+
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+
+		vin-supply = <&vreg_5p0>;
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vreg_1p0: regulator-vreg-1p0 {
+		compatible = "regulator-fixed";
+		regulator-name = "VREG_1P0";
+
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+
+		vin-supply = <&vreg_1p8>;
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vreg_3p0: regulator-vreg-3p0 {
+		compatible = "regulator-fixed";
+		regulator-name = "VREG_3P0";
+
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+
+		vin-supply = <&vreg_12p0>;
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
 	dp0-connector {
 		compatible = "dp-connector";
 		label = "DP0";
@@ -36,6 +99,18 @@ dp0_connector_in: endpoint {
 		};
 	};
 
+	dp-dsi0-connector {
+		compatible = "dp-connector";
+		label = "DSI0";
+		type = "full-size";
+
+		port {
+			dp_dsi0_connector_in: endpoint {
+				remote-endpoint = <&dsi2dp_bridge_out>;
+			};
+		};
+	};
+
 	regulator-usb2-vbus {
 		compatible = "regulator-fixed";
 		regulator-name = "USB2_VBUS";
@@ -316,6 +391,73 @@ &gpu_zap_shader {
 	firmware-name = "qcom/qcs8300/a623_zap.mbn";
 };
 
+&i2c8 {
+	clock-frequency = <400000>;
+
+	status = "okay";
+
+	io_expander: gpio@74 {
+		compatible = "ti,tca9539";
+		reg = <0x74>;
+		interrupts-extended = <&tlmm 93 IRQ_TYPE_EDGE_BOTH>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		reset-gpios = <&tlmm 66 GPIO_ACTIVE_LOW>;
+
+		pinctrl-0 = <&io_expander_intr_active>,
+			    <&io_expander_reset_active>;
+		pinctrl-names = "default";
+	};
+
+	i2c-mux@70 {
+		compatible = "nxp,pca9543";
+		reg = <0x70>;
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		i2c@0 {
+			reg = <0>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			bridge@58 {
+				compatible = "analogix,anx7625";
+				reg = <0x58>;
+				interrupts-extended = <&io_expander 2 IRQ_TYPE_EDGE_FALLING>;
+				enable-gpios = <&io_expander 1 GPIO_ACTIVE_HIGH>;
+				reset-gpios = <&io_expander 0 GPIO_ACTIVE_HIGH>;
+				vdd10-supply = <&vreg_1p0>;
+				vdd18-supply = <&vreg_1p8>;
+				vdd33-supply = <&vreg_3p0>;
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					port@0 {
+						reg = <0>;
+						dsi2dp_bridge_in: endpoint {
+
+							remote-endpoint = <&mdss_dsi0_out>;
+						};
+					};
+
+					port@1 {
+						reg = <1>;
+						dsi2dp_bridge_out: endpoint {
+
+							remote-endpoint = <&dp_dsi0_connector_in>;
+						};
+					};
+				};
+			};
+		};
+	};
+};
+
 &pmm8650au_1_gpios {
 	usb2_en: usb2-en-state {
 		pins = "gpio7";
@@ -353,10 +495,31 @@ &mdss_dp0_phy {
 	status = "okay";
 };
 
+&mdss_dsi0 {
+	vdda-supply = <&vreg_l5a>;
+
+	status = "okay";
+};
+
+&mdss_dsi0_phy {
+	vdds-supply = <&vreg_l4a>;
+
+	status = "okay";
+};
+
+&mdss_dsi0_out {
+	data-lanes = <0 1 2 3>;
+	remote-endpoint = <&dsi2dp_bridge_in>;
+};
+
 &qupv3_id_0 {
 	status = "okay";
 };
 
+&qupv3_id_1 {
+	status = "okay";
+};
+
 &remoteproc_adsp {
 	firmware-name = "qcom/qcs8300/adsp.mbn";
 	status = "okay";
@@ -414,6 +577,20 @@ ethernet0_mdio: ethernet0-mdio-pins {
 		};
 	};
 
+	io_expander_reset_active: io-expander-reset-active-state {
+		pins = "gpio66";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
+	io_expander_intr_active: io-expander-intr-active-state {
+		pins = "gpio93";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	dp_hot_plug_det: dp-hot-plug-det-state {
 		pins = "gpio94";
 		function = "edp0_hot";
-- 
2.34.1


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

* Re: [PATCH v5 2/5] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL
  2026-01-04 13:44 ` [PATCH v5 2/5] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
@ 2026-01-05  7:40   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-05  7:40 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, dmitry.baryshkov, sean, marijn.suijten, andersson,
	robh, robh+dt, krzk+dt, konradybcio, conor+dt, andrzej.hajda,
	neil.armstrong, rfoss, Laurent.pinchart, jonathan, jonas,
	jernej.skrabec, quic_rajeevny, quic_vproddut

On Sun, Jan 04, 2026 at 07:14:39PM +0530, Ayushi Makhija wrote:
> QCS8300 MDSS DSI controller reuses the same IP as SA8775P, with
> identical register layout and programming model. Introduce a
> QCS8300-specific compatible with a fallback to
> `qcom,sa8775p-dsi-ctrl` to reflect this hardware reuse.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof


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

* Re: [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
  2026-01-04 13:44 ` [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
@ 2026-01-07 12:46   ` Konrad Dybcio
  2026-01-07 12:51   ` Konrad Dybcio
  1 sibling, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2026-01-07 12:46 UTC (permalink / raw)
  To: Ayushi Makhija, linux-arm-msm, dri-devel, freedreno, devicetree,
	linux-kernel
  Cc: robdclark, dmitry.baryshkov, sean, marijn.suijten, andersson,
	robh, robh+dt, krzk+dt, konradybcio, conor+dt, andrzej.hajda,
	neil.armstrong, rfoss, Laurent.pinchart, jonathan, jonas,
	jernej.skrabec, quic_rajeevny, quic_vproddut

On 1/4/26 2:44 PM, Ayushi Makhija wrote:
> Add device tree nodes for the DSI0 controller with their corresponding
> PHY found on Qualcomm QCS8300 SoC.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/monaco.dtsi | 102 ++++++++++++++++++++++++++-
>  1 file changed, 101 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index e44fd5c33816..052ccfa6a147 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
> @@ -3,6 +3,7 @@
>   * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
>   */
>  
> +#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
>  #include <dt-bindings/clock/qcom,qcs8300-gcc.h>
>  #include <dt-bindings/clock/qcom,rpmh.h>
>  #include <dt-bindings/clock/qcom,sa8775p-camcc.h>
> @@ -4858,9 +4859,18 @@ port@0 {
>  						reg = <0>;
>  
>  						dpu_intf0_out: endpoint {
> +
>  							remote-endpoint = <&mdss_dp0_in>;
>  						};
>  					};
> +
> +					port@1 {
> +						reg = <1>;
> +						dpu_intf1_out: endpoint {

A newline preceding a subnode definition would be neat (and matching
the existing context visible above..)

[...]

> +					port@0 {
> +						reg = <0>;
> +						mdss_dsi0_in: endpoint {
> +
> +							remote-endpoint = <&dpu_intf1_out>;
> +						};
> +					};
> +
> +					port@1 {
> +						reg = <1>;
> +						mdss_dsi0_out: endpoint {
> +						};
> +					};

Also in these 2 cases

In case you're going to send a v6, please take that into
consideration.

Konrad

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

* Re: [PATCH v5 5/5] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node
  2026-01-04 13:44 ` [PATCH v5 5/5] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
@ 2026-01-07 12:49   ` Konrad Dybcio
  0 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2026-01-07 12:49 UTC (permalink / raw)
  To: Ayushi Makhija, linux-arm-msm, dri-devel, freedreno, devicetree,
	linux-kernel
  Cc: robdclark, dmitry.baryshkov, sean, marijn.suijten, andersson,
	robh, robh+dt, krzk+dt, konradybcio, conor+dt, andrzej.hajda,
	neil.armstrong, rfoss, Laurent.pinchart, jonathan, jonas,
	jernej.skrabec, quic_rajeevny, quic_vproddut

On 1/4/26 2:44 PM, Ayushi Makhija wrote:
> Add anx7625 DSI to DP bridge device node.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---

[...]

>  arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 177 ++++++++++++++++++++++
>  1 file changed, 177 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> index 4a8ac26846c6..8d324bf85e4d 100644
> --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> @@ -24,6 +24,69 @@ chosen {
>  		stdout-path = "serial0:115200n8";
>  	};
>  
> +	vreg_12p0: regulator-vreg-12p0 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VREG_12P0";
> +
> +		regulator-min-microvolt = <12000000>;
> +		regulator-max-microvolt = <12000000>;
> +
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +
> +	vreg_5p0: regulator-vreg-5p0 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VREG_5P0";
> +
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +
> +		vin-supply = <&vreg_12p0>;
> +
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +
> +	vreg_1p8: regulator-vreg-1p8 {

The regulator entries seem to be sorted in a "wrong" order (alphabetical
wrt node name is preferred). Please note that you don't need to strictly
have the definition above a reference like you do in C.

[...]

> +					port@0 {
> +						reg = <0>;
> +						dsi2dp_bridge_in: endpoint {
> +
> +							remote-endpoint = <&mdss_dsi0_out>;
> +						};
> +					};
> +
> +					port@1 {
> +						reg = <1>;
> +						dsi2dp_bridge_out: endpoint {

A '\n' after both 'reg's would be perfect

Konrad

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

* Re: [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
  2026-01-04 13:44 ` [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
  2026-01-07 12:46   ` Konrad Dybcio
@ 2026-01-07 12:51   ` Konrad Dybcio
  1 sibling, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2026-01-07 12:51 UTC (permalink / raw)
  To: Ayushi Makhija, linux-arm-msm, dri-devel, freedreno, devicetree,
	linux-kernel
  Cc: robdclark, dmitry.baryshkov, sean, marijn.suijten, andersson,
	robh, robh+dt, krzk+dt, konradybcio, conor+dt, andrzej.hajda,
	neil.armstrong, rfoss, Laurent.pinchart, jonathan, jonas,
	jernej.skrabec, quic_rajeevny, quic_vproddut

On 1/4/26 2:44 PM, Ayushi Makhija wrote:
> Add device tree nodes for the DSI0 controller with their corresponding
> PHY found on Qualcomm QCS8300 SoC.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---

[...]

> +			mdss_dsi0_phy: phy@ae94400 {
> +				compatible = "qcom,qcs8300-dsi-phy-5nm",
> +					     "qcom,sa8775p-dsi-phy-5nm";
> +				reg = <0x0 0x0ae94400 0x0 0x200>,
> +				      <0x0 0x0ae94600 0x0 0x280>,
> +				      <0x0 0x0ae94900 0x0 0x27c>;

size = 0x280

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad


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

* Re: [PATCH v5 0/5] Add DSI display support for QCS8300 target
  2026-01-04 13:44 [PATCH v5 0/5] Add DSI display support for QCS8300 target Ayushi Makhija
                   ` (4 preceding siblings ...)
  2026-01-04 13:44 ` [PATCH v5 5/5] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
@ 2026-01-15 21:05 ` Dmitry Baryshkov
  5 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2026-01-15 21:05 UTC (permalink / raw)
  To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	Ayushi Makhija
  Cc: sean, marijn.suijten, andersson, robh, robh+dt, krzk+dt,
	konradybcio, conor+dt, andrzej.hajda, neil.armstrong, rfoss,
	Laurent.pinchart, jonathan, jonas, jernej.skrabec, quic_rajeevny,
	quic_vproddut, Rob Clark

On Sun, 04 Jan 2026 19:14:37 +0530, Ayushi Makhija wrote:
> This series enables the support for DSI to DP bridge port
> (labeled as DSI0) of the Qualcomm's QCS8300 Ride platform.
> 
> QCS8300 SoC has DSI controller v2.5.1 and DSI PHY v4.2.
> The Ride platform is having ANX7625 DSI to DP bridge chip from Analogix.
> 

Applied to msm-next, thanks!

[1/5] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY
      https://gitlab.freedesktop.org/lumag/msm/-/commit/969c948d1392
[2/5] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL
      https://gitlab.freedesktop.org/lumag/msm/-/commit/c42973f92974
[3/5] dt-bindings: display: msm: document DSI controller and phy on QCS8300
      https://gitlab.freedesktop.org/lumag/msm/-/commit/f5aa414e5c78

Best regards,
-- 
With best wishes
Dmitry



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

end of thread, other threads:[~2026-01-15 21:06 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-04 13:44 [PATCH v5 0/5] Add DSI display support for QCS8300 target Ayushi Makhija
2026-01-04 13:44 ` [PATCH v5 1/5] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
2026-01-04 13:44 ` [PATCH v5 2/5] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
2026-01-05  7:40   ` Krzysztof Kozlowski
2026-01-04 13:44 ` [PATCH v5 3/5] dt-bindings: display: msm: document DSI controller and phy on QCS8300 Ayushi Makhija
2026-01-04 13:44 ` [PATCH v5 4/5] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
2026-01-07 12:46   ` Konrad Dybcio
2026-01-07 12:51   ` Konrad Dybcio
2026-01-04 13:44 ` [PATCH v5 5/5] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
2026-01-07 12:49   ` Konrad Dybcio
2026-01-15 21:05 ` [PATCH v5 0/5] Add DSI display support for QCS8300 target Dmitry Baryshkov

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

all inboxes | Powered by JetHome®