All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH 05/10] ARM: shmobile: lager-reference: Switch to multiplaform
Date: Wed, 06 Nov 2013 12:37:43 +0000	[thread overview]
Message-ID: <6071483.NMPt9QHeO4@avalon> (raw)
In-Reply-To: <1383059082-26315-6-git-send-email-laurent.pinchart+renesas@ideasonboard.com>

Hi Magnus,

On Wednesday 06 November 2013 18:15:33 Magnus Damm wrote:
> On Wed, Nov 6, 2013 at 5:23 PM, Simon Horman <horms@verge.net.au> wrote:
> > On Tue, Oct 29, 2013 at 04:04:37PM +0100, Laurent Pinchart wrote:
> >> Move the Lager reference board to multiplaform ARM architecture. As
> >> multiplatform requires usage of the common clock framework, switch from
> >> legacy clocks to CCF by replacing the legacy clock framework
> >> initialization code in the machine init handler with a common clock
> >> framework initialization call in the time init handler.
> >> 
> >> Signed-off-by: Laurent Pinchart
> >> <laurent.pinchart+renesas@ideasonboard.com>
> >> ---
> >> 
> >>  arch/arm/mach-shmobile/Kconfig                 |  7 +++++++
> >>  arch/arm/mach-shmobile/Makefile                |  1 +
> >>  arch/arm/mach-shmobile/board-lager-reference.c | 13 +++++++++----
> >>  3 files changed, 17 insertions(+), 4 deletions(-)
> >> 
> >> diff --git a/arch/arm/mach-shmobile/Kconfig
> >> b/arch/arm/mach-shmobile/Kconfig index 4bb548f..b39f6b6 100644
> >> --- a/arch/arm/mach-shmobile/Kconfig
> >> +++ b/arch/arm/mach-shmobile/Kconfig
> >> @@ -20,6 +20,9 @@ comment "SH-Mobile System Type"
> >>  config ARCH_EMEV2
> >>       bool "Emma Mobile EV2"
> >> 
> >> +config ARCH_R8A7790
> >> +     bool "R-Car H2 (R8A77900)"
> >> +
> > 
> > I realise that up until now there has only been one entry, but in keeping
> > with the non-SHMOBILE_MULTI entries I think it would be good to have the
> > SHMOBILE_MULTI entries sorted in alphabetical order. With this in mind
> > could you move ARCH_R8A7790 to above ARCH_EMEV2?
> 
> Actually, since we have multiple boards that all want to go into
> SHMOBILE_MULTI, I wonder if we can merge the initial code early somehow?
> 
> Ideally I'd like to keep the DT reference board build for both CCF and
> legacy clocks for a while. So we want the same code to be built with
> SHMOBILE and SHMOBILE_MULTI.
>
> When we have got the CCF DT bindings merged then we can get rid of the
> legacy DT reference build option.

How long is "a while" ? My patch set switches lager-reference to CCF only, as 
it uses the CCF DT bindings. Is that an issue ?

> See the following commit for an example:
> 
> cbc60e7c04f3c1390144d4a881f0a7b98b49da98
>
> >>  comment "SH-Mobile Board Type"
> >>  
> >>  config MACH_KZM9D
> >> 
> >> @@ -27,6 +30,10 @@ config MACH_KZM9D
> >> 
> >>       depends on ARCH_EMEV2
> >>       select REGULATOR_FIXED_VOLTAGE if REGULATOR
> >> 
> >> +config MACH_LAGER
> >> +     bool "Lager board"
> >> +     depends on ARCH_R8A7790
> >> +
> >> 
> >>  comment "SH-Mobile System Configuration"
> >>  endif
> >> 
> >> diff --git a/arch/arm/mach-shmobile/Makefile
> >> b/arch/arm/mach-shmobile/Makefile index cc48f14..32f3975 100644
> >> --- a/arch/arm/mach-shmobile/Makefile
> >> +++ b/arch/arm/mach-shmobile/Makefile
> >> @@ -57,6 +57,7 @@ obj-$(CONFIG_ARCH_R8A7779)  += pm-r8a7779.o
> >> 
> >>  # Board objects
> >>  ifdef CONFIG_ARCH_SHMOBILE_MULTI
> >>  obj-$(CONFIG_MACH_KZM9D)     += board-kzm9d-reference.o
> >> 
> >> +obj-$(CONFIG_MACH_LAGER)     += board-lager-reference.o
> >> 
> >>  else
> >>  obj-$(CONFIG_MACH_APE6EVM)   += board-ape6evm.o
> >>  obj-$(CONFIG_MACH_APE6EVM_REFERENCE) += board-ape6evm-reference.o
> >> 
> >> diff --git a/arch/arm/mach-shmobile/board-lager-reference.c
> >> b/arch/arm/mach-shmobile/board-lager-reference.c index 1a1a4a8..e436d06
> >> 100644
> >> --- a/arch/arm/mach-shmobile/board-lager-reference.c
> >> +++ b/arch/arm/mach-shmobile/board-lager-reference.c
> >> @@ -18,16 +18,21 @@
> >> 
> >>   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
> >>    USA */
> >> 
> >> +#include <linux/clk/shmobile.h>
> >> 
> >>  #include <linux/init.h>
> >>  #include <linux/of_platform.h>
> >>  #include <mach/r8a7790.h>
> >>  #include <asm/mach/arch.h>
> >> 
> >> -static void __init lager_add_standard_devices(void)
> >> +static void __init lager_init_time(void)
> >> 
> >>  {
> >> 
> >> -     /* clocks are setup late during boot in the case of DT */
> >> -     r8a7790_clock_init();
> >> +     r8a7790_clocks_init(rcar_gen2_read_mode_pins());
> >> +
> >> +     rcar_gen2_timer_init();
> >> +}
> >> 
> >> +static void __init lager_add_standard_devices(void)
> >> +{
> >> 
> >>       r8a7790_add_dt_devices();
> >>       
> >>          of_platform_populate(NULL, of_default_bus_match_table, NULL,
> >>          NULL);
> >>  
> >>  }
> >> 
> >> @@ -40,7 +45,7 @@ static const char *lager_boards_compat_dt[] __initdata
> >> = {>> 
> >>  DT_MACHINE_START(LAGER_DT, "lager")
> >>  
> >>       .smp            = smp_ops(r8a7790_smp_ops),
> >>       .init_early     = r8a7790_init_early,
> >> 
> >> -     .init_time      = rcar_gen2_timer_init,
> >> +     .init_time      = lager_init_time,
> 
> This looks like it needs some more work. Simon pointed out a typo related to
> the MSTP for CMT and that makes me think that this code wasn't tested with
> broadcast SMP. So please start by getting the code working with CMT timer
> and SMP=n, then gradually enable SMP and ARCH_TIMER.

The code was tested successfully with CMT, SMP and ARCH_TIMER before the typo 
got introduced. I'll retest it now.

-- 
Regards,

Laurent Pinchart


  parent reply	other threads:[~2013-11-06 12:37 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-29 15:04 [PATCH 05/10] ARM: shmobile: lager-reference: Switch to multiplaform Laurent Pinchart
2013-11-06  8:23 ` Simon Horman
2013-11-06  9:15 ` Magnus Damm
2013-11-06 11:59 ` Laurent Pinchart
2013-11-06 12:37 ` Laurent Pinchart [this message]
2013-11-08  6:24 ` Simon Horman
2013-11-08  6:25 ` Simon Horman
2013-11-08 13:50 ` Laurent Pinchart
2013-11-08 15:02 ` Magnus Damm
2013-11-08 15:25 ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6071483.NMPt9QHeO4@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=linux-sh@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.