]> git.sur5r.net Git - u-boot/blobdiff - drivers/net/at91_emac.c
i2c: Drop redundant platform data setting in drivers
[u-boot] / drivers / net / at91_emac.c
index 2fa6b686daf7e7241ddc95b99495362c79a1d1e8..915160019098889dddbb2bb725fbc26f92d329c9 100644 (file)
@@ -5,40 +5,15 @@
  * (C) Copyright 2003
  * Author : Hamid Ikdoumi (Atmel)
 
- * 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
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <asm/io.h>
-#ifndef CONFIG_AT91_LEGACY
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_emac.h>
-#include <asm/arch/at91_pmc.h>
+#include <asm/arch/clk.h>
 #include <asm/arch/at91_pio.h>
-#else
-/* remove next 5 lines, if all RM9200 boards convert to at91 arch */
-#include <asm/arch-at91/at91rm9200.h>
-#include <asm/arch-at91/hardware.h>
-#include <asm/arch-at91/at91_emac.h>
-#include <asm/arch-at91/at91_pmc.h>
-#include <asm/arch-at91/at91_pio.h>
-#endif
 #include <net.h>
 #include <netdev.h>
 #include <malloc.h>
@@ -346,7 +321,6 @@ static int at91emac_init(struct eth_device *netdev, bd_t *bd)
        emac_device *dev;
        at91_emac_t *emac;
        at91_pio_t *pio = (at91_pio_t *) ATMEL_BASE_PIO;
-       at91_pmc_t *pmc = (at91_pmc_t *) ATMEL_BASE_PMC;
 
        emac = (at91_emac_t *) netdev->iobase;
        dev = (emac_device *) netdev->priv;
@@ -372,12 +346,13 @@ static int at91emac_init(struct eth_device *netdev, bd_t *bd)
        writel(value, &pio->piob.pdr);
        writel(value, &pio->piob.bsr);
 
-       writel(1 << ATMEL_ID_EMAC, &pmc->pcer);
+       at91_periph_clk_enable(ATMEL_ID_EMAC);
+
        writel(readl(&emac->ctl) | AT91_EMAC_CTL_CSR, &emac->ctl);
 
        /* Init Ethernet buffers */
        for (i = 0; i < RBF_FRAMEMAX; i++) {
-               dev->rbfdt[i].addr = (unsigned long) NetRxPackets[i];
+               dev->rbfdt[i].addr = (unsigned long) net_rx_packets[i];
                dev->rbfdt[i].size = 0;
        }
        dev->rbfdt[RBF_FRAMEMAX - 1].addr |= RBF_WRAP;
@@ -445,7 +420,7 @@ static int at91emac_recv(struct eth_device *netdev)
        rbfp = &dev->rbfdt[dev->rbindex];
        while (rbfp->addr & RBF_OWNER)  {
                size = rbfp->size & RBF_SIZE;
-               NetReceive(NetRxPackets[dev->rbindex], size);
+               net_process_received_packet(net_rx_packets[dev->rbindex], size);
 
                debug_cond(DEBUG_AT91EMAC, "Recv[%ld]: %d bytes @ %lx\n",
                        dev->rbindex, size, rbfp->addr);
@@ -477,10 +452,10 @@ static int at91emac_recv(struct eth_device *netdev)
 static int at91emac_write_hwaddr(struct eth_device *netdev)
 {
        at91_emac_t *emac;
-       at91_pmc_t *pmc = (at91_pmc_t *) ATMEL_BASE_PMC;
        emac = (at91_emac_t *) netdev->iobase;
 
-       writel(1 << ATMEL_ID_EMAC, &pmc->pcer);
+       at91_periph_clk_enable(ATMEL_ID_EMAC);
+
        debug_cond(DEBUG_AT91EMAC,
                "init MAC-ADDR %02x:%02x:%02x:%02x:%02x:%02x\n",
                netdev->enetaddr[5], netdev->enetaddr[4], netdev->enetaddr[3],
@@ -515,7 +490,7 @@ int at91emac_register(bd_t *bis, unsigned long iobase)
        memset(emacfix, 0, sizeof(emac_device));
 
        memset(dev, 0, sizeof(*dev));
-       sprintf(dev->name, "emac");
+       strcpy(dev->name, "emac");
        dev->iobase = iobase;
        dev->priv = emacfix;
        dev->init = at91emac_init;