/* register the tsi108 ethernet controllers with the multi-ethernet system  */
int tsi108_eth_initialize(bd_t *bis)
/* register the tsi108 ethernet controllers with the multi-ethernet system  */
int tsi108_eth_initialize(bd_t *bis)
{
	struct eth_device *dev;
	int index;
	for (index = 0; index < CONFIG_TSI108_ETH_NUM_PORTS; index++) {
		dev = (struct eth_device *)malloc(sizeof(struct eth_device));
		sprintf (dev->name, "TSI108_eth%d", index);
		dev->iobase = ETH_BASE + (index * ETH_PORT_OFFSET);
		dev->priv = (void *)(phy_address[index]);
		dev->init = tsi108_eth_probe;
		dev->halt = tsi108_eth_halt;
		dev->send = tsi108_eth_send;
		dev->recv = tsi108_eth_recv;
		eth_register(dev);
	}
	return index;
}