[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250110153714.GA2912633-robh@kernel.org>
Date: Fri, 10 Jan 2025 09:37:14 -0600
From: Rob Herring <robh@...nel.org>
To: Andy Yan <andyshrk@....com>
Cc: heiko@...ech.de, hjc@...k-chips.com, krzk+dt@...nel.org,
devicetree@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-rockchip@...ts.infradead.org, derek.foreman@...labora.com,
detlev.casanova@...labora.com, daniel@...ishbar.org,
sebastian.reichel@...labora.com, Andy Yan <andy.yan@...k-chips.com>
Subject: Re: [PATCH v10 10/11] dt-bindings: display: vop2: Add rk3576 support
On Fri, Jan 10, 2025 at 06:08:25PM +0800, Andy Yan wrote:
> From: Andy Yan <andy.yan@...k-chips.com>
>
> 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@...k-chips.com>
>
> ---
>
> Changes in v10:
> - Move interrupt-names back to top level
> - Add constraint of interrupts for all platform
> - Add constraint for all grf phandles
> - Reorder some properties
>
> Changes in v9:
> - Drop 'vop-' prefix of interrupt-names.
> - Add blank line between DT properties
> - Remove list interrupt-names in top level
>
> Changes in v8:
> - Fix dt_binding_check errors
> - ordered by soc name
> - Link to the previous version:
> https://lore.kernel.org/linux-rockchip/6pn3qjxotdtpzucpul24yro7ppddezwuizneovqvmgdwyv2j7p@ztg4mqyiqmjf/T/#u
>
> Changes in v4:
> - 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 v3:
> - ordered by soc name
> - Add description for newly added interrupt
>
> Changes in v2:
> - Add dt bindings
>
> .../display/rockchip/rockchip-vop2.yaml | 101 +++++++++++++++---
> 1 file changed, 87 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..3bae71142018 100644
> --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> @@ -14,12 +14,14 @@ description:
> maintainers:
> - Sandy Huang <hjc@...k-chips.com>
> - Heiko Stuebner <heiko@...ech.de>
> + - Andy Yan <andyshrk@....com>
>
> properties:
> compatible:
> enum:
> - rockchip,rk3566-vop
> - rockchip,rk3568-vop
> + - rockchip,rk3576-vop
> - rockchip,rk3588-vop
>
> reg:
> @@ -37,10 +39,21 @@ properties:
> - const: gamma-lut
>
> interrupts:
> - maxItems: 1
> + minItems: 1
> + maxItems: 4
> description:
> - The VOP interrupt is shared by several interrupt sources, such as
> - frame start (VSYNC), line flag and other status interrupts.
> + For VOP version under rk3576, the interrupt is shared by several interrupt
> + sources, such as frame start (VSYNC), line flag and other interrupt status.
> + For VOP version from rk3576 there is a system interrupt for bus error, and
> + every video port has it's independent interrupts for vsync and other video
> + port related error interrupts.
> +
> + interrupt-names:
> + items:
> + - const: sys
> + - const: vp0
> + - const: vp1
> + - const: vp2
>
> # See compatible-specific constraints below.
> clocks:
> @@ -120,43 +133,102 @@ allOf:
> properties:
> compatible:
> contains:
> - const: rockchip,rk3588-vop
> + enum:
> + - rockchip,rk3566-vop
> + - rockchip,rk3568-vop
> then:
> properties:
> clocks:
> - minItems: 7
> + minItems: 5
> +
> clock-names:
> - minItems: 7
> + minItems: 5
> +
> + interrupts:
> + minItems: 1
> + maxItems: 1
> +
> + interrupt-names: false
>
> ports:
> required:
> - port@0
> - port@1
> - port@2
> - - port@3
> +
> + rockchip,vo1-grf: false
> + rockchip,vop-grf: false
> + rockchip,pmu: false
>
> required:
> - rockchip,grf
> - - rockchip,vo1-grf
> - - rockchip,vop-grf
> - - rockchip,pmu
>
> - else:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - rockchip,rk3576-vop
> + then:
> properties:
> + clocks:
> + minItems: 5
> +
> + clock-names:
> + minItems: 5
> +
> + interrupts:
> + minItems: 4
> + maxItems: 4
max is already 4, so drop.
> +
> + interrupt-names:
> + minItems: 4
> + maxItems: 4
same here.
> +
> + ports:
> + required:
> + - port@0
> + - port@1
> + - port@2
> +
> rockchip,vo1-grf: false
> rockchip,vop-grf: false
> - rockchip,pmu: false
>
> + required:
> + - rockchip,grf
> + - rockchip,pmu
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: rockchip,rk3588-vop
> + then:
> + properties:
> clocks:
> - maxItems: 5
> + minItems: 7
> +
> clock-names:
> - maxItems: 5
> + minItems: 7
> +
> + interrupts:
> + minItems: 1
min is already 1, so drop.
> + maxItems: 1
> +
> + interrupt-names: false
>
> ports:
> required:
> - port@0
> - port@1
> - port@2
> + - port@3
> +
> + required:
> + - rockchip,grf
> + - rockchip,vo1-grf
> + - rockchip,vop-grf
> + - rockchip,pmu
>
> additionalProperties: false
>
> @@ -184,6 +256,7 @@ examples:
> "dclk_vp1",
> "dclk_vp2";
> power-domains = <&power RK3568_PD_VO>;
> + rockchip,grf = <&grf>;
> iommus = <&vop_mmu>;
> vop_out: ports {
> #address-cells = <1>;
> --
> 2.34.1
>
Powered by blists - more mailing lists