aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa (follow)
AgeCommit message (Collapse)AuthorFilesLines
2007-11-16[ARM] 4638/1: pxa: use PXA3xx specific macros to define clkseric miao1-7/+30
PXA3xx uses its own clk_pxa3xx_cken_ops, modify the code to use the PXA3xx specific macros to define its clocks Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-11-08[ARM] pxa: fix one-shot timer modeRussell King1-9/+14
One-shot timer mode on PXA has various bugs which prevent kernels build with NO_HZ enabled booting. They end up spinning on a permanently asserted timer interrupt because we don't properly clear it down - clearing the OIER bit does not stop the pending interrupt status. Fix this in the set_mode handler as well. Moreover, the code which sets the next expiry point may race with the hardware, and we might not set the match register sufficiently in the future. If we encounter that situation, return -ETIME so the generic time code retries. Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-31[ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.comeric miao7-7/+7
Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-31[ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warningRussell King1-0/+3
Resolve: CC arch/arm/mach-pxa/time.o arch/arm/mach-pxa/time.c: In function `pxa_osmr0_set_mode': arch/arm/mach-pxa/time.c:154: warning: enumeration value `CLOCK_EVT_MODE_RESUME' not handled in switch Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-20[ARM] 4613/1: pxa300: MFP typo fixAleksey Makarov1-2/+4
This fixes a typo in MFP address map. Signed-off-by: Aleksey Makarov <amakarov@ru.mvista.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-18PM: Rename struct pm_ops and related thingsRafael J. Wysocki2-3/+3
The name of 'struct pm_ops' suggests that it is related to the power management in general, but in fact it is only related to suspend.  Moreover, its name should indicate what this structure is used for, so it seems reasonable to change it to 'struct platform_suspend_ops'.  In that case, the name of the global variable of this type used by the PM core and the names of related functions should be changed accordingly. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Cc: Len Brown <lenb@kernel.org> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-18PM: Move definition of struct pm_ops to suspend.hRafael J. Wysocki2-2/+2
Move the definition of 'struct pm_ops' and related functions from <linux/pm.h> to <linux/suspend.h> . There are, at least, the following reasons to do that: * 'struct pm_ops' is specifically related to suspend and not to the power management in general. * As long as 'struct pm_ops' is defined in <linux/pm.h>, any modification of it causes the entire kernel to be recompiled, which is unnecessary and annoying. * Some suspend-related features are already defined in <linux/suspend.h>, so it is logical to move the definition of 'struct pm_ops' into there. * 'struct hibernation_ops', being the hibernation-related counterpart of 'struct pm_ops', is defined in <linux/suspend.h> . Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Cc: Len Brown <lenb@kernel.org> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-15[ARM] 4576/1: CM-X270 machine supportMike Rapoport5-0/+887
This patch provides core support for CM-X270 platform. Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-15[ARM] pxa: Avoid pxa_gpio_mode() in gpio_direction_{in,out}put()Russell King1-0/+38
pxa_gpio_mode() is a universal call that fiddles with the GAFR (gpio alternate function register.) GAFR does not exist on PXA3 CPUs, but instead the alternate functions are controlled via the MFP support code. Platforms are expected to configure the MFP according to their needs in their platform support code rather than drivers. We extend this idea to the GAFR, and make the gpio_direction_*() functions purely operate on the GPIO level. This means platform support code is entirely responsible for configuring the GPIOs alternate functions on all PXA CPU types. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-15[ARM] pxa: move pxa_set_mode() from pxa2xx_mainstone.c to mainstone.cRussell King1-0/+19
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-15[ARM] pxa: move pxa_set_mode() from pxa2xx_lubbock.c to lubbock.cRussell King1-0/+19
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-15[ARM] pxa: PXA3xx base supporteric miao12-4/+1229
Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-15[ARM] pxa: tidy up arch/arm/mach-pxa/MakefileRussell King1-16/+16
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] 4560/1: pxa: move processor specific set_wake logic out of irq.ceric miao4-73/+116
a function pxa_init_irq_set_wake() was introduced, so that processor specific code could install their own version code setting PFER and PRER registers within pxa_gpio_irq_type are removed, and the edge configuration is postponed to the (*set_wake) and copies the GRER and GFER register, which will always be set up correctly by pxa_gpio_irq_type() Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] 4559/1: pxa: make PXA_LAST_GPIO a run-time variableeric miao3-1/+5
This definition produces processor specific code in generic function pxa_gpio_mode(), thus creating inconsistencies for support of pxa25x and pxa27x in a single zImage. As David Brownell suggests, make it a run-time variable and initialize at run-time according to the number of GPIOs on the processor. For now the initialization happens in pxa_init_irq_gpio(), since there is already a parameter for that, besides, this is and MUST be earlier than any subsequent calls to pxa_gpio_mode(). Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: mark pxa_set_cken deprecatedRussell King1-2/+2
Allow the generic clock support code to fiddle with the CKEN register and mark pxa_set_cken() deprecated. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: remove get_lcdclk_frequency_10khz()Russell King3-15/+1
get_lcdclk_frequency_10khz() is now redundant, remove it. Hide pxa27x_get_lcdclk_frequency_10khz() from public view. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: Make STUART and FICP clocks availableRussell King2-3/+3
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: introduce clk support for PXA SoC clocksRussell King4-29/+176
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: make pxa27x devices globally visibleRussell King2-2/+5
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: fix naming of memory/lcd/core clock functionsRussell King4-23/+61
Rename pxa25x and pxa27x memory/lcd/core clock functions, and select the correct version at run time. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: convert PXA serial drivers to use platform resourcesRussell King1-0/+59
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] pxa: make pxa timer initialisation select clock rate at runtimeRussell King1-3/+13
Rather than using the compile-time constant CLOCK_TICK_RATE, select the clock tick rate at run time. We organise the selection so that PXA3 automatically falls out with the right tick rate. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12[ARM] 4550/1: sched_clock on PXA should cope with run time clock rate selectionNicolas Pitre2-62/+39
The previous implementation was relying on compile time optimizations based on a constant clock rate. However, support for different PXA flavors in the same kernel binary requires that the clock be selected at run time, so here it is. Let's move this code to a more appropriate location while at it. Signed-off-by: Nicolas Pitre <npitre@mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-11backlight: Convert corgi backlight driver into a more generic driverRichard Purdie2-4/+32
Convert the corgi backlight driver to a more generic version so it can be reused by other code rather than being Zaurus/PXA specific. Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
2007-08-28[ARM] 4557/1: Fix PXA irq gpio initializationSamuel1-1/+1
As pointed out by Jrgen, we are overflowing the number of GPIOs in pxa_init_irq_gpio(). I'm seeing the same problem on my HTC Universal PXA270 based PDA. According to Eric, the function argument is the number of GPIOs, so we should keep the semantics and reduce the number of iteration by 1. Signed-off-by: Samuel Ortiz <sameo@openedhand.com> Acked-by: Jrgen Schindele <linux@schindele.name> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-22[ARM] 4507/1: pxa2xx clock_event_deviceBill Gatliff1-130/+128
Reimplements arch/arm/mach-pxa/time.c using a clock_event_device based on OSMR0. Tested on PXA270, linux-2.6.22+arm:pxa patches. Signed-off-by: Bill Gatliff <bgat@billgatliff.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-20[ARM] 4475/2: EM-x270 board supportMike Rapoport3-0/+359
Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-20[ARM] 4489/1: pxa: split pxa_cpu_suspend to processor specific onesEric Miao3-46/+75
1. split pxa_cpu_suspend to pxa25x_cpu_suspend and pxa27x_cpu_suspend and make pxa25x_cpu_pm_enter() and pxa27x_cpu_pm_enter() to invoke the corresponding _suspend functions, thus remove all those ugly #ifdef .. #endif out of sleep.S 2. move the declarations of those suspend functions to pm.h note: this is not a clean enough solution until all the pxa25x and pxa27x specific part is further removed out of sleep.S, sleep.S is supposed to contain generic code only Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-20[ARM] 4488/1: pxa: move pxa25x/pxa27x specific code out of pm.cEric Miao3-136/+234
1. introduce a structure pxa_cpu_pm_fns for pxa25x/pxa27x specific operations as follows: struct pxa_cpu_pm_fns { int save_size; void (*save)(unsigned long *); void (*restore)(unsigned long *); int (*valid)(suspend_state_t state); void (*enter)(suspend_state_t state); } 2. processor specific registers saving and restoring are performed by calling the corresponding (*save) and (*restore) 3. pxa_cpu_pm_fns->save_size should be initialized to the required size for processor specific registers saving, the allocated memory address will be passed to (*save) and (*restore) memory allocation happens early in pxa_pm_init(), and save_size should be assigned prior to this (which is usually true, since pxa_pm_init() happens in device_initcall() 4. there're some redundancies for those SLEEP_SAVE_XXX and related macros, will be fixed later, one way possible is for the system devices to handle the specific registers saving and restoring Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-20[ARM] 4480/1: pxa: change the pxa device naming schemeEric Miao4-53/+53
1. for common devices across all the pxa variants, the names are changed to be: "pxa_device_xxx" 2. for pxa25x or pxa27x specific devices, the names are changed to be: "pxa25x_device_xxx", or "pxa27x_device_xxx" Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: move platform devices to separate header fileRussell King14-12/+23
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: move device registration into CPU-specific fileRussell King4-76/+83
This allows individual CPU support to determine which platform devices should be registered. Also fix a copy-n-paste bug in the I2C power platform device entry. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: remove boot time RTC initialisationRussell King1-9/+0
The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: stop doing our own rtc management over suspendRussell King1-10/+0
Remove the RTC management over a suspend/resume cycle. Firstly, we may not be using the internal RTC for time keeping; some platforms have an external RTC for this inspite of the PXA having an internal RTC. Secondly, the RTC library code handles updating system time on resume. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma codeEric Miao3-13/+39
Since the number of dma channels varies between pxa25x and pxa27x, it introduces some specific code in dma.c. This patch moves the specific code to pxa25x.c and pxa27x.c and makes dma.c more generic. 1. add pxa_init_dma() for dma initialization, the number of channels are passed in by the argument 2. add a "prio" field to the "struct pxa_dma_channel" for the channel priority, and is initialized in pxa_init_dma() 3. use a general priority comparison with the channels "prio" field so to remove the processor specific pxa_for_each_dma_prio macro, this is not lightning fast as the original one, but it is acceptable as it happens when requesting dma, which is usually not so performance critical Signed-off-by: eric miao <eric.miao@marvell.com> Acked-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq()Eric Miao13-23/+33
/* should be ok this time, I aligned this patch to your arm:pxa2.mbox */ 1. move pxa25x specific IRQ initialization code to pxa25x_init_irq() and pxa27x code to pxa27x_init_irq(), remove pxa_init_irq() 2. replace all pxa_init_irq() with their PXA25x or PXA27x specific functions Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler()Eric Miao1-6/+4
1. use GPIO_IRQ_mask[] to select those bits of interest, actually only those "unmasked" GPIO IRQs with their corresponding bits in GPIO_IRQ_mask[] set to "1" should be checked 2. remove #ifdef PXA_LAST_GPIO > 96 .. #endif, GPIO_IRQ_mask[] is used to mask out the irrelevant bits, so that even though the GEDR3 on PXA25x is reserved, it will be masked, and the following code will never run. Another point is that GPIO85- GPIO95 bits within GEDR2 will also be masked out on PXA25x Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio()Eric Miao1-24/+17
move the GPIO IRQ initialization code to pxa_init_irq_gpio() Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low()Eric Miao1-15/+21
1. move low IRQ initialization code to pxa_init_irq_low() Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQSEric Miao1-10/+16
1. define PXA_GPIO_IRQ_BASE to be right after the internal IRQs, and define PXA_GPIO_IRQ_NUM to be 128 for all PXA2xx variants 2. make the code specific to the high IRQ numbers (32..64) to be PXA27x specific 3. add a function pxa_init_irq_high() to initialize the internal high IRQ chip, the invoke of this function could be moved to PXA27x specific initialization code Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] 4434/1: PXA: remove PXA_IRQ_SKIPEric Miao1-5/+5
1. PXA_IRQ_SKIP is defined to be 7 on PXA25x so that the first IRQ starts from zero. This makes IRQ numbering inconsistent between PXA25x and PXA27x. Remove this macro so that the same IRQ_XXXXX definition has the same value on both PXA25x and PXA27x. 2. make IRQ_SSP3..IRQ_PWRI2C valid only if PXA27x is defined, this avoids unintentional use of these macros on PXA25x Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare()Russell King2-26/+6
pxa_pm_prepare() tried to validate the suspend method type. As noted in previous commits: eb9289eb20df6b54214c45ac7c6bf5179a149026 9c372d06ce9ddf65e1393f9ea22a6d6bd5f96b42 e8c9c502690efd24b7055bf608e7a3c34216848b the checking of the suspend type in the 'prepare' method is the wrong place to do this; use the 'valid' method instead. This means that pxa_pm_prepare() can be entirely removed. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: move pm_ops structure into CPU specific filesRussell King3-29/+34
Move the pm_ops structure into the PXA25x and PXA27x support files. Remove the old pxa_pm_prepare() function, and rename the both pxa_cpu_pm_prepare() functions as pxa_pm_prepare(). We'll fix that later. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: introduce cpu_is_pxaXXX macrosRussell King1-4/+2
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: use mutexes instead of semaphoresRussell King1-8/+7
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-12[ARM] pxa: remove useless pxa_pm_finish() functionRussell King1-11/+0
pxa_pm_finish() does nothing but return zero. The core code does nothing with this return value, and will not try to call the finish method in the pm_ops structure if it is NULL. Therefore, we can remove this useless function. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-07-02[ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resumeRichard Purdie1-2/+2
The PXA CKEN changes broken syspend/resume on the pxa27x. This patch corrects the problem and fixes another couple of bad references. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-05-20[ARM] spelling fixesSimon Arlott2-6/+6
Spelling fixes in arch/arm/. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-05-11[ARM] 4362/1: trizeps4 updateJürgen Schindele1-13/+49
This update for trizeps4 SoM contains: - support for new TFT on more recent ConXS evalboard - correct partition of flash device - update of "trizeps4_defconfig" Signed-off-by: Jrgen Schindele (linux@schindele.name) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>