bcm-specs

[Specification

The page collects stuff on timing, some of this is from the 802.11 spec.

The TSF is a 64 bit counter that increases every microsecond(!).

When a station joins a BSS, it has to synchronise it's clock with the access point's TSF, and may not transmit during the time when a beacon frame will be transmitted by the AP. These functions are software controlled, the software needs to inform the chip of the new TSF, the beacon interval, and the TBTT of the next beacon.

This page details how to give the chip this information.

Cores with revision >= 3

Reading the TSF

See MMIO, simply read the relevant registers (0x180/0x184) and combine to form the 64 bit value.

Setting the TSF, beacon interval and TBTT

While updating this information, the SBF_TIME_UPDATE bit in the StatusBitField must be set.

To set the relevant information, first write the TSF, then the beacon interval, and then last the TBTT.

Afterwards, turn off the SBF_TIME_UPDATE bit again.

FIXME: does this information suffice?

FIXME: what about the processing delay?

Cores with revision < 3

Reading the TSF

See MMIO, simply read the relevant registers (0x632, 0x634, 0x636, 0x638) and combine to form the 64 bit value.


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