diff options
-rw-r--r-- | arch/arm/mach-exynos/clock-exynos4.c | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/arch/arm/mach-exynos/clock-exynos4.c b/arch/arm/mach-exynos/clock-exynos4.c index 10a46a9f0ea7..26fe9de35ecb 100644 --- a/arch/arm/mach-exynos/clock-exynos4.c +++ b/arch/arm/mach-exynos/clock-exynos4.c | |||
@@ -1242,40 +1242,67 @@ static struct clksrc_clk exynos4_clk_sclk_mmc3 = { | |||
1242 | .reg_div = { .reg = EXYNOS4_CLKDIV_FSYS2, .shift = 24, .size = 8 }, | 1242 | .reg_div = { .reg = EXYNOS4_CLKDIV_FSYS2, .shift = 24, .size = 8 }, |
1243 | }; | 1243 | }; |
1244 | 1244 | ||
1245 | static struct clksrc_clk exynos4_clk_mdout_spi0 = { | ||
1246 | .clk = { | ||
1247 | .name = "mdout_spi", | ||
1248 | .devname = "exynos4210-spi.0", | ||
1249 | }, | ||
1250 | .sources = &exynos4_clkset_group, | ||
1251 | .reg_src = { .reg = EXYNOS4_CLKSRC_PERIL1, .shift = 16, .size = 4 }, | ||
1252 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL1, .shift = 0, .size = 4 }, | ||
1253 | }; | ||
1254 | |||
1255 | static struct clksrc_clk exynos4_clk_mdout_spi1 = { | ||
1256 | .clk = { | ||
1257 | .name = "mdout_spi", | ||
1258 | .devname = "exynos4210-spi.1", | ||
1259 | }, | ||
1260 | .sources = &exynos4_clkset_group, | ||
1261 | .reg_src = { .reg = EXYNOS4_CLKSRC_PERIL1, .shift = 20, .size = 4 }, | ||
1262 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL1, .shift = 16, .size = 4 }, | ||
1263 | }; | ||
1264 | |||
1265 | static struct clksrc_clk exynos4_clk_mdout_spi2 = { | ||
1266 | .clk = { | ||
1267 | .name = "mdout_spi", | ||
1268 | .devname = "exynos4210-spi.2", | ||
1269 | }, | ||
1270 | .sources = &exynos4_clkset_group, | ||
1271 | .reg_src = { .reg = EXYNOS4_CLKSRC_PERIL1, .shift = 24, .size = 4 }, | ||
1272 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL2, .shift = 0, .size = 4 }, | ||
1273 | }; | ||
1274 | |||
1245 | static struct clksrc_clk exynos4_clk_sclk_spi0 = { | 1275 | static struct clksrc_clk exynos4_clk_sclk_spi0 = { |
1246 | .clk = { | 1276 | .clk = { |
1247 | .name = "sclk_spi", | 1277 | .name = "sclk_spi", |
1248 | .devname = "exynos4210-spi.0", | 1278 | .devname = "exynos4210-spi.0", |
1279 | .parent = &exynos4_clk_mdout_spi0.clk, | ||
1249 | .enable = exynos4_clksrc_mask_peril1_ctrl, | 1280 | .enable = exynos4_clksrc_mask_peril1_ctrl, |
1250 | .ctrlbit = (1 << 16), | 1281 | .ctrlbit = (1 << 16), |
1251 | }, | 1282 | }, |
1252 | .sources = &exynos4_clkset_group, | 1283 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL1, .shift = 8, .size = 8 }, |
1253 | .reg_src = { .reg = EXYNOS4_CLKSRC_PERIL1, .shift = 16, .size = 4 }, | ||
1254 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL1, .shift = 0, .size = 4 }, | ||
1255 | }; | 1284 | }; |
1256 | 1285 | ||
1257 | static struct clksrc_clk exynos4_clk_sclk_spi1 = { | 1286 | static struct clksrc_clk exynos4_clk_sclk_spi1 = { |
1258 | .clk = { | 1287 | .clk = { |
1259 | .name = "sclk_spi", | 1288 | .name = "sclk_spi", |
1260 | .devname = "exynos4210-spi.1", | 1289 | .devname = "exynos4210-spi.1", |
1290 | .parent = &exynos4_clk_mdout_spi1.clk, | ||
1261 | .enable = exynos4_clksrc_mask_peril1_ctrl, | 1291 | .enable = exynos4_clksrc_mask_peril1_ctrl, |
1262 | .ctrlbit = (1 << 20), | 1292 | .ctrlbit = (1 << 20), |
1263 | }, | 1293 | }, |
1264 | .sources = &exynos4_clkset_group, | 1294 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL1, .shift = 24, .size = 8 }, |
1265 | .reg_src = { .reg = EXYNOS4_CLKSRC_PERIL1, .shift = 20, .size = 4 }, | ||
1266 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL1, .shift = 16, .size = 4 }, | ||
1267 | }; | 1295 | }; |
1268 | 1296 | ||
1269 | static struct clksrc_clk exynos4_clk_sclk_spi2 = { | 1297 | static struct clksrc_clk exynos4_clk_sclk_spi2 = { |
1270 | .clk = { | 1298 | .clk = { |
1271 | .name = "sclk_spi", | 1299 | .name = "sclk_spi", |
1272 | .devname = "exynos4210-spi.2", | 1300 | .devname = "exynos4210-spi.2", |
1301 | .parent = &exynos4_clk_mdout_spi2.clk, | ||
1273 | .enable = exynos4_clksrc_mask_peril1_ctrl, | 1302 | .enable = exynos4_clksrc_mask_peril1_ctrl, |
1274 | .ctrlbit = (1 << 24), | 1303 | .ctrlbit = (1 << 24), |
1275 | }, | 1304 | }, |
1276 | .sources = &exynos4_clkset_group, | 1305 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL2, .shift = 8, .size = 8 }, |
1277 | .reg_src = { .reg = EXYNOS4_CLKSRC_PERIL1, .shift = 24, .size = 4 }, | ||
1278 | .reg_div = { .reg = EXYNOS4_CLKDIV_PERIL2, .shift = 0, .size = 4 }, | ||
1279 | }; | 1306 | }; |
1280 | 1307 | ||
1281 | /* Clock initialization code */ | 1308 | /* Clock initialization code */ |
@@ -1331,7 +1358,9 @@ static struct clksrc_clk *exynos4_clksrc_cdev[] = { | |||
1331 | &exynos4_clk_sclk_spi0, | 1358 | &exynos4_clk_sclk_spi0, |
1332 | &exynos4_clk_sclk_spi1, | 1359 | &exynos4_clk_sclk_spi1, |
1333 | &exynos4_clk_sclk_spi2, | 1360 | &exynos4_clk_sclk_spi2, |
1334 | 1361 | &exynos4_clk_mdout_spi0, | |
1362 | &exynos4_clk_mdout_spi1, | ||
1363 | &exynos4_clk_mdout_spi2, | ||
1335 | }; | 1364 | }; |
1336 | 1365 | ||
1337 | static struct clk_lookup exynos4_clk_lookup[] = { | 1366 | static struct clk_lookup exynos4_clk_lookup[] = { |