Loading arch/arm/mach-s5pv310/clock.c→arch/arm/mach-exynos4/clock.c +95 −95 Original line number Original line Diff line number Diff line /* linux/arch/arm/mach-s5pv310/clock.c /* linux/arch/arm/mach-exynos4/clock.c * * * Copyright (c) 2010 Samsung Electronics Co., Ltd. * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * http://www.samsung.com * * * S5PV310 - Clock support * EXYNOS4 - Clock support * * * This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as Loading Loading @@ -46,72 +46,72 @@ static struct clk clk_sclk_usbphy1 = { .id = -1, .id = -1, }; }; static int s5pv310_clksrc_mask_top_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_top_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_TOP, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_TOP, clk, enable); } } static int s5pv310_clksrc_mask_cam_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_cam_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_CAM, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_CAM, clk, enable); } } static int s5pv310_clksrc_mask_lcd0_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_lcd0_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_LCD0, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_LCD0, clk, enable); } } static int s5pv310_clksrc_mask_lcd1_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_lcd1_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_LCD1, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_LCD1, clk, enable); } } static int s5pv310_clksrc_mask_fsys_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_fsys_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_FSYS, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_FSYS, clk, enable); } } static int s5pv310_clksrc_mask_peril0_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_peril0_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL0, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL0, clk, enable); } } static int s5pv310_clksrc_mask_peril1_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_peril1_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL1, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL1, clk, enable); } } static int s5pv310_clk_ip_cam_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_cam_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_CAM, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_CAM, clk, enable); } } static int s5pv310_clk_ip_image_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_image_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_IMAGE, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_IMAGE, clk, enable); } } static int s5pv310_clk_ip_lcd0_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_lcd0_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_LCD0, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_LCD0, clk, enable); } } static int s5pv310_clk_ip_lcd1_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_lcd1_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_LCD1, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_LCD1, clk, enable); } } static int s5pv310_clk_ip_fsys_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_fsys_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_FSYS, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_FSYS, clk, enable); } } static int s5pv310_clk_ip_peril_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_peril_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); } } static int s5pv310_clk_ip_perir_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_perir_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_PERIR, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_PERIR, clk, enable); } } Loading Loading @@ -358,7 +358,7 @@ static struct clksrc_clk clk_vpllsrc = { .clk = { .clk = { .name = "vpll_src", .name = "vpll_src", .id = -1, .id = -1, .enable = s5pv310_clksrc_mask_top_ctrl, .enable = exynos4_clksrc_mask_top_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_vpllsrc, .sources = &clkset_vpllsrc, Loading Loading @@ -389,205 +389,205 @@ static struct clk init_clocks_off[] = { .name = "timers", .name = "timers", .id = -1, .id = -1, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1<<24), .ctrlbit = (1<<24), }, { }, { .name = "csis", .name = "csis", .id = 0, .id = 0, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, { }, { .name = "csis", .name = "csis", .id = 1, .id = 1, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 5), .ctrlbit = (1 << 5), }, { }, { .name = "fimc", .name = "fimc", .id = 0, .id = 0, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "fimc", .name = "fimc", .id = 1, .id = 1, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 1), .ctrlbit = (1 << 1), }, { }, { .name = "fimc", .name = "fimc", .id = 2, .id = 2, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 2), .ctrlbit = (1 << 2), }, { }, { .name = "fimc", .name = "fimc", .id = 3, .id = 3, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 3), .ctrlbit = (1 << 3), }, { }, { .name = "fimd", .name = "fimd", .id = 0, .id = 0, .enable = s5pv310_clk_ip_lcd0_ctrl, .enable = exynos4_clk_ip_lcd0_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "fimd", .name = "fimd", .id = 1, .id = 1, .enable = s5pv310_clk_ip_lcd1_ctrl, .enable = exynos4_clk_ip_lcd1_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 0, .id = 0, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 5), .ctrlbit = (1 << 5), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 1, .id = 1, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 6), .ctrlbit = (1 << 6), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 2, .id = 2, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 7), .ctrlbit = (1 << 7), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 3, .id = 3, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 4, .id = 4, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 9), .ctrlbit = (1 << 9), }, { }, { .name = "sata", .name = "sata", .id = -1, .id = -1, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 10), .ctrlbit = (1 << 10), }, { }, { .name = "pdma", .name = "pdma", .id = 0, .id = 0, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "pdma", .name = "pdma", .id = 1, .id = 1, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 1), .ctrlbit = (1 << 1), }, { }, { .name = "adc", .name = "adc", .id = -1, .id = -1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 15), .ctrlbit = (1 << 15), }, { }, { .name = "rtc", .name = "rtc", .id = -1, .id = -1, .enable = s5pv310_clk_ip_perir_ctrl, .enable = exynos4_clk_ip_perir_ctrl, .ctrlbit = (1 << 15), .ctrlbit = (1 << 15), }, { }, { .name = "watchdog", .name = "watchdog", .id = -1, .id = -1, .enable = s5pv310_clk_ip_perir_ctrl, .enable = exynos4_clk_ip_perir_ctrl, .ctrlbit = (1 << 14), .ctrlbit = (1 << 14), }, { }, { .name = "usbhost", .name = "usbhost", .id = -1, .id = -1, .enable = s5pv310_clk_ip_fsys_ctrl , .enable = exynos4_clk_ip_fsys_ctrl , .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, { }, { .name = "otg", .name = "otg", .id = -1, .id = -1, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 13), .ctrlbit = (1 << 13), }, { }, { .name = "spi", .name = "spi", .id = 0, .id = 0, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, { }, { .name = "spi", .name = "spi", .id = 1, .id = 1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 17), .ctrlbit = (1 << 17), }, { }, { .name = "spi", .name = "spi", .id = 2, .id = 2, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 18), .ctrlbit = (1 << 18), }, { }, { .name = "iis", .name = "iis", .id = 0, .id = 0, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 19), .ctrlbit = (1 << 19), }, { }, { .name = "iis", .name = "iis", .id = 1, .id = 1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 20), .ctrlbit = (1 << 20), }, { }, { .name = "iis", .name = "iis", .id = 2, .id = 2, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 21), .ctrlbit = (1 << 21), }, { }, { .name = "ac97", .name = "ac97", .id = -1, .id = -1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 27), .ctrlbit = (1 << 27), }, { }, { .name = "fimg2d", .name = "fimg2d", .id = -1, .id = -1, .enable = s5pv310_clk_ip_image_ctrl, .enable = exynos4_clk_ip_image_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "i2c", .name = "i2c", .id = 0, .id = 0, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 6), .ctrlbit = (1 << 6), }, { }, { .name = "i2c", .name = "i2c", .id = 1, .id = 1, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 7), .ctrlbit = (1 << 7), }, { }, { .name = "i2c", .name = "i2c", .id = 2, .id = 2, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, { }, { .name = "i2c", .name = "i2c", .id = 3, .id = 3, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 9), .ctrlbit = (1 << 9), }, { }, { .name = "i2c", .name = "i2c", .id = 4, .id = 4, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 10), .ctrlbit = (1 << 10), }, { }, { .name = "i2c", .name = "i2c", .id = 5, .id = 5, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 11), .ctrlbit = (1 << 11), }, { }, { .name = "i2c", .name = "i2c", .id = 6, .id = 6, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, { }, { .name = "i2c", .name = "i2c", .id = 7, .id = 7, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 13), .ctrlbit = (1 << 13), }, }, }; }; Loading @@ -596,32 +596,32 @@ static struct clk init_clocks[] = { { { .name = "uart", .name = "uart", .id = 0, .id = 0, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "uart", .name = "uart", .id = 1, .id = 1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 1), .ctrlbit = (1 << 1), }, { }, { .name = "uart", .name = "uart", .id = 2, .id = 2, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 2), .ctrlbit = (1 << 2), }, { }, { .name = "uart", .name = "uart", .id = 3, .id = 3, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 3), .ctrlbit = (1 << 3), }, { }, { .name = "uart", .name = "uart", .id = 4, .id = 4, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, { }, { .name = "uart", .name = "uart", .id = 5, .id = 5, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 5), .ctrlbit = (1 << 5), } } }; }; Loading Loading @@ -746,7 +746,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -756,7 +756,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -766,7 +766,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 2, .id = 2, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -776,7 +776,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 3, .id = 3, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -786,7 +786,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_pwm", .name = "sclk_pwm", .id = -1, .id = -1, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -796,7 +796,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_csis", .name = "sclk_csis", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -806,7 +806,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_csis", .name = "sclk_csis", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 28), .ctrlbit = (1 << 28), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -816,7 +816,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_cam", .name = "sclk_cam", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -826,7 +826,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_cam", .name = "sclk_cam", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 20), .ctrlbit = (1 << 20), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -836,7 +836,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -846,7 +846,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -856,7 +856,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 2, .id = 2, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -866,7 +866,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 3, .id = 3, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -876,7 +876,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimd", .name = "sclk_fimd", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_lcd0_ctrl, .enable = exynos4_clksrc_mask_lcd0_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -886,7 +886,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimd", .name = "sclk_fimd", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_lcd1_ctrl, .enable = exynos4_clksrc_mask_lcd1_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -896,7 +896,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_sata", .name = "sclk_sata", .id = -1, .id = -1, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_mout_corebus, .sources = &clkset_mout_corebus, Loading @@ -906,7 +906,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_spi", .name = "sclk_spi", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_peril1_ctrl, .enable = exynos4_clksrc_mask_peril1_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -916,7 +916,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_spi", .name = "sclk_spi", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_peril1_ctrl, .enable = exynos4_clksrc_mask_peril1_ctrl, .ctrlbit = (1 << 20), .ctrlbit = (1 << 20), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -926,7 +926,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_spi", .name = "sclk_spi", .id = 2, .id = 2, .enable = s5pv310_clksrc_mask_peril1_ctrl, .enable = exynos4_clksrc_mask_peril1_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -945,7 +945,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 0, .id = 0, .parent = &clk_dout_mmc0.clk, .parent = &clk_dout_mmc0.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 8, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 8, .size = 8 }, Loading @@ -954,7 +954,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 1, .id = 1, .parent = &clk_dout_mmc1.clk, .parent = &clk_dout_mmc1.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 24, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 24, .size = 8 }, Loading @@ -963,7 +963,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 2, .id = 2, .parent = &clk_dout_mmc2.clk, .parent = &clk_dout_mmc2.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 8, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 8, .size = 8 }, Loading @@ -972,7 +972,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 3, .id = 3, .parent = &clk_dout_mmc3.clk, .parent = &clk_dout_mmc3.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 }, Loading @@ -981,7 +981,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 4, .id = 4, .parent = &clk_dout_mmc4.clk, .parent = &clk_dout_mmc4.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS3, .shift = 8, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS3, .shift = 8, .size = 8 }, Loading Loading @@ -1022,16 +1022,16 @@ static struct clksrc_clk *sysclks[] = { static int xtal_rate; static int xtal_rate; static unsigned long s5pv310_fout_apll_get_rate(struct clk *clk) static unsigned long exynos4_fout_apll_get_rate(struct clk *clk) { { return s5p_get_pll45xx(xtal_rate, __raw_readl(S5P_APLL_CON0), pll_4508); return s5p_get_pll45xx(xtal_rate, __raw_readl(S5P_APLL_CON0), pll_4508); } } static struct clk_ops s5pv310_fout_apll_ops = { static struct clk_ops exynos4_fout_apll_ops = { .get_rate = s5pv310_fout_apll_get_rate, .get_rate = exynos4_fout_apll_get_rate, }; }; void __init_or_cpufreq s5pv310_setup_clocks(void) void __init_or_cpufreq exynos4_setup_clocks(void) { { struct clk *xtal_clk; struct clk *xtal_clk; unsigned long apll; unsigned long apll; Loading Loading @@ -1070,12 +1070,12 @@ void __init_or_cpufreq s5pv310_setup_clocks(void) vpll = s5p_get_pll46xx(vpllsrc, __raw_readl(S5P_VPLL_CON0), vpll = s5p_get_pll46xx(vpllsrc, __raw_readl(S5P_VPLL_CON0), __raw_readl(S5P_VPLL_CON1), pll_4650); __raw_readl(S5P_VPLL_CON1), pll_4650); clk_fout_apll.ops = &s5pv310_fout_apll_ops; clk_fout_apll.ops = &exynos4_fout_apll_ops; clk_fout_mpll.rate = mpll; clk_fout_mpll.rate = mpll; clk_fout_epll.rate = epll; clk_fout_epll.rate = epll; clk_fout_vpll.rate = vpll; clk_fout_vpll.rate = vpll; printk(KERN_INFO "S5PV310: PLL settings, A=%ld, M=%ld, E=%ld V=%ld", printk(KERN_INFO "EXYNOS4: PLL settings, A=%ld, M=%ld, E=%ld V=%ld", apll, mpll, epll, vpll); apll, mpll, epll, vpll); armclk = clk_get_rate(&clk_armclk.clk); armclk = clk_get_rate(&clk_armclk.clk); Loading @@ -1086,7 +1086,7 @@ void __init_or_cpufreq s5pv310_setup_clocks(void) aclk_160 = clk_get_rate(&clk_aclk_160.clk); aclk_160 = clk_get_rate(&clk_aclk_160.clk); aclk_133 = clk_get_rate(&clk_aclk_133.clk); aclk_133 = clk_get_rate(&clk_aclk_133.clk); printk(KERN_INFO "S5PV310: ARMCLK=%ld, DMC=%ld, ACLK200=%ld\n" printk(KERN_INFO "EXYNOS4: ARMCLK=%ld, DMC=%ld, ACLK200=%ld\n" "ACLK100=%ld, ACLK160=%ld, ACLK133=%ld\n", "ACLK100=%ld, ACLK160=%ld, ACLK133=%ld\n", armclk, sclk_dmc, aclk_200, armclk, sclk_dmc, aclk_200, aclk_100, aclk_160, aclk_133); aclk_100, aclk_160, aclk_133); Loading @@ -1103,7 +1103,7 @@ static struct clk *clks[] __initdata = { /* Nothing here yet */ /* Nothing here yet */ }; }; void __init s5pv310_register_clocks(void) void __init exynos4_register_clocks(void) { { int ptr; int ptr; Loading arch/arm/mach-s5pv310/include/mach/regs-clock.h→arch/arm/mach-exynos4/include/mach/regs-clock.h +4 −4 Original line number Original line Diff line number Diff line /* linux/arch/arm/mach-s5pv310/include/mach/regs-clock.h /* linux/arch/arm/mach-exynos4/include/mach/regs-clock.h * * * Copyright (c) 2010 Samsung Electronics Co., Ltd. * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * http://www.samsung.com * * * S5PV310 - Clock register definitions * EXYNOS4 - Clock register definitions * * * This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as Loading Loading
arch/arm/mach-s5pv310/clock.c→arch/arm/mach-exynos4/clock.c +95 −95 Original line number Original line Diff line number Diff line /* linux/arch/arm/mach-s5pv310/clock.c /* linux/arch/arm/mach-exynos4/clock.c * * * Copyright (c) 2010 Samsung Electronics Co., Ltd. * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * http://www.samsung.com * * * S5PV310 - Clock support * EXYNOS4 - Clock support * * * This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as Loading Loading @@ -46,72 +46,72 @@ static struct clk clk_sclk_usbphy1 = { .id = -1, .id = -1, }; }; static int s5pv310_clksrc_mask_top_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_top_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_TOP, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_TOP, clk, enable); } } static int s5pv310_clksrc_mask_cam_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_cam_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_CAM, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_CAM, clk, enable); } } static int s5pv310_clksrc_mask_lcd0_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_lcd0_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_LCD0, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_LCD0, clk, enable); } } static int s5pv310_clksrc_mask_lcd1_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_lcd1_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_LCD1, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_LCD1, clk, enable); } } static int s5pv310_clksrc_mask_fsys_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_fsys_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_FSYS, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_FSYS, clk, enable); } } static int s5pv310_clksrc_mask_peril0_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_peril0_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL0, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL0, clk, enable); } } static int s5pv310_clksrc_mask_peril1_ctrl(struct clk *clk, int enable) static int exynos4_clksrc_mask_peril1_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL1, clk, enable); return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL1, clk, enable); } } static int s5pv310_clk_ip_cam_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_cam_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_CAM, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_CAM, clk, enable); } } static int s5pv310_clk_ip_image_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_image_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_IMAGE, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_IMAGE, clk, enable); } } static int s5pv310_clk_ip_lcd0_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_lcd0_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_LCD0, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_LCD0, clk, enable); } } static int s5pv310_clk_ip_lcd1_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_lcd1_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_LCD1, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_LCD1, clk, enable); } } static int s5pv310_clk_ip_fsys_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_fsys_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_FSYS, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_FSYS, clk, enable); } } static int s5pv310_clk_ip_peril_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_peril_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); } } static int s5pv310_clk_ip_perir_ctrl(struct clk *clk, int enable) static int exynos4_clk_ip_perir_ctrl(struct clk *clk, int enable) { { return s5p_gatectrl(S5P_CLKGATE_IP_PERIR, clk, enable); return s5p_gatectrl(S5P_CLKGATE_IP_PERIR, clk, enable); } } Loading Loading @@ -358,7 +358,7 @@ static struct clksrc_clk clk_vpllsrc = { .clk = { .clk = { .name = "vpll_src", .name = "vpll_src", .id = -1, .id = -1, .enable = s5pv310_clksrc_mask_top_ctrl, .enable = exynos4_clksrc_mask_top_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_vpllsrc, .sources = &clkset_vpllsrc, Loading Loading @@ -389,205 +389,205 @@ static struct clk init_clocks_off[] = { .name = "timers", .name = "timers", .id = -1, .id = -1, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1<<24), .ctrlbit = (1<<24), }, { }, { .name = "csis", .name = "csis", .id = 0, .id = 0, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, { }, { .name = "csis", .name = "csis", .id = 1, .id = 1, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 5), .ctrlbit = (1 << 5), }, { }, { .name = "fimc", .name = "fimc", .id = 0, .id = 0, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "fimc", .name = "fimc", .id = 1, .id = 1, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 1), .ctrlbit = (1 << 1), }, { }, { .name = "fimc", .name = "fimc", .id = 2, .id = 2, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 2), .ctrlbit = (1 << 2), }, { }, { .name = "fimc", .name = "fimc", .id = 3, .id = 3, .enable = s5pv310_clk_ip_cam_ctrl, .enable = exynos4_clk_ip_cam_ctrl, .ctrlbit = (1 << 3), .ctrlbit = (1 << 3), }, { }, { .name = "fimd", .name = "fimd", .id = 0, .id = 0, .enable = s5pv310_clk_ip_lcd0_ctrl, .enable = exynos4_clk_ip_lcd0_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "fimd", .name = "fimd", .id = 1, .id = 1, .enable = s5pv310_clk_ip_lcd1_ctrl, .enable = exynos4_clk_ip_lcd1_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 0, .id = 0, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 5), .ctrlbit = (1 << 5), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 1, .id = 1, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 6), .ctrlbit = (1 << 6), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 2, .id = 2, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 7), .ctrlbit = (1 << 7), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 3, .id = 3, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, { }, { .name = "hsmmc", .name = "hsmmc", .id = 4, .id = 4, .parent = &clk_aclk_133.clk, .parent = &clk_aclk_133.clk, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 9), .ctrlbit = (1 << 9), }, { }, { .name = "sata", .name = "sata", .id = -1, .id = -1, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 10), .ctrlbit = (1 << 10), }, { }, { .name = "pdma", .name = "pdma", .id = 0, .id = 0, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "pdma", .name = "pdma", .id = 1, .id = 1, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 1), .ctrlbit = (1 << 1), }, { }, { .name = "adc", .name = "adc", .id = -1, .id = -1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 15), .ctrlbit = (1 << 15), }, { }, { .name = "rtc", .name = "rtc", .id = -1, .id = -1, .enable = s5pv310_clk_ip_perir_ctrl, .enable = exynos4_clk_ip_perir_ctrl, .ctrlbit = (1 << 15), .ctrlbit = (1 << 15), }, { }, { .name = "watchdog", .name = "watchdog", .id = -1, .id = -1, .enable = s5pv310_clk_ip_perir_ctrl, .enable = exynos4_clk_ip_perir_ctrl, .ctrlbit = (1 << 14), .ctrlbit = (1 << 14), }, { }, { .name = "usbhost", .name = "usbhost", .id = -1, .id = -1, .enable = s5pv310_clk_ip_fsys_ctrl , .enable = exynos4_clk_ip_fsys_ctrl , .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, { }, { .name = "otg", .name = "otg", .id = -1, .id = -1, .enable = s5pv310_clk_ip_fsys_ctrl, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 13), .ctrlbit = (1 << 13), }, { }, { .name = "spi", .name = "spi", .id = 0, .id = 0, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, { }, { .name = "spi", .name = "spi", .id = 1, .id = 1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 17), .ctrlbit = (1 << 17), }, { }, { .name = "spi", .name = "spi", .id = 2, .id = 2, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 18), .ctrlbit = (1 << 18), }, { }, { .name = "iis", .name = "iis", .id = 0, .id = 0, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 19), .ctrlbit = (1 << 19), }, { }, { .name = "iis", .name = "iis", .id = 1, .id = 1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 20), .ctrlbit = (1 << 20), }, { }, { .name = "iis", .name = "iis", .id = 2, .id = 2, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 21), .ctrlbit = (1 << 21), }, { }, { .name = "ac97", .name = "ac97", .id = -1, .id = -1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 27), .ctrlbit = (1 << 27), }, { }, { .name = "fimg2d", .name = "fimg2d", .id = -1, .id = -1, .enable = s5pv310_clk_ip_image_ctrl, .enable = exynos4_clk_ip_image_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "i2c", .name = "i2c", .id = 0, .id = 0, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 6), .ctrlbit = (1 << 6), }, { }, { .name = "i2c", .name = "i2c", .id = 1, .id = 1, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 7), .ctrlbit = (1 << 7), }, { }, { .name = "i2c", .name = "i2c", .id = 2, .id = 2, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, { }, { .name = "i2c", .name = "i2c", .id = 3, .id = 3, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 9), .ctrlbit = (1 << 9), }, { }, { .name = "i2c", .name = "i2c", .id = 4, .id = 4, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 10), .ctrlbit = (1 << 10), }, { }, { .name = "i2c", .name = "i2c", .id = 5, .id = 5, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 11), .ctrlbit = (1 << 11), }, { }, { .name = "i2c", .name = "i2c", .id = 6, .id = 6, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, { }, { .name = "i2c", .name = "i2c", .id = 7, .id = 7, .parent = &clk_aclk_100.clk, .parent = &clk_aclk_100.clk, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 13), .ctrlbit = (1 << 13), }, }, }; }; Loading @@ -596,32 +596,32 @@ static struct clk init_clocks[] = { { { .name = "uart", .name = "uart", .id = 0, .id = 0, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, { }, { .name = "uart", .name = "uart", .id = 1, .id = 1, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 1), .ctrlbit = (1 << 1), }, { }, { .name = "uart", .name = "uart", .id = 2, .id = 2, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 2), .ctrlbit = (1 << 2), }, { }, { .name = "uart", .name = "uart", .id = 3, .id = 3, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 3), .ctrlbit = (1 << 3), }, { }, { .name = "uart", .name = "uart", .id = 4, .id = 4, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, { }, { .name = "uart", .name = "uart", .id = 5, .id = 5, .enable = s5pv310_clk_ip_peril_ctrl, .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 5), .ctrlbit = (1 << 5), } } }; }; Loading Loading @@ -746,7 +746,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -756,7 +756,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -766,7 +766,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 2, .id = 2, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -776,7 +776,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "uclk1", .name = "uclk1", .id = 3, .id = 3, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -786,7 +786,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_pwm", .name = "sclk_pwm", .id = -1, .id = -1, .enable = s5pv310_clksrc_mask_peril0_ctrl, .enable = exynos4_clksrc_mask_peril0_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -796,7 +796,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_csis", .name = "sclk_csis", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -806,7 +806,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_csis", .name = "sclk_csis", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 28), .ctrlbit = (1 << 28), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -816,7 +816,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_cam", .name = "sclk_cam", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -826,7 +826,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_cam", .name = "sclk_cam", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 20), .ctrlbit = (1 << 20), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -836,7 +836,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -846,7 +846,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -856,7 +856,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 2, .id = 2, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -866,7 +866,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimc", .name = "sclk_fimc", .id = 3, .id = 3, .enable = s5pv310_clksrc_mask_cam_ctrl, .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -876,7 +876,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimd", .name = "sclk_fimd", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_lcd0_ctrl, .enable = exynos4_clksrc_mask_lcd0_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -886,7 +886,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_fimd", .name = "sclk_fimd", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_lcd1_ctrl, .enable = exynos4_clksrc_mask_lcd1_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -896,7 +896,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_sata", .name = "sclk_sata", .id = -1, .id = -1, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_mout_corebus, .sources = &clkset_mout_corebus, Loading @@ -906,7 +906,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_spi", .name = "sclk_spi", .id = 0, .id = 0, .enable = s5pv310_clksrc_mask_peril1_ctrl, .enable = exynos4_clksrc_mask_peril1_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -916,7 +916,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_spi", .name = "sclk_spi", .id = 1, .id = 1, .enable = s5pv310_clksrc_mask_peril1_ctrl, .enable = exynos4_clksrc_mask_peril1_ctrl, .ctrlbit = (1 << 20), .ctrlbit = (1 << 20), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -926,7 +926,7 @@ static struct clksrc_clk clksrcs[] = { .clk = { .clk = { .name = "sclk_spi", .name = "sclk_spi", .id = 2, .id = 2, .enable = s5pv310_clksrc_mask_peril1_ctrl, .enable = exynos4_clksrc_mask_peril1_ctrl, .ctrlbit = (1 << 24), .ctrlbit = (1 << 24), }, }, .sources = &clkset_group, .sources = &clkset_group, Loading @@ -945,7 +945,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 0, .id = 0, .parent = &clk_dout_mmc0.clk, .parent = &clk_dout_mmc0.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 0), .ctrlbit = (1 << 0), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 8, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 8, .size = 8 }, Loading @@ -954,7 +954,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 1, .id = 1, .parent = &clk_dout_mmc1.clk, .parent = &clk_dout_mmc1.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 4), .ctrlbit = (1 << 4), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 24, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 24, .size = 8 }, Loading @@ -963,7 +963,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 2, .id = 2, .parent = &clk_dout_mmc2.clk, .parent = &clk_dout_mmc2.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 8), .ctrlbit = (1 << 8), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 8, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 8, .size = 8 }, Loading @@ -972,7 +972,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 3, .id = 3, .parent = &clk_dout_mmc3.clk, .parent = &clk_dout_mmc3.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 12), .ctrlbit = (1 << 12), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 }, Loading @@ -981,7 +981,7 @@ static struct clksrc_clk clksrcs[] = { .name = "sclk_mmc", .name = "sclk_mmc", .id = 4, .id = 4, .parent = &clk_dout_mmc4.clk, .parent = &clk_dout_mmc4.clk, .enable = s5pv310_clksrc_mask_fsys_ctrl, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 16), .ctrlbit = (1 << 16), }, }, .reg_div = { .reg = S5P_CLKDIV_FSYS3, .shift = 8, .size = 8 }, .reg_div = { .reg = S5P_CLKDIV_FSYS3, .shift = 8, .size = 8 }, Loading Loading @@ -1022,16 +1022,16 @@ static struct clksrc_clk *sysclks[] = { static int xtal_rate; static int xtal_rate; static unsigned long s5pv310_fout_apll_get_rate(struct clk *clk) static unsigned long exynos4_fout_apll_get_rate(struct clk *clk) { { return s5p_get_pll45xx(xtal_rate, __raw_readl(S5P_APLL_CON0), pll_4508); return s5p_get_pll45xx(xtal_rate, __raw_readl(S5P_APLL_CON0), pll_4508); } } static struct clk_ops s5pv310_fout_apll_ops = { static struct clk_ops exynos4_fout_apll_ops = { .get_rate = s5pv310_fout_apll_get_rate, .get_rate = exynos4_fout_apll_get_rate, }; }; void __init_or_cpufreq s5pv310_setup_clocks(void) void __init_or_cpufreq exynos4_setup_clocks(void) { { struct clk *xtal_clk; struct clk *xtal_clk; unsigned long apll; unsigned long apll; Loading Loading @@ -1070,12 +1070,12 @@ void __init_or_cpufreq s5pv310_setup_clocks(void) vpll = s5p_get_pll46xx(vpllsrc, __raw_readl(S5P_VPLL_CON0), vpll = s5p_get_pll46xx(vpllsrc, __raw_readl(S5P_VPLL_CON0), __raw_readl(S5P_VPLL_CON1), pll_4650); __raw_readl(S5P_VPLL_CON1), pll_4650); clk_fout_apll.ops = &s5pv310_fout_apll_ops; clk_fout_apll.ops = &exynos4_fout_apll_ops; clk_fout_mpll.rate = mpll; clk_fout_mpll.rate = mpll; clk_fout_epll.rate = epll; clk_fout_epll.rate = epll; clk_fout_vpll.rate = vpll; clk_fout_vpll.rate = vpll; printk(KERN_INFO "S5PV310: PLL settings, A=%ld, M=%ld, E=%ld V=%ld", printk(KERN_INFO "EXYNOS4: PLL settings, A=%ld, M=%ld, E=%ld V=%ld", apll, mpll, epll, vpll); apll, mpll, epll, vpll); armclk = clk_get_rate(&clk_armclk.clk); armclk = clk_get_rate(&clk_armclk.clk); Loading @@ -1086,7 +1086,7 @@ void __init_or_cpufreq s5pv310_setup_clocks(void) aclk_160 = clk_get_rate(&clk_aclk_160.clk); aclk_160 = clk_get_rate(&clk_aclk_160.clk); aclk_133 = clk_get_rate(&clk_aclk_133.clk); aclk_133 = clk_get_rate(&clk_aclk_133.clk); printk(KERN_INFO "S5PV310: ARMCLK=%ld, DMC=%ld, ACLK200=%ld\n" printk(KERN_INFO "EXYNOS4: ARMCLK=%ld, DMC=%ld, ACLK200=%ld\n" "ACLK100=%ld, ACLK160=%ld, ACLK133=%ld\n", "ACLK100=%ld, ACLK160=%ld, ACLK133=%ld\n", armclk, sclk_dmc, aclk_200, armclk, sclk_dmc, aclk_200, aclk_100, aclk_160, aclk_133); aclk_100, aclk_160, aclk_133); Loading @@ -1103,7 +1103,7 @@ static struct clk *clks[] __initdata = { /* Nothing here yet */ /* Nothing here yet */ }; }; void __init s5pv310_register_clocks(void) void __init exynos4_register_clocks(void) { { int ptr; int ptr; Loading
arch/arm/mach-s5pv310/include/mach/regs-clock.h→arch/arm/mach-exynos4/include/mach/regs-clock.h +4 −4 Original line number Original line Diff line number Diff line /* linux/arch/arm/mach-s5pv310/include/mach/regs-clock.h /* linux/arch/arm/mach-exynos4/include/mach/regs-clock.h * * * Copyright (c) 2010 Samsung Electronics Co., Ltd. * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * http://www.samsung.com * * * S5PV310 - Clock register definitions * EXYNOS4 - Clock register definitions * * * This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as Loading