mbox series

[v9,00/12] dt-bindings: display/msm: rework MDSS and DPU bindings

Message ID 20221024164225.3236654-1-dmitry.baryshkov@linaro.org
Headers show
Series dt-bindings: display/msm: rework MDSS and DPU bindings | expand

Message

Dmitry Baryshkov Oct. 24, 2022, 4:42 p.m. UTC
Create separate YAML schema for MDSS devicesd$ (both for MDP5 and DPU
devices). Cleanup DPU schema files, so that they do not contain schema
for both MDSS and DPU nodes. Apply misc small fixes to the DPU schema
afterwards. Add schema for the MDSS and DPU on sm8250 platform.

Soft dependency on [1] to define qcom,dsi-phy-14nm-2290 binding used in
examples

[1] https://lore.kernel.org/linux-arm-msm/20220924121900.222711-1-dmitry.baryshkov@linaro.org/

Changes since v8:
 - Dropped DSI/DSI-PHY examples from the first patch. Proper example
   generate a pile of warnings because of DSI schema deficiencies. I'll
   add these examples back, once DSI schema is fixed.

Changes since v7:
 - Expanded examples to include MDSS child nodes (Krzysztof)

Changes since v6:
 - Removed extra newlines (Krzysztof)
 - Added $ref to dpu-common.yaml#/ports/port@foo to enforce schema
   for the port nodes (Rob)
 - Removed unused allOf's (Rob)
 - Fixed repeated interconnects descriptions (Rob)
 - Fixed dpu-common.yaml and mdss-common.yaml descriptions (Rob)
 - Fixed intentation of examples (Krzysztof)
 - Renamed MDSS and DPU schema to follow compat names (Rob)

Changes since v5:
 - Dropped the core clock from mdss.yaml. It will be handled in a
   separate patchset together with adding the clock itself.
 - Fixed a typo in two commit subjects (mdm -> msm).

Changes since v4:
 - Created separate mdss-common.yaml
 - Rather than squashing everything into mdss.yaml, create individual
   schema files for MDSS devices.

Changes since v3:
 - Changed mdss->(dpu, dsi, etc.) relationship into the tight binding
   depending on the mdss compatible string.
 - Added sm8250 dpu schema and added qcom,sm8250-mdss to mdss.yaml

Changes since v2:
 - Added a patch to allow opp-table under the dpu* nodes.
 - Removed the c&p issue which allowed the @0 nodes under the MDSS
   device node.

Changes since v1:
 - Renamed DPU device nodes from mdp@ to display-controller@
 - Described removal of mistakenly mentioned "lut" clock
 - Switched mdss.yaml to use $ref instead of fixing compatible strings
 - Dropped mdp-opp-table description (renamed by Krzysztof in his
   patchset)
 - Reworked DPU's ports definitions. Dropped description of individual
   ports, left only /ports $ref and description in dpu-common.yaml.

Dmitry Baryshkov (12):
  dt-bindings: display/msm: split qcom,mdss bindings
  dt-bindings: display/msm: add gcc-bus clock to dpu-smd845
  dt-bindings: display/msm: add interconnects property to
    qcom,mdss-smd845
  dt-bindings: display/msm: move common DPU properties to
    dpu-common.yaml
  dt-bindings: display/msm: move common MDSS properties to
    mdss-common.yaml
  dt-bindings: display/msm: split dpu-sc7180 into DPU and MDSS parts
  dt-bindings: display/msm: split dpu-sc7280 into DPU and MDSS parts
  dt-bindings: display/msm: split dpu-sdm845 into DPU and MDSS parts
  dt-bindings: display/msm: split dpu-msm8998 into DPU and MDSS parts
  dt-bindings: display/msm: split dpu-qcm2290 into DPU and MDSS parts
  dt-bindings: display/msm: add missing device nodes to mdss-* schemas
  dt-bindings: display/msm: add support for the display on SM8250

 .../bindings/display/msm/dpu-common.yaml      |  52 +++
 .../bindings/display/msm/dpu-msm8998.yaml     | 223 ---------
 .../bindings/display/msm/dpu-qcm2290.yaml     | 222 ---------
 .../bindings/display/msm/dpu-sc7180.yaml      | 235 ----------
 .../bindings/display/msm/dpu-sc7280.yaml      | 239 ----------
 .../bindings/display/msm/dpu-sdm845.yaml      | 217 ---------
 .../devicetree/bindings/display/msm/mdp5.txt  |  30 +-
 .../bindings/display/msm/mdss-common.yaml     |  83 ++++
 .../bindings/display/msm/qcom,mdss.yaml       | 196 ++++++++
 .../display/msm/qcom,msm8998-dpu.yaml         |  95 ++++
 .../display/msm/qcom,msm8998-mdss.yaml        | 268 +++++++++++
 .../display/msm/qcom,qcm2290-dpu.yaml         |  84 ++++
 .../display/msm/qcom,qcm2290-mdss.yaml        | 198 ++++++++
 .../bindings/display/msm/qcom,sc7180-dpu.yaml |  95 ++++
 .../display/msm/qcom,sc7180-mdss.yaml         | 304 +++++++++++++
 .../bindings/display/msm/qcom,sc7280-dpu.yaml |  98 ++++
 .../display/msm/qcom,sc7280-mdss.yaml         | 422 ++++++++++++++++++
 .../bindings/display/msm/qcom,sdm845-dpu.yaml |  90 ++++
 .../display/msm/qcom,sdm845-mdss.yaml         | 270 +++++++++++
 .../bindings/display/msm/qcom,sm8250-dpu.yaml |  92 ++++
 .../display/msm/qcom,sm8250-mdss.yaml         | 330 ++++++++++++++
 21 files changed, 2678 insertions(+), 1165 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml
 delete mode 100644 Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
 delete mode 100644 Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml
 delete mode 100644 Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
 delete mode 100644 Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
 delete mode 100644 Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/mdss-common.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,mdss.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,msm8998-dpu.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,msm8998-mdss.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,qcm2290-dpu.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sc7180-mdss.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sc7280-dpu.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sdm845-dpu.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sdm845-mdss.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sm8250-dpu.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sm8250-mdss.yaml

Comments

Rob Herring Nov. 4, 2022, 12:21 p.m. UTC | #1
On Mon, Oct 24, 2022 at 11:42 AM Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> Create separate YAML schema for MDSS devicesd$ (both for MDP5 and DPU
> devices). Cleanup DPU schema files, so that they do not contain schema
> for both MDSS and DPU nodes. Apply misc small fixes to the DPU schema
> afterwards. Add schema for the MDSS and DPU on sm8250 platform.
>
> Soft dependency on [1] to define qcom,dsi-phy-14nm-2290 binding used in
> examples
>
> [1] https://lore.kernel.org/linux-arm-msm/20220924121900.222711-1-dmitry.baryshkov@linaro.org/
>
> Changes since v8:
>  - Dropped DSI/DSI-PHY examples from the first patch. Proper example
>    generate a pile of warnings because of DSI schema deficiencies. I'll
>    add these examples back, once DSI schema is fixed.
>
> Changes since v7:
>  - Expanded examples to include MDSS child nodes (Krzysztof)
>
> Changes since v6:
>  - Removed extra newlines (Krzysztof)
>  - Added $ref to dpu-common.yaml#/ports/port@foo to enforce schema
>    for the port nodes (Rob)
>  - Removed unused allOf's (Rob)
>  - Fixed repeated interconnects descriptions (Rob)
>  - Fixed dpu-common.yaml and mdss-common.yaml descriptions (Rob)
>  - Fixed intentation of examples (Krzysztof)
>  - Renamed MDSS and DPU schema to follow compat names (Rob)
>
> Changes since v5:
>  - Dropped the core clock from mdss.yaml. It will be handled in a
>    separate patchset together with adding the clock itself.
>  - Fixed a typo in two commit subjects (mdm -> msm).
>
> Changes since v4:
>  - Created separate mdss-common.yaml
>  - Rather than squashing everything into mdss.yaml, create individual
>    schema files for MDSS devices.
>
> Changes since v3:
>  - Changed mdss->(dpu, dsi, etc.) relationship into the tight binding
>    depending on the mdss compatible string.
>  - Added sm8250 dpu schema and added qcom,sm8250-mdss to mdss.yaml
>
> Changes since v2:
>  - Added a patch to allow opp-table under the dpu* nodes.
>  - Removed the c&p issue which allowed the @0 nodes under the MDSS
>    device node.
>
> Changes since v1:
>  - Renamed DPU device nodes from mdp@ to display-controller@
>  - Described removal of mistakenly mentioned "lut" clock
>  - Switched mdss.yaml to use $ref instead of fixing compatible strings
>  - Dropped mdp-opp-table description (renamed by Krzysztof in his
>    patchset)
>  - Reworked DPU's ports definitions. Dropped description of individual
>    ports, left only /ports $ref and description in dpu-common.yaml.
>
> Dmitry Baryshkov (12):
>   dt-bindings: display/msm: split qcom,mdss bindings
>   dt-bindings: display/msm: add gcc-bus clock to dpu-smd845
>   dt-bindings: display/msm: add interconnects property to
>     qcom,mdss-smd845
>   dt-bindings: display/msm: move common DPU properties to
>     dpu-common.yaml
>   dt-bindings: display/msm: move common MDSS properties to
>     mdss-common.yaml
>   dt-bindings: display/msm: split dpu-sc7180 into DPU and MDSS parts
>   dt-bindings: display/msm: split dpu-sc7280 into DPU and MDSS parts
>   dt-bindings: display/msm: split dpu-sdm845 into DPU and MDSS parts
>   dt-bindings: display/msm: split dpu-msm8998 into DPU and MDSS parts
>   dt-bindings: display/msm: split dpu-qcm2290 into DPU and MDSS parts
>   dt-bindings: display/msm: add missing device nodes to mdss-* schemas
>   dt-bindings: display/msm: add support for the display on SM8250

This is now warning in linux-next:

/builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,sc7180-mdss.example.dtb:
dsi@ae94000: 'opp-table' does not match any of the regexes:
'pinctrl-[0-9]+'
        From schema:
/builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
/builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,sm8250-mdss.example.dtb:
dsi@ae94000: 'opp-table' does not match any of the regexes:
'pinctrl-[0-9]+'
        From schema:
/builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
/builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.example.dtb:
dsi@5e94000: compatible: 'oneOf' conditional failed, one must be
fixed:
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+-.*$'
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$'
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
        'qcom,dsi-ctrl-6g-qcm2290' does not match
'^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
        'qcom,dsi-ctrl-6g-qcm2290' is not one of ['qcom,gpucc-sdm630',
'qcom,gpucc-sdm660', 'qcom,lcc-apq8064', 'qcom,lcc-ipq8064',
'qcom,lcc-mdm9615', 'qcom,lcc-msm8960', 'qcom,lpass-cpu-apq8016',
'qcom,usb-ss-ipq4019-phy', 'qcom,usb-hs-ipq4019-phy',
'qcom,vqmmc-ipq4019-regulator']
        'qcom,dsi-ctrl-6g-qcm2290' is not one of ['qcom,ipq806x-gmac',
'qcom,ipq806x-nand', 'qcom,ipq806x-sata-phy',
'qcom,ipq806x-usb-phy-ss', 'qcom,ipq806x-usb-phy-hs']
        From schema:
/builds/robherring/linux-dt/Documentation/devicetree/bindings/arm/qcom-soc.yaml
/builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.example.dtb:
dsi@ae94000: 'opp-table' does not match any of the regexes:
'pinctrl-[0-9]+'
        From schema:
/builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
Dmitry Baryshkov Nov. 4, 2022, 1:05 p.m. UTC | #2
On 04/11/2022 15:21, Rob Herring wrote:
> On Mon, Oct 24, 2022 at 11:42 AM Dmitry Baryshkov
> <dmitry.baryshkov@linaro.org> wrote:
>>
>> Create separate YAML schema for MDSS devicesd$ (both for MDP5 and DPU
>> devices). Cleanup DPU schema files, so that they do not contain schema
>> for both MDSS and DPU nodes. Apply misc small fixes to the DPU schema
>> afterwards. Add schema for the MDSS and DPU on sm8250 platform.
>>
>> Soft dependency on [1] to define qcom,dsi-phy-14nm-2290 binding used in
>> examples
>>
>> [1] https://lore.kernel.org/linux-arm-msm/20220924121900.222711-1-dmitry.baryshkov@linaro.org/
>>
>> Changes since v8:
>>   - Dropped DSI/DSI-PHY examples from the first patch. Proper example
>>     generate a pile of warnings because of DSI schema deficiencies. I'll
>>     add these examples back, once DSI schema is fixed.
>>
>> Changes since v7:
>>   - Expanded examples to include MDSS child nodes (Krzysztof)
>>
>> Changes since v6:
>>   - Removed extra newlines (Krzysztof)
>>   - Added $ref to dpu-common.yaml#/ports/port@foo to enforce schema
>>     for the port nodes (Rob)
>>   - Removed unused allOf's (Rob)
>>   - Fixed repeated interconnects descriptions (Rob)
>>   - Fixed dpu-common.yaml and mdss-common.yaml descriptions (Rob)
>>   - Fixed intentation of examples (Krzysztof)
>>   - Renamed MDSS and DPU schema to follow compat names (Rob)
>>
>> Changes since v5:
>>   - Dropped the core clock from mdss.yaml. It will be handled in a
>>     separate patchset together with adding the clock itself.
>>   - Fixed a typo in two commit subjects (mdm -> msm).
>>
>> Changes since v4:
>>   - Created separate mdss-common.yaml
>>   - Rather than squashing everything into mdss.yaml, create individual
>>     schema files for MDSS devices.
>>
>> Changes since v3:
>>   - Changed mdss->(dpu, dsi, etc.) relationship into the tight binding
>>     depending on the mdss compatible string.
>>   - Added sm8250 dpu schema and added qcom,sm8250-mdss to mdss.yaml
>>
>> Changes since v2:
>>   - Added a patch to allow opp-table under the dpu* nodes.
>>   - Removed the c&p issue which allowed the @0 nodes under the MDSS
>>     device node.
>>
>> Changes since v1:
>>   - Renamed DPU device nodes from mdp@ to display-controller@
>>   - Described removal of mistakenly mentioned "lut" clock
>>   - Switched mdss.yaml to use $ref instead of fixing compatible strings
>>   - Dropped mdp-opp-table description (renamed by Krzysztof in his
>>     patchset)
>>   - Reworked DPU's ports definitions. Dropped description of individual
>>     ports, left only /ports $ref and description in dpu-common.yaml.
>>
>> Dmitry Baryshkov (12):
>>    dt-bindings: display/msm: split qcom,mdss bindings
>>    dt-bindings: display/msm: add gcc-bus clock to dpu-smd845
>>    dt-bindings: display/msm: add interconnects property to
>>      qcom,mdss-smd845
>>    dt-bindings: display/msm: move common DPU properties to
>>      dpu-common.yaml
>>    dt-bindings: display/msm: move common MDSS properties to
>>      mdss-common.yaml
>>    dt-bindings: display/msm: split dpu-sc7180 into DPU and MDSS parts
>>    dt-bindings: display/msm: split dpu-sc7280 into DPU and MDSS parts
>>    dt-bindings: display/msm: split dpu-sdm845 into DPU and MDSS parts
>>    dt-bindings: display/msm: split dpu-msm8998 into DPU and MDSS parts
>>    dt-bindings: display/msm: split dpu-qcm2290 into DPU and MDSS parts
>>    dt-bindings: display/msm: add missing device nodes to mdss-* schemas
>>    dt-bindings: display/msm: add support for the display on SM8250
> 
> This is now warning in linux-next:
> 
> /builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,sc7180-mdss.example.dtb:
> dsi@ae94000: 'opp-table' does not match any of the regexes:
> 'pinctrl-[0-9]+'
>          From schema:
> /builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> /builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,sm8250-mdss.example.dtb:
> dsi@ae94000: 'opp-table' does not match any of the regexes:
> 'pinctrl-[0-9]+'
>          From schema:
> /builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml

These two will be fixed by 
https://patchwork.freedesktop.org/patch/509664/?series=108883&rev=2, 
I'll merge it in asap, so that it appears in next linux-next.

> /builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.example.dtb:
> dsi@5e94000: compatible: 'oneOf' conditional failed, one must be
> fixed:
>          'qcom,dsi-ctrl-6g-qcm2290' does not match

Ack, I'll take an immediate look on fixing this.

> '^qcom,(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+-.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' does not match
> '^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' does not match
> '^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' does not match
> '^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' does not match
> '^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' does not match
> '^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' does not match
> '^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' does not match
> '^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$'
>          'qcom,dsi-ctrl-6g-qcm2290' is not one of ['qcom,gpucc-sdm630',
> 'qcom,gpucc-sdm660', 'qcom,lcc-apq8064', 'qcom,lcc-ipq8064',
> 'qcom,lcc-mdm9615', 'qcom,lcc-msm8960', 'qcom,lpass-cpu-apq8016',
> 'qcom,usb-ss-ipq4019-phy', 'qcom,usb-hs-ipq4019-phy',
> 'qcom,vqmmc-ipq4019-regulator']
>          'qcom,dsi-ctrl-6g-qcm2290' is not one of ['qcom,ipq806x-gmac',
> 'qcom,ipq806x-nand', 'qcom,ipq806x-sata-phy',
> 'qcom,ipq806x-usb-phy-ss', 'qcom,ipq806x-usb-phy-hs']
>          From schema:
> /builds/robherring/linux-dt/Documentation/devicetree/bindings/arm/qcom-soc.yaml
> /builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.example.dtb:
> dsi@ae94000: 'opp-table' does not match any of the regexes:
> 'pinctrl-[0-9]+'
>          From schema:
> /builds/robherring/linux-dt/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml