Changeset 11813


Ignore:
Timestamp:
2008-07-14T00:29:51+02:00 (10 years ago)
Author:
kaloz
Message:

update Sidewinder patch, add support for the ethernet interfaces

File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ixp4xx/patches-2.6.26/115-sidewinder_support.patch

    r11801 r11813  
     1From 60bdaaaf3446b4237566c6e04855186fc7bd766b Mon Sep 17 00:00:00 2001 
     2From: Imre Kaloz <kaloz@openwrt.org> 
     3Date: Sun, 13 Jul 2008 22:46:45 +0200 
     4Subject: [PATCH] Add support for the ADI Sidewinder 
     5 
     6Signed-off-by: Imre Kaloz <kaloz@openwrt.org> 
     7--- 
     8 arch/arm/mach-ixp4xx/Kconfig            |   10 ++- 
     9 arch/arm/mach-ixp4xx/Makefile           |    2 + 
     10 arch/arm/mach-ixp4xx/sidewinder-pci.c   |   68 ++++++++++++++ 
     11 arch/arm/mach-ixp4xx/sidewinder-setup.c |  151 +++++++++++++++++++++++++++++++ 
     12 4 files changed, 230 insertions(+), 1 deletions(-) 
     13 create mode 100644 arch/arm/mach-ixp4xx/sidewinder-pci.c 
     14 create mode 100644 arch/arm/mach-ixp4xx/sidewinder-setup.c 
     15 
    116--- a/arch/arm/mach-ixp4xx/Kconfig 
    217+++ b/arch/arm/mach-ixp4xx/Kconfig 
     
    621  
    722+config MACH_SIDEWINDER 
    8 +       bool "Sidewinder" 
     23+       bool "ADI Sidewinder" 
    924+       select PCI 
    1025+       help 
    1126+         Say 'Y' here if you want your kernel to support the ADI  
    12 +         Engineering Sidewinder Platform. For more 
    13 +         information on this platform, see <file:Documentation/arm/IXP4xx>. 
    14 + 
    15  config MACH_COMPEX 
    16         bool "Compex WP18 / NP18A" 
    17         select PCI 
    18 @@ -179,7 +187,7 @@ 
     27+         Engineering Sidewinder board. For more information on this 
     28+         platform, see http://www.adiengineering.com 
     29+ 
     30 config ARCH_IXDP425 
     31        bool "IXDP425" 
     32        help 
     33@@ -163,7 +171,7 @@ 
    1934 # 
    2035 config CPU_IXP46X 
     
    2742--- a/arch/arm/mach-ixp4xx/Makefile 
    2843+++ b/arch/arm/mach-ixp4xx/Makefile 
    29 @@ -20,6 +20,7 @@ 
     44@@ -18,6 +18,7 @@ 
     45 obj-pci-$(CONFIG_MACH_WG302V2)         += wg302v2-pci.o 
     46 obj-pci-$(CONFIG_MACH_FSG)             += fsg-pci.o 
    3047 obj-pci-$(CONFIG_MACH_PRONGHORN)       += pronghorn-pci.o 
    31  obj-pci-$(CONFIG_MACH_COMPEX)          += ixdp425-pci.o 
    32  obj-pci-$(CONFIG_MACH_WRT300NV2)               += wrt300nv2-pci.o 
    33 +obj-pci-$(CONFIG_MACH_SIDEWINDER)              += sidewinder-pci.o 
     48+obj-pci-$(CONFIG_MACH_SIDEWINDER)      += sidewinder-pci.o 
    3449  
    3550 obj-y  += common.o 
    3651  
    37 @@ -38,6 +39,7 @@ 
     52@@ -34,6 +35,7 @@ 
     53 obj-$(CONFIG_MACH_WG302V2)     += wg302v2-setup.o 
     54 obj-$(CONFIG_MACH_FSG)         += fsg-setup.o 
    3855 obj-$(CONFIG_MACH_PRONGHORN)   += pronghorn-setup.o 
    39  obj-$(CONFIG_MACH_COMPEX)      += compex-setup.o 
    40  obj-$(CONFIG_MACH_WRT300NV2)   += wrt300nv2-setup.o 
    4156+obj-$(CONFIG_MACH_SIDEWINDER)  += sidewinder-setup.o 
    4257  
     
    4560--- /dev/null 
    4661+++ b/arch/arm/mach-ixp4xx/sidewinder-pci.c 
    47 @@ -0,0 +1,71 @@ 
     62@@ -0,0 +1,68 @@ 
    4863+/* 
    4964+ * arch/arch/mach-ixp4xx/pronghornmetro-pci.c 
     
    5166+ * PCI setup routines for ADI Engineering Sidewinder 
    5267+ * 
    53 + * Copyright (C) 2007 Imre Kaloz <kaloz@openwrt.org> 
     68+ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> 
    5469+ * 
    5570+ * based on coyote-pci.c: 
     
    7590+ 
    7691+#include <asm/mach/pci.h> 
    77 + 
    78 +extern void ixp4xx_pci_preinit(void); 
    79 +extern int ixp4xx_setup(int nr, struct pci_sys_data *sys); 
    80 +extern struct pci_bus *ixp4xx_scan_bus(int nr, struct pci_sys_data *sys); 
    8192+ 
    8293+void __init sidewinder_pci_preinit(void) 
     
    97108+       else if (slot == 3) 
    98109+               return IRQ_IXP4XX_GPIO9; 
    99 +       else return -1; 
     110+       else 
     111+               return -1; 
    100112+} 
    101113+ 
    102114+struct hw_pci sidewinder_pci __initdata = { 
    103 +       .nr_controllers = 1, 
    104 +       .preinit =        sidewinder_pci_preinit, 
    105 +       .swizzle =        pci_std_swizzle, 
    106 +       .setup =          ixp4xx_setup, 
    107 +       .scan =          ixp4xx_scan_bus, 
    108 +       .map_irq =        sidewinder_map_irq, 
     115+       .nr_controllers = 1, 
     116+       .preinit        = sidewinder_pci_preinit, 
     117+       .swizzle        = pci_std_swizzle, 
     118+       .setup          = ixp4xx_setup, 
     119+       .scan           = ixp4xx_scan_bus, 
     120+       .map_irq        = sidewinder_map_irq, 
    109121+}; 
    110122+ 
     
    119131--- /dev/null 
    120132+++ b/arch/arm/mach-ixp4xx/sidewinder-setup.c 
    121 @@ -0,0 +1,115 @@ 
     133@@ -0,0 +1,149 @@ 
    122134+/* 
    123135+ * arch/arm/mach-ixp4xx/sidewinder-setup.c 
     
    125137+ * Board setup for the ADI Engineering Sidewinder 
    126138+ * 
    127 + * Copyright (C) 2007 Imre Kaloz <Kaloz@openwrt.org> 
     139+ * Copyright (C) 2008 Imre Kaloz <Kaloz@openwrt.org> 
    128140+ * 
    129141+ * based on coyote-setup.c: 
     
    162174+static struct resource sidewinder_uart_resources[] = { 
    163175+       { 
    164 +       .start  = IXP4XX_UART1_BASE_PHYS, 
    165 +       .end    = IXP4XX_UART1_BASE_PHYS + 0x0fff, 
    166 +       .flags  = IORESOURCE_MEM, 
    167 +       }, 
    168 +       { 
    169 +       .start  = IXP4XX_UART2_BASE_PHYS, 
    170 +       .end    = IXP4XX_UART2_BASE_PHYS + 0x0fff, 
    171 +       .flags  = IORESOURCE_MEM, 
     176+               .start  = IXP4XX_UART1_BASE_PHYS, 
     177+               .end    = IXP4XX_UART1_BASE_PHYS + 0x0fff, 
     178+               .flags  = IORESOURCE_MEM, 
     179+       }, 
     180+       { 
     181+               .start  = IXP4XX_UART2_BASE_PHYS, 
     182+               .end    = IXP4XX_UART2_BASE_PHYS + 0x0fff, 
     183+               .flags  = IORESOURCE_MEM, 
    172184+       } 
    173185+}; 
     
    198210+       .name           = "serial8250", 
    199211+       .id             = PLAT8250_DEV_PLATFORM, 
    200 +       .dev                    = { 
     212+       .dev            = { 
    201213+               .platform_data  = sidewinder_uart_data, 
    202214+       }, 
    203215+       .num_resources  = ARRAY_SIZE(sidewinder_uart_resources), 
    204216+       .resource       = sidewinder_uart_resources, 
     217+}; 
     218+ 
     219+static struct eth_plat_info sidewinder_plat_eth[] = { 
     220+       { 
     221+               .phy            = 5, 
     222+               .rxq            = 3, 
     223+               .txreadyq       = 20, 
     224+       }, { 
     225+               .phy            = IXP4XX_ETH_PHY_MAX_ADDR, 
     226+               .phy_mask       = 0x1e, 
     227+               .rxq            = 4, 
     228+               .txreadyq       = 21, 
     229+       }, { 
     230+               .phy            = 31, 
     231+               .rxq            = 2, 
     232+               .txreadyq       = 19, 
     233+       } 
     234+}; 
     235+ 
     236+static struct platform_device sidewinder_eth[] = { 
     237+       { 
     238+               .name                   = "ixp4xx_eth", 
     239+               .id                     = IXP4XX_ETH_NPEB, 
     240+               .dev.platform_data      = sidewinder_plat_eth, 
     241+       }, { 
     242+               .name                   = "ixp4xx_eth", 
     243+               .id                     = IXP4XX_ETH_NPEC, 
     244+               .dev.platform_data      = sidewinder_plat_eth + 1, 
     245+       }, { 
     246+               .name                   = "ixp4xx_eth", 
     247+               .id                     = IXP4XX_ETH_NPEA, 
     248+               .dev.platform_data      = sidewinder_plat_eth + 2, 
     249+       } 
    205250+}; 
    206251+ 
     
    208253+       &sidewinder_flash, 
    209254+       &sidewinder_uart, 
     255+       &sidewinder_eth[0], 
     256+       &sidewinder_eth[1], 
     257+       &sidewinder_eth[2], 
    210258+}; 
    211259+ 
     
    223271+} 
    224272+ 
    225 +#ifdef CONFIG_MACH_SIDEWINDER 
    226273+MACHINE_START(SIDEWINDER, "ADI Engineering Sidewinder") 
    227274+       /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */ 
     
    234281+       .init_machine   = sidewinder_init, 
    235282+MACHINE_END 
    236 +#endif 
Note: See TracChangeset for help on using the changeset viewer.