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

Commit e18dbf7e authored by Simon Horman's avatar Simon Horman Committed by David S. Miller
Browse files

sh_eth: Add support for r8a7790 SoC



This is a copy of support for r8a7778/9 with the .rmiimode mode bit
of struct sh_eth_cpu_data set.

Also update R8A7779 to R8A777x.

Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 55754f19
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -13,4 +13,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,
		  R8A7740 and R8A7779.
		  R8A7740, R8A777x and R8A7790.
+21 −0
Original line number Original line Diff line number Diff line
@@ -393,6 +393,26 @@ static struct sh_eth_cpu_data r8a777x_data = {
	.hw_swap	= 1,
	.hw_swap	= 1,
};
};


/* R8A7790 */
static struct sh_eth_cpu_data r8a7790_data = {
	.set_duplex	= sh_eth_set_duplex,
	.set_rate	= sh_eth_set_rate_r8a777x,

	.ecsr_value	= ECSR_PSRTO | ECSR_LCHNG | ECSR_ICD,
	.ecsipr_value	= ECSIPR_PSRTOIP | ECSIPR_LCHNGIP | ECSIPR_ICDIP,
	.eesipr_value	= 0x01ff009f,

	.tx_check	= EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO,
	.eesr_err_check	= EESR_TWB | EESR_TABT | EESR_RABT | EESR_RDE |
			  EESR_RFRMER | EESR_TFE | EESR_TDE | EESR_ECI,

	.apr		= 1,
	.mpr		= 1,
	.tpauser	= 1,
	.hw_swap	= 1,
	.rmiimode	= 1,
};

static void sh_eth_set_rate_sh7724(struct net_device *ndev)
static void sh_eth_set_rate_sh7724(struct net_device *ndev)
{
{
	struct sh_eth_private *mdp = netdev_priv(ndev);
	struct sh_eth_private *mdp = netdev_priv(ndev);
@@ -2753,6 +2773,7 @@ static struct platform_device_id sh_eth_id_table[] = {
	{ "sh7763-gether", (kernel_ulong_t)&sh7763_data },
	{ "sh7763-gether", (kernel_ulong_t)&sh7763_data },
	{ "r8a7740-gether", (kernel_ulong_t)&r8a7740_data },
	{ "r8a7740-gether", (kernel_ulong_t)&r8a7740_data },
	{ "r8a777x-ether", (kernel_ulong_t)&r8a777x_data },
	{ "r8a777x-ether", (kernel_ulong_t)&r8a777x_data },
	{ "r8a7790-ether", (kernel_ulong_t)&r8a7790_data },
	{ }
	{ }
};
};
MODULE_DEVICE_TABLE(platform, sh_eth_id_table);
MODULE_DEVICE_TABLE(platform, sh_eth_id_table);