Skip to content

Firestone PHY only works in mode 100base-T #79

@shenki

Description

@shenki

The Firestone openpower board has a BCM54210E, but it doesn't work in 1000base-T.

Gavin worked around this by changing the PHY driver to only advertise 100Mbit:

diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index 3743164..95208b0 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -608,7 +608,7 @@ static struct phy_driver broadcom_drivers[] = {
        .phy_id         = PHY_ID_BCM54210E,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM54210E",
-       .features       = PHY_GBIT_FEATURES |
+       .features       = PHY_BASIC_FEATURES |
                          SUPPORTED_Pause | SUPPORTED_Asym_Pause,
        .flags          = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
        .config_init    = bcm54xx_config_init,

We need to work out what is going on. Ben said:

The MAC in the ast2400 is a gigabit MAC. So it should all work normally
at 1000bT. If not, then something is wrong that needs to be
investigated:

    - Either the interface between MAC and PHY isn't wired

correctly (RGMII vs. RMII, RGMII uses more pins and a diff. clock)

    - Or we don't set a setting or strap somewhere to switch

between those modes (hardware strapping bit[7:6], SCU[A0], ...)

    - Both ?

If we are indeed limited to 100bT, then we should expose that one way
or another in the device-tree in order to limit the advertized speed in
the PHY driver.

Our Firestone machines are pre-production hardware.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions