[PATCH] ARM: shmobile: Initial r8a7791 and Koelsch multiplatform support

Simon Horman horms at verge.net.au
Fri Nov 8 02:53:13 EST 2013


On Fri, Nov 08, 2013 at 03:28:35PM +0900, Simon Horman wrote:
> On Wed, Nov 06, 2013 at 10:34:53PM +0900, Magnus Damm wrote:
> > On Wed, Nov 6, 2013 at 10:01 PM, Laurent Pinchart
> > <laurent.pinchart at ideasonboard.com> wrote:
> > > Hi Magnus,
> > >
> > > Thank you for the patch.
> > >
> > > On Wednesday 06 November 2013 19:40:01 Magnus Damm wrote:
> > >> From: Magnus Damm <damm at opensource.se>
> > >>
> > >> Add Koelsch and r8a7791 to CONFIG_SHMOBILE_MULTI. At this
> > >> point CCF is not yet supported so you cannot run this code
> > >> yet. For CCF support to happen several different components
> > >> are needed, and this is one simple portion that moves us
> > >> forward. Other patches need to build on top of this one.
> > >>
> > >> Koelsch board support exists in 3 flavors:
> > >> 1) SHMOBILE_MULTI, MACH_KOELSCH - board-koelsch-reference.c (CCF + DT)
> > >> 2) SHMOBILE, MACH_KOELSCH_REFERENCE - board-koelsch-reference.c (DT)
> > >> 3) SHMOBILE, MACH_KOELSCH - board-koelsch.c (legacy C code)
> > >>
> > >> When CCF is done then 2) will be removed. When 1) includes same features
> > >> as 3) then 3) will be removed.
> > >>
> > >> Signed-off-by: Magnus Damm <damm at opensource.se>
> > >> ---
> > >>
> > >>  Built against "renesas-devel-v3.12-rc7-20131101"
> > >>
> > >>  arch/arm/boot/dts/Makefile                       |    3 ++-
> > >>  arch/arm/mach-shmobile/Kconfig                   |    8 ++++++++
> > >>  arch/arm/mach-shmobile/Makefile                  |    1 +
> > >>  arch/arm/mach-shmobile/board-koelsch-reference.c |    5 +++++
> > >>  4 files changed, 16 insertions(+), 1 deletion(-)
> > >>
> > >> --- 0001/arch/arm/boot/dts/Makefile
> > >> +++ work/arch/arm/boot/dts/Makefile   2013-11-06 19:06:45.000000000 +0900
> > >> @@ -214,7 +214,8 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm
> > >>       r8a73a4-ape6evm.dtb \
> > >>       r8a73a4-ape6evm-reference.dtb \
> > >>       sh7372-mackerel.dtb
> > >> -dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb
> > >> +dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb \
> > >> +     r8a7791-koelsch-reference.dtb
> > >>  dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \
> > >>       socfpga_vt.dtb
> > >>  dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
> > >> --- 0008/arch/arm/mach-shmobile/Kconfig
> > >> +++ work/arch/arm/mach-shmobile/Kconfig       2013-11-06 19:07:10.000000000 +0900
> > >> @@ -20,8 +20,16 @@ comment "SH-Mobile System Type"
> > >>  config ARCH_EMEV2
> > >>       bool "Emma Mobile EV2"
> > >>
> > >> +config ARCH_R8A7791
> > >> +     bool "R-Car M2 (R8A77910)"
> > >> +     select RENESAS_IRQC
> > >> +
> > >>  comment "SH-Mobile Board Type"
> > >>
> > >> +config MACH_KOELSCH
> > >> +     bool "Koelsch board"
> > >> +     depends on ARCH_R8A7791
> > >> +
> > >>  config MACH_KZM9D
> > >>       bool "KZM9D board"
> > >>       depends on ARCH_EMEV2
> > >> --- 0004/arch/arm/mach-shmobile/Makefile
> > >> +++ work/arch/arm/mach-shmobile/Makefile      2013-11-06 19:07:22.000000000
> > > +0900
> > >> @@ -56,6 +56,7 @@ obj-$(CONFIG_ARCH_R8A7779)  += pm-r8a7779
> > >>
> > >>  # Board objects
> > >>  ifdef CONFIG_ARCH_SHMOBILE_MULTI
> > >> +obj-$(CONFIG_MACH_KOELSCH)   += board-koelsch-reference.o
> > >>  obj-$(CONFIG_MACH_KZM9D)     += board-kzm9d-reference.o
> > >>  else
> > >>  obj-$(CONFIG_MACH_APE6EVM)   += board-ape6evm.o
> > >> --- 0001/arch/arm/mach-shmobile/board-koelsch-reference.c
> > >> +++ work/arch/arm/mach-shmobile/board-koelsch-reference.c     2013-11-06
> > >> 19:09:52.000000000 +0900 @@ -19,6 +19,7 @@
> > >>   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
> > >> USA */
> > >>
> > >> +#include <linux/clk-provider.h>
> > >>  #include <linux/kernel.h>
> > >>  #include <linux/of_platform.h>
> > >>  #include <mach/rcar-gen2.h>
> > >> @@ -27,7 +28,11 @@
> > >>
> > >>  static void __init koelsch_add_standard_devices(void)
> > >>  {
> > >> +#ifdef CONFIG_COMMON_CLK
> > >> +     of_clk_init(NULL);
> > >> +#else
> > >>       r8a7791_clock_init();
> > >> +#endif
> > >>       r8a7791_add_dt_devices();
> > >>       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> > >>  }
> > >
> > > As this part of the patch can't be used without CCF, I'd rather bundle it with
> > > the CCF patches. I don't like pushing code known to be broken to mainline :-)
> > 
> > Well, this part of the patch can be used while developing CCF. Without
> > this part you will have to build higher stacks of patches that
> > includes this feature. And since this portion will contain quite a few
> > conflicts related to the various boards that will get multiplatform
> > and CCF in the future I'd like to see just this bit merged ahead of
> > time. Just to make merge easier. If something is OK to merge without
> > dependencies then lets merge it. This is how we did it with EMEV2 and
> > KZM9D.
> > 
> > In the end I guess it's up to Simon since he will do the merge of all
> > different boards.
> > 
> > If we end up doing it the way I prefer, would it be OK if I submitted
> > a similar patch for Lager that you can base your next version of
> > CCF/Multiplatform patches on? =)
> 
> I think that I would like to try the approach taken by this patch
> in order to try to eliminate some dependencies. I think that should
> make it easier to parallelise efforts on the various components need
> to use CCF.

I have queued up this patch accordingly.



More information about the linux-arm-kernel mailing list