Re: [PATCH 2/3] arm64: dts: qcom: qcs8300: add Display Serial Interface device nodes

From: Ayushi Makhija

Date: Sun Oct 05 2025 - 19:54:19 EST


On 10/6/2025 3:31 AM, Dmitry Baryshkov wrote:
> On Sun, 5 Oct 2025 at 19:49, Ayushi Makhija <quic_amakhija@xxxxxxxxxxx> wrote:
>>
>> On 9/26/2025 3:32 AM, Dmitry Baryshkov wrote:
>>> On Thu, Sep 25, 2025 at 11:06:01AM +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@xxxxxxxxxxx>
>>>> ---
>>>> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 95 ++++++++++++++++++++++++++-
>>>> 1 file changed, 94 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
>>>> index e0e1f63fc45b..834ae0522f2f 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,89 @@ opp-650000000 {
>>>> };
>>>> };
>>>>
>>>> + mdss_dsi0: dsi@ae94000 {
>>>> + compatible = "qcom,sa8775p-dsi-ctrl","qcom,mdss-dsi-ctrl";
>>>
>>> qcom,qcs8300-dsi-ctrl. You might use three compatibles (qcs8300, sa8775p
>>> and the generic one), but there should be qcs8300 one.
>>>
>>
>> Hi Dmitry,
>>
>> If I am adding three compatible string for ctrl,
>>
>> compatible = "qcom,qcs8300-dsi-ctrl",
>> "qcom,sa8775p-dsi-ctrl",
>> "qcom,mdss-dsi-ctrl";
>>
>> while validating dt-binding and dtsi against dt-schema. I am getting below errors
>>
>>
>> /local/mnt/workspace/amakhija/linux_next/linux/arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: dsi@ae94000: compatible: 'oneOf' conditional failed, one must be fixed:
>> ['qcom,qcs8300-dsi-ctrl', 'qcom,sa8775p-dsi-ctrl', 'qcom,mdss-dsi-ctrl'] is too long
>> 'qcom,qcs8300-dsi-ctrl' is not one of ['qcom,dsi-ctrl-6g-qcm2290', 'qcom,mdss-dsi-ctrl']
>> 'qcom,mdss-dsi-ctrl' was expected
>> from schema $id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml#
>>
>> According to the dsi-controller-main.yaml schema only two strings are allowed one is the SOC specific and other one is generic "qcom,mdss-dsi-ctrl".
>>
>> Shall I keep only two strings qcom,qcs8300-mdss.yaml and the generic one "qcom,mdss-dsi-ctrl" or if we want to support 3 strings in compatible sting we need to modify the dsi-controller-main.yaml ?
>
> Of course.
>
>> Similarly, I am getting error for dsi_phy compatible string only one SOC specific compatible string is allow.
>
> So, what's the question? You are adding support for the platform. So
> yes, you need to modify the schema.
>

Thanks Dmitry for the clarification will modify the dsi-controller-main.yaml to support more than 2 strings in the compatible and dsi-phy-7nm.yaml schema to support more than one string in the compatible.

Thanks,
Ayushi