Re: [PATCH v6 13/13] arm64: dts: imx8mq: Add node to G2 hardware
From: Ezequiel Garcia
Date: Fri Mar 26 2021 - 11:29:23 EST
On Fri, 2021-03-26 at 15:33 +0100, Benjamin Gaignard wrote:
>
> Le 26/03/2021 à 15:24, Philipp Zabel a écrit :
> > On Thu, Mar 18, 2021 at 09:20:46AM +0100, Benjamin Gaignard wrote:
> > > Split VPU node in two: one for G1 and one for G2 since they are
> > > different hardware blocks.
> > > Add syscon for hardware control block.
> > > Remove reg-names property that is useless.
> > > Each VPU node only need one interrupt.
> > >
> > > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx>
> > > ---
> > > version 5:
> > > - use syscon instead of VPU reset
> > >
> > > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 43 ++++++++++++++++++-----
> > > 1 file changed, 34 insertions(+), 9 deletions(-)
> > >
> > > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > index 17c449e12c2e..b537d153ebbd 100644
> > > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > @@ -1329,15 +1329,16 @@ usb3_phy1: usb-phy@382f0040 {
> > > status = "disabled";
> > > };
> > >
> > > - vpu: video-codec@38300000 {
> > > + vpu_ctrl: syscon@38320000 {
> > > + compatible = "nxp,imx8mq-vpu-ctrl", "syscon";
> > > + reg = <0x38320000 0x10000>;
> > > + };
> > > +
> > > + vpu_g1: video-codec@38300000 {
> > > 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";
> > > + reg = <0x38300000 0x10000>;
> > > + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> > > + interrupt-names = "g1";
> > > clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>,
> > > <&clk IMX8MQ_CLK_VPU_G2_ROOT>,
> > > <&clk IMX8MQ_CLK_VPU_DEC_ROOT>;
> > > @@ -1350,9 +1351,33 @@ vpu: video-codec@38300000 {
> > > <&clk IMX8MQ_VPU_PLL_OUT>,
> > > <&clk IMX8MQ_SYS1_PLL_800M>,
> > > <&clk IMX8MQ_VPU_PLL>;
> > > - assigned-clock-rates = <600000000>, <600000000>,
> > > + assigned-clock-rates = <600000000>, <300000000>,
> > I'd like to see this mentioned in the commit message.
>
> Yes I would do that.
> The value comes from the datasheet.
>
> >
> > > + <800000000>, <0>;
> > > + power-domains = <&pgc_vpu>;
> > > + nxp,imx8mq-vpu-ctrl = <&vpu_ctrl>;
> > > + };
> > > +
> > > + vpu_g2: video-codec@38310000 {
> > > + compatible = "nxp,imx8mq-vpu-g2";
> > > + reg = <0x38310000 0x10000>;
> > > + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
> > > + interrupt-names = "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";
> > > + assigned-clocks = <&clk IMX8MQ_CLK_VPU_G1>,
> > Can the G1 clock configuration be dropped from the G2 device node and
> > the G2 clock configuration from the G1 device node? It looks weird that
> > these devices configure each other's clocks.
>
> No because if only one device node is enabled we need to configure the both
> clocks anyway.
>
Since this is akward, how about adding a comment here in the dtsi to clarify it?
Thanks,
Ezequiel