The Allwinner H616 and variants have a new display engine revision (DE33). The mixer configuration registers are significantly different to the DE3 and DE2 revisions, being split into separate top and display blocks, therefore a fallback for the mixer compatible is not provided.
Note that the DE33 mixer requires 3 register blocks instead of 1. To keep things simple the maxItems value for registers is conditionally removed for the H616 and replaced with the block names from the vendor BSP kernel. Add a display engine mixer binding for the DE33. Signed-off-by: Ryan Walklin <r...@testtoast.com> Acked-by: Conor Dooley <conor.doo...@microchip.com> Reviewed-by: Chen-Yu Tsai <w...@csie.org> Signed-off-by: Chris Morgan <macromor...@hotmail.com> --- Changelog v2..v3: - Separate content into three patches for three separate subsystems Changelog v5..v6: - increase reg maxItems to 3 and add conditional for h616-de33 - Increase reg maxItems to 3. Changelog v9..v10: - Use named register blocks rather than by count as names are available from the Allwinner BSP kernel. --- .../allwinner,sun8i-a83t-de2-mixer.yaml | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml b/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml index b75c1ec686ad..cbd18fd83e52 100644 --- a/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml +++ b/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml @@ -24,9 +24,11 @@ properties: - allwinner,sun50i-a64-de2-mixer-0 - allwinner,sun50i-a64-de2-mixer-1 - allwinner,sun50i-h6-de3-mixer-0 + - allwinner,sun50i-h616-de33-mixer-0 - reg: - maxItems: 1 + reg: true + + reg-names: true clocks: items: @@ -61,6 +63,34 @@ properties: required: - port@1 +allOf: + - if: + properties: + compatible: + contains: + enum: + - allwinner,sun50i-h616-de33-mixer-0 + then: + properties: + reg: + description: | + Registers for controlling individual layers of the display + engine (layers), global control (top), and display blending + control (display). Names are from Allwinner BSP kernel. + maxItems: 3 + reg-names: + items: + - const: layers + - const: top + - const: display + required: + - reg-names + + else: + properties: + reg: + maxItems: 1 + required: - compatible - reg -- 2.49.0