Message ID | 20230113083720.39224-2-dmitry.baryshkov@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt-bindings: display/msm: rework MDP5 and MDSS schema | expand |
On Fri, 13 Jan 2023 10:37:10 +0200, Dmitry Baryshkov wrote: > Convert the mdp5.txt into the yaml format. Changes to the existing (txt) schema: > - MSM8996 has additional "iommu" clock, define it separately > - Add new properties used on some of platforms: > - interconnects, interconnect-names > - iommus > - power-domains > - operating-points-v2, opp-table > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > .../devicetree/bindings/display/msm/mdp5.txt | 132 ----------------- > .../bindings/display/msm/qcom,mdp5.yaml | 138 ++++++++++++++++++ > 2 files changed, 138 insertions(+), 132 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt > create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230113083720.39224-2-dmitry.baryshkov@linaro.org mdp@1a01000: compatible:0: 'qcom,mdp5' was expected arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb mdp@1a01000: compatible: ['qcom,msm8953-mdp5', 'qcom,mdp5'] is too long arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb
On Fri, Jan 13, 2023 at 09:26:52AM -0600, Rob Herring wrote: > > On Fri, 13 Jan 2023 10:37:10 +0200, Dmitry Baryshkov wrote: > > Convert the mdp5.txt into the yaml format. Changes to the existing (txt) schema: > > - MSM8996 has additional "iommu" clock, define it separately > > - Add new properties used on some of platforms: > > - interconnects, interconnect-names > > - iommus > > - power-domains > > - operating-points-v2, opp-table > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > --- > > .../devicetree/bindings/display/msm/mdp5.txt | 132 ----------------- > > .../bindings/display/msm/qcom,mdp5.yaml | 138 ++++++++++++++++++ > > 2 files changed, 138 insertions(+), 132 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt > > create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml > > > > Running 'make dtbs_check' with the schema in this patch gives the > following warnings. Consider if they are expected or the schema is > incorrect. These may not be new warnings. > > Note that it is not yet a requirement to have 0 warnings for dtbs_check. > This will change in the future. > > Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230113083720.39224-2-dmitry.baryshkov@linaro.org > > > mdp@1a01000: compatible:0: 'qcom,mdp5' was expected > arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb > > mdp@1a01000: compatible: ['qcom,msm8953-mdp5', 'qcom,mdp5'] is too long > arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb If your thought is to drop 'qcom,msm8953-mdp5' here that doesn't really seem great. Rob
On Fri, 13 Jan 2023 at 17:26, Rob Herring <robh@kernel.org> wrote: > > > On Fri, 13 Jan 2023 10:37:10 +0200, Dmitry Baryshkov wrote: > > Convert the mdp5.txt into the yaml format. Changes to the existing (txt) schema: > > - MSM8996 has additional "iommu" clock, define it separately > > - Add new properties used on some of platforms: > > - interconnects, interconnect-names > > - iommus > > - power-domains > > - operating-points-v2, opp-table > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > --- > > .../devicetree/bindings/display/msm/mdp5.txt | 132 ----------------- > > .../bindings/display/msm/qcom,mdp5.yaml | 138 ++++++++++++++++++ > > 2 files changed, 138 insertions(+), 132 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt > > create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml > > > > Running 'make dtbs_check' with the schema in this patch gives the > following warnings. Consider if they are expected or the schema is > incorrect. These may not be new warnings. > > Note that it is not yet a requirement to have 0 warnings for dtbs_check. > This will change in the future. > > Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230113083720.39224-2-dmitry.baryshkov@linaro.org > > > mdp@1a01000: compatible:0: 'qcom,mdp5' was expected > arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb > > mdp@1a01000: compatible: ['qcom,msm8953-mdp5', 'qcom,mdp5'] is too long > arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb This is because we ended up in the middle of the conversion. msm8953 ended up using a new style of bindings, while the rest used old ones. This is fixed by the patch 02 (which adds SoC-specific compatibles to the schema) and patches 6 and 7 that convert the rest of DT. -- With best wishes Dmitry
On Fri, 13 Jan 2023 at 23:11, Rob Herring <robh@kernel.org> wrote: > > On Fri, Jan 13, 2023 at 09:26:52AM -0600, Rob Herring wrote: > > > > On Fri, 13 Jan 2023 10:37:10 +0200, Dmitry Baryshkov wrote: > > > Convert the mdp5.txt into the yaml format. Changes to the existing (txt) schema: > > > - MSM8996 has additional "iommu" clock, define it separately > > > - Add new properties used on some of platforms: > > > - interconnects, interconnect-names > > > - iommus > > > - power-domains > > > - operating-points-v2, opp-table > > > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > > --- > > > .../devicetree/bindings/display/msm/mdp5.txt | 132 ----------------- > > > .../bindings/display/msm/qcom,mdp5.yaml | 138 ++++++++++++++++++ > > > 2 files changed, 138 insertions(+), 132 deletions(-) > > > delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt > > > create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml > > > > > > > Running 'make dtbs_check' with the schema in this patch gives the > > following warnings. Consider if they are expected or the schema is > > incorrect. These may not be new warnings. > > > > Note that it is not yet a requirement to have 0 warnings for dtbs_check. > > This will change in the future. > > > > Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230113083720.39224-2-dmitry.baryshkov@linaro.org > > > > > > mdp@1a01000: compatible:0: 'qcom,mdp5' was expected > > arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb > > > > mdp@1a01000: compatible: ['qcom,msm8953-mdp5', 'qcom,mdp5'] is too long > > arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dtb > > If your thought is to drop 'qcom,msm8953-mdp5' here that doesn't really > seem great. No, quite the opposite. Please see the explanation in the email I sent a minute ago.
On Fri, 13 Jan 2023 10:37:10 +0200, Dmitry Baryshkov wrote: > Convert the mdp5.txt into the yaml format. Changes to the existing (txt) schema: > - MSM8996 has additional "iommu" clock, define it separately > - Add new properties used on some of platforms: > - interconnects, interconnect-names > - iommus > - power-domains > - operating-points-v2, opp-table > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > .../devicetree/bindings/display/msm/mdp5.txt | 132 ----------------- > .../bindings/display/msm/qcom,mdp5.yaml | 138 ++++++++++++++++++ > 2 files changed, 138 insertions(+), 132 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt > create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/display/msm/mdp5.txt b/Documentation/devicetree/bindings/display/msm/mdp5.txt deleted file mode 100644 index 65d03c58dee6..000000000000 --- a/Documentation/devicetree/bindings/display/msm/mdp5.txt +++ /dev/null @@ -1,132 +0,0 @@ -Qualcomm adreno/snapdragon MDP5 display controller - -Description: - -This is the bindings documentation for the MDP5 display -controller found in SoCs like MSM8974, APQ8084, MSM8916, MSM8994 and MSM8996. - -MDP5: -Required properties: -- compatible: - * "qcom,mdp5" - MDP5 -- reg: Physical base address and length of the controller's registers. -- reg-names: The names of register regions. The following regions are required: - * "mdp_phys" -- interrupts: Interrupt line from MDP5 to MDSS interrupt controller. -- clocks: device clocks. See ../clocks/clock-bindings.txt for details. -- clock-names: the following clocks are required. -- * "bus" -- * "iface" -- * "core" -- * "vsync" -- ports: contains the list of output ports from MDP. These connect to interfaces - that are external to the MDP hardware, such as HDMI, DSI, EDP etc (LVDS is a - special case since it is a part of the MDP block itself). - - Each output port contains an endpoint that describes how it is connected to an - external interface. These are described by the standard properties documented - here: - Documentation/devicetree/bindings/graph.txt - Documentation/devicetree/bindings/media/video-interfaces.txt - - The availability of output ports can vary across SoC revisions: - - For MSM8974 and APQ8084: - Port 0 -> MDP_INTF0 (eDP) - Port 1 -> MDP_INTF1 (DSI1) - Port 2 -> MDP_INTF2 (DSI2) - Port 3 -> MDP_INTF3 (HDMI) - - For MSM8916: - Port 0 -> MDP_INTF1 (DSI1) - - For MSM8994 and MSM8996: - Port 0 -> MDP_INTF1 (DSI1) - Port 1 -> MDP_INTF2 (DSI2) - Port 2 -> MDP_INTF3 (HDMI) - -Optional properties: -- clock-names: the following clocks are optional: - * "lut" - * "tbu" - * "tbu_rt" - -Example: - -/ { - ... - - mdss: mdss@1a00000 { - compatible = "qcom,mdss"; - reg = <0x1a00000 0x1000>, - <0x1ac8000 0x3000>; - reg-names = "mdss_phys", "vbif_phys"; - - power-domains = <&gcc MDSS_GDSC>; - - clocks = <&gcc GCC_MDSS_AHB_CLK>, - <&gcc GCC_MDSS_AXI_CLK>, - <&gcc GCC_MDSS_VSYNC_CLK>; - clock-names = "iface", - "bus", - "vsync" - - interrupts = <0 72 0>; - - interrupt-controller; - #interrupt-cells = <1>; - - #address-cells = <1>; - #size-cells = <1>; - ranges; - - mdp: mdp@1a01000 { - compatible = "qcom,mdp5"; - reg = <0x1a01000 0x90000>; - reg-names = "mdp_phys"; - - interrupt-parent = <&mdss>; - interrupts = <0 0>; - - clocks = <&gcc GCC_MDSS_AHB_CLK>, - <&gcc GCC_MDSS_AXI_CLK>, - <&gcc GCC_MDSS_MDP_CLK>, - <&gcc GCC_MDSS_VSYNC_CLK>; - clock-names = "iface", - "bus", - "core", - "vsync"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - mdp5_intf1_out: endpoint { - remote-endpoint = <&dsi0_in>; - }; - }; - }; - }; - - dsi0: dsi@1a98000 { - ... - ports { - ... - port@0 { - reg = <0>; - dsi0_in: endpoint { - remote-endpoint = <&mdp5_intf1_out>; - }; - }; - ... - }; - ... - }; - - dsi_phy0: dsi-phy@1a98300 { - ... - }; - }; -}; diff --git a/Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml b/Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml new file mode 100644 index 000000000000..5e3cd7abf046 --- /dev/null +++ b/Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml @@ -0,0 +1,138 @@ +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/msm/qcom,mdp5.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Adreno/Snapdragon Mobile Display controller (MDP5) + +description: + MDP5 display controller found in SoCs like MSM8974, APQ8084, MSM8916, MSM8994 + and MSM8996. + +maintainers: + - Dmitry Baryshkov <dmitry.baryshkov@linaro.org> + - Rob Clark <robdclark@gmail.com> + +properties: + compatible: + const: qcom,mdp5 + + reg: + maxItems: 1 + + reg-names: + items: + - const: mdp_phys + + interrupts: + maxItems: 1 + + clocks: + minItems: 4 + maxItems: 7 + + clock-names: + oneOf: + - minItems: 4 + items: + - const: iface + - const: bus + - const: core + - const: vsync + - const: lut + - const: tbu + - const: tbu_rt + #MSM8996 has additional iommu clock + - items: + - const: iface + - const: bus + - const: core + - const: iommu + - const: vsync + + interconnects: + minItems: 1 + items: + - description: Interconnect path from mdp0 (or a single mdp) port to the data bus + - description: Interconnect path from mdp1 port to the data bus + - description: Interconnect path from rotator port to the data bus + + interconnect-names: + minItems: 1 + items: + - const: mdp0-mem + - const: mdp1-mem + - const: rotator-mem + + iommus: + items: + - description: apps SMMU with the Stream-ID mask for Hard-Fail port0 + + power-domains: + maxItems: 1 + + operating-points-v2: true + opp-table: + type: object + + ports: + $ref: /schemas/graph.yaml#/properties/ports + description: > + Contains the list of output ports from DPU device. These ports + connect to interfaces that are external to the DPU hardware, + such as DSI, DP etc. MDP5 devices support up to 4 ports: + one or two DSI ports, HDMI and eDP. + + patternProperties: + "^port@[0-3]+$": + $ref: /schemas/graph.yaml#/properties/port + + # at least one port is required + required: + - port@0 + +required: + - compatible + - reg + - reg-names + - clocks + - clock-names + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/qcom,gcc-msm8916.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + display-controller@1a01000 { + compatible = "qcom,mdp5"; + reg = <0x1a01000 0x90000>; + reg-names = "mdp_phys"; + + interrupt-parent = <&mdss>; + interrupts = <0>; + + clocks = <&gcc GCC_MDSS_AHB_CLK>, + <&gcc GCC_MDSS_AXI_CLK>, + <&gcc GCC_MDSS_MDP_CLK>, + <&gcc GCC_MDSS_VSYNC_CLK>; + clock-names = "iface", + "bus", + "core", + "vsync"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + endpoint { + remote-endpoint = <&dsi0_in>; + }; + }; + }; + }; +...
Convert the mdp5.txt into the yaml format. Changes to the existing (txt) schema: - MSM8996 has additional "iommu" clock, define it separately - Add new properties used on some of platforms: - interconnects, interconnect-names - iommus - power-domains - operating-points-v2, opp-table Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- .../devicetree/bindings/display/msm/mdp5.txt | 132 ----------------- .../bindings/display/msm/qcom,mdp5.yaml | 138 ++++++++++++++++++ 2 files changed, 138 insertions(+), 132 deletions(-) delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml