History log of /include/linux/brcmphy.h
Revision Date Author Comments
d068b02cfdfc27f5962ec82ec5568b706f599edc 01-Oct-2014 Petri Gynther <pgynther@google.com> net: phy: add BCM7425 and BCM7429 PHYs

Signed-off-by: Petri Gynther <pgynther@google.com>
Acked-by: Florian Fainelli <f.fainelli@gmai.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
80780a54ecded1647e661ababde13554a149f7f3 19-Sep-2014 Florian Fainelli <f.fainelli@gmail.com> net: bcmgenet: remove PHY_BRCM_100MBPS_WAR

Now that we have removed the need for the PHY_BRCM_100MBPS_WAR flag, we
can remove it from the GENET driver and the broadcom shared header file.
The PHY driver checks the PHY supported bitmask instead.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
bb7d93496f7ac203f7c3e9678000d1c83eb4e0ba 19-Sep-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: broadcom: add helper for PHY revision and patch level

The Broadcom BCM7xxx internal PHYs do not contain any useful revision
information in the low 4-bits of their MII_PHYSID2 (MII register 3)
which could allow us to properly identify them.

As a result, we need the actual hardware block integrating these PHYs:
GENET or the SF2 switch to tell us what revision they are built with. To
assist with that, add two helper macros for fetching the the PHY
revision and patch level from the struct phy_device::dev_flags.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
430ad68ffb5fa632a277162e5995cd6f7a39fb78 26-Aug-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: bcm7xxx: add BCM7250 and BCM7364 PHY entries

Add two new entries to the Broadcom BCM7xxx internal PHY driver for
BCM7250 and BCM7364 chips. Those chips share the usual 28nm process
Gigabit PHY sequence and require the same workarounds so far.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11bf2bbd596add62a86a74fc7aedc0b86c6ec154 26-Aug-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: broadcom: add new Broadcom OUI

Broadcom started to use a new OUI for its 2013 and newer products:
D4-01-29 which translates into 0xae025000 for a 32-bits OUI, add its
definition.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
97fdaab4699de3a2a91001efef60bb0622de1c53 26-Aug-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: broadcom: fix PHY_BCM_OUI_4

PHY_BCM_OUI_4 is missing two significant digits that actually make it an
OUI, add those missing bits so it becomes usable again for matching.

Fixes: b560a58c45c6 ("net: phy: add Broadcom BCM7xxx internal PHY driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
b8f9a02924bbeb0c46ca4c19561cbe765b80e264 23-Aug-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: bcm7xxx: enable EEE at the PHY level

The 28nm Gigabit PHY on BCM7xxx chips comes out of reset with absolutely
no EEE capabilities, such that we would actually return that we do not
support EEE when accessing 3.20 (MDIO_PCS_EEE_ABLE) registers.

Poke through the vendor-specific C45 register to enable EEE globally at
the PHY level, and advertise supported EEE modes.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
705314797b8b997554b7e9d0ea7b65a497356e53 23-Aug-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: broadcom: move shadow 0x1C register accessors to brcmphy.h

The shadow register 0x1C is used both by the BCM54xxx PHYs and the
BCM7xxx internal PHYs, move the accessors to a common location so both
drivers can use them.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
3af20efc0f83cdc65ce56ec108c0e81f602364df 23-Aug-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: broadcom: extract all registers to brcmphy.h

Commit 439d39a9ac8fbbba9c04581361188f33f21ced50 ("net: phy: broadcom:
extract register definitions") added a bunch of registers to brcmphy.h
but left some to broadcom.c, move all of them to the header file since
the BCM54xx and BCM7xxx PHY drivers do share all of these registers.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16466f4284154311f163a58b77379eb186274f87 15-Aug-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: bcm7xxx: remove 28nm wildcard entry

A wildcard entry with the 32-bits OUI 0x600d8400 was added as part of
the BCM7xxx internal PHY driver, but that entry might match other PHYs
that are not covered by this driver, so let's just remove it.

Fixes: b560a58c45c6 ("net: phy: add Broadcom BCM7xxx internal PHY driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@greenl8ke.davemloft.net>
b560a58c45c66f68936127040e86b7f02e4c5332 14-Feb-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: add Broadcom BCM7xxx internal PHY driver

This patch adds support for the Broadcom BCM7xxx Set Top Box SoCs
internal PHYs. This driver supports the following generation of SoCs:

- BCM7366, BCM7439, BCM7445 (28nm process)
- all 40nm and 65nm (older MIPS-based SoCs)

The PHYs on these SoCs require a bunch of workarounds to operate
correctly, both during configuration time and at suspend/resume time,
the driver handles that for us.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
439d39a9ac8fbbba9c04581361188f33f21ced50 14-Feb-2014 Florian Fainelli <f.fainelli@gmail.com> net: phy: broadcom: extract register definitions

The Broadcom BCM54xx register definitions are shared between BCM54xx and
BCM7xx internal PHYs for which we are adding support. Extract these
register definitions and put them in include/linux/brcmphy.h for use by
the BCM7xxx internal PHY driver.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
755ccb9d577b95b43537cfeb36da59140412f858 15-May-2013 Florian Fainelli <f.fainelli@gmail.com> broadcom: add include guards to include/linux/brcmphy.h

include/linux/brcmphy.h is currently not protected against double
inclusion, add ifdefs guard to fix that.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
7a938f80264f2cbfb0c0841b450eab42a8093281 17-Jun-2010 Dmitry Baryshkov <dbaryshkov@gmail.com> broadcom: Add 5241 support

This patch adds the 5241 PHY ID to the broadcom module.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
fcb26ec5b18d88bb22366799d056dc3630d0e895 17-Jun-2010 Dmitry Baryshkov <dbaryshkov@gmail.com> broadcom: move all PHY_ID's to header

Move all PHY IDs to brcmphy.h header for completeness and unification of code.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
6a443a0f72ad7706345412dbd2e4d4981fdfce39 17-Feb-2010 Matt Carlson <mcarlson@broadcom.com> tg3: Push phylib definitions to phylib

This patch pushes phylib definitions out to phylib headers. For phy
IDs, this removes some code duplication.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
52fae0837153e86e4dabaf5df517a0b8b7a20bd7 02-Nov-2009 Matt Carlson <mcarlson@broadcom.com> tg3 / broadcom: Optionally disable TXC if no link

This patch adds code to disable the TXC and RXC reference clocks if link
is not available.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
32e5a8d651c0dbb02bf82ca954206282e44c4b11 02-Nov-2009 Matt Carlson <mcarlson@broadcom.com> tg3 / broadcom: Add code to disable rxc refclk

The 5785 does not use the RXC reference clock. Turning it off is
desirable as it saves power.

By default, the 50610 enables the RXC reference clock and the 50610M
disables it. Presumably this is one of the reasons why the hardware
architect chose one over the other.

Adding a "rx reference clock disable" flag is not the ideal way to
describe the option, as it would force the MAC using a 50610M to set
the flag. Ideally we want the flags to represent opt-in behavior that
deviates from hardware defaults. Furthermore, the lack of a
"disable" flag implies that the requester wants the rx reference clock
enabled, which doesn't necessarily follow.

By presenting the option as a passive statement (rx reference clock
unused) rather than a command, I hope to convey an opt-in option to
disable the rx reference clock that falls back to hardware defaults if
not set. A secondary benefit of this is that it keeps the
intelligence about phy defaults in the broadcom module where it belongs
and allows the broadcom module more latitude should a bug arise.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
63a14ce449dd6d647de2725809159eb072b2c44f 02-Nov-2009 Matt Carlson <mcarlson@broadcom.com> tg3 / broadcom: Add PHY_BRCM_CLEAR_RGMII_MODE flag

Broadcom 50610M parts changed the default definitions of the RGMII mode
shadow register. The 5785 needs the RGMII mode selection bits [4:3]
cleared.

The default value of the remaining bits in this register are zero.
Rather than unnecessarily burn an extra bit in the dev_flags member in
an attempt to enumerate all possible combinations, this patch take a
more course grained approach and labels the option as "clear all bits".

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8649f13d2d810406da444a6101906041b796fbde 02-Nov-2009 Matt Carlson <mcarlson@broadcom.com> broadcom: Consolidate dev_flags definitions

This patch moves all the dev_flags enumerations outside the broadcom.c
file to include/linux/brcmphy.h. The existing flags were not used yet
and have been re-enumerated to avoid conflicts.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
a9daf36746b1fb5c2db8d164ca70c30c63a0d7b2 26-May-2008 Matt Carlson <mcarlson@broadcom.com> tg3: Add shmem options.

This patch adds some options obtained through shared memory.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>