From 8f889f92505d08eaafcb7465a70cb259c72ecd60 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Thu, 7 Apr 2011 20:53:41 +0000 Subject: [PATCH] ar71xx: add DB120 board specific PCI initialization Signed-off-by: Jaiganesh Narayanan SVN-Revision: 26523 --- target/linux/ar71xx/config-2.6.37 | 1 + .../ar71xx/files/arch/mips/ar71xx/Kconfig | 5 +++ .../ar71xx/files/arch/mips/ar71xx/Makefile | 1 + .../files/arch/mips/ar71xx/dev-db120-pci.c | 31 +++++++++++++++++++ .../files/arch/mips/ar71xx/dev-db120-pci.h | 22 +++++++++++++ .../files/arch/mips/ar71xx/mach-db120.c | 3 ++ 6 files changed, 63 insertions(+) create mode 100644 target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.c create mode 100644 target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.h diff --git a/target/linux/ar71xx/config-2.6.37 b/target/linux/ar71xx/config-2.6.37 index d5a9413e37..826a864f39 100644 --- a/target/linux/ar71xx/config-2.6.37 +++ b/target/linux/ar71xx/config-2.6.37 @@ -6,6 +6,7 @@ CONFIG_AR71XX_DEV_AP91_PCI=y CONFIG_AR71XX_DEV_AP94_PCI=y CONFIG_AR71XX_DEV_AR913X_WMAC=y CONFIG_AR71XX_DEV_AR934X_WMAC=y +CONFIG_AR71XX_DEV_DB120_PCI=y CONFIG_AR71XX_DEV_DSA=y CONFIG_AR71XX_DEV_GPIO_BUTTONS=y CONFIG_AR71XX_DEV_LEDS_GPIO=y diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig index c35e6cfd9b..ea377def3d 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig @@ -31,6 +31,7 @@ config AR71XX_MACH_AP96 config AR71XX_MACH_DB120 bool "Atheros DB120 board support" select AR71XX_DEV_AR934X_WMAC + select AR71XX_DEV_DB120_PCI if PCI select AR71XX_DEV_GPIO_BUTTONS select AR71XX_DEV_LEDS_GPIO select AR71XX_DEV_USB @@ -313,6 +314,10 @@ config AR71XX_DEV_AR913X_WMAC config AR71XX_DEV_AR934X_WMAC def_bool n +config AR71XX_DEV_DB120_PCI + select AR71XX_PCI_ATH9K_FIXUP + def_bool n + config AR71XX_DEV_DSA def_bool n diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile index 988e521a1a..c9184b8e5e 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile @@ -17,6 +17,7 @@ obj-$(CONFIG_AR71XX_DEV_AP91_PCI) += dev-ap91-pci.o obj-$(CONFIG_AR71XX_DEV_AP94_PCI) += dev-ap94-pci.o obj-$(CONFIG_AR71XX_DEV_AR913X_WMAC) += dev-ar913x-wmac.o obj-$(CONFIG_AR71XX_DEV_AR934X_WMAC) += dev-ar934x-wmac.o +obj-$(CONFIG_AR71XX_DEV_DB120_PCI) += dev-db120-pci.o obj-$(CONFIG_AR71XX_DEV_DSA) += dev-dsa.o obj-$(CONFIG_AR71XX_DEV_GPIO_BUTTONS) += dev-gpio-buttons.o obj-$(CONFIG_AR71XX_DEV_LEDS_GPIO) += dev-leds-gpio.o diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.c new file mode 100644 index 0000000000..a488a816c4 --- /dev/null +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.c @@ -0,0 +1,31 @@ +/* + * Atheros db120 reference board PCI initialization + * + * Copyright (C) 2010-2011 Jaiganesh Narayanan + * + * Parts of this file are based on Atheros linux 2.6.31 BSP + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#include + +#include +#include + +#include "dev-db120-pci.h" + +static struct ar71xx_pci_irq db120_pci_irqs[] __initdata = { + { + .slot = 0, + .pin = 1, + .irq = AR71XX_PCI_IRQ_DEV0, + } +}; + +void __init db120_pci_init(void) +{ + ar71xx_pci_init(ARRAY_SIZE(db120_pci_irqs), db120_pci_irqs); +} diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.h b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.h new file mode 100644 index 0000000000..3e9c26199f --- /dev/null +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-db120-pci.h @@ -0,0 +1,22 @@ +/* + * Atheros DB120 reference board PCI initialization + * + * Copyright (C) 2010-2011 Jaiganesh Narayanan + * + * Parts of this file are based on Atheros linux 2.6.31 BSP + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#ifndef _AR71XX_DEV_DB120_PCI_H +#define _AR71XX_DEV_DB120_PCI_H + +#if defined(CONFIG_AR71XX_DEV_DB120_PCI) +void db120_pci_init(void); +#else +static inline void db120_pci_init(void) { } +#endif + +#endif /* _AR71XX_DEV_DB120_PCI_H */ diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-db120.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-db120.c index 3e4af40bdb..ad7a8937ed 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-db120.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-db120.c @@ -20,6 +20,7 @@ #include "dev-leds-gpio.h" #include "dev-usb.h" #include "dev-ar934x-wmac.h" +#include "dev-db120-pci.h" #define DB120_GPIO_LED_USB 11 #define DB120_GPIO_LED_WLAN_5G 12 @@ -125,6 +126,8 @@ static void __init db120_setup(void) ar934x_add_device_wmac(art + DB120_CALDATA_OFFSET, art + DB120_WMAC_MAC_OFFSET); + + db120_pci_init(); } MIPS_MACHINE(AR71XX_MACH_DB120, "DB120", "Atheros DB120", db120_setup);