Merge git://git.denx.de/u-boot-sh
This commit is contained in:
commit
3ffa5288c8
@ -63,8 +63,8 @@
|
||||
|
||||
static int sh_eth_send_common(struct sh_eth_dev *eth, void *packet, int len)
|
||||
{
|
||||
int port = eth->port, ret = 0, timeout;
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
int ret = 0, timeout;
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
|
||||
if (!packet || len > 0xffff) {
|
||||
printf(SHETHER_NAME ": %s: Invalid argument\n", __func__);
|
||||
@ -120,8 +120,7 @@ err:
|
||||
|
||||
static int sh_eth_recv_start(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port, len = 0;
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
|
||||
/* Check if the rx descriptor is ready */
|
||||
invalidate_cache(port_info->rx_desc_cur, sizeof(struct rx_desc_s));
|
||||
@ -132,9 +131,7 @@ static int sh_eth_recv_start(struct sh_eth_dev *eth)
|
||||
if (port_info->rx_desc_cur->rd0 & RD_RFE)
|
||||
return -EINVAL;
|
||||
|
||||
len = port_info->rx_desc_cur->rd1 & 0xffff;
|
||||
|
||||
return len;
|
||||
return port_info->rx_desc_cur->rd1 & 0xffff;
|
||||
}
|
||||
|
||||
static void sh_eth_recv_finish(struct sh_eth_dev *eth)
|
||||
@ -182,7 +179,7 @@ static int sh_eth_reset(struct sh_eth_dev *eth)
|
||||
return ret;
|
||||
#else
|
||||
sh_eth_write(port_info, sh_eth_read(port_info, EDMR) | EDMR_SRST, EDMR);
|
||||
udelay(3000);
|
||||
mdelay(3);
|
||||
sh_eth_write(port_info,
|
||||
sh_eth_read(port_info, EDMR) & ~EDMR_SRST, EDMR);
|
||||
|
||||
@ -192,9 +189,9 @@ static int sh_eth_reset(struct sh_eth_dev *eth)
|
||||
|
||||
static int sh_eth_tx_desc_init(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port, i, ret = 0;
|
||||
int i, ret = 0;
|
||||
u32 alloc_desc_size = NUM_TX_DESC * sizeof(struct tx_desc_s);
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
struct tx_desc_s *cur_tx_desc;
|
||||
|
||||
/*
|
||||
@ -245,9 +242,9 @@ err:
|
||||
|
||||
static int sh_eth_rx_desc_init(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port, i, ret = 0;
|
||||
int i, ret = 0;
|
||||
u32 alloc_desc_size = NUM_RX_DESC * sizeof(struct rx_desc_s);
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
struct rx_desc_s *cur_rx_desc;
|
||||
u8 *rx_buf;
|
||||
|
||||
@ -318,8 +315,7 @@ err:
|
||||
|
||||
static void sh_eth_tx_desc_free(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port;
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
|
||||
if (port_info->tx_desc_alloc) {
|
||||
free(port_info->tx_desc_alloc);
|
||||
@ -329,8 +325,7 @@ static void sh_eth_tx_desc_free(struct sh_eth_dev *eth)
|
||||
|
||||
static void sh_eth_rx_desc_free(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port;
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
|
||||
if (port_info->rx_desc_alloc) {
|
||||
free(port_info->rx_desc_alloc);
|
||||
@ -522,8 +517,8 @@ static int sh_eth_start_common(struct sh_eth_dev *eth)
|
||||
#ifndef CONFIG_DM_ETH
|
||||
static int sh_eth_phy_config_legacy(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port, ret = 0;
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
int ret = 0;
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
struct eth_device *dev = port_info->dev;
|
||||
struct phy_device *phydev;
|
||||
|
||||
@ -545,8 +540,8 @@ static int sh_eth_send_legacy(struct eth_device *dev, void *packet, int len)
|
||||
|
||||
static int sh_eth_recv_common(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port, len = 0;
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
int len = 0;
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
uchar *packet = (uchar *)ADDR_TO_P2(port_info->rx_desc_cur->rd2);
|
||||
|
||||
len = sh_eth_recv_start(eth);
|
||||
@ -680,7 +675,7 @@ struct sh_ether_priv {
|
||||
struct sh_eth_dev shdev;
|
||||
|
||||
struct mii_dev *bus;
|
||||
void __iomem *iobase;
|
||||
phys_addr_t iobase;
|
||||
struct clk clk;
|
||||
struct gpio_desc reset_gpio;
|
||||
};
|
||||
@ -750,8 +745,8 @@ static int sh_eth_phy_config(struct udevice *dev)
|
||||
struct sh_ether_priv *priv = dev_get_priv(dev);
|
||||
struct eth_pdata *pdata = dev_get_platdata(dev);
|
||||
struct sh_eth_dev *eth = &priv->shdev;
|
||||
int port = eth->port, ret = 0;
|
||||
struct sh_eth_info *port_info = ð->port_info[port];
|
||||
int ret = 0;
|
||||
struct sh_eth_info *port_info = ð->port_info[eth->port];
|
||||
struct phy_device *phydev;
|
||||
int mask = 0xffffffff;
|
||||
|
||||
@ -816,15 +811,13 @@ static int sh_ether_probe(struct udevice *udev)
|
||||
struct sh_ether_priv *priv = dev_get_priv(udev);
|
||||
struct sh_eth_dev *eth = &priv->shdev;
|
||||
struct mii_dev *mdiodev;
|
||||
void __iomem *iobase;
|
||||
int ret;
|
||||
|
||||
iobase = map_physmem(pdata->iobase, 0x1000, MAP_NOCACHE);
|
||||
priv->iobase = iobase;
|
||||
priv->iobase = pdata->iobase;
|
||||
|
||||
ret = clk_get_by_index(udev, 0, &priv->clk);
|
||||
if (ret < 0)
|
||||
goto err_mdio_alloc;
|
||||
return ret;
|
||||
|
||||
gpio_request_by_name(udev, "reset-gpios", 0, &priv->reset_gpio,
|
||||
GPIOD_IS_OUT);
|
||||
@ -832,7 +825,7 @@ static int sh_ether_probe(struct udevice *udev)
|
||||
mdiodev = mdio_alloc();
|
||||
if (!mdiodev) {
|
||||
ret = -ENOMEM;
|
||||
goto err_mdio_alloc;
|
||||
return ret;
|
||||
}
|
||||
|
||||
mdiodev->read = bb_miiphy_read;
|
||||
@ -855,8 +848,6 @@ static int sh_ether_probe(struct udevice *udev)
|
||||
|
||||
err_mdio_register:
|
||||
mdio_free(mdiodev);
|
||||
err_mdio_alloc:
|
||||
unmap_physmem(priv->iobase, MAP_NOCACHE);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -873,8 +864,6 @@ static int sh_ether_remove(struct udevice *udev)
|
||||
if (dm_gpio_is_valid(&priv->reset_gpio))
|
||||
dm_gpio_free(udev, &priv->reset_gpio);
|
||||
|
||||
unmap_physmem(priv->iobase, MAP_NOCACHE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user