* [PATCH v2 0/7] Add DSI display support for QCS8300 target
@ 2025-10-06 1:39 Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 1/7] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
` (6 more replies)
0 siblings, 7 replies; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
This series enables the support for DSI to DP bridge port
(labeled as DSI0) of the Qualcomm's QCS8300 Ride platform.
QCS8300 SoC has DSI controller v2.5.1 and DSI PHY v4.2.
The Ride platform is having ANX7625 DSI to DP bridge chip from Analogix.
---
This patch depends on following series:
https://lore.kernel.org/all/20250911-qcs8300_mdss-v12-0-5f7d076e2b81@oss.qualcomm.com/
(Display enablement changes for Qualcomm QCS8300 platform)
https://lore.kernel.org/all/20250917-dts_qcs8300-v6-0-5c862aa80f64@oss.qualcomm.com/
(Enable DPU and Display Port for Qualcomm QCS8300-ride platform)
Changes in v2: Addressed review comments from Konard and Dmitry
- Patch 1: Documented the qcom,qcs8300-dsi-phy-5nm compatible string.
- Patch 2: Documented the qcom,qcs8300-dsi-ctrl compatible string.
- Patch 3:
- Added qcom,qcs8300-dsi-ctrl and qcom,qcs8300-dsi-phy-5nm compatible strings
to the Device Tree bindings. [Dmitry/Konard]
- Fixed indentation issue. [Dmitry]
- Drop the extra empty line. [Dmitry]
- Patch 4: Added PHY driver support for qcom,qcs8300-dsi-phy-5nm.
- Patch 5: Added CTRL driver support for qcom,qcs8300-dsi-ctrl.
- Patch 6: Included qcom,qcs8300-dsi-ctrl and qcom,qcs8300-dsi-phy-5nm
compatible strings in the Device Tree. [Dmitry/Konard]
- Link to v1: https://lore.kernel.org/all/20250925053602.4105329-1-quic_amakhija@quicinc.com/
Ayushi Makhija (7):
dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY
dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL
dt-bindings: display: msm: document DSI controller and phy on QCS8300
drm/msm/dsi: add DSI PHY configuration on QCS8300
drm/msm/dsi: add DSI support for QCS8300
arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node
.../display/msm/dsi-controller-main.yaml | 6 +
.../bindings/display/msm/dsi-phy-7nm.yaml | 30 ++--
.../display/msm/qcom,qcs8300-mdss.yaml | 102 ++++++++++-
arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 170 ++++++++++++++++++
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 98 +++++++++-
drivers/gpu/drm/msm/dsi/dsi_cfg.c | 13 ++
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 | 23 +++
9 files changed, 431 insertions(+), 14 deletions(-)
base-commit: 3b9b1f8df454caa453c7fb07689064edb2eda90a ("next-20250929")
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 1/7] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
@ 2025-10-06 1:39 ` Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 2/7] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
` (5 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
Document the DSI PHY on the QCS8300 Platform.
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
.../bindings/display/msm/dsi-phy-7nm.yaml | 30 +++++++++++--------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
index 1ca820a500b7..7a83387502da 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml
@@ -14,18 +14,24 @@ allOf:
properties:
compatible:
- enum:
- - qcom,dsi-phy-7nm
- - qcom,dsi-phy-7nm-8150
- - qcom,sa8775p-dsi-phy-5nm
- - qcom,sar2130p-dsi-phy-5nm
- - qcom,sc7280-dsi-phy-7nm
- - qcom,sm6375-dsi-phy-7nm
- - qcom,sm8350-dsi-phy-5nm
- - qcom,sm8450-dsi-phy-5nm
- - qcom,sm8550-dsi-phy-4nm
- - qcom,sm8650-dsi-phy-4nm
- - qcom,sm8750-dsi-phy-3nm
+ oneOf:
+ - items:
+ - enum:
+ - qcom,dsi-phy-7nm
+ - qcom,dsi-phy-7nm-8150
+ - qcom,sa8775p-dsi-phy-5nm
+ - qcom,sar2130p-dsi-phy-5nm
+ - qcom,sc7280-dsi-phy-7nm
+ - qcom,sm6375-dsi-phy-7nm
+ - qcom,sm8350-dsi-phy-5nm
+ - qcom,sm8450-dsi-phy-5nm
+ - qcom,sm8550-dsi-phy-4nm
+ - qcom,sm8650-dsi-phy-4nm
+ - qcom,sm8750-dsi-phy-3nm
+ - items:
+ - enum:
+ - qcom,qcs8300-dsi-phy-5nm
+ - const: qcom,sa8775p-dsi-phy-5nm
reg:
items:
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 2/7] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 1/7] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
@ 2025-10-06 1:39 ` Ayushi Makhija
2025-10-06 10:09 ` Dmitry Baryshkov
2025-10-06 1:39 ` [PATCH v2 3/7] dt-bindings: display: msm: document DSI controller and phy on QCS8300 Ayushi Makhija
` (4 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
Document the DSI CTRL on the QCS8300 Platform.
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
.../bindings/display/msm/dsi-controller-main.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
index 4400d4cce072..8ae08d3b0200 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
@@ -45,6 +45,11 @@ properties:
- qcom,sm8650-dsi-ctrl
- qcom,sm8750-dsi-ctrl
- const: qcom,mdss-dsi-ctrl
+ - items:
+ - enum:
+ - qcom,qcs8300-dsi-ctrl
+ - const: qcom,sa8775p-dsi-ctrl
+ - const: qcom,mdss-dsi-ctrl
- enum:
- qcom,dsi-ctrl-6g-qcm2290
- qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
@@ -329,6 +334,7 @@ allOf:
contains:
enum:
- qcom,msm8998-dsi-ctrl
+ - qcom,qcs8300-dsi-ctrl
- qcom,sa8775p-dsi-ctrl
- qcom,sar2130p-dsi-ctrl
- qcom,sc7180-dsi-ctrl
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 3/7] dt-bindings: display: msm: document DSI controller and phy on QCS8300
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 1/7] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 2/7] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
@ 2025-10-06 1:39 ` Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
` (3 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
Document DSI controller and phy on QCS8300 platform.
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
.../display/msm/qcom,qcs8300-mdss.yaml | 102 +++++++++++++++++-
1 file changed, 101 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
index e96baaae9ba9..c41a86203e78 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcs8300-mdss.yaml
@@ -53,13 +53,23 @@ patternProperties:
contains:
const: qcom,qcs8300-dp
+ "^dsi@[0-9a-f]+$":
+ type: object
+ additionalProperties: true
+ properties:
+ compatible:
+ contains:
+ const: qcom,qcs8300-dsi-ctrl
+
"^phy@[0-9a-f]+$":
type: object
additionalProperties: true
properties:
compatible:
contains:
- const: qcom,qcs8300-edp-phy
+ enum:
+ - qcom,qcs8300-dsi-phy-5nm
+ - qcom,qcs8300-edp-phy
required:
- compatible
@@ -71,6 +81,7 @@ examples:
#include <dt-bindings/interconnect/qcom,icc.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,qcs8300-gcc.h>
+ #include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/clock/qcom,sa8775p-dispcc.h>
#include <dt-bindings/interconnect/qcom,qcs8300-rpmh.h>
#include <dt-bindings/power/qcom,rpmhpd.h>
@@ -142,6 +153,13 @@ examples:
remote-endpoint = <&mdss_dp0_in>;
};
};
+
+ port@1 {
+ reg = <1>;
+ dpu_intf1_out: endpoint {
+ remote-endpoint = <&mdss_dsi0_in>;
+ };
+ };
};
mdp_opp_table: opp-table {
@@ -169,6 +187,88 @@ examples:
};
};
+ dsi@ae94000 {
+ compatible = "qcom,qcs8300-dsi-ctrl",
+ "qcom,sa8775p-dsi-ctrl",
+ "qcom,mdss-dsi-ctrl";
+ reg = <0x0ae94000 0x400>;
+ reg-names = "dsi_ctrl";
+
+ interrupt-parent = <&mdss>;
+ interrupts = <4>;
+
+ clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_BYTE0_INTF_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_ESC0_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+ <&gcc GCC_DISP_HF_AXI_CLK>;
+ clock-names = "byte",
+ "byte_intf",
+ "pixel",
+ "core",
+ "iface",
+ "bus";
+ assigned-clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK_SRC>,
+ <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK_SRC>;
+ assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
+ phys = <&mdss_dsi0_phy>;
+
+ operating-points-v2 = <&dsi0_opp_table>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+ vdda-supply = <&vreg_l5a>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ mdss0_dsi0_in: endpoint {
+ remote-endpoint = <&dpu_intf1_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ mdss0_dsi0_out: endpoint { };
+ };
+ };
+
+ dsi0_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-358000000 {
+ opp-hz = /bits/ 64 <358000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+ };
+ };
+
+ mdss_dsi0_phy: phy@ae94400 {
+ compatible = "qcom,qcs8300-dsi-phy-5nm",
+ "qcom,sa8775p-dsi-phy-5nm";
+ reg = <0x0ae94400 0x200>,
+ <0x0ae94600 0x280>,
+ <0x0ae94900 0x27c>;
+ reg-names = "dsi_phy",
+ "dsi_phy_lane",
+ "dsi_pll";
+
+ #clock-cells = <1>;
+ #phy-cells = <0>;
+
+ clocks = <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "iface", "ref";
+
+ vdds-supply = <&vreg_l4a>;
+ };
+
mdss_dp0_phy: phy@aec2a00 {
compatible = "qcom,qcs8300-edp-phy", "qcom,sa8775p-edp-phy";
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration on QCS8300
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
` (2 preceding siblings ...)
2025-10-06 1:39 ` [PATCH v2 3/7] dt-bindings: display: msm: document DSI controller and phy on QCS8300 Ayushi Makhija
@ 2025-10-06 1:39 ` Ayushi Makhija
2025-10-06 8:30 ` Konrad Dybcio
2025-10-06 10:12 ` Dmitry Baryshkov
2025-10-06 1:39 ` [PATCH v2 5/7] drm/msm/dsi: add DSI support for QCS8300 Ayushi Makhija
` (2 subsequent siblings)
6 siblings, 2 replies; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
The QCS8300 SoC uses the 5nm (v4.2) DSI PHY driver.
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 | 23 +++++++++++++++++++++++
3 files changed, 26 insertions(+)
diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
index 4ea681130dba..7b6e30580463 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
@@ -559,6 +559,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,qcs8300-dsi-phy-5nm",
+ .data = &dsi_phy_5nm_8300_cfgs },
{ .compatible = "qcom,sa8775p-dsi-phy-5nm",
.data = &dsi_phy_5nm_8775p_cfgs },
{ .compatible = "qcom,sar2130p-dsi-phy-5nm",
diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
index e391505fdaf0..8cb95b9d62a3 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
@@ -57,6 +57,7 @@ extern const struct msm_dsi_phy_cfg dsi_phy_7nm_cfgs;
extern const struct msm_dsi_phy_cfg dsi_phy_7nm_6375_cfgs;
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_8300_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;
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 32f06edd21a9..28a5d6a2e04e 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
@@ -1358,6 +1358,29 @@ const struct msm_dsi_phy_cfg dsi_phy_7nm_7280_cfgs = {
.quirks = DSI_PHY_7NM_QUIRK_V4_1,
};
+const struct msm_dsi_phy_cfg dsi_phy_5nm_8300_cfgs = {
+ .has_phy_lane = true,
+ .regulator_data = dsi_phy_7nm_48000uA_regulators,
+ .num_regulators = ARRAY_SIZE(dsi_phy_7nm_48000uA_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 },
+ .num_dsi_phy = 1,
+ .quirks = DSI_PHY_7NM_QUIRK_V4_2,
+};
+
const struct msm_dsi_phy_cfg dsi_phy_5nm_8350_cfgs = {
.has_phy_lane = true,
.regulator_data = dsi_phy_7nm_37750uA_regulators,
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 5/7] drm/msm/dsi: add DSI support for QCS8300
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
` (3 preceding siblings ...)
2025-10-06 1:39 ` [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
@ 2025-10-06 1:39 ` Ayushi Makhija
2025-10-06 8:28 ` Konrad Dybcio
2025-10-06 1:39 ` [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
6 siblings, 1 reply; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
Add DSI Controller v2.5.1 support for QCS8300 SoC.
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
drivers/gpu/drm/msm/dsi/dsi_cfg.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.c b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
index fed8e9b67011..b60384ea0b32 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_cfg.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
@@ -226,6 +226,17 @@ static const struct regulator_bulk_data sa8775p_dsi_regulators[] = {
{ .supply = "refgen" },
};
+static const struct msm_dsi_config qcs8300_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},
+ },
+};
+
static const struct msm_dsi_config sa8775p_dsi_cfg = {
.io_offset = DSI_6G_REG_SHIFT,
.regulator_data = sa8775p_dsi_regulators,
@@ -322,6 +333,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,
+ &qcs8300_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,
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
` (4 preceding siblings ...)
2025-10-06 1:39 ` [PATCH v2 5/7] drm/msm/dsi: add DSI support for QCS8300 Ayushi Makhija
@ 2025-10-06 1:39 ` Ayushi Makhija
2025-10-06 10:14 ` Dmitry Baryshkov
2025-10-06 1:39 ` [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
6 siblings, 1 reply; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
Add device tree nodes for the DSI0 controller with their corresponding
PHY found on Qualcomm QCS8300 SoC.
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 98 ++++++++++++++++++++++++++-
1 file changed, 97 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index e0e1f63fc45b..c21f4dc828e7 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -3,6 +3,7 @@
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
+#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
#include <dt-bindings/clock/qcom,qcs8300-gcc.h>
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/clock/qcom,sa8775p-camcc.h>
@@ -4854,6 +4855,13 @@ dpu_intf0_out: endpoint {
remote-endpoint = <&mdss_dp0_in>;
};
};
+
+ port@1 {
+ reg = <1>;
+ dpu_intf1_out: endpoint {
+ remote-endpoint = <&mdss_dsi0_in>;
+ };
+ };
};
mdp_opp_table: opp-table {
@@ -4881,6 +4889,92 @@ opp-650000000 {
};
};
+ mdss_dsi0: dsi@ae94000 {
+ compatible = "qcom,qcs8300-dsi-ctrl",
+ "qcom,sa8775p-dsi-ctrl",
+ "qcom,mdss-dsi-ctrl";
+ reg = <0x0 0x0ae94000 0x0 0x400>;
+ reg-names = "dsi_ctrl";
+
+ interrupt-parent = <&mdss>;
+ interrupts = <4>;
+
+ clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_BYTE0_INTF_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_ESC0_CLK>,
+ <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+ <&gcc GCC_DISP_HF_AXI_CLK>;
+ clock-names = "byte",
+ "byte_intf",
+ "pixel",
+ "core",
+ "iface",
+ "bus";
+
+ assigned-clocks = <&dispcc MDSS_DISP_CC_MDSS_BYTE0_CLK_SRC>,
+ <&dispcc MDSS_DISP_CC_MDSS_PCLK0_CLK_SRC>;
+ assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
+ <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
+
+ phys = <&mdss_dsi0_phy>;
+
+ operating-points-v2 = <&mdss_dsi_opp_table>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ mdss_dsi0_in: endpoint {
+ remote-endpoint = <&dpu_intf1_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ mdss_dsi0_out: endpoint {
+ };
+ };
+ };
+
+ mdss_dsi_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-358000000 {
+ opp-hz = /bits/ 64 <358000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+ };
+ };
+
+ mdss_dsi0_phy: phy@ae94400 {
+ compatible = "qcom,qcs8300-dsi-phy-5nm",
+ "qcom,sa8775p-dsi-phy-5nm";
+ reg = <0x0 0x0ae94400 0x0 0x200>,
+ <0x0 0x0ae94600 0x0 0x280>,
+ <0x0 0x0ae94900 0x0 0x27c>;
+ reg-names = "dsi_phy",
+ "dsi_phy_lane",
+ "dsi_pll";
+
+ #clock-cells = <1>;
+ #phy-cells = <0>;
+
+ clocks = <&dispcc MDSS_DISP_CC_MDSS_AHB_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "iface", "ref";
+
+ status = "disabled";
+ };
+
mdss_dp0_phy: phy@aec2a00 {
compatible = "qcom,qcs8300-edp-phy", "qcom,sa8775p-edp-phy";
@@ -5008,7 +5102,9 @@ dispcc: clock-controller@af00000 {
<&mdss_dp0_phy 0>,
<&mdss_dp0_phy 1>,
<0>, <0>,
- <0>, <0>, <0>, <0>;
+ <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
+ <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>,
+ <0>, <0>;
power-domains = <&rpmhpd RPMHPD_MMCX>;
#clock-cells = <1>;
#reset-cells = <1>;
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
` (5 preceding siblings ...)
2025-10-06 1:39 ` [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
@ 2025-10-06 1:39 ` Ayushi Makhija
2025-10-06 10:16 ` Dmitry Baryshkov
6 siblings, 1 reply; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-06 1:39 UTC (permalink / raw)
To: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Cc: Ayushi Makhija, robdclark, dmitry.baryshkov, sean,
marijn.suijten, andersson, robh, robh+dt, krzk+dt, konradybcio,
conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart,
jonathan, jonas, jernej.skrabec, quic_rajeevny, quic_vproddut
Add anx7625 DSI to DP bridge device node.
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 170 ++++++++++++++++++++++
1 file changed, 170 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
index 891e49602c97..5d4040376857 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
@@ -24,6 +24,64 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ vreg_12p0: vreg-12p0-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VREG_12P0";
+
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ };
+
+ vreg_5p0: vreg-5p0-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VREG_5P0";
+
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ vin-supply = <&vreg_12p0>;
+ };
+
+ vreg_1p8: vreg-1p8-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VREG_1P8";
+
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ vin-supply = <&vreg_5p0>;
+ };
+
+ vreg_1p0: vreg-1p0-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VREG_1P0";
+
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+
+ vin-supply = <&vreg_1p8>;
+ };
+
+ vreg_3p0: vreg-3p0-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VREG_3P0";
+
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+
+ vin-supply = <&vreg_12p0>;
+ };
+
dp0-connector {
compatible = "dp-connector";
label = "DP0";
@@ -36,6 +94,18 @@ dp0_connector_in: endpoint {
};
};
+ dp-dsi0-connector {
+ compatible = "dp-connector";
+ label = "DSI0";
+ type = "full-size";
+
+ port {
+ dp_dsi0_connector_in: endpoint {
+ remote-endpoint = <&dsi2dp_bridge_out>;
+ };
+ };
+ };
+
regulator-usb2-vbus {
compatible = "regulator-fixed";
regulator-name = "USB2_VBUS";
@@ -316,6 +386,70 @@ &gpu_zap_shader {
firmware-name = "qcom/qcs8300/a623_zap.mbn";
};
+&i2c8 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ io_expander: gpio@74 {
+ compatible = "ti,tca9539";
+ reg = <0x74>;
+ interrupts-extended = <&tlmm 93 IRQ_TYPE_EDGE_BOTH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ reset-gpios = <&tlmm 66 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&io_expander_intr_active>,
+ <&io_expander_reset_active>;
+ pinctrl-names = "default";
+ };
+
+ i2c-mux@70 {
+ compatible = "nxp,pca9543";
+ #address-cells = <1>;
+
+ #size-cells = <0>;
+ reg = <0x70>;
+
+ i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ bridge@58 {
+ compatible = "analogix,anx7625";
+ reg = <0x58>;
+ interrupts-extended = <&io_expander 2 IRQ_TYPE_EDGE_FALLING>;
+ enable-gpios = <&io_expander 1 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&io_expander 0 GPIO_ACTIVE_HIGH>;
+ vdd10-supply = <&vreg_1p0>;
+ vdd18-supply = <&vreg_1p8>;
+ vdd33-supply = <&vreg_3p0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dsi2dp_bridge_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dsi2dp_bridge_out: endpoint {
+ remote-endpoint = <&dp_dsi0_connector_in>;
+ };
+ };
+ };
+ };
+ };
+ };
+};
+
&pmm8650au_1_gpios {
usb2_en: usb2-en-state {
pins = "gpio7";
@@ -353,10 +487,31 @@ &mdss_dp0_phy {
status = "okay";
};
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&mdss_dsi0_phy {
+ vdds-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&dsi2dp_bridge_in>;
+};
+
&qupv3_id_0 {
status = "okay";
};
+&qupv3_id_1 {
+ status = "okay";
+};
+
&remoteproc_adsp {
firmware-name = "qcom/qcs8300/adsp.mbn";
status = "okay";
@@ -419,6 +574,21 @@ dp_hot_plug_det: dp-hot-plug-det-state {
function = "edp0_hot";
bias-disable;
};
+
+ io_expander_intr_active: io-expander-intr-active-state {
+ pins = "gpio93";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ io_expander_reset_active: io-expander-reset-active-state {
+ pins = "gpio66";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ output-high;
+ };
};
&uart7 {
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 5/7] drm/msm/dsi: add DSI support for QCS8300
2025-10-06 1:39 ` [PATCH v2 5/7] drm/msm/dsi: add DSI support for QCS8300 Ayushi Makhija
@ 2025-10-06 8:28 ` Konrad Dybcio
0 siblings, 0 replies; 19+ messages in thread
From: Konrad Dybcio @ 2025-10-06 8:28 UTC (permalink / raw)
To: Ayushi Makhija, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel
Cc: robdclark, dmitry.baryshkov, sean, marijn.suijten, andersson,
robh, robh+dt, krzk+dt, konradybcio, conor+dt, andrzej.hajda,
neil.armstrong, rfoss, Laurent.pinchart, jonathan, jonas,
jernej.skrabec, quic_rajeevny, quic_vproddut
On 10/6/25 3:39 AM, Ayushi Makhija wrote:
> Add DSI Controller v2.5.1 support for QCS8300 SoC.
>
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
> drivers/gpu/drm/msm/dsi/dsi_cfg.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.c b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
> index fed8e9b67011..b60384ea0b32 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_cfg.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.c
> @@ -226,6 +226,17 @@ static const struct regulator_bulk_data sa8775p_dsi_regulators[] = {
> { .supply = "refgen" },
> };
>
> +static const struct msm_dsi_config qcs8300_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},
"{ 0xae94000 },"
But there is no need to introduce this ops (vs 8775), if the secondary
IO base is never requested, it will simply be left unused
Konrad
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration on QCS8300
2025-10-06 1:39 ` [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
@ 2025-10-06 8:30 ` Konrad Dybcio
2025-10-06 10:12 ` Dmitry Baryshkov
1 sibling, 0 replies; 19+ messages in thread
From: Konrad Dybcio @ 2025-10-06 8:30 UTC (permalink / raw)
To: Ayushi Makhija, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel
Cc: robdclark, dmitry.baryshkov, sean, marijn.suijten, andersson,
robh, robh+dt, krzk+dt, konradybcio, conor+dt, andrzej.hajda,
neil.armstrong, rfoss, Laurent.pinchart, jonathan, jonas,
jernej.skrabec, quic_rajeevny, quic_vproddut
On 10/6/25 3:39 AM, Ayushi Makhija wrote:
> The QCS8300 SoC uses the 5nm (v4.2) DSI PHY driver.
>
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
[...]
> +const struct msm_dsi_phy_cfg dsi_phy_5nm_8300_cfgs = {
> + .has_phy_lane = true,
> + .regulator_data = dsi_phy_7nm_48000uA_regulators,
> + .num_regulators = ARRAY_SIZE(dsi_phy_7nm_48000uA_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 },
> + .num_dsi_phy = 1,
> + .quirks = DSI_PHY_7NM_QUIRK_V4_2,
> +};
Again, this is not necessary, since the lookup code looks like this:
for (i = 0; i < cfg->num_dsi_phy; i++) {
if (cfg->io_start[i] == res->start)
return i;
}
Konrad
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/7] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL
2025-10-06 1:39 ` [PATCH v2 2/7] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
@ 2025-10-06 10:09 ` Dmitry Baryshkov
0 siblings, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2025-10-06 10:09 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On Mon, Oct 06, 2025 at 07:09:19AM +0530, Ayushi Makhija wrote:
> Document the DSI CTRL on the QCS8300 Platform.
>
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
> .../bindings/display/msm/dsi-controller-main.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> index 4400d4cce072..8ae08d3b0200 100644
> --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> @@ -45,6 +45,11 @@ properties:
> - qcom,sm8650-dsi-ctrl
> - qcom,sm8750-dsi-ctrl
> - const: qcom,mdss-dsi-ctrl
> + - items:
> + - enum:
> + - qcom,qcs8300-dsi-ctrl
> + - const: qcom,sa8775p-dsi-ctrl
> + - const: qcom,mdss-dsi-ctrl
> - enum:
> - qcom,dsi-ctrl-6g-qcm2290
> - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
> @@ -329,6 +334,7 @@ allOf:
> contains:
> enum:
> - qcom,msm8998-dsi-ctrl
> + - qcom,qcs8300-dsi-ctrl
No need to, your compat settings already contain the sa8775p string,
which will match this clause
> - qcom,sa8775p-dsi-ctrl
> - qcom,sar2130p-dsi-ctrl
> - qcom,sc7180-dsi-ctrl
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration on QCS8300
2025-10-06 1:39 ` [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
2025-10-06 8:30 ` Konrad Dybcio
@ 2025-10-06 10:12 ` Dmitry Baryshkov
1 sibling, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2025-10-06 10:12 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On Mon, Oct 06, 2025 at 07:09:21AM +0530, Ayushi Makhija wrote:
> The QCS8300 SoC uses the 5nm (v4.2) DSI PHY driver.
>
> 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 | 23 +++++++++++++++++++++++
> 3 files changed, 26 insertions(+)
>
The whole point of having the compat fallbacks is to remove the need to
modify the driver. Please review how platform bus handles binding to OF
devices.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
2025-10-06 1:39 ` [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
@ 2025-10-06 10:14 ` Dmitry Baryshkov
2025-10-14 6:24 ` Ayushi Makhija
0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2025-10-06 10: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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On Mon, Oct 06, 2025 at 07:09:23AM +0530, Ayushi Makhija wrote:
> Add device tree nodes for the DSI0 controller with their corresponding
> PHY found on Qualcomm QCS8300 SoC.
>
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 98 ++++++++++++++++++++++++++-
> 1 file changed, 97 insertions(+), 1 deletion(-)
>
> +
> + mdss_dsi_opp_table: opp-table {
> + compatible = "operating-points-v2";
> +
> + opp-358000000 {
> + opp-hz = /bits/ 64 <358000000>;
> + required-opps = <&rpmhpd_opp_svs_l1>;
> + };
Does it really support only a single freq?
> + };
> + };
> +
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node
2025-10-06 1:39 ` [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
@ 2025-10-06 10:16 ` Dmitry Baryshkov
2025-10-14 6:36 ` Ayushi Makhija
0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2025-10-06 10:16 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On Mon, Oct 06, 2025 at 07:09:24AM +0530, Ayushi Makhija wrote:
> Add anx7625 DSI to DP bridge device node.
>
> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 170 ++++++++++++++++++++++
> 1 file changed, 170 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> index 891e49602c97..5d4040376857 100644
> --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> @@ -24,6 +24,64 @@ chosen {
> stdout-path = "serial0:115200n8";
> };
>
> + vreg_12p0: vreg-12p0-regulator {
Why are these nodes not in a correct place? Also, why are they named
differently from all other regulators in this board file?
> + compatible = "regulator-fixed";
> + regulator-name = "VREG_12P0";
> +
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <12000000>;
> + regulator-max-microvolt = <12000000>;
> + };
> +
> + vreg_5p0: vreg-5p0-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "VREG_5P0";
> +
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> +
> + vin-supply = <&vreg_12p0>;
> + };
> +
> + vreg_1p8: vreg-1p8-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "VREG_1P8";
> +
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + vin-supply = <&vreg_5p0>;
> + };
> +
> + vreg_1p0: vreg-1p0-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "VREG_1P0";
> +
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> +
> + vin-supply = <&vreg_1p8>;
> + };
> +
> + vreg_3p0: vreg-3p0-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "VREG_3P0";
> +
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> +
> + vin-supply = <&vreg_12p0>;
> + };
> +
> dp0-connector {
> compatible = "dp-connector";
> label = "DP0";
> @@ -36,6 +94,18 @@ dp0_connector_in: endpoint {
> };
> };
>
> + dp-dsi0-connector {
> + compatible = "dp-connector";
> + label = "DSI0";
> + type = "full-size";
> +
> + port {
> + dp_dsi0_connector_in: endpoint {
> + remote-endpoint = <&dsi2dp_bridge_out>;
> + };
> + };
> + };
> +
> regulator-usb2-vbus {
> compatible = "regulator-fixed";
> regulator-name = "USB2_VBUS";
> @@ -316,6 +386,70 @@ &gpu_zap_shader {
> firmware-name = "qcom/qcs8300/a623_zap.mbn";
> };
>
> +&i2c8 {
> + clock-frequency = <400000>;
> + status = "okay";
> +
> + io_expander: gpio@74 {
> + compatible = "ti,tca9539";
> + reg = <0x74>;
> + interrupts-extended = <&tlmm 93 IRQ_TYPE_EDGE_BOTH>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + reset-gpios = <&tlmm 66 GPIO_ACTIVE_LOW>;
> +
> + pinctrl-0 = <&io_expander_intr_active>,
> + <&io_expander_reset_active>;
> + pinctrl-names = "default";
> + };
> +
> + i2c-mux@70 {
> + compatible = "nxp,pca9543";
> + #address-cells = <1>;
> +
> + #size-cells = <0>;
> + reg = <0x70>;
compatible
reg
#address-cells
#size-cells
> +
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
2025-10-06 10:14 ` Dmitry Baryshkov
@ 2025-10-14 6:24 ` Ayushi Makhija
2025-10-14 8:53 ` Konrad Dybcio
2025-10-14 9:19 ` Dmitry Baryshkov
0 siblings, 2 replies; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-14 6:24 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
[-- Attachment #1: Type: text/plain, Size: 851 bytes --]
On 10/6/2025 3:44 PM, Dmitry Baryshkov wrote:
> On Mon, Oct 06, 2025 at 07:09:23AM +0530, Ayushi Makhija wrote:
>> Add device tree nodes for the DSI0 controller with their corresponding
>> PHY found on Qualcomm QCS8300 SoC.
>>
>> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
>> ---
>> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 98 ++++++++++++++++++++++++++-
>> 1 file changed, 97 insertions(+), 1 deletion(-)
>>
>> +
>> + mdss_dsi_opp_table: opp-table {
>> + compatible = "operating-points-v2";
>> +
>> + opp-358000000 {
>> + opp-hz = /bits/ 64 <358000000>;
>> + required-opps = <&rpmhpd_opp_svs_l1>;
>> + };
>
> Does it really support only a single freq?
>
Hi Dmitry, yes it support only single opp frequency, I got this information from ipcat sw for monaco, similar
we have used for LeMans.
Thanks,
Ayushi
[-- Attachment #2: https://elixir.bootlin.com/linux/v6.17/source/arch/arm64/boot/dts/qcom/sa8775p.dtsi#L4541 --]
[-- Type: text/html, Size: 4410 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node
2025-10-06 10:16 ` Dmitry Baryshkov
@ 2025-10-14 6:36 ` Ayushi Makhija
2025-10-14 9:36 ` Dmitry Baryshkov
0 siblings, 1 reply; 19+ messages in thread
From: Ayushi Makhija @ 2025-10-14 6:36 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On 10/6/2025 3:46 PM, Dmitry Baryshkov wrote:
> On Mon, Oct 06, 2025 at 07:09:24AM +0530, Ayushi Makhija wrote:
>> Add anx7625 DSI to DP bridge device node.
>>
>> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 170 ++++++++++++++++++++++
>> 1 file changed, 170 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
>> index 891e49602c97..5d4040376857 100644
>> --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
>> +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
>> @@ -24,6 +24,64 @@ chosen {
>> stdout-path = "serial0:115200n8";
>> };
>>
>> + vreg_12p0: vreg-12p0-regulator {
>
> Why are these nodes not in a correct place? Also, why are they named
> differently from all other regulators in this board file?
Hi Dmitry,
Will keep the nodes at their correct place based on alphabetical order in next patchset.
Similar names I have used in LeMans for these regulators. We have kept these name based on the information of these regulator we got from SW doc for monaco.
Thanks,
Ayushi
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
2025-10-14 6:24 ` Ayushi Makhija
@ 2025-10-14 8:53 ` Konrad Dybcio
2025-10-14 9:19 ` Dmitry Baryshkov
1 sibling, 0 replies; 19+ messages in thread
From: Konrad Dybcio @ 2025-10-14 8:53 UTC (permalink / raw)
To: Ayushi Makhija, 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On 10/14/25 8:24 AM, Ayushi Makhija wrote:
> On 10/6/2025 3:44 PM, Dmitry Baryshkov wrote:
>> On Mon, Oct 06, 2025 at 07:09:23AM +0530, Ayushi Makhija wrote:
>>> Add device tree nodes for the DSI0 controller with their corresponding
>>> PHY found on Qualcomm QCS8300 SoC.
>>>
>>> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
>>> ---
>>> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 98 ++++++++++++++++++++++++++-
>>> 1 file changed, 97 insertions(+), 1 deletion(-)
>>>
>>> +
>>> + mdss_dsi_opp_table: opp-table {
>>> + compatible = "operating-points-v2";
>>> +
>>> + opp-358000000 {
>>> + opp-hz = /bits/ 64 <358000000>;
>>> + required-opps = <&rpmhpd_opp_svs_l1>;
>>> + };
>>
>> Does it really support only a single freq?
>>
>
> Hi Dmitry, yes it support only single opp frequency, I got this information from ipcat sw for monaco, similar
> we have used for LeMans.
I can attest to that, even though I'm a little surprised that's
the case
Konrad
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes
2025-10-14 6:24 ` Ayushi Makhija
2025-10-14 8:53 ` Konrad Dybcio
@ 2025-10-14 9:19 ` Dmitry Baryshkov
1 sibling, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2025-10-14 9:19 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On Tue, Oct 14, 2025 at 11:54:31AM +0530, Ayushi Makhija wrote:
> On 10/6/2025 3:44 PM, Dmitry Baryshkov wrote:
> > On Mon, Oct 06, 2025 at 07:09:23AM +0530, Ayushi Makhija wrote:
> >> Add device tree nodes for the DSI0 controller with their corresponding
> >> PHY found on Qualcomm QCS8300 SoC.
> >>
> >> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> >> ---
> >> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 98 ++++++++++++++++++++++++++-
> >> 1 file changed, 97 insertions(+), 1 deletion(-)
> >>
> >> +
> >> + mdss_dsi_opp_table: opp-table {
> >> + compatible = "operating-points-v2";
> >> +
> >> + opp-358000000 {
> >> + opp-hz = /bits/ 64 <358000000>;
> >> + required-opps = <&rpmhpd_opp_svs_l1>;
> >> + };
> >
> > Does it really support only a single freq?
> >
>
> Hi Dmitry, yes it support only single opp frequency, I got this information from ipcat sw for monaco, similar
> we have used for LeMans.
>
Thanks for the confirmation.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node
2025-10-14 6:36 ` Ayushi Makhija
@ 2025-10-14 9:36 ` Dmitry Baryshkov
0 siblings, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2025-10-14 9:36 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, jonathan, jonas, jernej.skrabec,
quic_rajeevny, quic_vproddut
On Tue, Oct 14, 2025 at 12:06:13PM +0530, Ayushi Makhija wrote:
> On 10/6/2025 3:46 PM, Dmitry Baryshkov wrote:
> > On Mon, Oct 06, 2025 at 07:09:24AM +0530, Ayushi Makhija wrote:
> >> Add anx7625 DSI to DP bridge device node.
> >>
> >> Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
> >> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> >> ---
> >> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 170 ++++++++++++++++++++++
> >> 1 file changed, 170 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> >> index 891e49602c97..5d4040376857 100644
> >> --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> >> +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> >> @@ -24,6 +24,64 @@ chosen {
> >> stdout-path = "serial0:115200n8";
> >> };
> >>
> >> + vreg_12p0: vreg-12p0-regulator {
> >
> > Why are these nodes not in a correct place? Also, why are they named
> > differently from all other regulators in this board file?
>
> Hi Dmitry,
>
> Will keep the nodes at their correct place based on alphabetical order in next patchset.
> Similar names I have used in LeMans for these regulators. We have kept these name based on the information of these regulator we got from SW doc for monaco.
There is a slight difference between two DTSIs. LeMans RIDE uses
vreg-foo-regulator, while qcs8300-ride.dtsi got regulator-usb2-vbus
(which is close to what other platforms use). I think we should also be
using regulator-vreg-12p0.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2025-10-14 9:36 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-06 1:39 [PATCH v2 0/7] Add DSI display support for QCS8300 target Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 1/7] dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 2/7] dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL Ayushi Makhija
2025-10-06 10:09 ` Dmitry Baryshkov
2025-10-06 1:39 ` [PATCH v2 3/7] dt-bindings: display: msm: document DSI controller and phy on QCS8300 Ayushi Makhija
2025-10-06 1:39 ` [PATCH v2 4/7] drm/msm/dsi: add DSI PHY configuration " Ayushi Makhija
2025-10-06 8:30 ` Konrad Dybcio
2025-10-06 10:12 ` Dmitry Baryshkov
2025-10-06 1:39 ` [PATCH v2 5/7] drm/msm/dsi: add DSI support for QCS8300 Ayushi Makhija
2025-10-06 8:28 ` Konrad Dybcio
2025-10-06 1:39 ` [PATCH v2 6/7] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes Ayushi Makhija
2025-10-06 10:14 ` Dmitry Baryshkov
2025-10-14 6:24 ` Ayushi Makhija
2025-10-14 8:53 ` Konrad Dybcio
2025-10-14 9:19 ` Dmitry Baryshkov
2025-10-06 1:39 ` [PATCH v2 7/7] arm64: dts: qcom: qcs8300-ride: add anx7625 DSI to DP bridge node Ayushi Makhija
2025-10-06 10:16 ` Dmitry Baryshkov
2025-10-14 6:36 ` Ayushi Makhija
2025-10-14 9:36 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®