This is a RFC for a series of patches I've been sitting on a while,
it applies on top of latest linus-git (#3-#9 need to be applied
These two are older; they've been updated a bit:
#1 improves stability of DB1200 board,
#2 is a buildfix for mtx-1 with gpiolib=n; the gpio api has
been updated with new functions, which this patch adds.
the other patches mainly replace au_readl/au_writel with __raw_*
functions, and try to reduce the register address clutter in
the au1000.h header. This was basically a single large patch
broken down into smaller ones, one for each ip block.
#3 removes most of the irq-controller related register defines
and updates irq.c to get rid of au_readl/writel.
#4 converts IRQ PM to syscore_ops
#5 converts DBDMA PM to syscore_ops
#6 rewrite UART setup to use runtime CPU detection, and get
rid of most of the uart base address defines
#7 rewrite ethernet setup to use runtime CPU detection,
and get rid of most of the redundant ethernet constants
#8 updates the old au1000 dma driver: according to the
databooks physical addresses should be used for source
and destination; this also allows then to remove
another bunch of redundant address constants.
#9 changes the GPIO1/GPIO2 defines into offsets from their
respective ip block base. I also had to fixup the
mtx-1 wdt driver a bit since it modified the gpio2 block
All patches have been compile tested, and except for #7, #8 and
the wdt parts of #9 also been run- and PM-tested on the DB1200.
CCing Florian and Wolfgang: If you have time, please test #7-#9
on your MTX-1 and GPR boards! I'd like to know whether ethernet
and the mtx-1 watchdog still work! Thanks!
Manuel Lauss (9):
MIPS: DB1200: Set Config[OD] for improved stability.
MIPS: Alchemy: update inlinable GPIO API
MIPS: Alchemy: irq code and constant cleanup
MIPS: Alchemy: convert irq.c to syscore_ops.
MIPS: Alchemy: convert dbdma.c to syscore_ops
MIPS: Alchemy: rewrite UART setup and constants.
MIPS: Alchemy: rewrite ethernet platform setup
MIPS: Alchemy: cleanup DMA addresses
MIPS: Alchemy: clean up GPIO registers and accessors
arch/mips/alchemy/common/dbdma.c | 123 +++-----
arch/mips/alchemy/common/dma.c | 46 ++--
arch/mips/alchemy/common/irq.c | 345 +++++++++++-----------
arch/mips/alchemy/common/platform.c | 250 ++++++++++------
arch/mips/alchemy/common/setup.c | 4 +-
arch/mips/alchemy/devboards/db1200/setup.c | 7 +
arch/mips/alchemy/devboards/pb1000/board_setup.c | 2 +-
arch/mips/alchemy/devboards/pb1500/board_setup.c | 2 +-
arch/mips/alchemy/devboards/prom.c | 2 +-
arch/mips/alchemy/gpr/board_setup.c | 14 +-
arch/mips/alchemy/gpr/init.c | 2 +-
arch/mips/alchemy/mtx-1/board_setup.c | 2 +-
arch/mips/alchemy/mtx-1/init.c | 2 +-
arch/mips/alchemy/xxs1500/board_setup.c | 11 +-
arch/mips/alchemy/xxs1500/init.c | 2 +-
arch/mips/boot/compressed/uart-alchemy.c | 2 +-
arch/mips/include/asm/mach-au1x00/au1000.h | 334 +++++----------------
arch/mips/include/asm/mach-au1x00/au1000_dma.h | 4 -
arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h | 8 -
arch/mips/include/asm/mach-au1x00/gpio-au1000.h | 122 +++++++--
drivers/watchdog/mtx-1_wdt.c | 21 +-
21 files changed, 615 insertions(+), 690 deletions(-)