public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Add DSI display support for SA8775P target
@ 2025-02-25 12:18 Ayushi Makhija
  2025-02-25 12:18 ` [PATCH 01/11] dt-bindings: display: msm-dsi-phy-7nm: document the SA8775P DSI PHY Ayushi Makhija
                   ` (11 more replies)
  0 siblings, 12 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

This series enables the support for DSI to DP bridge ports
(labled as DSI0 and DSI1) of the Qualcomm's SA8775P Ride platform.

SA8775P 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.

Ayushi Makhija (11):
  dt-bindings: display: msm-dsi-phy-7nm: document the SA8775P DSI PHY
  dt-bindings: msm: dsi-controller-main: document the SA8775P DSI CTRL
  dt-bindings: display: msm: document DSI controller and phy on SA8775P
  drm/msm/dsi: add DSI PHY configuration on SA8775P
  drm/msm/dsi: add DSI support for SA8775P
  arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes
  arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
  arm64: dts: qcom: sa8775p-ride: enable Display serial interface
  drm/bridge: anx7625: enable HPD interrupts
  drm/bridge: anx7625: update bridge_ops and sink detect logic
  drm/bridge: anx7625: change the gpiod_set_value API

 .../display/msm/dsi-controller-main.yaml      |   1 +
 .../bindings/display/msm/dsi-phy-7nm.yaml     |   1 +
 .../display/msm/qcom,sa8775p-mdss.yaml        | 170 +++++++++++++++
 arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi    | 198 +++++++++++++++++-
 arch/arm64/boot/dts/qcom/sa8775p.dtsi         | 183 +++++++++++++++-
 drivers/gpu/drm/bridge/analogix/anx7625.c     |  24 ++-
 drivers/gpu/drm/msm/dsi/dsi_cfg.c             |  18 ++
 drivers/gpu/drm/msm/dsi/dsi_cfg.h             |   1 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.c         |   2 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.h         |   1 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c     |  27 +++
 11 files changed, 614 insertions(+), 12 deletions(-)

-- 
2.34.1


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

* [PATCH 01/11] dt-bindings: display: msm-dsi-phy-7nm: document the SA8775P DSI PHY
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 12:18 ` [PATCH 02/11] dt-bindings: msm: dsi-controller-main: document the SA8775P DSI CTRL Ayushi Makhija
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Document the DSI PHY on the SA8775P Platform.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
index 321470435e65..fd5728f3e89f 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
@@ -17,6 +17,7 @@ properties:
     enum:
       - qcom,dsi-phy-7nm
       - qcom,dsi-phy-7nm-8150
+      - qcom,sa8775p-dsi-phy-5nm
       - qcom,sc7280-dsi-phy-7nm
       - qcom,sm6375-dsi-phy-7nm
       - qcom,sm8350-dsi-phy-5nm
-- 
2.34.1


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

* [PATCH 02/11] dt-bindings: msm: dsi-controller-main: document the SA8775P DSI CTRL
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
  2025-02-25 12:18 ` [PATCH 01/11] dt-bindings: display: msm-dsi-phy-7nm: document the SA8775P DSI PHY Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 12:18 ` [PATCH 03/11] dt-bindings: display: msm: document DSI controller and phy on SA8775P Ayushi Makhija
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Document the DSI CTRL on the SA8775P Platform.

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

diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
index ffbd1dc9470e..3621e3f12b65 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
@@ -23,6 +23,7 @@ properties:
               - qcom,msm8996-dsi-ctrl
               - qcom,msm8998-dsi-ctrl
               - qcom,qcm2290-dsi-ctrl
+              - qcom,sa8775p-dsi-ctrl
               - qcom,sc7180-dsi-ctrl
               - qcom,sc7280-dsi-ctrl
               - qcom,sdm660-dsi-ctrl
-- 
2.34.1


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

* [PATCH 03/11] dt-bindings: display: msm: document DSI controller and phy on SA8775P
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
  2025-02-25 12:18 ` [PATCH 01/11] dt-bindings: display: msm-dsi-phy-7nm: document the SA8775P DSI PHY Ayushi Makhija
  2025-02-25 12:18 ` [PATCH 02/11] dt-bindings: msm: dsi-controller-main: document the SA8775P DSI CTRL Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 14:24   ` Rob Herring (Arm)
  2025-02-25 12:18 ` [PATCH 04/11] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Document DSI controller and phy on SA8775P platform.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 .../display/msm/qcom,sa8775p-mdss.yaml        | 170 ++++++++++++++++++
 1 file changed, 170 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
index a90a8b3f1a9e..25b65dda90ed 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml
@@ -52,6 +52,22 @@ patternProperties:
         items:
           - const: qcom,sa8775p-dp
 
+  "^dsi@[0-9a-f]+$":
+    type: object
+    properties:
+      compatible:
+        items:
+          - const: qcom,sa8775p-dsi-ctrl
+          - const: qcom,mdss-dsi-ctrl
+
+  "^phy@[0-9a-f]+$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,sa8775p-dsi-phy-5nm
+          - qcom,sa8775p-edp-phy
+
 required:
   - compatible
 
@@ -158,6 +174,160 @@ examples:
             };
         };
 
+        dsi@ae94000 {
+            compatible = "qcom,sa8775p-dsi-ctrl", "qcom,mdss-dsi-ctrl";
+            reg = <0x0ae94000 0x400>;
+            reg-names = "dsi_ctrl";
+
+            interrupt-parent = <&mdss>;
+            interrupts = <4>;
+
+            clocks = <&dispc_byte_clk>,
+                     <&dispcc_intf_clk>,
+                     <&dispcc_pclk>,
+                     <&dispcc_esc_clk>,
+                     <&dispcc_ahb_clk>,
+                     <&gcc_bus_clk>;
+            clock-names = "byte",
+                          "byte_intf",
+                          "pixel",
+                          "core",
+                          "iface",
+                          "bus";
+            assigned-clocks = <&dispcc_byte_clk>,
+                              <&dispcc_pclk>;
+            assigned-clock-parents = <&mdss0_dsi0_phy 0>, <&mdss0_dsi0_phy 1>;
+            phys = <&mdss0_dsi0_phy>;
+
+            operating-points-v2 = <&dsi0_opp_table>;
+            power-domains = <&rpmhpd SA8775P_MMCX>;
+
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            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 { };
+                };
+            };
+
+            dsi0_opp_table: opp-table {
+                compatible = "operating-points-v2";
+
+                opp-358000000 {
+                    opp-hz = /bits/ 64 <358000000>;
+                    required-opps = <&rpmhpd_opp_svs_l1>;
+                };
+            };
+        };
+
+        mdss0_dsi0_phy: phy@ae94400 {
+            compatible = "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_iface_clk>,
+                     <&rpmhcc_ref_clk>;
+            clock-names = "iface", "ref";
+
+            vdds-supply = <&vreg_dsi_supply>;
+        };
+
+        dsi@ae96000 {
+            compatible = "qcom,sa8775p-dsi-ctrl", "qcom,mdss-dsi-ctrl";
+            reg = <0x0ae96000 0x400>;
+            reg-names = "dsi_ctrl";
+
+            interrupt-parent = <&mdss>;
+            interrupts = <4>;
+
+            clocks = <&dispc_byte_clk>,
+                     <&dispcc_intf_clk>,
+                     <&dispcc_pclk>,
+                     <&dispcc_esc_clk>,
+                     <&dispcc_ahb_clk>,
+                     <&gcc_bus_clk>;
+            clock-names = "byte",
+                          "byte_intf",
+                          "pixel",
+                          "core",
+                          "iface",
+                          "bus";
+            assigned-clocks = <&dispcc_byte_clk>,
+                              <&dispcc_pclk>;
+            assigned-clock-parents = <&mdss0_dsi1_phy 0>, <&mdss0_dsi1_phy 1>;
+            phys = <&mdss0_dsi1_phy>;
+
+            operating-points-v2 = <&dsi1_opp_table>;
+            power-domains = <&rpmhpd SA8775P_MMCX>;
+
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                port@0 {
+                    reg = <0>;
+                    mdss_dsi1_in: endpoint {
+                        remote-endpoint = <&dpu_intf2_out>;
+                    };
+                };
+
+                port@1 {
+                    reg = <1>;
+                    mdss_dsi1_out: endpoint { };
+                };
+            };
+
+            dsi1_opp_table: opp-table {
+                compatible = "operating-points-v2";
+
+                opp-358000000 {
+                    opp-hz = /bits/ 64 <358000000>;
+                    required-opps = <&rpmhpd_opp_svs_l1>;
+                };
+            };
+        };
+
+        mdss0_dsi1_phy: phy@ae96400 {
+            compatible = "qcom,sa8775p-dsi-phy-5nm";
+            reg = <0x0ae96400 0x200>,
+                  <0x0ae96600 0x280>,
+                  <0x0ae96900 0x27c>;
+            reg-names = "dsi_phy",
+                        "dsi_phy_lane",
+                        "dsi_pll";
+
+            #clock-cells = <1>;
+            #phy-cells = <0>;
+
+            clocks = <&dispcc_iface_clk>,
+                     <&rpmhcc_ref_clk>;
+            clock-names = "iface", "ref";
+
+            vdds-supply = <&vreg_dsi_supply>;
+        };
+
         displayport-controller@af54000 {
             compatible = "qcom,sa8775p-dp";
 
-- 
2.34.1


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

* [PATCH 04/11] drm/msm/dsi: add DSI PHY configuration on SA8775P
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (2 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 03/11] dt-bindings: display: msm: document DSI controller and phy on SA8775P Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 17:14   ` Dmitry Baryshkov
  2025-02-25 12:18 ` [PATCH 05/11] drm/msm/dsi: add DSI support for SA8775P Ayushi Makhija
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

The SA8775P SoC uses the 5nm (v4.2) DSI PHY driver with
different enable regulator load.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.c     |  2 ++
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.h     |  1 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 27 +++++++++++++++++++++++
 3 files changed, 30 insertions(+)

diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
index c0bcc6828963..92be08ac5f65 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
@@ -581,6 +581,8 @@ static const struct of_device_id dsi_phy_dt_match[] = {
 	  .data = &dsi_phy_7nm_cfgs },
 	{ .compatible = "qcom,dsi-phy-7nm-8150",
 	  .data = &dsi_phy_7nm_8150_cfgs },
+	{ .compatible = "qcom,sa8775p-dsi-phy-5nm",
+	  .data = &dsi_phy_5nm_8775p_cfgs },
 	{ .compatible = "qcom,sc7280-dsi-phy-7nm",
 	  .data = &dsi_phy_7nm_7280_cfgs },
 	{ .compatible = "qcom,sm6375-dsi-phy-7nm",
diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
index 8985818bb2e0..22f23a5b9fa0 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
@@ -58,6 +58,7 @@ extern const struct msm_dsi_phy_cfg dsi_phy_7nm_8150_cfgs;
 extern const struct msm_dsi_phy_cfg dsi_phy_7nm_7280_cfgs;
 extern const struct msm_dsi_phy_cfg dsi_phy_5nm_8350_cfgs;
 extern const struct msm_dsi_phy_cfg dsi_phy_5nm_8450_cfgs;
+extern const struct msm_dsi_phy_cfg dsi_phy_5nm_8775p_cfgs;
 extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8550_cfgs;
 extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8650_cfgs;
 
diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
index 031446c87dae..76e63752a85e 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
@@ -1127,6 +1127,10 @@ static const struct regulator_bulk_data dsi_phy_7nm_37750uA_regulators[] = {
 	{ .supply = "vdds", .init_load_uA = 37550 },
 };
 
+static const struct regulator_bulk_data dsi_phy_7nm_115000uA_regulators[] = {
+	{ .supply = "vdds", .init_load_uA = 115000 },
+};
+
 static const struct regulator_bulk_data dsi_phy_7nm_98000uA_regulators[] = {
 	{ .supply = "vdds", .init_load_uA = 98000 },
 };
@@ -1269,6 +1273,29 @@ const struct msm_dsi_phy_cfg dsi_phy_5nm_8450_cfgs = {
 	.quirks = DSI_PHY_7NM_QUIRK_V4_3,
 };
 
+const struct msm_dsi_phy_cfg dsi_phy_5nm_8775p_cfgs = {
+	.has_phy_lane = true,
+	.regulator_data = dsi_phy_7nm_115000uA_regulators,
+	.num_regulators = ARRAY_SIZE(dsi_phy_7nm_115000uA_regulators),
+	.ops = {
+		.enable = dsi_7nm_phy_enable,
+		.disable = dsi_7nm_phy_disable,
+		.pll_init = dsi_pll_7nm_init,
+		.save_pll_state = dsi_7nm_pll_save_state,
+		.restore_pll_state = dsi_7nm_pll_restore_state,
+		.set_continuous_clock = dsi_7nm_set_continuous_clock,
+		},
+	.min_pll_rate = 600000000UL,
+#ifdef CONFIG_64BIT
+	.max_pll_rate = 5000000000UL,
+#else
+	.max_pll_rate = ULONG_MAX,
+#endif
+	.io_start = { 0xae94400, 0xae96400 },
+	.num_dsi_phy = 2,
+	.quirks = DSI_PHY_7NM_QUIRK_V4_2,
+};
+
 const struct msm_dsi_phy_cfg dsi_phy_4nm_8550_cfgs = {
 	.has_phy_lane = true,
 	.regulator_data = dsi_phy_7nm_98400uA_regulators,
-- 
2.34.1


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

* [PATCH 05/11] drm/msm/dsi: add DSI support for SA8775P
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (3 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 04/11] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 17:18   ` Dmitry Baryshkov
  2025-02-25 12:18 ` [PATCH 06/11] arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes Ayushi Makhija
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Add DSI Controller v2.5.1 support for SA8775P SoC.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 drivers/gpu/drm/msm/dsi/dsi_cfg.c | 18 ++++++++++++++++++
 drivers/gpu/drm/msm/dsi/dsi_cfg.h |  1 +
 2 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.c b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
index 7754dcec33d0..71881d9370af 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_cfg.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
@@ -221,6 +221,22 @@ static const struct msm_dsi_config sc7280_dsi_cfg = {
 	},
 };
 
+static const struct regulator_bulk_data sa8775p_dsi_regulators[] = {
+	{ .supply = "vdda", .init_load_uA = 30100 },    /* 1.2 V */
+	{ .supply = "refgen" },
+};
+
+static const struct msm_dsi_config sa8775p_dsi_cfg = {
+	.io_offset = DSI_6G_REG_SHIFT,
+	.regulator_data = sa8775p_dsi_regulators,
+	.num_regulators = ARRAY_SIZE(sa8775p_dsi_regulators),
+	.bus_clk_names = dsi_v2_4_clk_names,
+	.num_bus_clks = ARRAY_SIZE(dsi_v2_4_clk_names),
+	.io_start = {
+		{ 0xae94000, 0xae96000 },
+	},
+};
+
 static const struct msm_dsi_host_cfg_ops msm_dsi_v2_host_ops = {
 	.link_clk_set_rate = dsi_link_clk_set_rate_v2,
 	.link_clk_enable = dsi_link_clk_enable_v2,
@@ -294,6 +310,8 @@ static const struct msm_dsi_cfg_handler dsi_cfg_handlers[] = {
 		&sdm845_dsi_cfg, &msm_dsi_6g_v2_host_ops},
 	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_5_0,
 		&sc7280_dsi_cfg, &msm_dsi_6g_v2_host_ops},
+	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_5_1,
+		&sa8775p_dsi_cfg, &msm_dsi_6g_v2_host_ops},
 	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_6_0,
 		&sdm845_dsi_cfg, &msm_dsi_6g_v2_host_ops},
 	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_7_0,
diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.h b/drivers/gpu/drm/msm/dsi/dsi_cfg.h
index 120cb65164c1..65b0705fac0e 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_cfg.h
+++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.h
@@ -27,6 +27,7 @@
 #define MSM_DSI_6G_VER_MINOR_V2_4_0	0x20040000
 #define MSM_DSI_6G_VER_MINOR_V2_4_1	0x20040001
 #define MSM_DSI_6G_VER_MINOR_V2_5_0	0x20050000
+#define MSM_DSI_6G_VER_MINOR_V2_5_1	0x20050001
 #define MSM_DSI_6G_VER_MINOR_V2_6_0	0x20060000
 #define MSM_DSI_6G_VER_MINOR_V2_7_0	0x20070000
 #define MSM_DSI_6G_VER_MINOR_V2_8_0	0x20080000
-- 
2.34.1


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

* [PATCH 06/11] arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (4 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 05/11] drm/msm/dsi: add DSI support for SA8775P Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 13:09   ` Konrad Dybcio
  2025-02-25 12:18 ` [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes Ayushi Makhija
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Add device tree nodes for the DSI0 and DSI1 controllers
with their corresponding PHYs found on Qualcomm SA8775P SoC.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 arch/arm64/boot/dts/qcom/sa8775p.dtsi | 183 +++++++++++++++++++++++++-
 1 file changed, 182 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
index 3394ae2d1300..82d3a47b860c 100644
--- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi
+++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
@@ -3890,6 +3890,22 @@ dpu_intf4_out: endpoint {
 							remote-endpoint = <&mdss0_dp1_in>;
 						};
 					};
+
+					port@2 {
+						reg = <2>;
+
+						dpu_intf1_out: endpoint {
+							remote-endpoint = <&mdss0_dsi0_in>;
+						};
+					};
+
+					port@3 {
+						reg = <3>;
+
+						dpu_intf2_out: endpoint {
+							remote-endpoint = <&mdss0_dsi1_in>;
+						};
+					};
 				};
 
 				mdss0_mdp_opp_table: opp-table {
@@ -3917,6 +3933,170 @@ opp-650000000 {
 				};
 			};
 
+			mdss0_dsi0: dsi@ae94000 {
+				compatible = "qcom,sa8775p-dsi-ctrl", "qcom,mdss-dsi-ctrl";
+				reg = <0x0 0x0ae94000 0x0 0x400>;
+				reg-names = "dsi_ctrl";
+
+				interrupt-parent = <&mdss0>;
+				interrupts = <4>;
+
+				clocks = <&dispcc0 MDSS_DISP_CC_MDSS_BYTE0_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_BYTE0_INTF_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_PCLK0_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_ESC0_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
+					 <&gcc GCC_DISP_HF_AXI_CLK>;
+				clock-names = "byte",
+					      "byte_intf",
+					      "pixel",
+					      "core",
+					      "iface",
+					      "bus";
+				assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_BYTE0_CLK_SRC>,
+						  <&dispcc0 MDSS_DISP_CC_MDSS_PCLK0_CLK_SRC>;
+				assigned-clock-parents = <&mdss0_dsi0_phy 0>,
+							 <&mdss0_dsi0_phy 1>;
+				phys = <&mdss0_dsi0_phy>;
+
+				operating-points-v2 = <&dsi0_opp_table>;
+				power-domains = <&rpmhpd SA8775P_MMCX>;
+
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				status = "disabled";
+
+				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>;
+					};
+				};
+			};
+
+			mdss0_dsi0_phy: phy@ae94400 {
+				compatible = "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 = <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
+					 <&rpmhcc RPMH_CXO_CLK>;
+				clock-names = "iface", "ref";
+
+				status = "disabled";
+			};
+
+			mdss0_dsi1: dsi@ae96000 {
+				compatible = "qcom,sa8775p-dsi-ctrl", "qcom,mdss-dsi-ctrl";
+				reg = <0x0 0x0ae96000 0x0 0x400>;
+				reg-names = "dsi_ctrl";
+
+				interrupt-parent = <&mdss0>;
+				interrupts = <5>;
+
+				clocks = <&dispcc0 MDSS_DISP_CC_MDSS_BYTE1_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_BYTE1_INTF_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_PCLK1_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_ESC1_CLK>,
+					 <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
+					 <&gcc GCC_DISP_HF_AXI_CLK>;
+				clock-names = "byte",
+					      "byte_intf",
+					      "pixel",
+					      "core",
+					      "iface",
+					      "bus";
+				assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_BYTE1_CLK_SRC>,
+						  <&dispcc0 MDSS_DISP_CC_MDSS_PCLK1_CLK_SRC>;
+				assigned-clock-parents = <&mdss0_dsi1_phy 0>,
+							 <&mdss0_dsi1_phy 1>;
+				phys = <&mdss0_dsi1_phy>;
+
+				operating-points-v2 = <&dsi1_opp_table>;
+				power-domains = <&rpmhpd SA8775P_MMCX>;
+
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				status = "disabled";
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					port@0 {
+						reg = <0>;
+
+						mdss0_dsi1_in: endpoint {
+							remote-endpoint = <&dpu_intf2_out>;
+						};
+					};
+
+					port@1 {
+						reg = <1>;
+
+						mdss0_dsi1_out: endpoint { };
+					};
+				};
+
+				dsi1_opp_table: opp-table {
+					compatible = "operating-points-v2";
+
+					opp-358000000 {
+						opp-hz = /bits/ 64 <358000000>;
+						required-opps = <&rpmhpd_opp_svs_l1>;
+					};
+				};
+			};
+
+			mdss0_dsi1_phy: phy@ae96400 {
+				compatible = "qcom,sa8775p-dsi-phy-5nm";
+				reg = <0x0 0x0ae96400 0x0 0x200>,
+				      <0x0 0x0ae96600 0x0 0x280>,
+				      <0x0 0x0ae96900 0x0 0x27c>;
+				reg-names = "dsi_phy",
+					    "dsi_phy_lane",
+					    "dsi_pll";
+
+				#clock-cells = <1>;
+				#phy-cells = <0>;
+
+				clocks = <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>,
+					 <&rpmhcc RPMH_CXO_CLK>;
+				clock-names = "iface", "ref";
+
+				status = "disabled";
+			};
+
 			mdss0_dp0_phy: phy@aec2a00 {
 				compatible = "qcom,sa8775p-edp-phy";
 
@@ -4123,7 +4303,8 @@ dispcc0: clock-controller@af00000 {
 				 <&sleep_clk>,
 				 <&mdss0_dp0_phy 0>, <&mdss0_dp0_phy 1>,
 				 <&mdss0_dp1_phy 0>, <&mdss0_dp1_phy 1>,
-				 <0>, <0>, <0>, <0>;
+				 <&mdss0_dsi0_phy 0>, <&mdss0_dsi0_phy 1>,
+				 <&mdss0_dsi1_phy 0>, <&mdss0_dsi1_phy 1>;
 			power-domains = <&rpmhpd SA8775P_MMCX>;
 			#clock-cells = <1>;
 			#reset-cells = <1>;
-- 
2.34.1


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

* [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (5 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 06/11] arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 13:10   ` Konrad Dybcio
                     ` (2 more replies)
  2025-02-25 12:18 ` [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface Ayushi Makhija
                   ` (4 subsequent siblings)
  11 siblings, 3 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Add anx7625 DSI to DP bridge device nodes.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 136 ++++++++++++++++++++-
 1 file changed, 135 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
index 175f8b1e3b2d..151f66512303 100644
--- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
+++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
@@ -517,9 +517,128 @@ &i2c11 {
 
 &i2c18 {
 	clock-frequency = <400000>;
-	pinctrl-0 = <&qup_i2c18_default>;
+	pinctrl-0 = <&qup_i2c18_default>,
+			<&io_expander_intr_active>,
+			<&io_expander_reset_active>;
 	pinctrl-names = "default";
+
 	status = "okay";
+
+	io_expander: gpio@74 {
+		compatible = "ti,tca9539";
+		reg = <0x74>;
+		interrupt-parent = <&tlmm>;
+		interrupts = <98 IRQ_TYPE_EDGE_BOTH>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+
+		pinctrl-0 = <&dsi0_int_pin>,
+				<&dsi0_cbl_det_pin>,
+				<&dsi1_int_pin>,
+				<&dsi1_cbl_det_pin>;
+		pinctrl-names = "default";
+
+		dsi0_int_pin: gpio2_cfg {
+			pins = "gpio2";
+			input-enable;
+			bias-disable;
+		};
+
+		dsi0_cbl_det_pin: gpio3_cfg {
+			pins = "gpio3";
+			bias-pull-down;
+		};
+
+		dsi1_int_pin: gpio10_cfg {
+			pins = "gpio10";
+			input-enable;
+			bias-disable;
+		};
+
+		dsi1_cbl_det_pin: gpio11_cfg {
+			pins = "gpio11";
+			bias-pull-down;
+		};
+	};
+
+	i2c-mux@70 {
+		compatible = "nxp,pca9543";
+		#address-cells = <1>;
+
+		#size-cells = <0>;
+		reg = <0x70>;
+
+		i2c@0 {
+			reg = <0>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			anx_bridge_1: anx7625@58 {
+				compatible = "analogix,anx7625";
+				reg = <0x58>;
+				interrupt-parent = <&io_expander>;
+				interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+				enable-gpios = <&io_expander 1 0>;
+				reset-gpios = <&io_expander 0 0>;
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dsi2dp_bridge_1_in: port@0 {
+						reg = <0>;
+
+						anx7625_1_in: endpoint {
+							remote-endpoint = <&mdss0_dsi0_out>;
+						};
+					};
+
+					dsi2dp_bridge_1_out: port@1 {
+						reg = <1>;
+
+						anx7625_1_out: endpoint { };
+					};
+				};
+			};
+		};
+
+		i2c@1 {
+			reg = <1>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			anx_bridge_2: anx7625@58 {
+				compatible = "analogix,anx7625";
+				reg = <0x58>;
+				interrupt-parent = <&io_expander>;
+				interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
+				enable-gpios = <&io_expander 9 0>;
+				reset-gpios = <&io_expander 8 0>;
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dsi2dp_bridge_2_in: port@0 {
+						reg = <0>;
+
+						anx7625_2_in: endpoint {
+							remote-endpoint = <&mdss0_dsi1_out>;
+						};
+					};
+
+					dsi2dp_bridge_2_out: port@1 {
+						reg = <1>;
+
+						anx7625_2_out: endpoint { };
+					};
+				};
+			};
+		};
+	};
+
 };
 
 &mdss0 {
@@ -714,6 +833,21 @@ ethernet0_mdio: ethernet0-mdio-pins {
 		};
 	};
 
+	io_expander_intr_active: io-expander-intr-active-state {
+		pins = "gpio98";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
+	io_expander_reset_active: io-expander-reset-active-state {
+		pins = "gpio97";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+		output-high;
+	};
+
 	qup_uart10_default: qup-uart10-state {
 		pins = "gpio46", "gpio47";
 		function = "qup1_se3";
-- 
2.34.1


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

* [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (6 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 13:11   ` Konrad Dybcio
  2025-02-25 17:55   ` Dmitry Baryshkov
  2025-02-25 12:18 ` [PATCH 09/11] drm/bridge: anx7625: enable HPD interrupts Ayushi Makhija
                   ` (3 subsequent siblings)
  11 siblings, 2 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Enable both DSI to DP bridge ports on SA8775P Ride plaftrom.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 66 +++++++++++++++++++++-
 1 file changed, 64 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
index 151f66512303..02d8a9c2c909 100644
--- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
+++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
@@ -128,6 +128,30 @@ dp1_connector_in: endpoint {
 			};
 		};
 	};
+
+	dsi0-connector {
+		compatible = "dp-connector";
+		label = "DSI0";
+		type = "full-size";
+
+		port {
+			dsi0_connector_in: endpoint {
+				remote-endpoint = <&anx7625_1_out>;
+			};
+		};
+	};
+
+	dsi1-connector {
+		compatible = "dp-connector";
+		label = "DSI1";
+		type = "full-size";
+
+		port {
+			dsi1_connector_in: endpoint {
+				remote-endpoint = <&anx7625_2_out>;
+			};
+		};
+	};
 };
 
 &apps_rsc {
@@ -598,7 +622,9 @@ anx7625_1_in: endpoint {
 					dsi2dp_bridge_1_out: port@1 {
 						reg = <1>;
 
-						anx7625_1_out: endpoint { };
+						anx7625_1_out: endpoint {
+							remote-endpoint = <&dsi0_connector_in>;
+						};
 					};
 				};
 			};
@@ -632,7 +658,9 @@ anx7625_2_in: endpoint {
 					dsi2dp_bridge_2_out: port@1 {
 						reg = <1>;
 
-						anx7625_2_out: endpoint { };
+						anx7625_2_out: endpoint {
+							remote-endpoint = <&dsi1_connector_in>;
+						};
 					};
 				};
 			};
@@ -685,6 +713,40 @@ &mdss0_dp1_phy {
 	status = "okay";
 };
 
+&mdss0_dsi0 {
+	vdda-supply = <&vreg_l1c>;
+
+	status = "okay";
+};
+
+&mdss0_dsi0_out {
+	data-lanes = <0 1 2 3>;
+	remote-endpoint = <&anx7625_1_in>;
+};
+
+&mdss0_dsi0_phy {
+	vdds-supply = <&vreg_l4a>;
+
+	status = "okay";
+};
+
+&mdss0_dsi1 {
+	vdda-supply = <&vreg_l1c>;
+
+	status = "okay";
+};
+
+&mdss0_dsi1_out {
+	data-lanes = <0 1 2 3>;
+	remote-endpoint = <&anx7625_2_in>;
+};
+
+&mdss0_dsi1_phy {
+	vdds-supply = <&vreg_l4a>;
+
+	status = "okay";
+};
+
 &pmm8654au_0_gpios {
 	gpio-line-names = "DS_EN",
 			  "POFF_COMPLETE",
-- 
2.34.1


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

* [PATCH 09/11] drm/bridge: anx7625: enable HPD interrupts
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (7 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 17:56   ` Dmitry Baryshkov
  2025-02-25 12:18 ` [PATCH 10/11] drm/bridge: anx7625: update bridge_ops and sink detect logic Ayushi Makhija
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

When device enters the suspend state, it prevents
HPD interrupts from occurring. To address this,
add an additional PM runtime vote during bridge
attach for DisplayPort. This vote is removed on
bridge detach.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 drivers/gpu/drm/bridge/analogix/anx7625.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index 4be34d5c7a3b..d2655bf46842 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -2168,6 +2168,9 @@ static int anx7625_bridge_attach(struct drm_bridge *bridge,
 
 	ctx->bridge_attached = 1;
 
+	if (ctx->pdata.panel_bridge->type == DRM_MODE_CONNECTOR_DisplayPort)
+		pm_runtime_get_sync(dev);
+
 	return 0;
 }
 
@@ -2175,6 +2178,9 @@ static void anx7625_bridge_detach(struct drm_bridge *bridge)
 {
 	struct anx7625_data *ctx = bridge_to_anx7625(bridge);
 
+	if (ctx->pdata.panel_bridge->type == DRM_MODE_CONNECTOR_DisplayPort)
+		pm_runtime_put_sync(ctx->dev);
+
 	drm_dp_aux_unregister(&ctx->aux);
 }
 
-- 
2.34.1


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

* [PATCH 10/11] drm/bridge: anx7625: update bridge_ops and sink detect logic
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (8 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 09/11] drm/bridge: anx7625: enable HPD interrupts Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 17:58   ` Dmitry Baryshkov
  2025-02-25 12:18 ` [PATCH 11/11] drm/bridge: anx7625: change the gpiod_set_value API Ayushi Makhija
  2025-02-25 20:12 ` [PATCH 00/11] Add DSI display support for SA8775P target Rob Herring (Arm)
  11 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

The anx7625_link_bridge() checks if a device is a not a panel
bridge and add DRM_BRIDGE_OP_HPD and DRM_BRIDGE_OP_DETECT to
the bridge operations. However, on port 1 of the anx7625
bridge, any device added is always treated as a panel
bridge, preventing connector_detect function from being
called. To resolve this, instead of just checking if it is a
panel bridge, we should verify the type of panel bridge
whether it is a DisplayPort or eDP panel. If the panel
bridge is of the DisplayPort type, we should add
DRM_BRIDGE_OP_HPD or DRM_BRIDGE_OP_DETECT to the bridge
operations.

In the anx7625_sink_detect(), the device is checked to see
if it is a panel bridge, and it always sends a "connected"
status to the connector. When adding the DP port on port 1 of the
anx7625, it incorrectly treats it as a panel bridge and sends an
always "connected" status. Instead of checking the status on the
panel bridge, it's better to check the hpd_status for connectors
like DisplayPort. This way, it verifies the hpd_status variable
before sending the status to the connector.

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 drivers/gpu/drm/bridge/analogix/anx7625.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index d2655bf46842..9b6303267924 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -1814,9 +1814,6 @@ static enum drm_connector_status anx7625_sink_detect(struct anx7625_data *ctx)
 
 	DRM_DEV_DEBUG_DRIVER(dev, "sink detect\n");
 
-	if (ctx->pdata.panel_bridge)
-		return connector_status_connected;
-
 	return ctx->hpd_status ? connector_status_connected :
 				     connector_status_disconnected;
 }
@@ -2596,9 +2593,10 @@ static int anx7625_link_bridge(struct drm_dp_aux *aux)
 	platform->bridge.of_node = dev->of_node;
 	if (!anx7625_of_panel_on_aux_bus(dev))
 		platform->bridge.ops |= DRM_BRIDGE_OP_EDID;
-	if (!platform->pdata.panel_bridge)
-		platform->bridge.ops |= DRM_BRIDGE_OP_HPD |
-					DRM_BRIDGE_OP_DETECT;
+	if (!platform->pdata.panel_bridge ||
+	    platform->pdata.panel_bridge->type == DRM_MODE_CONNECTOR_DisplayPort) {
+		platform->bridge.ops |= DRM_BRIDGE_OP_HPD | DRM_BRIDGE_OP_DETECT;
+	}
 	platform->bridge.type = platform->pdata.panel_bridge ?
 				    DRM_MODE_CONNECTOR_eDP :
 				    DRM_MODE_CONNECTOR_DisplayPort;
-- 
2.34.1


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

* [PATCH 11/11] drm/bridge: anx7625: change the gpiod_set_value API
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (9 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 10/11] drm/bridge: anx7625: update bridge_ops and sink detect logic Ayushi Makhija
@ 2025-02-25 12:18 ` Ayushi Makhija
  2025-02-25 18:03   ` Dmitry Baryshkov
  2025-02-25 20:12 ` [PATCH 00/11] Add DSI display support for SA8775P target Rob Herring (Arm)
  11 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-02-25 12:18 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, jonas,
	jernej.skrabec, quic_abhinavk, quic_rajeevny, quic_vproddut,
	quic_jesszhan

Use gpiod_set_value_cansleep() instead of gpiod_set_value()
to fix the below call trace in the boot log:

[    5.690534] Call trace:
[    5.690536]  gpiod_set_value+0x40/0xa4
[    5.690540]  anx7625_runtime_pm_resume+0xa0/0x324 [anx7625]
[    5.690545]  __rpm_callback+0x48/0x1d8
[    5.690549]  rpm_callback+0x6c/0x78

Certain GPIO controllers require access via message-based buses
such as I2C or SPI, which may cause the GPIOs to enter a sleep
state. Therefore, use the gpiod_set_value_cansleep().

Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
 drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index 9b6303267924..563944aa9012 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -1257,10 +1257,10 @@ static void anx7625_power_on(struct anx7625_data *ctx)
 	usleep_range(11000, 12000);
 
 	/* Power on pin enable */
-	gpiod_set_value(ctx->pdata.gpio_p_on, 1);
+	gpiod_set_value_cansleep(ctx->pdata.gpio_p_on, 1);
 	usleep_range(10000, 11000);
 	/* Power reset pin enable */
-	gpiod_set_value(ctx->pdata.gpio_reset, 1);
+	gpiod_set_value_cansleep(ctx->pdata.gpio_reset, 1);
 	usleep_range(10000, 11000);
 
 	DRM_DEV_DEBUG_DRIVER(dev, "power on !\n");
@@ -1280,9 +1280,9 @@ static void anx7625_power_standby(struct anx7625_data *ctx)
 		return;
 	}
 
-	gpiod_set_value(ctx->pdata.gpio_reset, 0);
+	gpiod_set_value_cansleep(ctx->pdata.gpio_reset, 0);
 	usleep_range(1000, 1100);
-	gpiod_set_value(ctx->pdata.gpio_p_on, 0);
+	gpiod_set_value_cansleep(ctx->pdata.gpio_p_on, 0);
 	usleep_range(1000, 1100);
 
 	ret = regulator_bulk_disable(ARRAY_SIZE(ctx->pdata.supplies),
-- 
2.34.1


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

* Re: [PATCH 06/11] arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes
  2025-02-25 12:18 ` [PATCH 06/11] arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes Ayushi Makhija
@ 2025-02-25 13:09   ` Konrad Dybcio
  0 siblings, 0 replies; 32+ messages in thread
From: Konrad Dybcio @ 2025-02-25 13:09 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, jonas, jernej.skrabec,
	quic_abhinavk, quic_rajeevny, quic_vproddut, quic_jesszhan

On 25.02.2025 1:18 PM, Ayushi Makhija wrote:
> Add device tree nodes for the DSI0 and DSI1 controllers
> with their corresponding PHYs found on Qualcomm SA8775P SoC.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---

[...]

> +				assigned-clocks = <&dispcc0 MDSS_DISP_CC_MDSS_BYTE0_CLK_SRC>,
> +						  <&dispcc0 MDSS_DISP_CC_MDSS_PCLK0_CLK_SRC>;
> +				assigned-clock-parents = <&mdss0_dsi0_phy 0>,
> +							 <&mdss0_dsi0_phy 1>;

Please rebase on this patchset:

https://lore.kernel.org/linux-arm-msm/20250127-dts-qcom-dsi-phy-clocks-v1-0-9d8ddbcb1c7f@linaro.org/

Konrad

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

* Re: [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
  2025-02-25 12:18 ` [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes Ayushi Makhija
@ 2025-02-25 13:10   ` Konrad Dybcio
  2025-02-25 13:31   ` Krzysztof Kozlowski
  2025-02-25 17:41   ` Dmitry Baryshkov
  2 siblings, 0 replies; 32+ messages in thread
From: Konrad Dybcio @ 2025-02-25 13:10 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, jonas, jernej.skrabec,
	quic_abhinavk, quic_rajeevny, quic_vproddut, quic_jesszhan

On 25.02.2025 1:18 PM, Ayushi Makhija wrote:
> Add anx7625 DSI to DP bridge device nodes.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 136 ++++++++++++++++++++-
>  1 file changed, 135 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> index 175f8b1e3b2d..151f66512303 100644
> --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> @@ -517,9 +517,128 @@ &i2c11 {
>  
>  &i2c18 {
>  	clock-frequency = <400000>;
> -	pinctrl-0 = <&qup_i2c18_default>;
> +	pinctrl-0 = <&qup_i2c18_default>,
> +			<&io_expander_intr_active>,
> +			<&io_expander_reset_active>;

Please align the '<'s

>  	pinctrl-names = "default";
> +
>  	status = "okay";
> +
> +	io_expander: gpio@74 {
> +		compatible = "ti,tca9539";
> +		reg = <0x74>;
> +		interrupt-parent = <&tlmm>;
> +		interrupts = <98 IRQ_TYPE_EDGE_BOTH>;

use interrupts-extended, here and below

Konrad

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

* Re: [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface
  2025-02-25 12:18 ` [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface Ayushi Makhija
@ 2025-02-25 13:11   ` Konrad Dybcio
  2025-02-25 17:55   ` Dmitry Baryshkov
  1 sibling, 0 replies; 32+ messages in thread
From: Konrad Dybcio @ 2025-02-25 13:11 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, jonas, jernej.skrabec,
	quic_abhinavk, quic_rajeevny, quic_vproddut, quic_jesszhan

On 25.02.2025 1:18 PM, Ayushi Makhija wrote:
> Enable both DSI to DP bridge ports on SA8775P Ride plaftrom.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 66 +++++++++++++++++++++-
>  1 file changed, 64 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> index 151f66512303..02d8a9c2c909 100644
> --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> @@ -128,6 +128,30 @@ dp1_connector_in: endpoint {
>  			};
>  		};
>  	};
> +
> +	dsi0-connector {
> +		compatible = "dp-connector";
> +		label = "DSI0";

DP0

> +		type = "full-size";
> +
> +		port {
> +			dsi0_connector_in: endpoint {
> +				remote-endpoint = <&anx7625_1_out>;
> +			};
> +		};
> +	};
> +
> +	dsi1-connector {
> +		compatible = "dp-connector";
> +		label = "DSI1";

DP1

Konrad

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

* Re: [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
  2025-02-25 12:18 ` [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes Ayushi Makhija
  2025-02-25 13:10   ` Konrad Dybcio
@ 2025-02-25 13:31   ` Krzysztof Kozlowski
  2025-02-26  8:35     ` Krzysztof Kozlowski
  2025-02-25 17:41   ` Dmitry Baryshkov
  2 siblings, 1 reply; 32+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-25 13:31 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, jonas, jernej.skrabec,
	quic_abhinavk, quic_rajeevny, quic_vproddut, quic_jesszhan

On 25/02/2025 13:18, Ayushi Makhija wrote:
> +		pinctrl-0 = <&dsi0_int_pin>,
> +				<&dsi0_cbl_det_pin>,
> +				<&dsi1_int_pin>,
> +				<&dsi1_cbl_det_pin>;
> +		pinctrl-names = "default";
> +
> +		dsi0_int_pin: gpio2_cfg {


No underscores, see DTS coding style.

> +			pins = "gpio2";
> +			input-enable;
> +			bias-disable;
> +		};
> +
> +		dsi0_cbl_det_pin: gpio3_cfg {
> +			pins = "gpio3";
> +			bias-pull-down;
> +		};
> +
> +		dsi1_int_pin: gpio10_cfg {
> +			pins = "gpio10";
> +			input-enable;
> +			bias-disable;
> +		};
> +
> +		dsi1_cbl_det_pin: gpio11_cfg {
> +			pins = "gpio11";
> +			bias-pull-down;
> +		};
> +	};
> +
> +	i2c-mux@70 {
> +		compatible = "nxp,pca9543";
> +		#address-cells = <1>;
> +
> +		#size-cells = <0>;
> +		reg = <0x70>;
> +
> +		i2c@0 {
> +			reg = <0>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			anx_bridge_1: anx7625@58 {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation


> +				compatible = "analogix,anx7625";
> +				reg = <0x58>;
> +				interrupt-parent = <&io_expander>;
> +				interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> +				enable-gpios = <&io_expander 1 0>;
> +				reset-gpios = <&io_expander 0 0>;

Use proper defines.

> +
> +				ports {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					dsi2dp_bridge_1_in: port@0 {
> +						reg = <0>;
> +
> +						anx7625_1_in: endpoint {
> +							remote-endpoint = <&mdss0_dsi0_out>;
> +						};
> +					};
> +
> +					dsi2dp_bridge_1_out: port@1 {
> +						reg = <1>;
> +
> +						anx7625_1_out: endpoint { };
> +					};
> +				};
> +			};
> +		};
> +
> +		i2c@1 {
> +			reg = <1>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			anx_bridge_2: anx7625@58 {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation


> +				compatible = "analogix,anx7625";
> +				reg = <0x58>;
> +				interrupt-parent = <&io_expander>;
> +				interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
> +				enable-gpios = <&io_expander 9 0>;
> +				reset-gpios = <&io_expander 8 0>;



Best regards,
Krzysztof

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

* Re: [PATCH 03/11] dt-bindings: display: msm: document DSI controller and phy on SA8775P
  2025-02-25 12:18 ` [PATCH 03/11] dt-bindings: display: msm: document DSI controller and phy on SA8775P Ayushi Makhija
@ 2025-02-25 14:24   ` Rob Herring (Arm)
  0 siblings, 0 replies; 32+ messages in thread
From: Rob Herring (Arm) @ 2025-02-25 14:24 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: krzk+dt, quic_jesszhan, rfoss, jernej.skrabec, conor+dt, robh+dt,
	jonas, linux-arm-msm, Laurent.pinchart, quic_vproddut,
	neil.armstrong, konradybcio, andrzej.hajda, linux-kernel,
	quic_rajeevny, freedreno, dri-devel, marijn.suijten, andersson,
	dmitry.baryshkov, robdclark, quic_abhinavk, sean, devicetree


On Tue, 25 Feb 2025 17:48:16 +0530, Ayushi Makhija wrote:
> Document DSI controller and phy on SA8775P platform.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  .../display/msm/qcom,sa8775p-mdss.yaml        | 170 ++++++++++++++++++
>  1 file changed, 170 insertions(+)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml: ^dsi@[0-9a-f]+$: Missing additionalProperties/unevaluatedProperties constraint

/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml: ^phy@[0-9a-f]+$: Missing additionalProperties/unevaluatedProperties constraint

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250225121824.3869719-4-quic_amakhija@quicinc.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


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

* Re: [PATCH 04/11] drm/msm/dsi: add DSI PHY configuration on SA8775P
  2025-02-25 12:18 ` [PATCH 04/11] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
@ 2025-02-25 17:14   ` Dmitry Baryshkov
  0 siblings, 0 replies; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 17:14 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 05:48:17PM +0530, Ayushi Makhija wrote:
> The SA8775P SoC uses the 5nm (v4.2) DSI PHY driver with
> different enable regulator load.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  drivers/gpu/drm/msm/dsi/phy/dsi_phy.c     |  2 ++
>  drivers/gpu/drm/msm/dsi/phy/dsi_phy.h     |  1 +
>  drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 27 +++++++++++++++++++++++
>  3 files changed, 30 insertions(+)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

-- 
With best wishes
Dmitry

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

* Re: [PATCH 05/11] drm/msm/dsi: add DSI support for SA8775P
  2025-02-25 12:18 ` [PATCH 05/11] drm/msm/dsi: add DSI support for SA8775P Ayushi Makhija
@ 2025-02-25 17:18   ` Dmitry Baryshkov
  2025-03-04  9:30     ` Ayushi Makhija
  0 siblings, 1 reply; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 17:18 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 05:48:18PM +0530, Ayushi Makhija wrote:
> Add DSI Controller v2.5.1 support for SA8775P SoC.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  drivers/gpu/drm/msm/dsi/dsi_cfg.c | 18 ++++++++++++++++++
>  drivers/gpu/drm/msm/dsi/dsi_cfg.h |  1 +
>  2 files changed, 19 insertions(+)
> 
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.c b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
> index 7754dcec33d0..71881d9370af 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_cfg.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
> @@ -221,6 +221,22 @@ static const struct msm_dsi_config sc7280_dsi_cfg = {
>  	},
>  };
>  
> +static const struct regulator_bulk_data sa8775p_dsi_regulators[] = {
> +	{ .supply = "vdda", .init_load_uA = 30100 },    /* 1.2 V */
> +	{ .supply = "refgen" },
> +};

sc7280 has 8350 uA here. I'd say, having those two next to each other is
suspicious. Could you please doublecheck it?

LGTM otherwise

> +
> +static const struct msm_dsi_config sa8775p_dsi_cfg = {
> +	.io_offset = DSI_6G_REG_SHIFT,
> +	.regulator_data = sa8775p_dsi_regulators,
> +	.num_regulators = ARRAY_SIZE(sa8775p_dsi_regulators),
> +	.bus_clk_names = dsi_v2_4_clk_names,
> +	.num_bus_clks = ARRAY_SIZE(dsi_v2_4_clk_names),
> +	.io_start = {
> +		{ 0xae94000, 0xae96000 },
> +	},
> +};
> +
>  static const struct msm_dsi_host_cfg_ops msm_dsi_v2_host_ops = {
>  	.link_clk_set_rate = dsi_link_clk_set_rate_v2,
>  	.link_clk_enable = dsi_link_clk_enable_v2,
> @@ -294,6 +310,8 @@ static const struct msm_dsi_cfg_handler dsi_cfg_handlers[] = {
>  		&sdm845_dsi_cfg, &msm_dsi_6g_v2_host_ops},
>  	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_5_0,
>  		&sc7280_dsi_cfg, &msm_dsi_6g_v2_host_ops},
> +	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_5_1,
> +		&sa8775p_dsi_cfg, &msm_dsi_6g_v2_host_ops},
>  	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_6_0,
>  		&sdm845_dsi_cfg, &msm_dsi_6g_v2_host_ops},
>  	{MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_7_0,
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.h b/drivers/gpu/drm/msm/dsi/dsi_cfg.h
> index 120cb65164c1..65b0705fac0e 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_cfg.h
> +++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.h
> @@ -27,6 +27,7 @@
>  #define MSM_DSI_6G_VER_MINOR_V2_4_0	0x20040000
>  #define MSM_DSI_6G_VER_MINOR_V2_4_1	0x20040001
>  #define MSM_DSI_6G_VER_MINOR_V2_5_0	0x20050000
> +#define MSM_DSI_6G_VER_MINOR_V2_5_1	0x20050001
>  #define MSM_DSI_6G_VER_MINOR_V2_6_0	0x20060000
>  #define MSM_DSI_6G_VER_MINOR_V2_7_0	0x20070000
>  #define MSM_DSI_6G_VER_MINOR_V2_8_0	0x20080000
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
  2025-02-25 12:18 ` [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes Ayushi Makhija
  2025-02-25 13:10   ` Konrad Dybcio
  2025-02-25 13:31   ` Krzysztof Kozlowski
@ 2025-02-25 17:41   ` Dmitry Baryshkov
  2 siblings, 0 replies; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 17:41 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 05:48:20PM +0530, Ayushi Makhija wrote:
> Add anx7625 DSI to DP bridge device nodes.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 136 ++++++++++++++++++++-
>  1 file changed, 135 insertions(+), 1 deletion(-)
> 

Missing dp-connector devices. Please add them together with the bridges.

-- 
With best wishes
Dmitry

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

* Re: [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface
  2025-02-25 12:18 ` [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface Ayushi Makhija
  2025-02-25 13:11   ` Konrad Dybcio
@ 2025-02-25 17:55   ` Dmitry Baryshkov
  2025-03-04  9:44     ` Ayushi Makhija
  1 sibling, 1 reply; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 17:55 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 05:48:21PM +0530, Ayushi Makhija wrote:
> Enable both DSI to DP bridge ports on SA8775P Ride plaftrom.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 66 +++++++++++++++++++++-
>  1 file changed, 64 insertions(+), 2 deletions(-)

Please squash into the previous patch. It doesn't make a lot of sense separately.

> 
> diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> index 151f66512303..02d8a9c2c909 100644
> --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> @@ -128,6 +128,30 @@ dp1_connector_in: endpoint {
>  			};
>  		};
>  	};
> +
> +	dsi0-connector {

dpN-connector. It is not DSI.

> +		compatible = "dp-connector";
> +		label = "DSI0";

Is it an actual label on it?

> +		type = "full-size";
> +
> +		port {
> +			dsi0_connector_in: endpoint {
> +				remote-endpoint = <&anx7625_1_out>;
> +			};
> +		};
> +	};
> +
-- 
With best wishes
Dmitry

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

* Re: [PATCH 09/11] drm/bridge: anx7625: enable HPD interrupts
  2025-02-25 12:18 ` [PATCH 09/11] drm/bridge: anx7625: enable HPD interrupts Ayushi Makhija
@ 2025-02-25 17:56   ` Dmitry Baryshkov
  0 siblings, 0 replies; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 17:56 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 05:48:22PM +0530, Ayushi Makhija wrote:
> When device enters the suspend state, it prevents
> HPD interrupts from occurring. To address this,
> add an additional PM runtime vote during bridge
> attach for DisplayPort. This vote is removed on
> bridge detach.

Well.. You can guess. The bridges have .hpd_enable() and .hpd_disable()
callbacks. Please use those instead.

> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  drivers/gpu/drm/bridge/analogix/anx7625.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> index 4be34d5c7a3b..d2655bf46842 100644
> --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> @@ -2168,6 +2168,9 @@ static int anx7625_bridge_attach(struct drm_bridge *bridge,
>  
>  	ctx->bridge_attached = 1;
>  
> +	if (ctx->pdata.panel_bridge->type == DRM_MODE_CONNECTOR_DisplayPort)
> +		pm_runtime_get_sync(dev);
> +
>  	return 0;
>  }
>  
> @@ -2175,6 +2178,9 @@ static void anx7625_bridge_detach(struct drm_bridge *bridge)
>  {
>  	struct anx7625_data *ctx = bridge_to_anx7625(bridge);
>  
> +	if (ctx->pdata.panel_bridge->type == DRM_MODE_CONNECTOR_DisplayPort)
> +		pm_runtime_put_sync(ctx->dev);
> +
>  	drm_dp_aux_unregister(&ctx->aux);
>  }
>  
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH 10/11] drm/bridge: anx7625: update bridge_ops and sink detect logic
  2025-02-25 12:18 ` [PATCH 10/11] drm/bridge: anx7625: update bridge_ops and sink detect logic Ayushi Makhija
@ 2025-02-25 17:58   ` Dmitry Baryshkov
  2025-02-25 20:57     ` Dmitry Baryshkov
  0 siblings, 1 reply; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 17:58 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 05:48:23PM +0530, Ayushi Makhija wrote:
> The anx7625_link_bridge() checks if a device is a not a panel
> bridge and add DRM_BRIDGE_OP_HPD and DRM_BRIDGE_OP_DETECT to
> the bridge operations. However, on port 1 of the anx7625
> bridge, any device added is always treated as a panel
> bridge, preventing connector_detect function from being
> called. To resolve this, instead of just checking if it is a
> panel bridge, we should verify the type of panel bridge
> whether it is a DisplayPort or eDP panel. If the panel
> bridge is of the DisplayPort type, we should add
> DRM_BRIDGE_OP_HPD or DRM_BRIDGE_OP_DETECT to the bridge
> operations.
> 
> In the anx7625_sink_detect(), the device is checked to see
> if it is a panel bridge, and it always sends a "connected"
> status to the connector. When adding the DP port on port 1 of the
> anx7625, it incorrectly treats it as a panel bridge and sends an
> always "connected" status. Instead of checking the status on the
> panel bridge, it's better to check the hpd_status for connectors
> like DisplayPort. This way, it verifies the hpd_status variable
> before sending the status to the connector.
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  drivers/gpu/drm/bridge/analogix/anx7625.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> index d2655bf46842..9b6303267924 100644
> --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> @@ -1814,9 +1814,6 @@ static enum drm_connector_status anx7625_sink_detect(struct anx7625_data *ctx)
>  
>  	DRM_DEV_DEBUG_DRIVER(dev, "sink detect\n");
>  
> -	if (ctx->pdata.panel_bridge)
> -		return connector_status_connected;
> -
>  	return ctx->hpd_status ? connector_status_connected :
>  				     connector_status_disconnected;
>  }
> @@ -2596,9 +2593,10 @@ static int anx7625_link_bridge(struct drm_dp_aux *aux)
>  	platform->bridge.of_node = dev->of_node;
>  	if (!anx7625_of_panel_on_aux_bus(dev))
>  		platform->bridge.ops |= DRM_BRIDGE_OP_EDID;
> -	if (!platform->pdata.panel_bridge)
> -		platform->bridge.ops |= DRM_BRIDGE_OP_HPD |
> -					DRM_BRIDGE_OP_DETECT;
> +	if (!platform->pdata.panel_bridge ||
> +	    platform->pdata.panel_bridge->type == DRM_MODE_CONNECTOR_DisplayPort) {

This is incorrect, because there can be other kinds of bridges in the DP
chain. I think it's better to check for !eDP instead.

> +		platform->bridge.ops |= DRM_BRIDGE_OP_HPD | DRM_BRIDGE_OP_DETECT;
> +	}
>  	platform->bridge.type = platform->pdata.panel_bridge ?
>  				    DRM_MODE_CONNECTOR_eDP :
>  				    DRM_MODE_CONNECTOR_DisplayPort;
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH 11/11] drm/bridge: anx7625: change the gpiod_set_value API
  2025-02-25 12:18 ` [PATCH 11/11] drm/bridge: anx7625: change the gpiod_set_value API Ayushi Makhija
@ 2025-02-25 18:03   ` Dmitry Baryshkov
  0 siblings, 0 replies; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 18:03 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 05:48:24PM +0530, Ayushi Makhija wrote:
> Use gpiod_set_value_cansleep() instead of gpiod_set_value()
> to fix the below call trace in the boot log:
> 
> [    5.690534] Call trace:
> [    5.690536]  gpiod_set_value+0x40/0xa4
> [    5.690540]  anx7625_runtime_pm_resume+0xa0/0x324 [anx7625]
> [    5.690545]  __rpm_callback+0x48/0x1d8
> [    5.690549]  rpm_callback+0x6c/0x78
> 
> Certain GPIO controllers require access via message-based buses
> such as I2C or SPI, which may cause the GPIOs to enter a sleep
> state. Therefore, use the gpiod_set_value_cansleep().
> 
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
>  drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

-- 
With best wishes
Dmitry

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

* Re: [PATCH 00/11] Add DSI display support for SA8775P target
  2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
                   ` (10 preceding siblings ...)
  2025-02-25 12:18 ` [PATCH 11/11] drm/bridge: anx7625: change the gpiod_set_value API Ayushi Makhija
@ 2025-02-25 20:12 ` Rob Herring (Arm)
  11 siblings, 0 replies; 32+ messages in thread
From: Rob Herring (Arm) @ 2025-02-25 20:12 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: jernej.skrabec, quic_abhinavk, quic_rajeevny, krzk+dt,
	linux-kernel, freedreno, neil.armstrong, sean, devicetree,
	robdclark, andersson, dmitry.baryshkov, conor+dt, rfoss,
	quic_jesszhan, quic_vproddut, linux-arm-msm, dri-devel,
	marijn.suijten, Laurent.pinchart, andrzej.hajda, jonas,
	konradybcio, robh+dt


On Tue, 25 Feb 2025 17:48:13 +0530, Ayushi Makhija wrote:
> This series enables the support for DSI to DP bridge ports
> (labled as DSI0 and DSI1) of the Qualcomm's SA8775P Ride platform.
> 
> SA8775P 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.
> 
> Ayushi Makhija (11):
>   dt-bindings: display: msm-dsi-phy-7nm: document the SA8775P DSI PHY
>   dt-bindings: msm: dsi-controller-main: document the SA8775P DSI CTRL
>   dt-bindings: display: msm: document DSI controller and phy on SA8775P
>   drm/msm/dsi: add DSI PHY configuration on SA8775P
>   drm/msm/dsi: add DSI support for SA8775P
>   arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes
>   arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
>   arm64: dts: qcom: sa8775p-ride: enable Display serial interface
>   drm/bridge: anx7625: enable HPD interrupts
>   drm/bridge: anx7625: update bridge_ops and sink detect logic
>   drm/bridge: anx7625: change the gpiod_set_value API
> 
>  .../display/msm/dsi-controller-main.yaml      |   1 +
>  .../bindings/display/msm/dsi-phy-7nm.yaml     |   1 +
>  .../display/msm/qcom,sa8775p-mdss.yaml        | 170 +++++++++++++++
>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi    | 198 +++++++++++++++++-
>  arch/arm64/boot/dts/qcom/sa8775p.dtsi         | 183 +++++++++++++++-
>  drivers/gpu/drm/bridge/analogix/anx7625.c     |  24 ++-
>  drivers/gpu/drm/msm/dsi/dsi_cfg.c             |  18 ++
>  drivers/gpu/drm/msm/dsi/dsi_cfg.h             |   1 +
>  drivers/gpu/drm/msm/dsi/phy/dsi_phy.c         |   2 +
>  drivers/gpu/drm/msm/dsi/phy/dsi_phy.h         |   1 +
>  drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c     |  27 +++
>  11 files changed, 614 insertions(+), 12 deletions(-)
> 
> --
> 2.34.1
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250225121824.3869719-1-quic_amakhija@quicinc.com:

arch/arm64/boot/dts/qcom/qcs9100-ride.dtb: gpio@74: 'gpio10_cfg', 'gpio11_cfg', 'gpio2_cfg', 'gpio3_cfg' do not match any of the regexes: '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$', 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride.dtb: gpio@74: 'gpio10_cfg', 'gpio11_cfg', 'gpio2_cfg', 'gpio3_cfg' do not match any of the regexes: '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$', 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dtb: gpio@74: 'gpio10_cfg', 'gpio11_cfg', 'gpio2_cfg', 'gpio3_cfg' do not match any of the regexes: '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$', 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride-r3.dtb: gpio@74: 'gpio10_cfg', 'gpio11_cfg', 'gpio2_cfg', 'gpio3_cfg' do not match any of the regexes: '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$', 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride-r3.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride-r3.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride-r3.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride-r3.dtb: anx7625@58: 'vdd10-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride-r3.dtb: anx7625@58: 'vdd18-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#
arch/arm64/boot/dts/qcom/sa8775p-ride-r3.dtb: anx7625@58: 'vdd33-supply' is a required property
	from schema $id: http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#






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

* Re: [PATCH 10/11] drm/bridge: anx7625: update bridge_ops and sink detect logic
  2025-02-25 17:58   ` Dmitry Baryshkov
@ 2025-02-25 20:57     ` Dmitry Baryshkov
  0 siblings, 0 replies; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25 20:57 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 07:58:24PM +0200, Dmitry Baryshkov wrote:
> On Tue, Feb 25, 2025 at 05:48:23PM +0530, Ayushi Makhija wrote:
> > The anx7625_link_bridge() checks if a device is a not a panel
> > bridge and add DRM_BRIDGE_OP_HPD and DRM_BRIDGE_OP_DETECT to
> > the bridge operations. However, on port 1 of the anx7625
> > bridge, any device added is always treated as a panel
> > bridge, preventing connector_detect function from being
> > called. To resolve this, instead of just checking if it is a
> > panel bridge, we should verify the type of panel bridge
> > whether it is a DisplayPort or eDP panel. If the panel
> > bridge is of the DisplayPort type, we should add
> > DRM_BRIDGE_OP_HPD or DRM_BRIDGE_OP_DETECT to the bridge
> > operations.
> > 
> > In the anx7625_sink_detect(), the device is checked to see
> > if it is a panel bridge, and it always sends a "connected"
> > status to the connector. When adding the DP port on port 1 of the
> > anx7625, it incorrectly treats it as a panel bridge and sends an
> > always "connected" status. Instead of checking the status on the
> > panel bridge, it's better to check the hpd_status for connectors
> > like DisplayPort. This way, it verifies the hpd_status variable
> > before sending the status to the connector.
> > 
> > Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> > ---
> >  drivers/gpu/drm/bridge/analogix/anx7625.c | 10 ++++------
> >  1 file changed, 4 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > index d2655bf46842..9b6303267924 100644
> > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > @@ -1814,9 +1814,6 @@ static enum drm_connector_status anx7625_sink_detect(struct anx7625_data *ctx)
> >  
> >  	DRM_DEV_DEBUG_DRIVER(dev, "sink detect\n");
> >  
> > -	if (ctx->pdata.panel_bridge)
> > -		return connector_status_connected;
> > -
> >  	return ctx->hpd_status ? connector_status_connected :
> >  				     connector_status_disconnected;
> >  }
> > @@ -2596,9 +2593,10 @@ static int anx7625_link_bridge(struct drm_dp_aux *aux)
> >  	platform->bridge.of_node = dev->of_node;
> >  	if (!anx7625_of_panel_on_aux_bus(dev))
> >  		platform->bridge.ops |= DRM_BRIDGE_OP_EDID;
> > -	if (!platform->pdata.panel_bridge)
> > -		platform->bridge.ops |= DRM_BRIDGE_OP_HPD |
> > -					DRM_BRIDGE_OP_DETECT;
> > +	if (!platform->pdata.panel_bridge ||
> > +	    platform->pdata.panel_bridge->type == DRM_MODE_CONNECTOR_DisplayPort) {
> 
> This is incorrect, because there can be other kinds of bridges in the DP
> chain. I think it's better to check for !eDP instead.

Another option comes from the aux-bus bindings. If there is an aux-bus
node, it is an eDP. If there is none, it is most likely DP (well, unless
anybody has been using the bridge with eDP panels defclared using
platform devices rather than the aux-bus.

> 
> > +		platform->bridge.ops |= DRM_BRIDGE_OP_HPD | DRM_BRIDGE_OP_DETECT;
> > +	}
> >  	platform->bridge.type = platform->pdata.panel_bridge ?
> >  				    DRM_MODE_CONNECTOR_eDP :
> >  				    DRM_MODE_CONNECTOR_DisplayPort;
> > -- 
> > 2.34.1
> > 
> 
> -- 
> With best wishes
> Dmitry

-- 
With best wishes
Dmitry

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

* Re: [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
  2025-02-25 13:31   ` Krzysztof Kozlowski
@ 2025-02-26  8:35     ` Krzysztof Kozlowski
  2025-03-04  9:58       ` Ayushi Makhija
  0 siblings, 1 reply; 32+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-26  8:35 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, jonas, jernej.skrabec,
	quic_abhinavk, quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, Feb 25, 2025 at 02:31:05PM +0100, Krzysztof Kozlowski wrote:
> On 25/02/2025 13:18, Ayushi Makhija wrote:
> > +		pinctrl-0 = <&dsi0_int_pin>,
> > +				<&dsi0_cbl_det_pin>,
> > +				<&dsi1_int_pin>,
> > +				<&dsi1_cbl_det_pin>;
> > +		pinctrl-names = "default";
> > +
> > +		dsi0_int_pin: gpio2_cfg {
> 
> 
> No underscores, see DTS coding style.

And as Rob's bot pointed out: insufficient testing. :(

Please be 100% sure everything is tested before you post new version.
You shouldn't use reviewers for the job of tools, that's quite waste of
our time.

Best regards,
Krzysztof


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

* Re: [PATCH 05/11] drm/msm/dsi: add DSI support for SA8775P
  2025-02-25 17:18   ` Dmitry Baryshkov
@ 2025-03-04  9:30     ` Ayushi Makhija
  0 siblings, 0 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-03-04  9:30 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On 2/25/2025 10:48 PM, Dmitry Baryshkov wrote:
> On Tue, Feb 25, 2025 at 05:48:18PM +0530, Ayushi Makhija wrote:
>> Add DSI Controller v2.5.1 support for SA8775P SoC.
>>
>> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
>> ---
>>  drivers/gpu/drm/msm/dsi/dsi_cfg.c | 18 ++++++++++++++++++
>>  drivers/gpu/drm/msm/dsi/dsi_cfg.h |  1 +
>>  2 files changed, 19 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.c b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
>> index 7754dcec33d0..71881d9370af 100644
>> --- a/drivers/gpu/drm/msm/dsi/dsi_cfg.c
>> +++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
>> @@ -221,6 +221,22 @@ static const struct msm_dsi_config sc7280_dsi_cfg = {
>>  	},
>>  };
>>  
>> +static const struct regulator_bulk_data sa8775p_dsi_regulators[] = {
>> +	{ .supply = "vdda", .init_load_uA = 30100 },    /* 1.2 V */
>> +	{ .supply = "refgen" },
>> +};
> 
> sc7280 has 8350 uA here. I'd say, having those two next to each other is
> suspicious. Could you please doublecheck it?
> 
> LGTM otherwise
> 

Hi Dmitry,
Thanks, for the review.

This chipset is being used in Auto, and I have taken the init load values from the downstream code.
After you raised the doubt, I checked in the power grid for the DSI ctrl 1p2 supply (mdss0_dsi0 && mdss0_dsi1) and found the load is 8300 uA. 
I also checked DSI PHY 0p9 supply (mdss0_dsi0_phy & mdss0_dsi1_phy) load and it seems the downstream SW values are incorrect for the PHY as well.
Correct value for 0p9 supply as per the Power grid is 48000 uA. 
I have tested using update load and it's working fine. I will update the both in my next patchset.

Thanks,
Ayushi


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

* Re: [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface
  2025-02-25 17:55   ` Dmitry Baryshkov
@ 2025-03-04  9:44     ` Ayushi Makhija
  2025-03-04  9:48       ` Dmitry Baryshkov
  0 siblings, 1 reply; 32+ messages in thread
From: Ayushi Makhija @ 2025-03-04  9:44 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On 2/25/2025 11:25 PM, Dmitry Baryshkov wrote:
> On Tue, Feb 25, 2025 at 05:48:21PM +0530, Ayushi Makhija wrote:
>> Enable both DSI to DP bridge ports on SA8775P Ride plaftrom.
>>
>> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
>> ---
>>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 66 +++++++++++++++++++++-
>>  1 file changed, 64 insertions(+), 2 deletions(-)
> 
> Please squash into the previous patch. It doesn't make a lot of sense separately.
> 
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
>> index 151f66512303..02d8a9c2c909 100644
>> --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
>> @@ -128,6 +128,30 @@ dp1_connector_in: endpoint {
>>  			};
>>  		};
>>  	};
>> +
>> +	dsi0-connector {
> 
> dpN-connector. It is not DSI.

Hi Dmitry, Konrad

Thanks, for the review.

I will change dsi0-connector -> dp2-connector and dsi1-connector -> dp3-connector respectively.

> 
>> +		compatible = "dp-connector";
>> +		label = "DSI0";
> 
> Is it an actual label on it?

The label for DSI to DP bridge ports itself on the device is DSI0 and DSI1 respectively.

Thanks,
Ayushi


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

* Re: [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface
  2025-03-04  9:44     ` Ayushi Makhija
@ 2025-03-04  9:48       ` Dmitry Baryshkov
  2025-03-04 10:13         ` Ayushi Makhija
  0 siblings, 1 reply; 32+ messages in thread
From: Dmitry Baryshkov @ 2025-03-04  9:48 UTC (permalink / raw)
  To: Ayushi Makhija
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On Tue, 4 Mar 2025 at 10:45, Ayushi Makhija <quic_amakhija@quicinc.com> wrote:
>
> On 2/25/2025 11:25 PM, Dmitry Baryshkov wrote:
> > On Tue, Feb 25, 2025 at 05:48:21PM +0530, Ayushi Makhija wrote:
> >> Enable both DSI to DP bridge ports on SA8775P Ride plaftrom.
> >>
> >> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> >> ---
> >>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 66 +++++++++++++++++++++-
> >>  1 file changed, 64 insertions(+), 2 deletions(-)
> >
> > Please squash into the previous patch. It doesn't make a lot of sense separately.
> >
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> >> index 151f66512303..02d8a9c2c909 100644
> >> --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> >> +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
> >> @@ -128,6 +128,30 @@ dp1_connector_in: endpoint {
> >>                      };
> >>              };
> >>      };
> >> +
> >> +    dsi0-connector {
> >
> > dpN-connector. It is not DSI.
>
> Hi Dmitry, Konrad
>
> Thanks, for the review.
>
> I will change dsi0-connector -> dp2-connector and dsi1-connector -> dp3-connector respectively.

Why? It's then dp-dsi0-connector. I think the board has DP2 and DP3
(please correct me if I'm wrong). How would you name those if you use
those indices for DSI connectors?

>
> >
> >> +            compatible = "dp-connector";
> >> +            label = "DSI0";
> >
> > Is it an actual label on it?
>
> The label for DSI to DP bridge ports itself on the device is DSI0 and DSI1 respectively.

Ack


-- 
With best wishes
Dmitry

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

* Re: [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes
  2025-02-26  8:35     ` Krzysztof Kozlowski
@ 2025-03-04  9:58       ` Ayushi Makhija
  0 siblings, 0 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-03-04  9:58 UTC (permalink / raw)
  To: Krzysztof Kozlowski, 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, jonas, jernej.skrabec,
	quic_abhinavk, quic_rajeevny, quic_vproddut, quic_jesszhan

On 2/26/2025 2:05 PM, Krzysztof Kozlowski wrote:
> On Tue, Feb 25, 2025 at 02:31:05PM +0100, Krzysztof Kozlowski wrote:
>> On 25/02/2025 13:18, Ayushi Makhija wrote:
>>> +		pinctrl-0 = <&dsi0_int_pin>,
>>> +				<&dsi0_cbl_det_pin>,
>>> +				<&dsi1_int_pin>,
>>> +				<&dsi1_cbl_det_pin>;
>>> +		pinctrl-names = "default";
>>> +
>>> +		dsi0_int_pin: gpio2_cfg {
>>
>>
>> No underscores, see DTS coding style.
> 
> And as Rob's bot pointed out: insufficient testing. :(
> 
> Please be 100% sure everything is tested before you post new version.
> You shouldn't use reviewers for the job of tools, that's quite waste of
> our time.
> 
> Best regards,
> Krzysztof

Hi Krzysztof,

Thanks, for the review.

Sorry for the mistake. I will post the clean patch in my next patchset.

Thank,
Ayushi



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

* Re: [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface
  2025-03-04  9:48       ` Dmitry Baryshkov
@ 2025-03-04 10:13         ` Ayushi Makhija
  0 siblings, 0 replies; 32+ messages in thread
From: Ayushi Makhija @ 2025-03-04 10:13 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	robdclark, sean, marijn.suijten, andersson, robh, robh+dt,
	krzk+dt, konradybcio, conor+dt, andrzej.hajda, neil.armstrong,
	rfoss, Laurent.pinchart, jonas, jernej.skrabec, quic_abhinavk,
	quic_rajeevny, quic_vproddut, quic_jesszhan

On 3/4/2025 3:18 PM, Dmitry Baryshkov wrote:
> On Tue, 4 Mar 2025 at 10:45, Ayushi Makhija <quic_amakhija@quicinc.com> wrote:
>>
>> On 2/25/2025 11:25 PM, Dmitry Baryshkov wrote:
>>> On Tue, Feb 25, 2025 at 05:48:21PM +0530, Ayushi Makhija wrote:
>>>> Enable both DSI to DP bridge ports on SA8775P Ride plaftrom.
>>>>
>>>> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
>>>> ---
>>>>  arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 66 +++++++++++++++++++++-
>>>>  1 file changed, 64 insertions(+), 2 deletions(-)
>>>
>>> Please squash into the previous patch. It doesn't make a lot of sense separately.
>>>
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
>>>> index 151f66512303..02d8a9c2c909 100644
>>>> --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
>>>> @@ -128,6 +128,30 @@ dp1_connector_in: endpoint {
>>>>                      };
>>>>              };
>>>>      };
>>>> +
>>>> +    dsi0-connector {
>>>
>>> dpN-connector. It is not DSI.
>>
>> Hi Dmitry, Konrad
>>
>> Thanks, for the review.
>>
>> I will change dsi0-connector -> dp2-connector and dsi1-connector -> dp3-connector respectively.
> 
> Why? It's then dp-dsi0-connector. I think the board has DP2 and DP3
> (please correct me if I'm wrong). How would you name those if you use
> those indices for DSI connectors?
> 

Hi Dmitry,

Thanks, for the review.

yes, you are correct there are total 4 DP connectors and 2 DSI to DP connectors on the device, better to keep the node name as
dp-dsi0-connector and dp-dsi1-connector respectively.

Thanks,
Ayushi



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

end of thread, other threads:[~2025-03-04 10:14 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-25 12:18 [PATCH 00/11] Add DSI display support for SA8775P target Ayushi Makhija
2025-02-25 12:18 ` [PATCH 01/11] dt-bindings: display: msm-dsi-phy-7nm: document the SA8775P DSI PHY Ayushi Makhija
2025-02-25 12:18 ` [PATCH 02/11] dt-bindings: msm: dsi-controller-main: document the SA8775P DSI CTRL Ayushi Makhija
2025-02-25 12:18 ` [PATCH 03/11] dt-bindings: display: msm: document DSI controller and phy on SA8775P Ayushi Makhija
2025-02-25 14:24   ` Rob Herring (Arm)
2025-02-25 12:18 ` [PATCH 04/11] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
2025-02-25 17:14   ` Dmitry Baryshkov
2025-02-25 12:18 ` [PATCH 05/11] drm/msm/dsi: add DSI support for SA8775P Ayushi Makhija
2025-02-25 17:18   ` Dmitry Baryshkov
2025-03-04  9:30     ` Ayushi Makhija
2025-02-25 12:18 ` [PATCH 06/11] arm64: dts: qcom: sa8775p: add Display Serial Interface device nodes Ayushi Makhija
2025-02-25 13:09   ` Konrad Dybcio
2025-02-25 12:18 ` [PATCH 07/11] arm64: dts: qcom: sa8775p-ride: add anx7625 DSI to DP bridge nodes Ayushi Makhija
2025-02-25 13:10   ` Konrad Dybcio
2025-02-25 13:31   ` Krzysztof Kozlowski
2025-02-26  8:35     ` Krzysztof Kozlowski
2025-03-04  9:58       ` Ayushi Makhija
2025-02-25 17:41   ` Dmitry Baryshkov
2025-02-25 12:18 ` [PATCH 08/11] arm64: dts: qcom: sa8775p-ride: enable Display serial interface Ayushi Makhija
2025-02-25 13:11   ` Konrad Dybcio
2025-02-25 17:55   ` Dmitry Baryshkov
2025-03-04  9:44     ` Ayushi Makhija
2025-03-04  9:48       ` Dmitry Baryshkov
2025-03-04 10:13         ` Ayushi Makhija
2025-02-25 12:18 ` [PATCH 09/11] drm/bridge: anx7625: enable HPD interrupts Ayushi Makhija
2025-02-25 17:56   ` Dmitry Baryshkov
2025-02-25 12:18 ` [PATCH 10/11] drm/bridge: anx7625: update bridge_ops and sink detect logic Ayushi Makhija
2025-02-25 17:58   ` Dmitry Baryshkov
2025-02-25 20:57     ` Dmitry Baryshkov
2025-02-25 12:18 ` [PATCH 11/11] drm/bridge: anx7625: change the gpiod_set_value API Ayushi Makhija
2025-02-25 18:03   ` Dmitry Baryshkov
2025-02-25 20:12 ` [PATCH 00/11] Add DSI display support for SA8775P target Rob Herring (Arm)

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