net: sh_eth: Add eth support for R8A7779 device
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
61abcb7b05
commit
d0418bb712
@ -8,7 +8,7 @@ config SH_ETH
|
|||||||
(CPU_SUBTYPE_SH7710 || CPU_SUBTYPE_SH7712 || \
|
(CPU_SUBTYPE_SH7710 || CPU_SUBTYPE_SH7712 || \
|
||||||
CPU_SUBTYPE_SH7763 || CPU_SUBTYPE_SH7619 || \
|
CPU_SUBTYPE_SH7763 || CPU_SUBTYPE_SH7619 || \
|
||||||
CPU_SUBTYPE_SH7724 || CPU_SUBTYPE_SH7734 || \
|
CPU_SUBTYPE_SH7724 || CPU_SUBTYPE_SH7734 || \
|
||||||
CPU_SUBTYPE_SH7757 || ARCH_R8A7740)
|
CPU_SUBTYPE_SH7757 || ARCH_R8A7740 || ARCH_R8A7779)
|
||||||
select CRC32
|
select CRC32
|
||||||
select NET_CORE
|
select NET_CORE
|
||||||
select MII
|
select MII
|
||||||
@ -18,4 +18,4 @@ config SH_ETH
|
|||||||
Renesas SuperH Ethernet device driver.
|
Renesas SuperH Ethernet device driver.
|
||||||
This driver supporting CPUs are:
|
This driver supporting CPUs are:
|
||||||
- SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757,
|
- SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757,
|
||||||
and R8A7740.
|
R8A7740 and R8A7779.
|
||||||
|
@ -78,7 +78,7 @@ static void sh_eth_select_mii(struct net_device *ndev)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* There is CPU dependent code */
|
/* There is CPU dependent code */
|
||||||
#if defined(CONFIG_CPU_SUBTYPE_SH7724)
|
#if defined(CONFIG_CPU_SUBTYPE_SH7724) || defined(CONFIG_ARCH_R8A7779)
|
||||||
#define SH_ETH_RESET_DEFAULT 1
|
#define SH_ETH_RESET_DEFAULT 1
|
||||||
static void sh_eth_set_duplex(struct net_device *ndev)
|
static void sh_eth_set_duplex(struct net_device *ndev)
|
||||||
{
|
{
|
||||||
@ -93,13 +93,18 @@ static void sh_eth_set_duplex(struct net_device *ndev)
|
|||||||
static void sh_eth_set_rate(struct net_device *ndev)
|
static void sh_eth_set_rate(struct net_device *ndev)
|
||||||
{
|
{
|
||||||
struct sh_eth_private *mdp = netdev_priv(ndev);
|
struct sh_eth_private *mdp = netdev_priv(ndev);
|
||||||
|
unsigned int bits = ECMR_RTM;
|
||||||
|
|
||||||
|
#if defined(CONFIG_ARCH_R8A7779)
|
||||||
|
bits |= ECMR_ELB;
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (mdp->speed) {
|
switch (mdp->speed) {
|
||||||
case 10: /* 10BASE */
|
case 10: /* 10BASE */
|
||||||
sh_eth_write(ndev, sh_eth_read(ndev, ECMR) & ~ECMR_RTM, ECMR);
|
sh_eth_write(ndev, sh_eth_read(ndev, ECMR) & ~bits, ECMR);
|
||||||
break;
|
break;
|
||||||
case 100:/* 100BASE */
|
case 100:/* 100BASE */
|
||||||
sh_eth_write(ndev, sh_eth_read(ndev, ECMR) | ECMR_RTM, ECMR);
|
sh_eth_write(ndev, sh_eth_read(ndev, ECMR) | bits, ECMR);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user