Message ID | 20210107134101.195426-4-paul.kocialkowski@bootlin.com |
---|---|
State | New |
Headers | show |
Series | Rockchip PX30 RGA and VPU support | expand |
Hi Paul, On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote: > The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2) > and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an > extra clock (SCLK). > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > --- > .../bindings/media/rockchip-vpu.yaml | 25 +++++++++++++------ > 1 file changed, 17 insertions(+), 8 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml > index c81dbc3e8960..c446b9ead21b 100644 > --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml > +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml > @@ -15,10 +15,13 @@ description: > > properties: > compatible: > - enum: > - - rockchip,rk3288-vpu > - - rockchip,rk3328-vpu > - - rockchip,rk3399-vpu > + oneOf: > + - const: rockchip,rk3288-vpu > + - const: rockchip,rk3328-vpu > + - const: rockchip,rk3399-vpu > + - items: > + - const: rockchip,px30-vpu > + - const: rockchip,rk3399-vpu > > reg: > maxItems: 1 > @@ -35,12 +38,18 @@ properties: > - const: vdpu > > clocks: > - maxItems: 2 > + minItems: 2 > + maxItems: 3 > > clock-names: > - items: > - - const: aclk > - - const: hclk > + oneOf: > + - items: > + - const: aclk > + - const: hclk > + - items: > + - const: aclk > + - const: hclk > + - const: sclk You could make this: clock-names: minItems: 2 items: - const: aclk - const: hclk - const: sclk And then: allOf: - if: properties: compatible: contains: const: rockchip,px30-vpu then: properties: clock-names: minItems: 3 to make sure each variant has the correct clocks set. regards Philipp
Hi Philipp, On Thu 07 Jan 21, 15:55, Philipp Zabel wrote: > Hi Paul, > > On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote: > > The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2) > > and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an > > extra clock (SCLK). > > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > > --- > > .../bindings/media/rockchip-vpu.yaml | 25 +++++++++++++------ > > 1 file changed, 17 insertions(+), 8 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml > > index c81dbc3e8960..c446b9ead21b 100644 > > --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml > > +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml > > @@ -15,10 +15,13 @@ description: > > > > properties: > > compatible: > > - enum: > > - - rockchip,rk3288-vpu > > - - rockchip,rk3328-vpu > > - - rockchip,rk3399-vpu > > + oneOf: > > + - const: rockchip,rk3288-vpu > > + - const: rockchip,rk3328-vpu > > + - const: rockchip,rk3399-vpu > > + - items: > > + - const: rockchip,px30-vpu > > + - const: rockchip,rk3399-vpu > > > > reg: > > maxItems: 1 > > @@ -35,12 +38,18 @@ properties: > > - const: vdpu > > > > clocks: > > - maxItems: 2 > > + minItems: 2 > > + maxItems: 3 > > > > clock-names: > > - items: > > - - const: aclk > > - - const: hclk > > + oneOf: > > + - items: > > + - const: aclk > > + - const: hclk > > + - items: > > + - const: aclk > > + - const: hclk > > + - const: sclk > > You could make this: > > clock-names: > minItems: 2 > items: > - const: aclk > - const: hclk > - const: sclk > > And then: > > allOf: > - if: > properties: > compatible: > contains: > const: rockchip,px30-vpu > then: > properties: > clock-names: > minItems: 3 > > to make sure each variant has the correct clocks set. Thanks for the suggestion! That's a finer grain that my proposal. Rob, is there a preference for how this case should be handled? Here, we want to specify an extra clock for the PX30 case. Cheers, Paul
diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml index c81dbc3e8960..c446b9ead21b 100644 --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml @@ -15,10 +15,13 @@ description: properties: compatible: - enum: - - rockchip,rk3288-vpu - - rockchip,rk3328-vpu - - rockchip,rk3399-vpu + oneOf: + - const: rockchip,rk3288-vpu + - const: rockchip,rk3328-vpu + - const: rockchip,rk3399-vpu + - items: + - const: rockchip,px30-vpu + - const: rockchip,rk3399-vpu reg: maxItems: 1 @@ -35,12 +38,18 @@ properties: - const: vdpu clocks: - maxItems: 2 + minItems: 2 + maxItems: 3 clock-names: - items: - - const: aclk - - const: hclk + oneOf: + - items: + - const: aclk + - const: hclk + - items: + - const: aclk + - const: hclk + - const: sclk power-domains: maxItems: 1
The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2) and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an extra clock (SCLK). Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> --- .../bindings/media/rockchip-vpu.yaml | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-)