bcm-v4

[Specification

Switch Radio (bool on)

  1. If bit 1 is set in MMIO Register 0x120 (MAC Control)
    1. Error
  2. If this is an N PHY
    1. If on
      1. If PHY Revision >= 3

        1. Call PHY Radio PreInit 2056

        2. Call PHY Radio Init 2056

        3. Call PHY PostInit 2056

        4. Call PHY Set Channel Spec with radio_chanspec as argument

      2. Otherwise
        1. Call PHY Radio Preinit 2055

        2. Call PHY Radio Init 2055

        3. Call PHY Radio PostInit 2055

    2. Otherwise
      1. Clear bit 0x0400 in PHY Register 0x78
      2. If PHY Revision >= 3

        1. Clear bit 0x2 in Radio Register 0x09
        2. Write 0 to Radio Register 0x204D
        3. Write 0 to Radio Register 0x2053
        4. Write 0 to Radio Register 0x2058
        5. Write 0 to Radio Register 0x205E
        6. Clear bits 0xF0 in Radio Register 0x2062
        7. Write 0 to Radio Register 0x2064
        8. Write 0 to Radio Register 0x304D
        9. Write 0 to Radio Register 0x3053
        10. Write 0 to Radio Register 0x3058
        11. Write 0 to Radio Register 0x305E
        12. Clear bits 0xF0 in Radio Register 0x3062
        13. Write 0 to Radio Register 0x3064
  3. Else if this is an LP PHY
    1. If on
      1. If the PHY Revision >= 2

        1. Clear bits 0x1F00 in PHY Register 0x44C
        2. Clear bits 0x0808 in PHY Register 0x4B0
      2. Otherwise
        1. Clear bits 0x1F00 in PHY Register 0x44C
        2. Clear bits 0x0018 in PHY Register 0x4B0
    2. Otherwise
      1. If PHY Revision >= 2

        1. Clear bits 0x7C00 in PHY Register 0x44D
        2. Set bits 0x1F00 in PHY Register 0x44C
        3. Clear bits 0x7F00 in PHY Register 0x4B7
        4. Clear bit 0x2000 in PHY Register 0x4B1
        5. Set bit 0x0808 in PHY Register 0x4B0
      2. Otherwise
        1. Clear bits 0x1F00 in PHY Register 0x44D
        2. Set bits 0x1F00 in PHY Register 0x44C
        3. Clear bits 0x0300 in PHY Registers 0x4B1
        4. Set bits 0x0018 in PHY Register 0x04B0
  4. Else if this is an SSLPN PHY
    1. if on
      1. Clear bits 0x1F00 in PHY Register 0x44C
      2. Clear bits 0x0808 in PHY register 0x4B0
    2. Otherwise
      1. Clear bits 0x7C00 in PHY Register 0x44D
      2. Set bits 0x1F00 in PHY Register 0x44C
      3. Clear bits 0x7F00 in PHY Register 0x4B7
      4. Set bits 0x0808 in PHY Register 0x4B0

This routine has some stuff for A and G PHY models, but this is ignored.


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