The Undocumented Pi

From eLinux.org
Revision as of 15:57, 3 March 2020 by Elijah (talk | contribs) (SoC: Clock hierarchy)
Jump to: navigation, search

Back to the Hub.


Resources:

Hardware & Peripherals:

Hardware and Hardware History.

Low-level Peripherals and Expansion Boards.

Screens, Cases and Other Peripherals.

Software & OS Distributions:

Software and Distributions

Documentation:

Documentation Page

The Undocumented Pi

Hardware

SoC

There is a nicely ordered table with all BCM2835_registers as found in the GPU code published by Broadcom. Unfortunately, the table does not quite match the SoC in the Raspberry Pi, but it's a good start. The sections below should serve as a companion to that table.

Clocks

Clock diagram

BCM283x

There is a VCE block to accelerate video encoding/decoding. No documentation AFAIK.

BCM2711

The BCM2711 does not have PLLH.

The VCE block was apparently removed, but there is now a HEVC block.

PMIC

The BCM2835 chip has an on-chip SMPS and an LDO for the LPDDR2 memory chip. RPi2 and RPi3 B use custom circuitry made of discrete components to do the power-up sequencing, including an NCP6343 chip (datasheet) at I²C address 0x1c. The RPi 3B+ and RPi 4B boards contain a MaxLinear MxL7704 (datasheet) at address 0x1d.

The PMIC is always on the system I²C bus (I2C8 on RPi4, I2C0 on all other devices).

See also this very informative blog post by James Adams.

Boot ROM

Firmware

Abbreviations

CM
Clock Manager
HSM
HDMI State Machine
OTP
One-Time Programmable (memory)