@@ -798,6 +798,41 @@ static struct sh_eth_cpu_data r8a77980_data = {
798
798
.magic = 1 ,
799
799
.cexcr = 1 ,
800
800
};
801
+
802
+ /* R7S9210 */
803
+ static struct sh_eth_cpu_data r7s9210_data = {
804
+ .soft_reset = sh_eth_soft_reset ,
805
+
806
+ .set_duplex = sh_eth_set_duplex ,
807
+ .set_rate = sh_eth_set_rate_rcar ,
808
+
809
+ .register_type = SH_ETH_REG_FAST_SH4 ,
810
+
811
+ .edtrr_trns = EDTRR_TRNS_ETHER ,
812
+ .ecsr_value = ECSR_ICD ,
813
+ .ecsipr_value = ECSIPR_ICDIP ,
814
+ .eesipr_value = EESIPR_TWBIP | EESIPR_TABTIP | EESIPR_RABTIP |
815
+ EESIPR_RFCOFIP | EESIPR_ECIIP | EESIPR_FTCIP |
816
+ EESIPR_TDEIP | EESIPR_TFUFIP | EESIPR_FRIP |
817
+ EESIPR_RDEIP | EESIPR_RFOFIP | EESIPR_CNDIP |
818
+ EESIPR_DLCIP | EESIPR_CDIP | EESIPR_TROIP |
819
+ EESIPR_RMAFIP | EESIPR_RRFIP | EESIPR_RTLFIP |
820
+ EESIPR_RTSFIP | EESIPR_PREIP | EESIPR_CERFIP ,
821
+
822
+ .tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_TRO ,
823
+ .eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE |
824
+ EESR_RDE | EESR_RFRMER | EESR_TFE | EESR_TDE ,
825
+
826
+ .fdr_value = 0x0000070f ,
827
+
828
+ .apr = 1 ,
829
+ .mpr = 1 ,
830
+ .tpauser = 1 ,
831
+ .hw_swap = 1 ,
832
+ .rpadir = 1 ,
833
+ .no_ade = 1 ,
834
+ .xdfar_rw = 1 ,
835
+ };
801
836
#endif /* CONFIG_OF */
802
837
803
838
static void sh_eth_set_rate_sh7724 (struct net_device * ndev )
@@ -3121,6 +3156,7 @@ static const struct of_device_id sh_eth_match_table[] = {
3121
3156
{ .compatible = "renesas,ether-r8a7794" , .data = & rcar_gen2_data },
3122
3157
{ .compatible = "renesas,gether-r8a77980" , .data = & r8a77980_data },
3123
3158
{ .compatible = "renesas,ether-r7s72100" , .data = & r7s72100_data },
3159
+ { .compatible = "renesas,ether-r7s9210" , .data = & r7s9210_data },
3124
3160
{ .compatible = "renesas,rcar-gen1-ether" , .data = & rcar_gen1_data },
3125
3161
{ .compatible = "renesas,rcar-gen2-ether" , .data = & rcar_gen2_data },
3126
3162
{ }
0 commit comments