bcm-v4

[Specification

LP PHY ACI ( bool on)

  1. Initialize idx to 0
  2. If on is true AND (aci_state & 2) is zero

    1. Set bit 2 in aci_state

    2. Clear bit 0x0100 in PHY Register 0x410

    3. If the PHY revision >= 2

      1. Set bits 0x0007 in PHY Register 0x030

      2. MaskSet PHY Register 0x42F with mask 0xFFC7 and set with 0x0020

      3. MaskSet PHY Register 0x420 with mask 0xFC1F and set with 0x0140

      4. MaskSet PHY Register 0x424 with mask 0x00FF and set with 0x2400

      5. MaskSet PHY Register 0x4E4 with mask 0xFF00 and set with 0x0018

      6. For each table in the Rev 2 ACI Table List below, write the table data using the ID, Offset and Width listed. The Length is given by the number of entries in the table.
  3. Else if (on is false AND (aci_state & 2) is not zero))

    1. Clear bit 2 in aci_state

    2. Set bit 0x0100 in PHY Register 0x410

    3. If PHY revision >= 2

      1. MaskSet PHY Register 0x030 with mask 0xFFF8 and set with 0x0006

      2. MaskSet PHY Register 0x42F with mask 0xFFC7 and set with 0x0010

      3. MaskSet PHY Register 0x420 with mask 0xFC1F and set with 0x00A0

      4. MaskSet PHY Register 0x424 with mask 0x00FF and set with 0x1E00

      5. MaskSet PHY Register 0x4E4 with mask 0xFF00 and set with 0x0010

      6. For each table in the Rev 2 Non-ACI Table List below, write the table data using the ID, Offset and Width listed. The Length is given by the number of entries in the table. The data for these tables can be found at http://bcm-v4.sipsolutions.net/802.11/PHY/LP/Init/BB

  4. Set lpphy_aci.ts to pub->now

  5. Write lpphy_aci.glitch_timeout to shared memory location 0x6A

  6. Write 0 to shared memory location 0x68
  7. Set lpphy_aci.glitch_cnt to 0

  8. Copy pub->now to lpphy_aci.ts

Rev 2 Non-ACI Table List

Table Data

ID

Offset

Width

Data for "Gain" - only for Rev 2

18

0

16

Data for "Aux Gain Index" - only for Rev 2

14

0

16

Data for "Gain Index" - only for Rev 2

13

0

32

Rev 2 ACI Table List

Table Data

ID

Offset

Width

Rev 2 ACI Gain

18

0

16

Rev 2 ACI Aux Gain Index

14

0

16

Rev 2 ACI Gain Index

13

0

32

Rev 2 ACI Gain

0x0000

0x0004

0x0008

0x000c

0x000d

0x0028

0x0029

0x002c

0x002d

0x0049

0x004c

0x004d

0x0400

0x042c

0x044d

0x0451

0x0455

0x04d5

0x0800

0x0802

0x0804

0x0806

0x0807

0x0808

0x080a

0x080b

0x080c

0x080e

0x080f

0x0810

0x0812

0x0813

0x0814

0x0816

0x0817

0x081b

0x081f

0x0830

0x0834

0x0837

0x083b

0x083f

0x0855

0x0857

0x085b

0x085f

0x08d5

0x08d7

0x08db

0x08df

0x0957

0x095b

0x095f

0x0b57

0x0b5b

0x0b5f

0x0f5f

0x135f

0x175f

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

Rev 2 ACI Aux Gain Index

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0001

0x0002

0x0082

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0001

0x0002

0x0082

ACI Gain Index

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x0000000c

0x00000000

0x10000612

0x00000000

0x20000914

0x00000000

0x20030a17

0x00000008

0x30048b9a

0x00000008

0x51850d1d

0x00000008

0x7245ce93

0x00000008

0xd2869015

0x00000008

0xa2e74a98

0x00000008

0x43480c1b

0x00000010

0x63a94d9e

0x00000010

0x84098f21

0x00000010

0x92a58e22

0x00000010

0xb3064fa3

0x00000010

0xe3671124

0x00000010

0xb3c7d1a8

0x00000018

0xe3889229

0x00000018

0xf3e8d42c

0x00000018

0x0449d4ad

0x00000019

0xa46a1630

0x0000001a

0x14ead6b1

0x00000019

0xe50b1833

0x0000001a

0xb56bd8b4

0x0000001a

0xc58c19b6

0x0000001a

0xf5ec9a37

0x0000001a

0x060cdb38

0x0000001b

0x264d5bb9

0x0000001b

0x366d9c3a

0x0000001b

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x0000000c

0x00000000

0x10000612

0x00000000

0x20000914

0x00000000

0x20030a17

0x00000008

0x30048b9a

0x00000008

0x51850d1d

0x00000008

0x7245ce93

0x00000008

0xd2869015

0x00000008

0xa2e74a98

0x00000008

0x43480c1b

0x00000010

0x63a94d9e

0x00000010

0x84098f21

0x00000010

0x92a58e22

0x00000010

0xb3064fa3

0x00000010

0xe3671124

0x00000010

0xb3c7d1a8

0x00000018

0xe3889229

0x00000018

0xf3e8d42c

0x00000018

0x0449d4ad

0x00000019

0xa46a1630

0x0000001a

0x14ead6b1

0x00000019

0xe50b1833

0x0000001a

0xb56bd8b4

0x0000001a

0xc58c19b6

0x0000001a

0xf5ec9a37

0x0000001a

0x060cdb38

0x0000001b

0x264d5bb9

0x0000001b

0x366d9c3a

0x0000001b


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