X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fnet%2Fat91_emac.c;h=64d4c56ac56ac3b996b3659a3c9b81e473f8ec14;hb=302e609fe653baf1ae3a7573d2f4eafd86ab696b;hp=9bda1fc69519b9ebedcff09b5f3de9a72f540545;hpb=e560492b322b02037247b8d8ac5cd94f70c46574;p=u-boot diff --git a/drivers/net/at91_emac.c b/drivers/net/at91_emac.c index 9bda1fc695..64d4c56ac5 100644 --- a/drivers/net/at91_emac.c +++ b/drivers/net/at91_emac.c @@ -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 #include -#ifndef CONFIG_AT91_LEGACY #include #include #include #include -#else -/* remove next 5 lines, if all RM9200 boards convert to at91 arch */ -#include -#include -#include -#include -#include -#endif #include #include #include @@ -69,21 +44,21 @@ #endif #ifdef ET_DEBUG -#define DEBUG_AT91EMAC(...) printf(__VA_ARGS__); +#define DEBUG_AT91EMAC 1 #else -#define DEBUG_AT91EMAC(...) +#define DEBUG_AT91EMAC 0 #endif #ifdef MII_DEBUG -#define DEBUG_AT91PHY(...) printf(__VA_ARGS__); +#define DEBUG_AT91PHY 1 #else -#define DEBUG_AT91PHY(...) +#define DEBUG_AT91PHY 0 #endif #ifndef CONFIG_DRIVER_AT91EMAC_QUIET -#define VERBOSEP(...) printf(__VA_ARGS__); +#define VERBOSEP 1 #else -#define VERBOSEP(...) +#define VERBOSEP 0 #endif #define RBF_ADDR 0xfffffffc @@ -137,14 +112,15 @@ int at91emac_read(at91_emac_t *at91mac, unsigned char addr, do { netstat = readl(&at91mac->sr); - DEBUG_AT91PHY("poll SR %08lx\n", netstat); + debug_cond(DEBUG_AT91PHY, "poll SR %08lx\n", netstat); } while (!(netstat & AT91_EMAC_SR_IDLE)); *value = readl(&at91mac->man) & AT91_EMAC_MAN_DATA_MASK; at91emac_DisableMDIO(at91mac); - DEBUG_AT91PHY("AT91PHY read %x REG(%d)=%x\n", at91mac, reg, *value) + debug_cond(DEBUG_AT91PHY, + "AT91PHY read %p REG(%d)=%x\n", at91mac, reg, *value); return 0; } @@ -153,7 +129,8 @@ int at91emac_write(at91_emac_t *at91mac, unsigned char addr, unsigned char reg, unsigned short value) { unsigned long netstat; - DEBUG_AT91PHY("AT91PHY write %x REG(%d)=%x\n", at91mac, reg, &value) + debug_cond(DEBUG_AT91PHY, + "AT91PHY write %p REG(%d)=%p\n", at91mac, reg, &value); at91emac_EnableMDIO(at91mac); @@ -164,7 +141,7 @@ int at91emac_write(at91_emac_t *at91mac, unsigned char addr, do { netstat = readl(&at91mac->sr); - DEBUG_AT91PHY("poll SR %08lx\n", netstat); + debug_cond(DEBUG_AT91PHY, "poll SR %08lx\n", netstat); } while (!(netstat & AT91_EMAC_SR_IDLE)); at91emac_DisableMDIO(at91mac); @@ -216,7 +193,7 @@ static int at91emac_phy_reset(struct eth_device *netdev) adv = ADVERTISE_CSMA | ADVERTISE_ALL; at91emac_write(emac, CONFIG_DRIVER_AT91EMAC_PHYADDR, MII_ADVERTISE, adv); - VERBOSEP("%s: Starting autonegotiation...\n", netdev->name); + debug_cond(VERBOSEP, "%s: Starting autonegotiation...\n", netdev->name); at91emac_write(emac, CONFIG_DRIVER_AT91EMAC_PHYADDR, MII_BMCR, (BMCR_ANENABLE | BMCR_ANRESTART)); @@ -229,7 +206,8 @@ static int at91emac_phy_reset(struct eth_device *netdev) } if (status & BMSR_ANEGCOMPLETE) { - VERBOSEP("%s: Autonegotiation complete\n", netdev->name); + debug_cond(VERBOSEP, + "%s: Autonegotiation complete\n", netdev->name); } else { printf("%s: Autonegotiation timed out (status=0x%04x)\n", netdev->name, status); @@ -272,7 +250,7 @@ static int at91emac_phy_init(struct eth_device *netdev) } } if (!(status & BMSR_LSTATUS)) { - VERBOSEP("%s: link down\n", netdev->name); + debug_cond(VERBOSEP, "%s: link down\n", netdev->name); return -3; } else { at91emac_read(emac, CONFIG_DRIVER_AT91EMAC_PHYADDR, @@ -283,7 +261,7 @@ static int at91emac_phy_init(struct eth_device *netdev) speed = (media & (ADVERTISE_100FULL | ADVERTISE_100HALF) ? 1 : 0); duplex = (media & ADVERTISE_FULL) ? 1 : 0; - VERBOSEP("%s: link up, %sMbps %s-duplex\n", + debug_cond(VERBOSEP, "%s: link up, %sMbps %s-duplex\n", netdev->name, speed ? "100" : "10", duplex ? "full" : "half"); @@ -409,11 +387,10 @@ static void at91emac_halt(struct eth_device *netdev) emac = (at91_emac_t *) netdev->iobase; writel(readl(&emac->ctl) & ~(AT91_EMAC_CTL_TE | AT91_EMAC_CTL_RE), &emac->ctl); - DEBUG_AT91EMAC("halt MAC\n"); + debug_cond(DEBUG_AT91EMAC, "halt MAC\n"); } -static int at91emac_send(struct eth_device *netdev, volatile void *packet, - int length) +static int at91emac_send(struct eth_device *netdev, void *packet, int length) { at91_emac_t *emac; @@ -425,7 +402,7 @@ static int at91emac_send(struct eth_device *netdev, volatile void *packet, writel(AT91_EMAC_TCR_LEN(length), &emac->tcr); while (AT91_EMAC_TCR_LEN(readl(&emac->tcr))) ; - DEBUG_AT91EMAC("Send %d \n", length); + debug_cond(DEBUG_AT91EMAC, "Send %d\n", length); writel(readl(&emac->tsr) | AT91_EMAC_TSR_COMP, &emac->tsr); return 0; } @@ -445,7 +422,7 @@ static int at91emac_recv(struct eth_device *netdev) size = rbfp->size & RBF_SIZE; NetReceive(NetRxPackets[dev->rbindex], size); - DEBUG_AT91EMAC("Recv[%d]: %d bytes @ %x \n", + debug_cond(DEBUG_AT91EMAC, "Recv[%ld]: %d bytes @ %lx\n", dev->rbindex, size, rbfp->addr); rbfp->addr &= ~RBF_OWNER; @@ -479,14 +456,15 @@ static int at91emac_write_hwaddr(struct eth_device *netdev) emac = (at91_emac_t *) netdev->iobase; writel(1 << ATMEL_ID_EMAC, &pmc->pcer); - DEBUG_AT91EMAC("init MAC-ADDR %02x:%02x:%02x:%02x:%02x:%02x\n", + debug_cond(DEBUG_AT91EMAC, + "init MAC-ADDR %02x:%02x:%02x:%02x:%02x:%02x\n", netdev->enetaddr[5], netdev->enetaddr[4], netdev->enetaddr[3], netdev->enetaddr[2], netdev->enetaddr[1], netdev->enetaddr[0]); writel( (netdev->enetaddr[0] | netdev->enetaddr[1] << 8 | netdev->enetaddr[2] << 16 | netdev->enetaddr[3] << 24), &emac->sa2l); writel((netdev->enetaddr[4] | netdev->enetaddr[5] << 8), &emac->sa2h); - DEBUG_AT91EMAC("init MAC-ADDR %x%x \n", + debug_cond(DEBUG_AT91EMAC, "init MAC-ADDR %x%x\n", readl(&emac->sa2h), readl(&emac->sa2l)); return 0; }