[PATCH 3/4] ARM: mach-shmobile: r8a7779: Minimal setup using DT

Simon Horman horms at verge.net.au
Mon Feb 18 07:37:08 EST 2013


On Mon, Feb 18, 2013 at 09:22:24PM +0900, Magnus Damm wrote:
> Hi Simon,
> 
> On Thu, Jan 31, 2013 at 10:50 AM, Simon Horman
> <horms+renesas at verge.net.au> wrote:
> > Allow a minimal setup of the r8a7779 SoC using a flattened device tree.
> > In particular, configure the i2c and ethernet controllers using a
> > flattened device tree.
> >
> > SCI serial controller and TMU clock source, whose drivers do not yet
> > support configuration using a flattened device tree, are still configured
> > using C code in order to allow booting of a board with this SoC.
> >
> > The ethernet controller also requires a regulator which is a board property.
> > A sample snippet DT for the marzen board is as follows:
> >
> > /dts-v1/;
> > /include/ "r8a7779.dtsi"
> >
> > / {
> >         fixedregulator3v3: fixedregulator at 0 {
> >                 compatible = "regulator-fixed";
> >                 regulator-name = "fixed-3.3V";
> >                 regulator-min-microvolt = <3300000>;
> >                 regulator-max-microvolt = <3300000>;
> >                 regulator-boot-on;
> >                 regulator-always-on;
> >         };
> > };
> >
> > &lan0 {
> >         vddvario-supply = <&fixedregulator3v3>;
> >         vdd33a-supply = <&fixedregulator3v3>;
> > };
> >
> > Signed-off-by: Simon Horman <horms+renesas at verge.net.au>
> > ---
> >  arch/arm/boot/dts/r8a7779.dtsi               |   45 ++++++++++++++++++++
> >  arch/arm/mach-shmobile/include/mach/common.h |    2 +
> >  arch/arm/mach-shmobile/setup-r8a7779.c       |   58 +++++++++++++++++++++++---
> >  3 files changed, 99 insertions(+), 6 deletions(-)
> >
> > diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
> > index eadc12e..9564040 100644
> > --- a/arch/arm/boot/dts/r8a7779.dtsi
> > +++ b/arch/arm/boot/dts/r8a7779.dtsi
> > @@ -37,4 +37,49 @@
> >                  reg = <0xf0001000 0x1000>,
> >                        <0xf0000100 0x100>;
> >          };
> > +
> > +       i2c0: i2c at 0xffc70000 {
> > +               #address-cells = <1>;
> > +               #size-cells = <0>;
> > +               compatible = "renesas,rmobile-iic";
> > +               reg = <0xffc70000 0x1000>;
> > +               interrupt-parent = <&gic>;
> > +               interrupts = <0 79 0x4>;
> > +       };
> > +
> > +       i2c1: i2c at 0xffc71000 {
> > +               #address-cells = <1>;
> > +               #size-cells = <0>;
> > +               compatible = "renesas,rmobile-iic";
> > +               reg = <0xffc71000 0x1000>;
> > +               interrupt-parent = <&gic>;
> > +               interrupts = <0 82 0x4>;
> > +       };
> > +
> > +       i2c2: i2c at 0xffc72000 {
> > +               #address-cells = <1>;
> > +               #size-cells = <0>;
> > +               compatible = "renesas,rmobile-iic";
> > +               reg = <0xffc72000 0x1000>;
> > +               interrupt-parent = <&gic>;
> > +               interrupts = <0 80 0x4>;
> > +       };
> > +
> > +       i2c3: i2c at 0xffc73000 {
> > +               #address-cells = <1>;
> > +               #size-cells = <0>;
> > +               compatible = "renesas,rmobile-iic";
> > +               reg = <0xffc73000 0x1000>;
> > +               interrupt-parent = <&gic>;
> > +               interrupts = <0 81 0x4>;
> > +       };
> > +
> > +       lan0: lan0 at 18000000 {
> > +               compatible = "smsc,lan9220", "smsc,lan9115";
> > +               reg = <0x18000000 0x100>;
> > +               phy-mode = "mii";
> > +               interrupt-parent = <&gic>;
> > +               interrupts = <0 28 0x4>;
> > +               reg-io-width = <4>;
> > +       };
> >  };
> 
> Simon, thanks for your efforts on this DT reference implementation.
> 
> The lan0 snippet above seems incorrect. If I understand the code above
> correctly then it is written to be specific to the r8a7779 SoC. I
> suspect so because it is located in the SoC-specific dtsi file. The
> smsc ethernet controller is a board specific property - so it should
> instead be located in r8a7779-marzen-reference.dts.
> 
> In the future, feel free to ask if you are unsure which bits that are
> SoC specific properties and which that belong to the board.

Thanks, I will move it.



More information about the linux-arm-kernel mailing list