Re: [PATCH] arm64: dts: r8a7795: enable DMA for I2C

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2016-05-17 10:52:08 +0200, Geert Uytterhoeven wrote:
> On Wed, May 4, 2016 at 2:35 PM, Niklas Söderlund
> <niklas.soderlund+renesas@xxxxxxxxxxxx> wrote:
> > Add DMA properties to the I2C nodes.
> >
> > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
> > ---
> >  arch/arm64/boot/dts/renesas/r8a7795.dtsi | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > index a7315eb..49896e4 100644
> > --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > @@ -693,6 +693,8 @@
> >                         interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
> >                         clocks = <&cpg CPG_MOD 931>;
> >                         power-domains = <&cpg>;
> > +                       dmas = <&dmac1 0x91>, <&dmac1 0x90>;
> > +                       dma-names = "tx", "rx";
> >                         i2c-scl-internal-delay-ns = <110>;
> >                         status = "disabled";
> >                 };
> > @@ -705,6 +707,8 @@
> >                         interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
> >                         clocks = <&cpg CPG_MOD 930>;
> >                         power-domains = <&cpg>;
> > +                       dmas = <&dmac1 0x93>, <&dmac1 0x92>;
> > +                       dma-names = "tx", "rx";
> >                         i2c-scl-internal-delay-ns = <6>;
> >                         status = "disabled";
> >                 };
> > @@ -717,6 +721,8 @@
> >                         interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
> >                         clocks = <&cpg CPG_MOD 929>;
> >                         power-domains = <&cpg>;
> > +                       dmas = <&dmac1 0x95>, <&dmac1 0x94>;
> > +                       dma-names = "tx", "rx";
> >                         i2c-scl-internal-delay-ns = <6>;
> >                         status = "disabled";
> >                 };
> 
> The three above can be used with SYS-DMAC1 (channels 16-31) or with SYS-DMAC2
> (channels 32-47).
> It should be tested with the latter before adding the corresponding dmas, as
> we had issue with SYS-DMAC2 before (they may have been fixed in firmware in the
> mean time).

I tested with firmware v270-4core and you are correct, looks like dmac2 
is not working for i2c.

> 
> > @@ -729,6 +735,8 @@
> >                         interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
> >                         clocks = <&cpg CPG_MOD 928>;
> >                         power-domains = <&cpg>;
> > +                       dmas = <&dmac1 0x97>, <&dmac1 0x96>;
> 
> The two phandles above should reference "dmac0", as this i2c module can only be
> used with SYS-DMAC0 (channels 0-15), according to the datasheet.

Thanks for pointing this out! I will fix it.

> 
> > +                       dma-names = "tx", "rx";
> >                         i2c-scl-internal-delay-ns = <110>;
> >                         status = "disabled";
> >                 };
> > @@ -741,6 +749,8 @@
> >                         interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
> >                         clocks = <&cpg CPG_MOD 927>;
> >                         power-domains = <&cpg>;
> > +                       dmas = <&dmac1 0x99>, <&dmac1 0x98>;
> 
> dmac0
> 
> > +                       dma-names = "tx", "rx";
> >                         i2c-scl-internal-delay-ns = <110>;
> >                         status = "disabled";
> >                 };
> > @@ -753,6 +763,8 @@
> >                         interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
> >                         clocks = <&cpg CPG_MOD 919>;
> >                         power-domains = <&cpg>;
> > +                       dmas = <&dmac1 0x9b>, <&dmac1 0x9a>;
> 
> dmac0
> 
> > +                       dma-names = "tx", "rx";
> >                         i2c-scl-internal-delay-ns = <110>;
> >                         status = "disabled";
> >                 };
> > @@ -765,6 +777,8 @@
> >                         interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
> >                         clocks = <&cpg CPG_MOD 918>;
> >                         power-domains = <&cpg>;
> > +                       dmas = <&dmac1 0x9d>, <&dmac1 0x9c>;
> 
> dmac0
> 
> > +                       dma-names = "tx", "rx";
> >                         i2c-scl-internal-delay-ns = <6>;
> >                         status = "disabled";
> >                 };
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

-- 
Regards,
Niklas Söderlund



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux