bcm-v4

[Specification

preinit

  1. AND PHY Register 0x78 with ~0x0400
  2. AND PHY Register 0x78 with 0x0080
  3. OR PHY Register 0x78 with ~0x0080
  4. OR PHY Register 0x78 with 0x0400

init

  1. Define a pointer to a struct where each element is {u16,u16}
  2. Define a u16 named size
  3. If PHY Revision is 7
    1. Set the pointer to table 2057_rev4_init
    2. Set size to the size of that table
  4. Else if PHY Revision is 8 or 9
    1. If Radio Revision is 5
      1. If PHY Revision is 8
        1. Set the pointer to table 2057_rev5_init
        2. Set size to the size of that table
      2. Else
        1. Set the pointer to table 2057_rev5a_init
        2. Set size to the size of that table
    2. Else if Radio Revision is 7
      1. Set the pointer to table 2057_rev7_init
      2. Set size to the size of that table
    3. Else if Radio Revision is 9
      1. Set the pointer to table 2057_rev8_init
      2. Set size to the size of that table
  5. For each entry in the table, write the value in the table to the specified register

2057_rev4_init

2057_rev5_init

2057_rev5a_init

2057_rev7_init

2057_rev8_init

postinit

  1. Set bit 1 in Radio Register 0x164
  2. Set bits 0x78 in Radio Register 0x2E
  3. Set bit 0x80 in Radio Register 0xCE
  4. Delay 2 msec
  5. Clear bits 0x78 in Radio Register 0x2E
  6. Clear bit 0x80 in Radio Register 0xCE
  7. If init_por (This variable is set to true when the core is attached.)

    1. Call phy_radio205x_rcal

    2. Call phy_radio2057_rccal

  8. Clear bit 8 in Radio Register 0x11
  9. Set init_por to false


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