Renesas ARM Based SoC Updates for v4.10

Enhancements:
 * Basic support for r8a7743 SoC; only SoC code so far
 * Select errata 798181 for SoCs with CA15 cores
 
 Clean-up:
 * Consolidate R8A7743 and R8A779[234] machine definitions
 
 Documentation:
 * Add Marzen, Gose and Alt board part numbers to DT bindings
 * Document SK-RZG1M board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYHFSAAAoJENfPZGlqN0++i1gQAJvDzERhzjIl8ukWmnnVflIk
 EtlT3PaoFtmstecrvMY5W8Hm7ViRUlBGbBDrE+c7WH4IHkEVbFTUef6nzAhXmSp6
 ZgIOx3J1dYz1uWMCi5lBU6vZirut7VvyqWfIlMceSsq2WMS5TobM/rORvh4N0yQ1
 MuhsxIuuuwJe0neMAs0lFeKFUoWm7RxFen6G6vXZWVg9INxKSKGKvh8+8IbhWP2H
 WjMTUYASneLmZ5nIlyL8LTauOczsJitgHgYtoCCUMDFCcDKMth6HiMvZztny5sTs
 Sk+SH/MKDo9fZWXWxHh0mS/bFIbdiY4/BfK0S2LlRo8MQMS0d3pKPIvD4gRT7Wyq
 2JTuf4kuehI9+VEY0NNZH1HJnsFGN7ZB2C99eOkcvVsm324yhxy9MgxioyBYEgsY
 ckr9/nbxvkYGI326AN4pvE6JF9oqnRdQiHQrRHg5sIuL2hpusALWlOeQnnnrKGQE
 Xo+F9+DfhFTLosxqjq6abCwJ8t97uake0+ZRFUiJpjAHjc5se9qIN9njmanTCUhd
 UwMHVgTs5zYLPCGjmbY+jw8NwLp5UWHTgfOewUA0399mcj/KRo06uB8pUYkVEVZz
 s5FUnsOAhE7A2aNfAJWu4ecKIf5rvnE+ErIW/nYRp/sbTc9+zZkEVSAiMGQFlXcu
 BOS+An3C04D6m1CY+tOv
 =CqVV
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc-for-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Renesas ARM Based SoC Updates for v4.10

Enhancements:
* Basic support for r8a7743 SoC; only SoC code so far
* Select errata 798181 for SoCs with CA15 cores

Clean-up:
* Consolidate R8A7743 and R8A779[234] machine definitions

Documentation:
* Add Marzen, Gose and Alt board part numbers to DT bindings
* Document SK-RZG1M board

* tag 'renesas-soc-for-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7779/marzen: Add board part number to DT bindings
  ARM: shmobile: select errata 798181 for SoCs with CA15 cores
  ARM: shmobile: Consolidate R8A7743 and R8A779[234] machine definitions
  ARM: shmobile: r8a7793/gose: Add board part number to DT bindings
  ARM: shmobile: r8a7794/alt: Add board part number to DT bindings
  ARM: shmobile: document SK-RZG1M board
  ARM: shmobile: r8a7743: basic SoC support
  ARM: shmobile: only call rcar_gen2_clocks_init() if present
  ARM: shmobile: Sort Kconfig selections

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2016-11-17 17:41:30 -08:00
commit 42494501f5
7 changed files with 63 additions and 111 deletions

View File

@ -13,6 +13,8 @@ SoCs:
compatible = "renesas,r8a73a4"
- R-Mobile A1 (R8A77400)
compatible = "renesas,r8a7740"
- RZ/G1M (R8A77430)
compatible = "renesas,r8a7743"
- R-Car M1A (R8A77781)
compatible = "renesas,r8a7778"
- R-Car H1 (R8A77790)
@ -35,7 +37,7 @@ SoCs:
Boards:
- Alt
- Alt (RTP0RC7794SEB00010S)
compatible = "renesas,alt", "renesas,r8a7794"
- APE6-EVM
compatible = "renesas,ape6evm", "renesas,r8a73a4"
@ -47,7 +49,7 @@ Boards:
compatible = "renesas,bockw", "renesas,r8a7778"
- Genmai (RTK772100BC00000BR)
compatible = "renesas,genmai", "renesas,r7s72100"
- Gose
- Gose (RTP0RC7793SEB00010S)
compatible = "renesas,gose", "renesas,r8a7793"
- H3ULCB (RTP0RC7795SKB00010S)
compatible = "renesas,h3ulcb", "renesas,r8a7795";
@ -61,7 +63,7 @@ Boards:
compatible = "renesas,kzm9g", "renesas,sh73a0"
- Lager (RTP0RC7790SEB00010S)
compatible = "renesas,lager", "renesas,r8a7790"
- Marzen
- Marzen (R0P7779A00010S)
compatible = "renesas,marzen", "renesas,r8a7779"
- Porter (M2-LCDP)
compatible = "renesas,porter", "renesas,r8a7791"
@ -73,5 +75,7 @@ Boards:
compatible = "renesas,salvator-x", "renesas,r8a7796";
- SILK (RTP0RC7794LCB00011S)
compatible = "renesas,silk", "renesas,r8a7794"
- SK-RZG1M (YR8A77430S000BE)
compatible = "renesas,sk-rzg1m", "renesas,r8a7743"
- Wheat
compatible = "renesas,wheat", "renesas,r8a7792"

View File

@ -32,15 +32,15 @@ config ARCH_RMOBILE
menuconfig ARCH_RENESAS
bool "Renesas ARM SoCs"
depends on ARCH_MULTI_V7 && MMU
select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
select ARCH_SHMOBILE
select ARCH_SHMOBILE_MULTI
select ARM_GIC
select GPIOLIB
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
select ARM_GIC
select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
select NO_IOPORT_MAP
select PINCTRL
select GPIOLIB
select ZONE_DMA if ARM_LPAE
if ARCH_RENESAS
@ -60,6 +60,7 @@ config ARCH_R7S72100
config ARCH_R8A73A4
bool "R-Mobile APE6 (R8A73A40)"
select ARCH_RMOBILE
select ARM_ERRATA_798181 if SMP
select RENESAS_IRQC
config ARCH_R8A7740
@ -67,6 +68,11 @@ config ARCH_R8A7740
select ARCH_RMOBILE
select RENESAS_INTC_IRQPIN
config ARCH_R8A7743
bool "RZ/G1M (R8A77430)"
select ARCH_RCAR_GEN2
select ARM_ERRATA_798181 if SMP
config ARCH_R8A7778
bool "R-Car M1A (R8A77781)"
select ARCH_RCAR_GEN1
@ -78,20 +84,24 @@ config ARCH_R8A7779
config ARCH_R8A7790
bool "R-Car H2 (R8A77900)"
select ARCH_RCAR_GEN2
select ARM_ERRATA_798181 if SMP
select I2C
config ARCH_R8A7791
bool "R-Car M2-W (R8A77910)"
select ARCH_RCAR_GEN2
select ARM_ERRATA_798181 if SMP
select I2C
config ARCH_R8A7792
bool "R-Car V2H (R8A77920)"
select ARCH_RCAR_GEN2
select ARM_ERRATA_798181 if SMP
config ARCH_R8A7793
bool "R-Car M2-N (R8A7793)"
select ARCH_RCAR_GEN2
select ARM_ERRATA_798181 if SMP
select I2C
config ARCH_R8A7794

View File

@ -13,9 +13,6 @@ obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o
obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o pm-r8a7779.o
obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o
obj-$(CONFIG_ARCH_R8A7791) += setup-r8a7791.o
obj-$(CONFIG_ARCH_R8A7792) += setup-r8a7792.o
obj-$(CONFIG_ARCH_R8A7793) += setup-r8a7793.o
obj-$(CONFIG_ARCH_R8A7794) += setup-r8a7794.o
obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o
obj-$(CONFIG_ARCH_R7S72100) += setup-r7s72100.o

View File

@ -1,35 +0,0 @@
/*
* r8a7792 processor support
*
* Copyright (C) 2014 Renesas Electronics Corporation
* Copyright (C) 2016 Cogent Embedded, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include "common.h"
#include "rcar-gen2.h"
static const char * const r8a7792_boards_compat_dt[] __initconst = {
"renesas,r8a7792",
NULL,
};
DT_MACHINE_START(R8A7792_DT, "Generic R8A7792 (Flattened Device Tree)")
.init_early = shmobile_init_delay,
.init_late = shmobile_init_late,
.init_time = rcar_gen2_timer_init,
.reserve = rcar_gen2_reserve,
.dt_compat = r8a7792_boards_compat_dt,
MACHINE_END

View File

@ -1,33 +0,0 @@
/*
* r8a7793 processor support
*
* Copyright (C) 2015 Ulrich Hecht
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <linux/init.h>
#include <asm/mach/arch.h>
#include "common.h"
#include "rcar-gen2.h"
static const char * const r8a7793_boards_compat_dt[] __initconst = {
"renesas,r8a7793",
NULL,
};
DT_MACHINE_START(R8A7793_DT, "Generic R8A7793 (Flattened Device Tree)")
.init_early = shmobile_init_delay,
.init_time = rcar_gen2_timer_init,
.init_late = shmobile_init_late,
.reserve = rcar_gen2_reserve,
.dt_compat = r8a7793_boards_compat_dt,
MACHINE_END

View File

@ -1,33 +0,0 @@
/*
* r8a7794 processor support
*
* Copyright (C) 2014 Renesas Electronics Corporation
* Copyright (C) 2014 Ulrich Hecht
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <linux/of_platform.h>
#include "common.h"
#include "rcar-gen2.h"
#include <asm/mach/arch.h>
static const char * const r8a7794_boards_compat_dt[] __initconst = {
"renesas,r8a7794",
NULL,
};
DT_MACHINE_START(R8A7794_DT, "Generic R8A7794 (Flattened Device Tree)")
.init_early = shmobile_init_delay,
.init_late = shmobile_init_late,
.init_time = rcar_gen2_timer_init,
.reserve = rcar_gen2_reserve,
.dt_compat = r8a7794_boards_compat_dt,
MACHINE_END

View File

@ -15,6 +15,7 @@
* GNU General Public License for more details.
*/
#include <linux/clk-provider.h>
#include <linux/clk/renesas.h>
#include <linux/clocksource.h>
#include <linux/device.h>
@ -24,6 +25,7 @@
#include <linux/memblock.h>
#include <linux/of.h>
#include <linux/of_fdt.h>
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include "common.h"
#include "rcar-gen2.h"
@ -130,7 +132,15 @@ void __init rcar_gen2_timer_init(void)
iounmap(base);
#endif /* CONFIG_ARM_ARCH_TIMER */
rcar_gen2_clocks_init(mode);
if (IS_ENABLED(CONFIG_ARCH_R8A7790) ||
IS_ENABLED(CONFIG_ARCH_R8A7791) ||
IS_ENABLED(CONFIG_ARCH_R8A7792) ||
IS_ENABLED(CONFIG_ARCH_R8A7793) ||
IS_ENABLED(CONFIG_ARCH_R8A7794))
rcar_gen2_clocks_init(mode);
else
of_clk_init(NULL);
clocksource_probe();
}
@ -203,3 +213,35 @@ void __init rcar_gen2_reserve(void)
}
#endif
}
static const char * const rcar_gen2_boards_compat_dt[] __initconst = {
/*
* R8A7790 and R8A7791 can't be handled here as long as they need SMP
* initialization fallback.
*/
"renesas,r8a7792",
"renesas,r8a7793",
"renesas,r8a7794",
NULL,
};
DT_MACHINE_START(RCAR_GEN2_DT, "Generic R-Car Gen2 (Flattened Device Tree)")
.init_early = shmobile_init_delay,
.init_late = shmobile_init_late,
.init_time = rcar_gen2_timer_init,
.reserve = rcar_gen2_reserve,
.dt_compat = rcar_gen2_boards_compat_dt,
MACHINE_END
static const char * const rz_g1_boards_compat_dt[] __initconst = {
"renesas,r8a7743",
NULL,
};
DT_MACHINE_START(RZ_G1_DT, "Generic RZ/G1 (Flattened Device Tree)")
.init_early = shmobile_init_delay,
.init_late = shmobile_init_late,
.init_time = rcar_gen2_timer_init,
.reserve = rcar_gen2_reserve,
.dt_compat = rz_g1_boards_compat_dt,
MACHINE_END