Patchwork [0/6,v3] ARM: mach-shmobile: kzm9g: Reference DT implementation

login
register
mail settings
Submitter Simon Horman
Date Dec. 11, 2012, 3:07 a.m.
Message ID <1355195254-4563-1-git-send-email-horms+renesas@verge.net.au>
Download mbox
Permalink /patch/205117/
State New
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git devel/of-kzm9g

Comments

Simon Horman - Dec. 11, 2012, 3:07 a.m.
this is a third pass at at providing a refernce DT implementation
for the kzm9g baord which is intended to act as a guide for mach-shmobile
developers.

It provides a minimal setup of the board using as little C code as
possible.

It may be used by selecting CONFIG_MACH_KZM9G_REFERENCE
and using sh73a0-kzm9g-reference.dtb

*** Please note that the clock initialisation shcheme used in
    this series does not currently work with SMP as there
    is a yet to be resolved lock-up in workqueue initialisation.

    Resolving this problem is currently regarded as future-work.

    CONFIG_SMP must be disabled when using this code. ***

Major difference between v2 and v3:
* Allow UP boot to complete by initialiing CMT earlier.
  This is achieved by changing the position of clocsources/
  in drivers/Makefile

Major difference between v1 and v2:
* Drop touchscreen initialisation, it requires INTC
* Drop SDHI initialisation, the driver seems to need some work
* Add extra entries to clock-sh73a0.c:lookups[] and
  remove auxdata. Ultimtely the clocks will be described
  in DT, but the code isn't there yet.
* Drop MMCIF patch, it is not needed if regulators are enabled
* Drop PCF hacks, instead, the series is based on Laruent Pinchart's *
* series: [PATCH v2 00/77] SH pin control and GPIO rework with OF support
* Use shmobile_setup_delay()

Git and diffstat information provided to aid review.

----------------------------------------------------------------
The following changes since commit 940956fe1d8de5cbcc963214fe592f76d8354bef:

  ARM: shmobile: kzm9g: Add LED1-LED4 to the device tree (2012-11-27 00:59:10 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git devel/of-kzm9g

for you to fetch changes up to e64ad872028f921a7a30be325fbdecc725958b40:

  ARM: mach-shmobile: kzm9g: Reference DT implementation (2012-12-11 11:51:56 +0900)

----------------------------------------------------------------
Simon Horman (6):
      ARM: clocksource: Initialise early
      ARM: mach-shmobile: sh73a0: Allow initialisation of GIC by DT
      ARM: mach-shmobile: sh73a0: Minimal setup using DT
      ARM: mach-shmobile: sh73a0: Initialise MMCIF using DT
      ARM: mach-shmobile: kzm9g: use voltage regulators by default
      ARM: mach-shmobile: kzm9g: Reference DT implementation

 arch/arm/boot/dts/Makefile                     |    3 +-
 arch/arm/boot/dts/sh73a0-kzm9g-reference.dts   |   37 +++++++++
 arch/arm/boot/dts/sh73a0-reference.dtsi        |   24 ++++++
 arch/arm/boot/dts/sh73a0.dtsi                  |   69 +++++++++++++++++
 arch/arm/configs/kzm9g_defconfig               |    2 +
 arch/arm/mach-shmobile/Kconfig                 |   10 +++
 arch/arm/mach-shmobile/Makefile                |    1 +
 arch/arm/mach-shmobile/board-kzm9g-reference.c |   99 ++++++++++++++++++++++++
 arch/arm/mach-shmobile/clock-sh73a0.c          |   13 ++++
 arch/arm/mach-shmobile/include/mach/common.h   |    3 +
 arch/arm/mach-shmobile/intc-sh73a0.c           |   14 ++++
 arch/arm/mach-shmobile/setup-sh73a0.c          |   68 +++++++++++++++-
 drivers/Makefile                               |    8 +-
 13 files changed, 346 insertions(+), 5 deletions(-)
 create mode 100644 arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
 create mode 100644 arch/arm/boot/dts/sh73a0-reference.dtsi
 create mode 100644 arch/arm/mach-shmobile/board-kzm9g-reference.c
Laurent Pinchart - Dec. 11, 2012, 12:51 p.m.
Hi Simon,

Thanks for the patch.

Could you please CC LKML on this one ? It targets a wider audience than the 
SH-specific patches.

On Tuesday 11 December 2012 12:07:29 Simon Horman wrote:
> Initialise clock sources early, since some subsystems rely on them to
> initialize
> 
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> 
> ---
> 
> v3
> * Initial post
> ---
>  drivers/Makefile |    8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/Makefile b/drivers/Makefile
> index a16a8d0..eba9b58 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -37,6 +37,11 @@ obj-$(CONFIG_XEN)		+= xen/
>  # regulators early, since some subsystems rely on them to initialize
>  obj-$(CONFIG_REGULATOR)		+= regulator/
> 
> +# clocksource early, since some subsystems rely on them to initialize
> +ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
> +obj-y				+= clocksource/
> +endif
> +
>  # tty/ comes before char/ so that the VT console is the boot-time
>  # default.
>  obj-y				+= tty/
> @@ -114,9 +119,6 @@ obj-y				+= firmware/
>  obj-$(CONFIG_CRYPTO)		+= crypto/
>  obj-$(CONFIG_SUPERH)		+= sh/
>  obj-$(CONFIG_ARCH_SHMOBILE)	+= sh/
> -ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
> -obj-y				+= clocksource/
> -endif
>  obj-$(CONFIG_DCA)		+= dca/
>  obj-$(CONFIG_HID)		+= hid/
>  obj-$(CONFIG_PPC_PS3)		+= ps3/
Simon Horman - Dec. 13, 2012, 12:41 a.m.
On Tue, Dec 11, 2012 at 01:51:27PM +0100, Laurent Pinchart wrote:
> Hi Simon,
> 
> Thanks for the patch.
> 
> Could you please CC LKML on this one ? It targets a wider audience than the 
> SH-specific patches.

Sure, good thinking.

> 
> On Tuesday 11 December 2012 12:07:29 Simon Horman wrote:
> > Initialise clock sources early, since some subsystems rely on them to
> > initialize
> > 
> > Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> > 
> > ---
> > 
> > v3
> > * Initial post
> > ---
> >  drivers/Makefile |    8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/Makefile b/drivers/Makefile
> > index a16a8d0..eba9b58 100644
> > --- a/drivers/Makefile
> > +++ b/drivers/Makefile
> > @@ -37,6 +37,11 @@ obj-$(CONFIG_XEN)		+= xen/
> >  # regulators early, since some subsystems rely on them to initialize
> >  obj-$(CONFIG_REGULATOR)		+= regulator/
> > 
> > +# clocksource early, since some subsystems rely on them to initialize
> > +ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
> > +obj-y				+= clocksource/
> > +endif
> > +
> >  # tty/ comes before char/ so that the VT console is the boot-time
> >  # default.
> >  obj-y				+= tty/
> > @@ -114,9 +119,6 @@ obj-y				+= firmware/
> >  obj-$(CONFIG_CRYPTO)		+= crypto/
> >  obj-$(CONFIG_SUPERH)		+= sh/
> >  obj-$(CONFIG_ARCH_SHMOBILE)	+= sh/
> > -ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
> > -obj-y				+= clocksource/
> > -endif
> >  obj-$(CONFIG_DCA)		+= dca/
> >  obj-$(CONFIG_HID)		+= hid/
> >  obj-$(CONFIG_PPC_PS3)		+= ps3/
> -- 
> Regards,
> 
> Laurent Pinchart
>