static int ftmac100_start_hw(struct ftmac100 *priv) { struct net_device *netdev = priv->netdev; if (ftmac100_reset(priv)) return -EIO; /* setup ring buffer base registers */ ftmac100_set_rx_ring_base(priv, priv->descs_dma_addr + offsetof(struct ftmac100_descs, rxdes)); ftmac100_set_tx_ring_base(priv, priv->descs_dma_addr + offsetof(struct ftmac100_descs, txdes)); iowrite32(FTMAC100_APTC_RXPOLL_CNT(1), priv->base + FTMAC100_OFFSET_APTC); ftmac100_set_mac(priv, netdev->dev_addr); iowrite32(MACCR_ENABLE_ALL, priv->base + FTMAC100_OFFSET_MACCR); return 0; }
static void ftmac100_set_mac_from_env (struct eth_device *dev) { eth_getenv_enetaddr ("ethaddr", dev->enetaddr); ftmac100_set_mac (dev, dev->enetaddr); }