[adm5120] improve support of the Infineon EASY 5120-RT Reference Board
[openwrt/svn-archive/archive.git] / target / linux / adm5120 / files / arch / mips / adm5120 / boards / infineon.c
index be8292a949324d2c26ea1629219684b13799039c..8ef01e6e68c66189d20664c597b57b814da8f99b 100644 (file)
@@ -4,7 +4,7 @@
  *  Infineon boards
  *
  *  Copyright (C) 2007 OpenWrt.org
  *  Infineon boards
  *
  *  Copyright (C) 2007 OpenWrt.org
- *  Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org>
+ *  Copyright (C) 2007,2008 Gabor Juhos <juhosg at openwrt.org>
  *
  *  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
  *
  *  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
 #include <asm/bootinfo.h>
 #include <asm/gpio.h>
 
 #include <asm/bootinfo.h>
 #include <asm/gpio.h>
 
+#include <adm5120_defs.h>
+#include <adm5120_irq.h>
 #include <adm5120_board.h>
 #include <adm5120_platform.h>
 #include <adm5120_board.h>
 #include <adm5120_platform.h>
+#include <adm5120_info.h>
 
 static void switch_bank_gpio3(unsigned bank)
 {
 
 static void switch_bank_gpio3(unsigned bank)
 {
@@ -62,6 +65,10 @@ static struct mtd_partition easy_partitions[] = {
        }
 };
 
        }
 };
 
+static struct adm5120_pci_irq easy5120rt_pci_irqs[] __initdata = {
+       PCIIRQ(2, 0, 1, ADM5120_IRQ_PCI0),
+};
+
 static struct platform_device *easy5120pata_devices[] __initdata = {
        &adm5120_flash0_device,
        /* TODO: add VINETIC2 device? */
 static struct platform_device *easy5120pata_devices[] __initdata = {
        &adm5120_flash0_device,
        /* TODO: add VINETIC2 device? */
@@ -69,6 +76,7 @@ static struct platform_device *easy5120pata_devices[] __initdata = {
 
 static struct platform_device *easy5120rt_devices[] __initdata = {
        &adm5120_flash0_device,
 
 static struct platform_device *easy5120rt_devices[] __initdata = {
        &adm5120_flash0_device,
+       &adm5120_hcd_device,
 };
 
 static struct platform_device *easy5120wvoip_devices[] __initdata = {
 };
 
 static struct platform_device *easy5120wvoip_devices[] __initdata = {
@@ -107,6 +115,10 @@ static void __init easy_setup_bga(void)
        /* TODO: setup mac addresses */
 }
 
        /* TODO: setup mac addresses */
 }
 
+unsigned char easy5120rt_vlans[6] = {
+       0x41, 0x42, 0x44, 0x48, 0x50, 0x00
+};
+
 /*--------------------------------------------------------------------------*/
 
 ADM5120_BOARD_START(EASY5120PATA, "Infineon EASY 5120P-ATA Reference Board")
 /*--------------------------------------------------------------------------*/
 
 ADM5120_BOARD_START(EASY5120PATA, "Infineon EASY 5120P-ATA Reference Board")
@@ -119,8 +131,11 @@ ADM5120_BOARD_END
 ADM5120_BOARD_START(EASY5120RT, "Infineon EASY 5120-RT Reference Board")
        .board_setup    = easy_setup_bga,
        .eth_num_ports  = 5,
 ADM5120_BOARD_START(EASY5120RT, "Infineon EASY 5120-RT Reference Board")
        .board_setup    = easy_setup_bga,
        .eth_num_ports  = 5,
+       .eth_vlans      = easy5120rt_vlans,
        .num_devices    = ARRAY_SIZE(easy5120rt_devices),
        .devices        = easy5120rt_devices,
        .num_devices    = ARRAY_SIZE(easy5120rt_devices),
        .devices        = easy5120rt_devices,
+       .pci_nr_irqs    = ARRAY_SIZE(easy5120rt_pci_irqs),
+       .pci_irq_map    = easy5120rt_pci_irqs,
 ADM5120_BOARD_END
 
 ADM5120_BOARD_START(EASY5120WVOIP, "Infineon EASY 5120-WVoIP Reference Board")
 ADM5120_BOARD_END
 
 ADM5120_BOARD_START(EASY5120WVOIP, "Infineon EASY 5120-WVoIP Reference Board")