diff options
author | Simon Horman <horms+renesas@verge.net.au> | 2013-07-22 21:18:05 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-24 18:39:26 -0400 |
commit | e18dbf7efcb7a727e5db773597ddfd6981a530e6 (patch) | |
tree | f2b6bfef8d562f1d647cd3d4a3c3a76416d39c53 /drivers/net/ethernet/renesas | |
parent | 55754f19d7ee4fa3633f55a4a084af8590c35efa (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/Kconfig | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/renesas/sh_eth.c | 21 |
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 */ | ||
397 | static 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 | |||
396 | static void sh_eth_set_rate_sh7724(struct net_device *ndev) | 416 | static 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 | }; |
2758 | MODULE_DEVICE_TABLE(platform, sh_eth_id_table); | 2779 | MODULE_DEVICE_TABLE(platform, sh_eth_id_table); |