aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/renesas
diff options
context:
space:
mode:
authorSimon Horman <horms+renesas@verge.net.au>2013-07-22 21:18:05 -0400
committerDavid S. Miller <davem@davemloft.net>2013-07-24 18:39:26 -0400
commite18dbf7efcb7a727e5db773597ddfd6981a530e6 (patch)
treef2b6bfef8d562f1d647cd3d4a3c3a76416d39c53 /drivers/net/ethernet/renesas
parent55754f19d7ee4fa3633f55a4a084af8590c35efa (diff)
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: Simon Horman <horms+renesas@verge.net.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/renesas')
-rw-r--r--drivers/net/ethernet/renesas/Kconfig2
-rw-r--r--drivers/net/ethernet/renesas/sh_eth.c21
2 files changed, 22 insertions, 1 deletions
diff --git a/drivers/net/ethernet/renesas/Kconfig b/drivers/net/ethernet/renesas/Kconfig
index 19a8a045e077..a30c4395b232 100644
--- a/drivers/net/ethernet/renesas/Kconfig
+++ b/drivers/net/ethernet/renesas/Kconfig
@@ -13,4 +13,4 @@ config SH_ETH
13 Renesas SuperH Ethernet device driver. 13 Renesas SuperH Ethernet device driver.
14 This driver supporting CPUs are: 14 This driver supporting CPUs are:
15 - SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757, 15 - SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757,
16 R8A7740 and R8A7779. 16 R8A7740, R8A777x and R8A7790.
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index 87af49f1414d..fedc0a05b218 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -393,6 +393,26 @@ static struct sh_eth_cpu_data r8a777x_data = {
393 .hw_swap = 1, 393 .hw_swap = 1,
394}; 394};
395 395
396/* R8A7790 */
397static struct sh_eth_cpu_data r8a7790_data = {
398 .set_duplex = sh_eth_set_duplex,
399 .set_rate = sh_eth_set_rate_r8a777x,
400
401 .ecsr_value = ECSR_PSRTO | ECSR_LCHNG | ECSR_ICD,
402 .ecsipr_value = ECSIPR_PSRTOIP | ECSIPR_LCHNGIP | ECSIPR_ICDIP,
403 .eesipr_value = 0x01ff009f,
404
405 .tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO,
406 .eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RDE |
407 EESR_RFRMER | EESR_TFE | EESR_TDE | EESR_ECI,
408
409 .apr = 1,
410 .mpr = 1,
411 .tpauser = 1,
412 .hw_swap = 1,
413 .rmiimode = 1,
414};
415
396static void sh_eth_set_rate_sh7724(struct net_device *ndev) 416static void sh_eth_set_rate_sh7724(struct net_device *ndev)
397{ 417{
398 struct sh_eth_private *mdp = netdev_priv(ndev); 418 struct sh_eth_private *mdp = netdev_priv(ndev);
@@ -2753,6 +2773,7 @@ static struct platform_device_id sh_eth_id_table[] = {
2753 { "sh7763-gether", (kernel_ulong_t)&sh7763_data }, 2773 { "sh7763-gether", (kernel_ulong_t)&sh7763_data },
2754 { "r8a7740-gether", (kernel_ulong_t)&r8a7740_data }, 2774 { "r8a7740-gether", (kernel_ulong_t)&r8a7740_data },
2755 { "r8a777x-ether", (kernel_ulong_t)&r8a777x_data }, 2775 { "r8a777x-ether", (kernel_ulong_t)&r8a777x_data },
2776 { "r8a7790-ether", (kernel_ulong_t)&r8a7790_data },
2756 { } 2777 { }
2757}; 2778};
2758MODULE_DEVICE_TABLE(platform, sh_eth_id_table); 2779MODULE_DEVICE_TABLE(platform, sh_eth_id_table);