18c2ecf20Sopenharmony_ciDevice-tree bindings for the Allegro DVT video IP codecs present in the Xilinx
28c2ecf20Sopenharmony_ciZynqMP SoC. The IP core may either be a H.264/H.265 encoder or H.264/H.265
38c2ecf20Sopenharmony_cidecoder ip core.
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciEach actual codec engines is controlled by a microcontroller (MCU). Host
68c2ecf20Sopenharmony_cisoftware uses a provided mailbox interface to communicate with the MCU. The
78c2ecf20Sopenharmony_ciMCU share an interrupt.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciRequired properties:
108c2ecf20Sopenharmony_ci  - compatible: value should be one of the following
118c2ecf20Sopenharmony_ci    "allegro,al5e-1.1", "allegro,al5e": encoder IP core
128c2ecf20Sopenharmony_ci    "allegro,al5d-1.1", "allegro,al5d": decoder IP core
138c2ecf20Sopenharmony_ci  - reg: base and length of the memory mapped register region and base and
148c2ecf20Sopenharmony_ci    length of the memory mapped sram
158c2ecf20Sopenharmony_ci  - reg-names: must include "regs" and "sram"
168c2ecf20Sopenharmony_ci  - interrupts: shared interrupt from the MCUs to the processing system
178c2ecf20Sopenharmony_ci  - clocks: must contain an entry for each entry in clock-names
188c2ecf20Sopenharmony_ci  - clock-names: must include "core_clk", "mcu_clk", "m_axi_core_aclk",
198c2ecf20Sopenharmony_ci    "m_axi_mcu_aclk", "s_axi_lite_aclk"
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciExample:
228c2ecf20Sopenharmony_ci	al5e: video-codec@a0009000 {
238c2ecf20Sopenharmony_ci		compatible = "allegro,al5e-1.1", "allegro,al5e";
248c2ecf20Sopenharmony_ci		reg = <0 0xa0009000 0 0x1000>,
258c2ecf20Sopenharmony_ci		      <0 0xa0000000 0 0x8000>;
268c2ecf20Sopenharmony_ci		reg-names = "regs", "sram";
278c2ecf20Sopenharmony_ci		interrupts = <0 96 4>;
288c2ecf20Sopenharmony_ci		clocks = <&xlnx_vcu 0>, <&xlnx_vcu 1>,
298c2ecf20Sopenharmony_ci			 <&clkc 71>, <&clkc 71>, <&clkc 71>;
308c2ecf20Sopenharmony_ci		clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
318c2ecf20Sopenharmony_ci			      "m_axi_mcu_aclk", "s_axi_lite_aclk"
328c2ecf20Sopenharmony_ci	};
338c2ecf20Sopenharmony_ci	al5d: video-codec@a0029000 {
348c2ecf20Sopenharmony_ci		compatible = "allegro,al5d-1.1", "allegro,al5d";
358c2ecf20Sopenharmony_ci		reg = <0 0xa0029000 0 0x1000>,
368c2ecf20Sopenharmony_ci		      <0 0xa0020000 0 0x8000>;
378c2ecf20Sopenharmony_ci		reg-names = "regs", "sram";
388c2ecf20Sopenharmony_ci		interrupts = <0 96 4>;
398c2ecf20Sopenharmony_ci		clocks = <&xlnx_vcu 2>, <&xlnx_vcu 3>,
408c2ecf20Sopenharmony_ci			 <&clkc 71>, <&clkc 71>, <&clkc 71>;
418c2ecf20Sopenharmony_ci		clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk",
428c2ecf20Sopenharmony_ci			      "m_axi_mcu_aclk", "s_axi_lite_aclk"
438c2ecf20Sopenharmony_ci	};
44