Re: [PATCH 02/17] arm64: dts: renesas: r8a774c0: Add I2C and IIC-DVFS support

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

 



On Mon, Dec 17, 2018 at 11:24:39AM +0000, Fabrizio Castro wrote:
> Hello Simon,
> 
> > From: Simon Horman <horms@xxxxxxxxxxxx>
> > Sent: 16 December 2018 20:18
> > Subject: Re: [PATCH 02/17] arm64: dts: renesas: r8a774c0: Add I2C and IIC-DVFS support
> >
> > On Fri, Dec 14, 2018 at 09:37:25AM +0000, Fabrizio Castro wrote:
> > > Add the I2C[0-7] and IIC Bus Interface for DVFS (IIC for DVFS)
> > > devices nodes to the r8a774c0 device tree.
> > >
> > > Signed-off-by: Fabrizio Castro <fabrizio.castro@xxxxxxxxxxxxxx>
> >
> > Thanks Fabrizo for this patch, it looks good to me with the exception of
> > one minor question I have below.
> >
> > > ---
> > >  arch/arm64/boot/dts/renesas/r8a774c0.dtsi | 143 ++++++++++++++++++++++++++++++
> > >  1 file changed, 143 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/renesas/r8a774c0.dtsi b/arch/arm64/boot/dts/renesas/r8a774c0.dtsi
> > > index 96a71e3..bf08aba 100644
> > > --- a/arch/arm64/boot/dts/renesas/r8a774c0.dtsi
> > > +++ b/arch/arm64/boot/dts/renesas/r8a774c0.dtsi
> > > @@ -271,6 +271,149 @@
> > >  resets = <&cpg 407>;
> > >  };
> > >
> > > +i2c0: i2c@e6500000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe6500000 0 0x40>;
> > > +interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 931>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 931>;
> > > +dmas = <&dmac1 0x91>, <&dmac1 0x90>,
> > > +       <&dmac2 0x91>, <&dmac2 0x90>;
> > > +dma-names = "tx", "rx", "tx", "rx";
> > > +i2c-scl-internal-delay-ns = <110>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c1: i2c@e6508000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe6508000 0 0x40>;
> > > +interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 930>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 930>;
> > > +dmas = <&dmac1 0x93>, <&dmac1 0x92>,
> > > +       <&dmac2 0x93>, <&dmac2 0x92>;
> > > +dma-names = "tx", "rx", "tx", "rx";
> > > +i2c-scl-internal-delay-ns = <6>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c2: i2c@e6510000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe6510000 0 0x40>;
> > > +interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 929>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 929>;
> > > +dmas = <&dmac1 0x95>, <&dmac1 0x94>,
> > > +       <&dmac2 0x95>, <&dmac2 0x94>;
> > > +dma-names = "tx", "rx", "tx", "rx";
> > > +i2c-scl-internal-delay-ns = <6>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c3: i2c@e66d0000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe66d0000 0 0x40>;
> > > +interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 928>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 928>;
> > > +dmas = <&dmac0 0x97>, <&dmac0 0x96>;
> > > +dma-names = "tx", "rx";
> > > +i2c-scl-internal-delay-ns = <110>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c4: i2c@e66d8000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe66d8000 0 0x40>;
> > > +interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 927>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 927>;
> > > +dmas = <&dmac0 0x99>, <&dmac0 0x98>;
> > > +dma-names = "tx", "rx";
> > > +i2c-scl-internal-delay-ns = <6>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c5: i2c@e66e0000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe66e0000 0 0x40>;
> > > +interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 919>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 919>;
> > > +dmas = <&dmac0 0x9b>, <&dmac0 0x9a>;
> > > +dma-names = "tx", "rx";
> > > +i2c-scl-internal-delay-ns = <6>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c6: i2c@e66e8000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe66e8000 0 0x40>;
> > > +interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 918>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 918>;
> > > +dmas = <&dmac0 0x9d>, <&dmac0 0x9c>;
> > > +dma-names = "tx", "rx";
> > > +i2c-scl-internal-delay-ns = <6>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c7: i2c@e6690000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,i2c-r8a774c0",
> > > +     "renesas,rcar-gen3-i2c";
> > > +reg = <0 0xe6690000 0 0x40>;
> > > +interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 1003>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 1003>;
> > > +i2c-scl-internal-delay-ns = <6>;
> > > +status = "disabled";
> > > +};
> > > +
> > > +i2c_dvfs: i2c@e60b0000 {
> > > +#address-cells = <1>;
> > > +#size-cells = <0>;
> > > +compatible = "renesas,iic-r8a774c0";
> > > +reg = <0 0xe60b0000 0 0x15>;
> >
> > My reading of the documentation is that 0x31 would be a more appropriate
> > size for the register window.
> 
> Thank you for looking into this. RZ/G2 documentation about this seems a bit incomplete
> at the moment, and we weren't too sure about what to do here. Our expectation is
> that the IP should be the same as the one found in R-Car E3, and we thought they
> finally wanted to document some previously undocumented registers with the RZ/G2
> User's manual. We are waiting for some answers from Japan, and since the driver
> doesn't support the "new" registers we thought there was no harm in using the same
> memory region used for R-Car E3. I can see the following options:
> * use 0x31 as you recommended
> * keep 0x15 and change it later on to the right figure once the driver actually supports all
> of the documented registers (and maybe updated r8a77990.dtsi as well in case the IP is the
> same?)
> * drop i2c_dvfs from this patch, and send it with a new patch once we get some answers
> from Japan
> 
> What's best option?

If you think 0x15 is correct then lets just use that and follow-up
with a fix if necessary.

I'm now happy with this patch but would like to give others a chance to
review it.

Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>

> Thanks,
> Fab
> 
> >
> > > +interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
> > > +clocks = <&cpg CPG_MOD 926>;
> > > +power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
> > > +resets = <&cpg 926>;
> > > +dmas = <&dmac0 0x11>, <&dmac0 0x10>;
> > > +dma-names = "tx", "rx";
> > > +status = "disabled";
> > > +};
> > > +
> > >  hscif0: serial@e6540000 {
> > >  compatible = "renesas,hscif-r8a774c0",
> > >       "renesas,rcar-gen3-hscif",
> > > --
> > > 2.7.4
> > >
> 
> 
> [https://www2.renesas.eu/media/email/unicef.jpg]
> 
> This Christmas, instead of sending out cards, Renesas Electronics Europe have decided to support Unicef with a donation. For further details click here<https://www.unicef.org/> to find out about the valuable work they do, helping children all over the world.
> We would like to take this opportunity to wish you a Merry Christmas and a prosperous New Year.
> 
> 
> 
> Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux