Here's a collection of patches to the Alchemy board and driver codebases I've been sitting on a while. All apply against latest linus-git (as of 2011-11-01 1800Z) merged with Ralf's upstream-linus branch. Overview: #01-02 get rid of unused board code (PB1000, Bosporus/Mirage). I have no test hardware; getting rid of Bosporus/Mirage makes it much easier to merge support for DB1000/1500/1100. I have datasheets for all three and can bring them back if desired, but I'd rather not if at all possible. #03 db1200 irq code optimization #04-05 Au1300/Db1300 support #06 better db1550 support, like db1200 and db1300. #07-08 board support code is (imo needlessly) scattered across multiple files. these patches merge them into per-board files. #09 au1200fb calls globally-visible functions to control panels. this patch introduces platform data instead, because it's much nicer. #10 pb1200 is just a db1200 with more mmc and camera sockets. this patch implements board autodetection and setup for both to the db1200 code. #11 db1000/1500/1100 are basically identical (plus PCI for db1500). after applying this patch a kernel image can be built which runs on all three. #12 add MMC support to the DB1100 #13 add the on-chip RTC device to all pb/db boards. #14 convert au1550nd.c to a platform driver. I initially did this because gen_nand didn't seem to work on the DB1550 until I realized YAMON did not configure the NAND CS correctly (the original writers realized that and had au1550nd.c correct that). After a YAMON update gen_nand works for the DB1550, but since I have no PB1550 I opted to keep au1550nd. #15 with the au1550nd.c conversion some headers have become obsolete. #16 convert au1k_ir IRDA driver to platform_driver. #17 add IrDA platform data for DB1000/1100 (necessary after #16). #18 add ADS78xx touchscreen support to DB1100. All compile and run-tested where possible. Thanks, Manuel Lauss Manuel Lauss (18): MIPS: Alchemy: remove PB1000 support MIPS: Alchemy: drop MIRAGE/BOSPORUS board support MIPS: Alchemy: devboards: remove unneeded BCSR IRQ register writes MIPS: Alchemy: Au1300 SoC support MIPS: Alchemy: DB1300 support MIPS: Alchemy: better DB1550 support MIPS: Alchemy: merge GPR/MTX-1/XXS1500 board code into single files MIPS: Alchemy: merge devboard code into single per-board files. MIPS: Alchemy: move au1200fb global functions to platform data MIPS: Alchemy: Merge PB1200 support into DB1200 code. MIPS: Alchemy: one kernel for DB1000/DB1500/DB1100 MIPS: Alchemy: MMC for DB1100 MIPS: Alchemy: add RTC device to all devboards MTD: nand: make au1550nd.c a platform_driver MIPS: Alchemy: remove unused board headers net/irda: convert au1k_ir to platform driver. MIPS: Alchemy: hook up IrDA on DB1000/DB1100 MIPS: Alchemy: Touchscreen support on DB1100 arch/mips/alchemy/Kconfig | 60 +- arch/mips/alchemy/Makefile | 3 + arch/mips/alchemy/Platform | 58 +- arch/mips/alchemy/board-gpr.c | 303 ++++++ arch/mips/alchemy/board-mtx1.c | 313 ++++++ arch/mips/alchemy/board-xxs1500.c | 154 +++ arch/mips/alchemy/common/Makefile | 3 +- arch/mips/alchemy/common/dbdma.c | 46 + arch/mips/alchemy/common/gpioint.c | 411 ++++++++ arch/mips/alchemy/common/gpiolib.c | 42 + arch/mips/alchemy/common/irq.c | 11 - arch/mips/alchemy/common/platform.c | 31 +- arch/mips/alchemy/common/power.c | 3 + arch/mips/alchemy/common/sleeper.S | 73 ++ arch/mips/alchemy/common/time.c | 1 + arch/mips/alchemy/common/vss.c | 84 ++ arch/mips/alchemy/devboards/Makefile | 19 +- arch/mips/alchemy/devboards/bcsr.c | 11 +- arch/mips/alchemy/devboards/db1000.c | 564 ++++++++++ arch/mips/alchemy/devboards/db1200.c | 913 ++++++++++++++++ arch/mips/alchemy/devboards/db1200/Makefile | 1 - arch/mips/alchemy/devboards/db1200/platform.c | 648 ------------ arch/mips/alchemy/devboards/db1200/setup.c | 81 -- arch/mips/alchemy/devboards/db1300.c | 784 ++++++++++++++ arch/mips/alchemy/devboards/db1550.c | 498 +++++++++ arch/mips/alchemy/devboards/db1x00/Makefile | 8 - arch/mips/alchemy/devboards/db1x00/board_setup.c | 229 ---- arch/mips/alchemy/devboards/db1x00/platform.c | 315 ------ arch/mips/alchemy/devboards/pb1000/Makefile | 8 - arch/mips/alchemy/devboards/pb1000/board_setup.c | 209 ---- arch/mips/alchemy/devboards/pb1100.c | 167 +++ arch/mips/alchemy/devboards/pb1100/Makefile | 8 - arch/mips/alchemy/devboards/pb1100/board_setup.c | 127 --- arch/mips/alchemy/devboards/pb1100/platform.c | 77 -- arch/mips/alchemy/devboards/pb1200/Makefile | 5 - arch/mips/alchemy/devboards/pb1200/board_setup.c | 174 --- arch/mips/alchemy/devboards/pb1200/platform.c | 339 ------ arch/mips/alchemy/devboards/pb1500.c | 198 ++++ arch/mips/alchemy/devboards/pb1500/Makefile | 8 - arch/mips/alchemy/devboards/pb1500/board_setup.c | 139 --- arch/mips/alchemy/devboards/pb1500/platform.c | 94 -- arch/mips/alchemy/devboards/pb1550.c | 244 +++++ arch/mips/alchemy/devboards/pb1550/Makefile | 8 - arch/mips/alchemy/devboards/pb1550/board_setup.c | 80 -- arch/mips/alchemy/devboards/pb1550/platform.c | 140 --- arch/mips/alchemy/devboards/platform.c | 13 +- arch/mips/alchemy/devboards/prom.c | 11 +- arch/mips/alchemy/gpr/Makefile | 8 - arch/mips/alchemy/gpr/board_setup.c | 75 -- arch/mips/alchemy/gpr/init.c | 63 -- arch/mips/alchemy/gpr/platform.c | 230 ---- arch/mips/alchemy/mtx-1/Makefile | 9 - arch/mips/alchemy/mtx-1/board_setup.c | 94 -- arch/mips/alchemy/mtx-1/init.c | 66 -- arch/mips/alchemy/mtx-1/platform.c | 230 ---- arch/mips/alchemy/xxs1500/Makefile | 8 - arch/mips/alchemy/xxs1500/board_setup.c | 93 -- arch/mips/alchemy/xxs1500/init.c | 63 -- arch/mips/alchemy/xxs1500/platform.c | 63 -- arch/mips/boot/compressed/uart-alchemy.c | 5 +- arch/mips/configs/db1000_defconfig | 369 ++++++-- arch/mips/configs/db1100_defconfig | 122 --- arch/mips/configs/db1300_defconfig | 391 +++++++ arch/mips/configs/db1500_defconfig | 128 --- arch/mips/configs/db1550_defconfig | 288 ++++-- arch/mips/configs/pb1200_defconfig | 170 --- arch/mips/include/asm/cpu.h | 1 + arch/mips/include/asm/mach-au1x00/au1000.h | 273 ++++- arch/mips/include/asm/mach-au1x00/au1100_mmc.h | 2 + arch/mips/include/asm/mach-au1x00/au1200fb.h | 14 + arch/mips/include/asm/mach-au1x00/au1550nd.h | 16 + arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h | 31 + arch/mips/include/asm/mach-au1x00/gpio-au1300.h | 241 +++++ arch/mips/include/asm/mach-au1x00/gpio.h | 3 + arch/mips/include/asm/mach-db1x00/bcsr.h | 36 +- arch/mips/include/asm/mach-db1x00/db1200.h | 11 +- arch/mips/include/asm/mach-db1x00/db1300.h | 40 + arch/mips/include/asm/mach-db1x00/db1x00.h | 79 -- arch/mips/include/asm/mach-db1x00/irq.h | 23 + arch/mips/include/asm/mach-pb1x00/mc146818rtc.h | 34 - arch/mips/include/asm/mach-pb1x00/pb1000.h | 87 -- arch/mips/include/asm/mach-pb1x00/pb1200.h | 139 --- arch/mips/include/asm/mach-pb1x00/pb1550.h | 73 -- arch/mips/kernel/cpu-probe.c | 7 + drivers/i2c/busses/Kconfig | 4 +- drivers/mmc/host/au1xmmc.c | 45 +- drivers/mtd/nand/au1550nd.c | 308 +++--- drivers/net/irda/Kconfig | 6 +- drivers/net/irda/au1000_ircc.h | 125 --- drivers/net/irda/au1k_ir.c | 1229 ++++++++++++---------- drivers/pcmcia/Kconfig | 8 +- drivers/pcmcia/Makefile | 4 - drivers/pcmcia/au1000_generic.c | 545 ---------- drivers/pcmcia/au1000_generic.h | 135 --- drivers/pcmcia/au1000_pb1x00.c | 294 ------ drivers/pcmcia/db1xxx_ss.c | 26 +- drivers/spi/Kconfig | 4 +- drivers/usb/host/alchemy-common.c | 277 +++++ drivers/usb/host/ohci-au1xxx.c | 13 +- drivers/video/Kconfig | 8 +- drivers/video/au1100fb.c | 12 - drivers/video/au1200fb.c | 273 +++--- sound/soc/au1x/Kconfig | 16 +- sound/soc/au1x/db1200.c | 73 ++- 104 files changed, 7817 insertions(+), 6889 deletions(-) create mode 100644 arch/mips/alchemy/Makefile create mode 100644 arch/mips/alchemy/board-gpr.c create mode 100644 arch/mips/alchemy/board-mtx1.c create mode 100644 arch/mips/alchemy/board-xxs1500.c create mode 100644 arch/mips/alchemy/common/gpioint.c create mode 100644 arch/mips/alchemy/common/vss.c create mode 100644 arch/mips/alchemy/devboards/db1000.c create mode 100644 arch/mips/alchemy/devboards/db1200.c delete mode 100644 arch/mips/alchemy/devboards/db1200/Makefile delete mode 100644 arch/mips/alchemy/devboards/db1200/platform.c delete mode 100644 arch/mips/alchemy/devboards/db1200/setup.c create mode 100644 arch/mips/alchemy/devboards/db1300.c create mode 100644 arch/mips/alchemy/devboards/db1550.c delete mode 100644 arch/mips/alchemy/devboards/db1x00/Makefile delete mode 100644 arch/mips/alchemy/devboards/db1x00/board_setup.c delete mode 100644 arch/mips/alchemy/devboards/db1x00/platform.c delete mode 100644 arch/mips/alchemy/devboards/pb1000/Makefile delete mode 100644 arch/mips/alchemy/devboards/pb1000/board_setup.c create mode 100644 arch/mips/alchemy/devboards/pb1100.c delete mode 100644 arch/mips/alchemy/devboards/pb1100/Makefile delete mode 100644 arch/mips/alchemy/devboards/pb1100/board_setup.c delete mode 100644 arch/mips/alchemy/devboards/pb1100/platform.c delete mode 100644 arch/mips/alchemy/devboards/pb1200/Makefile delete mode 100644 arch/mips/alchemy/devboards/pb1200/board_setup.c delete mode 100644 arch/mips/alchemy/devboards/pb1200/platform.c create mode 100644 arch/mips/alchemy/devboards/pb1500.c delete mode 100644 arch/mips/alchemy/devboards/pb1500/Makefile delete mode 100644 arch/mips/alchemy/devboards/pb1500/board_setup.c delete mode 100644 arch/mips/alchemy/devboards/pb1500/platform.c create mode 100644 arch/mips/alchemy/devboards/pb1550.c delete mode 100644 arch/mips/alchemy/devboards/pb1550/Makefile delete mode 100644 arch/mips/alchemy/devboards/pb1550/board_setup.c delete mode 100644 arch/mips/alchemy/devboards/pb1550/platform.c delete mode 100644 arch/mips/alchemy/gpr/Makefile delete mode 100644 arch/mips/alchemy/gpr/board_setup.c delete mode 100644 arch/mips/alchemy/gpr/init.c delete mode 100644 arch/mips/alchemy/gpr/platform.c delete mode 100644 arch/mips/alchemy/mtx-1/Makefile delete mode 100644 arch/mips/alchemy/mtx-1/board_setup.c delete mode 100644 arch/mips/alchemy/mtx-1/init.c delete mode 100644 arch/mips/alchemy/mtx-1/platform.c delete mode 100644 arch/mips/alchemy/xxs1500/Makefile delete mode 100644 arch/mips/alchemy/xxs1500/board_setup.c delete mode 100644 arch/mips/alchemy/xxs1500/init.c delete mode 100644 arch/mips/alchemy/xxs1500/platform.c delete mode 100644 arch/mips/configs/db1100_defconfig create mode 100644 arch/mips/configs/db1300_defconfig delete mode 100644 arch/mips/configs/db1500_defconfig delete mode 100644 arch/mips/configs/pb1200_defconfig create mode 100644 arch/mips/include/asm/mach-au1x00/au1200fb.h create mode 100644 arch/mips/include/asm/mach-au1x00/au1550nd.h create mode 100644 arch/mips/include/asm/mach-au1x00/gpio-au1300.h create mode 100644 arch/mips/include/asm/mach-db1x00/db1300.h delete mode 100644 arch/mips/include/asm/mach-db1x00/db1x00.h create mode 100644 arch/mips/include/asm/mach-db1x00/irq.h delete mode 100644 arch/mips/include/asm/mach-pb1x00/mc146818rtc.h delete mode 100644 arch/mips/include/asm/mach-pb1x00/pb1000.h delete mode 100644 arch/mips/include/asm/mach-pb1x00/pb1200.h delete mode 100644 arch/mips/include/asm/mach-pb1x00/pb1550.h delete mode 100644 drivers/net/irda/au1000_ircc.h delete mode 100644 drivers/pcmcia/au1000_generic.c delete mode 100644 drivers/pcmcia/au1000_generic.h delete mode 100644 drivers/pcmcia/au1000_pb1x00.c -- 1.7.7.1