This patch set contains initial support for the following Atheros SoCs: AR5312, AR2312, AR2313, AR2315, AR2316, AR2317, AR2318. - Patches 1 through 14 and patch 16 add support for different parts of AR231x SoCs. - Patch 11 provided only for reference, since it should be rewritten to use spi-nor framework. - Patch 15 updates ath5k dependecies The code was successfully tested with AR2313, AR2315 and AR2317 SoCs. This code has been written by OpenWRT developers and it resided in OpenWRT's tree for a long time. My work was to cleanup the code and its rebase on the latest linux-mips tree. Changes since RFC: - use dynamic IRQ numbers allocation - group ath5 related changes in one patch - group devices registration in separate patch Sergey Ryazanov (16): MIPS: ar231x: add common parts MIPS: ar231x: add basic AR5312 SoC support MIPS: ar231x: add basic AR2315 SoC support MIPS: ar231x: add interrupts handling routines MIPS: ar231x: add early printk support MIPS: ar231x: add UART support MIPS: ar231x: add board configuration detection MIPS: ar231x: add SoC type detection gpio: add driver for Atheros AR5312 SoC GPIO controller gpio: add driver for Atheros AR2315 SoC GPIO controller mtd: add Atheros AR2315 SPI Flash driver watchdog: add Atheros AR2315 watchdog driver MIPS: ar231x: register various chip devices MIPS: ar231x: add AR2315 PCI host controller driver ath5k: update dependencies MIPS: ar231x: add Wireless device support arch/mips/Kbuild.platforms | 1 + arch/mips/Kconfig | 15 + arch/mips/ar231x/Kconfig | 18 + arch/mips/ar231x/Makefile | 16 + arch/mips/ar231x/Platform | 6 + arch/mips/ar231x/ar2315.c | 385 ++++++++++++++ arch/mips/ar231x/ar2315.h | 24 + arch/mips/ar231x/ar5312.c | 392 ++++++++++++++ arch/mips/ar231x/ar5312.h | 24 + arch/mips/ar231x/board.c | 222 ++++++++ arch/mips/ar231x/devices.c | 120 +++++ arch/mips/ar231x/devices.h | 39 ++ arch/mips/ar231x/early_printk.c | 45 ++ arch/mips/ar231x/prom.c | 31 ++ arch/mips/include/asm/mach-ar231x/ar2315_regs.h | 580 +++++++++++++++++++++ arch/mips/include/asm/mach-ar231x/ar231x.h | 31 ++ .../mips/include/asm/mach-ar231x/ar231x_platform.h | 73 +++ arch/mips/include/asm/mach-ar231x/ar5312_regs.h | 215 ++++++++ .../asm/mach-ar231x/cpu-feature-overrides.h | 84 +++ arch/mips/include/asm/mach-ar231x/dma-coherence.h | 76 +++ arch/mips/include/asm/mach-ar231x/gpio.h | 16 + arch/mips/include/asm/mach-ar231x/war.h | 25 + arch/mips/pci/Makefile | 1 + arch/mips/pci/pci-ar2315.c | 353 +++++++++++++ drivers/gpio/Kconfig | 14 + drivers/gpio/Makefile | 2 + drivers/gpio/gpio-ar2315.c | 232 +++++++++ drivers/gpio/gpio-ar5312.c | 121 +++++ drivers/mtd/devices/Kconfig | 5 + drivers/mtd/devices/Makefile | 1 + drivers/mtd/devices/ar2315.c | 459 ++++++++++++++++ drivers/mtd/devices/ar2315_spiflash.h | 106 ++++ drivers/net/wireless/ath/ath5k/Kconfig | 10 +- drivers/net/wireless/ath/ath5k/ath5k.h | 2 +- drivers/net/wireless/ath/ath5k/base.c | 4 +- drivers/net/wireless/ath/ath5k/led.c | 4 +- drivers/watchdog/Kconfig | 8 + drivers/watchdog/Makefile | 1 + drivers/watchdog/ar2315-wtd.c | 167 ++++++ 39 files changed, 3918 insertions(+), 10 deletions(-) create mode 100644 arch/mips/ar231x/Kconfig create mode 100644 arch/mips/ar231x/Makefile create mode 100644 arch/mips/ar231x/Platform create mode 100644 arch/mips/ar231x/ar2315.c create mode 100644 arch/mips/ar231x/ar2315.h create mode 100644 arch/mips/ar231x/ar5312.c create mode 100644 arch/mips/ar231x/ar5312.h create mode 100644 arch/mips/ar231x/board.c create mode 100644 arch/mips/ar231x/devices.c create mode 100644 arch/mips/ar231x/devices.h create mode 100644 arch/mips/ar231x/early_printk.c create mode 100644 arch/mips/ar231x/prom.c create mode 100644 arch/mips/include/asm/mach-ar231x/ar2315_regs.h create mode 100644 arch/mips/include/asm/mach-ar231x/ar231x.h create mode 100644 arch/mips/include/asm/mach-ar231x/ar231x_platform.h create mode 100644 arch/mips/include/asm/mach-ar231x/ar5312_regs.h create mode 100644 arch/mips/include/asm/mach-ar231x/cpu-feature-overrides.h create mode 100644 arch/mips/include/asm/mach-ar231x/dma-coherence.h create mode 100644 arch/mips/include/asm/mach-ar231x/gpio.h create mode 100644 arch/mips/include/asm/mach-ar231x/war.h create mode 100644 arch/mips/pci/pci-ar2315.c create mode 100644 drivers/gpio/gpio-ar2315.c create mode 100644 drivers/gpio/gpio-ar5312.c create mode 100644 drivers/mtd/devices/ar2315.c create mode 100644 drivers/mtd/devices/ar2315_spiflash.h create mode 100644 drivers/watchdog/ar2315-wtd.c -- 1.8.5.5