[adm5120] improve support of the Infineon EASY 5120-RT Reference Board

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10996 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2008-05-01 18:34:44 +00:00
parent f7d14849e8
commit cab4220eed
3 changed files with 62 additions and 12 deletions

View File

@ -4,7 +4,7 @@
* 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
@ -18,8 +18,11 @@
#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_info.h>
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? */
@ -69,6 +76,7 @@ static struct platform_device *easy5120pata_devices[] __initdata = {
static struct platform_device *easy5120rt_devices[] __initdata = {
&adm5120_flash0_device,
&adm5120_hcd_device,
};
static struct platform_device *easy5120wvoip_devices[] __initdata = {
@ -107,6 +115,10 @@ static void __init easy_setup_bga(void)
/* 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")
@ -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,
.eth_vlans = easy5120rt_vlans,
.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")

View File

@ -145,6 +145,22 @@ LED_ARRAY(br61x4wg) {
LED_INV(ADM5120_GPIO_P4L0, "lan4_lnkact", NULL),
};
/*
* Infineon boards
*/
LED_ARRAY(easy5120rt) {
LED_INV(ADM5120_GPIO_PIN6, "user", NULL),
LED_INV(ADM5120_GPIO_P0L0, "lan0_led1", NULL),
LED_INV(ADM5120_GPIO_P0L1, "lan0_led2", NULL),
LED_INV(ADM5120_GPIO_P1L0, "lan1_led1", NULL),
LED_INV(ADM5120_GPIO_P1L1, "lan1_led2", NULL),
LED_INV(ADM5120_GPIO_P2L0, "lan2_led1", NULL),
LED_INV(ADM5120_GPIO_P2L1, "lan2_led2", NULL),
LED_INV(ADM5120_GPIO_P3L0, "lan3_led1", NULL),
LED_INV(ADM5120_GPIO_P3L1, "lan3_led2", NULL),
LED_INV(ADM5120_GPIO_P4L0, "wan", NULL),
};
/*
* Mikrotik boards
*/
@ -173,17 +189,17 @@ LED_ARRAY(rb133c) {
};
LED_ARRAY(rb153) {
LED_STD(ADM5120_GPIO_PIN5, "user", NULL),
LED_INV(ADM5120_GPIO_P0L1, "lan1_speed", NULL),
LED_INV(ADM5120_GPIO_P0L0, "lan1_lnkact", NULL),
LED_INV(ADM5120_GPIO_P1L1, "lan5_speed", NULL),
LED_INV(ADM5120_GPIO_P1L0, "lan5_lnkact", NULL),
LED_INV(ADM5120_GPIO_P2L1, "lan4_speed", NULL),
LED_INV(ADM5120_GPIO_P2L0, "lan4_lnkact", NULL),
LED_INV(ADM5120_GPIO_P3L1, "lan3_speed", NULL),
LED_INV(ADM5120_GPIO_P3L0, "lan3_lnkact", NULL),
LED_INV(ADM5120_GPIO_P4L1, "lan2_speed", NULL),
LED_INV(ADM5120_GPIO_P4L0, "lan2_lnkact", NULL),
LED_STD(ADM5120_GPIO_PIN5, "user", NULL),
LED_INV(ADM5120_GPIO_P0L1, "lan1_speed", NULL),
LED_INV(ADM5120_GPIO_P0L0, "lan1_lnkact", NULL),
LED_INV(ADM5120_GPIO_P1L1, "lan5_speed", NULL),
LED_INV(ADM5120_GPIO_P1L0, "lan5_lnkact", NULL),
LED_INV(ADM5120_GPIO_P2L1, "lan4_speed", NULL),
LED_INV(ADM5120_GPIO_P2L0, "lan4_lnkact", NULL),
LED_INV(ADM5120_GPIO_P3L1, "lan3_speed", NULL),
LED_INV(ADM5120_GPIO_P3L0, "lan3_lnkact", NULL),
LED_INV(ADM5120_GPIO_P4L1, "lan2_speed", NULL),
LED_INV(ADM5120_GPIO_P4L0, "lan2_lnkact", NULL),
};
/*
@ -278,6 +294,8 @@ static struct mach_data machines[] __initdata = {
/* Edimax */
MACH_DATA(MACH_ADM5120_BR6104K, br6104k),
MACH_DATA(MACH_ADM5120_BR61x4WG, br61x4wg),
/* Infineon */
MACH_DATA(MACH_ADM5120_EASY5120RT, easy5120rt),
/* Mikrotik */
MACH_DATA(MACH_ADM5120_RB_111, rb100),
MACH_DATA(MACH_ADM5120_RB_112, rb100),

View File

@ -0,0 +1,17 @@
#
# Copyright (C) 2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/EASY5120RT
NAME:=Infineon EASY 5120-RT Reference Board
PACKAGES:=kmod-usb-core kmod-usb-adm5120
endef
define Profile/EASY5120RT/Description
Package set optimized for the Infineon EASY 5120-RT Reference Board
endef
$(eval $(call Profile,EASY5120RT))