User's Manual

Table Of Contents
9/29/2004 OV4F2
C
O
N
F
I
D
E
N
T
I
A
L
F
O
R
W
I
S
T
R
O
N
C
O
R
P
O
R
A
T
I
O
N
User Manual BCM2035
04/23/03
Broadcom Corporation
Document 2035-UM100-R Firmware Power-Up Sequence Page 37
READ EEPROM
An BSC EEPROM is required for storage of BlueRF encoded crystal frequency data. The EEPROM will be
connected to the 8051 microprocessor unit via GPIO5 and GPIO6. GPIO6 will provide the 8051's serial data
interface to the EEPROM (requires 10K
pull-up no longer necessary as of BCM2035 with the 0-detecting
boot and bluetooth ROM-firmware yet remains to be tested for
BCM2035). GPIO5 will provide the 8051's serial
clock interface to the EEPROM. The EEPROM should be hardware configured for slave address 0 (VCC=3.3V)
on the serial clock and data bus and should have a minimum capacity of seventy-two bits. A larger EEPROM
will be required to store boot code patches and configuration data.
The EEPROM header is read by the boot code and the header checksum is validated. A failed header
checksum or a blank EEPROM will cause the boot code to bypass reading the EEPROM for boot code patches
or mini driver code.
Figure 18: “BCM2035 Boot ROM Power-Up Sequence,” on page 34 shows the EEPROM read sequence used
to apply the boot code patches or for downloading the mini driver. The patches or mini driver should be stored
in the EEPROM using the File system format specified in the EEPROM layout section.
READ FLASH
A 1 Mbit FLASH device is required for storage of BlueRF fractional-N data. The flash will be connected to
BCM2035 via the external memory bus. The flash should be selected via the BCM2035's CS0 pin.
After determining the fractional-N values (either by measuring the frequency dynamically or by reading the
non-volatile memory, the
BCM2035 will determine if it will boot from flash or not. First, it inspects the flash for
a 7-byte signature. If the signature is not found, the
BCM2035 will not attempt to boot from flash and will boot
from internal program ROM (PROM). Otherwise, if the signature is found, the BCM2035 will attempt to boot
from flash.
FIRMWARE POWER-UP SEQUENCE
The firmware is responsible for initializing the processors, BT baseband, RF and HCI subsystems. It will also
read the serial EEPROM or FLASH for configuration data and to load any firmware patches. Once the
configuration data is successfully read, it determines the transport type (UART or USB) and goes to normal
operation. A vendor specific command HCIDownLoadMiniDriver (0x2E) is used to download any mini drivers
over the UART or USB transport. The firmware power-up sequence is shown in
Figure 19 on page 38.