[U-Boot-Users] [DNX#2006110242000092] [PATCH 07/10 v3]: tsi108 on chip Et [...]

DENX Support System support at denx.de
Thu Nov 2 10:30:04 CET 2006


Hello list,

inside the automatic U-Boot patch tracking system a new ticket
[DNX#2006110242000092] was created:

<snip>
> Tundra tsi108 on chip Ethernet controller support.
> The following is a brief description of the Ethernet controller:
> 
> The Tsi108/9 Ethernet Controller connects Switch Fabric to two
> independent Gigabit Ethernet ports,E0 and E1.  It uses a single
> Management interface to 	manage the two physical connection devices
> (PHYs).  Each Ethernet port has its own statistics monitor that tracks
> and reports key interface statistics.  Each port supports a 256-entry
> hash table for address filtering.  In addition, each port is bridged to
> the Switch Fabric through a 2-Kbyte transmit FIFO and a 4-Kbyte Receive
> FIFO.
> 
> Each Ethernet port also has a pair of internal Ethernet DMA channels to
> support the transmit and receive data flows.  The Ethernet DMA channels
> use descriptors set up in memory, the memory map of the device, and
> access via the Switch Fabric.  The Ethernet Controller?s DMA arbiter
> handles arbitration for the Switch Fabric.  The Controller also has a
> register bus interface for register accesses and status monitor control.
> 
> The PMD (Physical Media Device) interface operates in MII, GMII, or TBI
> modes.  The MII mode is used for connecting with 10 or 100 Mbit/s PMDs.
> The GMII and TBI modes are used to connect with Gigabit PMDs. Internal
> data flows to and from the Ethernet Controller through the Switch
> Fabric.
> 
> Each Ethernet port uses its transmit and receive DMA channels to manage
> data flows through buffer descriptors that are predefined by the system
> (the descriptors can exist anywhere in the system memory map).  These
> descriptors are data structures that point to buffers filled with data
> ready to transmit over Ethernet, or they point to empty buffers ready to
> receive data from Ethernet.
> 
> Signed-off-by: Alexandre Bounine <alexandreb at tundra.com>
> Signed-off-by: Roy Zang <tie-fei.zang at freescale.com>
> ---
>  drivers/tsi108_eth.c | 1043
> ++++++++++++++++++++++++++++++++++++++++++++++++++
>  net/eth.c            |    4 
>  2 files changed, 1047 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/tsi108_eth.c b/drivers/tsi108_eth.c
> new file mode 100644
> index 0000000..d95a047
> --- /dev/null
> +++ b/drivers/tsi108_eth.c
> @@ -0,0 +1,1043 @@
> +/***********************************************************************
> + *
> + * Copyright (c) 2005 Freescale Semiconductor, Inc.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + *
> + * Description:
> + *   Ethernet interface for Tundra TSI108 bridge chip
> + *
> + ***********************************************************************/
> +
> +#include <config.h>
> +
> +#if (CONFIG_COMMANDS & CFG_CMD_NET) && defined(CONFIG_NET_MULTI) \
> +	&& defined(CONFIG_TSI108_ETH)
> +
> +#if !defined(CONFIG_TSI108_ETH_NUM_PORTS) ||
> (CONFIG_TSI108_ETH_NUM_PORTS > 2)
> +#error "CONFIG_TSI108_ETH_NUM_PORTS must be defined as 1 or 2"
> +#endif
> +
> +#include <common.h>
> +#include <malloc.h>
> +#include <net.h>
> +#include <asm/cache.h>
> +
> +#ifdef DEBUG
> +#define TSI108_ETH_DEBUG 7
> +#else
> +#define TSI108_ETH_DEBUG 0
> +#endif
> +
> +#if TSI108_ETH_DEBUG > 0
> +#define debug_lev(lev, fmt, args...) if (lev <= TSI108_ETH_DEBUG)
> printf("%s %d: " fmt, __FUNCTION__, __LINE__, ##args)
> +#else
> +#define debug_lev(lev, fmt, args...) do{}while(0)
> +#endif
</snip>

Your U-Boot support team




More information about the U-Boot mailing list