[PATCH v2 5/8] dt-bindings: display: vop2: Add rk3576 support

From: Andy Yan
Date: Sat Dec 28 2024 - 07:23:33 EST


From: Andy Yan <andy.yan@xxxxxxxxxxxxxx>

Add vop found on rk3576, the main difference between rk3576 and the
previous vop is that each VP has its own interrupt line.

Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx>

---

Changes in v2:
- describe constraint SOC by SOC, as interrupts of rk3576 is very
different from others
- Drop Krzysztof's Reviewed-by, as this version changed a lot.

Changes in v1:
- ordered by soc name
- Add description for newly added interrupt

.../display/rockchip/rockchip-vop2.yaml | 70 +++++++++++++++----
1 file changed, 56 insertions(+), 14 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
index 2531726af306..f28cea4a6d82 100644
--- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
@@ -20,6 +20,7 @@ properties:
enum:
- rockchip,rk3566-vop
- rockchip,rk3568-vop
+ - rockchip,rk3576-vop
- rockchip,rk3588-vop

reg:
@@ -37,10 +38,22 @@ properties:
- const: gamma-lut

interrupts:
- maxItems: 1
- description:
- The VOP interrupt is shared by several interrupt sources, such as
- frame start (VSYNC), line flag and other status interrupts.
+ minItems: 1
+ maxItems: 4
+ items:
+ - description:
+ vop system interrupt, such as bus error, and vsync for vop version under
+ rk3576.
+ - description:
+ independent interrupts for each video port, such as vsync and other video
+ port related error interrupts.
+
+ interrupt-names:
+ items:
+ - const: vop-sys
+ - const: vop-vp0
+ - const: vop-vp1
+ - const: vop-vp2

# See compatible-specific constraints below.
clocks:
@@ -127,31 +140,60 @@ allOf:
minItems: 7
clock-names:
minItems: 7
-
ports:
required:
- port@0
- port@1
- port@2
- port@3
-
required:
- rockchip,grf
- rockchip,vo1-grf
- rockchip,vop-grf
- rockchip,pmu

- else:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - rockchip,rk3576-vop
+ then:
properties:
- rockchip,vo1-grf: false
- rockchip,vop-grf: false
- rockchip,pmu: false
-
clocks:
- maxItems: 5
+ minItems: 5
clock-names:
- maxItems: 5
-
+ minItems: 5
+ ports:
+ required:
+ - port@0
+ - port@1
+ - port@2
+ interrupts:
+ minItems: 4
+ maxItems: 4
+ interrupt-names:
+ items:
+ - const: vop-sys
+ - const: vop-vp0
+ - const: vop-vp1
+ - const: vop-vp2
+ required:
+ - rockchip,grf
+ - rockchip,pmu
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - rockchip,rk3568-vop
+ - rockchip,rk3566-vop
+ then:
+ properties:
+ clocks:
+ minItems: 5
+ clock-names:
+ minItems: 5
ports:
required:
- port@0
--
2.34.1