[PATCH 3/3] media: allegro-dvt: Add DT-bindings for the Gen 3 IP

Krzysztof Kozlowski krzk at kernel.org
Sun May 11 13:03:30 PDT 2025


On 11/05/2025 16:47, Yassine Ouaissa wrote:
> Add the device-tree bindings for the allegro-dvt Gen 3 IP decoders, and
> update the MAINTAINERS file.
> 
> Signed-off-by: Yassine Ouaissa <yassine.ouaissa at allegrodvt.com>
> ---
>  .../bindings/media/allegrodvt,al300-vdec.yaml | 86 +++++++++++++++++++

Looks untested so limited review follows.

A nit, subject: drop second/last, redundant "DT bindings". The
"dt-bindings" prefix is already stating that these are DT bindings.
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

>  MAINTAINERS                                   |  1 +
>  2 files changed, 87 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml
> 

Please organize the patch documenting compatible (DT bindings) before
their user.
See also:
https://elixir.bootlin.com/linux/v6.14-rc6/source/Documentation/devicetree/bindings/submitting-patches.rst#L46

> diff --git a/Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml b/Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml
> new file mode 100644
> index 000000000000..ea4a55de570c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml
> @@ -0,0 +1,86 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/allegrodvt,al300-vdec.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Allegro DVT Video IP Decoder Gen 3
> +
> +maintainers:
> +  - Yassine OUAISSA <yassine.ouaissa at allegrodvt.com>
> +
> +description: |-
> +  The al300-vdec represents the latest generation of Allegro DVT IP decoding technology, offering

Wrap at 80, see Linux coding style.

> +  significant advancements over its predecessors. This new decoder features
> +  enhanced processing capabilities with improved throughput and reduced latency.
> +
> +  Communication between the host driver software and the MCU is implemented through
> +  a specialized mailbox interface mechanism. This mailbox system provides a
> +  structured channel for exchanging commands, parameters, and status information
> +  between the host CPU and the MCU controlling the codec engines.
> +
> +properties:
> +  compatible:
> +    const: allegrodvt,al300-vdec

Undocumented prefix.

What is the actual device name? al300? Can you have al300-adec? or
al300-dec?


> +
> +  reg:
> +    items:
> +      - description: The registers
> +      - description: the MCU APB register
> +
> +  reg-names:
> +    items:
> +      - const: regs
> +      - const: apb
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    items:
> +      - description: MCU clock
> +
> +  clock-names:
> +    items:
> +      - const: mcu_clk

Drop clock-names, pretty obvious

> +
> +  memory-region:
> +    items:
> +      - description: Used to allocate memory for the MCU firmware,
> +      and is also used for various operational buffers required by the MCU during codec operations.
> +
> +  firmware-name:
> +    $ref: /schemas/types.yaml#/definitions/string

Drop, type is already fixed.

missing maxItems: 1

> +    description:
> +      If present, name of the file within the firmware search path containing
> +      the MCU firmware.
> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: False
> +
> +examples:
> +  - |
> +    axi {
> +        #address-cells = <2>;
> +        #size-cells = <2>;
> +
> +        ald300: ald300 at a0120000 {

Drop unused label.

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation


> +            compatible = "allegrodvt,al300-vdec";
> +            reg = <0 0xa0120000 0 0x80000>,

Here 0 is not hex

> +            <0x01 0x8000000 0x00 0x8000000>;

but here is hex?

Also misaligned.

Also: very odd large address space.

>  


Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list