bcm-v4

[Specification

chipphyadvertise(phyaddr)

set the advertised capabilities for autonegotiation and starts the autonegotiation

  1. if phyaddr is 30 (EPHY_NOREG)
    1. return
  2. if forced speed is not auto
    1. return
  3. write result of call chipphyrd with phyaddr and 4 into adv

  4. unset bits ADV_100FULL, ADV_100HALF, ADV_10FULL and ADV_10HALF in adv
  5. set bits ADV_100FULL, ADV_100HALF, ADV_10FULL and ADV_10HALF in adv depending on what is supported of these
  6. call chipphywr with phyaddr, 4 and adv

  7. write result of call chipphyrd with phyaddr and 9 into adv2

  8. unset bits ADV_1000FULL and ADV_1000HALF in adv2
  9. set bits ADV_1000FULL and ADV_1000HALF in adv2 depending on what is supported of these
  10. call chipphywr with phyaddr, 9 and adv2

  11. call chipphyor with phyaddr, 0 and CTL_RESTART


Exported/Archived from the wiki to HTML on 2016-10-27