diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-14 13:42:43 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-14 13:42:43 -0700 |
commit | 2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc (patch) | |
tree | e35a625496acc6ac852846d40b8851186b9d1ac4 /arch/arm/mach-w90x900/w90p910.c | |
parent | 44b7532b8b464f606053562400719c9c21276037 (diff) | |
parent | ce53895a5d24e0ee19fb92f56c17323fb4c9ab27 (diff) | |
download | talos-op-linux-2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc.tar.gz talos-op-linux-2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc.zip |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits)
MAINTAINERS: EB110ATX is not ebsa110
MAINTAINERS: update Eric Miao's email address and status
fb: add support of LCD display controller on pxa168/910 (base layer)
[ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN
[ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines
[ARM] 5544/1: Trust PrimeCell resource sizes
[ARM] pxa/sharpsl_pm: cleanup of gpio-related code.
[ARM] pxa/sharpsl_pm: drop set_irq_type calls
[ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one
[ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific
[ARM] sa1100: remove unused collie_pm.c
[ARM] pxa: fix the conflicting non-static declarations of global_gpios[]
[ARM] 5550/1: Add default configure file for w90p910 platform
[ARM] 5549/1: Add clock api for w90p910 platform.
[ARM] 5548/1: Add gpio api for w90p910 platform
[ARM] 5551/1: Add multi-function pin api for w90p910 platform.
[ARM] Make ARM_VIC_NR depend on ARM_VIC
[ARM] 5546/1: ARM PL022 SSP/SPI driver v3
ARM: OMAP4: SMP: Update defconfig for OMAP4430
ARM: OMAP4: SMP: Enable SMP support for OMAP4430
...
Diffstat (limited to 'arch/arm/mach-w90x900/w90p910.c')
-rw-r--r-- | arch/arm/mach-w90x900/w90p910.c | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/arch/arm/mach-w90x900/w90p910.c b/arch/arm/mach-w90x900/w90p910.c index 2bcbaa681b99..1c97e4930b7a 100644 --- a/arch/arm/mach-w90x900/w90p910.c +++ b/arch/arm/mach-w90x900/w90p910.c @@ -3,8 +3,7 @@ * * Based on linux/arch/arm/plat-s3c24xx/s3c244x.c by Ben Dooks * - * Copyright (c) 2008 Nuvoton technology corporation - * All rights reserved. + * Copyright (c) 2008 Nuvoton technology corporation. * * Wan ZongShun <mcuos.com@gmail.com> * @@ -12,8 +11,7 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * the Free Software Foundation;version 2 of the License. * */ @@ -36,6 +34,7 @@ #include <mach/regs-serial.h> #include "cpu.h" +#include "clock.h" /* Initial IO mappings */ @@ -45,9 +44,52 @@ static struct map_desc w90p910_iodesc[] __initdata = { IODESC_ENT(UART), IODESC_ENT(TIMER), IODESC_ENT(EBI), + IODESC_ENT(USBEHCIHOST), + IODESC_ENT(USBOHCIHOST), + IODESC_ENT(ADC), + IODESC_ENT(RTC), + IODESC_ENT(KPI), + IODESC_ENT(USBDEV), /*IODESC_ENT(LCD),*/ }; +/* Initial clock declarations. */ +static DEFINE_CLK(lcd, 0); +static DEFINE_CLK(audio, 1); +static DEFINE_CLK(fmi, 4); +static DEFINE_CLK(dmac, 5); +static DEFINE_CLK(atapi, 6); +static DEFINE_CLK(emc, 7); +static DEFINE_CLK(usbd, 8); +static DEFINE_CLK(usbh, 9); +static DEFINE_CLK(g2d, 10);; +static DEFINE_CLK(pwm, 18); +static DEFINE_CLK(ps2, 24); +static DEFINE_CLK(kpi, 25); +static DEFINE_CLK(wdt, 26); +static DEFINE_CLK(gdma, 27); +static DEFINE_CLK(adc, 28); +static DEFINE_CLK(usi, 29); + +static struct clk_lookup w90p910_clkregs[] = { + DEF_CLKLOOK(&clk_lcd, "w90p910-lcd", NULL), + DEF_CLKLOOK(&clk_audio, "w90p910-audio", NULL), + DEF_CLKLOOK(&clk_fmi, "w90p910-fmi", NULL), + DEF_CLKLOOK(&clk_dmac, "w90p910-dmac", NULL), + DEF_CLKLOOK(&clk_atapi, "w90p910-atapi", NULL), + DEF_CLKLOOK(&clk_emc, "w90p910-emc", NULL), + DEF_CLKLOOK(&clk_usbd, "w90p910-usbd", NULL), + DEF_CLKLOOK(&clk_usbh, "w90p910-usbh", NULL), + DEF_CLKLOOK(&clk_g2d, "w90p910-g2d", NULL), + DEF_CLKLOOK(&clk_pwm, "w90p910-pwm", NULL), + DEF_CLKLOOK(&clk_ps2, "w90p910-ps2", NULL), + DEF_CLKLOOK(&clk_kpi, "w90p910-kpi", NULL), + DEF_CLKLOOK(&clk_wdt, "w90p910-wdt", NULL), + DEF_CLKLOOK(&clk_gdma, "w90p910-gdma", NULL), + DEF_CLKLOOK(&clk_adc, "w90p910-adc", NULL), + DEF_CLKLOOK(&clk_usi, "w90p910-usi", NULL), +}; + /* Initial serial platform data */ struct plat_serial8250_port w90p910_uart_data[] = { @@ -77,8 +119,9 @@ void __init w90p910_map_io(struct map_desc *mach_desc, int mach_size) /*Init W90P910 clock*/ -void __init w90p910_init_clocks(int xtal) +void __init w90p910_init_clocks(void) { + clks_register(w90p910_clkregs, ARRAY_SIZE(w90p910_clkregs)); } static int __init w90p910_init_cpu(void) |