[PATCH v3 1/3] media: dt-bindings: rockchip,vdec: Add alternative reg-names order for RK35{76,88}
Nicolas Dufresne
nicolas.dufresne at collabora.com
Thu Feb 26 11:32:11 PST 2026
Le mercredi 25 février 2026 à 13:26 +0100, Krzysztof Kozlowski a écrit :
> On 25/02/2026 13:19, Cristian Ciocaltea wrote:
> > With the introduction of the RK3588 SoC, and RK3576 afterwards, the
> > 'link' and 'cache' register blocks have been provided for the video
> > decoder unit in addition to the existing 'function' one, which now shows
> > up in between them (from address-based ordering point of view).
> >
> > However, the binding does not properly describe this hardware layout, as
> > the new blocks are listed after the old one. Therefore it breaks the
> > convention expecting the unit address to indicate the first register
> > range.
> >
> > Since the binding changes have been already released and a fix would
> > bring up an ABI break, mark the current 'reg-names' listing as
> > deprecated and introduce an alternative 'link,function,cache' one.
> >
> > Additionally, drop the 'reg' description items as the order is not fixed
> > anymore, while the information they offer is not very relevant anyway.
> >
> > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at collabora.com>
> > ---
> > .../devicetree/bindings/media/rockchip,vdec.yaml | 19 ++++++++++++-------
> > 1 file changed, 12 insertions(+), 7 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/media/rockchip,vdec.yaml b/Documentation/devicetree/bindings/media/rockchip,vdec.yaml
> > index 809fda45b3bd..3f6072e8baa5 100644
> > --- a/Documentation/devicetree/bindings/media/rockchip,vdec.yaml
> > +++ b/Documentation/devicetree/bindings/media/rockchip,vdec.yaml
> > @@ -28,16 +28,21 @@ properties:
> >
> > reg:
> > minItems: 1
> > - items:
> > - - description: The function configuration registers base
> > - - description: The link table configuration registers base
> > - - description: The cache configuration registers base
> > + maxItems: 3
> >
> > reg-names:
> > - items:
> > + oneOf:
> > - const: function
>
> This is confusing, I think I missed that in previous patch because it
> did not leave that part or I misread the diff hunk - why do you allow
> one entry?
>
> If the first entry is function, then all others MUST built on top, thus
> this:
>
> > + - const: link
> > + - const: function
> > + - const: cache
>
> is not correct.
>
> No, you don't change the orders. So again, if you have such binding,
> then you just fix the unit address leaving the binding as is.
We need a better solution, its really helpful for the base address in these unit
name matches the documentation. And specially with this version of the hardware,
the link register is where you program the IP, the function registers are filled
by the IP when the previous job completes (but can be access when there is no
running jobs for various reason too, hence exposing it).
Nicolas
p.s. I didn't read this message first, don't read by Rb as offending, I'll hold
as long as needed.
>
>
> > - - const: link
> > - - const: cache
> > + - items:
> > + - const: link
> > + - const: function
> > + - const: cache
> > + - items:
> > + - const: function
> > + - const: link
> > + - const: cache
> > + deprecated: true
> > + description: Use link,function,cache block order instead.
> >
> Best regards,
> Krzysztof
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20260226/645fa1b3/attachment.sig>
More information about the linux-arm-kernel
mailing list