From: Andrew Lunn <andrew@lunn.ch> To: Antoine Tenart <antoine.tenart@free-electrons.com> Cc: davem@davemloft.net, jason@lakedaemon.net, gregory.clement@free-electrons.com, sebastian.hesselbarth@gmail.com, thomas.petazzoni@free-electrons.com, nadavh@marvell.com, linux@armlinux.org.uk, mw@semihalf.com, stefanc@marvell.com, netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH net-next 05/18] net: mvpp2: initialize the GMAC when using a port Date: Wed, 26 Jul 2017 18:14:13 +0200 [thread overview] Message-ID: <20170726161413.GH12049@lunn.ch> (raw) In-Reply-To: <20170724134848.19330-6-antoine.tenart@free-electrons.com> > + } else if (port->phy_interface == PHY_INTERFACE_MODE_RGMII) { Don't forget: PHY_INTERFACE_MODE_RGMII_ID, PHY_INTERFACE_MODE_RGMII_RXID, PHY_INTERFACE_MODE_RGMII_TXID, > + val = readl(port->base + MVPP22_GMAC_CTRL_4_REG); > + val |= MVPP22_CTRL4_EXT_PIN_GMII_SEL | > + MVPP22_CTRL4_SYNC_BYPASS_DIS | > + MVPP22_CTRL4_QSGMII_BYPASS_ACTIVE; > + val &= ~MVPP22_CTRL4_DP_CLK_SEL; > + writel(val, port->base + MVPP22_GMAC_CTRL_4_REG); > + > + val = readl(port->base + MVPP2_GMAC_CTRL_2_REG); > + val &= ~MVPP2_GMAC_DISABLE_PADDING; > + writel(val, port->base + MVPP2_GMAC_CTRL_2_REG); > + } > + > + /* The port is connected to a copper PHY */ > + val = readl(port->base + MVPP2_GMAC_CTRL_0_REG); > + val &= ~MVPP2_GMAC_PORT_TYPE_MASK; > + writel(val, port->base + MVPP2_GMAC_CTRL_0_REG); > + > + val = readl(port->base + MVPP2_GMAC_AUTONEG_CONFIG); > + val |= MVPP2_GMAC_IN_BAND_AUTONEG | > + MVPP2_GMAC_IN_BAND_AUTONEG_BYPASS | > + MVPP2_GMAC_AN_SPEED_EN | MVPP2_GMAC_FLOW_CTRL_AUTONEG | > + MVPP2_GMAC_AN_DUPLEX_EN; > + writel(val, port->base + MVPP2_GMAC_AUTONEG_CONFIG); > +} > + > +static void mvpp2_port_mii_gmac_configure(struct mvpp2_port *port) > +{ > + u32 val; > + > + /* Force link down */ > + val = readl(port->base + MVPP2_GMAC_AUTONEG_CONFIG); > + val |= MVPP2_GMAC_FORCE_LINK_DOWN; > + writel(val, port->base + MVPP2_GMAC_AUTONEG_CONFIG); > + > + /* Set the GMAC in a reset state */ > + val = readl(port->base + MVPP2_GMAC_CTRL_2_REG); > + val |= MVPP2_GMAC_PORT_RESET_MASK; > + writel(val, port->base + MVPP2_GMAC_CTRL_2_REG); > + > + /* Configure the PCS and in-band AN */ > + val = readl(port->base + MVPP2_GMAC_CTRL_2_REG); > + if (port->phy_interface == PHY_INTERFACE_MODE_SGMII) { > + val |= MVPP2_GMAC_INBAND_AN_MASK | MVPP2_GMAC_PCS_ENABLE_MASK; > + } else if (port->phy_interface == PHY_INTERFACE_MODE_RGMII) { phy_interface_is_rgmii() Andrew
WARNING: multiple messages have this Message-ID (diff)
From: andrew@lunn.ch (Andrew Lunn) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next 05/18] net: mvpp2: initialize the GMAC when using a port Date: Wed, 26 Jul 2017 18:14:13 +0200 [thread overview] Message-ID: <20170726161413.GH12049@lunn.ch> (raw) In-Reply-To: <20170724134848.19330-6-antoine.tenart@free-electrons.com> > + } else if (port->phy_interface == PHY_INTERFACE_MODE_RGMII) { Don't forget: PHY_INTERFACE_MODE_RGMII_ID, PHY_INTERFACE_MODE_RGMII_RXID, PHY_INTERFACE_MODE_RGMII_TXID, > + val = readl(port->base + MVPP22_GMAC_CTRL_4_REG); > + val |= MVPP22_CTRL4_EXT_PIN_GMII_SEL | > + MVPP22_CTRL4_SYNC_BYPASS_DIS | > + MVPP22_CTRL4_QSGMII_BYPASS_ACTIVE; > + val &= ~MVPP22_CTRL4_DP_CLK_SEL; > + writel(val, port->base + MVPP22_GMAC_CTRL_4_REG); > + > + val = readl(port->base + MVPP2_GMAC_CTRL_2_REG); > + val &= ~MVPP2_GMAC_DISABLE_PADDING; > + writel(val, port->base + MVPP2_GMAC_CTRL_2_REG); > + } > + > + /* The port is connected to a copper PHY */ > + val = readl(port->base + MVPP2_GMAC_CTRL_0_REG); > + val &= ~MVPP2_GMAC_PORT_TYPE_MASK; > + writel(val, port->base + MVPP2_GMAC_CTRL_0_REG); > + > + val = readl(port->base + MVPP2_GMAC_AUTONEG_CONFIG); > + val |= MVPP2_GMAC_IN_BAND_AUTONEG | > + MVPP2_GMAC_IN_BAND_AUTONEG_BYPASS | > + MVPP2_GMAC_AN_SPEED_EN | MVPP2_GMAC_FLOW_CTRL_AUTONEG | > + MVPP2_GMAC_AN_DUPLEX_EN; > + writel(val, port->base + MVPP2_GMAC_AUTONEG_CONFIG); > +} > + > +static void mvpp2_port_mii_gmac_configure(struct mvpp2_port *port) > +{ > + u32 val; > + > + /* Force link down */ > + val = readl(port->base + MVPP2_GMAC_AUTONEG_CONFIG); > + val |= MVPP2_GMAC_FORCE_LINK_DOWN; > + writel(val, port->base + MVPP2_GMAC_AUTONEG_CONFIG); > + > + /* Set the GMAC in a reset state */ > + val = readl(port->base + MVPP2_GMAC_CTRL_2_REG); > + val |= MVPP2_GMAC_PORT_RESET_MASK; > + writel(val, port->base + MVPP2_GMAC_CTRL_2_REG); > + > + /* Configure the PCS and in-band AN */ > + val = readl(port->base + MVPP2_GMAC_CTRL_2_REG); > + if (port->phy_interface == PHY_INTERFACE_MODE_SGMII) { > + val |= MVPP2_GMAC_INBAND_AN_MASK | MVPP2_GMAC_PCS_ENABLE_MASK; > + } else if (port->phy_interface == PHY_INTERFACE_MODE_RGMII) { phy_interface_is_rgmii() Andrew
next prev parent reply other threads:[~2017-07-26 16:14 UTC|newest] Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-24 13:48 [PATCH net-next 00/18] net: mvpp2: MAC/GoP configuration and optional PHYs Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 01/18] net: mvpp2: unify register definitions coding style Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 02/18] net: mvpp2: fix the synchronization module bypass macro name Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 03/18] net: mvpp2: set the SMI PHY address when connecting to the PHY Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 16:40 ` Sergei Shtylyov 2017-07-24 16:40 ` Sergei Shtylyov 2017-07-25 8:42 ` Antoine Tenart 2017-07-25 8:42 ` Antoine Tenart 2017-07-26 16:08 ` Andrew Lunn 2017-07-26 16:08 ` Andrew Lunn 2017-07-28 1:49 ` Antoine Tenart 2017-07-28 1:49 ` Antoine Tenart 2017-07-28 4:21 ` Andrew Lunn 2017-07-28 4:21 ` Andrew Lunn 2017-08-22 14:41 ` Antoine Tenart 2017-08-22 14:41 ` Antoine Tenart 2017-08-22 14:50 ` Andrew Lunn 2017-08-22 14:50 ` Andrew Lunn 2017-08-23 10:40 ` [EXT] " Stefan Chulski 2017-08-23 10:40 ` Stefan Chulski 2017-08-23 12:34 ` Andrew Lunn 2017-08-23 12:34 ` Andrew Lunn 2017-08-23 13:30 ` Stefan Chulski 2017-08-23 13:30 ` Stefan Chulski 2017-08-23 13:34 ` Andrew Lunn 2017-08-23 13:34 ` Andrew Lunn 2017-07-24 13:48 ` [PATCH net-next 04/18] net: mvpp2: move the mii configuration in the ndo_open path Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-26 16:11 ` Andrew Lunn 2017-07-26 16:11 ` Andrew Lunn 2017-07-28 1:44 ` Antoine Tenart 2017-07-28 1:44 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 05/18] net: mvpp2: initialize the GMAC when using a port Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-26 16:14 ` Andrew Lunn [this message] 2017-07-26 16:14 ` Andrew Lunn 2017-07-24 13:48 ` [PATCH net-next 06/18] net: mvpp2: initialize the XLG MAC " Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 07/18] net: mvpp2: initialize the GoP Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-26 16:16 ` Andrew Lunn 2017-07-26 16:16 ` Andrew Lunn 2017-07-24 13:48 ` [PATCH net-next 08/18] net: mvpp2: make the phy optional Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-26 16:20 ` Andrew Lunn 2017-07-26 16:20 ` Andrew Lunn 2017-07-28 1:50 ` Antoine Tenart 2017-07-28 1:50 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 09/18] net: mvpp2: use named interrupts Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 16:49 ` Sergei Shtylyov 2017-07-24 16:49 ` Sergei Shtylyov 2017-07-25 8:45 ` Antoine Tenart 2017-07-25 8:45 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 10/18] net: mvpp2: use the GoP interrupt for link status changes Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 22:58 ` Marcin Wojtas 2017-07-24 22:58 ` Marcin Wojtas 2017-07-25 8:47 ` Antoine Tenart 2017-07-25 8:47 ` Antoine Tenart 2017-07-25 13:17 ` Thomas Petazzoni 2017-07-25 13:17 ` Thomas Petazzoni 2017-07-26 0:07 ` Antoine Tenart 2017-07-26 0:07 ` Antoine Tenart 2017-07-26 16:26 ` Andrew Lunn 2017-07-26 16:26 ` Andrew Lunn 2017-07-26 19:38 ` Russell King - ARM Linux 2017-07-26 19:38 ` Russell King - ARM Linux 2017-08-23 8:25 ` Antoine Tenart 2017-08-23 8:25 ` Antoine Tenart 2017-08-23 15:24 ` [EXT] " Stefan Chulski 2017-08-23 15:24 ` Stefan Chulski 2017-08-23 16:04 ` Antoine Tenart 2017-08-23 16:04 ` Antoine Tenart 2017-08-23 21:05 ` Marcin Wojtas 2017-08-23 21:05 ` Marcin Wojtas 2017-08-24 10:59 ` Antoine Tenart 2017-08-24 10:59 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 11/18] Documentation/bindings: net: marvell-pp2: add the system controller Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 12/18] Documentation/bindings: net: marvell-pp2: add the interrupt-names Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 13/18] arm64: dts: marvell: cp110: use named interrupts for the Ethernet ports Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 14/18] arm64: dts: marvell: cp110: add PPv2 port interrupts Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 15/18] arm64: dts: marvell: add a reference to the sysctrl syscon in the ppv2 node Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 16/18] arm64: dts: marvell: mcbin: enable more networking ports Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 17/18] arm64: dts: marvell: 7040-db: enable the SFP port Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 13:48 ` [PATCH net-next 18/18] arm64: dts: marvell: 8040-db: enable the SFP ports Antoine Tenart 2017-07-24 13:48 ` Antoine Tenart 2017-07-24 23:56 ` [PATCH net-next 00/18] net: mvpp2: MAC/GoP configuration and optional PHYs Marcin Wojtas 2017-07-24 23:56 ` Marcin Wojtas 2017-07-25 8:48 ` Antoine Tenart 2017-07-25 8:48 ` Antoine Tenart 2017-07-25 10:45 ` Marcin Wojtas 2017-07-25 10:45 ` Marcin Wojtas
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170726161413.GH12049@lunn.ch \ --to=andrew@lunn.ch \ --cc=antoine.tenart@free-electrons.com \ --cc=davem@davemloft.net \ --cc=gregory.clement@free-electrons.com \ --cc=jason@lakedaemon.net \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux@armlinux.org.uk \ --cc=mw@semihalf.com \ --cc=nadavh@marvell.com \ --cc=netdev@vger.kernel.org \ --cc=sebastian.hesselbarth@gmail.com \ --cc=stefanc@marvell.com \ --cc=thomas.petazzoni@free-electrons.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.