diff options
Diffstat (limited to 'arch/arm/mach-pxa/pxa300.c')
-rw-r--r-- | arch/arm/mach-pxa/pxa300.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/pxa300.c b/arch/arm/mach-pxa/pxa300.c index 0a0d3877f21..9adc7fc4618 100644 --- a/arch/arm/mach-pxa/pxa300.c +++ b/arch/arm/mach-pxa/pxa300.c @@ -15,9 +15,15 @@ #include <linux/module.h> #include <linux/kernel.h> +#include <linux/platform_device.h> -#include <asm/hardware.h> -#include <asm/arch/mfp-pxa300.h> +#include <mach/hardware.h> +#include <mach/pxa3xx-regs.h> +#include <mach/mfp-pxa300.h> + +#include "generic.h" +#include "devices.h" +#include "clock.h" static struct pxa3xx_mfp_addr_map pxa300_mfp_addr_map[] __initdata = { @@ -79,15 +85,28 @@ static struct pxa3xx_mfp_addr_map pxa310_mfp_addr_map[] __initdata = { MFP_ADDR_END, }; +static struct clk common_clks[] = { + PXA3xx_CKEN("NANDCLK", NAND, 156000000, 0, &pxa3xx_device_nand.dev), +}; + +static struct clk pxa310_clks[] = { +#ifdef CONFIG_CPU_PXA310 + PXA3xx_CKEN("MMCCLK", MMC3, 19500000, 0, &pxa3xx_device_mci3.dev), +#endif +}; + static int __init pxa300_init(void) { if (cpu_is_pxa300() || cpu_is_pxa310()) { pxa3xx_init_mfp(); pxa3xx_mfp_init_addr(pxa300_mfp_addr_map); + clks_register(ARRAY_AND_SIZE(common_clks)); } - if (cpu_is_pxa310()) + if (cpu_is_pxa310()) { pxa3xx_mfp_init_addr(pxa310_mfp_addr_map); + clks_register(ARRAY_AND_SIZE(pxa310_clks)); + } return 0; } |