|
@@ -393,6 +393,26 @@ static struct sh_eth_cpu_data r8a777x_data = {
|
|
|
.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)
|
|
|
{
|
|
|
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 },
|
|
|
{ "r8a7740-gether", (kernel_ulong_t)&r8a7740_data },
|
|
|
{ "r8a777x-ether", (kernel_ulong_t)&r8a777x_data },
|
|
|
+ { "r8a7790-ether", (kernel_ulong_t)&r8a7790_data },
|
|
|
{ }
|
|
|
};
|
|
|
MODULE_DEVICE_TABLE(platform, sh_eth_id_table);
|