aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/clock.c
diff options
context:
space:
mode:
authorPadmavathi Venna <padma.v@samsung.com>2011-12-26 02:42:15 -0500
committerKukjin Kim <kgene.kim@samsung.com>2011-12-26 02:42:15 -0500
commit74ac23a3e4962bf4f935a5579ae08754d21f9d5a (patch)
tree4022b9f2dcd33cd567afd88c37d5796d4e61df66 /arch/arm/mach-exynos/clock.c
parent6640790ce294b2783d02751e2b64a98575b8f542 (diff)
ARM: EXYNOS: Modified files for SPI consolidation work
As SPI platform devices are consolidated to plat-samsung, some corresponding changes are required in the respective machine folder. Setup files are added for SPI GPIO configurations and platform data initialization. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos/clock.c')
-rw-r--r--arch/arm/mach-exynos/clock.c73
1 files changed, 43 insertions, 30 deletions
diff --git a/arch/arm/mach-exynos/clock.c b/arch/arm/mach-exynos/clock.c
index 5d8d4831e244..da50b1af7568 100644
--- a/arch/arm/mach-exynos/clock.c
+++ b/arch/arm/mach-exynos/clock.c
@@ -1111,36 +1111,6 @@ static struct clksrc_clk clksrcs[] = {
1111 .reg_div = { .reg = S5P_CLKDIV_LCD0, .shift = 0, .size = 4 }, 1111 .reg_div = { .reg = S5P_CLKDIV_LCD0, .shift = 0, .size = 4 },
1112 }, { 1112 }, {
1113 .clk = { 1113 .clk = {
1114 .name = "sclk_spi",
1115 .devname = "s3c64xx-spi.0",
1116 .enable = exynos4_clksrc_mask_peril1_ctrl,
1117 .ctrlbit = (1 << 16),
1118 },
1119 .sources = &clkset_group,
1120 .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 16, .size = 4 },
1121 .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 0, .size = 4 },
1122 }, {
1123 .clk = {
1124 .name = "sclk_spi",
1125 .devname = "s3c64xx-spi.1",
1126 .enable = exynos4_clksrc_mask_peril1_ctrl,
1127 .ctrlbit = (1 << 20),
1128 },
1129 .sources = &clkset_group,
1130 .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 20, .size = 4 },
1131 .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 16, .size = 4 },
1132 }, {
1133 .clk = {
1134 .name = "sclk_spi",
1135 .devname = "s3c64xx-spi.2",
1136 .enable = exynos4_clksrc_mask_peril1_ctrl,
1137 .ctrlbit = (1 << 24),
1138 },
1139 .sources = &clkset_group,
1140 .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 24, .size = 4 },
1141 .reg_div = { .reg = S5P_CLKDIV_PERIL2, .shift = 0, .size = 4 },
1142 }, {
1143 .clk = {
1144 .name = "sclk_fimg2d", 1114 .name = "sclk_fimg2d",
1145 }, 1115 },
1146 .sources = &clkset_mout_g2d, 1116 .sources = &clkset_mout_g2d,
@@ -1257,6 +1227,42 @@ static struct clksrc_clk clk_sclk_mmc3 = {
1257 .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 }, 1227 .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 },
1258}; 1228};
1259 1229
1230static struct clksrc_clk clk_sclk_spi0 = {
1231 .clk = {
1232 .name = "sclk_spi",
1233 .devname = "s3c64xx-spi.0",
1234 .enable = exynos4_clksrc_mask_peril1_ctrl,
1235 .ctrlbit = (1 << 16),
1236 },
1237 .sources = &clkset_group,
1238 .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 16, .size = 4 },
1239 .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 0, .size = 4 },
1240};
1241
1242static struct clksrc_clk clk_sclk_spi1 = {
1243 .clk = {
1244 .name = "sclk_spi",
1245 .devname = "s3c64xx-spi.1",
1246 .enable = exynos4_clksrc_mask_peril1_ctrl,
1247 .ctrlbit = (1 << 20),
1248 },
1249 .sources = &clkset_group,
1250 .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 20, .size = 4 },
1251 .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 16, .size = 4 },
1252};
1253
1254static struct clksrc_clk clk_sclk_spi2 = {
1255 .clk = {
1256 .name = "sclk_spi",
1257 .devname = "s3c64xx-spi.2",
1258 .enable = exynos4_clksrc_mask_peril1_ctrl,
1259 .ctrlbit = (1 << 24),
1260 },
1261 .sources = &clkset_group,
1262 .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 24, .size = 4 },
1263 .reg_div = { .reg = S5P_CLKDIV_PERIL2, .shift = 0, .size = 4 },
1264};
1265
1260/* Clock initialization code */ 1266/* Clock initialization code */
1261static struct clksrc_clk *sysclks[] = { 1267static struct clksrc_clk *sysclks[] = {
1262 &clk_mout_apll, 1268 &clk_mout_apll,
@@ -1305,6 +1311,10 @@ static struct clksrc_clk *clksrc_cdev[] = {
1305 &clk_sclk_mmc1, 1311 &clk_sclk_mmc1,
1306 &clk_sclk_mmc2, 1312 &clk_sclk_mmc2,
1307 &clk_sclk_mmc3, 1313 &clk_sclk_mmc3,
1314 &clk_sclk_spi0,
1315 &clk_sclk_spi1,
1316 &clk_sclk_spi2,
1317
1308}; 1318};
1309 1319
1310static struct clk_lookup exynos4_clk_lookup[] = { 1320static struct clk_lookup exynos4_clk_lookup[] = {
@@ -1318,6 +1328,9 @@ static struct clk_lookup exynos4_clk_lookup[] = {
1318 CLKDEV_INIT("s3c-sdhci.3", "mmc_busclk.2", &clk_sclk_mmc3.clk), 1328 CLKDEV_INIT("s3c-sdhci.3", "mmc_busclk.2", &clk_sclk_mmc3.clk),
1319 CLKDEV_INIT("dma-pl330.0", "apb_pclk", &clk_pdma0), 1329 CLKDEV_INIT("dma-pl330.0", "apb_pclk", &clk_pdma0),
1320 CLKDEV_INIT("dma-pl330.1", "apb_pclk", &clk_pdma1), 1330 CLKDEV_INIT("dma-pl330.1", "apb_pclk", &clk_pdma1),
1331 CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk0", &clk_sclk_spi0.clk),
1332 CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk0", &clk_sclk_spi1.clk),
1333 CLKDEV_INIT("s3c64xx-spi.2", "spi_busclk0", &clk_sclk_spi2.clk),
1321}; 1334};
1322 1335
1323static int xtal_rate; 1336static int xtal_rate;