diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:39:22 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:39:22 -0500 |
commit | 2ac9d7aaccbd598b5bd19ac40761b723bb675442 (patch) | |
tree | 09132a44e33798aaa5e80f10bf025b510015cab3 /arch/arm/mach-exynos/clock.c | |
parent | 5ede3ceb7b2c2843e153a1803edbdc8c56655950 (diff) | |
parent | dcf7ec5ee62a78123057a1e286c88ca739717409 (diff) |
Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Driver specific changes
Again, a lot of platforms have changes in here: pxa, samsung, omap,
at91, imx, ...
* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
ARM: sa1100: clean up of the clock support
ARM: pxa: add dummy clock for sa1100-rtc
RTC: sa1100: support sa1100, pxa and mmp soc families
RTC: sa1100: remove redundant code of setting alarm
RTC: sa1100: Clean out ost register
Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
ARM: EXYNOS: Modified files for SPI consolidation work
ARM: S5P64X0: Enable SDHCI support
ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
ARM: S5P64X0: Add HSMMC setup for host Controller
ARM: EXYNOS: Add USB OHCI support to ORIGEN board
USB: Add Samsung Exynos OHCI diver
ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
ARM: EXYNOS: Add USB OHCI device
net: macb: fix build break with !CONFIG_OF
i2c: tegra: Support DVC controller in device tree
i2c: tegra: Add __devinit/exit to probe/remove
net/at91_ether: use gpio_is_valid for phy IRQ line
ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
...
Diffstat (limited to 'arch/arm/mach-exynos/clock.c')
-rw-r--r-- | arch/arm/mach-exynos/clock.c | 73 |
1 files changed, 43 insertions, 30 deletions
diff --git a/arch/arm/mach-exynos/clock.c b/arch/arm/mach-exynos/clock.c index 5d5250df33fd..5a8c42e90005 100644 --- a/arch/arm/mach-exynos/clock.c +++ b/arch/arm/mach-exynos/clock.c | |||
@@ -1112,36 +1112,6 @@ static struct clksrc_clk clksrcs[] = { | |||
1112 | .reg_div = { .reg = S5P_CLKDIV_LCD0, .shift = 0, .size = 4 }, | 1112 | .reg_div = { .reg = S5P_CLKDIV_LCD0, .shift = 0, .size = 4 }, |
1113 | }, { | 1113 | }, { |
1114 | .clk = { | 1114 | .clk = { |
1115 | .name = "sclk_spi", | ||
1116 | .devname = "s3c64xx-spi.0", | ||
1117 | .enable = exynos4_clksrc_mask_peril1_ctrl, | ||
1118 | .ctrlbit = (1 << 16), | ||
1119 | }, | ||
1120 | .sources = &clkset_group, | ||
1121 | .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 16, .size = 4 }, | ||
1122 | .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 0, .size = 4 }, | ||
1123 | }, { | ||
1124 | .clk = { | ||
1125 | .name = "sclk_spi", | ||
1126 | .devname = "s3c64xx-spi.1", | ||
1127 | .enable = exynos4_clksrc_mask_peril1_ctrl, | ||
1128 | .ctrlbit = (1 << 20), | ||
1129 | }, | ||
1130 | .sources = &clkset_group, | ||
1131 | .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 20, .size = 4 }, | ||
1132 | .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 16, .size = 4 }, | ||
1133 | }, { | ||
1134 | .clk = { | ||
1135 | .name = "sclk_spi", | ||
1136 | .devname = "s3c64xx-spi.2", | ||
1137 | .enable = exynos4_clksrc_mask_peril1_ctrl, | ||
1138 | .ctrlbit = (1 << 24), | ||
1139 | }, | ||
1140 | .sources = &clkset_group, | ||
1141 | .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 24, .size = 4 }, | ||
1142 | .reg_div = { .reg = S5P_CLKDIV_PERIL2, .shift = 0, .size = 4 }, | ||
1143 | }, { | ||
1144 | .clk = { | ||
1145 | .name = "sclk_fimg2d", | 1115 | .name = "sclk_fimg2d", |
1146 | }, | 1116 | }, |
1147 | .sources = &clkset_mout_g2d, | 1117 | .sources = &clkset_mout_g2d, |
@@ -1258,6 +1228,42 @@ static struct clksrc_clk clk_sclk_mmc3 = { | |||
1258 | .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 }, | 1228 | .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 }, |
1259 | }; | 1229 | }; |
1260 | 1230 | ||
1231 | static struct clksrc_clk clk_sclk_spi0 = { | ||
1232 | .clk = { | ||
1233 | .name = "sclk_spi", | ||
1234 | .devname = "s3c64xx-spi.0", | ||
1235 | .enable = exynos4_clksrc_mask_peril1_ctrl, | ||
1236 | .ctrlbit = (1 << 16), | ||
1237 | }, | ||
1238 | .sources = &clkset_group, | ||
1239 | .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 16, .size = 4 }, | ||
1240 | .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 0, .size = 4 }, | ||
1241 | }; | ||
1242 | |||
1243 | static struct clksrc_clk clk_sclk_spi1 = { | ||
1244 | .clk = { | ||
1245 | .name = "sclk_spi", | ||
1246 | .devname = "s3c64xx-spi.1", | ||
1247 | .enable = exynos4_clksrc_mask_peril1_ctrl, | ||
1248 | .ctrlbit = (1 << 20), | ||
1249 | }, | ||
1250 | .sources = &clkset_group, | ||
1251 | .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 20, .size = 4 }, | ||
1252 | .reg_div = { .reg = S5P_CLKDIV_PERIL1, .shift = 16, .size = 4 }, | ||
1253 | }; | ||
1254 | |||
1255 | static struct clksrc_clk clk_sclk_spi2 = { | ||
1256 | .clk = { | ||
1257 | .name = "sclk_spi", | ||
1258 | .devname = "s3c64xx-spi.2", | ||
1259 | .enable = exynos4_clksrc_mask_peril1_ctrl, | ||
1260 | .ctrlbit = (1 << 24), | ||
1261 | }, | ||
1262 | .sources = &clkset_group, | ||
1263 | .reg_src = { .reg = S5P_CLKSRC_PERIL1, .shift = 24, .size = 4 }, | ||
1264 | .reg_div = { .reg = S5P_CLKDIV_PERIL2, .shift = 0, .size = 4 }, | ||
1265 | }; | ||
1266 | |||
1261 | /* Clock initialization code */ | 1267 | /* Clock initialization code */ |
1262 | static struct clksrc_clk *sysclks[] = { | 1268 | static struct clksrc_clk *sysclks[] = { |
1263 | &clk_mout_apll, | 1269 | &clk_mout_apll, |
@@ -1306,6 +1312,10 @@ static struct clksrc_clk *clksrc_cdev[] = { | |||
1306 | &clk_sclk_mmc1, | 1312 | &clk_sclk_mmc1, |
1307 | &clk_sclk_mmc2, | 1313 | &clk_sclk_mmc2, |
1308 | &clk_sclk_mmc3, | 1314 | &clk_sclk_mmc3, |
1315 | &clk_sclk_spi0, | ||
1316 | &clk_sclk_spi1, | ||
1317 | &clk_sclk_spi2, | ||
1318 | |||
1309 | }; | 1319 | }; |
1310 | 1320 | ||
1311 | static struct clk_lookup exynos4_clk_lookup[] = { | 1321 | static struct clk_lookup exynos4_clk_lookup[] = { |
@@ -1319,6 +1329,9 @@ static struct clk_lookup exynos4_clk_lookup[] = { | |||
1319 | CLKDEV_INIT("s3c-sdhci.3", "mmc_busclk.2", &clk_sclk_mmc3.clk), | 1329 | CLKDEV_INIT("s3c-sdhci.3", "mmc_busclk.2", &clk_sclk_mmc3.clk), |
1320 | CLKDEV_INIT("dma-pl330.0", "apb_pclk", &clk_pdma0), | 1330 | CLKDEV_INIT("dma-pl330.0", "apb_pclk", &clk_pdma0), |
1321 | CLKDEV_INIT("dma-pl330.1", "apb_pclk", &clk_pdma1), | 1331 | CLKDEV_INIT("dma-pl330.1", "apb_pclk", &clk_pdma1), |
1332 | CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk0", &clk_sclk_spi0.clk), | ||
1333 | CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk0", &clk_sclk_spi1.clk), | ||
1334 | CLKDEV_INIT("s3c64xx-spi.2", "spi_busclk0", &clk_sclk_spi2.clk), | ||
1322 | }; | 1335 | }; |
1323 | 1336 | ||
1324 | static int xtal_rate; | 1337 | static int xtal_rate; |