Skip to content

Latest commit

 

History

History
284 lines (226 loc) · 18.5 KB

apb_soc_ctrl.rst

File metadata and controls

284 lines (226 loc) · 18.5 KB

APB SoC Controller

This APB peripheral primarily controls I/O configuration and I/O function connection. It also supports a few registers for miscellaneous functions.

APB SoC CTRL CSRs

IO_CTRL offset = 0x0400

I/O control supports two functions:

  • I/O configuration
  • I/O function selection

I/O configuration (CFG) is a series of bits that may be used control I/O PAD characteristics, such as drive strength and slew rate. These driver control characteristics are implementation technology dependend and are TBD. I/O selection (MUX) controls the select field of a mux that connects the I/O to different signals in the device.

Each port is individually addressable at offset + IO_PORT * 4. For example, the IO_CTRL CSR for IO_PORT 8 is at offset 0x0420.

Field Bits Type Default Description
CFG 13:8 RW 0x00 Pad configuration (TBD)
MUX 1:0 RW 0x00 Mux select

INFO offset = 0x0000

Field Bits Type Default Description
N_CORES 31:16 RO   Number of cores in design
N_CLUSTERS 15:0 RO   Number of clusters in design

BUILD_DATE offset = 0x000C

Field Bits Type Default Description
YEAR 31:16 RO   Year in BCD
MONTH 15:8 RO   Month in BCD
DAY 7:0 RO   Day in BCD

BUILD_TIME offset = 0x0010

Field Bits Type Default Description
HOUR 23:16 RO   Hour in BCD
MINUTES 15:8 RO   Minutes in BCD
SECONDS 7:0 RO   Seconds in BCD

IO_CFG0 offset = 0x0014

Field Bits Type Default Description
N_GPIO 23:16 RO 32 Number of IO connected to GPIO controller
N_SYSIO 15:8 RO 3 Number of fixed-function IO
N_IO 7:0 RO 48 Number of IO on device (not necessarily on package)

IO_CFG1 offset = 0x0018

Field Bits Type Default Description
NBIT_PADMUX 15:8 RO 2 Number of bits in pad mux select
  (there are 2^NBIT_PADMUX options)
NBIT_PADCFG 7:0 RO 6 Number of bits in padconfiguration

PER_CFG0 offset = 0x0020

Field Bits Type Default Description
N_I2SC 31:24 RO 0 Number of I2S clients
N_I2CM 23:16 RO 2 Number of I2C masters
N_QSPIM 15:8 RO 2 Number of QSPI masters
N_UART 7:0 RO 2 Number of UARTs

PER_CFG1 offset = 0x0024

Field Bits Type Default Description
N_CAM 15:8 RO 1 Number of Camera controllers
N_SDIO 7:0 RO 1 Number of SDIO controllers

JTAGREG offset = 0x0074

Field Bits Type Default Description
TBD 31:0 R/W   To Be Determined

BOOTSEL offset = 0x00C4

Field Bits Type Default Description
BootDev 0:0     Selects Boot device 1=SPI, 0=Host mode via I2Cs

CLKSEL offset = 0x00C8

Field Bits Type Default Description
TBD 31:0 R/W   To Be Determined

WD_COUNT offset = 0x00D0

Field Bits Type Default Description
COUNT 31:0 R/W 0x8000 Only writable before Watchdog is enabled

WD_CONTROL offset = 0x00D4

Field Bits Type Default Description
ENABLE_STATUS 31:31 R0   1=Watchdog Enabled,
  0=Watchdog not enabled.
  Note: once enabled, cannot be disabled
WD_VALUE 15:0 WO NA Set to 0x6699 to reset watchdog when enabled, read current WD value

RESET_REASON offset = 0x00D8

Field Bits Type Default Description
REASON 1:0 R/W   2'b01= reset pin, 2'b11=Watchdog expired

RTO_PERIPHERAL_ERROR offset = 0x00E0

Field Bits Type Default Description
FCB_RTO 8:8 R/W 0x0 1 indicates that the FCB interface caused a ready timeout
TIMER_RTO 7:7 R/W 0x0 1 indicates that the TIMER interface caused a ready timeout
I2CS_RTO 6:6 R/W 0x0 1 indicates that the I2CS interface caused a ready timeout
EVENT_GEN_RTO 5:5 R/W 0x0 1 indicates that the EVENT GENERATOR interface caused a ready timeout
ADV_TIMER_RTO 4:4 R/W 0x0 1 indicates that the ADVANCED TIMER interface caused a ready timeout
SOC_CONTROL_RTO 3:3 R/W 0x0 1 indicates that the SOC CONTROL interface caused a ready timeout
UDMA_RTO 2:2 R/W 0x0 1 indicates that the UDMA CONTROL interface caused a ready timeout
GPIO_RTO 1:1 R/W 0x0 1 indicates that the GPIO interface caused a ready timeout
FLL_RTO 0:0 R/W 0x0 1 indicates that the FLL interface caused a ready timeout

READY_TIMEOUT_COUNT offset = 0x00E4

Field Bits Type Default Description
COUNT 19:0 R/W 0xFF Number of APB clocks before a ready timeout occurs

RESET_TYPE1_EFPGA offset = 0x00E8

Field Bits Type Default Description
RESET_LB 3:3 R/W 0x0 Reset eFPGA Left Bottom Quadrant
RESET_RB 2:2 R/W 0x0 Reset eFPGA Right Bottom Quadrant
RESET_RT 1:1 R/W 0x0 Reset eFPGA Right Top Quadrant
RESET_LT 0:0 R/W 0x0 Reset eFPGA Left Top Quadrant

ENABLE_IN_OUT_EFPGA offset = 0x00EC

Field Bits Type Default Description
ENABLE_EVENTS 5:5 R/W 0x00 Enable events from efpga to SOC
ENABLE_SOC_ACCESS 4:4 R/W 0x0 Enable SOC memory mapped access to EFPGA
ENABLE_TCDM_P3 3:3 R/W 0x0 Enable EFPGA access via TCDM port 3
ENABLE_TCDM_P2 2:2 R/W 1x0 Enable EFPGA access via TCDM port 2
ENABLE_TCDM_P1 1:1 R/W 2x0 Enable EFPGA access via TCDM port 1
ENABLE_TCDM_P0 0:0 R/W 3x0 Enable EFPGA access via TCDM port 0

EFPGA_CONTROL_IN offset = 0x00F0

EFPGA_STATUS_OUT offset = 0x00F4

EFPGA_VERSION offset = 0x00F8

SOFT_RESET offset = 0x00FC