aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos/clock.c')
-rw-r--r--arch/arm/mach-exynos/clock.c35
1 files changed, 25 insertions, 10 deletions
diff --git a/arch/arm/mach-exynos/clock.c b/arch/arm/mach-exynos/clock.c
index fe1851914dac..7dee8694486a 100644
--- a/arch/arm/mach-exynos/clock.c
+++ b/arch/arm/mach-exynos/clock.c
@@ -553,16 +553,6 @@ static struct clk init_clocks_off[] = {
553 .enable = exynos4_clk_dac_ctrl, 553 .enable = exynos4_clk_dac_ctrl,
554 .ctrlbit = (1 << 0), 554 .ctrlbit = (1 << 0),
555 }, { 555 }, {
556 .name = "dma",
557 .devname = "dma-pl330.0",
558 .enable = exynos4_clk_ip_fsys_ctrl,
559 .ctrlbit = (1 << 0),
560 }, {
561 .name = "dma",
562 .devname = "dma-pl330.1",
563 .enable = exynos4_clk_ip_fsys_ctrl,
564 .ctrlbit = (1 << 1),
565 }, {
566 .name = "adc", 556 .name = "adc",
567 .enable = exynos4_clk_ip_peril_ctrl, 557 .enable = exynos4_clk_ip_peril_ctrl,
568 .ctrlbit = (1 << 15), 558 .ctrlbit = (1 << 15),
@@ -778,6 +768,20 @@ static struct clk init_clocks[] = {
778 } 768 }
779}; 769};
780 770
771static struct clk clk_pdma0 = {
772 .name = "dma",
773 .devname = "dma-pl330.0",
774 .enable = exynos4_clk_ip_fsys_ctrl,
775 .ctrlbit = (1 << 0),
776};
777
778static struct clk clk_pdma1 = {
779 .name = "dma",
780 .devname = "dma-pl330.1",
781 .enable = exynos4_clk_ip_fsys_ctrl,
782 .ctrlbit = (1 << 1),
783};
784
781struct clk *clkset_group_list[] = { 785struct clk *clkset_group_list[] = {
782 [0] = &clk_ext_xtal_mux, 786 [0] = &clk_ext_xtal_mux,
783 [1] = &clk_xusbxti, 787 [1] = &clk_xusbxti,
@@ -1279,6 +1283,11 @@ static struct clksrc_clk *sysclks[] = {
1279 &clk_mout_mfc1, 1283 &clk_mout_mfc1,
1280}; 1284};
1281 1285
1286static struct clk *clk_cdev[] = {
1287 &clk_pdma0,
1288 &clk_pdma1,
1289};
1290
1282static struct clksrc_clk *clksrc_cdev[] = { 1291static struct clksrc_clk *clksrc_cdev[] = {
1283 &clk_sclk_uart0, 1292 &clk_sclk_uart0,
1284 &clk_sclk_uart1, 1293 &clk_sclk_uart1,
@@ -1291,6 +1300,8 @@ static struct clk_lookup exynos4_clk_lookup[] = {
1291 CLKDEV_INIT("exynos4210-uart.1", "clk_uart_baud0", &clk_sclk_uart1.clk), 1300 CLKDEV_INIT("exynos4210-uart.1", "clk_uart_baud0", &clk_sclk_uart1.clk),
1292 CLKDEV_INIT("exynos4210-uart.2", "clk_uart_baud0", &clk_sclk_uart2.clk), 1301 CLKDEV_INIT("exynos4210-uart.2", "clk_uart_baud0", &clk_sclk_uart2.clk),
1293 CLKDEV_INIT("exynos4210-uart.3", "clk_uart_baud0", &clk_sclk_uart3.clk), 1302 CLKDEV_INIT("exynos4210-uart.3", "clk_uart_baud0", &clk_sclk_uart3.clk),
1303 CLKDEV_INIT("dma-pl330.0", "apb_pclk", &clk_pdma0),
1304 CLKDEV_INIT("dma-pl330.1", "apb_pclk", &clk_pdma1),
1294}; 1305};
1295 1306
1296static int xtal_rate; 1307static int xtal_rate;
@@ -1506,6 +1517,10 @@ void __init exynos4_register_clocks(void)
1506 s3c_register_clksrc(clksrcs, ARRAY_SIZE(clksrcs)); 1517 s3c_register_clksrc(clksrcs, ARRAY_SIZE(clksrcs));
1507 s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks)); 1518 s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks));
1508 1519
1520 s3c24xx_register_clocks(clk_cdev, ARRAY_SIZE(clk_cdev));
1521 for (ptr = 0; ptr < ARRAY_SIZE(clk_cdev); ptr++)
1522 s3c_disable_clocks(clk_cdev[ptr], 1);
1523
1509 s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); 1524 s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off));
1510 s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); 1525 s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off));
1511 clkdev_add_table(exynos4_clk_lookup, ARRAY_SIZE(exynos4_clk_lookup)); 1526 clkdev_add_table(exynos4_clk_lookup, ARRAY_SIZE(exynos4_clk_lookup));