25 #include <linux/module.h>
26 #include <linux/kernel.h>
27 #include <linux/list.h>
28 #include <linux/errno.h>
30 #include <linux/device.h>
33 #include <linux/serial_core.h>
38 #include <mach/hardware.h>
45 #include <plat/clock.h>
68 static unsigned int armdiv[16] = {
105 .devname =
"s3c-sdhci.1",
111 static int s3c2443_setparent_hsmmc(
struct clk *
clk,
struct clk *parent)
125 if (clk->
usage > 0) {
133 static int s3c2443_enable_hsmmc(
struct clk *clk,
int enable)
135 return s3c2443_setparent_hsmmc(clk, clk->
parent);
138 static struct clk clk_hsmmc = {
140 .devname =
"s3c-sdhci.1",
141 .parent = &clk_hsmmc_div.
clk,
142 .enable = s3c2443_enable_hsmmc,
144 .set_parent = s3c2443_setparent_hsmmc,
150 static struct clk init_clocks_off[] = {
158 .devname =
"s3c2410-spi.0",
164 .devname =
"s3c2410-spi.1",
178 static struct clk *clks[] __initdata = {
182 static struct clk_lookup s3c2443_clk_lookup[] = {
183 CLKDEV_INIT(
"s3c-sdhci.1",
"mmc_busclk.2", &clk_hsmmc),
192 clk_epll.rate = s3c2443_get_epll(epllcon, xtal);
201 for (ptr = 0; ptr <
ARRAY_SIZE(clksrcs); ptr++)