RasPi Direct Hardware Access
Integrated peripheral access without operating system drivers.
|
The baseline feature of this library: declarations for all documented and various undocumented hardware registers. More...
Macros | |
#define | AUX_OFFSET 0x215000 |
AUX register offset. | |
#define | UART1_OFFSET 0x215040 |
UART1 register offset. | |
#define | SPI1_OFFSET 0x215080 |
SPI1 register offset. | |
#define | SPI2_OFFSET 0x2150c0 |
SPI2 register offset. | |
#define | BSC0_OFFSET 0x205000 |
BSC0 register offset. | |
#define | BSC1_OFFSET 0x804000 |
BSC1 register offset. | |
#define | BSC2_OFFSET 0x805000 |
BSC2 register offset. | |
#define | DMA15_OFFSET 0xe05000 |
DMA 15 register offset. | |
#define | DMA_OFFSET 0x007000 |
DMA 0-14 register offset. | |
#define | DMA_GLOBAL_OFFSET 0x007fe0 |
DMA_GLOBAL register offset. | |
#define | RNG_OFFSET 0x104000 |
RNG register offset. | |
#define | EMMC_OFFSET 0x300000 |
EMMC register offset. | |
#define | GPIO_OFFSET 0x200000 |
GPIO register offset. | |
#define | GPCLK_OFFSET 0x101070 |
GPCLK register offset. | |
#define | IRQ_OFFSET 0x00b200 |
IRQ register offset. | |
#define | PCM_OFFSET 0x203000 |
PCM register offset. | |
#define | PWM_OFFSET 0x20c000 |
PWM register offset. | |
#define | SPI0_OFFSET 0x204000 |
SPI0 register offset. | |
#define | BSCSL_OFFSET 0x214000 |
BSCSL register offset. | |
#define | ST_OFFSET 0x003000 |
ST register offset. | |
#define | UART0_OFFSET 0x201000 |
UART0 register offset. | |
#define | TIMER_OFFSET 0x00b400 |
TIMER register offset. | |
#define | USB_OFFSET 0x980000 |
USB register offset. | |
#define | MMC_OFFSET 0x202000 |
MMC register offset. | |
#define | CM_PASSWD (0x5a) |
Password for the PASSWD field of various Clock Manager registers. | |
#define | CM_OFFSET 0x101000 |
CM register offset. | |
#define | PM_PASSWD (0x5a) |
Password for the PASSWD field of various Power Management registers. | |
#define | PM_OFFSET 0x100000 |
PM register offset. | |
Typedefs | |
typedef raspi_SPI1_regs | raspi_SPI2_regs |
Auxillary mini SPI1 (= SPI2). More... | |
typedef raspi_BSC0_regs | raspi_BSC1_regs |
BSC1 (I2C1) master. More... | |
typedef raspi_BSC0_regs | raspi_BSC2_regs |
BSC2 (I2C2) master. More... | |
typedef raspi_DMA15_regs | raspi_DMA_regs [15] |
DMA channels 0-14. More... | |
typedef raspi_CM_reg | raspi_CM_regs [57] |
Clock Manager register array. | |
Enumerations | |
enum | raspi_CM_CTL_SRC_t { CM_GND = 0, CM_OSC = 1, CM_PLLA = 4, CM_PLLC = 5, CM_PLLD = 6, CM_HDMI = 7 } |
Clock manager sources. | |
enum | raspi_CM_reg_t { CM_VPU = 1, CM_H264 = 5, CM_UNK_0x30 = 6, CM_V3D = 7, CM_CAM0_LP = 8, CM_DSI_ESC = 11, CM_DPI = 13, CM_GP0 = 14, CM_GP1 = 15, CM_GP2 = 16, CM_HSM = 17, CM_ISP = 18, CM_PCM = 19, CM_PWM = 20, CM_SLIM = 21, CM_SMI = 22, CM_EMMC = 24, CM_TSENS = 28, CM_TIME = 29, CM_UART = 30, CM_VEC = 31, CM_UNK_0x190 = 50, CM_ARM = 54, CM_UNK_0x1C0 = 56 } |
Known clock manager entries. | |
enum | raspi_PM_RSTC_WRCFG_t { PM_CLR = 0, PM_SET = 1, PM_FULL_RESET = 2 } |
Possible values for `HW.PM.RSTC.B.WRCFG`. | |
The baseline feature of this library: declarations for all documented and various undocumented hardware registers.
The entries in HW are named like the structs listed below, with the raspi_
prefix and _regs
suffix removed. raspi_DMA_regs is special, as it is an array. Similarly, the clock manager registers raspi_CM_regs is an array indexed by constants of enum raspi_CM_reg_t.
Declared in raspi/hw.h
.
struct raspi_AUX_regs |
struct raspi_UART1_regs |
Auxillary mini UART (= UART1).
Register names have AUX_MU_
prefix and _REG
suffix stripped.
Effectively unusable due to overlap with UART0, which has no usable alternate mapping.
Signal | Mapping 1 | Mapping 2 | Mapping 3 |
---|---|---|---|
TxD | GPIO14 Alt5 (P1-08) | GPIO32 Alt5 (nc) | GPIO40 Alt5 (R21) |
RxD | GPIO15 Alt5 (P1-10) | GPIO33 Alt5 (nc) | GPIO41 Alt5 (nc) |
CTS | GPIO16 Alt5 (D5) | GPIO30 Alt5 (P5-5) | GPIO43 Alt5 (nc) |
RTS | GPIO17 Alt5 (P1-11) | GPIO31 Alt5 (P5-6) | GPIO42 Alt5 (nc) |
Data Fields | ||
---|---|---|
uint32_t | IO | |
uint32_t | IER | |
uint32_t | IIR | |
uint32_t | LCR | |
uint32_t | MCR | |
uint32_t | LSR | |
uint32_t | MSR | |
uint32_t | SCRATCH | |
uint32_t | CNTL | |
uint32_t | STAT | |
uint32_t | BAUD |
struct raspi_SPI1_regs |
Auxillary mini SPI 0 (= SPI1).
Register names have AUX_SPI0_
prefix and _REG
suffix stripped.
Unusable due to missing connections.
Signal | Mapping 1 |
---|---|
SCLK | GPIO21 Alt4 (S5-11) |
MOSI | GPIO20 Alt4 (nc) |
MISO | GPIO19 Alt4 (nc) |
CE0_N | GPIO18 Alt4 (P1-12) |
CE1_N | GPIO17 Alt4 (P1-11) |
CE2_N | GPIO16 Alt4 (D5) |
Data Fields | ||
---|---|---|
uint32_t | CNTL0 | |
uint32_t | CNTL1 | |
uint32_t | STAT | |
uint32_t | maybe_PEEK | |
uint32_t | IO | |
uint32_t | PEEK | |
uint32_t | reserved_0x18[2] | |
uint32_t | maybe_IO[4] | |
uint32_t | maybe_TXHOLD[4] |
struct raspi_BSC0_regs |
BSC0 (I2C0) master.
Standard mapping: S5-13/S5-14.
Signal | Mapping 1 | Mapping 2 | Mapping 3 |
---|---|---|---|
SDA | GPIO0 Alt0 (S5-14) | GPIO28 Alt0 (P5-3) | GPIO44 Alt1 (nc) |
SCL | GPIO1 Alt0 (S5-13) | GPIO29 Alt0 (P5-4) | GPIO45 Alt1 (R27) |
Data Fields | ||
---|---|---|
uint32_t | C | |
uint32_t | S | |
uint32_t | DLEN | |
uint32_t | A | |
uint32_t | FIFO | |
uint32_t | DIV | |
uint32_t | DEL | |
uint32_t | CLKT |
struct raspi_dma_control_block |
struct raspi_DMA15_regs |
DMA channel 15.
No external signals.
Data Fields | ||
---|---|---|
uint32_t | CS | |
uint32_t | CONBLK_AD | |
raspi_dma_control_block | CB | |
uint32_t | reserved_0x28[54] |
struct raspi_DMA_GLOBAL_regs |
struct raspi_RNG_regs |
Hardware Random Number Generator.
No external signals.
Data Fields | ||
---|---|---|
union raspi_RNG_regs | CTRL | |
union raspi_RNG_regs | STATUS | |
uint32_t | DATA | |
union raspi_RNG_regs | FF_THRES | |
union raspi_RNG_regs | INT_MASK |
union raspi_RNG_regs.CTRL |
Data Fields | ||
---|---|---|
uint32_t | U | |
CTRL | B |
union raspi_RNG_regs.STATUS |
Data Fields | ||
---|---|---|
uint32_t | U | |
STATUS | B |
union raspi_RNG_regs.FF_THRES |
Data Fields | ||
---|---|---|
uint32_t | U | |
FF_THRES | B |
union raspi_RNG_regs.INT_MASK |
Data Fields | ||
---|---|---|
uint32_t | U | |
INT_MASK | B |
struct raspi_EMMC_regs |
External Mass Media Controller (MMC/SD/SDIO).
Standard mapping: SD-Card connector.
Signal | Mapping 1 | Mapping 2 |
---|---|---|
CARD_DET | GPIO46 Alt0? (SD) | none |
CLK | GPIO47 Alt0? (SD) | GPIO22 Alt3? (P1-15) |
CMD | GPIO48 Alt0? (SD) | GPIO23 Alt3? (P1-16) |
DATA0 | GPIO49 Alt0? (SD) | GPIO24 Alt3? (P1-18) |
DATA1 | GPIO50 Alt0? (SD) | GPIO25 Alt3? (P1-22) |
DATA2 | GPIO51 Alt0? (SD) | GPIO26 Alt3? (nc) |
DATA3 | GPIO52 Alt0? (SD) | GPIO27 Alt3? (P1-13) |
struct raspi_GPIO_regs |
General-Purpose I/O.
P1 pin mapping (main GPIO connector):
3.3V | GPIO2 | GPIO3 | GPIO4 | GND | GPIO17 | GPIO27 | GPIO22 | 3.3V | GPIO10 | GPIO9 | GPIO11 | GND | SDA1 | SCL1 | GPCLK0/TDI | | | TMS | TRST | | MOSI | MISO | SCK | ------------------------------------------------------------------------------------------------------------------- 5V | 5V | GND | GPIO14 | GPIO15 | GPIO18 | GND | GPIO23 | GPIO24 | GND | GPIO25 | GPIO8 | GPIO7 | | | TxD | RxD | PWM0 | | RTCK | TDO | TCK | | CE0_N | CE1_N
P5 pin mapping (PCM):
5V | GPIO28 | GPIO30 | GND | CLK | DIN | -------------------------------- 3.3V | GPIO29 | GPIO31 | GND | FS | DOUT |
S5 pin mapping (CSI):
GPIO | Pin | Default Function |
---|---|---|
GPIO21 | S5-11 | GPIO |
GPIO5 | S5-12 | GPCLK1 |
GPIO1 | S5-13 | SCL0 |
GPIO0 | S5-14 | SDA0 |
S6 pin mapping (3.5mm audio):
GPIO | Pin | Default Function |
---|---|---|
GPIO40 | right channel via RC filter | PWM0 |
GPIO45 | left channel via RC filter | PWM1 |
S8 pin mapping (SD):
GPIO | Pin | Connection |
---|---|---|
GPIO47 | Card Detect | direct |
GPIO48 | Clock | via 33R |
GPIO49 | Command | via 33R |
GPIO50 | Data 0 | via 33R |
GPIO51 | Data 1 | via 33R |
GPIO52 | Data 2 | via 33R |
GPIO53 | Data 3 | via 33R |
Other GPIOs:
GPIO | Pin |
---|---|
GPIO6 | IC3-12 |
GPIO16 | D5 |
GPIO46 | IC1-6 |
Not connected: 12, 13, 19, 20, 26, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44
struct raspi_GPCLK_regs |
General Purpose Clock.
Standard mapping: GPCLK0 = P1-7, GPCLK1 = S5-12, GPCLK2 = unusable
Signal | Mapping 1 | Mapping 2 | Mapping 3 | Mapping 4 |
---|---|---|---|---|
GPCLK0 | GPIO4 Alt0 (P1-7) | GPIO20 Alt5 (nc) | GPIO32 Alt0 (nc) | GPIO34 Alt0 (nc) |
GPCLK1 | GPIO5 Alt0 (S5-12) | GPIO21 Alt5 (nc) | GPIO42 Alt0 (nc) | GPIO44 Alt0 (nc) |
GPCLK2 | GPIO6 Alt0 (IC3-12) | GPIO43 Alt0 (nc) | |
Note that there is no GPCLK entry in HW. Use HW.CM[GP0]
(or [GP1]
/[GP2]
) instead.
Data Fields | ||
---|---|---|
struct raspi_GPCLK_regs | CM[3] |
struct raspi_IRQ_regs |
struct raspi_PCM_regs |
PCM / I2S Audio.
Standard mapping: P5
Signal | Mapping 1 | Mapping 2 |
---|---|---|
CLK | GPIO18 Alt0 (P1-12) | GPIO28 Alt2 (P5-3) |
FS | GPIO19 Alt0 (nc) | GPIO29 Alt2 (P5-4) |
DIN | GPIO20 Alt0 (nc) | GPIO30 Alt2 (P5-5) |
DOUT | GPIO21 Alt0 (S5-11) | GPIO31 Alt2 (P5-6) |
Data Fields | ||
---|---|---|
union raspi_PCM_regs | CS | |
uint32_t | FIFO | |
union raspi_PCM_regs | MODE | |
union raspi_PCM_regs | RXC | |
union raspi_PCM_regs | TXC | |
union raspi_PCM_regs | DREQ | |
union raspi_PCM_regs | INTEN | |
union raspi_PCM_regs | INTSTC | |
union raspi_PCM_regs | GRAY |
union raspi_PCM_regs.CS |
Data Fields | ||
---|---|---|
uint32_t | U | |
CS | B |
union raspi_PCM_regs.MODE |
Data Fields | ||
---|---|---|
uint32_t | U | |
MODE | B |
union raspi_PCM_regs.RXC |
Data Fields | ||
---|---|---|
uint32_t | U | |
RXC | B |
union raspi_PCM_regs.TXC |
Data Fields | ||
---|---|---|
uint32_t | U | |
TXC | B |
union raspi_PCM_regs.DREQ |
Data Fields | ||
---|---|---|
uint32_t | U | |
DREQ | B |
union raspi_PCM_regs.INTEN |
Data Fields | ||
---|---|---|
uint32_t | U | |
INTEN | B |
union raspi_PCM_regs.INTSTC |
Data Fields | ||
---|---|---|
uint32_t | U | |
INTSTC | B |
union raspi_PCM_regs.GRAY |
Data Fields | ||
---|---|---|
uint32_t | U | |
GRAY | B |
struct raspi_PWM_regs |
Pulse Width Modulator.
Standard mapping: S6 via RC-filter.
Signal | Mapping 1 | Mapping 2 | Mapping 3 | Mapping 4 -----—|---------------—|------------------—|-----------------—|-----------------— PWM0 | GPIO12 Alt0 (nc) | GPIO18 Alt5 (P1-12) | GPIO40 Alt0 (S6-R) | PWM1 | GPIO13 Alt0 (nc) | GPIO19 Alt5 (nc) | GPIO41 Alt0 (nc) | GPIO45 Alt0 (S6-L)
Data Fields | ||
---|---|---|
uint32_t | CTL | |
uint32_t | STA | |
uint32_t | DMAC | |
uint32_t | RNG1 | |
uint32_t | DAT1 | |
uint32_t | FIF1 | |
uint32_t | RNG2 | |
uint32_t | DAT2 |
struct raspi_SPI0_regs |
Serial Peripheral Interface master (SPI0).
Standard mapping: P1.
Signal | Mapping 1 | Mapping 2 |
---|---|---|
SCLK | GPIO11 Alt0 (P1-23) | GPIO39 Alt0 (nc) |
MOSI | GPIO10 Alt0 (P1-19) | GPIO38 Alt0 (nc) |
MISO | GPIO9 Alt0 (P1-21) | GPIO37 Alt0 (nc) |
CE0_N | GPIO8 Alt0 (P1-24) | GPIO36 Alt0 (nc) |
CE1_N | GPIO7 Alt0 (P1-26) | GPIO35 Alt0 (nc) |
Data Fields | ||
---|---|---|
union raspi_SPI0_regs | CS | |
uint32_t | FIFO | |
union raspi_SPI0_regs | CLK | |
union raspi_SPI0_regs | DLEN | |
union raspi_SPI0_regs | LTOH | |
union raspi_SPI0_regs | DC |
union raspi_SPI0_regs.CS |
Data Fields | ||
---|---|---|
uint32_t | U | |
CS | B |
union raspi_SPI0_regs.CLK |
Data Fields | ||
---|---|---|
uint32_t | U | |
CLK | B |
union raspi_SPI0_regs.DLEN |
Data Fields | ||
---|---|---|
uint32_t | U | |
DLEN | B |
union raspi_SPI0_regs.LTOH |
Data Fields | ||
---|---|---|
uint32_t | U | |
LTOH | B |
union raspi_SPI0_regs.DC |
Data Fields | ||
---|---|---|
uint32_t | U | |
DC | B |
struct raspi_BSCSL_regs |
BSC/SPI slave.
Unusable due to missing connections.
Signal | Mapping 1 |
---|---|
SCLK/SCL | GPIO19 Alt3 (nc) |
MOSI/SDA | GPIO18 Alt3 (P1-12) |
MISO | GPIO20 Alt3 (nc) |
CE_N | GPIO21 Alt3 (S5-11) |
struct raspi_ST_regs |
System Timer.
No external signals.
Data Fields | ||
---|---|---|
union raspi_ST_regs | CS | |
uint32_t | CLO | |
uint32_t | CHI | |
uint32_t | C[4] |
union raspi_ST_regs.CS |
Data Fields | ||
---|---|---|
uint32_t | U | |
CS | B |
struct raspi_UART0_regs |
ARM UART (UART0).
Standard mapping: P1, no handshake.
Signal | Mapping 1 | Mapping 2 | Mapping 3 |
---|---|---|---|
TxD | GPIO14 Alt0 (P1-08) | GPIO32 Alt3 (nc) | GPIO36 Alt2 (nc) |
RxD | GPIO15 Alt0 (P1-10) | GPIO33 Alt3 (nc) | GPIO37 Alt2 (nc) |
CTS | GPIO16 Alt3 (D5) | GPIO30 Alt3 (P5-5) | GPIO39 Alt2 (nc) |
RTS | GPIO17 Alt3 (P1-11) | GPIO31 Alt3 (P5-6) | GPIO38 Alt2 (nc) |
Data Fields | ||
---|---|---|
union raspi_UART0_regs | DR | |
union raspi_UART0_regs | RSRECR | |
uint32_t | reserved_0x08[4] | |
union raspi_UART0_regs | FR | |
uint32_t | reserved_0x1c | |
uint32_t | ILPR | |
union raspi_UART0_regs | IBRD | |
union raspi_UART0_regs | FBRD | |
union raspi_UART0_regs | LCRH | |
union raspi_UART0_regs | CR | |
union raspi_UART0_regs | IFLS | |
union raspi_UART0_regs | IMSC | |
union raspi_UART0_regs | RIS | |
union raspi_UART0_regs | MIS | |
union raspi_UART0_regs | ICR | |
uint32_t | DMACR | |
uint32_t | reserved_0x4c[14] | |
union raspi_UART0_regs | ITCR | |
union raspi_UART0_regs | ITIP | |
union raspi_UART0_regs | ITOP | |
union raspi_UART0_regs | TDR |
union raspi_UART0_regs.DR |
Data Fields | ||
---|---|---|
uint32_t | U | |
DR | B |
union raspi_UART0_regs.RSRECR |
Data Fields | ||
---|---|---|
uint32_t | U | |
RSRECR | B |
union raspi_UART0_regs.FR |
Data Fields | ||
---|---|---|
uint32_t | U | |
FR | B |
union raspi_UART0_regs.IBRD |
Data Fields | ||
---|---|---|
uint32_t | U | |
IBRD | B |
union raspi_UART0_regs.FBRD |
Data Fields | ||
---|---|---|
uint32_t | U | |
FBRD | B |
union raspi_UART0_regs.LCRH |
Data Fields | ||
---|---|---|
uint32_t | U | |
LCRH | B |
union raspi_UART0_regs.CR |
Data Fields | ||
---|---|---|
uint32_t | U | |
CR | B |
union raspi_UART0_regs.IFLS |
Data Fields | ||
---|---|---|
uint32_t | U | |
IFLS | B |
union raspi_UART0_regs.IMSC |
Data Fields | ||
---|---|---|
uint32_t | U | |
IMSC | B |
union raspi_UART0_regs.RIS |
Data Fields | ||
---|---|---|
uint32_t | U | |
RIS | B |
union raspi_UART0_regs.MIS |
Data Fields | ||
---|---|---|
uint32_t | U | |
MIS | B |
union raspi_UART0_regs.ICR |
Data Fields | ||
---|---|---|
uint32_t | U | |
ICR | B |
union raspi_UART0_regs.ITCR |
Data Fields | ||
---|---|---|
uint32_t | U | |
ITCR | B |
union raspi_UART0_regs.ITIP |
Data Fields | ||
---|---|---|
uint32_t | U | |
ITIP | B |
union raspi_UART0_regs.ITOP |
Data Fields | ||
---|---|---|
uint32_t | U | |
ITOP | B |
union raspi_UART0_regs.TDR |
Data Fields | ||
---|---|---|
uint32_t | U | |
TDR | B |
struct raspi_TIMER_regs |
struct raspi_USB_regs |
struct raspi_MMC_regs |
Legacy MMC Controller.
Supposedly connected to the same pins as the EMMC.
struct raspi_CM_reg |
Clock Management.
No external connections.
Data Fields | ||
---|---|---|
union raspi_CM_reg | CTL | |
union raspi_CM_reg | DIV |
union raspi_CM_reg.CTL |
Data Fields | ||
---|---|---|
uint32_t | U | |
CTL | B |
union raspi_CM_reg.DIV |
Data Fields | ||
---|---|---|
uint32_t | U | |
DIV | B |
struct raspi_PM_regs |
Power/Reset Management.
No external connections.
Data Fields | ||
---|---|---|
uint32_t | unknown_0x00[0x1c] | |
union raspi_PM_regs | RSTC | |
union raspi_PM_regs | RSTS | |
union raspi_PM_regs | WDOG |
union raspi_PM_regs.RSTC |
Data Fields | ||
---|---|---|
uint32_t | U | |
RSTC | B |
union raspi_PM_regs.RSTS |
Data Fields | ||
---|---|---|
uint32_t | U | |
RSTS | B |
union raspi_PM_regs.WDOG |
Data Fields | ||
---|---|---|
uint32_t | U | |
WDOG | B |
struct raspi_RNG_regs::raspi_RNG_CTRL_reg.CTRL.B |
struct raspi_RNG_regs::raspi_RNG_STATUS_reg.STATUS.B |
struct raspi_RNG_regs::raspi_RNG_FF_THRES_reg.FF_THRES.B |
struct raspi_RNG_regs::raspi_RNG_INT_MASK_reg.INT_MASK.B |
struct raspi_PCM_regs::raspi_PCM_CS_reg.CS.B |
struct raspi_PCM_regs::raspi_PCM_MODE_reg.MODE.B |
struct raspi_PCM_regs::raspi_PCM_RXC_reg.RXC.B |
struct raspi_PCM_regs::raspi_PCM_TXC_reg.TXC.B |
struct raspi_PCM_regs::raspi_PCM_DREQ_reg.DREQ.B |
struct raspi_PCM_regs::raspi_PCM_INTEN_reg.INTEN.B |
struct raspi_PCM_regs::raspi_PCM_INTSTC_reg.INTSTC.B |
struct raspi_PCM_regs::raspi_PCM_GRAY_reg.GRAY.B |
struct raspi_SPI0_regs::raspi_SPI0_CS_reg.CS.B |
struct raspi_SPI0_regs::raspi_SPI0_DC_reg.DC.B |
struct raspi_ST_regs::raspi_ST_CS_reg.CS.B |
struct raspi_UART0_regs::raspi_UART0_DR_reg.DR.B |
struct raspi_UART0_regs::raspi_UART0_RSRECR_reg.RSRECR.B |
struct raspi_UART0_regs::raspi_UART0_FR_reg.FR.B |
struct raspi_UART0_regs::raspi_UART0_IBRD_reg.IBRD.B |
struct raspi_UART0_regs::raspi_UART0_FBRD_reg.FBRD.B |
struct raspi_UART0_regs::raspi_UART0_LCRH_reg.LCRH.B |
struct raspi_UART0_regs::raspi_UART0_CR_reg.CR.B |
struct raspi_UART0_regs::raspi_UART0_IFLS_reg.IFLS.B |
struct raspi_UART0_regs::raspi_UART0_IMSC_reg.IMSC.B |
struct raspi_UART0_regs::raspi_UART0_RIS_reg.RIS.B |
struct raspi_UART0_regs::raspi_UART0_MIS_reg.MIS.B |
struct raspi_UART0_regs::raspi_UART0_ICR_reg.ICR.B |
struct raspi_UART0_regs::raspi_UART0_ITCR_reg.ITCR.B |
struct raspi_UART0_regs::raspi_UART0_ITIP_reg.ITIP.B |
struct raspi_UART0_regs::raspi_UART0_ITOP_reg.ITOP.B |
struct raspi_UART0_regs::raspi_UART0_TDR_reg.TDR.B |
struct raspi_CM_reg::raspi_CM_CTL_reg.CTL.B |
struct raspi_CM_reg::raspi_CM_DIV_reg.DIV.B |
struct raspi_PM_regs::raspi_PM_RSTC_reg.RSTC.B |
struct raspi_PM_regs::raspi_PM_RSTS_reg.RSTS.B |
struct raspi_PM_regs::raspi_PM_WDOG_reg.WDOG.B |
typedef raspi_SPI1_regs raspi_SPI2_regs |
Auxillary mini SPI1 (= SPI2).
Register names have AUX_SPI1_
prefix and _REG
suffix stripped.
Unusable due to missing connections.
Signal | Mapping 1 |
---|---|
SCLK | GPIO42 Alt4 (nc) |
MOSI | GPIO41 Alt4 (nc) |
MISO | GPIO40 Alt4 (R21) |
CE0_N | GPIO43 Alt4 (nc) |
CE1_N | GPIO44 Alt4 (nc) |
CE2_N | GPIO45 Alt4 (R27) |
typedef raspi_BSC0_regs raspi_BSC1_regs |
BSC1 (I2C1) master.
Standard mapping: P1-03/P1-05.
Signal | Mapping 1 | Mapping 2 |
---|---|---|
SDA | GPIO2 Alt0 (P1-03) | GPIO44 Alt2 (nc) |
SCL | GPIO3 Alt0 (P1-05) | GPIO45 Alt2 (R27) |
typedef raspi_BSC0_regs raspi_BSC2_regs |
BSC2 (I2C2) master.
Unusable due to being part of the HDMI interface.
typedef raspi_DMA15_regs raspi_DMA_regs[15] |
DMA channels 0-14.
No external signals.