diff mbox series

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

Message ID 20250511144752.504162-4-yassine.ouaissa@allegrodvt.com
State New
Headers show
Series media: Add Gen 3 IP stateful decoder driver | expand

Commit Message

Yassine Ouaissa May 11, 2025, 2:47 p.m. UTC
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@allegrodvt.com>
---
 .../bindings/media/allegrodvt,al300-vdec.yaml | 86 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 87 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml

Comments

Rob Herring (Arm) May 11, 2025, 4:38 p.m. UTC | #1
On Sun, 11 May 2025 16:47:34 +0200, 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@allegrodvt.com>
> ---
>  .../bindings/media/allegrodvt,al300-vdec.yaml | 86 +++++++++++++++++++
>  MAINTAINERS                                   |  1 +
>  2 files changed, 87 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml:52:3: [error] syntax error: could not find expected ':' (syntax)

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml: ignoring, error parsing file
./Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml:52:3: could not find expected ':'
make[2]: *** Deleting file 'Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.example.dts'
Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml:52:3: could not find expected ':'
make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.example.dts] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1527: dt_binding_check] Error 2
make: *** [Makefile:248: __sub-make] Error 2

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250511144752.504162-4-yassine.ouaissa@allegrodvt.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Yassine Ouaissa May 12, 2025, 11:17 a.m. UTC | #2
On 12.05.2025 12:42, Krzysztof Kozlowski wrote:
>On Mon, May 12, 2025 at 08:23:11AM GMT, Yassine Ouaissa wrote:
>> issue fixed also, thanks.
>> > > +  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?
>> >
>> >
>>
>> the device name is al300, the vdec is for decoder driver.
>
>So drop vdec. Compatible should reflect device name.
>

We cannot, the IP could have the encode and decode in the same time.
the al300 is for the IP gen, and vdec/venc for the driver compatible.

I'll discuss with the team, about other naming.

>Best regards,
>Krzysztof
>

Best regards
Yassine OUAISSA
diff mbox series

Patch

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@allegrodvt.com>
+
+description: |-
+  The al300-vdec represents the latest generation of Allegro DVT IP decoding technology, offering
+  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
+
+  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
+
+  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
+    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@a0120000 {
+            compatible = "allegrodvt,al300-vdec";
+            reg = <0 0xa0120000 0 0x80000>,
+            <0x01 0x8000000 0x00 0x8000000>;
+            reg-names = "regs", "apb";
+            interrupts = <0 96 4>;
+            clocks = <&mcu_clock_dec>;
+            clock-names = "mcu_clk";
+            firmware-name = "al300_vdec.fw";
+        };
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 313d08cf90e0..8912fabab6ed 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -807,6 +807,7 @@  R:	Pengutronix Kernel Team <kernel@pengutronix.de>
 L:	linux-media@vger.kernel.org
 S:	Maintained
 F:	Documentation/devicetree/bindings/media/allegro,al5e.yaml
+F:	Documentation/devicetree/bindings/media/allegrodvt,al300-vdec.yaml
 F:	drivers/media/platform/allegro-dvt/al300
 F:	drivers/media/platform/allegro-dvt/zynqmp