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.
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
Hi,
On Sat, 25 Dec 2021 at 23:54, David Heidelberg david@ixit.cz 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
On Sun, Dec 26, 2021 at 02:34:08AM +0300, Dmitry Baryshkov wrote:
Hi,
On Sat, 25 Dec 2021 at 23:54, David Heidelberg david@ixit.cz 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).
The former.
For 6G hosts it will probably make sense to use IP versions instead ("qcom-dsi-ctrl-6g-v2.4.1").
Humm, we went down the path of version numbers for QCom blocks, but the result was not much reuse of same version on more than 2-3 parts if that. So stick with SoCs for naming unless there's a strong case that version numbers to SoC parts is 1 to many.
Rob
dri-devel@lists.freedesktop.org