lkml.org 
[lkml]   [2020]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 78/90] r8152: disable test IO for RTL8153B
    Date
    From: Hayes Wang <hayeswang@realtek.com>

    [ Upstream commit d7f1b59655efb5a285d227c8f9853a98eab5c2fd ]

    For RTL8153B with QFN32, disable test IO. Otherwise, it may cause
    abnormal behavior for the device randomly.

    Signed-off-by: Hayes Wang <hayeswang@realtek.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/usb/r8152.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
    index 2d3374a373f83..1f61859baa531 100644
    --- a/drivers/net/usb/r8152.c
    +++ b/drivers/net/usb/r8152.c
    @@ -298,6 +298,7 @@
    /* PLA_PHY_PWR */
    #define TX_10M_IDLE_EN 0x0080
    #define PFM_PWM_SWITCH 0x0040
    +#define TEST_IO_OFF BIT(4)

    /* PLA_MAC_PWR_CTRL */
    #define D3_CLK_GATED_EN 0x00004000
    @@ -4540,6 +4541,15 @@ static void r8153b_init(struct r8152 *tp)
    ocp_data &= ~PLA_MCU_SPDWN_EN;
    ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, ocp_data);

    + if (tp->version == RTL_VER_09) {
    + /* Disable Test IO for 32QFN */
    + if (ocp_read_byte(tp, MCU_TYPE_PLA, 0xdc00) & BIT(5)) {
    + ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR);
    + ocp_data |= TEST_IO_OFF;
    + ocp_write_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR, ocp_data);
    + }
    + }
    +
    set_bit(GREEN_ETHERNET, &tp->flags);

    /* rx aggregation */
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-02-03 17:40    [W:3.194 / U:0.164 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site