Message ID | 20241220-dt-bcm2712-fixes-v5-2-cbbf13d2e97a@raspberrypi.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/vc4: Fixup DT and DT binding issues from recent patchset | expand |
On 20/12/2024 19:11, Dave Stevenson wrote: > Commit 6cfcbe548a3a ("dt-bindings: display: Add BCM2712 HVS bindings") > added the compatible string for BCM2712, but missed out that > the number of interrupts and clocks changed too. > > The driver commit adding support for BCM2712 [1] also requires that The driver commit foo ("bar") ... BCM2712 also requires... > both interrupts and clocks are named, so the relevant -names > properties are also added to "required" for BCM2712. > > Update to validate clock, interrupts, and their names for the BCM2712 > variant. (There should be no change in the binding requirements for > the other variants). > > [1] Commit 7687a12153d3 ("drm/vc4: hvs: Add support for BCM2712 HVS") And drop this. > > Fixes: 6cfcbe548a3a ("dt-bindings: display: Add BCM2712 HVS bindings") > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > --- > .../bindings/display/brcm,bcm2835-hvs.yaml | 88 ++++++++++++++++++---- > 1 file changed, 74 insertions(+), 14 deletions(-) > ... > + properties: > + compatible: > + contains: > + const: brcm,bcm2711-hvs > + > + then: > + properties: > + clocks: > + items: > + - description: Core Clock > + interrupts: > + maxItems: 1 > + clock-names: false > + interrupt-names: false > + > + required: > + - clocks > + > + - if: > + properties: > + compatible: > + contains: > + const: brcm,bcm2712-hvs > + > + then: > + properties: > + clocks: > + minItems: 2 > + maxItems: 2 > + clock-names: > + items: > + - const: core > + - const: disp > + interrupts: > + items: > + - description: Channel 0 End of frame > + - description: Channel 1 End of frame > + - description: Channel 2 End of frame > + interrupt-names: > + items: > + - const: ch0-eof > + - const: ch1-eof > + - const: ch2-eof > + required: > + - clocks > + - clock-names > + - interrupt-names > + > + - if: > + properties: > + compatible: > + contains: > + const: brcm,bcm2835-hvs > + > + then: > + properties: What about clocks here? Why isn't this a part of block with bcm2711 (as enum)? > + interrupts: > + maxItems: 1 > + clock-names: false > + interrupt-names: false > > examples: > - | > Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml index f91c9dce2a44..9aca38a58a16 100644 --- a/Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml +++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml @@ -20,11 +20,20 @@ properties: maxItems: 1 interrupts: - maxItems: 1 + minItems: 1 + maxItems: 3 + + interrupt-names: + minItems: 1 + maxItems: 3 clocks: - maxItems: 1 - description: Core Clock + minItems: 1 + maxItems: 2 + + clock-names: + minItems: 1 + maxItems: 2 required: - compatible @@ -33,17 +42,68 @@ required: additionalProperties: false -if: - properties: - compatible: - contains: - enum: - - brcm,bcm2711-hvs - - brcm,bcm2712-hvs - -then: - required: - - clocks +allOf: + - if: + properties: + compatible: + contains: + const: brcm,bcm2711-hvs + + then: + properties: + clocks: + items: + - description: Core Clock + interrupts: + maxItems: 1 + clock-names: false + interrupt-names: false + + required: + - clocks + + - if: + properties: + compatible: + contains: + const: brcm,bcm2712-hvs + + then: + properties: + clocks: + minItems: 2 + maxItems: 2 + clock-names: + items: + - const: core + - const: disp + interrupts: + items: + - description: Channel 0 End of frame + - description: Channel 1 End of frame + - description: Channel 2 End of frame + interrupt-names: + items: + - const: ch0-eof + - const: ch1-eof + - const: ch2-eof + required: + - clocks + - clock-names + - interrupt-names + + - if: + properties: + compatible: + contains: + const: brcm,bcm2835-hvs + + then: + properties: + interrupts: + maxItems: 1 + clock-names: false + interrupt-names: false examples: - |
Commit 6cfcbe548a3a ("dt-bindings: display: Add BCM2712 HVS bindings") added the compatible string for BCM2712, but missed out that the number of interrupts and clocks changed too. The driver commit adding support for BCM2712 [1] also requires that both interrupts and clocks are named, so the relevant -names properties are also added to "required" for BCM2712. Update to validate clock, interrupts, and their names for the BCM2712 variant. (There should be no change in the binding requirements for the other variants). [1] Commit 7687a12153d3 ("drm/vc4: hvs: Add support for BCM2712 HVS") Fixes: 6cfcbe548a3a ("dt-bindings: display: Add BCM2712 HVS bindings") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> --- .../bindings/display/brcm,bcm2835-hvs.yaml | 88 ++++++++++++++++++---- 1 file changed, 74 insertions(+), 14 deletions(-)