Difference between revisions of "BCM2835 datasheet errata"

From eLinux.org
Jump to: navigation, search
(p111)
(BCM 2835 datasheet errata)
Line 6: Line 6:
  
 
Let's gather those datasheet typos and errors here.  
 
Let's gather those datasheet typos and errors here.  
 +
 +
The quality of the datasheet is high. It looks like it contains the information that programmers need.
 +
 +
It also "does the right thing" with reserved bits. Many datasheets specify "write: don't care, read as zeroes". Broadcom specifies the reserved bits the other way around: "Write zeroes, read: don't care".
 +
 +
This is the correct way to do it. If you expand the hardware the hardware may be enhanced and do "different things" if you write ones to the previously "reserved" bits. If you follow the datasheet, and write zeroes as specified to the reserved bits, the hardware guys can make sure you're not going to run into surprises. And by specifying "read: don't care" you can allow future hardware to provide status bits there.
 +
  
 
== p25 table==
 
== p25 table==

Revision as of 04:47, 7 February 2012

BCM 2835 datasheet errata

The (partial) datasheet was published here: http://dmkenr5gtnd8f.cloudfront.net/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

It has a couple of typos. Some more serious than others.

Let's gather those datasheet typos and errors here.

The quality of the datasheet is high. It looks like it contains the information that programmers need.

It also "does the right thing" with reserved bits. Many datasheets specify "write: don't care, read as zeroes". Broadcom specifies the reserved bits the other way around: "Write zeroes, read: don't care".

This is the correct way to do it. If you expand the hardware the hardware may be enhanced and do "different things" if you write ones to the previously "reserved" bits. If you follow the datasheet, and write zeroes as specified to the reserved bits, the hardware guys can make sure you're not going to run into surprises. And by specifying "read: don't care" you can allow future hardware to provide status bits there.


p25 table

The table on page 25 has the bit numbers wrong. Some bits are mentioned twice, some not at all.

I'm guessing it should be something like:

Bit(s) Field Name Description type reset
31:24 TX FIFO level The number of data units in the transmit data FIFO R/W 0
23:16 RX FIFO level The number of data units in the receive data FIFO. R/W 0
15:10 - Reserved, write zero, read as don’t care R/W 0
9 TX Full If 1 the transmit FIFO is full
If 0 the transmit FIFO can accept at least 1 data unit.
R/W 0
8 TX Empty If 1 the transmit FIFO is empty R/W 0
If 0 the transmit FIFO holds at least 1 data unit.
R/W 0
7 RX Empty If 1 the receiver FIFO is empty R/W 0
If 0 the receiver FIFO holds at least 1 data unit.
R/W 0
6 Busy Indicates the module is busy transferring data. R/W 0
5:0 Bit count The number of bits still to be processed. Starts with 'shift-length' and counts down. R/W 0

p38 typo

harware instead of hardware (second paragraph)

p104 table

The table, legend for table 6-31, started on page 103 shows in red: TXD0, RXD0, CTS0, RTS0 which should be TXD1, RXD1, CTS1, RTS1.

p111 spelling

top line: device should be devise.