* [PATCH v5 1/3] dt-bindings: display: bcm2711-hdmi: Add interrupt details for BCM2712
2024-12-20 18:11 [PATCH v5 0/3] drm/vc4: Fixup DT and DT binding issues from recent patchset Dave Stevenson
@ 2024-12-20 18:11 ` Dave Stevenson
2024-12-22 8:33 ` Krzysztof Kozlowski
2024-12-20 18:11 ` [PATCH v5 2/3] dt-bindings: display: Fix brcm,bcm2835-hvs bindings " Dave Stevenson
2024-12-20 18:11 ` [PATCH v5 3/3] dt-bindings: interrupt-controller: brcm,bcm2836-l1-intc: Drop interrupt-controller requirement Dave Stevenson
2 siblings, 1 reply; 6+ messages in thread
From: Dave Stevenson @ 2024-12-20 18:11 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Florian Fainelli, Broadcom internal kernel review list,
Eric Anholt, Maíra Canal, Raspberry Pi Kernel Maintenance,
Ray Jui, Scott Branden, Doug Berger, Linus Walleij,
Bartosz Golaszewski, Thomas Gleixner, Stefan Wahren
Cc: dri-devel, devicetree, linux-rpi-kernel, linux-arm-kernel,
linux-kernel, Florian Fainelli, linux-gpio, Dave Stevenson
Commit 62948c62abca ("dt-bindings: display: Add BCM2712 HDMI bindings")
added the compatible strings for BCM2712, but missed out that the
number of interrupts changed, and for BCM2712 the driver changes[1]
required that the interrupts are named.
Update the schema to correct the interrupt requirements for BCM2712.
(Requirements for BCM2711 should be unchanged).
[1] Commit 0b1dbe82e051 ("drm/vc4: hdmi: Add support for BCM2712 HDMI
controllers")
Fixes: 62948c62abca ("dt-bindings: display: Add BCM2712 HDMI bindings")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
.../bindings/display/brcm,bcm2711-hdmi.yaml | 76 ++++++++++++++++++----
1 file changed, 62 insertions(+), 14 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml
index 6d11f5955b51..c1cefd547391 100644
--- a/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml
+++ b/Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml
@@ -56,22 +56,12 @@ properties:
- const: cec
interrupts:
- items:
- - description: CEC TX interrupt
- - description: CEC RX interrupt
- - description: CEC stuck at low interrupt
- - description: Wake-up interrupt
- - description: Hotplug connected interrupt
- - description: Hotplug removed interrupt
+ minItems: 5
+ maxItems: 6
interrupt-names:
- items:
- - const: cec-tx
- - const: cec-rx
- - const: cec-low
- - const: wakeup
- - const: hpd-connected
- - const: hpd-removed
+ minItems: 5
+ maxItems: 6
ddc:
$ref: /schemas/types.yaml#/definitions/phandle
@@ -112,6 +102,61 @@ required:
additionalProperties: false
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - brcm,bcm2711-hdmi0
+ - brcm,bcm2711-hdmi1
+ then:
+ properties:
+ interrupts:
+ items:
+ - description: CEC TX interrupt
+ - description: CEC RX interrupt
+ - description: CEC stuck at low interrupt
+ - description: Wake-up interrupt
+ - description: Hotplug connected interrupt
+ - description: Hotplug removed interrupt
+ interrupt-names:
+ items:
+ - const: cec-tx
+ - const: cec-rx
+ - const: cec-low
+ - const: wakeup
+ - const: hpd-connected
+ - const: hpd-removed
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - brcm,bcm2712-hdmi0
+ - brcm,bcm2712-hdmi1
+ then:
+ properties:
+ interrupts:
+ items:
+ - description: CEC TX interrupt
+ - description: CEC RX interrupt
+ - description: CEC stuck at low interrupt
+ - description: Hotplug connected interrupt
+ - description: Hotplug removed interrupt
+ interrupts-names:
+ items:
+ - const: cec-tx
+ - const: cec-rx
+ - const: cec-low
+ - const: hpd-connected
+ - const: hpd-removed
+
+ required:
+ - interrupts
+ - interrupt-names
+
examples:
- |
hdmi0: hdmi@7ef00700 {
@@ -136,6 +181,9 @@ examples:
"hd";
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
clock-names = "hdmi", "bvb", "audio", "cec";
+ interrupts = <0>, <1>, <2>, <3>, <4>, <5>;
+ interrupt-names = "cec-tx", "cec-rx", "cec-low", "wakeup",
+ "hpd-connected", "hpd-removed";
resets = <&dvp 0>;
ddc = <&ddc0>;
};
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v5 1/3] dt-bindings: display: bcm2711-hdmi: Add interrupt details for BCM2712
2024-12-20 18:11 ` [PATCH v5 1/3] dt-bindings: display: bcm2711-hdmi: Add interrupt details for BCM2712 Dave Stevenson
@ 2024-12-22 8:33 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-22 8:33 UTC (permalink / raw)
To: Dave Stevenson
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Florian Fainelli, Broadcom internal kernel review list,
Eric Anholt, Maíra Canal, Raspberry Pi Kernel Maintenance,
Ray Jui, Scott Branden, Doug Berger, Linus Walleij,
Bartosz Golaszewski, Thomas Gleixner, Stefan Wahren, dri-devel,
devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel,
Florian Fainelli, linux-gpio
On Fri, Dec 20, 2024 at 06:11:11PM +0000, Dave Stevenson wrote:
> Commit 62948c62abca ("dt-bindings: display: Add BCM2712 HDMI bindings")
> added the compatible strings for BCM2712, but missed out that the
> number of interrupts changed, and for BCM2712 the driver changes[1]
> required that the interrupts are named.
I dopn't get what "interrupts are named" means here and I kept asking
about it, so the explanation is supposed to be in commit msg. Do you
mean that driver requires it? If so, then "the driver requires
interrupt-names since commit foo ("bar")" (and use Linux commit style of
referencing commits).
>
> Update the schema to correct the interrupt requirements for BCM2712.
> (Requirements for BCM2711 should be unchanged).
>
> [1] Commit 0b1dbe82e051 ("drm/vc4: hdmi: Add support for BCM2712 HDMI
> controllers")
I cannot find in this commit requirement of interrupt names. There is no
call to anything requiring names. Maybe I miss some context, like other
function introduced that? Can you point me to specific line of that
patch?
Because if you refer to external_irq_controller than I fail to see how
2711 works without the names.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v5 2/3] dt-bindings: display: Fix brcm,bcm2835-hvs bindings for BCM2712
2024-12-20 18:11 [PATCH v5 0/3] drm/vc4: Fixup DT and DT binding issues from recent patchset Dave Stevenson
2024-12-20 18:11 ` [PATCH v5 1/3] dt-bindings: display: bcm2711-hdmi: Add interrupt details for BCM2712 Dave Stevenson
@ 2024-12-20 18:11 ` Dave Stevenson
2024-12-22 8:39 ` Krzysztof Kozlowski
2024-12-20 18:11 ` [PATCH v5 3/3] dt-bindings: interrupt-controller: brcm,bcm2836-l1-intc: Drop interrupt-controller requirement Dave Stevenson
2 siblings, 1 reply; 6+ messages in thread
From: Dave Stevenson @ 2024-12-20 18:11 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Florian Fainelli, Broadcom internal kernel review list,
Eric Anholt, Maíra Canal, Raspberry Pi Kernel Maintenance,
Ray Jui, Scott Branden, Doug Berger, Linus Walleij,
Bartosz Golaszewski, Thomas Gleixner, Stefan Wahren
Cc: dri-devel, devicetree, linux-rpi-kernel, linux-arm-kernel,
linux-kernel, Florian Fainelli, linux-gpio, Dave Stevenson
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(-)
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:
- |
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v5 2/3] dt-bindings: display: Fix brcm,bcm2835-hvs bindings for BCM2712
2024-12-20 18:11 ` [PATCH v5 2/3] dt-bindings: display: Fix brcm,bcm2835-hvs bindings " Dave Stevenson
@ 2024-12-22 8:39 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-22 8:39 UTC (permalink / raw)
To: Dave Stevenson, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list, Eric Anholt,
Maíra Canal, Raspberry Pi Kernel Maintenance, Ray Jui,
Scott Branden, Doug Berger, Linus Walleij, Bartosz Golaszewski,
Thomas Gleixner, Stefan Wahren
Cc: dri-devel, devicetree, linux-rpi-kernel, linux-arm-kernel,
linux-kernel, Florian Fainelli, linux-gpio
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v5 3/3] dt-bindings: interrupt-controller: brcm,bcm2836-l1-intc: Drop interrupt-controller requirement
2024-12-20 18:11 [PATCH v5 0/3] drm/vc4: Fixup DT and DT binding issues from recent patchset Dave Stevenson
2024-12-20 18:11 ` [PATCH v5 1/3] dt-bindings: display: bcm2711-hdmi: Add interrupt details for BCM2712 Dave Stevenson
2024-12-20 18:11 ` [PATCH v5 2/3] dt-bindings: display: Fix brcm,bcm2835-hvs bindings " Dave Stevenson
@ 2024-12-20 18:11 ` Dave Stevenson
2 siblings, 0 replies; 6+ messages in thread
From: Dave Stevenson @ 2024-12-20 18:11 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Florian Fainelli, Broadcom internal kernel review list,
Eric Anholt, Maíra Canal, Raspberry Pi Kernel Maintenance,
Ray Jui, Scott Branden, Doug Berger, Linus Walleij,
Bartosz Golaszewski, Thomas Gleixner, Stefan Wahren
Cc: dri-devel, devicetree, linux-rpi-kernel, linux-arm-kernel,
linux-kernel, Florian Fainelli, linux-gpio, Dave Stevenson,
Krzysztof Kozlowski
Since commit 88bbe85dcd37 ("irqchip: bcm2836: Move SMP startup code to
arch/arm (v2)") the bcm2836-l1-intc block on bcm2711 is only used as a
base address for the smp_boot_secondary hook on 32 bit kernels. It is
not used as an interrupt controller.
Drop the binding requirement for interrupt-controller and interrupt-cells
to satisfy validation on this platform.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.yaml | 2 --
1 file changed, 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.yaml
index 5fda626c80ce..2ff390c1705b 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.yaml
@@ -34,8 +34,6 @@ properties:
required:
- compatible
- reg
- - interrupt-controller
- - '#interrupt-cells'
additionalProperties: false
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread