lkml.org 
[lkml]   [2020]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 594/639] net: stmmac: fix disabling flexible PPS output
    Date
    From: Antonio Borneo <antonio.borneo@st.com>

    [ Upstream commit 520cf6002147281d1e7b522bb338416b623dcb93 ]

    Accordingly to Synopsys documentation [1] and [2], when bit PPSEN0
    in register MAC_PPS_CONTROL is set it selects the functionality
    command in the same register, otherwise selects the functionality
    control.
    Command functionality is required to either enable (command 0x2)
    and disable (command 0x5) the flexible PPS output, but the bit
    PPSEN0 is currently set only for enabling.

    Set the bit PPSEN0 to properly disable flexible PPS output.

    Tested on STM32MP15x, based on dwmac 4.10a.

    [1] DWC Ethernet QoS Databook 4.10a October 2014
    [2] DWC Ethernet QoS Databook 5.00a September 2017

    Signed-off-by: Antonio Borneo <antonio.borneo@st.com>
    Fixes: 9a8a02c9d46d ("net: stmmac: Add Flexible PPS support")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/stmicro/stmmac/dwmac5.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac5.c b/drivers/net/ethernet/stmicro/stmmac/dwmac5.c
    index 3f4f3132e16b3..e436fa160c7d6 100644
    --- a/drivers/net/ethernet/stmicro/stmmac/dwmac5.c
    +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac5.c
    @@ -515,6 +515,7 @@ int dwmac5_flex_pps_config(void __iomem *ioaddr, int index,

    if (!enable) {
    val |= PPSCMDx(index, 0x5);
    + val |= PPSEN0;
    writel(val, ioaddr + MAC_PPS_CONTROL);
    return 0;
    }
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-01-24 12:33    [W:4.027 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site