10f3cc7caSMichael Tretter# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 20f3cc7caSMichael Tretter%YAML 1.2 30f3cc7caSMichael Tretter--- 40f3cc7caSMichael Tretter$id: http://devicetree.org/schemas/media/allegro,al5e.yaml# 50f3cc7caSMichael Tretter$schema: http://devicetree.org/meta-schemas/core.yaml# 60f3cc7caSMichael Tretter 7*dd3cb467SAndrew Lunntitle: Allegro DVT Video IP Codecs 80f3cc7caSMichael Tretter 90f3cc7caSMichael Trettermaintainers: 100f3cc7caSMichael Tretter - Michael Tretter <m.tretter@pengutronix.de> 110f3cc7caSMichael Tretter 120f3cc7caSMichael Tretterdescription: |- 130f3cc7caSMichael Tretter Allegro DVT video IP codecs present in the Xilinx ZynqMP SoC. The IP core may 140f3cc7caSMichael Tretter either be a H.264/H.265 encoder or H.264/H.265 decoder ip core. 150f3cc7caSMichael Tretter 160f3cc7caSMichael Tretter Each actual codec engine is controlled by a microcontroller (MCU). Host 170f3cc7caSMichael Tretter software uses a provided mailbox interface to communicate with the MCU. The 180f3cc7caSMichael Tretter MCUs share an interrupt. 190f3cc7caSMichael Tretter 200f3cc7caSMichael Tretterproperties: 210f3cc7caSMichael Tretter compatible: 220f3cc7caSMichael Tretter oneOf: 230f3cc7caSMichael Tretter - items: 240f3cc7caSMichael Tretter - const: allegro,al5e-1.1 250f3cc7caSMichael Tretter - const: allegro,al5e 260f3cc7caSMichael Tretter - items: 270f3cc7caSMichael Tretter - const: allegro,al5d-1.1 280f3cc7caSMichael Tretter - const: allegro,al5d 290f3cc7caSMichael Tretter 300f3cc7caSMichael Tretter reg: 310f3cc7caSMichael Tretter items: 320f3cc7caSMichael Tretter - description: The registers 330f3cc7caSMichael Tretter - description: The SRAM 340f3cc7caSMichael Tretter 350f3cc7caSMichael Tretter reg-names: 360f3cc7caSMichael Tretter items: 370f3cc7caSMichael Tretter - const: regs 380f3cc7caSMichael Tretter - const: sram 390f3cc7caSMichael Tretter 400f3cc7caSMichael Tretter interrupts: 410f3cc7caSMichael Tretter maxItems: 1 420f3cc7caSMichael Tretter 430f3cc7caSMichael Tretter clocks: 440f3cc7caSMichael Tretter items: 450f3cc7caSMichael Tretter - description: Core clock 460f3cc7caSMichael Tretter - description: MCU clock 470f3cc7caSMichael Tretter - description: Core AXI master port clock 480f3cc7caSMichael Tretter - description: MCU AXI master port clock 490f3cc7caSMichael Tretter - description: AXI4-Lite slave port clock 500f3cc7caSMichael Tretter 510f3cc7caSMichael Tretter clock-names: 520f3cc7caSMichael Tretter items: 530f3cc7caSMichael Tretter - const: core_clk 540f3cc7caSMichael Tretter - const: mcu_clk 550f3cc7caSMichael Tretter - const: m_axi_core_aclk 560f3cc7caSMichael Tretter - const: m_axi_mcu_aclk 570f3cc7caSMichael Tretter - const: s_axi_lite_aclk 580f3cc7caSMichael Tretter 590f3cc7caSMichael Tretterrequired: 600f3cc7caSMichael Tretter - compatible 610f3cc7caSMichael Tretter - reg 620f3cc7caSMichael Tretter - reg-names 630f3cc7caSMichael Tretter - interrupts 640f3cc7caSMichael Tretter - clocks 650f3cc7caSMichael Tretter - clock-names 660f3cc7caSMichael Tretter 670f3cc7caSMichael TretteradditionalProperties: False 680f3cc7caSMichael Tretter 690f3cc7caSMichael Tretterexamples: 700f3cc7caSMichael Tretter - | 710f3cc7caSMichael Tretter fpga { 720f3cc7caSMichael Tretter #address-cells = <2>; 730f3cc7caSMichael Tretter #size-cells = <2>; 740f3cc7caSMichael Tretter 750f3cc7caSMichael Tretter al5e: video-codec@a0009000 { 760f3cc7caSMichael Tretter compatible = "allegro,al5e-1.1", "allegro,al5e"; 770f3cc7caSMichael Tretter reg = <0 0xa0009000 0 0x1000>, 780f3cc7caSMichael Tretter <0 0xa0000000 0 0x8000>; 790f3cc7caSMichael Tretter reg-names = "regs", "sram"; 800f3cc7caSMichael Tretter interrupts = <0 96 4>; 810f3cc7caSMichael Tretter clocks = <&xlnx_vcu 0>, <&xlnx_vcu 1>, 820f3cc7caSMichael Tretter <&clkc 71>, <&clkc 71>, <&clkc 71>; 830f3cc7caSMichael Tretter clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk", 840f3cc7caSMichael Tretter "m_axi_mcu_aclk", "s_axi_lite_aclk"; 850f3cc7caSMichael Tretter }; 860f3cc7caSMichael Tretter }; 870f3cc7caSMichael Tretter - | 880f3cc7caSMichael Tretter fpga { 890f3cc7caSMichael Tretter #address-cells = <2>; 900f3cc7caSMichael Tretter #size-cells = <2>; 910f3cc7caSMichael Tretter 920f3cc7caSMichael Tretter al5d: video-codec@a0029000 { 930f3cc7caSMichael Tretter compatible = "allegro,al5d-1.1", "allegro,al5d"; 940f3cc7caSMichael Tretter reg = <0 0xa0029000 0 0x1000>, 950f3cc7caSMichael Tretter <0 0xa0020000 0 0x8000>; 960f3cc7caSMichael Tretter reg-names = "regs", "sram"; 970f3cc7caSMichael Tretter interrupts = <0 96 4>; 980f3cc7caSMichael Tretter clocks = <&xlnx_vcu 2>, <&xlnx_vcu 3>, 990f3cc7caSMichael Tretter <&clkc 71>, <&clkc 71>, <&clkc 71>; 1000f3cc7caSMichael Tretter clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk", 1010f3cc7caSMichael Tretter "m_axi_mcu_aclk", "s_axi_lite_aclk"; 1020f3cc7caSMichael Tretter }; 1030f3cc7caSMichael Tretter }; 1040f3cc7caSMichael Tretter 1050f3cc7caSMichael Tretter... 106