Message ID | 20230411-topic-straitlagoon_mdss-v2-3-5def73f50980@linaro.org |
---|---|
State | New |
Headers | show |
Series | SM63(50|75) DPU support | expand |
On Fri, Apr 21, 2023 at 12:31:12AM +0200, Konrad Dybcio wrote: > Document the SM6350 DPU. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > .../bindings/display/msm/qcom,sm6350-dpu.yaml | 94 ++++++++++++++++++++++ > 1 file changed, 94 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml > new file mode 100644 > index 000000000000..979fcf81afc9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml > @@ -0,0 +1,94 @@ > +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/msm/qcom,sm6350-dpu.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Display DPU dt properties for SM6350 target > + > +maintainers: > + - Konrad Dybcio <konrad.dybcio@linaro.org> > + > +$ref: /schemas/display/msm/dpu-common.yaml# > + > +properties: > + compatible: > + items: > + - const: qcom,sm6350-dpu > + > + reg: > + items: > + - description: Address offset and size for mdp register set > + - description: Address offset and size for vbif register set Drop 'Address offset and size for ' With that, Reviewed-by: Rob Herring <robh@kernel.org>
On Fri, Apr 21, 2023 at 12:31:12AM +0200, Konrad Dybcio wrote: > Document the SM6350 DPU. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > .../bindings/display/msm/qcom,sm6350-dpu.yaml | 94 ++++++++++++++++++++++ > 1 file changed, 94 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml > new file mode 100644 > index 000000000000..979fcf81afc9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml > @@ -0,0 +1,94 @@ > +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/msm/qcom,sm6350-dpu.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Display DPU dt properties for SM6350 target > + > +maintainers: > + - Konrad Dybcio <konrad.dybcio@linaro.org> > + > +$ref: /schemas/display/msm/dpu-common.yaml# > + > +properties: > + compatible: > + items: > + - const: qcom,sm6350-dpu > + > + reg: > + items: > + - description: Address offset and size for mdp register set > + - description: Address offset and size for vbif register set > + > + reg-names: > + items: > + - const: mdp > + - const: vbif > + > + clocks: > + items: > + - description: Display axi clock > + - description: Display ahb clock > + - description: Display rot clock > + - description: Display lut clock > + - description: Display core clock > + - description: Display vsync clock > + > + clock-names: > + items: > + - const: bus > + - const: iface > + - const: rot > + - const: lut > + - const: core > + - const: vsync Is there some reason the clocks are in different order? They appear to be the same minus the 'throttle' clock. Is there really no 'throttle' clock? Maybe this platform just tied it to one of the same clocks in the above? I really hate the mess that is clocks. We have the same or related blocks with just totally different names and order. The result is if/then schemas or separate schemas like this. Neither option is great, but at least the if/then schemas provides some motivation to not have pointless variations like this. </rant> As it seems the only difference between these 2 bindings is 1 extra clock, can't they be shared? Rob
On 25.04.2023 19:03, Rob Herring wrote: > On Fri, Apr 21, 2023 at 12:31:12AM +0200, Konrad Dybcio wrote: >> Document the SM6350 DPU. >> >> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> >> --- >> .../bindings/display/msm/qcom,sm6350-dpu.yaml | 94 ++++++++++++++++++++++ >> 1 file changed, 94 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml >> new file mode 100644 >> index 000000000000..979fcf81afc9 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml >> @@ -0,0 +1,94 @@ >> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/display/msm/qcom,sm6350-dpu.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm Display DPU dt properties for SM6350 target >> + >> +maintainers: >> + - Konrad Dybcio <konrad.dybcio@linaro.org> >> + >> +$ref: /schemas/display/msm/dpu-common.yaml# >> + >> +properties: >> + compatible: >> + items: >> + - const: qcom,sm6350-dpu >> + >> + reg: >> + items: >> + - description: Address offset and size for mdp register set >> + - description: Address offset and size for vbif register set >> + >> + reg-names: >> + items: >> + - const: mdp >> + - const: vbif >> + >> + clocks: >> + items: >> + - description: Display axi clock >> + - description: Display ahb clock >> + - description: Display rot clock >> + - description: Display lut clock >> + - description: Display core clock >> + - description: Display vsync clock >> + >> + clock-names: >> + items: >> + - const: bus >> + - const: iface >> + - const: rot >> + - const: lut >> + - const: core >> + - const: vsync > > Is there some reason the clocks are in different order? Nope, I'll sort this out They appear to > be the same minus the 'throttle' clock. Is there really no 'throttle' > clock? Looks like GCC_DISP_THROTTLE_AXI_CLK does exist on sm6350 as well, no idea how/if it's used though.. Perhaps I can just remove it from sm6375 and if it turns out necessary we can reintroduce it another day. Maybe this platform just tied it to one of the same clocks in the > above? Unlikely, most likely it's for some dire deep power saving stuff that does not seem to be used/exposed, even on the bsp kernel > > I really hate the mess that is clocks. We have the same or related > blocks with just totally different names and order. The result is > if/then schemas or separate schemas like this. Neither option is great, > but at least the if/then schemas provides some motivation to not have > pointless variations like this. </rant> It's a totally valid rant.. > > As it seems the only difference between these 2 bindings is 1 extra > clock, can't they be shared? Sounds like a plan! Konrad > > Rob
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml new file mode 100644 index 000000000000..979fcf81afc9 --- /dev/null +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm6350-dpu.yaml @@ -0,0 +1,94 @@ +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/msm/qcom,sm6350-dpu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Display DPU dt properties for SM6350 target + +maintainers: + - Konrad Dybcio <konrad.dybcio@linaro.org> + +$ref: /schemas/display/msm/dpu-common.yaml# + +properties: + compatible: + items: + - const: qcom,sm6350-dpu + + reg: + items: + - description: Address offset and size for mdp register set + - description: Address offset and size for vbif register set + + reg-names: + items: + - const: mdp + - const: vbif + + clocks: + items: + - description: Display axi clock + - description: Display ahb clock + - description: Display rot clock + - description: Display lut clock + - description: Display core clock + - description: Display vsync clock + + clock-names: + items: + - const: bus + - const: iface + - const: rot + - const: lut + - const: core + - const: vsync + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/clock/qcom,dispcc-sm6350.h> + #include <dt-bindings/clock/qcom,gcc-sm6350.h> + #include <dt-bindings/power/qcom-rpmpd.h> + + display-controller@ae01000 { + compatible = "qcom,sm6350-dpu"; + reg = <0x0ae01000 0x8f000>, + <0x0aeb0000 0x2008>; + reg-names = "mdp", "vbif"; + + clocks = <&gcc GCC_DISP_AXI_CLK>, + <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&dispcc DISP_CC_MDSS_ROT_CLK>, + <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, + <&dispcc DISP_CC_MDSS_MDP_CLK>, + <&dispcc DISP_CC_MDSS_VSYNC_CLK>; + clock-names = "bus", "iface", "rot", "lut", "core", + "vsync"; + + interrupt-parent = <&mdss>; + interrupts = <0>; + power-domains = <&rpmhpd SM6350_CX>; + operating-points-v2 = <&mdp_opp_table>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + endpoint { + remote-endpoint = <&dsi0_in>; + }; + }; + + port@1 { + reg = <1>; + endpoint { + remote-endpoint = <&dsi1_in>; + }; + }; + }; + }; +...
Document the SM6350 DPU. Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> --- .../bindings/display/msm/qcom,sm6350-dpu.yaml | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+)