On Tue, Jul 9, 2019 at 9:26 AM Rob Herring <robh@xxxxxxxxxx> wrote: > > On Wed, Jun 12, 2019 at 11:39:13AM +0200, Philipp Zabel wrote: > > Add devicetree binding documentation for the Hantro G1/G2 VPU on i.MX8MQ > > and for the Hantro G1/G2/H1 VPU on i.MX8MM. > > > > Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Are there any updates to this? It would be nice to have the VPU working in the mainline, but it seems to have stalled. adam > > --- > > .../devicetree/bindings/media/imx8m-vpu.txt | 56 +++++++++++++++++++ > > 1 file changed, 56 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/media/imx8m-vpu.txt > > > > diff --git a/Documentation/devicetree/bindings/media/imx8m-vpu.txt b/Documentation/devicetree/bindings/media/imx8m-vpu.txt > > new file mode 100644 > > index 000000000000..659bd28dd002 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/media/imx8m-vpu.txt > > @@ -0,0 +1,56 @@ > > +device-tree bindings for Hantro G1/G2/H1 VPU codecs implemented on i.MX8M SoCs > > + > > +Required properties: > > +- compatible: value should be one of the following > > + "nxp,imx8mq-vpu", > > + "nxp,imx8mm-vpu"; > > +- regs: VPU core and control block register ranges > > +- reg-names: should be > > + "g1", "g2", "ctrl" on i.MX8MQ, > > + "g1", "g2", "h1", "ctrl" on i.MX8MM. > > Would be nicer to put h1 at the end, so the indexes don't change. > > > +- interrupts: encoding and decoding interrupt specifiers > > +- interrupt-names: should be > > + "g1", "g2" on i.MX8MQ, > > + "g1", "g2", "h1" on i.MX8MM. > > +- clocks: phandle to VPU core clocks and bus clock > > +- clock-names: should be > > + "g1", "g2", "bus" on i.MX8MQ, > > + "g1", "g2", "h1", "bus" on i.MX8MM. > > Here too. > > > +- power-domains: phandle to power domain node > > + > > +Examples: > > + > > + vpu: vpu@38300000 { > > video-codec@... > > > + compatible = "nxp,imx8mq-vpu"; > > + reg = <0x38300000 0x10000>, > > + <0x38310000 0x10000>, > > + <0x38320000 0x10000>; > > + reg-names = "g1", "g2", "ctrl"; > > + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; > > + interrupt-names = "g1", "g2"; > > + clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, > > + <&clk IMX8MQ_CLK_VPU_G2_ROOT>, > > + <&clk IMX8MQ_CLK_VPU_DEC_ROOT>; > > + clock-names = "g1", "g2", "bus"; > > + power-domains = <&pgc_vpu>; > > + }; > > + > > + vpu: vpu@38300000 { > > Are 2 examples really necessary? > > > + compatible = "nxp,imx8mm-vpu"; > > + reg = <0x38300000 0x10000>, > > + <0x38310000 0x10000>, > > + <0x38320000 0x10000>; > > + <0x38330000 0x10000>; > > + reg-names = "g1", "g2", "h1", "ctrl"; > > + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; > > + <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; > > + interrupt-names = "g1", "g2", "h1"; > > + clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, > > + <&clk IMX8MQ_CLK_VPU_G2_ROOT>, > > + <&clk IMX8MQ_CLK_VPU_H1_ROOT>, > > + <&clk IMX8MQ_CLK_VPU_DEC_ROOT>; > > + clock-names = "g1", "g2", "h1", "bus"; > > + power-domains = <&pgc_vpu>; > > + }; > > -- > > 2.20.1 > >