From 6dc3dce65848891468830105a63e36da1c8158bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 21 May 2020 14:58:36 +0200 Subject: bcm63xx: improve rgmii ctrl overrides MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There are older devices which require overriding the RGMII ports, so this shouldn't be limited and forced to BCM63268. Signed-off-by: Álvaro Fernández Rojas --- .../428-bcm63xx_enet-rgmii-ctrl-fix.patch | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 target/linux/bcm63xx/patches-5.4/428-bcm63xx_enet-rgmii-ctrl-fix.patch (limited to 'target/linux/bcm63xx/patches-5.4/428-bcm63xx_enet-rgmii-ctrl-fix.patch') diff --git a/target/linux/bcm63xx/patches-5.4/428-bcm63xx_enet-rgmii-ctrl-fix.patch b/target/linux/bcm63xx/patches-5.4/428-bcm63xx_enet-rgmii-ctrl-fix.patch new file mode 100644 index 0000000000..f744d3dab9 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/428-bcm63xx_enet-rgmii-ctrl-fix.patch @@ -0,0 +1,25 @@ +--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h ++++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h +@@ -79,6 +79,9 @@ struct bcm63xx_enetsw_port { + int force_speed; + int force_duplex_full; + ++ int mii_override; ++ int timing_sel; ++ + const char *name; + }; + +--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c ++++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c +@@ -2209,6 +2209,10 @@ static int bcm_enetsw_open(struct net_de + + rgmii_ctrl = enetsw_readb(priv, ENETSW_RGMII_CTRL_REG(i)); + rgmii_ctrl |= ENETSW_RGMII_CTRL_GMII_CLK_EN; ++ if (priv->used_ports[i].mii_override) ++ rgmii_ctrl |= ENETSW_RGMII_CTRL_MII_OVERRIDE_EN; ++ if (priv->used_ports[i].timing_sel) ++ rgmii_ctrl |= ENETSW_RGMII_CTRL_TIMING_SEL_EN; + enetsw_writeb(priv, rgmii_ctrl, ENETSW_RGMII_CTRL_REG(i)); + } + -- cgit v1.2.3