* [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* 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
* [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* 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 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
* [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* 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
* [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* 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 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 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
* [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 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 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 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