aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-09-05 11:42:18 -0400
committerArnd Bergmann <arnd@arndb.de>2014-09-05 11:42:18 -0400
commit013c5b4e6611746725cbcc0c39922d36d2968d50 (patch)
tree0eba883b26683c284b604ea21f995d8b3b8e93cd /arch
parent09d12ad7936df431ecbf0faf2b81c56cc4bb6392 (diff)
parentad8c3af8b75ff26c5c887f2101da653bdcd53a38 (diff)
Merge tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Renesas ARM Based SoC Cleanup Updates for v3.18" from Simon Horman: * Remove Genmai board code Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r7s72100: Remove legacy board support ARM: shmobile: r7s72100: genmai: Remove legacy board file ARM: shmobile: r7s72100: genmai: Remove reference board file
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-shmobile/Kconfig17
-rw-r--r--arch/arm/mach-shmobile/Makefile3
-rw-r--r--arch/arm/mach-shmobile/Makefile.boot1
-rw-r--r--arch/arm/mach-shmobile/board-genmai-reference.c35
-rw-r--r--arch/arm/mach-shmobile/board-genmai.c173
-rw-r--r--arch/arm/mach-shmobile/clock-r7s72100.c231
-rw-r--r--arch/arm/mach-shmobile/r7s72100.h6
-rw-r--r--arch/arm/mach-shmobile/setup-r7s72100.c2
8 files changed, 0 insertions, 468 deletions
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index e15dff790dbb..5814754c1240 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -43,10 +43,6 @@ config ARCH_R8A7791
43 43
44comment "Renesas ARM SoCs Board Type" 44comment "Renesas ARM SoCs Board Type"
45 45
46config MACH_GENMAI
47 bool "Genmai board"
48 depends on ARCH_R7S72100
49
50config MACH_KOELSCH 46config MACH_KOELSCH
51 bool "Koelsch board" 47 bool "Koelsch board"
52 depends on ARCH_R8A7791 48 depends on ARCH_R8A7791
@@ -149,14 +145,6 @@ config ARCH_R8A7791
149 select SYS_SUPPORTS_SH_CMT 145 select SYS_SUPPORTS_SH_CMT
150 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE 146 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
151 147
152config ARCH_R7S72100
153 bool "RZ/A1H (R7S72100)"
154 select ARCH_WANT_OPTIONAL_GPIOLIB
155 select ARM_GIC
156 select CPU_V7
157 select SH_CLK_CPG
158 select SYS_SUPPORTS_SH_MTU2
159
160comment "Renesas ARM SoCs Board Type" 148comment "Renesas ARM SoCs Board Type"
161 149
162config MACH_APE6EVM 150config MACH_APE6EVM
@@ -232,11 +220,6 @@ config MACH_BOCKW_REFERENCE
232 220
233 This is intended to aid developers 221 This is intended to aid developers
234 222
235config MACH_GENMAI
236 bool "Genmai board"
237 depends on ARCH_R7S72100
238 select USE_OF
239
240config MACH_MARZEN 223config MACH_MARZEN
241 bool "MARZEN board" 224 bool "MARZEN board"
242 depends on ARCH_R8A7779 225 depends on ARCH_R8A7779
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index a6a1dc0335ae..2eb2c5b02118 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -29,7 +29,6 @@ obj-$(CONFIG_ARCH_R8A7778) += clock-r8a7778.o
29obj-$(CONFIG_ARCH_R8A7779) += clock-r8a7779.o 29obj-$(CONFIG_ARCH_R8A7779) += clock-r8a7779.o
30obj-$(CONFIG_ARCH_R8A7790) += clock-r8a7790.o 30obj-$(CONFIG_ARCH_R8A7790) += clock-r8a7790.o
31obj-$(CONFIG_ARCH_R8A7791) += clock-r8a7791.o 31obj-$(CONFIG_ARCH_R8A7791) += clock-r8a7791.o
32obj-$(CONFIG_ARCH_R7S72100) += clock-r7s72100.o
33endif 32endif
34 33
35# CPU reset vector handling objects 34# CPU reset vector handling objects
@@ -61,7 +60,6 @@ obj-$(CONFIG_ARCH_SH7372) += entry-intc.o
61 60
62# Board objects 61# Board objects
63ifdef CONFIG_ARCH_SHMOBILE_MULTI 62ifdef CONFIG_ARCH_SHMOBILE_MULTI
64obj-$(CONFIG_MACH_GENMAI) += board-genmai-reference.o
65obj-$(CONFIG_MACH_KOELSCH) += board-koelsch-reference.o 63obj-$(CONFIG_MACH_KOELSCH) += board-koelsch-reference.o
66obj-$(CONFIG_MACH_LAGER) += board-lager-reference.o 64obj-$(CONFIG_MACH_LAGER) += board-lager-reference.o
67obj-$(CONFIG_MACH_MARZEN) += board-marzen-reference.o 65obj-$(CONFIG_MACH_MARZEN) += board-marzen-reference.o
@@ -71,7 +69,6 @@ obj-$(CONFIG_MACH_APE6EVM_REFERENCE) += board-ape6evm-reference.o
71obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o 69obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o
72obj-$(CONFIG_MACH_BOCKW) += board-bockw.o 70obj-$(CONFIG_MACH_BOCKW) += board-bockw.o
73obj-$(CONFIG_MACH_BOCKW_REFERENCE) += board-bockw-reference.o 71obj-$(CONFIG_MACH_BOCKW_REFERENCE) += board-bockw-reference.o
74obj-$(CONFIG_MACH_GENMAI) += board-genmai.o
75obj-$(CONFIG_MACH_MARZEN) += board-marzen.o 72obj-$(CONFIG_MACH_MARZEN) += board-marzen.o
76obj-$(CONFIG_MACH_LAGER) += board-lager.o 73obj-$(CONFIG_MACH_LAGER) += board-lager.o
77obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o 74obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o
diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot
index ebf97d4bcfd8..a23e1555cca7 100644
--- a/arch/arm/mach-shmobile/Makefile.boot
+++ b/arch/arm/mach-shmobile/Makefile.boot
@@ -6,7 +6,6 @@ loadaddr-$(CONFIG_MACH_ARMADILLO800EVA) += 0x40008000
6loadaddr-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += 0x40008000 6loadaddr-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += 0x40008000
7loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000 7loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000
8loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000 8loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000
9loadaddr-$(CONFIG_MACH_GENMAI) += 0x08008000
10loadaddr-$(CONFIG_MACH_KOELSCH) += 0x40008000 9loadaddr-$(CONFIG_MACH_KOELSCH) += 0x40008000
11loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 10loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000
12loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000 11loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000
diff --git a/arch/arm/mach-shmobile/board-genmai-reference.c b/arch/arm/mach-shmobile/board-genmai-reference.c
deleted file mode 100644
index bc52677986c3..000000000000
--- a/arch/arm/mach-shmobile/board-genmai-reference.c
+++ /dev/null
@@ -1,35 +0,0 @@
1/*
2 * Genmai board support
3 *
4 * Copyright (C) 2013 Renesas Solutions Corp.
5 * Copyright (C) 2013 Magnus Damm
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 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#include <linux/kernel.h>
22
23#include <asm/mach/arch.h>
24
25#include "common.h"
26
27static const char * const genmai_boards_compat_dt[] __initconst = {
28 "renesas,genmai",
29 NULL,
30};
31
32DT_MACHINE_START(GENMAI_DT, "genmai")
33 .init_early = shmobile_init_delay,
34 .dt_compat = genmai_boards_compat_dt,
35MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
deleted file mode 100644
index ba545fc09649..000000000000
--- a/arch/arm/mach-shmobile/board-genmai.c
+++ /dev/null
@@ -1,173 +0,0 @@
1/*
2 * Genmai board support
3 *
4 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2013 Magnus Damm
6 * Copyright (C) 2014 Cogent Embedded, Inc.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; version 2 of the License.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22#include <linux/kernel.h>
23#include <linux/platform_device.h>
24#include <linux/serial_sci.h>
25#include <linux/sh_eth.h>
26#include <linux/sh_timer.h>
27#include <linux/spi/rspi.h>
28#include <linux/spi/spi.h>
29
30#include <asm/mach-types.h>
31#include <asm/mach/arch.h>
32
33#include "common.h"
34#include "irqs.h"
35#include "r7s72100.h"
36
37/* Ether */
38static const struct sh_eth_plat_data ether_pdata __initconst = {
39 .phy = 0x00, /* PD60610 */
40 .edmac_endian = EDMAC_LITTLE_ENDIAN,
41 .phy_interface = PHY_INTERFACE_MODE_MII,
42 .no_ether_link = 1
43};
44
45static const struct resource ether_resources[] __initconst = {
46 DEFINE_RES_MEM(0xe8203000, 0x800),
47 DEFINE_RES_MEM(0xe8204800, 0x200),
48 DEFINE_RES_IRQ(gic_iid(359)),
49};
50
51static const struct platform_device_info ether_info __initconst = {
52 .name = "r7s72100-ether",
53 .id = -1,
54 .res = ether_resources,
55 .num_res = ARRAY_SIZE(ether_resources),
56 .data = &ether_pdata,
57 .size_data = sizeof(ether_pdata),
58 .dma_mask = DMA_BIT_MASK(32),
59};
60
61/* RSPI */
62#define RSPI_RESOURCE(idx, baseaddr, irq) \
63static const struct resource rspi##idx##_resources[] __initconst = { \
64 DEFINE_RES_MEM(baseaddr, 0x24), \
65 DEFINE_RES_IRQ_NAMED(irq, "error"), \
66 DEFINE_RES_IRQ_NAMED(irq + 1, "rx"), \
67 DEFINE_RES_IRQ_NAMED(irq + 2, "tx"), \
68}
69
70RSPI_RESOURCE(0, 0xe800c800, gic_iid(270));
71RSPI_RESOURCE(1, 0xe800d000, gic_iid(273));
72RSPI_RESOURCE(2, 0xe800d800, gic_iid(276));
73RSPI_RESOURCE(3, 0xe800e000, gic_iid(279));
74RSPI_RESOURCE(4, 0xe800e800, gic_iid(282));
75
76static const struct rspi_plat_data rspi_pdata __initconst = {
77 .num_chipselect = 1,
78};
79
80#define r7s72100_register_rspi(idx) \
81 platform_device_register_resndata(NULL, "rspi-rz", idx, \
82 rspi##idx##_resources, \
83 ARRAY_SIZE(rspi##idx##_resources), \
84 &rspi_pdata, sizeof(rspi_pdata))
85
86static const struct spi_board_info spi_info[] __initconst = {
87 {
88 .modalias = "wm8978",
89 .max_speed_hz = 5000000,
90 .bus_num = 4,
91 .chip_select = 0,
92 },
93};
94
95/* SCIF */
96#define R7S72100_SCIF(index, baseaddr, irq) \
97static const struct plat_sci_port scif##index##_platform_data = { \
98 .type = PORT_SCIF, \
99 .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, \
100 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, \
101 .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | \
102 SCSCR_REIE, \
103}; \
104 \
105static struct resource scif##index##_resources[] = { \
106 DEFINE_RES_MEM(baseaddr, 0x100), \
107 DEFINE_RES_IRQ(irq + 1), \
108 DEFINE_RES_IRQ(irq + 2), \
109 DEFINE_RES_IRQ(irq + 3), \
110 DEFINE_RES_IRQ(irq), \
111} \
112
113R7S72100_SCIF(0, 0xe8007000, gic_iid(221));
114R7S72100_SCIF(1, 0xe8007800, gic_iid(225));
115R7S72100_SCIF(2, 0xe8008000, gic_iid(229));
116R7S72100_SCIF(3, 0xe8008800, gic_iid(233));
117R7S72100_SCIF(4, 0xe8009000, gic_iid(237));
118R7S72100_SCIF(5, 0xe8009800, gic_iid(241));
119R7S72100_SCIF(6, 0xe800a000, gic_iid(245));
120R7S72100_SCIF(7, 0xe800a800, gic_iid(249));
121
122#define r7s72100_register_scif(index) \
123 platform_device_register_resndata(NULL, "sh-sci", index, \
124 scif##index##_resources, \
125 ARRAY_SIZE(scif##index##_resources), \
126 &scif##index##_platform_data, \
127 sizeof(scif##index##_platform_data))
128
129static struct resource mtu2_resources[] __initdata = {
130 DEFINE_RES_MEM(0xfcff0000, 0x400),
131 DEFINE_RES_IRQ_NAMED(gic_iid(139), "tgi0a"),
132};
133
134#define r7s72100_register_mtu2() \
135 platform_device_register_resndata(&platform_bus, "sh-mtu2", \
136 -1, mtu2_resources, \
137 ARRAY_SIZE(mtu2_resources), \
138 NULL, 0)
139
140static void __init genmai_add_standard_devices(void)
141{
142 r7s72100_clock_init();
143 r7s72100_register_mtu2();
144
145 platform_device_register_full(&ether_info);
146
147 r7s72100_register_rspi(0);
148 r7s72100_register_rspi(1);
149 r7s72100_register_rspi(2);
150 r7s72100_register_rspi(3);
151 r7s72100_register_rspi(4);
152 spi_register_board_info(spi_info, ARRAY_SIZE(spi_info));
153
154 r7s72100_register_scif(0);
155 r7s72100_register_scif(1);
156 r7s72100_register_scif(2);
157 r7s72100_register_scif(3);
158 r7s72100_register_scif(4);
159 r7s72100_register_scif(5);
160 r7s72100_register_scif(6);
161 r7s72100_register_scif(7);
162}
163
164static const char * const genmai_boards_compat_dt[] __initconst = {
165 "renesas,genmai",
166 NULL,
167};
168
169DT_MACHINE_START(GENMAI_DT, "genmai")
170 .init_early = shmobile_init_delay,
171 .init_machine = genmai_add_standard_devices,
172 .dt_compat = genmai_boards_compat_dt,
173MACHINE_END
diff --git a/arch/arm/mach-shmobile/clock-r7s72100.c b/arch/arm/mach-shmobile/clock-r7s72100.c
deleted file mode 100644
index 3eb2ec401e0c..000000000000
--- a/arch/arm/mach-shmobile/clock-r7s72100.c
+++ /dev/null
@@ -1,231 +0,0 @@
1/*
2 * r7a72100 clock framework support
3 *
4 * Copyright (C) 2013 Renesas Solutions Corp.
5 * Copyright (C) 2012 Phil Edworthy
6 * Copyright (C) 2011 Magnus Damm
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; version 2 of the License.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 */
17#include <linux/init.h>
18#include <linux/kernel.h>
19#include <linux/io.h>
20#include <linux/sh_clk.h>
21#include <linux/clkdev.h>
22
23#include "common.h"
24#include "r7s72100.h"
25
26/* Frequency Control Registers */
27#define FRQCR 0xfcfe0010
28#define FRQCR2 0xfcfe0014
29/* Standby Control Registers */
30#define STBCR3 0xfcfe0420
31#define STBCR4 0xfcfe0424
32#define STBCR7 0xfcfe0430
33#define STBCR9 0xfcfe0438
34#define STBCR10 0xfcfe043c
35
36#define PLL_RATE 30
37
38static struct clk_mapping cpg_mapping = {
39 .phys = 0xfcfe0000,
40 .len = 0x1000,
41};
42
43/* Fixed 32 KHz root clock for RTC */
44static struct clk r_clk = {
45 .rate = 32768,
46};
47
48/*
49 * Default rate for the root input clock, reset this with clk_set_rate()
50 * from the platform code.
51 */
52static struct clk extal_clk = {
53 .rate = 13330000,
54 .mapping = &cpg_mapping,
55};
56
57static unsigned long pll_recalc(struct clk *clk)
58{
59 return clk->parent->rate * PLL_RATE;
60}
61
62static struct sh_clk_ops pll_clk_ops = {
63 .recalc = pll_recalc,
64};
65
66static struct clk pll_clk = {
67 .ops = &pll_clk_ops,
68 .parent = &extal_clk,
69 .flags = CLK_ENABLE_ON_INIT,
70};
71
72static unsigned long bus_recalc(struct clk *clk)
73{
74 return clk->parent->rate / 3;
75}
76
77static struct sh_clk_ops bus_clk_ops = {
78 .recalc = bus_recalc,
79};
80
81static struct clk bus_clk = {
82 .ops = &bus_clk_ops,
83 .parent = &pll_clk,
84 .flags = CLK_ENABLE_ON_INIT,
85};
86
87static unsigned long peripheral0_recalc(struct clk *clk)
88{
89 return clk->parent->rate / 12;
90}
91
92static struct sh_clk_ops peripheral0_clk_ops = {
93 .recalc = peripheral0_recalc,
94};
95
96static struct clk peripheral0_clk = {
97 .ops = &peripheral0_clk_ops,
98 .parent = &pll_clk,
99 .flags = CLK_ENABLE_ON_INIT,
100};
101
102static unsigned long peripheral1_recalc(struct clk *clk)
103{
104 return clk->parent->rate / 6;
105}
106
107static struct sh_clk_ops peripheral1_clk_ops = {
108 .recalc = peripheral1_recalc,
109};
110
111static struct clk peripheral1_clk = {
112 .ops = &peripheral1_clk_ops,
113 .parent = &pll_clk,
114 .flags = CLK_ENABLE_ON_INIT,
115};
116
117struct clk *main_clks[] = {
118 &r_clk,
119 &extal_clk,
120 &pll_clk,
121 &bus_clk,
122 &peripheral0_clk,
123 &peripheral1_clk,
124};
125
126static int div2[] = { 1, 3, 0, 3 }; /* 1, 2/3, reserve, 1/3 */
127static int multipliers[] = { 1, 2, 1, 1 };
128
129static struct clk_div_mult_table div4_div_mult_table = {
130 .divisors = div2,
131 .nr_divisors = ARRAY_SIZE(div2),
132 .multipliers = multipliers,
133 .nr_multipliers = ARRAY_SIZE(multipliers),
134};
135
136static struct clk_div4_table div4_table = {
137 .div_mult_table = &div4_div_mult_table,
138};
139
140enum { DIV4_I,
141 DIV4_NR };
142
143#define DIV4(_reg, _bit, _mask, _flags) \
144 SH_CLK_DIV4(&pll_clk, _reg, _bit, _mask, _flags)
145
146/* The mask field specifies the div2 entries that are valid */
147struct clk div4_clks[DIV4_NR] = {
148 [DIV4_I] = DIV4(FRQCR, 8, 0xB, CLK_ENABLE_REG_16BIT
149 | CLK_ENABLE_ON_INIT),
150};
151
152enum {
153 MSTP107, MSTP106, MSTP105, MSTP104, MSTP103,
154 MSTP97, MSTP96, MSTP95, MSTP94,
155 MSTP74,
156 MSTP47, MSTP46, MSTP45, MSTP44, MSTP43, MSTP42, MSTP41, MSTP40,
157 MSTP33, MSTP_NR
158};
159
160static struct clk mstp_clks[MSTP_NR] = {
161 [MSTP107] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 7, 0), /* RSPI0 */
162 [MSTP106] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 6, 0), /* RSPI1 */
163 [MSTP105] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 5, 0), /* RSPI2 */
164 [MSTP104] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 4, 0), /* RSPI3 */
165 [MSTP103] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 3, 0), /* RSPI4 */
166 [MSTP97] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 7, 0), /* RIIC0 */
167 [MSTP96] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 6, 0), /* RIIC1 */
168 [MSTP95] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 5, 0), /* RIIC2 */
169 [MSTP94] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 4, 0), /* RIIC3 */
170 [MSTP74] = SH_CLK_MSTP8(&peripheral1_clk, STBCR7, 4, 0), /* Ether */
171 [MSTP47] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 7, 0), /* SCIF0 */
172 [MSTP46] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 6, 0), /* SCIF1 */
173 [MSTP45] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 5, 0), /* SCIF2 */
174 [MSTP44] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 4, 0), /* SCIF3 */
175 [MSTP43] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 3, 0), /* SCIF4 */
176 [MSTP42] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 2, 0), /* SCIF5 */
177 [MSTP41] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 1, 0), /* SCIF6 */
178 [MSTP40] = SH_CLK_MSTP8(&peripheral1_clk, STBCR4, 0, 0), /* SCIF7 */
179 [MSTP33] = SH_CLK_MSTP8(&peripheral0_clk, STBCR3, 3, 0), /* MTU2 */
180};
181
182static struct clk_lookup lookups[] = {
183 /* main clocks */
184 CLKDEV_CON_ID("rclk", &r_clk),
185 CLKDEV_CON_ID("extal", &extal_clk),
186 CLKDEV_CON_ID("pll_clk", &pll_clk),
187 CLKDEV_CON_ID("peripheral_clk", &peripheral1_clk),
188
189 /* DIV4 clocks */
190 CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]),
191
192 /* MSTP clocks */
193 CLKDEV_DEV_ID("rspi-rz.0", &mstp_clks[MSTP107]),
194 CLKDEV_DEV_ID("rspi-rz.1", &mstp_clks[MSTP106]),
195 CLKDEV_DEV_ID("rspi-rz.2", &mstp_clks[MSTP105]),
196 CLKDEV_DEV_ID("rspi-rz.3", &mstp_clks[MSTP104]),
197 CLKDEV_DEV_ID("rspi-rz.4", &mstp_clks[MSTP103]),
198 CLKDEV_DEV_ID("r7s72100-ether", &mstp_clks[MSTP74]),
199
200 /* ICK */
201 CLKDEV_ICK_ID("sci_fck", "sh-sci.0", &mstp_clks[MSTP47]),
202 CLKDEV_ICK_ID("sci_fck", "sh-sci.1", &mstp_clks[MSTP46]),
203 CLKDEV_ICK_ID("sci_fck", "sh-sci.2", &mstp_clks[MSTP45]),
204 CLKDEV_ICK_ID("sci_fck", "sh-sci.3", &mstp_clks[MSTP44]),
205 CLKDEV_ICK_ID("sci_fck", "sh-sci.4", &mstp_clks[MSTP43]),
206 CLKDEV_ICK_ID("sci_fck", "sh-sci.5", &mstp_clks[MSTP42]),
207 CLKDEV_ICK_ID("sci_fck", "sh-sci.6", &mstp_clks[MSTP41]),
208 CLKDEV_ICK_ID("sci_fck", "sh-sci.7", &mstp_clks[MSTP40]),
209 CLKDEV_ICK_ID("fck", "sh-mtu2", &mstp_clks[MSTP33]),
210};
211
212void __init r7s72100_clock_init(void)
213{
214 int k, ret = 0;
215
216 for (k = 0; !ret && (k < ARRAY_SIZE(main_clks)); k++)
217 ret = clk_register(main_clks[k]);
218
219 clkdev_add_table(lookups, ARRAY_SIZE(lookups));
220
221 if (!ret)
222 ret = sh_clk_div4_register(div4_clks, DIV4_NR, &div4_table);
223
224 if (!ret)
225 ret = sh_clk_mstp_register(mstp_clks, MSTP_NR);
226
227 if (!ret)
228 shmobile_clk_init();
229 else
230 panic("failed to setup rza1 clocks\n");
231}
diff --git a/arch/arm/mach-shmobile/r7s72100.h b/arch/arm/mach-shmobile/r7s72100.h
deleted file mode 100644
index 321ae4e10128..000000000000
--- a/arch/arm/mach-shmobile/r7s72100.h
+++ /dev/null
@@ -1,6 +0,0 @@
1#ifndef __ASM_R7S72100_H__
2#define __ASM_R7S72100_H__
3
4void r7s72100_clock_init(void);
5
6#endif /* __ASM_R7S72100_H__ */
diff --git a/arch/arm/mach-shmobile/setup-r7s72100.c b/arch/arm/mach-shmobile/setup-r7s72100.c
index 46a93f73ee4a..4122104359f9 100644
--- a/arch/arm/mach-shmobile/setup-r7s72100.c
+++ b/arch/arm/mach-shmobile/setup-r7s72100.c
@@ -24,7 +24,6 @@
24 24
25#include "common.h" 25#include "common.h"
26 26
27#ifdef CONFIG_USE_OF
28static const char *r7s72100_boards_compat_dt[] __initdata = { 27static const char *r7s72100_boards_compat_dt[] __initdata = {
29 "renesas,r7s72100", 28 "renesas,r7s72100",
30 NULL, 29 NULL,
@@ -35,4 +34,3 @@ DT_MACHINE_START(R7S72100_DT, "Generic R7S72100 (Flattened Device Tree)")
35 .init_late = shmobile_init_late, 34 .init_late = shmobile_init_late,
36 .dt_compat = r7s72100_boards_compat_dt, 35 .dt_compat = r7s72100_boards_compat_dt,
37MACHINE_END 36MACHINE_END
38#endif /* CONFIG_USE_OF */