xref: /freebsd/sys/contrib/device-tree/Bindings/media/allegro,al5e.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/media/allegro,al5e.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Allegro DVT Video IP Codecs
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Michael Tretter <m.tretter@pengutronix.de>
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotdescription: |-
135def4c47SEmmanuel Vadot  Allegro DVT video IP codecs present in the Xilinx ZynqMP SoC. The IP core may
145def4c47SEmmanuel Vadot  either be a H.264/H.265 encoder or H.264/H.265 decoder ip core.
155def4c47SEmmanuel Vadot
165def4c47SEmmanuel Vadot  Each actual codec engine is controlled by a microcontroller (MCU). Host
175def4c47SEmmanuel Vadot  software uses a provided mailbox interface to communicate with the MCU. The
185def4c47SEmmanuel Vadot  MCUs share an interrupt.
195def4c47SEmmanuel Vadot
205def4c47SEmmanuel Vadotproperties:
215def4c47SEmmanuel Vadot  compatible:
225def4c47SEmmanuel Vadot    oneOf:
235def4c47SEmmanuel Vadot      - items:
245def4c47SEmmanuel Vadot          - const: allegro,al5e-1.1
255def4c47SEmmanuel Vadot          - const: allegro,al5e
265def4c47SEmmanuel Vadot      - items:
275def4c47SEmmanuel Vadot          - const: allegro,al5d-1.1
285def4c47SEmmanuel Vadot          - const: allegro,al5d
295def4c47SEmmanuel Vadot
305def4c47SEmmanuel Vadot  reg:
315def4c47SEmmanuel Vadot    items:
325def4c47SEmmanuel Vadot      - description: The registers
335def4c47SEmmanuel Vadot      - description: The SRAM
345def4c47SEmmanuel Vadot
355def4c47SEmmanuel Vadot  reg-names:
365def4c47SEmmanuel Vadot    items:
375def4c47SEmmanuel Vadot      - const: regs
385def4c47SEmmanuel Vadot      - const: sram
395def4c47SEmmanuel Vadot
405def4c47SEmmanuel Vadot  interrupts:
415def4c47SEmmanuel Vadot    maxItems: 1
425def4c47SEmmanuel Vadot
435def4c47SEmmanuel Vadot  clocks:
445def4c47SEmmanuel Vadot    items:
455def4c47SEmmanuel Vadot      - description: Core clock
465def4c47SEmmanuel Vadot      - description: MCU clock
475def4c47SEmmanuel Vadot      - description: Core AXI master port clock
485def4c47SEmmanuel Vadot      - description: MCU AXI master port clock
495def4c47SEmmanuel Vadot      - description: AXI4-Lite slave port clock
505def4c47SEmmanuel Vadot
515def4c47SEmmanuel Vadot  clock-names:
525def4c47SEmmanuel Vadot    items:
535def4c47SEmmanuel Vadot      - const: core_clk
545def4c47SEmmanuel Vadot      - const: mcu_clk
555def4c47SEmmanuel Vadot      - const: m_axi_core_aclk
565def4c47SEmmanuel Vadot      - const: m_axi_mcu_aclk
575def4c47SEmmanuel Vadot      - const: s_axi_lite_aclk
585def4c47SEmmanuel Vadot
595def4c47SEmmanuel Vadotrequired:
605def4c47SEmmanuel Vadot  - compatible
615def4c47SEmmanuel Vadot  - reg
625def4c47SEmmanuel Vadot  - reg-names
635def4c47SEmmanuel Vadot  - interrupts
645def4c47SEmmanuel Vadot  - clocks
655def4c47SEmmanuel Vadot  - clock-names
665def4c47SEmmanuel Vadot
675def4c47SEmmanuel VadotadditionalProperties: False
685def4c47SEmmanuel Vadot
695def4c47SEmmanuel Vadotexamples:
705def4c47SEmmanuel Vadot  - |
715def4c47SEmmanuel Vadot    fpga {
725def4c47SEmmanuel Vadot        #address-cells = <2>;
735def4c47SEmmanuel Vadot        #size-cells = <2>;
745def4c47SEmmanuel Vadot
755def4c47SEmmanuel Vadot        al5e: video-codec@a0009000 {
765def4c47SEmmanuel Vadot            compatible = "allegro,al5e-1.1", "allegro,al5e";
775def4c47SEmmanuel Vadot            reg = <0 0xa0009000 0 0x1000>,
785def4c47SEmmanuel Vadot            <0 0xa0000000 0 0x8000>;
795def4c47SEmmanuel Vadot            reg-names = "regs", "sram";
805def4c47SEmmanuel Vadot            interrupts = <0 96 4>;
815def4c47SEmmanuel Vadot            clocks = <&xlnx_vcu 0>, <&xlnx_vcu 1>,
825def4c47SEmmanuel Vadot            <&clkc 71>, <&clkc 71>, <&clkc 71>;
835def4c47SEmmanuel Vadot            clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
845def4c47SEmmanuel Vadot            "m_axi_mcu_aclk", "s_axi_lite_aclk";
855def4c47SEmmanuel Vadot        };
865def4c47SEmmanuel Vadot    };
875def4c47SEmmanuel Vadot  - |
885def4c47SEmmanuel Vadot    fpga {
895def4c47SEmmanuel Vadot        #address-cells = <2>;
905def4c47SEmmanuel Vadot        #size-cells = <2>;
915def4c47SEmmanuel Vadot
925def4c47SEmmanuel Vadot        al5d: video-codec@a0029000 {
935def4c47SEmmanuel Vadot            compatible = "allegro,al5d-1.1", "allegro,al5d";
945def4c47SEmmanuel Vadot            reg = <0 0xa0029000 0 0x1000>,
955def4c47SEmmanuel Vadot                  <0 0xa0020000 0 0x8000>;
965def4c47SEmmanuel Vadot            reg-names = "regs", "sram";
975def4c47SEmmanuel Vadot            interrupts = <0 96 4>;
985def4c47SEmmanuel Vadot            clocks = <&xlnx_vcu 2>, <&xlnx_vcu 3>,
995def4c47SEmmanuel Vadot                     <&clkc 71>, <&clkc 71>, <&clkc 71>;
1005def4c47SEmmanuel Vadot            clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
1015def4c47SEmmanuel Vadot            "m_axi_mcu_aclk", "s_axi_lite_aclk";
1025def4c47SEmmanuel Vadot        };
1035def4c47SEmmanuel Vadot    };
1045def4c47SEmmanuel Vadot
1055def4c47SEmmanuel Vadot...
106