LPC32XX architecture files (updated v3)
wellsk40 at gmail.com
wellsk40 at gmail.com
Mon Feb 8 19:11:21 EST 2010
This patchset is the third release of the LPC32xx arch files
with many applicable review comments incorporated. Thank you
everyone that helped review and improve this release.
Changes from previous release to v3 (02/08/2010)
Removed __initdata tag from clock lookup array.
Removed <mach/irqs.h> include from irq entry macro.
Added LPC32XX identifier to device specific names for register
addresses, bitfields, and other macros
Added LPC32XX identifier to device specific IRQ names
Changes to suspend.S to make it more readable
Changed register addresses and macros to return a virtual address
via io_p2v of void __iomem * type. Previous types in the
code that uses a different type now use void __iomem *.
This makes the code less busy and fixes many sparse
warnings. Most io_p2v() use in the code has been removed.
_readl/_writel functions use the correct type now without the use
of __force.
_readl/_writel function arguments all use the direct virtual
address or an indiced address (for devices that share
register sets such as timers and UARTs).
Some minor tweaks for sparse warnings
Remove GENERIC_GPIO from arch/arm/Kconfig for mach-LPC32xx
Updated phy3250_defconfig file
The platform Kconfig.plat file was removed.
Arch Kconfig was reduced just the serial port selections.
Added mutex instead of local_irq..() for clock locks.
Revised clock_get_rate code. All clock functions have a get_rate
callback now instead of just LCD and MCI. Changed the way
the rate fetch loop was handled.
Switches to abs() and removed clkpwr_abs for clock driver
functions.
Simplified clock PLL rate config logic.
Fixed USB PLL enable with correct timeout.
Global fixes for all GPL license headers - remove wrong address.
Changed I2C naming to start at '1' instead of '0' to match
hardware convention.
Added IRAM size autodetect function.
Removed printascii() use in arch file.
Fixed multi-line comments.
Moved some register macros used just in GPIO driver to the
GPIO driver from platform.h
Added GPIO pin to bit mapping macros
Fixed some names "na" in GPIO name array to NULL.
Expanded a few GPIO driver comments to help explain the more
wierd mappings better.
Revised debug and uncompress macros to just use the serial port
UART5 for the output (used on Phytec board).
Revised interrupt handler and entry macro to use chained
interrupt handlers for SIC1 and SIC2.
Fixed several CLKPWR bit and IRQ macro names that could cause
confusion with GPI names and the LPC32XX User's guide
Changed VMALLOC_END to 0xF0000000 from PAGE_OFFSET+0x10000000
Added support for set_irq_wake in the interrupt driver with the
supported wakeup sources. Activation level for GPIO
events is inherited from the GPIO interrupt config.
The level handlers are used for hardware based level and edge
interrupts. Thsi is ok for this controller.
Interrupt driver edge/level type logic reduction
FIQ interrupts are no longer enabled by default in the MIC
Changed all readl/writel calls to __raw_readl/__raw_writel.
Removed support for Phytec board variations. This will only
effect very eaarly LCD based boards. Due to the very
limited number of boards out there, this really is
not needed.
Remove board specific code and associated config option for
setting IRAM as the video frame buffer
Moved IRDA enable/disable from the serial setup code to the
board specific init code.
Removed event setup code in board init, replaced with
set_irq_wake functionality now
CPU suspend removed, mem suspend only supported
Allocation and dealloc of temporary storage for IRAM data used
for suspend is no longer GFP_ATOMIC. Code will only
alloc when needed and free on completion.
Removed the pm_event driver, replaced (in part) with the
set_irq_wake support. Events not supported by the
set_irq_wake functionality need to be configured in the
board specific init code.
Changed some config names and descriptions for serial port
setup in KConfig and the serial init code.
Const modifier added to GPIO names
More information about the linux-arm-kernel
mailing list