aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware-utils
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix mkmylofw write_out_padding routineFlorian Fainelli2007-03-291-49/+60
| | | | SVN-Revision: 6758
* Add definitions to myloader thanks Gabor JuhosFlorian Fainelli2007-03-261-7/+17
| | | | SVN-Revision: 6710
* Fix potential unligned access with MyLoader based devices, thanks JuhosFlorian Fainelli2007-03-241-8/+46
| | | | SVN-Revision: 6659
* Make mksyshdr safe for 64bits platforms (#1504)Florian Fainelli2007-03-231-4/+6
| | | | SVN-Revision: 6646
* Add firmware generation for other Compex boards based on myloader, thanks to ↵Florian Fainelli2007-03-223-0/+1345
| | | | | | Juhos Gabor ! SVN-Revision: 6640
* Add image generation for edimax routersFlorian Fainelli2007-03-212-0/+45
| | | | SVN-Revision: 6627
* Fix a warningFlorian Fainelli2007-03-181-0/+1
| | | | SVN-Revision: 6602
* Add srec2bin to firmware-utilsEugene Konev2007-03-182-0/+524
| | | | SVN-Revision: 6599
* make ptgen print the end offset of the last partition as wellFelix Fietkau2007-02-251-0/+1
| | | | SVN-Revision: 6358
* fix cylinder rounding in ptgenFelix Fietkau2007-02-241-1/+1
| | | | SVN-Revision: 6352
* fix compile error (pointed out by nonsequitor)Felix Fietkau2006-12-121-3/+3
| | | | SVN-Revision: 5772
* Add airlink firmware generation tool, thanks to Vassily Galinsky for that !Florian Fainelli2006-12-112-0/+326
| | | | SVN-Revision: 5760
* remove custom partition table hack, add ptgen utility for generating ↵Felix Fietkau2006-12-072-0/+220
| | | | | | partition tables SVN-Revision: 5704
* move target/utils to tools/firmware-utilsFelix Fietkau2006-12-066-0/+1329
SVN-Revision: 5702
pan class="gd">-#define ATH8030_PHY_ID 0x004dd076 -#define ATH8031_PHY_ID 0x004dd074 -#define ATH8035_PHY_ID 0x004dd072 +#define AT803X_PHY_ID_MASK 0xffffffef +#define ATH8030_PHY_ID 0x004dd076 +#define ATH8031_PHY_ID 0x004dd074 +#define ATH8035_PHY_ID 0x004dd072 MODULE_DESCRIPTION("Atheros 803x PHY driver"); MODULE_AUTHOR("Matus Ujhelyi"); @@ -268,6 +272,27 @@ static int at803x_config_init(struct phy { struct at803x_platform_data *pdata; int ret; + u32 v; + + if (phydev->drv->phy_id == ATH8031_PHY_ID && + phydev->interface == PHY_INTERFACE_MODE_SGMII) + { + v = phy_read(phydev, AT803X_REG_CHIP_CONFIG); + /* select SGMII/fiber page */ + ret = phy_write(phydev, AT803X_REG_CHIP_CONFIG, + v & ~AT803X_BT_BX_REG_SEL); + if (ret) + return ret; + /* enable SGMII autonegotiation */ + ret = phy_write(phydev, MII_BMCR, AT803X_SGMII_ANEG_EN); + if (ret) + return ret; + /* select copper page */ + ret = phy_write(phydev, AT803X_REG_CHIP_CONFIG, + v | AT803X_BT_BX_REG_SEL); + if (ret) + return ret; + } ret = genphy_config_init(phydev); if (ret < 0) @@ -394,7 +419,7 @@ static struct phy_driver at803x_driver[] /* ATHEROS 8035 */ .phy_id = ATH8035_PHY_ID, .name = "Atheros 8035 ethernet", - .phy_id_mask = 0xffffffef, + .phy_id_mask = AT803X_PHY_ID_MASK, .probe = at803x_probe, .config_init = at803x_config_init, .link_change_notify = at803x_link_change_notify, @@ -415,7 +440,7 @@ static struct phy_driver at803x_driver[] /* ATHEROS 8030 */ .phy_id = ATH8030_PHY_ID, .name = "Atheros 8030 ethernet", - .phy_id_mask = 0xffffffef, + .phy_id_mask = AT803X_PHY_ID_MASK, .probe = at803x_probe, .config_init = at803x_config_init, .link_change_notify = at803x_link_change_notify, @@ -435,8 +460,8 @@ static struct phy_driver at803x_driver[] }, { /* ATHEROS 8031 */ .phy_id = ATH8031_PHY_ID, - .name = "Atheros 8031 ethernet", - .phy_id_mask = 0xffffffef, + .name = "Atheros 8031/8033 ethernet", + .phy_id_mask = AT803X_PHY_ID_MASK, .probe = at803x_probe, .config_init = at803x_config_init, .link_change_notify = at803x_link_change_notify, @@ -458,9 +483,9 @@ static struct phy_driver at803x_driver[] module_phy_driver(at803x_driver); static struct mdio_device_id __maybe_unused atheros_tbl[] = { - { ATH8030_PHY_ID, 0xffffffef }, - { ATH8031_PHY_ID, 0xffffffef }, - { ATH8035_PHY_ID, 0xffffffef }, + { ATH8030_PHY_ID, AT803X_PHY_ID_MASK }, + { ATH8031_PHY_ID, AT803X_PHY_ID_MASK }, + { ATH8035_PHY_ID, AT803X_PHY_ID_MASK }, { } };