Hi, On Sat, 25 Dec 2021 at 23:54, David Heidelberg <david@xxxxxxx> wrote: > > This binding is not much validating the old DSI v2. > > Currently we don't differentiate old v2 from new versions, > so we need to figure out how to validate them. > > I propose specific compatible depending on mdss version, but I would be > glad, if someone with deeper knowledge proposed the names. > > I'm willing to implement it then and back from autodetection. I'd suggest to use hardware-specific compatible for apq8064 (and maybe other v2 hosts if somebody adds support). For example "qcom,apq8064-dsi-ctrl" or "qcom,dsi-ctrl-apq8064" (no strong preference here). For 6G hosts it will probably make sense to use IP versions instead ("qcom-dsi-ctrl-6g-v2.4.1"). > > David > --- > .../display/msm/dsi-controller-main.yaml | 53 ++++++++++++------- > 1 file changed, 35 insertions(+), 18 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > index 35426fde8610..6688ddcd7526 100644 > --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > @@ -27,22 +27,34 @@ properties: > maxItems: 1 > > clocks: > - items: > - - description: Display byte clock > - - description: Display byte interface clock > - - description: Display pixel clock > - - description: Display escape clock > - - description: Display AHB clock > - - description: Display AXI clock > + oneOf: > + - minItems: 7 # APQ8064 > + maxItems: 7 > + - items: > + - description: Display byte clock > + - description: Display byte interface clock > + - description: Display pixel clock > + - description: Display escape clock > + - description: Display AHB clock > + - description: Display AXI clock > > clock-names: > - items: > - - const: byte > - - const: byte_intf > - - const: pixel > - - const: core > - - const: iface > - - const: bus > + oneOf: > + - items: # DSI v2 (APQ8064) > + - const: iface # from dsi_v2_bus_clk_names > + - const: bus > + - const: core_mmss > + - const: src # from dsi_clk_init_v2 > + - const: byte # from dsi_clk_init > + - const: pixel > + - const: core > + - items: > + - const: byte > + - const: byte_intf > + - const: pixel > + - const: core > + - const: iface > + - const: bus > > phys: > maxItems: 1 > @@ -66,15 +78,17 @@ properties: > > assigned-clocks: > minItems: 2 > - maxItems: 2 > + maxItems: 4 > description: | > Parents of "byte" and "pixel" for the given platform. > + For older v2, "byte", "esc", "src" and "pixel". > > assigned-clock-parents: > minItems: 2 > - maxItems: 2 > + maxItems: 4 > description: | > The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block. > + For older v2, Byte, Escape, Source and Pixel clock PLL outputs. > > power-domains: > maxItems: 1 > @@ -124,6 +138,9 @@ properties: > - port@0 > - port@1 > > +patternProperties: > + '^(avdd|vdd|vdda)-supply$': true # FIXME only APQ8064 supplies > + > required: > - compatible > - reg > @@ -135,8 +152,8 @@ required: > - phy-names > - assigned-clocks > - assigned-clock-parents > - - power-domains > - - operating-points-v2 > + # - power-domains # v2 doesn't seems to need it? > + # - operating-points-v2 # v2 doesn't have opp implemented yet > - ports > > additionalProperties: false > -- > 2.34.1 > -- With best wishes Dmitry