dt-bindings: display: Separate clock item lists by compatible

So far, the binding and driver have relied on the fact that the H6
clocks are both a prefix and a subset of the R40 clocks. This allows
them to share the clocks/clock-names items and the clock-output-names
order between the hardware variants.

However, the D1 hardware has TCON TV0 and DSI, but no TCON TV1. This
cannot be supported by the existing scheme because it puts a gap in the
middle of the item lists. To prepare for adding D1 support, use separate
lists for variants with different combinations of clocks.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20220424162633.12369-2-samuel@sholland.org
This commit is contained in:
Samuel Holland 2022-04-24 11:26:19 -05:00 committed by Maxime Ripard
parent d8e9d69096
commit 2368a93789
No known key found for this signature in database
GPG key ID: E3EF0D6F671851C5

View file

@ -48,31 +48,15 @@ properties:
clocks:
minItems: 2
items:
- description: The TCON TOP interface clock
- description: The TCON TOP TV0 clock
- description: The TCON TOP TVE0 clock
- description: The TCON TOP TV1 clock
- description: The TCON TOP TVE1 clock
- description: The TCON TOP MIPI DSI clock
maxItems: 6
clock-names:
minItems: 2
items:
- const: bus
- const: tcon-tv0
- const: tve0
- const: tcon-tv1
- const: tve1
- const: dsi
maxItems: 6
clock-output-names:
minItems: 1
maxItems: 3
description: >
The first item is the name of the clock created for the TV0
channel, the second item is the name of the TCON TV1 channel
clock and the third one is the name of the DSI channel clock.
resets:
maxItems: 1
@ -129,32 +113,65 @@ required:
additionalProperties: false
if:
properties:
compatible:
contains:
const: allwinner,sun50i-h6-tcon-top
allOf:
- if:
properties:
compatible:
contains:
const: allwinner,sun8i-r40-tcon-top
then:
properties:
clocks:
maxItems: 2
then:
properties:
clocks:
items:
- description: The TCON TOP interface clock
- description: The TCON TOP TV0 clock
- description: The TCON TOP TVE0 clock
- description: The TCON TOP TV1 clock
- description: The TCON TOP TVE1 clock
- description: The TCON TOP MIPI DSI clock
clock-output-names:
maxItems: 1
clock-names:
items:
- const: bus
- const: tcon-tv0
- const: tve0
- const: tcon-tv1
- const: tve1
- const: dsi
else:
properties:
clocks:
minItems: 6
clock-output-names:
items:
- description: TCON TV0 output clock name
- description: TCON TV1 output clock name
- description: DSI output clock name
clock-output-names:
minItems: 3
ports:
required:
- port@2
- port@3
ports:
required:
- port@2
- port@3
- if:
properties:
compatible:
contains:
const: allwinner,sun50i-h6-tcon-top
then:
properties:
clocks:
items:
- description: The TCON TOP interface clock
- description: The TCON TOP TV0 clock
clock-names:
items:
- const: bus
- const: tcon-tv0
clock-output-names:
items:
- description: TCON TV0 output clock name
examples:
- |