<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/phy/broadcom.c, branch v4.14.2</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.2</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-05-16T19:58:18+00:00</updated>
<entry>
<title>net: phy: Remove residual magic from PHY drivers</title>
<updated>2017-05-16T19:58:18+00:00</updated>
<author>
<name>Andrew Lunn</name>
<email>andrew@lunn.ch</email>
</author>
<published>2017-05-16T16:29:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1b86f702f80de32d555519e2c4c61385faeab710'/>
<id>urn:sha1:1b86f702f80de32d555519e2c4c61385faeab710</id>
<content type='text'>
commit fa8cddaf903c ("net phylib: Remove unnecessary condition check in phy")
removed the only place where the PHY flag PHY_HAS_MAGICANEG was
checked. But it left the flag being set in the drivers. Remove the flag.

Signed-off-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: Allow BCM5481x PHYs to setup internal TX/RX clock delay</title>
<updated>2017-05-01T02:56:19+00:00</updated>
<author>
<name>Abhishek Shah</name>
<email>abhishek.shah@broadcom.com</email>
</author>
<published>2017-04-30T05:34:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=733336262b28d383cf72eba2287f1132deea4f47'/>
<id>urn:sha1:733336262b28d383cf72eba2287f1132deea4f47</id>
<content type='text'>
This patch allows users to enable/disable internal TX and/or RX
clock delay for BCM5481x series PHYs so as to satisfy RGMII timing
specifications.

On a particular platform, whether TX and/or RX clock delay is required
depends on how PHY connected to the MAC IP. This requirement can be
specified through "phy-mode" property in the platform device tree.

Signed-off-by: Abhishek Shah &lt;abhishek.shah@broadcom.com&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: broadcom: rehook BCM54612E specific init</title>
<updated>2017-02-01T19:20:20+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>rafal@milecki.pl</email>
</author>
<published>2017-01-31T21:54:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'/>
<id>urn:sha1:62e13097c46c69dbd7544ab2cd585ccf48f360a4</id>
<content type='text'>
This extra BCM54612E code in PHY driver isn't really aneg specific. Even
without it aneg works OK but the problem is no packets pass through PHY.

Moreover putting this code inside config_aneg callback didn't allow
resuming PHY correctly. When driver called phy_stop and phy_start it was
putting PHY machine into RESUMING state. After that machine was
switching into AN and NOLINK without ever calling phy_start_aneg. This
prevented this extra setup from being called and PHY didn't work.

This change has been verified to fix network on BCM47186B0 SoC device
with BCM54612E.

Signed-off-by: Rafał Miłecki &lt;rafal@milecki.pl&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: broadcom: add support for BCM54210E</title>
<updated>2017-01-27T16:29:18+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>rafal@milecki.pl</email>
</author>
<published>2017-01-27T13:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0fc9ae107669760c2a8658cb5b5876dbe525e08d'/>
<id>urn:sha1:0fc9ae107669760c2a8658cb5b5876dbe525e08d</id>
<content type='text'>
It's Broadcom PHY simply described as single-port
RGMII 10/100/1000BASE-T PHY. It requires disabling delay skew and GTXCLK
bits.

Signed-off-by: Rafał Miłecki &lt;rafal@milecki.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: broadcom: drop duplicated define for RGMII SKEW delay</title>
<updated>2017-01-26T04:13:44+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>rafal@milecki.pl</email>
</author>
<published>2017-01-25T20:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8293c7bcdef1b866610bf21dee3eb0d181cee753'/>
<id>urn:sha1:8293c7bcdef1b866610bf21dee3eb0d181cee753</id>
<content type='text'>
We had two defines for the same bit (both were used with the
MII_BCM54XX_AUXCTL_SHDWSEL_MISC register).

Signed-off-by: Rafał Miłecki &lt;rafal@milecki.pl&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: broadcom: use auxctl reading helper in BCM54612E code</title>
<updated>2017-01-26T04:13:44+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>rafal@milecki.pl</email>
</author>
<published>2017-01-25T20:00:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=85b4685da52f6680635370c2cfb9a42f04ac9652'/>
<id>urn:sha1:85b4685da52f6680635370c2cfb9a42f04ac9652</id>
<content type='text'>
Starting with commit 5b4e29005123 ("net: phy: broadcom: add
bcm54xx_auxctl_read") we have a reading helper so use it and avoid code
duplication.
It also means we don't need MII_BCM54XX_AUXCTL_SHDWSEL_MISC define as
it's the same as MII_BCM54XX_AUXCTL_SHDWSEL_MISC just for reading needs
(same value shifted by 12 bits).

Signed-off-by: Rafał Miłecki &lt;rafal@milecki.pl&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: phy drivers should not set SUPPORTED_[Asym_]Pause</title>
<updated>2016-12-11T04:31:19+00:00</updated>
<author>
<name>Timur Tabi</name>
<email>timur@codeaurora.org</email>
</author>
<published>2016-12-07T19:20:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=529ed12752635ba8a35dc78ec70ed6f42570b4ca'/>
<id>urn:sha1:529ed12752635ba8a35dc78ec70ed6f42570b4ca</id>
<content type='text'>
Instead of having individual PHY drivers set the SUPPORTED_Pause and
SUPPORTED_Asym_Pause flags, phylib itself should set those flags,
unless there is a hardware erratum or other special case.  During
autonegotiation, the PHYs will determine whether to enable pause
frame support.

Pause frames are a feature that is supported by the MAC.  It is the MAC
that generates the frames and that processes them.  The PHY can only be
configured to allow them to pass through.

This commit also effectively reverts the recently applied c7a61319
("net: phy: dp83848: Support ethernet pause frames").

So the new process is:

1) Unless the PHY driver overrides it, phylib sets the SUPPORTED_Pause
and SUPPORTED_AsymPause bits in phydev-&gt;supported.  This indicates that
the PHY supports pause frames.

2) The MAC driver checks phydev-&gt;supported before it calls phy_start().
If (SUPPORTED_Pause | SUPPORTED_AsymPause) is set, then the MAC driver
sets those bits in phydev-&gt;advertising, if it wants to enable pause
frame support.

3) When the link state changes, the MAC driver checks phydev-&gt;pause and
phydev-&gt;asym_pause,  If the bits are set, then it enables the corresponding
features in the MAC.  The algorithm is:

	if (phydev-&gt;pause)
		The MAC should be programmed to receive and honor
                pause frames it receives, i.e. enable receive flow control.

	if (phydev-&gt;pause != phydev-&gt;asym_pause)
		The MAC should be programmed to transmit pause
		frames when needed, i.e. enable transmit flow control.

Signed-off-by: Timur Tabi &lt;timur@codeaurora.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: broadcom: Move bcm54xx_auxctl_{read, write} to common library</title>
<updated>2016-11-24T20:45:53+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2016-11-22T19:40:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5519da874ad0f382b725281e443cf7fe58995ed8'/>
<id>urn:sha1:5519da874ad0f382b725281e443cf7fe58995ed8</id>
<content type='text'>
We are going to need these functions to implement support for Broadcom
Wirespeed, aka downshift.

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: broadcom: Add BCM54810 PHY entry</title>
<updated>2016-11-07T18:11:22+00:00</updated>
<author>
<name>Jon Mason</name>
<email>jon.mason@broadcom.com</email>
</author>
<published>2016-11-04T05:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b14995ac2527b43a75c9190fbd4efd43fb1f4562'/>
<id>urn:sha1:b14995ac2527b43a75c9190fbd4efd43fb1f4562</id>
<content type='text'>
The BCM54810 PHY requires some semi-unique configuration, which results
in some additional configuration in addition to the standard config.
Also, some users of the BCM54810 require the PHY lanes to be swapped.
Since there is no way to detect this, add a device tree query to see if
it is applicable.

Inspired-by: Vikas Soni &lt;vsoni@broadcom.com&gt;
Signed-off-by: Jon Mason &lt;jon.mason@broadcom.com&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: broadcom: add bcm54xx_auxctl_read</title>
<updated>2016-11-07T18:11:21+00:00</updated>
<author>
<name>Jon Mason</name>
<email>jon.mason@broadcom.com</email>
</author>
<published>2016-11-04T05:10:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5b4e2900512321435a5cd7dd77f58f23f3109950'/>
<id>urn:sha1:5b4e2900512321435a5cd7dd77f58f23f3109950</id>
<content type='text'>
Add a helper function to read the AUXCTL register for the BCM54xx.  This
mirrors the bcm54xx_auxctl_write function already present in the code.

Signed-off-by: Jon Mason &lt;jon.mason@broadcom.com&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
