aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/arm/shmobile.txt10
-rw-r--r--arch/arm/mach-shmobile/Kconfig16
-rw-r--r--arch/arm/mach-shmobile/Makefile3
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7792.c35
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7793.c33
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7794.c33
-rw-r--r--arch/arm/mach-shmobile/setup-rcar-gen2.c44
7 files changed, 63 insertions, 111 deletions
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 2f0b7169f132..9a60cb38cf56 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -13,6 +13,8 @@ SoCs:
13 compatible = "renesas,r8a73a4" 13 compatible = "renesas,r8a73a4"
14 - R-Mobile A1 (R8A77400) 14 - R-Mobile A1 (R8A77400)
15 compatible = "renesas,r8a7740" 15 compatible = "renesas,r8a7740"
16 - RZ/G1M (R8A77430)
17 compatible = "renesas,r8a7743"
16 - R-Car M1A (R8A77781) 18 - R-Car M1A (R8A77781)
17 compatible = "renesas,r8a7778" 19 compatible = "renesas,r8a7778"
18 - R-Car H1 (R8A77790) 20 - R-Car H1 (R8A77790)
@@ -35,7 +37,7 @@ SoCs:
35 37
36Boards: 38Boards:
37 39
38 - Alt 40 - Alt (RTP0RC7794SEB00010S)
39 compatible = "renesas,alt", "renesas,r8a7794" 41 compatible = "renesas,alt", "renesas,r8a7794"
40 - APE6-EVM 42 - APE6-EVM
41 compatible = "renesas,ape6evm", "renesas,r8a73a4" 43 compatible = "renesas,ape6evm", "renesas,r8a73a4"
@@ -47,7 +49,7 @@ Boards:
47 compatible = "renesas,bockw", "renesas,r8a7778" 49 compatible = "renesas,bockw", "renesas,r8a7778"
48 - Genmai (RTK772100BC00000BR) 50 - Genmai (RTK772100BC00000BR)
49 compatible = "renesas,genmai", "renesas,r7s72100" 51 compatible = "renesas,genmai", "renesas,r7s72100"
50 - Gose 52 - Gose (RTP0RC7793SEB00010S)
51 compatible = "renesas,gose", "renesas,r8a7793" 53 compatible = "renesas,gose", "renesas,r8a7793"
52 - H3ULCB (RTP0RC7795SKB00010S) 54 - H3ULCB (RTP0RC7795SKB00010S)
53 compatible = "renesas,h3ulcb", "renesas,r8a7795"; 55 compatible = "renesas,h3ulcb", "renesas,r8a7795";
@@ -61,7 +63,7 @@ Boards:
61 compatible = "renesas,kzm9g", "renesas,sh73a0" 63 compatible = "renesas,kzm9g", "renesas,sh73a0"
62 - Lager (RTP0RC7790SEB00010S) 64 - Lager (RTP0RC7790SEB00010S)
63 compatible = "renesas,lager", "renesas,r8a7790" 65 compatible = "renesas,lager", "renesas,r8a7790"
64 - Marzen 66 - Marzen (R0P7779A00010S)
65 compatible = "renesas,marzen", "renesas,r8a7779" 67 compatible = "renesas,marzen", "renesas,r8a7779"
66 - Porter (M2-LCDP) 68 - Porter (M2-LCDP)
67 compatible = "renesas,porter", "renesas,r8a7791" 69 compatible = "renesas,porter", "renesas,r8a7791"
@@ -73,5 +75,7 @@ Boards:
73 compatible = "renesas,salvator-x", "renesas,r8a7796"; 75 compatible = "renesas,salvator-x", "renesas,r8a7796";
74 - SILK (RTP0RC7794LCB00011S) 76 - SILK (RTP0RC7794LCB00011S)
75 compatible = "renesas,silk", "renesas,r8a7794" 77 compatible = "renesas,silk", "renesas,r8a7794"
78 - SK-RZG1M (YR8A77430S000BE)
79 compatible = "renesas,sk-rzg1m", "renesas,r8a7743"
76 - Wheat 80 - Wheat
77 compatible = "renesas,wheat", "renesas,r8a7792" 81 compatible = "renesas,wheat", "renesas,r8a7792"
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 09817bae4558..6fbd9b7d2d67 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -32,15 +32,15 @@ config ARCH_RMOBILE
32menuconfig ARCH_RENESAS 32menuconfig ARCH_RENESAS
33 bool "Renesas ARM SoCs" 33 bool "Renesas ARM SoCs"
34 depends on ARCH_MULTI_V7 && MMU 34 depends on ARCH_MULTI_V7 && MMU
35 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
35 select ARCH_SHMOBILE 36 select ARCH_SHMOBILE
36 select ARCH_SHMOBILE_MULTI 37 select ARCH_SHMOBILE_MULTI
38 select ARM_GIC
39 select GPIOLIB
37 select HAVE_ARM_SCU if SMP 40 select HAVE_ARM_SCU if SMP
38 select HAVE_ARM_TWD if SMP 41 select HAVE_ARM_TWD if SMP
39 select ARM_GIC
40 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
41 select NO_IOPORT_MAP 42 select NO_IOPORT_MAP
42 select PINCTRL 43 select PINCTRL
43 select GPIOLIB
44 select ZONE_DMA if ARM_LPAE 44 select ZONE_DMA if ARM_LPAE
45 45
46if ARCH_RENESAS 46if ARCH_RENESAS
@@ -60,6 +60,7 @@ config ARCH_R7S72100
60config ARCH_R8A73A4 60config ARCH_R8A73A4
61 bool "R-Mobile APE6 (R8A73A40)" 61 bool "R-Mobile APE6 (R8A73A40)"
62 select ARCH_RMOBILE 62 select ARCH_RMOBILE
63 select ARM_ERRATA_798181 if SMP
63 select RENESAS_IRQC 64 select RENESAS_IRQC
64 65
65config ARCH_R8A7740 66config ARCH_R8A7740
@@ -67,6 +68,11 @@ config ARCH_R8A7740
67 select ARCH_RMOBILE 68 select ARCH_RMOBILE
68 select RENESAS_INTC_IRQPIN 69 select RENESAS_INTC_IRQPIN
69 70
71config ARCH_R8A7743
72 bool "RZ/G1M (R8A77430)"
73 select ARCH_RCAR_GEN2
74 select ARM_ERRATA_798181 if SMP
75
70config ARCH_R8A7778 76config ARCH_R8A7778
71 bool "R-Car M1A (R8A77781)" 77 bool "R-Car M1A (R8A77781)"
72 select ARCH_RCAR_GEN1 78 select ARCH_RCAR_GEN1
@@ -78,20 +84,24 @@ config ARCH_R8A7779
78config ARCH_R8A7790 84config ARCH_R8A7790
79 bool "R-Car H2 (R8A77900)" 85 bool "R-Car H2 (R8A77900)"
80 select ARCH_RCAR_GEN2 86 select ARCH_RCAR_GEN2
87 select ARM_ERRATA_798181 if SMP
81 select I2C 88 select I2C
82 89
83config ARCH_R8A7791 90config ARCH_R8A7791
84 bool "R-Car M2-W (R8A77910)" 91 bool "R-Car M2-W (R8A77910)"
85 select ARCH_RCAR_GEN2 92 select ARCH_RCAR_GEN2
93 select ARM_ERRATA_798181 if SMP
86 select I2C 94 select I2C
87 95
88config ARCH_R8A7792 96config ARCH_R8A7792
89 bool "R-Car V2H (R8A77920)" 97 bool "R-Car V2H (R8A77920)"
90 select ARCH_RCAR_GEN2 98 select ARCH_RCAR_GEN2
99 select ARM_ERRATA_798181 if SMP
91 100
92config ARCH_R8A7793 101config ARCH_R8A7793
93 bool "R-Car M2-N (R8A7793)" 102 bool "R-Car M2-N (R8A7793)"
94 select ARCH_RCAR_GEN2 103 select ARCH_RCAR_GEN2
104 select ARM_ERRATA_798181 if SMP
95 select I2C 105 select I2C
96 106
97config ARCH_R8A7794 107config ARCH_R8A7794
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index 3fc48b02eb4f..64611a1b4276 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -13,9 +13,6 @@ obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o
13obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o pm-r8a7779.o 13obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o pm-r8a7779.o
14obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o 14obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o
15obj-$(CONFIG_ARCH_R8A7791) += setup-r8a7791.o 15obj-$(CONFIG_ARCH_R8A7791) += setup-r8a7791.o
16obj-$(CONFIG_ARCH_R8A7792) += setup-r8a7792.o
17obj-$(CONFIG_ARCH_R8A7793) += setup-r8a7793.o
18obj-$(CONFIG_ARCH_R8A7794) += setup-r8a7794.o
19obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o 16obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o
20obj-$(CONFIG_ARCH_R7S72100) += setup-r7s72100.o 17obj-$(CONFIG_ARCH_R7S72100) += setup-r7s72100.o
21 18
diff --git a/arch/arm/mach-shmobile/setup-r8a7792.c b/arch/arm/mach-shmobile/setup-r8a7792.c
deleted file mode 100644
index a0910395da09..000000000000
--- a/arch/arm/mach-shmobile/setup-r8a7792.c
+++ /dev/null
@@ -1,35 +0,0 @@
1/*
2 * r8a7792 processor support
3 *
4 * Copyright (C) 2014 Renesas Electronics Corporation
5 * Copyright (C) 2016 Cogent Embedded, Inc.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 */
16
17#include <linux/of_platform.h>
18
19#include <asm/mach/arch.h>
20
21#include "common.h"
22#include "rcar-gen2.h"
23
24static const char * const r8a7792_boards_compat_dt[] __initconst = {
25 "renesas,r8a7792",
26 NULL,
27};
28
29DT_MACHINE_START(R8A7792_DT, "Generic R8A7792 (Flattened Device Tree)")
30 .init_early = shmobile_init_delay,
31 .init_late = shmobile_init_late,
32 .init_time = rcar_gen2_timer_init,
33 .reserve = rcar_gen2_reserve,
34 .dt_compat = r8a7792_boards_compat_dt,
35MACHINE_END
diff --git a/arch/arm/mach-shmobile/setup-r8a7793.c b/arch/arm/mach-shmobile/setup-r8a7793.c
deleted file mode 100644
index 5fce87f7f254..000000000000
--- a/arch/arm/mach-shmobile/setup-r8a7793.c
+++ /dev/null
@@ -1,33 +0,0 @@
1/*
2 * r8a7793 processor support
3 *
4 * Copyright (C) 2015 Ulrich Hecht
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#include <linux/init.h>
17#include <asm/mach/arch.h>
18
19#include "common.h"
20#include "rcar-gen2.h"
21
22static const char * const r8a7793_boards_compat_dt[] __initconst = {
23 "renesas,r8a7793",
24 NULL,
25};
26
27DT_MACHINE_START(R8A7793_DT, "Generic R8A7793 (Flattened Device Tree)")
28 .init_early = shmobile_init_delay,
29 .init_time = rcar_gen2_timer_init,
30 .init_late = shmobile_init_late,
31 .reserve = rcar_gen2_reserve,
32 .dt_compat = r8a7793_boards_compat_dt,
33MACHINE_END
diff --git a/arch/arm/mach-shmobile/setup-r8a7794.c b/arch/arm/mach-shmobile/setup-r8a7794.c
deleted file mode 100644
index d2b093033132..000000000000
--- a/arch/arm/mach-shmobile/setup-r8a7794.c
+++ /dev/null
@@ -1,33 +0,0 @@
1/*
2 * r8a7794 processor support
3 *
4 * Copyright (C) 2014 Renesas Electronics Corporation
5 * Copyright (C) 2014 Ulrich Hecht
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 */
16
17#include <linux/of_platform.h>
18#include "common.h"
19#include "rcar-gen2.h"
20#include <asm/mach/arch.h>
21
22static const char * const r8a7794_boards_compat_dt[] __initconst = {
23 "renesas,r8a7794",
24 NULL,
25};
26
27DT_MACHINE_START(R8A7794_DT, "Generic R8A7794 (Flattened Device Tree)")
28 .init_early = shmobile_init_delay,
29 .init_late = shmobile_init_late,
30 .init_time = rcar_gen2_timer_init,
31 .reserve = rcar_gen2_reserve,
32 .dt_compat = r8a7794_boards_compat_dt,
33MACHINE_END
diff --git a/arch/arm/mach-shmobile/setup-rcar-gen2.c b/arch/arm/mach-shmobile/setup-rcar-gen2.c
index afb9fdcd3d90..d6b4841e51a9 100644
--- a/arch/arm/mach-shmobile/setup-rcar-gen2.c
+++ b/arch/arm/mach-shmobile/setup-rcar-gen2.c
@@ -15,6 +15,7 @@
15 * GNU General Public License for more details. 15 * GNU General Public License for more details.
16 */ 16 */
17 17
18#include <linux/clk-provider.h>
18#include <linux/clk/renesas.h> 19#include <linux/clk/renesas.h>
19#include <linux/clocksource.h> 20#include <linux/clocksource.h>
20#include <linux/device.h> 21#include <linux/device.h>
@@ -24,6 +25,7 @@
24#include <linux/memblock.h> 25#include <linux/memblock.h>
25#include <linux/of.h> 26#include <linux/of.h>
26#include <linux/of_fdt.h> 27#include <linux/of_fdt.h>
28#include <linux/of_platform.h>
27#include <asm/mach/arch.h> 29#include <asm/mach/arch.h>
28#include "common.h" 30#include "common.h"
29#include "rcar-gen2.h" 31#include "rcar-gen2.h"
@@ -130,7 +132,15 @@ void __init rcar_gen2_timer_init(void)
130 iounmap(base); 132 iounmap(base);
131#endif /* CONFIG_ARM_ARCH_TIMER */ 133#endif /* CONFIG_ARM_ARCH_TIMER */
132 134
133 rcar_gen2_clocks_init(mode); 135 if (IS_ENABLED(CONFIG_ARCH_R8A7790) ||
136 IS_ENABLED(CONFIG_ARCH_R8A7791) ||
137 IS_ENABLED(CONFIG_ARCH_R8A7792) ||
138 IS_ENABLED(CONFIG_ARCH_R8A7793) ||
139 IS_ENABLED(CONFIG_ARCH_R8A7794))
140 rcar_gen2_clocks_init(mode);
141 else
142 of_clk_init(NULL);
143
134 clocksource_probe(); 144 clocksource_probe();
135} 145}
136 146
@@ -203,3 +213,35 @@ void __init rcar_gen2_reserve(void)
203 } 213 }
204#endif 214#endif
205} 215}
216
217static const char * const rcar_gen2_boards_compat_dt[] __initconst = {
218 /*
219 * R8A7790 and R8A7791 can't be handled here as long as they need SMP
220 * initialization fallback.
221 */
222 "renesas,r8a7792",
223 "renesas,r8a7793",
224 "renesas,r8a7794",
225 NULL,
226};
227
228DT_MACHINE_START(RCAR_GEN2_DT, "Generic R-Car Gen2 (Flattened Device Tree)")
229 .init_early = shmobile_init_delay,
230 .init_late = shmobile_init_late,
231 .init_time = rcar_gen2_timer_init,
232 .reserve = rcar_gen2_reserve,
233 .dt_compat = rcar_gen2_boards_compat_dt,
234MACHINE_END
235
236static const char * const rz_g1_boards_compat_dt[] __initconst = {
237 "renesas,r8a7743",
238 NULL,
239};
240
241DT_MACHINE_START(RZ_G1_DT, "Generic RZ/G1 (Flattened Device Tree)")
242 .init_early = shmobile_init_delay,
243 .init_late = shmobile_init_late,
244 .init_time = rcar_gen2_timer_init,
245 .reserve = rcar_gen2_reserve,
246 .dt_compat = rz_g1_boards_compat_dt,
247MACHINE_END