@@ -622,6 +622,7 @@ enum rtl_version {
622
622
RTL_VER_03 ,
623
623
RTL_VER_04 ,
624
624
RTL_VER_05 ,
625
+ RTL_VER_06 ,
625
626
RTL_VER_MAX
626
627
};
627
628
@@ -2560,7 +2561,10 @@ static void r8153_hw_phy_cfg(struct r8152 *tp)
2560
2561
u32 ocp_data ;
2561
2562
u16 data ;
2562
2563
2563
- ocp_reg_write (tp , OCP_ADC_CFG , CKADSEL_L | ADC_EN | EN_EMI_L );
2564
+ if (tp -> version == RTL_VER_03 || tp -> version == RTL_VER_04 ||
2565
+ tp -> version == RTL_VER_05 )
2566
+ ocp_reg_write (tp , OCP_ADC_CFG , CKADSEL_L | ADC_EN | EN_EMI_L );
2567
+
2564
2568
data = r8152_mdio_read (tp , MII_BMCR );
2565
2569
if (data & BMCR_PDOWN ) {
2566
2570
data &= ~BMCR_PDOWN ;
@@ -3268,6 +3272,13 @@ static void r8153_init(struct r8152 *tp)
3268
3272
ocp_data &= ~ECM_ALDPS ;
3269
3273
ocp_write_byte (tp , MCU_TYPE_PLA , PLA_DMY_REG0 , ocp_data );
3270
3274
3275
+ ocp_data = ocp_read_byte (tp , MCU_TYPE_USB , USB_CSR_DUMMY1 );
3276
+ if (ocp_read_word (tp , MCU_TYPE_USB , USB_BURST_SIZE ) == 0 )
3277
+ ocp_data &= ~DYNAMIC_BURST ;
3278
+ else
3279
+ ocp_data |= DYNAMIC_BURST ;
3280
+ ocp_write_byte (tp , MCU_TYPE_USB , USB_CSR_DUMMY1 , ocp_data );
3281
+ } else if (tp -> version == RTL_VER_06 ) {
3271
3282
ocp_data = ocp_read_byte (tp , MCU_TYPE_USB , USB_CSR_DUMMY1 );
3272
3283
if (ocp_read_word (tp , MCU_TYPE_USB , USB_BURST_SIZE ) == 0 )
3273
3284
ocp_data &= ~DYNAMIC_BURST ;
@@ -3908,6 +3919,10 @@ static void r8152b_get_version(struct r8152 *tp)
3908
3919
tp -> version = RTL_VER_05 ;
3909
3920
tp -> mii .supports_gmii = 1 ;
3910
3921
break ;
3922
+ case 0x5c30 :
3923
+ tp -> version = RTL_VER_06 ;
3924
+ tp -> mii .supports_gmii = 1 ;
3925
+ break ;
3911
3926
default :
3912
3927
netif_info (tp , probe , tp -> netdev ,
3913
3928
"Unknown version 0x%04x\n" , version );
@@ -3953,6 +3968,7 @@ static int rtl_ops_init(struct r8152 *tp)
3953
3968
case RTL_VER_03 :
3954
3969
case RTL_VER_04 :
3955
3970
case RTL_VER_05 :
3971
+ case RTL_VER_06 :
3956
3972
ops -> init = r8153_init ;
3957
3973
ops -> enable = rtl8153_enable ;
3958
3974
ops -> disable = rtl8153_disable ;
0 commit comments