1*5def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*5def4c47SEmmanuel Vadot%YAML 1.2 3*5def4c47SEmmanuel Vadot--- 4*5def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/media/allegro,al5e.yaml# 5*5def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5def4c47SEmmanuel Vadot 7*5def4c47SEmmanuel Vadottitle: Allegro DVT Video IP Codecs Device Tree Bindings 8*5def4c47SEmmanuel Vadot 9*5def4c47SEmmanuel Vadotmaintainers: 10*5def4c47SEmmanuel Vadot - Michael Tretter <m.tretter@pengutronix.de> 11*5def4c47SEmmanuel Vadot 12*5def4c47SEmmanuel Vadotdescription: |- 13*5def4c47SEmmanuel Vadot Allegro DVT video IP codecs present in the Xilinx ZynqMP SoC. The IP core may 14*5def4c47SEmmanuel Vadot either be a H.264/H.265 encoder or H.264/H.265 decoder ip core. 15*5def4c47SEmmanuel Vadot 16*5def4c47SEmmanuel Vadot Each actual codec engine is controlled by a microcontroller (MCU). Host 17*5def4c47SEmmanuel Vadot software uses a provided mailbox interface to communicate with the MCU. The 18*5def4c47SEmmanuel Vadot MCUs share an interrupt. 19*5def4c47SEmmanuel Vadot 20*5def4c47SEmmanuel Vadotproperties: 21*5def4c47SEmmanuel Vadot compatible: 22*5def4c47SEmmanuel Vadot oneOf: 23*5def4c47SEmmanuel Vadot - items: 24*5def4c47SEmmanuel Vadot - const: allegro,al5e-1.1 25*5def4c47SEmmanuel Vadot - const: allegro,al5e 26*5def4c47SEmmanuel Vadot - items: 27*5def4c47SEmmanuel Vadot - const: allegro,al5d-1.1 28*5def4c47SEmmanuel Vadot - const: allegro,al5d 29*5def4c47SEmmanuel Vadot 30*5def4c47SEmmanuel Vadot reg: 31*5def4c47SEmmanuel Vadot items: 32*5def4c47SEmmanuel Vadot - description: The registers 33*5def4c47SEmmanuel Vadot - description: The SRAM 34*5def4c47SEmmanuel Vadot 35*5def4c47SEmmanuel Vadot reg-names: 36*5def4c47SEmmanuel Vadot items: 37*5def4c47SEmmanuel Vadot - const: regs 38*5def4c47SEmmanuel Vadot - const: sram 39*5def4c47SEmmanuel Vadot 40*5def4c47SEmmanuel Vadot interrupts: 41*5def4c47SEmmanuel Vadot maxItems: 1 42*5def4c47SEmmanuel Vadot 43*5def4c47SEmmanuel Vadot clocks: 44*5def4c47SEmmanuel Vadot items: 45*5def4c47SEmmanuel Vadot - description: Core clock 46*5def4c47SEmmanuel Vadot - description: MCU clock 47*5def4c47SEmmanuel Vadot - description: Core AXI master port clock 48*5def4c47SEmmanuel Vadot - description: MCU AXI master port clock 49*5def4c47SEmmanuel Vadot - description: AXI4-Lite slave port clock 50*5def4c47SEmmanuel Vadot 51*5def4c47SEmmanuel Vadot clock-names: 52*5def4c47SEmmanuel Vadot items: 53*5def4c47SEmmanuel Vadot - const: core_clk 54*5def4c47SEmmanuel Vadot - const: mcu_clk 55*5def4c47SEmmanuel Vadot - const: m_axi_core_aclk 56*5def4c47SEmmanuel Vadot - const: m_axi_mcu_aclk 57*5def4c47SEmmanuel Vadot - const: s_axi_lite_aclk 58*5def4c47SEmmanuel Vadot 59*5def4c47SEmmanuel Vadotrequired: 60*5def4c47SEmmanuel Vadot - compatible 61*5def4c47SEmmanuel Vadot - reg 62*5def4c47SEmmanuel Vadot - reg-names 63*5def4c47SEmmanuel Vadot - interrupts 64*5def4c47SEmmanuel Vadot - clocks 65*5def4c47SEmmanuel Vadot - clock-names 66*5def4c47SEmmanuel Vadot 67*5def4c47SEmmanuel VadotadditionalProperties: False 68*5def4c47SEmmanuel Vadot 69*5def4c47SEmmanuel Vadotexamples: 70*5def4c47SEmmanuel Vadot - | 71*5def4c47SEmmanuel Vadot fpga { 72*5def4c47SEmmanuel Vadot #address-cells = <2>; 73*5def4c47SEmmanuel Vadot #size-cells = <2>; 74*5def4c47SEmmanuel Vadot 75*5def4c47SEmmanuel Vadot al5e: video-codec@a0009000 { 76*5def4c47SEmmanuel Vadot compatible = "allegro,al5e-1.1", "allegro,al5e"; 77*5def4c47SEmmanuel Vadot reg = <0 0xa0009000 0 0x1000>, 78*5def4c47SEmmanuel Vadot <0 0xa0000000 0 0x8000>; 79*5def4c47SEmmanuel Vadot reg-names = "regs", "sram"; 80*5def4c47SEmmanuel Vadot interrupts = <0 96 4>; 81*5def4c47SEmmanuel Vadot clocks = <&xlnx_vcu 0>, <&xlnx_vcu 1>, 82*5def4c47SEmmanuel Vadot <&clkc 71>, <&clkc 71>, <&clkc 71>; 83*5def4c47SEmmanuel Vadot clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk", 84*5def4c47SEmmanuel Vadot "m_axi_mcu_aclk", "s_axi_lite_aclk"; 85*5def4c47SEmmanuel Vadot }; 86*5def4c47SEmmanuel Vadot }; 87*5def4c47SEmmanuel Vadot - | 88*5def4c47SEmmanuel Vadot fpga { 89*5def4c47SEmmanuel Vadot #address-cells = <2>; 90*5def4c47SEmmanuel Vadot #size-cells = <2>; 91*5def4c47SEmmanuel Vadot 92*5def4c47SEmmanuel Vadot al5d: video-codec@a0029000 { 93*5def4c47SEmmanuel Vadot compatible = "allegro,al5d-1.1", "allegro,al5d"; 94*5def4c47SEmmanuel Vadot reg = <0 0xa0029000 0 0x1000>, 95*5def4c47SEmmanuel Vadot <0 0xa0020000 0 0x8000>; 96*5def4c47SEmmanuel Vadot reg-names = "regs", "sram"; 97*5def4c47SEmmanuel Vadot interrupts = <0 96 4>; 98*5def4c47SEmmanuel Vadot clocks = <&xlnx_vcu 2>, <&xlnx_vcu 3>, 99*5def4c47SEmmanuel Vadot <&clkc 71>, <&clkc 71>, <&clkc 71>; 100*5def4c47SEmmanuel Vadot clock-names = "core_clk", "mcu_clk", "m_axi_core_aclk", 101*5def4c47SEmmanuel Vadot "m_axi_mcu_aclk", "s_axi_lite_aclk"; 102*5def4c47SEmmanuel Vadot }; 103*5def4c47SEmmanuel Vadot }; 104*5def4c47SEmmanuel Vadot 105*5def4c47SEmmanuel Vadot... 106