To allow PXA3xx nand driver to be reused on Marvell Armada 370/XP, prepare to provide a common clock for the NAND driver on PXA3xx. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> --- Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Cc: barebox@xxxxxxxxxxxxxxxxxxx --- arch/arm/Kconfig | 1 + arch/arm/mach-pxa/Kconfig | 2 ++ arch/arm/mach-pxa/speed-pxa3xx.c | 16 ++++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 203f912e96e5..90af91819f08 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -147,6 +147,7 @@ config ARCH_PXA bool "Intel/Marvell PXA based" select GENERIC_GPIO select HAS_POWEROFF + select HAVE_CLK config ARCH_ROCKCHIP bool "Rockchip RX3xxx" diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 54094f4ca0ed..1c0894892b17 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig @@ -17,6 +17,8 @@ config ARCH_PXA2XX config ARCH_PXA3XX bool select CPU_XSC3 + select CLKDEV_LOOKUP + select COMMON_CLK config ARCH_PXA310 bool diff --git a/arch/arm/mach-pxa/speed-pxa3xx.c b/arch/arm/mach-pxa/speed-pxa3xx.c index 6a08ea78f065..91e03eae4a52 100644 --- a/arch/arm/mach-pxa/speed-pxa3xx.c +++ b/arch/arm/mach-pxa/speed-pxa3xx.c @@ -8,6 +8,9 @@ */ #include <common.h> +#include <init.h> +#include <linux/clk.h> +#include <linux/clkdev.h> #include <mach/clock.h> #include <mach/pxa-regs.h> @@ -31,3 +34,16 @@ unsigned long pxa_get_nandclk(void) else return 156000000; } + +static int pxa3xx_clock_init(void) +{ + unsigned long nand_rate = (cpu_is_pxa320()) ? 104000000 : 156000000; + struct clk *clk; + + clk = clk_fixed("nand", nand_rate); + if (IS_ERR(clk)) + return PTR_ERR(clk); + + return clk_register_clkdev(clk, NULL, "mrvl_nand"); +} +postcore_initcall(pxa3xx_clock_init); -- 2.1.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox