RP2040_SVD.XIP_SSI

Entities

Simple Types

Record Types

Subtypes

Variables

Description

------------- Registers -- -------------

BAUDR_Register

type BAUDR_Register is record
   SCKDV          : BAUDR_SCKDV_Field := 16#0#;
   Reserved_16_31 : HAL.UInt16 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
SCKDV
Reserved_16_31

BAUDR_SCKDV_Field

subtype BAUDR_SCKDV_Field is HAL.UInt16;

CTRLR0_CFS_Field

subtype CTRLR0_CFS_Field is HAL.UInt4;

CTRLR0_DFS_32_Field

subtype CTRLR0_DFS_32_Field is HAL.UInt5;

CTRLR0_DFS_Field

subtype CTRLR0_DFS_Field is HAL.UInt4;

CTRLR0_FRF_Field

subtype CTRLR0_FRF_Field is HAL.UInt2;

CTRLR0_Register

type CTRLR0_Register is record
   DFS            : CTRLR0_DFS_Field := 16#0#;
   FRF            : CTRLR0_FRF_Field := 16#0#;
   SCPH           : Boolean := False;
   SCPOL          : Boolean := False;
   TMOD           : CTRLR0_TMOD_Field := RP2040_SVD.XIP_SSI.TX_AND_RX;
   SLV_OE         : Boolean := False;
   SRL            : Boolean := False;
   CFS            : CTRLR0_CFS_Field := 16#0#;
   DFS_32         : CTRLR0_DFS_32_Field := 16#0#;
   SPI_FRF        : CTRLR0_SPI_FRF_Field := RP2040_SVD.XIP_SSI.STD;
   Reserved_23_23 : HAL.Bit := 16#0#;
   SSTE           : Boolean := False;
   Reserved_25_31 : HAL.UInt7 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
DFS
FRF
SCPH
SCPOL
TMOD
SLV_OE
SRL
CFS
DFS_32
SPI_FRF
Reserved_23_23
SSTE
Reserved_25_31

CTRLR0_SPI_FRF_Field

type CTRLR0_SPI_FRF_Field is
   STD,
   DUAL,
   QUAD)
  with Size => 2;
Enumeration Literal
STD

Dual-SPI frame format; two bits per SCK, half-duplex

DUAL

Quad-SPI frame format; four bits per SCK, half-duplex

QUAD

CTRLR0_TMOD_Field

type CTRLR0_TMOD_Field is
   TX_AND_RX,
   TX_ONLY,
   RX_ONLY,
   EEPROM_READ)
  with Size => 2;
Enumeration Literal
TX_AND_RX

Transmit only (not for FRF == 0, standard SPI mode)

TX_ONLY

Receive only (not for FRF == 0, standard SPI mode)

RX_ONLY

EEPROM read mode (TX then RX; RX starts after control data TX'd)

EEPROM_READ

CTRLR1_NDF_Field

subtype CTRLR1_NDF_Field is HAL.UInt16;

CTRLR1_Register

type CTRLR1_Register is record
   NDF            : CTRLR1_NDF_Field := 16#0#;
   Reserved_16_31 : HAL.UInt16 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
NDF
Reserved_16_31

DMACR_Register

type DMACR_Register is record
   RDMAE         : Boolean := False;
   TDMAE         : Boolean := False;
   Reserved_2_31 : HAL.UInt30 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
RDMAE
TDMAE
Reserved_2_31

DMARDLR_DMARDL_Field

subtype DMARDLR_DMARDL_Field is HAL.UInt8;

DMARDLR_Register

type DMARDLR_Register is record
   DMARDL        : DMARDLR_DMARDL_Field := 16#0#;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
DMARDL
Reserved_8_31

DMATDLR_DMATDL_Field

subtype DMATDLR_DMATDL_Field is HAL.UInt8;

DMATDLR_Register

type DMATDLR_Register is record
   DMATDL        : DMATDLR_DMATDL_Field := 16#0#;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
DMATDL
Reserved_8_31

ICR_Register

type ICR_Register is record
   ICR           : Boolean;
   Reserved_1_31 : HAL.UInt31;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
ICR
Reserved_1_31

IMR_Register

type IMR_Register is record
   TXEIM         : Boolean := False;
   TXOIM         : Boolean := False;
   RXUIM         : Boolean := False;
   RXOIM         : Boolean := False;
   RXFIM         : Boolean := False;
   MSTIM         : Boolean := False;
   Reserved_6_31 : HAL.UInt26 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TXEIM
TXOIM
RXUIM
RXOIM
RXFIM
MSTIM
Reserved_6_31

ISR_Register

type ISR_Register is record
   TXEIS         : Boolean;
   TXOIS         : Boolean;
   RXUIS         : Boolean;
   RXOIS         : Boolean;
   RXFIS         : Boolean;
   MSTIS         : Boolean;
   Reserved_6_31 : HAL.UInt26;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TXEIS
TXOIS
RXUIS
RXOIS
RXFIS
MSTIS
Reserved_6_31

MSTICR_Register

type MSTICR_Register is record
   MSTICR        : Boolean;
   Reserved_1_31 : HAL.UInt31;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
MSTICR
Reserved_1_31

MWCR_Register

type MWCR_Register is record
   MWMOD         : Boolean := False;
   MDD           : Boolean := False;
   MHS           : Boolean := False;
   Reserved_3_31 : HAL.UInt29 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
MWMOD
MDD
MHS
Reserved_3_31

RISR_Register

type RISR_Register is record
   TXEIR         : Boolean;
   TXOIR         : Boolean;
   RXUIR         : Boolean;
   RXOIR         : Boolean;
   RXFIR         : Boolean;
   MSTIR         : Boolean;
   Reserved_6_31 : HAL.UInt26;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TXEIR
TXOIR
RXUIR
RXOIR
RXFIR
MSTIR
Reserved_6_31

RX_SAMPLE_DLY_Register

type RX_SAMPLE_DLY_Register is record
   RSD           : RX_SAMPLE_DLY_RSD_Field := 16#0#;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
RSD
Reserved_8_31

RX_SAMPLE_DLY_RSD_Field

subtype RX_SAMPLE_DLY_RSD_Field is HAL.UInt8;

RXFLR_Register

type RXFLR_Register is record
   RXTFL         : RXFLR_RXTFL_Field;
   Reserved_8_31 : HAL.UInt24;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
RXTFL
Reserved_8_31

RXFLR_RXTFL_Field

subtype RXFLR_RXTFL_Field is HAL.UInt8;

RXFTLR_Register

type RXFTLR_Register is record
   RFT           : RXFTLR_RFT_Field := 16#0#;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
RFT
Reserved_8_31

RXFTLR_RFT_Field

subtype RXFTLR_RFT_Field is HAL.UInt8;

RXOICR_Register

type RXOICR_Register is record
   RXOICR        : Boolean;
   Reserved_1_31 : HAL.UInt31;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
RXOICR
Reserved_1_31

RXUICR_Register

type RXUICR_Register is record
   RXUICR        : Boolean;
   Reserved_1_31 : HAL.UInt31;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
RXUICR
Reserved_1_31

SER_Register

type SER_Register is record
   SER           : Boolean := False;
   Reserved_1_31 : HAL.UInt31 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
SER
Reserved_1_31

SPI_CTRLR0_ADDR_L_Field

subtype SPI_CTRLR0_ADDR_L_Field is HAL.UInt4;

SPI_CTRLR0_INST_L_Field

type SPI_CTRLR0_INST_L_Field is
   NONE,
   Val_4B,
   Val_8B,
   Val_16B)
  with Size => 2;
Enumeration Literal
NONE

4-bit instruction

Val_4B

8-bit instruction

Val_8B

16-bit instruction

Val_16B

SPI_CTRLR0_Register

type SPI_CTRLR0_Register is record
   TRANS_TYPE     : SPI_CTRLR0_TRANS_TYPE_Field :=
                     RP2040_SVD.XIP_SSI.Val_1C1A;
   ADDR_L         : SPI_CTRLR0_ADDR_L_Field := 16#0#;
   Reserved_6_7   : HAL.UInt2 := 16#0#;
   INST_L         : SPI_CTRLR0_INST_L_Field := RP2040_SVD.XIP_SSI.NONE;
   Reserved_10_10 : HAL.Bit := 16#0#;
   WAIT_CYCLES    : SPI_CTRLR0_WAIT_CYCLES_Field := 16#0#;
   SPI_DDR_EN     : Boolean := False;
   INST_DDR_EN    : Boolean := False;
   SPI_RXDS_EN    : Boolean := False;
   Reserved_19_23 : HAL.UInt5 := 16#0#;
   XIP_CMD        : SPI_CTRLR0_XIP_CMD_Field := 16#3#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TRANS_TYPE
ADDR_L
Reserved_6_7
INST_L
Reserved_10_10
WAIT_CYCLES
SPI_DDR_EN
INST_DDR_EN
SPI_RXDS_EN
Reserved_19_23
XIP_CMD

SPI_CTRLR0_TRANS_TYPE_Field

type SPI_CTRLR0_TRANS_TYPE_Field is
   Val_1C1A,
   Val_1C2A,
   Val_2C2A)
  with Size => 2;
Enumeration Literal
Val_1C1A

Command in standard SPI format, address in format specified by FRF

Val_1C2A

Command and address both in format specified by FRF (e.g. Dual-SPI)

Val_2C2A

SPI_CTRLR0_WAIT_CYCLES_Field

subtype SPI_CTRLR0_WAIT_CYCLES_Field is HAL.UInt5;

SPI_CTRLR0_XIP_CMD_Field

subtype SPI_CTRLR0_XIP_CMD_Field is HAL.UInt8;

SR_Register

type SR_Register is record
   BUSY          : Boolean;
   TFNF          : Boolean;
   TFE           : Boolean;
   RFNE          : Boolean;
   RFF           : Boolean;
   TXE           : Boolean;
   DCOL          : Boolean;
   Reserved_7_31 : HAL.UInt25;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
BUSY
TFNF
TFE
RFNE
RFF
TXE
DCOL
Reserved_7_31

SSIENR_Register

type SSIENR_Register is record
   SSI_EN        : Boolean := False;
   Reserved_1_31 : HAL.UInt31 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
SSI_EN
Reserved_1_31

TXD_DRIVE_EDGE_Register

type TXD_DRIVE_EDGE_Register is record
   TDE           : TXD_DRIVE_EDGE_TDE_Field := 16#0#;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TDE
Reserved_8_31

TXD_DRIVE_EDGE_TDE_Field

subtype TXD_DRIVE_EDGE_TDE_Field is HAL.UInt8;

TXFLR_Register

type TXFLR_Register is record
   TFTFL         : TXFLR_TFTFL_Field;
   Reserved_8_31 : HAL.UInt24;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TFTFL
Reserved_8_31

TXFLR_TFTFL_Field

subtype TXFLR_TFTFL_Field is HAL.UInt8;

TXFTLR_Register

type TXFTLR_Register is record
   TFT           : TXFTLR_TFT_Field := 16#0#;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TFT
Reserved_8_31

TXFTLR_TFT_Field

subtype TXFTLR_TFT_Field is HAL.UInt8;

TXOICR_Register

type TXOICR_Register is record
   TXOICR        : Boolean;
   Reserved_1_31 : HAL.UInt31;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TXOICR
Reserved_1_31

XIP_SSI_Periph

XIP_SSI_Periph : aliased XIP_SSI_Peripheral
  with Import, Address => XIP_SSI_Base;

XIP_SSI_Peripheral

type XIP_SSI_Peripheral is record
   CTRLR0         : aliased CTRLR0_Register;
   CTRLR1         : aliased CTRLR1_Register;
   SSIENR         : aliased SSIENR_Register;
   MWCR           : aliased MWCR_Register;
   SER            : aliased SER_Register;
   BAUDR          : aliased BAUDR_Register;
   TXFTLR         : aliased TXFTLR_Register;
   RXFTLR         : aliased RXFTLR_Register;
   TXFLR          : aliased TXFLR_Register;
   RXFLR          : aliased RXFLR_Register;
   SR             : aliased SR_Register;
   IMR            : aliased IMR_Register;
   ISR            : aliased ISR_Register;
   RISR           : aliased RISR_Register;
   TXOICR         : aliased TXOICR_Register;
   RXOICR         : aliased RXOICR_Register;
   RXUICR         : aliased RXUICR_Register;
   MSTICR         : aliased MSTICR_Register;
   ICR            : aliased ICR_Register;
   DMACR          : aliased DMACR_Register;
   DMATDLR        : aliased DMATDLR_Register;
   DMARDLR        : aliased DMARDLR_Register;
   IDR            : aliased HAL.UInt32;
   SSI_VERSION_ID : aliased HAL.UInt32;
   DR0            : aliased HAL.UInt32;
   RX_SAMPLE_DLY  : aliased RX_SAMPLE_DLY_Register;
   SPI_CTRLR0     : aliased SPI_CTRLR0_Register;
   TXD_DRIVE_EDGE : aliased TXD_DRIVE_EDGE_Register;
end record
  with Volatile;
Record fields
CTRLR0
CTRLR1
SSIENR
MWCR
SER
BAUDR
TXFTLR
RXFTLR
TXFLR
RXFLR
SR
IMR
ISR
RISR
TXOICR
RXOICR
RXUICR
MSTICR
ICR
DMACR
DMATDLR
DMARDLR
IDR
SSI_VERSION_ID
DR0
RX_SAMPLE_DLY
SPI_CTRLR0
TXD_DRIVE_EDGE