User's Manual
Table Of Contents
- 2035-UM1xx.book
- Table of Contents
- List of Figures
- List of Tables
- Section 1: Introduction
- Section 2: Hardware System Overview
- Section 3: BCM2035 Usage Models
- Section 4: Hardware Configuration
- Section 5: Software Configuration
- Introduction
- Hardware Power-Up Sequence
- Boot ROM Power-Up Sequence
- Firmware Power-Up Sequence
- BCM2035 Mini-Drivers
- Loading Mini-Drivers from USB
- Load Mini-Drivers From UART
- SCO Configuration
- Frequency Trimming
- UART Sleep Mode Operation
- Section 6: Configuration Data File System
- Section 7: Vendor-Specific HCI Command Reference
- Section 8: ASCII Hex File Download Protocol
- Section 9: ASCII HEX File Format
- Section 10: Configuration Data Download Protocol
- Section 11: Configuration Data Image Format
- Section 12: UART Start-up Sequence
- Section 13: USB Start-up Sequence
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
BCM2035 User Manual
04/23/03
Broadcom Corporation
Page 36 Boot ROM Power-Up Sequence Document 2035-UM100-R
3. External LPO
a. In this mode, an external LPO clock is used by the
BCM2035 to determine the frequency of the external
crystal and complete the crystal programming phase. The external crystal must be one of the supported
frequencies show in
Table 6 on page 35.
4. Internal LPO with valid serial EEPROM
a. The Configuration Data Header (stored/found in non-volatile-memory) header contains the encoded
crystal-frequency programming information and is used to complete crystal programming. See
Section
6: “Configuration Data File System” on page 63
for the 12-Byte Fractional-N information field of EEPROM.
The boot code will read the PLL_SEL[3:0] field to determine the crystal frequency as per
Table 6 on page 35. If the PLL_SEL = 1010 (Variable/Wildcard) it will use the information in the 12-Byte
Fractional-N field for crystal programming information.
5. Internal LPO with Invalid non-volatile-memory using Mini-Driver
a. In this mode, either the non-volatile-memory is absent, blank or does not have a valid content (header
checksum failed). The HOST would download a mini driver via the UART port that could be used to
program the non-volatile-memory (driver named eemd, flmd) or program the encoded crystal frequency
(rfmd).
b.The HOST should assert CTS to indicate a baud rate negotiation request should take place and followed
by mini-driver download. Negotiation of baud-rate starts when the HOST transmits the character 0x55.
(physically 57600ps is the limit over the UPRX port, 1.5mbps is the limit for UART when combined with
certain crystal frequencies, logically the boot-rom firmware is currently limited to approximately
330000bps). Important: The
BCM2035 will not transmit RTS until the 0x55 character is sampled,
measured and found to be within the limits noted above. Following reception of the negotiation
character from the HOST, the
BCM2035 will acknowledge with RTS and two ASCII characters 41 (0x34 &
0x31) at the negotiated baud rate. The host can use this acknowledgement to begin downloading the mini-
driver, or an optional micro-driver. Currently, the boot ROM of the
BCM2035 only supports downloading
using the ASCII Intel hex format. The download time for a 2k mini-driver or a 200 byte micro-driver at the
negotiated baud rate ASCII Intel hex format is around 2.7 seconds and 325 milliseconds, respectively. The
boot ROM acknowledges every HEX record from the host with either an '.' (0x2E) character for successful
reception or 'x' (0x78) character for negative acknowledgement. The ACK's and NACK's are sent to the
host at the negotiated baud rate baud. The mini-driver should be used to properly program the crystal
frequency and/or update non-volatile memory to correctly complete encoded crystal frequency
programming on subsequent boot up.
Following reception of a nack the host should consider the BCM2035 will reset (max time = 1second) and
the process of negotiating for baud rate and subsequent mini-driver download should be restarted.
6. Internal LPO with Invalid non-volatile-memory forcing crystal frequency at 15.36Mhz.
a. In this mode, either the non-volatile-memory is absent, blank or does not have a valid content (header
checksum failed). This option is useful to program the non-volatile-memory during manufacturing.
b. An external frequency of 15.36 Mhz should be applied at the crystal input.
c. The HOST is required to de-assert CTS during the BOOT sequence allowing the firmware to launch
normally.
d. Vendor-specific command HCIDownLoadMiniDriver (0x2E) can be used to download mini driver either
via the UART or USB I/F.