rswitch: Fix PHY station management clock setting
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tue, 26 Sep 2023 12:30:54 +0000 (21:30 +0900)
committerJakub Kicinski <kuba@kernel.org>
Tue, 3 Oct 2023 23:00:30 +0000 (16:00 -0700)
commita0c55bba0d0d0b5591083f65f830940d8ae63f31
treeb44b7a18d407b06e8b4e2728fed0cf1ee646686f
parentdfc7f7a988dad34c3bf4c053124fb26aa6c5f916
rswitch: Fix PHY station management clock setting

Fix the MPIC.PSMCS value following the programming example in the
section 6.4.2 Management Data Clock (MDC) Setting, Ethernet MAC IP,
S4 Hardware User Manual Rev.1.00.

The value is calculated by
    MPIC.PSMCS = clk[MHz] / (MDC frequency[MHz] * 2) - 1
with the input clock frequency from clk_get_rate() and MDC frequency
of 2.5MHz. Otherwise, this driver cannot communicate PHYs on the R-Car
S4 Starter Kit board.

Fixes: 3590918b5d07 ("net: ethernet: renesas: Add support for "Ethernet Switch"")
Reported-by: Tam Nguyen <tam.nguyen.xa@renesas.com>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230926123054.3976752-1-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/renesas/rswitch.c
drivers/net/ethernet/renesas/rswitch.h