Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0418bb7 authored by Phil Edworthy's avatar Phil Edworthy Committed by David S. Miller
Browse files

net: sh_eth: Add eth support for R8A7779 device

parent 61abcb7b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ config SH_ETH
		(CPU_SUBTYPE_SH7710 || CPU_SUBTYPE_SH7712 || \
		 CPU_SUBTYPE_SH7763 || CPU_SUBTYPE_SH7619 || \
		 CPU_SUBTYPE_SH7724 || CPU_SUBTYPE_SH7734 || \
		 CPU_SUBTYPE_SH7757 || ARCH_R8A7740)
		 CPU_SUBTYPE_SH7757 || ARCH_R8A7740 || ARCH_R8A7779)
	select CRC32
	select NET_CORE
	select MII
@@ -18,4 +18,4 @@ config SH_ETH
	  Renesas SuperH Ethernet device driver.
	  This driver supporting CPUs are:
		- SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757,
		  and R8A7740.
		  R8A7740 and R8A7779.
+8 −3
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ static void sh_eth_select_mii(struct net_device *ndev)
#endif

/* 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
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)
{
	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) {
	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;
	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;
	default:
		break;