RP2040_SVD.USBCTRL_REGS

Entities

Record Types

Subtypes

Variables

Description

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

ADDR_ENDP_ADDRESS_Field

subtype ADDR_ENDP_ADDRESS_Field is HAL.UInt7;

ADDR_ENDP_ENDPOINT_Field

subtype ADDR_ENDP_ENDPOINT_Field is HAL.UInt4;

ADDR_ENDP_Register

type ADDR_ENDP_Register is record
   ADDRESS        : ADDR_ENDP_ADDRESS_Field := 16#0#;
   Reserved_7_15  : HAL.UInt9 := 16#0#;
   ENDPOINT       : ADDR_ENDP_ENDPOINT_Field := 16#0#;
   Reserved_20_31 : HAL.UInt12 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
ADDRESS
Reserved_7_15
ENDPOINT
Reserved_20_31

ADDR_ENDP_Register_1

type ADDR_ENDP_Register_1 is record
   ADDRESS        : ADDR_ENDP_ADDRESS_Field := 16#0#;
   Reserved_7_15  : HAL.UInt9 := 16#0#;
   ENDPOINT       : ADDR_ENDP_ENDPOINT_Field := 16#0#;
   Reserved_20_24 : HAL.UInt5 := 16#0#;
   INTEP_DIR      : Boolean := False;
   INTEP_PREAMBLE : Boolean := False;
   Reserved_27_31 : HAL.UInt5 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
ADDRESS
Reserved_7_15
ENDPOINT
Reserved_20_24
INTEP_DIR
INTEP_PREAMBLE
Reserved_27_31

BUFF_CPU_SHOULD_HANDLE_Register

type BUFF_CPU_SHOULD_HANDLE_Register is record
   EP0_IN   : Boolean;
   EP0_OUT  : Boolean;
   EP1_IN   : Boolean;
   EP1_OUT  : Boolean;
   EP2_IN   : Boolean;
   EP2_OUT  : Boolean;
   EP3_IN   : Boolean;
   EP3_OUT  : Boolean;
   EP4_IN   : Boolean;
   EP4_OUT  : Boolean;
   EP5_IN   : Boolean;
   EP5_OUT  : Boolean;
   EP6_IN   : Boolean;
   EP6_OUT  : Boolean;
   EP7_IN   : Boolean;
   EP7_OUT  : Boolean;
   EP8_IN   : Boolean;
   EP8_OUT  : Boolean;
   EP9_IN   : Boolean;
   EP9_OUT  : Boolean;
   EP10_IN  : Boolean;
   EP10_OUT : Boolean;
   EP11_IN  : Boolean;
   EP11_OUT : Boolean;
   EP12_IN  : Boolean;
   EP12_OUT : Boolean;
   EP13_IN  : Boolean;
   EP13_OUT : Boolean;
   EP14_IN  : Boolean;
   EP14_OUT : Boolean;
   EP15_IN  : Boolean;
   EP15_OUT : Boolean;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
EP0_IN
EP0_OUT
EP1_IN
EP1_OUT
EP2_IN
EP2_OUT
EP3_IN
EP3_OUT
EP4_IN
EP4_OUT
EP5_IN
EP5_OUT
EP6_IN
EP6_OUT
EP7_IN
EP7_OUT
EP8_IN
EP8_OUT
EP9_IN
EP9_OUT
EP10_IN
EP10_OUT
EP11_IN
EP11_OUT
EP12_IN
EP12_OUT
EP13_IN
EP13_OUT
EP14_IN
EP14_OUT
EP15_IN
EP15_OUT

BUFF_STATUS_Register

type BUFF_STATUS_Register is record
   EP0_IN   : Boolean := False;
   EP0_OUT  : Boolean := False;
   EP1_IN   : Boolean := False;
   EP1_OUT  : Boolean := False;
   EP2_IN   : Boolean := False;
   EP2_OUT  : Boolean := False;
   EP3_IN   : Boolean := False;
   EP3_OUT  : Boolean := False;
   EP4_IN   : Boolean := False;
   EP4_OUT  : Boolean := False;
   EP5_IN   : Boolean := False;
   EP5_OUT  : Boolean := False;
   EP6_IN   : Boolean := False;
   EP6_OUT  : Boolean := False;
   EP7_IN   : Boolean := False;
   EP7_OUT  : Boolean := False;
   EP8_IN   : Boolean := False;
   EP8_OUT  : Boolean := False;
   EP9_IN   : Boolean := False;
   EP9_OUT  : Boolean := False;
   EP10_IN  : Boolean := False;
   EP10_OUT : Boolean := False;
   EP11_IN  : Boolean := False;
   EP11_OUT : Boolean := False;
   EP12_IN  : Boolean := False;
   EP12_OUT : Boolean := False;
   EP13_IN  : Boolean := False;
   EP13_OUT : Boolean := False;
   EP14_IN  : Boolean := False;
   EP14_OUT : Boolean := False;
   EP15_IN  : Boolean := False;
   EP15_OUT : Boolean := False;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
EP0_IN
EP0_OUT
EP1_IN
EP1_OUT
EP2_IN
EP2_OUT
EP3_IN
EP3_OUT
EP4_IN
EP4_OUT
EP5_IN
EP5_OUT
EP6_IN
EP6_OUT
EP7_IN
EP7_OUT
EP8_IN
EP8_OUT
EP9_IN
EP9_OUT
EP10_IN
EP10_OUT
EP11_IN
EP11_OUT
EP12_IN
EP12_OUT
EP13_IN
EP13_OUT
EP14_IN
EP14_OUT
EP15_IN
EP15_OUT

EP_ABORT_DONE_Register

type EP_ABORT_DONE_Register is record
   EP0_IN   : Boolean := False;
   EP0_OUT  : Boolean := False;
   EP1_IN   : Boolean := False;
   EP1_OUT  : Boolean := False;
   EP2_IN   : Boolean := False;
   EP2_OUT  : Boolean := False;
   EP3_IN   : Boolean := False;
   EP3_OUT  : Boolean := False;
   EP4_IN   : Boolean := False;
   EP4_OUT  : Boolean := False;
   EP5_IN   : Boolean := False;
   EP5_OUT  : Boolean := False;
   EP6_IN   : Boolean := False;
   EP6_OUT  : Boolean := False;
   EP7_IN   : Boolean := False;
   EP7_OUT  : Boolean := False;
   EP8_IN   : Boolean := False;
   EP8_OUT  : Boolean := False;
   EP9_IN   : Boolean := False;
   EP9_OUT  : Boolean := False;
   EP10_IN  : Boolean := False;
   EP10_OUT : Boolean := False;
   EP11_IN  : Boolean := False;
   EP11_OUT : Boolean := False;
   EP12_IN  : Boolean := False;
   EP12_OUT : Boolean := False;
   EP13_IN  : Boolean := False;
   EP13_OUT : Boolean := False;
   EP14_IN  : Boolean := False;
   EP14_OUT : Boolean := False;
   EP15_IN  : Boolean := False;
   EP15_OUT : Boolean := False;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
EP0_IN
EP0_OUT
EP1_IN
EP1_OUT
EP2_IN
EP2_OUT
EP3_IN
EP3_OUT
EP4_IN
EP4_OUT
EP5_IN
EP5_OUT
EP6_IN
EP6_OUT
EP7_IN
EP7_OUT
EP8_IN
EP8_OUT
EP9_IN
EP9_OUT
EP10_IN
EP10_OUT
EP11_IN
EP11_OUT
EP12_IN
EP12_OUT
EP13_IN
EP13_OUT
EP14_IN
EP14_OUT
EP15_IN
EP15_OUT

EP_ABORT_Register

type EP_ABORT_Register is record
   EP0_IN   : Boolean := False;
   EP0_OUT  : Boolean := False;
   EP1_IN   : Boolean := False;
   EP1_OUT  : Boolean := False;
   EP2_IN   : Boolean := False;
   EP2_OUT  : Boolean := False;
   EP3_IN   : Boolean := False;
   EP3_OUT  : Boolean := False;
   EP4_IN   : Boolean := False;
   EP4_OUT  : Boolean := False;
   EP5_IN   : Boolean := False;
   EP5_OUT  : Boolean := False;
   EP6_IN   : Boolean := False;
   EP6_OUT  : Boolean := False;
   EP7_IN   : Boolean := False;
   EP7_OUT  : Boolean := False;
   EP8_IN   : Boolean := False;
   EP8_OUT  : Boolean := False;
   EP9_IN   : Boolean := False;
   EP9_OUT  : Boolean := False;
   EP10_IN  : Boolean := False;
   EP10_OUT : Boolean := False;
   EP11_IN  : Boolean := False;
   EP11_OUT : Boolean := False;
   EP12_IN  : Boolean := False;
   EP12_OUT : Boolean := False;
   EP13_IN  : Boolean := False;
   EP13_OUT : Boolean := False;
   EP14_IN  : Boolean := False;
   EP14_OUT : Boolean := False;
   EP15_IN  : Boolean := False;
   EP15_OUT : Boolean := False;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
EP0_IN
EP0_OUT
EP1_IN
EP1_OUT
EP2_IN
EP2_OUT
EP3_IN
EP3_OUT
EP4_IN
EP4_OUT
EP5_IN
EP5_OUT
EP6_IN
EP6_OUT
EP7_IN
EP7_OUT
EP8_IN
EP8_OUT
EP9_IN
EP9_OUT
EP10_IN
EP10_OUT
EP11_IN
EP11_OUT
EP12_IN
EP12_OUT
EP13_IN
EP13_OUT
EP14_IN
EP14_OUT
EP15_IN
EP15_OUT

EP_STALL_ARM_Register

type EP_STALL_ARM_Register is record
   EP0_IN        : Boolean := False;
   EP0_OUT       : 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
EP0_IN
EP0_OUT
Reserved_2_31

EP_STATUS_STALL_NAK_Register

type EP_STATUS_STALL_NAK_Register is record
   EP0_IN   : Boolean := False;
   EP0_OUT  : Boolean := False;
   EP1_IN   : Boolean := False;
   EP1_OUT  : Boolean := False;
   EP2_IN   : Boolean := False;
   EP2_OUT  : Boolean := False;
   EP3_IN   : Boolean := False;
   EP3_OUT  : Boolean := False;
   EP4_IN   : Boolean := False;
   EP4_OUT  : Boolean := False;
   EP5_IN   : Boolean := False;
   EP5_OUT  : Boolean := False;
   EP6_IN   : Boolean := False;
   EP6_OUT  : Boolean := False;
   EP7_IN   : Boolean := False;
   EP7_OUT  : Boolean := False;
   EP8_IN   : Boolean := False;
   EP8_OUT  : Boolean := False;
   EP9_IN   : Boolean := False;
   EP9_OUT  : Boolean := False;
   EP10_IN  : Boolean := False;
   EP10_OUT : Boolean := False;
   EP11_IN  : Boolean := False;
   EP11_OUT : Boolean := False;
   EP12_IN  : Boolean := False;
   EP12_OUT : Boolean := False;
   EP13_IN  : Boolean := False;
   EP13_OUT : Boolean := False;
   EP14_IN  : Boolean := False;
   EP14_OUT : Boolean := False;
   EP15_IN  : Boolean := False;
   EP15_OUT : Boolean := False;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
EP0_IN
EP0_OUT
EP1_IN
EP1_OUT
EP2_IN
EP2_OUT
EP3_IN
EP3_OUT
EP4_IN
EP4_OUT
EP5_IN
EP5_OUT
EP6_IN
EP6_OUT
EP7_IN
EP7_OUT
EP8_IN
EP8_OUT
EP9_IN
EP9_OUT
EP10_IN
EP10_OUT
EP11_IN
EP11_OUT
EP12_IN
EP12_OUT
EP13_IN
EP13_OUT
EP14_IN
EP14_OUT
EP15_IN
EP15_OUT

INT_EP_CTRL_INT_EP_ACTIVE_Field

subtype INT_EP_CTRL_INT_EP_ACTIVE_Field is HAL.UInt15;

INT_EP_CTRL_Register

type INT_EP_CTRL_Register is record
   Reserved_0_0   : HAL.Bit := 16#0#;
   INT_EP_ACTIVE  : INT_EP_CTRL_INT_EP_ACTIVE_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
Reserved_0_0
INT_EP_ACTIVE
Reserved_16_31

INTE_Register

type INTE_Register is record
   HOST_CONN_DIS        : Boolean := False;
   HOST_RESUME          : Boolean := False;
   HOST_SOF             : Boolean := False;
   TRANS_COMPLETE       : Boolean := False;
   BUFF_STATUS          : Boolean := False;
   ERROR_DATA_SEQ       : Boolean := False;
   ERROR_RX_TIMEOUT     : Boolean := False;
   ERROR_RX_OVERFLOW    : Boolean := False;
   ERROR_BIT_STUFF      : Boolean := False;
   ERROR_CRC            : Boolean := False;
   STALL                : Boolean := False;
   VBUS_DETECT          : Boolean := False;
   BUS_RESET            : Boolean := False;
   DEV_CONN_DIS         : Boolean := False;
   DEV_SUSPEND          : Boolean := False;
   DEV_RESUME_FROM_HOST : Boolean := False;
   SETUP_REQ            : Boolean := False;
   DEV_SOF              : Boolean := False;
   ABORT_DONE           : Boolean := False;
   EP_STALL_NAK         : Boolean := False;
   Reserved_20_31       : HAL.UInt12 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
HOST_CONN_DIS
HOST_RESUME
HOST_SOF
TRANS_COMPLETE
BUFF_STATUS
ERROR_DATA_SEQ
ERROR_RX_TIMEOUT
ERROR_RX_OVERFLOW
ERROR_BIT_STUFF
ERROR_CRC
STALL
VBUS_DETECT
BUS_RESET
DEV_CONN_DIS
DEV_SUSPEND
DEV_RESUME_FROM_HOST
SETUP_REQ
DEV_SOF
ABORT_DONE
EP_STALL_NAK
Reserved_20_31

INTF_Register

type INTF_Register is record
   HOST_CONN_DIS        : Boolean := False;
   HOST_RESUME          : Boolean := False;
   HOST_SOF             : Boolean := False;
   TRANS_COMPLETE       : Boolean := False;
   BUFF_STATUS          : Boolean := False;
   ERROR_DATA_SEQ       : Boolean := False;
   ERROR_RX_TIMEOUT     : Boolean := False;
   ERROR_RX_OVERFLOW    : Boolean := False;
   ERROR_BIT_STUFF      : Boolean := False;
   ERROR_CRC            : Boolean := False;
   STALL                : Boolean := False;
   VBUS_DETECT          : Boolean := False;
   BUS_RESET            : Boolean := False;
   DEV_CONN_DIS         : Boolean := False;
   DEV_SUSPEND          : Boolean := False;
   DEV_RESUME_FROM_HOST : Boolean := False;
   SETUP_REQ            : Boolean := False;
   DEV_SOF              : Boolean := False;
   ABORT_DONE           : Boolean := False;
   EP_STALL_NAK         : Boolean := False;
   Reserved_20_31       : HAL.UInt12 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
HOST_CONN_DIS
HOST_RESUME
HOST_SOF
TRANS_COMPLETE
BUFF_STATUS
ERROR_DATA_SEQ
ERROR_RX_TIMEOUT
ERROR_RX_OVERFLOW
ERROR_BIT_STUFF
ERROR_CRC
STALL
VBUS_DETECT
BUS_RESET
DEV_CONN_DIS
DEV_SUSPEND
DEV_RESUME_FROM_HOST
SETUP_REQ
DEV_SOF
ABORT_DONE
EP_STALL_NAK
Reserved_20_31

INTR_Register

type INTR_Register is record
   HOST_CONN_DIS        : Boolean;
   HOST_RESUME          : Boolean;
   HOST_SOF             : Boolean;
   TRANS_COMPLETE       : Boolean;
   BUFF_STATUS          : Boolean;
   ERROR_DATA_SEQ       : Boolean;
   ERROR_RX_TIMEOUT     : Boolean;
   ERROR_RX_OVERFLOW    : Boolean;
   ERROR_BIT_STUFF      : Boolean;
   ERROR_CRC            : Boolean;
   STALL                : Boolean;
   VBUS_DETECT          : Boolean;
   BUS_RESET            : Boolean;
   DEV_CONN_DIS         : Boolean;
   DEV_SUSPEND          : Boolean;
   DEV_RESUME_FROM_HOST : Boolean;
   SETUP_REQ            : Boolean;
   DEV_SOF              : Boolean;
   ABORT_DONE           : Boolean;
   EP_STALL_NAK         : Boolean;
   Reserved_20_31       : HAL.UInt12;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
HOST_CONN_DIS
HOST_RESUME
HOST_SOF
TRANS_COMPLETE
BUFF_STATUS
ERROR_DATA_SEQ
ERROR_RX_TIMEOUT
ERROR_RX_OVERFLOW
ERROR_BIT_STUFF
ERROR_CRC
STALL
VBUS_DETECT
BUS_RESET
DEV_CONN_DIS
DEV_SUSPEND
DEV_RESUME_FROM_HOST
SETUP_REQ
DEV_SOF
ABORT_DONE
EP_STALL_NAK
Reserved_20_31

INTS_Register

type INTS_Register is record
   HOST_CONN_DIS        : Boolean;
   HOST_RESUME          : Boolean;
   HOST_SOF             : Boolean;
   TRANS_COMPLETE       : Boolean;
   BUFF_STATUS          : Boolean;
   ERROR_DATA_SEQ       : Boolean;
   ERROR_RX_TIMEOUT     : Boolean;
   ERROR_RX_OVERFLOW    : Boolean;
   ERROR_BIT_STUFF      : Boolean;
   ERROR_CRC            : Boolean;
   STALL                : Boolean;
   VBUS_DETECT          : Boolean;
   BUS_RESET            : Boolean;
   DEV_CONN_DIS         : Boolean;
   DEV_SUSPEND          : Boolean;
   DEV_RESUME_FROM_HOST : Boolean;
   SETUP_REQ            : Boolean;
   DEV_SOF              : Boolean;
   ABORT_DONE           : Boolean;
   EP_STALL_NAK         : Boolean;
   Reserved_20_31       : HAL.UInt12;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
HOST_CONN_DIS
HOST_RESUME
HOST_SOF
TRANS_COMPLETE
BUFF_STATUS
ERROR_DATA_SEQ
ERROR_RX_TIMEOUT
ERROR_RX_OVERFLOW
ERROR_BIT_STUFF
ERROR_CRC
STALL
VBUS_DETECT
BUS_RESET
DEV_CONN_DIS
DEV_SUSPEND
DEV_RESUME_FROM_HOST
SETUP_REQ
DEV_SOF
ABORT_DONE
EP_STALL_NAK
Reserved_20_31

MAIN_CTRL_Register

type MAIN_CTRL_Register is record
   CONTROLLER_EN : Boolean := False;
   HOST_NDEVICE  : Boolean := False;
   Reserved_2_30 : HAL.UInt29 := 16#0#;
   SIM_TIMING    : Boolean := False;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
CONTROLLER_EN
HOST_NDEVICE
Reserved_2_30
SIM_TIMING

NAK_POLL_DELAY_FS_Field

subtype NAK_POLL_DELAY_FS_Field is HAL.UInt10;

NAK_POLL_DELAY_LS_Field

subtype NAK_POLL_DELAY_LS_Field is HAL.UInt10;

NAK_POLL_Register

type NAK_POLL_Register is record
   DELAY_LS       : NAK_POLL_DELAY_LS_Field := 16#10#;
   Reserved_10_15 : HAL.UInt6 := 16#0#;
   DELAY_FS       : NAK_POLL_DELAY_FS_Field := 16#10#;
   Reserved_26_31 : HAL.UInt6 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
DELAY_LS
Reserved_10_15
DELAY_FS
Reserved_26_31

SIE_CTRL_Register

type SIE_CTRL_Register is record
   START_TRANS    : Boolean := False;
   SEND_SETUP     : Boolean := False;
   SEND_DATA      : Boolean := False;
   RECEIVE_DATA   : Boolean := False;
   STOP_TRANS     : Boolean := False;
   Reserved_5_5   : HAL.Bit := 16#0#;
   PREAMBLE_EN    : Boolean := False;
   Reserved_7_7   : HAL.Bit := 16#0#;
   SOF_SYNC       : Boolean := False;
   SOF_EN         : Boolean := False;
   KEEP_ALIVE_EN  : Boolean := False;
   VBUS_EN        : Boolean := False;
   RESUME         : Boolean := False;
   RESET_BUS      : Boolean := False;
   Reserved_14_14 : HAL.Bit := 16#0#;
   PULLDOWN_EN    : Boolean := False;
   PULLUP_EN      : Boolean := False;
   RPU_OPT        : Boolean := False;
   TRANSCEIVER_PD : Boolean := False;
   Reserved_19_23 : HAL.UInt5 := 16#0#;
   DIRECT_DM      : Boolean := False;
   DIRECT_DP      : Boolean := False;
   DIRECT_EN      : Boolean := False;
   EP0_INT_NAK    : Boolean := False;
   EP0_INT_2BUF   : Boolean := False;
   EP0_INT_1BUF   : Boolean := False;
   EP0_DOUBLE_BUF : Boolean := False;
   EP0_INT_STALL  : Boolean := False;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
START_TRANS
SEND_SETUP
SEND_DATA
RECEIVE_DATA
STOP_TRANS
Reserved_5_5
PREAMBLE_EN
Reserved_7_7
SOF_SYNC
SOF_EN
KEEP_ALIVE_EN
VBUS_EN
RESUME
RESET_BUS
Reserved_14_14
PULLDOWN_EN
PULLUP_EN
RPU_OPT
TRANSCEIVER_PD
Reserved_19_23
DIRECT_DM
DIRECT_DP
DIRECT_EN
EP0_INT_NAK
EP0_INT_2BUF
EP0_INT_1BUF
EP0_DOUBLE_BUF
EP0_INT_STALL

SIE_STATUS_LINE_STATE_Field

subtype SIE_STATUS_LINE_STATE_Field is HAL.UInt2;

SIE_STATUS_Register

type SIE_STATUS_Register is record
   VBUS_DETECTED   : Boolean := False;
   Reserved_1_1    : HAL.Bit := 16#0#;
   LINE_STATE      : SIE_STATUS_LINE_STATE_Field := 16#0#;
   SUSPENDED       : Boolean := False;
   Reserved_5_7    : HAL.UInt3 := 16#0#;
   SPEED           : SIE_STATUS_SPEED_Field := 16#0#;
   VBUS_OVER_CURR  : Boolean := False;
   RESUME          : Boolean := False;
   Reserved_12_15  : HAL.UInt4 := 16#0#;
   CONNECTED       : Boolean := False;
   SETUP_REC       : Boolean := False;
   TRANS_COMPLETE  : Boolean := False;
   BUS_RESET       : Boolean := False;
   Reserved_20_23  : HAL.UInt4 := 16#0#;
   CRC_ERROR       : Boolean := False;
   BIT_STUFF_ERROR : Boolean := False;
   RX_OVERFLOW     : Boolean := False;
   RX_TIMEOUT      : Boolean := False;
   NAK_REC         : Boolean := False;
   STALL_REC       : Boolean := False;
   ACK_REC         : Boolean := False;
   DATA_SEQ_ERROR  : Boolean := False;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
VBUS_DETECTED
Reserved_1_1
LINE_STATE
SUSPENDED
Reserved_5_7
SPEED
VBUS_OVER_CURR
RESUME
Reserved_12_15
CONNECTED
SETUP_REC
TRANS_COMPLETE
BUS_RESET
Reserved_20_23
CRC_ERROR
BIT_STUFF_ERROR
RX_OVERFLOW
RX_TIMEOUT
NAK_REC
STALL_REC
ACK_REC
DATA_SEQ_ERROR

SIE_STATUS_SPEED_Field

subtype SIE_STATUS_SPEED_Field is HAL.UInt2;

SOF_RD_COUNT_Field

subtype SOF_RD_COUNT_Field is HAL.UInt11;

SOF_RD_Register

type SOF_RD_Register is record
   COUNT          : SOF_RD_COUNT_Field;
   Reserved_11_31 : HAL.UInt21;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
COUNT
Reserved_11_31

SOF_WR_COUNT_Field

subtype SOF_WR_COUNT_Field is HAL.UInt11;

SOF_WR_Register

type SOF_WR_Register is record
   COUNT          : SOF_WR_COUNT_Field := 16#0#;
   Reserved_11_31 : HAL.UInt21 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
COUNT
Reserved_11_31

USB_MUXING_Register

type USB_MUXING_Register is record
   TO_PHY         : Boolean := False;
   TO_EXTPHY      : Boolean := False;
   TO_DIGITAL_PAD : Boolean := False;
   SOFTCON        : Boolean := False;
   Reserved_4_31  : HAL.UInt28 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
TO_PHY
TO_EXTPHY
TO_DIGITAL_PAD
SOFTCON
Reserved_4_31

USB_PWR_Register

type USB_PWR_Register is record
   VBUS_EN                 : Boolean := False;
   VBUS_EN_OVERRIDE_EN     : Boolean := False;
   VBUS_DETECT             : Boolean := False;
   VBUS_DETECT_OVERRIDE_EN : Boolean := False;
   OVERCURR_DETECT         : Boolean := False;
   OVERCURR_DETECT_EN      : 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
VBUS_EN
VBUS_EN_OVERRIDE_EN
VBUS_DETECT
VBUS_DETECT_OVERRIDE_EN
OVERCURR_DETECT
OVERCURR_DETECT_EN
Reserved_6_31

USBCTRL_REGS_Periph

USBCTRL_REGS_Periph : aliased USBCTRL_REGS_Peripheral
  with Import, Address => USBCTRL_REGS_Base;

USBCTRL_REGS_Peripheral

type USBCTRL_REGS_Peripheral is record
   ADDR_ENDP              : aliased ADDR_ENDP_Register;
   ADDR_ENDP1             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP2             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP3             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP4             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP5             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP6             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP7             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP8             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP9             : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP10            : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP11            : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP12            : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP13            : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP14            : aliased ADDR_ENDP_Register_1;
   ADDR_ENDP15            : aliased ADDR_ENDP_Register_1;
   MAIN_CTRL              : aliased MAIN_CTRL_Register;
   SOF_WR                 : aliased SOF_WR_Register;
   SOF_RD                 : aliased SOF_RD_Register;
   SIE_CTRL               : aliased SIE_CTRL_Register;
   SIE_STATUS             : aliased SIE_STATUS_Register;
   INT_EP_CTRL            : aliased INT_EP_CTRL_Register;
   BUFF_STATUS            : aliased BUFF_STATUS_Register;
   BUFF_CPU_SHOULD_HANDLE : aliased BUFF_CPU_SHOULD_HANDLE_Register;
   EP_ABORT               : aliased EP_ABORT_Register;
   EP_ABORT_DONE          : aliased EP_ABORT_DONE_Register;
   EP_STALL_ARM           : aliased EP_STALL_ARM_Register;
   NAK_POLL               : aliased NAK_POLL_Register;
   EP_STATUS_STALL_NAK    : aliased EP_STATUS_STALL_NAK_Register;
   USB_MUXING             : aliased USB_MUXING_Register;
   USB_PWR                : aliased USB_PWR_Register;
   USBPHY_DIRECT          : aliased USBPHY_DIRECT_Register;
   USBPHY_DIRECT_OVERRIDE : aliased USBPHY_DIRECT_OVERRIDE_Register;
   USBPHY_TRIM            : aliased USBPHY_TRIM_Register;
   INTR                   : aliased INTR_Register;
   INTE                   : aliased INTE_Register;
   INTF                   : aliased INTF_Register;
   INTS                   : aliased INTS_Register;
end record
  with Volatile;
Record fields
ADDR_ENDP
ADDR_ENDP1
ADDR_ENDP2
ADDR_ENDP3
ADDR_ENDP4
ADDR_ENDP5
ADDR_ENDP6
ADDR_ENDP7
ADDR_ENDP8
ADDR_ENDP9
ADDR_ENDP10
ADDR_ENDP11
ADDR_ENDP12
ADDR_ENDP13
ADDR_ENDP14
ADDR_ENDP15
MAIN_CTRL
SOF_WR
SOF_RD
SIE_CTRL
SIE_STATUS
INT_EP_CTRL
BUFF_STATUS
BUFF_CPU_SHOULD_HANDLE
EP_ABORT
EP_ABORT_DONE
EP_STALL_ARM
NAK_POLL
EP_STATUS_STALL_NAK
USB_MUXING
USB_PWR
USBPHY_DIRECT
USBPHY_DIRECT_OVERRIDE
USBPHY_TRIM
INTR
INTE
INTF
INTS

USBPHY_DIRECT_OVERRIDE_Register

type USBPHY_DIRECT_OVERRIDE_Register is record
   DP_PULLUP_HISEL_OVERRIDE_EN : Boolean := False;
   DM_PULLUP_HISEL_OVERRIDE_EN : Boolean := False;
   DP_PULLUP_EN_OVERRIDE_EN    : Boolean := False;
   DP_PULLDN_EN_OVERRIDE_EN    : Boolean := False;
   DM_PULLDN_EN_OVERRIDE_EN    : Boolean := False;
   TX_DP_OE_OVERRIDE_EN        : Boolean := False;
   TX_DM_OE_OVERRIDE_EN        : Boolean := False;
   TX_DP_OVERRIDE_EN           : Boolean := False;
   TX_DM_OVERRIDE_EN           : Boolean := False;
   RX_PD_OVERRIDE_EN           : Boolean := False;
   TX_PD_OVERRIDE_EN           : Boolean := False;
   TX_FSSLEW_OVERRIDE_EN       : Boolean := False;
   DM_PULLUP_OVERRIDE_EN       : Boolean := False;
   Reserved_13_14              : HAL.UInt2 := 16#0#;
   TX_DIFFMODE_OVERRIDE_EN     : Boolean := False;
   Reserved_16_31              : HAL.UInt16 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
DP_PULLUP_HISEL_OVERRIDE_EN
DM_PULLUP_HISEL_OVERRIDE_EN
DP_PULLUP_EN_OVERRIDE_EN
DP_PULLDN_EN_OVERRIDE_EN
DM_PULLDN_EN_OVERRIDE_EN
TX_DP_OE_OVERRIDE_EN
TX_DM_OE_OVERRIDE_EN
TX_DP_OVERRIDE_EN
TX_DM_OVERRIDE_EN
RX_PD_OVERRIDE_EN
TX_PD_OVERRIDE_EN
TX_FSSLEW_OVERRIDE_EN
DM_PULLUP_OVERRIDE_EN
Reserved_13_14
TX_DIFFMODE_OVERRIDE_EN
Reserved_16_31

USBPHY_DIRECT_Register

type USBPHY_DIRECT_Register is record
   DP_PULLUP_HISEL : Boolean := False;
   DP_PULLUP_EN    : Boolean := False;
   DP_PULLDN_EN    : Boolean := False;
   Reserved_3_3    : HAL.Bit := 16#0#;
   DM_PULLUP_HISEL : Boolean := False;
   DM_PULLUP_EN    : Boolean := False;
   DM_PULLDN_EN    : Boolean := False;
   Reserved_7_7    : HAL.Bit := 16#0#;
   TX_DP_OE        : Boolean := False;
   TX_DM_OE        : Boolean := False;
   TX_DP           : Boolean := False;
   TX_DM           : Boolean := False;
   RX_PD           : Boolean := False;
   TX_PD           : Boolean := False;
   TX_FSSLEW       : Boolean := False;
   TX_DIFFMODE     : Boolean := False;
   RX_DD           : Boolean := False;
   RX_DP           : Boolean := False;
   RX_DM           : Boolean := False;
   DP_OVCN         : Boolean := False;
   DM_OVCN         : Boolean := False;
   DP_OVV          : Boolean := False;
   DM_OVV          : Boolean := False;
   Reserved_23_31  : HAL.UInt9 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
DP_PULLUP_HISEL
DP_PULLUP_EN
DP_PULLDN_EN
Reserved_3_3
DM_PULLUP_HISEL
DM_PULLUP_EN
DM_PULLDN_EN
Reserved_7_7
TX_DP_OE
TX_DM_OE
TX_DP
TX_DM
RX_PD
TX_PD
TX_FSSLEW
TX_DIFFMODE
RX_DD
RX_DP
RX_DM
DP_OVCN
DM_OVCN
DP_OVV
DM_OVV
Reserved_23_31

USBPHY_TRIM_DM_PULLDN_TRIM_Field

subtype USBPHY_TRIM_DM_PULLDN_TRIM_Field is HAL.UInt5;

USBPHY_TRIM_DP_PULLDN_TRIM_Field

subtype USBPHY_TRIM_DP_PULLDN_TRIM_Field is HAL.UInt5;

USBPHY_TRIM_Register

type USBPHY_TRIM_Register is record
   DP_PULLDN_TRIM : USBPHY_TRIM_DP_PULLDN_TRIM_Field := 16#1F#;
   Reserved_5_7   : HAL.UInt3 := 16#0#;
   DM_PULLDN_TRIM : USBPHY_TRIM_DM_PULLDN_TRIM_Field := 16#1F#;
   Reserved_13_31 : HAL.UInt19 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
Record fields
DP_PULLDN_TRIM
Reserved_5_7
DM_PULLDN_TRIM
Reserved_13_31