aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@linux-m68k.org>2014-02-04 10:23:55 -0500
committerSimon Horman <horms+renesas@verge.net.au>2014-02-23 18:54:41 -0500
commitd9409fb8f30437b68647613e1f0d61b332de30be (patch)
treed2346ab64212cba94826e1b922c2e2f11e86bced /arch/arm/mach-shmobile
parentc7c2ec3a1881b93c211d0754b39f08b5a75459d8 (diff)
ARM: shmobile: r7s72100 clock: Add RSPI clocks
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/clock-r7s72100.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/arch/arm/mach-shmobile/clock-r7s72100.c b/arch/arm/mach-shmobile/clock-r7s72100.c
index dd8ce87596de..ffb0fff41375 100644
--- a/arch/arm/mach-shmobile/clock-r7s72100.c
+++ b/arch/arm/mach-shmobile/clock-r7s72100.c
@@ -22,12 +22,14 @@
22#include <mach/common.h> 22#include <mach/common.h>
23#include <mach/r7s72100.h> 23#include <mach/r7s72100.h>
24 24
25/* registers */ 25/* Frequency Control Registers */
26#define FRQCR 0xfcfe0010 26#define FRQCR 0xfcfe0010
27#define FRQCR2 0xfcfe0014 27#define FRQCR2 0xfcfe0014
28/* Standby Control Registers */
28#define STBCR3 0xfcfe0420 29#define STBCR3 0xfcfe0420
29#define STBCR4 0xfcfe0424 30#define STBCR4 0xfcfe0424
30#define STBCR9 0xfcfe0438 31#define STBCR9 0xfcfe0438
32#define STBCR10 0xfcfe043c
31 33
32#define PLL_RATE 30 34#define PLL_RATE 30
33 35
@@ -145,11 +147,19 @@ struct clk div4_clks[DIV4_NR] = {
145 | CLK_ENABLE_ON_INIT), 147 | CLK_ENABLE_ON_INIT),
146}; 148};
147 149
148enum { MSTP97, MSTP96, MSTP95, MSTP94, 150enum {
151 MSTP107, MSTP106, MSTP105, MSTP104, MSTP103,
152 MSTP97, MSTP96, MSTP95, MSTP94,
149 MSTP47, MSTP46, MSTP45, MSTP44, MSTP43, MSTP42, MSTP41, MSTP40, 153 MSTP47, MSTP46, MSTP45, MSTP44, MSTP43, MSTP42, MSTP41, MSTP40,
150 MSTP33, MSTP_NR }; 154 MSTP33, MSTP_NR
155};
151 156
152static struct clk mstp_clks[MSTP_NR] = { 157static struct clk mstp_clks[MSTP_NR] = {
158 [MSTP107] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 7, 0), /* RSPI0 */
159 [MSTP106] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 6, 0), /* RSPI1 */
160 [MSTP105] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 5, 0), /* RSPI2 */
161 [MSTP104] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 4, 0), /* RSPI3 */
162 [MSTP103] = SH_CLK_MSTP8(&peripheral1_clk, STBCR10, 3, 0), /* RSPI4 */
153 [MSTP97] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 7, 0), /* RIIC0 */ 163 [MSTP97] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 7, 0), /* RIIC0 */
154 [MSTP96] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 6, 0), /* RIIC1 */ 164 [MSTP96] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 6, 0), /* RIIC1 */
155 [MSTP95] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 5, 0), /* RIIC2 */ 165 [MSTP95] = SH_CLK_MSTP8(&peripheral0_clk, STBCR9, 5, 0), /* RIIC2 */
@@ -176,6 +186,11 @@ static struct clk_lookup lookups[] = {
176 CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), 186 CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]),
177 187
178 /* MSTP clocks */ 188 /* MSTP clocks */
189 CLKDEV_DEV_ID("rspi-rz.0", &mstp_clks[MSTP107]),
190 CLKDEV_DEV_ID("rspi-rz.1", &mstp_clks[MSTP106]),
191 CLKDEV_DEV_ID("rspi-rz.2", &mstp_clks[MSTP105]),
192 CLKDEV_DEV_ID("rspi-rz.3", &mstp_clks[MSTP104]),
193 CLKDEV_DEV_ID("rspi-rz.4", &mstp_clks[MSTP103]),
179 CLKDEV_DEV_ID("fcfee000.i2c", &mstp_clks[MSTP97]), 194 CLKDEV_DEV_ID("fcfee000.i2c", &mstp_clks[MSTP97]),
180 CLKDEV_DEV_ID("fcfee400.i2c", &mstp_clks[MSTP96]), 195 CLKDEV_DEV_ID("fcfee400.i2c", &mstp_clks[MSTP96]),
181 CLKDEV_DEV_ID("fcfee800.i2c", &mstp_clks[MSTP95]), 196 CLKDEV_DEV_ID("fcfee800.i2c", &mstp_clks[MSTP95]),