Re: [PATCH v8 5/6] cpufreq: exynos: remove exynos4210/5250 specific cpufreq driver support
[CC Bart] On 29.07.2014 07:28, Thomas Abraham wrote: > Exynos4210 and Exynos5250 based platforms have switched over to use generic > cpufreq drivers for cpufreq functionality. So the Exynos specific cpufreq > drivers for these platforms can be removed. > > Cc: Viresh Kumar > Signed-off-by: Thomas Abraham > --- > drivers/cpufreq/Kconfig.arm | 22 > drivers/cpufreq/Makefile |2 - > drivers/cpufreq/exynos4210-cpufreq.c | 184 - > drivers/cpufreq/exynos5250-cpufreq.c | 210 > -- > 4 files changed, 418 deletions(-) > delete mode 100644 drivers/cpufreq/exynos4210-cpufreq.c > delete mode 100644 drivers/cpufreq/exynos5250-cpufreq.c > > diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm > index 7364a53..f81fc3e 100644 > --- a/drivers/cpufreq/Kconfig.arm > +++ b/drivers/cpufreq/Kconfig.arm > @@ -28,17 +28,6 @@ config ARM_VEXPRESS_SPC_CPUFREQ > config ARM_EXYNOS_CPUFREQ > bool > > -config ARM_EXYNOS4210_CPUFREQ > - bool "SAMSUNG EXYNOS4210" > - depends on CPU_EXYNOS4210 > - default y > - select ARM_EXYNOS_CPUFREQ > - help > - This adds the CPUFreq driver for Samsung EXYNOS4210 > - SoC (S5PV310 or S5PC210). > - > - If in doubt, say N. > - > config ARM_EXYNOS4X12_CPUFREQ > bool "SAMSUNG EXYNOS4x12" > depends on SOC_EXYNOS4212 || SOC_EXYNOS4412 > @@ -50,17 +39,6 @@ config ARM_EXYNOS4X12_CPUFREQ > > If in doubt, say N. > > -config ARM_EXYNOS5250_CPUFREQ > - bool "SAMSUNG EXYNOS5250" > - depends on SOC_EXYNOS5250 > - default y > - select ARM_EXYNOS_CPUFREQ > - help > - This adds the CPUFreq driver for Samsung EXYNOS5250 > - SoC. > - > - If in doubt, say N. > - > config ARM_EXYNOS5440_CPUFREQ > bool "SAMSUNG EXYNOS5440" > depends on SOC_EXYNOS5440 > diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile > index db6d9a2..fac36ef 100644 > --- a/drivers/cpufreq/Makefile > +++ b/drivers/cpufreq/Makefile > @@ -52,9 +52,7 @@ obj-$(CONFIG_ARM_DT_BL_CPUFREQ) += > arm_big_little_dt.o > obj-$(CONFIG_ARCH_DAVINCI) += davinci-cpufreq.o > obj-$(CONFIG_UX500_SOC_DB8500) += dbx500-cpufreq.o > obj-$(CONFIG_ARM_EXYNOS_CPUFREQ) += exynos-cpufreq.o > -obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ) += exynos4210-cpufreq.o > obj-$(CONFIG_ARM_EXYNOS4X12_CPUFREQ) += exynos4x12-cpufreq.o > -obj-$(CONFIG_ARM_EXYNOS5250_CPUFREQ) += exynos5250-cpufreq.o > obj-$(CONFIG_ARM_EXYNOS5440_CPUFREQ) += exynos5440-cpufreq.o > obj-$(CONFIG_ARM_HIGHBANK_CPUFREQ) += highbank-cpufreq.o > obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o > diff --git a/drivers/cpufreq/exynos4210-cpufreq.c > b/drivers/cpufreq/exynos4210-cpufreq.c > deleted file mode 100644 > index 61a5431..000 > --- a/drivers/cpufreq/exynos4210-cpufreq.c > +++ /dev/null > @@ -1,184 +0,0 @@ > -/* > - * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. > - * http://www.samsung.com > - * > - * EXYNOS4210 - CPU frequency scaling support > - * > - * 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 > - * published by the Free Software Foundation. > -*/ > - > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > - > -#include "exynos-cpufreq.h" > - > -static struct clk *cpu_clk; > -static struct clk *moutcore; > -static struct clk *mout_mpll; > -static struct clk *mout_apll; > -static struct exynos_dvfs_info *cpufreq; > - > -static unsigned int exynos4210_volt_table[] = { > - 125, 115, 105, 975000, 95, > -}; > - > -static struct cpufreq_frequency_table exynos4210_freq_table[] = { > - {0, L0, 1200 * 1000}, > - {0, L1, 1000 * 1000}, > - {0, L2, 800 * 1000}, > - {0, L3, 500 * 1000}, > - {0, L4, 200 * 1000}, > - {0, 0, CPUFREQ_TABLE_END}, > -}; > - > -static struct apll_freq apll_freq_4210[] = { > - /* > - * values: > - * freq > - * clock divider for CORE, COREM0, COREM1, PERIPH, ATB, PCLK_DBG, APLL, > RESERVED > - * clock divider for COPY, HPM, RESERVED > - * PLL M, P, S > - */ > - APLL_FREQ(1200, 0, 3, 7, 3, 4, 1, 7, 0, 5, 0, 0, 150, 3, 1), > - APLL_FREQ(1000, 0, 3, 7, 3, 4, 1, 7, 0, 4, 0, 0, 250, 6, 1), > - APLL_FREQ(800, 0, 3, 7, 3, 3, 1, 7, 0, 3, 0, 0, 200, 6, 1), > - APLL_FREQ(500, 0, 3, 7, 3, 3, 1, 7, 0, 3, 0, 0, 250, 6, 2), > - APLL_FREQ(200, 0, 1, 3, 1, 3, 1, 0, 0, 3, 0, 0, 200, 6, 3), > -}; > - > -static void exynos4210_set_clkdiv(unsigned int div_index) > -{ > - unsigned int tmp; > - > - /* Change Divider - CPU0 */ > - > - tmp = apll_freq_4210[div_index].clk_div_cpu0; > - > - __raw_writel(tmp, cpufreq->cmu_regs + EXYNOS4_CLKDIV_CPU); > - > - do { > - tmp = __raw_readl(cpufreq->cmu_regs +
[PATCH v8 5/6] cpufreq: exynos: remove exynos4210/5250 specific cpufreq driver support
Exynos4210 and Exynos5250 based platforms have switched over to use generic cpufreq drivers for cpufreq functionality. So the Exynos specific cpufreq drivers for these platforms can be removed. Cc: Viresh Kumar Signed-off-by: Thomas Abraham --- drivers/cpufreq/Kconfig.arm | 22 drivers/cpufreq/Makefile |2 - drivers/cpufreq/exynos4210-cpufreq.c | 184 - drivers/cpufreq/exynos5250-cpufreq.c | 210 -- 4 files changed, 418 deletions(-) delete mode 100644 drivers/cpufreq/exynos4210-cpufreq.c delete mode 100644 drivers/cpufreq/exynos5250-cpufreq.c diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index 7364a53..f81fc3e 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -28,17 +28,6 @@ config ARM_VEXPRESS_SPC_CPUFREQ config ARM_EXYNOS_CPUFREQ bool -config ARM_EXYNOS4210_CPUFREQ - bool "SAMSUNG EXYNOS4210" - depends on CPU_EXYNOS4210 - default y - select ARM_EXYNOS_CPUFREQ - help - This adds the CPUFreq driver for Samsung EXYNOS4210 - SoC (S5PV310 or S5PC210). - - If in doubt, say N. - config ARM_EXYNOS4X12_CPUFREQ bool "SAMSUNG EXYNOS4x12" depends on SOC_EXYNOS4212 || SOC_EXYNOS4412 @@ -50,17 +39,6 @@ config ARM_EXYNOS4X12_CPUFREQ If in doubt, say N. -config ARM_EXYNOS5250_CPUFREQ - bool "SAMSUNG EXYNOS5250" - depends on SOC_EXYNOS5250 - default y - select ARM_EXYNOS_CPUFREQ - help - This adds the CPUFreq driver for Samsung EXYNOS5250 - SoC. - - If in doubt, say N. - config ARM_EXYNOS5440_CPUFREQ bool "SAMSUNG EXYNOS5440" depends on SOC_EXYNOS5440 diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index db6d9a2..fac36ef 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -52,9 +52,7 @@ obj-$(CONFIG_ARM_DT_BL_CPUFREQ) += arm_big_little_dt.o obj-$(CONFIG_ARCH_DAVINCI) += davinci-cpufreq.o obj-$(CONFIG_UX500_SOC_DB8500) += dbx500-cpufreq.o obj-$(CONFIG_ARM_EXYNOS_CPUFREQ) += exynos-cpufreq.o -obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ) += exynos4210-cpufreq.o obj-$(CONFIG_ARM_EXYNOS4X12_CPUFREQ) += exynos4x12-cpufreq.o -obj-$(CONFIG_ARM_EXYNOS5250_CPUFREQ) += exynos5250-cpufreq.o obj-$(CONFIG_ARM_EXYNOS5440_CPUFREQ) += exynos5440-cpufreq.o obj-$(CONFIG_ARM_HIGHBANK_CPUFREQ) += highbank-cpufreq.o obj-$(CONFIG_ARM_IMX6Q_CPUFREQ)+= imx6q-cpufreq.o diff --git a/drivers/cpufreq/exynos4210-cpufreq.c b/drivers/cpufreq/exynos4210-cpufreq.c deleted file mode 100644 index 61a5431..000 --- a/drivers/cpufreq/exynos4210-cpufreq.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. - * http://www.samsung.com - * - * EXYNOS4210 - CPU frequency scaling support - * - * 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 - * published by the Free Software Foundation. -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "exynos-cpufreq.h" - -static struct clk *cpu_clk; -static struct clk *moutcore; -static struct clk *mout_mpll; -static struct clk *mout_apll; -static struct exynos_dvfs_info *cpufreq; - -static unsigned int exynos4210_volt_table[] = { - 125, 115, 105, 975000, 95, -}; - -static struct cpufreq_frequency_table exynos4210_freq_table[] = { - {0, L0, 1200 * 1000}, - {0, L1, 1000 * 1000}, - {0, L2, 800 * 1000}, - {0, L3, 500 * 1000}, - {0, L4, 200 * 1000}, - {0, 0, CPUFREQ_TABLE_END}, -}; - -static struct apll_freq apll_freq_4210[] = { - /* -* values: -* freq -* clock divider for CORE, COREM0, COREM1, PERIPH, ATB, PCLK_DBG, APLL, RESERVED -* clock divider for COPY, HPM, RESERVED -* PLL M, P, S -*/ - APLL_FREQ(1200, 0, 3, 7, 3, 4, 1, 7, 0, 5, 0, 0, 150, 3, 1), - APLL_FREQ(1000, 0, 3, 7, 3, 4, 1, 7, 0, 4, 0, 0, 250, 6, 1), - APLL_FREQ(800, 0, 3, 7, 3, 3, 1, 7, 0, 3, 0, 0, 200, 6, 1), - APLL_FREQ(500, 0, 3, 7, 3, 3, 1, 7, 0, 3, 0, 0, 250, 6, 2), - APLL_FREQ(200, 0, 1, 3, 1, 3, 1, 0, 0, 3, 0, 0, 200, 6, 3), -}; - -static void exynos4210_set_clkdiv(unsigned int div_index) -{ - unsigned int tmp; - - /* Change Divider - CPU0 */ - - tmp = apll_freq_4210[div_index].clk_div_cpu0; - - __raw_writel(tmp, cpufreq->cmu_regs + EXYNOS4_CLKDIV_CPU); - - do { - tmp = __raw_readl(cpufreq->cmu_regs + EXYNOS4_CLKDIV_STATCPU); - } while (tmp & 0x111); - - /* Change Divider - CPU1 */ - - tmp = apll_freq_4210[div_index].clk_div_cpu1; - - __raw_writel(tmp, cpufreq->cmu_regs + EXYNOS4_CLKDIV_CPU1); - - do { -