diff --git a/cmsis-svd-generator b/cmsis-svd-generator
index 737e18d..9e41bc3 160000
--- a/cmsis-svd-generator
+++ b/cmsis-svd-generator
@@ -1 +1 @@
-Subproject commit 737e18da19d317e0a9674a6eb18e0b7bc69e0084
+Subproject commit 9e41bc37be1b6c44c59351b526455bd8908d03f1
diff --git a/jh7110-vf2-12a-pac/jh7110-starfive-visionfive-2-v1.2a.svd b/jh7110-vf2-12a-pac/jh7110-starfive-visionfive-2-v1.2a.svd
index 672e423..3faca6a 100644
--- a/jh7110-vf2-12a-pac/jh7110-starfive-visionfive-2-v1.2a.svd
+++ b/jh7110-vf2-12a-pac/jh7110-starfive-visionfive-2-v1.2a.svd
@@ -180,5555 +180,15467 @@
0x10000
registers
-
-
- snps_designware_i2c_1
- From snps,designware-i2c, peripheral generator
- 0x10040000
-
- 0
- 0x10000
- registers
-
-
-
- snps_designware_i2c_2
- From snps,designware-i2c, peripheral generator
- 0x10050000
-
- 0
- 0x10000
- registers
-
-
-
- arm_pl022_0
- From arm,pl022, peripheral generator
- 0x10060000
-
- 0
- 0x10000
- registers
-
-
-
- arm_primecell_0
- From arm,primecell, peripheral generator
- 0x10060000
-
- 0
- 0x10000
- registers
-
-
-
- rohm_dh2228fv_0
- From rohm,dh2228fv, peripheral generator
- 0x0
-
- 0
- 0x0
- registers
-
-
-
- arm_pl022_1
- From arm,pl022, peripheral generator
- 0x10070000
-
- 0
- 0x10000
- registers
-
-
-
- arm_primecell_1
- From arm,primecell, peripheral generator
- 0x10070000
-
- 0
- 0x10000
- registers
-
-
-
- arm_pl022_2
- From arm,pl022, peripheral generator
- 0x10080000
-
- 0
- 0x10000
- registers
-
-
-
- arm_primecell_2
- From arm,primecell, peripheral generator
- 0x10080000
-
- 0
- 0x10000
- registers
-
-
-
- starfive_jh7110_tdm_0
- From starfive,jh7110-tdm, peripheral generator
- 0x10090000
-
- 0
- 0x1000
- registers
-
-
-
- starfive_jh7110_usb_phy_0
- From starfive,jh7110-usb-phy, peripheral generator
- 0x10200000
-
- 0
- 0x10000
- registers
-
-
-
- starfive_jh7110_pcie_phy_0
- From starfive,jh7110-pcie-phy, peripheral generator
- 0x10210000
-
- 0
- 0x10000
- registers
-
-
-
- starfive_jh7110_pcie_phy_1
- From starfive,jh7110-pcie-phy, peripheral generator
- 0x10220000
-
- 0
- 0x10000
- registers
-
-
-
- starfive_jh7110_stgcrg_0
- From starfive,jh7110-stgcrg, peripheral generator
- 0x10230000
-
- 0
- 0x10000
- registers
-
- clk_hifi4_core
- Clock HIFI4 Core
+ con
+ DesignWare I2C CON
0x0
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ master
+ I2C Master Connection - 0: Slave, 1: Master
+ [0:0]
read-write
-
-
-
- clk_usb_apb
- Clock USB APB
- 0x4
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ speed
+ I2C Speed - 01: Standard, 10: Fast, 11: High
+ [2:1]
+ read-write
+
+
+ slave_10bitaddr
+ I2C Slave 10-bit Address - 0: False, 1: True
+ [3:3]
+ read-write
+
+
+ master_10bitaddr
+ I2C Master 10-bit Address - 0: False, 1: True
+ [4:4]
+ read-write
+
+
+ restart_en
+ I2C Restart Enable - 0: False, 1: True
+ [5:5]
+ read-write
+
+
+ slave_disable
+ I2C Slave Disable - 0: False, 1: True
+ [6:6]
+ read-write
+
+
+ stop_det_ifaddressed
+ I2C Stop DET If Addressed - 0: False, 1: True
+ [7:7]
+ read-write
+
+
+ tx_empty_ctrl
+ I2C TX Empty Control - 0: False, 1: True
+ [8:8]
+ read-write
+
+
+ rx_fifo_full_hld_ctrl
+ I2C RX FIFO Full Hold Control - 0: False, 1: True
+ [9:9]
+ read-write
+
+
+ bus_clear_ctrl
+ I2C Bus Clear Control - 0: False, 1: True
+ [11:11]
read-write
- clk_usb_utmi_apb
- Clock USB UTMI APB
- 0x8
+ tar
+ DesignWare I2C TAR
+ 0x4
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ tar
+ tar
+ [31:0]
read-write
- clk_usb_axi
- Clock USB AXI
- 0xc
+ sar
+ DesignWare I2C SAR
+ 0x8
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ sar
+ sar
+ [31:0]
read-write
- clk_usb_ipm
- Clock USB AXI
+ data_cmd
+ DesignWare I2C Data Command
0x10
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ dat
+ Data Command Data Byte
+ [7:0]
read-write
- clk_divcfg
- Clock divider coefficient: Max=2, Default=2, Min=2, Typical=2
- [23:0]
+ first_data_byte
+ Data Command First Data Byte - 0: False, 1: True
+ [11:11]
read-write
- clk_usb_stb
- Clock USB STB
+ ss_scl_hcnt
+ DesignWare I2C SS SCL HCNT
0x14
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
- read-write
-
-
- clk_divcfg
- Clock divider coefficient: Max=4, Default=4, Min=4, Typical=4
- [23:0]
+ ss_scl_hcnt
+ ss_scl_hcnt
+ [31:0]
read-write
- clk_usb_app125
- Clock USB APP 125
+ ss_scl_lcnt
+ DesignWare I2C SS SCL LCNT
0x18
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ ss_scl_lcnt
+ ss_scl_lcnt
+ [31:0]
read-write
- clk_usb_refclk
- Clock USB Reference Clock
+ fs_scl_hcnt
+ DesignWare I2C FS SCL HCNT
0x1c
32
- clk_divcfg
- Clock divider coefficient: Max=2, Default=2, Min=2, Typical=2
- [23:0]
+ fs_scl_hcnt
+ fs_scl_hcnt
+ [31:0]
read-write
- clk_u0_pcie_axi_mst0
- U0 Clock PCIe AXI MST 0
+ fs_scl_lcnt
+ DesignWare I2C FS SCL LCNT
0x20
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ fs_scl_lcnt
+ fs_scl_lcnt
+ [31:0]
read-write
- clk_u0_pcie_apb
- U0 Clock PCIe APB
+ hs_scl_hcnt
+ DesignWare I2C HS SCL HCNT
0x24
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ hs_scl_hcnt
+ hs_scl_hcnt
+ [31:0]
read-write
- clk_u0_pcie_tl
- U0 Clock PCIe TL
+ hs_scl_lcnt
+ DesignWare I2C HS SCL LCNT
0x28
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ hs_scl_lcnt
+ hs_scl_lcnt
+ [31:0]
read-write
- clk_u1_pcie_axi_mst0
- U1 Clock PCIe AXI MST 0
+ intr_stat
+ DesignWare I2C Interrupt Status
0x2c
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
- read-write
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
-
-
-
- clk_u1_pcie_apb
- U1 Clock PCIe APB
- 0x30
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
- read-write
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
-
-
-
- clk_u1_pcie_tl
- U1 Clock PCIe TL
- 0x34
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
- read-write
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
-
-
-
- clk_pcie01_slv_dec_main
- Clock PCIe 01 SLV DEC Main
- 0x38
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
- read-write
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
- clk_sec_hclk
- Clock Security HCLK
- 0x3c
+ intr_mask
+ DesignWare I2C Interrupt Mask
+ 0x30
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ rx_under
+ RX FIFO Underrun
+ [0:0]
read-write
-
-
-
- clk_sec_misc_ahb
- Clock Security Miscellaneous AHB
- 0x40
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ rx_over
+ RX FIFO Overrun
+ [1:1]
read-write
-
-
-
- clk_stg_mtrx_group0_main
- Clock STG MTRX Group 0 Main
- 0x44
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ rx_full
+ RX FIFO Full
+ [2:2]
read-write
-
-
-
- clk_stg_mtrx_group0_bus
- Clock STG MTRX Group 0 Bus
- 0x48
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ tx_over
+ TX FIFO Overrun
+ [3:3]
read-write
-
-
-
- clk_stg_mtrx_group0_stg
- Clock STG MTRX Group 0 STG
- 0x4c
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ tx_empty
+ TX FIFO Empty
+ [4:4]
read-write
-
-
-
- clk_stg_mtrx_group1_main
- Clock STG MTRX Group 1 Main
- 0x50
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ rd_req
+ Read Request
+ [5:5]
read-write
-
-
-
- clk_stg_mtrx_group1_bus
- Clock STG MTRX Group 1 Bus
- 0x54
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ tx_abrt
+ TX Abort
+ [6:6]
read-write
-
-
-
- clk_stg_mtrx_group1_stg
- Clock STG MTRX Group 1 STG
- 0x58
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ rx_done
+ RX Done
+ [7:7]
read-write
-
-
-
- clk_stg_mtrx_group1_hifi
- Clock STG MTRX Group 1 HIFI
- 0x5c
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ activity
+ Activity
+ [8:8]
read-write
-
-
-
- clk_e2_rtc
- Clock E2 RTC
- 0x60
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ stop_det
+ Stop DET
+ [9:9]
read-write
- clk_divcfg
- Clock divider coefficient: Max=24, Default=24, Min=24, Typical=24
- [23:0]
+ start_det
+ Start DET
+ [10:10]
read-write
-
-
-
- clk_e2_core
- Clock E2 Core
- 0x64
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ gen_call
+ General Call
+ [11:11]
read-write
-
-
-
- clk_e2_dbg
- Clock E2 DBG
- 0x68
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ restart_det
+ Restart DET
+ [12:12]
read-write
-
-
-
- clk_dma_axi
- Clock DMA AXI
- 0x6c
- 32
-
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
+ mst_on_hold
+ Master on Hold
+ [13:13]
read-write
- clk_dma_ahb
- Clock DMA AHB
- 0x70
+ raw_intr_stat
+ DesignWare I2C Raw Interrupt Status
+ 0x34
32
- clk_icg
- 1: Clock enable, 0: Clock disable
- [31:31]
- read-write
-
-
-
-
- soft_rst_addr_sel
- Software RESET Address Selector
- 0x74
- 32
-
-
- rstn_u0_stg_syscon_presetn
- 1: Assert reset, 0: De-assert reset
+ rx_under
+ RX FIFO Underrun
[0:0]
- read-write
+ read-only
- rst_u0_hifi4_rst_core
- 1: Assert reset, 0: De-assert reset
+ rx_over
+ RX FIFO Overrun
[1:1]
- read-write
+ read-only
- rst_u0_hifi4_rst_axi
- 1: Assert reset, 0: De-assert reset
+ rx_full
+ RX FIFO Full
[2:2]
- read-write
+ read-only
- rstn_u0_sec_top_hreesetn
- 1: Assert reset, 0: De-assert reset
+ tx_over
+ TX FIFO Overrun
[3:3]
- read-write
+ read-only
- rst_u0_e2_sft7110_rst_core
- 1: Assert reset, 0: De-assert reset
+ tx_empty
+ TX FIFO Empty
[4:4]
- read-write
+ read-only
- rstn_u0_dma1p_8ch_56hs_rstn_axi
- 1: Assert reset, 0: De-assert reset
+ rd_req
+ Read Request
[5:5]
- read-write
+ read-only
- rstn_u0_dma1p_8ch_56hs_rstn_ahb
- 1: Assert reset, 0: De-assert reset
+ tx_abrt
+ TX Abort
[6:6]
- read-write
+ read-only
- rstn_u0_cdn_usb_rstn_axi
- 1: Assert reset, 0: De-assert reset
+ rx_done
+ RX Done
[7:7]
- read-write
+ read-only
- rstn_u0_cdn_usb_rstn_usb_apb
- 1: Assert reset, 0: De-assert reset
+ activity
+ Activity
[8:8]
- read-write
+ read-only
- rstn_u0_cdn_usb_rstn_utmi_apb
- 1: Assert reset, 0: De-assert reset
+ stop_det
+ Stop DET
[9:9]
- read-write
+ read-only
- rstn_u0_cdn_usb_rstn_pwrup
- 1: Assert reset, 0: De-assert reset
+ start_det
+ Start DET
[10:10]
- read-write
+ read-only
- rstn_u0_plda_pcie_rstn_axi_mst0
- 1: Assert reset, 0: De-assert reset
+ gen_call
+ General Call
[11:11]
- read-write
+ read-only
- rstn_u0_plda_pcie_rstn_axi_slv0
- 1: Assert reset, 0: De-assert reset
+ restart_det
+ Restart DET
[12:12]
- read-write
+ read-only
- rstn_u0_plda_pcie_rstn_axi_slv
- 1: Assert reset, 0: De-assert reset
+ mst_on_hold
+ Master on Hold
[13:13]
- read-write
-
-
- rstn_u0_plda_pci_rstn_brg
- 1: Assert reset, 0: De-assert reset
- [14:14]
- read-write
-
-
- rstn_u0_plda_pcie_rstn_pcie
- 1: Assert reset, 0: De-assert reset
- [15:15]
- read-write
-
-
- rstn_u0_plda_pcie_rstn_apb
- 1: Assert reset, 0: De-assert reset
- [16:16]
- read-write
-
-
- rstn_u1_plda_pcie_rstn_axi_mst0
- 1: Assert reset, 0: De-assert reset
- [17:17]
- read-write
-
-
- rstn_u1_plda_pcie_rstn_axi_slv0
- 1: Assert reset, 0: De-assert reset
- [18:18]
- read-write
-
-
- rstn_u1_plda_pcie_rstn_axi_slv
- 1: Assert reset, 0: De-assert reset
- [19:19]
- read-write
-
-
- rstn_u1_plda_pcie_rstn_brg
- 1: Assert reset, 0: De-assert reset
- [20:20]
- read-write
+ read-only
+
+
+
+ rx_tl
+ DesignWare I2C RX TL
+ 0x38
+ 32
+
- rstn_u1_plda_pcie_rstn_pcie
- 1: Assert reset, 0: De-assert reset
- [21:21]
+ rx_tl
+ rx_tl
+ [31:0]
read-write
+
+
+
+ tx_tl
+ DesignWare I2C TX TL
+ 0x3c
+ 32
+
- rstn_u1_plda_pcie_rstn_apb
- 1: Assert reset, 0: De-assert reset
- [22:22]
+ tx_tl
+ tx_tl
+ [31:0]
read-write
- stgcrg_rst_stat
- STGCRG RESET Status
- 0x78
+ clr_intr
+ DesignWare I2C Clear Interrrupt
+ 0x40
32
- rstn_u0_stg_syscon_presetn
- 1: Assert reset, 0: De-assert reset
+ rx_under
+ RX FIFO Underrun
[0:0]
read-write
- rst_u0_hifi4_rst_core
- 1: Assert reset, 0: De-assert reset
+ rx_over
+ RX FIFO Overrun
[1:1]
read-write
- rst_u0_hifi4_rst_axi
- 1: Assert reset, 0: De-assert reset
+ rx_full
+ RX FIFO Full
[2:2]
read-write
- rstn_u0_sec_top_hreesetn
- 1: Assert reset, 0: De-assert reset
+ tx_over
+ TX FIFO Overrun
[3:3]
read-write
- rst_u0_e2_sft7110_rst_core
- 1: Assert reset, 0: De-assert reset
+ tx_empty
+ TX FIFO Empty
[4:4]
read-write
- rstn_u0_dma1p_8ch_56hs_rstn_axi
- 1: Assert reset, 0: De-assert reset
+ rd_req
+ Read Request
[5:5]
read-write
- rstn_u0_dma1p_8ch_56hs_rstn_ahb
- 1: Assert reset, 0: De-assert reset
+ tx_abrt
+ TX Abort
[6:6]
read-write
- rstn_u0_cdn_usb_rstn_axi
- 1: Assert reset, 0: De-assert reset
+ rx_done
+ RX Done
[7:7]
read-write
- rstn_u0_cdn_usb_rstn_usb_apb
- 1: Assert reset, 0: De-assert reset
+ activity
+ Activity
[8:8]
read-write
- rstn_u0_cdn_usb_rstn_utmi_apb
- 1: Assert reset, 0: De-assert reset
+ stop_det
+ Stop DET
[9:9]
read-write
- rstn_u0_cdn_usb_rstn_pwrup
- 1: Assert reset, 0: De-assert reset
+ start_det
+ Start DET
[10:10]
read-write
- rstn_u0_plda_pcie_rstn_axi_mst0
- 1: Assert reset, 0: De-assert reset
+ gen_call
+ General Call
[11:11]
read-write
- rstn_u0_plda_pcie_rstn_axi_slv0
- 1: Assert reset, 0: De-assert reset
+ restart_det
+ Restart DET
[12:12]
read-write
- rstn_u0_plda_pcie_rstn_axi_slv
- 1: Assert reset, 0: De-assert reset
+ mst_on_hold
+ Master on Hold
[13:13]
read-write
+
+
+
+ clr_rx_under
+ DesignWare I2C Clear RX Underrun
+ 0x44
+ 32
+
- rstn_u0_plda_pci_rstn_brg
- 1: Assert reset, 0: De-assert reset
- [14:14]
+ clr_rx_under
+ clr_rx_under
+ [31:0]
read-write
+
+
+
+ clr_rx_over
+ DesignWare I2C Clear RX Overrun
+ 0x48
+ 32
+
- rstn_u0_plda_pcie_rstn_pcie
- 1: Assert reset, 0: De-assert reset
- [15:15]
+ clr_rx_over
+ clr_rx_over
+ [31:0]
read-write
+
+
+
+ clr_tx_over
+ DesignWare I2C Clear TX Overrun
+ 0x4c
+ 32
+
- rstn_u0_plda_pcie_rstn_apb
- 1: Assert reset, 0: De-assert reset
- [16:16]
+ clr_tx_over
+ clr_tx_over
+ [31:0]
read-write
+
+
+
+ clr_rd_req
+ DesignWare I2C Clear Read Request
+ 0x50
+ 32
+
- rstn_u1_plda_pcie_rstn_axi_mst0
- 1: Assert reset, 0: De-assert reset
- [17:17]
+ clr_rd_req
+ clr_rd_req
+ [31:0]
read-write
+
+
+
+ clr_tx_abrt
+ DesignWare I2C Clear TX Abort
+ 0x54
+ 32
+
- rstn_u1_plda_pcie_rstn_axi_slv0
- 1: Assert reset, 0: De-assert reset
- [18:18]
+ clr_tx_abrt
+ clr_tx_abrt
+ [31:0]
read-write
+
+
+
+ clr_rx_done
+ DesignWare I2C Clear RX Done
+ 0x58
+ 32
+
- rstn_u1_plda_pcie_rstn_axi_slv
- 1: Assert reset, 0: De-assert reset
- [19:19]
+ clr_rx_done
+ clr_rx_done
+ [31:0]
read-write
+
+
+
+ clr_activity
+ DesignWare I2C Clear Activity
+ 0x5c
+ 32
+
- rstn_u1_plda_pcie_rstn_brg
- 1: Assert reset, 0: De-assert reset
- [20:20]
+ clr_activity
+ clr_activity
+ [31:0]
read-write
+
+
+
+ clr_stop_det
+ DesignWare I2C Clear Stop DET
+ 0x60
+ 32
+
- rstn_u1_plda_pcie_rstn_pcie
- 1: Assert reset, 0: De-assert reset
- [21:21]
+ clr_stop_det
+ clr_stop_det
+ [31:0]
read-write
+
+
+
+ clr_start_det
+ DesignWare I2C Clear Start DET
+ 0x64
+ 32
+
- rstn_u1_plda_pcie_rstn_apb
- 1: Assert reset, 0: De-assert reset
- [22:22]
+ clr_start_det
+ clr_start_det
+ [31:0]
read-write
-
-
-
- starfive_jh7110_stg_syscon_0
- From starfive,jh7110-stg-syscon, peripheral generator
- 0x10240000
-
- 0
- 0x1000
- registers
-
-
- stg_sysconsaif_syscfg0
- STG SYSCONSAIF SYSCFG 0
- 0x0
+ clr_gen_call
+ DesignWare I2C Clear General Call
+ 0x68
32
- scfg_hprot_sd0
- scfg_hprot_sd0
- [3:0]
- read-write
-
-
- scfg_hprot_sd1
- scfg_hprot_sd1
- [7:4]
+ clr_gen_call
+ clr_gen_call
+ [31:0]
read-write
+
+
+
+ enable
+ DesignWare I2C Enable
+ 0x6c
+ 32
+
- u0_cdn_usb_adp_en
- u0_cdn_usb_adp_en
- [8:8]
- read-only
-
-
- u0_cdn_usb_adp_probe_ana
- u0_cdn_usb_adp_probe_ana
- [9:9]
+ abort
+ abort
+ [1:1]
read-write
+
+
+
+ status
+ DesignWare I2C Status
+ 0x70
+ 32
+
- u0_cdn_usb_adp_probe_en
- u0_cdn_usb_adp_probe_en
- [10:10]
+ activity
+ activity
+ [0:0]
read-only
- u0_cdn_usb_adp_sense_ana
- u0_cdn_usb_adp_sense_ana
- [11:11]
- read-write
-
-
- u0_cdn_usb_adp_sense_en
- u0_cdn_usb_adp_sense_en
- [12:12]
+ tfe
+ tfe
+ [2:2]
read-only
- u0_cdn_usb_adp_sink_current_en
- u0_cdn_usb_adp_sink_current_en
- [13:13]
+ rfne
+ rfne
+ [3:3]
read-only
- u0_cdn_usb_adp_source_current_en
- u0_cdn_usb_adp_source_current_en
- [14:14]
+ master_activity
+ master_activity
+ [5:5]
read-only
- u0_cdn_usb_bc_en
- u0_cdn_usb_bc_en
- [15:15]
+ slave_activity
+ slave_activity
+ [6:6]
read-only
+
+
+
+ txflr
+ DesignWare I2C TX Failure
+ 0x74
+ 32
+
- u0_cdn_usb_chrg_vbus
- u0_cdn_usb_chrg_vbus
- [16:16]
+ txflr
+ txflr
+ [31:0]
read-write
+
+
+
+ rxflr
+ DesignWare I2C RX Failure
+ 0x78
+ 32
+
- u0_cdn_usb_dcd_comp_sts
- u0_cdn_usb_dcd_comp_sts
- [17:17]
+ rxflr
+ rxflr
+ [31:0]
read-write
+
+
+
+ sda_hold
+ DesignWare I2C SDA Hold
+ 0x7c
+ 32
+
- u0_cdn_usb_dischrg_vbus
- u0_cdn_usb_dischrg_vbus
- [18:18]
+ sda_hold
+ sda_hold
+ [31:0]
read-write
+
+
+
+ tx_abrt_source
+ DesignWare I2C TX Abort Source
+ 0x80
+ 32
+
- u0_cdn_usb_dm_vdat_ref_comp_en
- u0_cdn_usb_dm_vdat_ref_comp_en
- [19:19]
+ b7_addr_noack
+ b7_addr_noack
+ [0:0]
read-only
- u0_cdn_usb_dm_vdat_ref_comp_sts
- u0_cdn_usb_dm_vdat_ref_comp_sts
- [20:20]
- read-write
-
-
- u0_cdn_usb_dm_vlgc_comp_en
- u0_cdn_usb_dm_vlgc_comp_en
- [21:21]
+ b10_addr1_noack
+ b10_addr1_noack
+ [1:1]
read-only
- u0_cdn_usb_dm_vlgc_comp_sts
- u0_cdn_usb_dm_vlgc_comp_sts
- [22:22]
- read-write
-
-
- u0_cdn_usb_dp_vdat_ref_comp_en
- u0_cdn_usb_dp_vdat_ref_comp_en
- [23:23]
+ b10_addr2_noack
+ b10_addr2_noack
+ [2:2]
read-only
- u0_cdn_usb_dp_vdat_ref_comp_sts
- u0_cdn_usb_dp_vdat_ref_comp_sts
- [24:24]
- read-write
+ txdata_noack
+ txdata_noack
+ [3:3]
+ read-only
- u0_cdn_usb_host_system_err
- u0_cdn_usb_host_system_err
- [25:25]
- read-write
+ gcall_noack
+ gcall_noack
+ [4:4]
+ read-only
- u0_cdn_usb_hsystem_err_ext
- u0_cdn_usb_hsystem_err_ext
- [26:26]
+ gcall_read
+ gcall_read
+ [5:5]
read-only
- u0_cdn_usb_idm_sink_en
- u0_cdn_usb_idm_sink_en
- [27:27]
+ sbyte_ackdet
+ sbyte_ackdet
+ [7:7]
read-only
- u0_cdn_usb_idp_sink_en
- u0_cdn_usb_idp_sink_en
- [28:28]
+ sbyte_norstrt
+ sbyte_norstrt
+ [9:9]
read-only
- u0_cdn_usb_idp_src_en
- u0_cdn_usb_idp_src_en
- [29:29]
+ b10_rd_norstrt
+ b10_rd_norstrt
+ [10:10]
read-only
-
-
-
- stg_sysconsaif_syscfg4
- STG SYSCONSAIF SYSCFG 4
- 0x4
- 32
-
- u0_cdn_usb_lowest_belt
- LTM interface to software
- [11:0]
+ master_dis
+ master_dis
+ [11:11]
read-only
- u0_cdn_usb_ltm_host_req
- LTM interface to software
+ arb_lost
+ arb_lost
[12:12]
read-only
- u0_cdn_usb_ltm_host_req_halt
- LTM interface to software
+ slave_flush_txfifo
+ slave_flush_txfifo
[13:13]
- read-write
+ read-only
- u0_cdn_usb_mdctrl_clk_sel
- u0_cdn_usb_mdctrl_clk_sel
+ slave_arblost
+ slave_arblost
[14:14]
- read-write
+ read-only
- u0_cdn_usb_mdctrl_clk_status
- u0_cdn_usb_mdctrl_clk_status
+ slave_rd_intx
+ slave_rd_intx
[15:15]
read-only
+
+
+
+ enable_status
+ DesignWare I2C Enable Status
+ 0x9c
+ 32
+
- u0_cdn_usb_mode_strap
- Can onlly be changed when pwrup_rst_n is low
- [18:16]
+ activity
+ activity
+ [0:0]
read-write
- u0_cdn_usb_otg_suspendm
- u0_cdn_usb_otg_suspendm
- [19:19]
+ tfe
+ tfe
+ [2:2]
read-write
- u0_cdn_usb_otg_suspendm_byps
- u0_cdn_usb_otg_suspendm_byps
- [20:20]
+ rfne
+ rfne
+ [3:3]
read-write
- u0_cdn_usb_phy_bvalid
- u0_cdn_usb_phy_bvalid
- [21:21]
- read-only
-
-
- u0_cdn_usb_pll_en
- u0_cdn_usb_pll_en
- [22:22]
+ master_activity
+ master_activity
+ [5:5]
read-write
- u0_cdn_usb_refclk_mode
- u0_cdn_usb_refclk_mode
- [23:23]
+ slave_activity
+ slave_activity
+ [6:6]
read-write
+
+
+
+ clr_restart_det
+ DesignWare I2C Clear Restart DET
+ 0xa8
+ 32
+
- u0_cdn_usb_rid_a_comp_sts
- u0_cdn_usb_rid_a_comp_sts
- [24:24]
+ clr_restart_det
+ clr_restart_det
+ [31:0]
read-write
+
+
+
+ comp_param_1
+ DesignWare I2C Compatibility Parameter 1
+ 0xf4
+ 32
+
- u0_cdn_usb_rid_b_comp_sts
- u0_cdn_usb_rid_b_comp_sts
- [25:25]
- read-write
+ speed
+ Speed mask - 01: Standard, 10: Full, 11: High
+ [3:2]
+ read-only
+
+
+
+ comp_version
+ DesignWare I2C Compatibility Version
+ 0xf8
+ 32
+
- u0_cdn_usb_rid_c_comp_sts
- u0_cdn_usb_rid_c_comp_sts
- [26:26]
- read-write
+ comp_version
+ comp_version
+ [31:0]
+ read-only
+
+
+
+ comp_type
+ DesignWare I2C Compatibility Type
+ 0xfc
+ 32
+
- u0_cdn_usb_rid_float_comp_en
- u0_cdn_usb_rid_float_comp_en
- [27:27]
+ comp_type
+ comp_type
+ [31:0]
read-only
+
+
+
+
+
+ snps_designware_i2c_1
+ From snps,designware-i2c, peripheral generator
+ 0x10040000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ con
+ DesignWare I2C CON
+ 0x0
+ 32
+
- u0_cdn_usb_rid_float_comp_sts
- u0_cdn_usb_rid_float_comp_sts
- [28:28]
+ master
+ I2C Master Connection - 0: Slave, 1: Master
+ [0:0]
read-write
- u0_cdn_usb_rid_gnd_comp_sts
- u0_cdn_usb_rid_gnd_comp_sts
- [29:29]
+ speed
+ I2C Speed - 01: Standard, 10: Fast, 11: High
+ [2:1]
read-write
- u0_cdn_usb_rid_nonfloat_comp_en
- u0_cdn_usb_rid_nonfloat_comp_en
- [30:30]
- read-only
+ slave_10bitaddr
+ I2C Slave 10-bit Address - 0: False, 1: True
+ [3:3]
+ read-write
- u0_cdn_usb_rx_dm
- u0_cdn_usb_rx_dm
- [31:31]
- read-only
+ master_10bitaddr
+ I2C Master 10-bit Address - 0: False, 1: True
+ [4:4]
+ read-write
+
+
+ restart_en
+ I2C Restart Enable - 0: False, 1: True
+ [5:5]
+ read-write
+
+
+ slave_disable
+ I2C Slave Disable - 0: False, 1: True
+ [6:6]
+ read-write
+
+
+ stop_det_ifaddressed
+ I2C Stop DET If Addressed - 0: False, 1: True
+ [7:7]
+ read-write
+
+
+ tx_empty_ctrl
+ I2C TX Empty Control - 0: False, 1: True
+ [8:8]
+ read-write
+
+
+ rx_fifo_full_hld_ctrl
+ I2C RX FIFO Full Hold Control - 0: False, 1: True
+ [9:9]
+ read-write
+
+
+ bus_clear_ctrl
+ I2C Bus Clear Control - 0: False, 1: True
+ [11:11]
+ read-write
- stg_sysconsaif_syscfg8
- STG SYSCONSAIF SYSCFG 8
+ tar
+ DesignWare I2C TAR
+ 0x4
+ 32
+
+
+ tar
+ tar
+ [31:0]
+ read-write
+
+
+
+
+ sar
+ DesignWare I2C SAR
0x8
32
- u0_cdn_usb_rx_dp
- u0_cdn_usb_rx_dp
+ sar
+ sar
+ [31:0]
+ read-write
+
+
+
+
+ data_cmd
+ DesignWare I2C Data Command
+ 0x10
+ 32
+
+
+ dat
+ Data Command Data Byte
+ [7:0]
+ read-write
+
+
+ first_data_byte
+ Data Command First Data Byte - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ ss_scl_hcnt
+ DesignWare I2C SS SCL HCNT
+ 0x14
+ 32
+
+
+ ss_scl_hcnt
+ ss_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ ss_scl_lcnt
+ DesignWare I2C SS SCL LCNT
+ 0x18
+ 32
+
+
+ ss_scl_lcnt
+ ss_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_hcnt
+ DesignWare I2C FS SCL HCNT
+ 0x1c
+ 32
+
+
+ fs_scl_hcnt
+ fs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_lcnt
+ DesignWare I2C FS SCL LCNT
+ 0x20
+ 32
+
+
+ fs_scl_lcnt
+ fs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_hcnt
+ DesignWare I2C HS SCL HCNT
+ 0x24
+ 32
+
+
+ hs_scl_hcnt
+ hs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_lcnt
+ DesignWare I2C HS SCL LCNT
+ 0x28
+ 32
+
+
+ hs_scl_lcnt
+ hs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ intr_stat
+ DesignWare I2C Interrupt Status
+ 0x2c
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
[0:0]
read-only
- u0_cdn_usb_rx_rcv
- u0_cdn_usb_rx_rcv
+ rx_over
+ RX FIFO Overrun
[1:1]
read-only
- u0_cdn_usb_self_test
- For software bist_test
+ rx_full
+ RX FIFO Full
[2:2]
- read-write
+ read-only
- u0_cdn_usb_sessend
- u0_cdn_usb_sessend
+ tx_over
+ TX FIFO Overrun
[3:3]
read-only
- u0_cdn_usb_sessvalid
- u0_cdn_usb_sessvalid
+ tx_empty
+ TX FIFO Empty
[4:4]
read-only
- u0_cdn_usb_sof
- u0_cdn_usb_sof
+ rd_req
+ Read Request
[5:5]
read-only
- u0_cdn_usb_test_bist
- For software bist_test
+ tx_abrt
+ TX Abort
[6:6]
read-only
- u0_cdn_usb_usbdev_main_power_off_ack
- u0_cdn_usb_usbdev_main_power_off_ack
+ rx_done
+ RX Done
[7:7]
read-only
- u0_cdn_usb_usbdev_main_power_off_ready
- u0_cdn_usb_usbdev_main_power_off_ready
+ activity
+ Activity
[8:8]
read-only
- u0_cdn_usb_usbdev_main_power_off_req
- u0_cdn_usb_usbdev_main_power_off_req
+ stop_det
+ Stop DET
[9:9]
- read-write
+ read-only
- u0_cdn_usb_usbdev_main_power_on_ready
- u0_cdn_usb_usbdev_main_power_on_ready
+ start_det
+ Start DET
[10:10]
read-only
- u0_cdn_usb_usbdev_main_power_on_req
- u0_cdn_usb_usbdev_main_power_on_req
+ gen_call
+ General Call
[11:11]
read-only
- u0_cdn_usb_usbdev_main_power_on_valid
- u0_cdn_usb_usbdev_main_power_on_valid
+ restart_det
+ Restart DET
[12:12]
- read-write
+ read-only
- u0_cdn_usb_usbdev_power_off_ack
- u0_cdn_usb_usbdev_power_off_ack
+ mst_on_hold
+ Master on Hold
[13:13]
read-only
+
+
+
+ intr_mask
+ DesignWare I2C Interrupt Mask
+ 0x30
+ 32
+
- u0_cdn_usb_usbdev_power_off_ready
- u0_cdn_usb_usbdev_power_off_ready
- [14:14]
- read-only
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
- u0_cdn_usb_usbdev_power_off_req
- u0_cdn_usb_usbdev_power_off_req
- [15:15]
+ rx_over
+ RX FIFO Overrun
+ [1:1]
read-write
- u0_cdn_usb_usbdev_power_on_ready
- u0_cdn_usb_usbdev_power_on_ready
- [16:16]
- read-only
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
- u0_cdn_usb_usbdev_power_on_req
- u0_cdn_usb_usbdev_power_on_req
- [17:17]
- read-only
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
- u0_cdn_usb_usbdev_power_on_valid
- u0_cdn_usb_usbdev_power_on_valid
- [18:18]
+ tx_empty
+ TX FIFO Empty
+ [4:4]
read-write
- u0_cdn_usb_utmi_dmpulldown_sit
- u0_cdn_usb_utmi_dmpulldown_sit
- [19:19]
+ rd_req
+ Read Request
+ [5:5]
read-write
- u0_cdn_usb_utmi_dppulldown_sit
- u0_cdn_usb_utmi_dppulldown_sit
- [20:20]
+ tx_abrt
+ TX Abort
+ [6:6]
read-write
- u0_cdn_usb_utmi_fslsserialmode_sit
- u0_cdn_usb_utmi_fslsserialmode_sit
- [21:21]
+ rx_done
+ RX Done
+ [7:7]
read-write
- u0_cdn_usb_utmi_hostdisconnect_sit
- u0_cdn_usb_utmi_hostdisconnect_sit
- [22:22]
- read-only
+ activity
+ Activity
+ [8:8]
+ read-write
- u0_cdn_usb_utmi_iddig_sit
- u0_cdn_usb_utmi_iddig_sit
- [23:23]
- read-only
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
- u0_cdn_usb_utmi_idpullup_sit
- u0_cdn_usb_utmi_idpullup_sit
- [24:24]
+ start_det
+ Start DET
+ [10:10]
read-write
- u0_cdn_usb_utmi_linestate_sit
- u0_cdn_usb_utmi_linestate_sit
- [26:25]
- read-only
-
-
- u0_cdn_usb_utmi_opmode_sit
- u0_cdn_usb_utmi_opmode_sit
- [28:27]
+ gen_call
+ General Call
+ [11:11]
read-write
- u0_cdn_usb_utmi_rxactive_sit
- u0_cdn_usb_utmi_rxactive_sit
- [29:29]
- read-only
-
-
- u0_cdn_usb_utmi_rxerror_sit
- u0_cdn_usb_utmi_rxerror_sit
- [30:30]
- read-only
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
- u0_cdn_usb_utmi_rxvalid_sit
- u0_cdn_usb_utmi_rxvalid_sit
- [31:31]
- read-only
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
- stg_sysconsaif_syscfg12
- STG SYSCONSAIF SYSCFG 12
- 0xc
+ raw_intr_stat
+ DesignWare I2C Raw Interrupt Status
+ 0x34
32
- u0_cdn_usb_utmi_rxvalidh_sit
- u0_cdn_usb_utmi_rxvalidh_sit
+ rx_under
+ RX FIFO Underrun
[0:0]
read-only
- u0_cdn_usb_utmi_sessvld
- u0_cdn_usb_utmi_sessvld
+ rx_over
+ RX FIFO Overrun
[1:1]
- read-write
+ read-only
- u0_cdn_usb_utmi_termselect_sit
- u0_cdn_usb_utmi_termselect_sit
+ rx_full
+ RX FIFO Full
[2:2]
- read-write
+ read-only
- u0_cdn_usb_utmi_tx_dat_sit
- u0_cdn_usb_utmi_tx_dat_sit
+ tx_over
+ TX FIFO Overrun
[3:3]
- read-write
+ read-only
- u0_cdn_usb_utmi_tx_enable_n_sit
- u0_cdn_usb_utmi_tx_enable_n_sit
+ tx_empty
+ TX FIFO Empty
[4:4]
- read-write
+ read-only
- u0_cdn_usb_utmi_tx_se0_sit
- u0_cdn_usb_utmi_tx_se0_sit
+ rd_req
+ Read Request
[5:5]
- read-write
+ read-only
- u0_cdn_usb_utmi_txbitstuffenable_sit
- u0_cdn_usb_utmi_txbitstuffenable_sit
+ tx_abrt
+ TX Abort
[6:6]
- read-write
+ read-only
- u0_cdn_usb_utmi_txready_sit
- u0_cdn_usb_utmi_txready_sit
+ rx_done
+ RX Done
[7:7]
read-only
- u0_cdn_usb_utmi_txvalid_sit
- u0_cdn_usb_utmi_txvalid_sit
+ activity
+ Activity
[8:8]
- read-write
+ read-only
- u0_cdn_usb_utmi_txvalidh_sit
- u0_cdn_usb_utmi_txvalidh_sit
+ stop_det
+ Stop DET
[9:9]
- read-write
+ read-only
- u0_cdn_usb_utmi_vbusvalid_sit
- u0_cdn_usb_utmi_vbusvalid_sit
+ start_det
+ Start DET
[10:10]
read-only
- u0_cdn_usb_utmi_xcvrselect_sit
- u0_cdn_usb_utmi_xcvrselect_sit
- [12:11]
- read-write
-
-
- u0_cdn_usb_utmi_vdm_src_en
- u0_cdn_usb_utmi_vdm_src_en
- [13:13]
+ gen_call
+ General Call
+ [11:11]
read-only
- u0_cdn_usb_utmi_vdp_src_en
- u0_cdn_usb_utmi_vdp_src_en
- [14:14]
+ restart_det
+ Restart DET
+ [12:12]
read-only
- u0_cdn_usb_wakeup
- u0_cdn_usb_wakeup
- [15:15]
- read-write
-
-
- u0_cdn_usb_xhc_d0_ack
- u0_cdn_usb_xhc_d0_ack
- [16:16]
+ mst_on_hold
+ Master on Hold
+ [13:13]
read-only
-
- u0_cdn_usb_xhc_d0_req
- u0_cdn_usb_xhc_d0_req
- [17:17]
- read-write
-
- stg_sysconsaif_syscfg16
- STG SYSCONSAIF SYSCFG 16
- 0x10
+ rx_tl
+ DesignWare I2C RX TL
+ 0x38
32
- u0_cdn_usb_xhci_debug_bus
- u0_cdn_usb_xhci_debug_bus
+ rx_tl
+ rx_tl
[31:0]
- read-only
+ read-write
- stg_sysconsaif_syscfg20
- STG SYSCONSAIF SYSCFG 20
- 0x14
+ tx_tl
+ DesignWare I2C TX TL
+ 0x3c
32
- u0_cdn_usb_xhci_debug_link_state
- u0_cdn_usb_xhci_debug_link_state
- [30:0]
- read-only
+ tx_tl
+ tx_tl
+ [31:0]
+ read-write
- stg_sysconsaif_syscfg24
- STG SYSCONSAIF SYSCFG 24
- 0x18
+ clr_intr
+ DesignWare I2C Clear Interrrupt
+ 0x40
32
- u0_cdn_usb_xhci_debug_sel
- u0_cdn_usb_xhci_debug_sel
- [4:0]
+ rx_under
+ RX FIFO Underrun
+ [0:0]
read-write
- u0_cdn_usb_xhci_main_power_off_ack
- u0_cdn_usb_xhci_main_power_off_ack
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
[5:5]
- read-only
+ read-write
- u0_cdn_usb_xhci_main_power_off_req
- u0_cdn_usb_xhci_main_power_off_req
+ tx_abrt
+ TX Abort
[6:6]
- read-only
+ read-write
- u0_cdn_usb_xhci_main_power_on_ready
- u0_cdn_usb_xhci_main_power_on_ready
+ rx_done
+ RX Done
[7:7]
read-write
- u0_cdn_usb_xhci_main_power_on_req
- u0_cdn_usb_xhci_main_power_on_req
+ activity
+ Activity
[8:8]
- read-only
+ read-write
- u0_cdn_usb_xhci_main_power_on_valid
- u0_cdn_usb_xhci_main_power_on_valid
+ stop_det
+ Stop DET
[9:9]
read-write
- u0_cdn_usb_xhci_power_off_ack
- u0_cdn_usb_xhci_power_off_ack
+ start_det
+ Start DET
[10:10]
- read-only
+ read-write
- u0_cdn_usb_xhci_power_off_ready
- u0_cdn_usb_xhci_power_off_ready
+ gen_call
+ General Call
[11:11]
- read-only
+ read-write
- u0_cdn_usb_xhci_power_off_req
- u0_cdn_usb_xhci_power_off_req
+ restart_det
+ Restart DET
[12:12]
read-write
- u0_cdn_usb_xhci_power_on_ready
- u0_cdn_usb_xhci_power_on_ready
+ mst_on_hold
+ Master on Hold
[13:13]
- read-only
-
-
- u0_cdn_usb_xhci_power_on_req
- u0_cdn_usb_xhci_power_on_req
- [14:14]
- read-only
-
-
- u0_cdn_usb_xhci_power_on_valid
- u0_cdn_usb_xhci_power_on_valid
- [15:15]
read-write
+
+
+
+ clr_rx_under
+ DesignWare I2C Clear RX Underrun
+ 0x44
+ 32
+
- u0_e2_sft7110_cease_from_tile_0
- u0_e2_sft7110_cease_from_tile_0
- [16:16]
- read-only
+ clr_rx_under
+ clr_rx_under
+ [31:0]
+ read-write
+
+
+
+ clr_rx_over
+ DesignWare I2C Clear RX Overrun
+ 0x48
+ 32
+
- u0_e2_sft7110_debug_from_tile_0
- u0_e2_sft7110_debug_from_tile_0
- [17:17]
- read-only
+ clr_rx_over
+ clr_rx_over
+ [31:0]
+ read-write
+
+
+
+ clr_tx_over
+ DesignWare I2C Clear TX Overrun
+ 0x4c
+ 32
+
- u0_e2_sft7110_halt_from_tile_0
- u0_e2_sft7110_halt_from_tile_0
- [18:18]
- read-only
+ clr_tx_over
+ clr_tx_over
+ [31:0]
+ read-write
- stg_sysconsaif_syscfg28
- STG SYSCONSAIF SYSCFG 28
- 0x1c
+ clr_rd_req
+ DesignWare I2C Clear Read Request
+ 0x50
32
- u0_e2_sft7110_nmi_0_rnmi_exception_vector
- u0_e2_sft7110_nmi_0_rnmi_exception_vector
+ clr_rd_req
+ clr_rd_req
[31:0]
read-write
- stg_sysconsaif_syscfg32
- STG SYSCONSAIF SYSCFG 32
- 0x20
+ clr_tx_abrt
+ DesignWare I2C Clear TX Abort
+ 0x54
32
- u0_e2_sft7110_nmi_0_rnmi_interrupt_vector
- u0_e2_sft7110_nmi_0_rnmi_interrupt_vector
+ clr_tx_abrt
+ clr_tx_abrt
[31:0]
read-write
- stg_sysconsaif_syscfg36
- STG SYSCONSAIF SYSCFG 36
- 0x24
+ clr_rx_done
+ DesignWare I2C Clear RX Done
+ 0x58
32
- u0_e2_sft7110_reset_vector_0
- u0_e2_sft7110_reset_vector_0
+ clr_rx_done
+ clr_rx_done
[31:0]
read-write
- stg_sysconsaif_syscfg40
- STG SYSCONSAIF SYSCFG 40
- 0x28
+ clr_activity
+ DesignWare I2C Clear Activity
+ 0x5c
32
- u0_e2_sft7110_wfi_from_tile_0
- u0_e2_sft7110_wfi_from_tile_0
- [0:0]
- read-only
+ clr_activity
+ clr_activity
+ [31:0]
+ read-write
- stg_sysconsaif_syscfg44
- STG SYSCONSAIF SYSCFG 44
- 0x2c
+ clr_stop_det
+ DesignWare I2C Clear Stop DET
+ 0x60
32
- u0_hifi4_altresetvec
- Reset Vector Address
+ clr_stop_det
+ clr_stop_det
[31:0]
read-write
- stg_sysconsaif_syscfg48
- STG SYSCONSAIF SYSCFG 48
- 0x30
+ clr_start_det
+ DesignWare I2C Clear Start DET
+ 0x64
32
- u0_hifi4_breakin
- Debug signal
- [0:0]
+ clr_start_det
+ clr_start_det
+ [31:0]
read-write
+
+
+
+ clr_gen_call
+ DesignWare I2C Clear General Call
+ 0x68
+ 32
+
- u0_hifi4_breakinack
- Debug signal
- [1:1]
- read-only
-
-
- u0_hifi4_breakout
- Debug signal
- [2:2]
- read-only
-
-
- u0_hifi4_breakoutack
- Debug signal
- [3:3]
- read-write
-
-
- u0_hifi4_debugmode
- Debug signal
- [4:4]
- read-only
-
-
- u0_hifi4_doubleexceptionerror
- Fault Handling Signals
- [5:5]
- read-only
-
-
- u0_hifi4_iram0loadstore
- Indicates that iram0 works
- [6:6]
- read-only
-
-
- u0_hifi4_iram1loadstore
- Indicates that iram1 works
- [7:7]
- read-only
-
-
- u0_hifi4_ocdhaltonreset
- Debug signal
- [8:8]
+ clr_gen_call
+ clr_gen_call
+ [31:0]
read-write
-
- u0_hifi4_pfatalerror
- Fault Handling Signals
- [9:9]
- read-only
-
- stg_sysconsaif_syscfg52
- STG SYSCONSAIF SYSCFG 52
- 0x34
+ enable
+ DesignWare I2C Enable
+ 0x6c
32
- u0_hifi4_pfaultinfo
- Fault Handling Signals
- [31:0]
- read-only
+ abort
+ abort
+ [1:1]
+ read-write
- stg_sysconsaif_syscfg56
- STG SYSCONSAIF SYSCFG 56
- 0x38
+ status
+ DesignWare I2C Status
+ 0x70
32
- u0_hifi4_pfaultinfovalid
- Fault Handling Signals
+ activity
+ activity
[0:0]
read-only
- u0_hifi4_prid
- Module ID
- [16:1]
- read-write
+ tfe
+ tfe
+ [2:2]
+ read-only
- u0_hifi4_pwaitmode
- Wait Mode
- [17:17]
+ rfne
+ rfne
+ [3:3]
read-only
- u0_hifi4_runstall
- Run Stall
- [18:18]
- read-write
+ master_activity
+ master_activity
+ [5:5]
+ read-only
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-only
- stg_sysconsaif_syscfg60
- STG SYSCONSAIF SYSCFG 60
- 0x3c
+ txflr
+ DesignWare I2C TX Failure
+ 0x74
32
- u0_hifi4_scfg_dsp_mst_offset_master
- Indicates that master port remap address
- [11:0]
+ txflr
+ txflr
+ [31:0]
read-write
+
+
+
+ rxflr
+ DesignWare I2C RX Failure
+ 0x78
+ 32
+
- u0_hifi4_scfg_dsp_mst_offset_dma
- Indicates the DMA port remap address
- [27:16]
+ rxflr
+ rxflr
+ [31:0]
read-write
- stg_sysconsaif_syscfg64
- STG SYSCONSAIF SYSCFG 64
- 0x40
+ sda_hold
+ DesignWare I2C SDA Hold
+ 0x7c
32
- u0_hifi4_scfg_dsp_slv_offset
- The value indicates the slave port remap address
+ sda_hold
+ sda_hold
[31:0]
read-write
- stg_sysconsaif_syscfg68
- STG SYSCONSAIF SYSCFG 68
- 0x44
+ tx_abrt_source
+ DesignWare I2C TX Abort Source
+ 0x80
32
- u0_hifi4_scfg_sram_config_slp
- SRAM/ROM configuration. SLP: sleep enable, high active, default is low.
+ b7_addr_noack
+ b7_addr_noack
[0:0]
- read-write
+ read-only
- u0_hifi4_scfg_sram_config_sram_config_sd
- SRAM/ROM configuration. SD: shutdown enable, high active, default is low.
+ b10_addr1_noack
+ b10_addr1_noack
[1:1]
- read-write
+ read-only
- u0_hifi4_scfg_sram_config_rtsel
- SRAM/ROM configuration. RTSEL: timing setting for debug purpose, default is 2'b01.
- [3:2]
- read-write
+ b10_addr2_noack
+ b10_addr2_noack
+ [2:2]
+ read-only
- u0_hifi4_scfg_sram_config_ptsel
- SRAM/ROM configuration. PTSEL: timing setting for debug purpose, default is 2'b01.
- [5:4]
- read-write
+ txdata_noack
+ txdata_noack
+ [3:3]
+ read-only
- u0_hifi4_scfg_sram_config_trb
- SRAM/ROM configuration. TRB: timing setting for debug purpose, default is 2'b01.
- [7:6]
- read-write
+ gcall_noack
+ gcall_noack
+ [4:4]
+ read-only
- u0_hifi4_scfg_sram_config_wtsel
- SRAM/ROM configuration. WTSEL: timing setting for debug purpose, default is 2'b01.
- [9:8]
- read-write
+ gcall_read
+ gcall_read
+ [5:5]
+ read-only
- u0_hifi4_scfg_sram_config_vs
- SRAM/ROM configuration. VS: timing setting for debug purpose, default is 1'b1.
+ sbyte_ackdet
+ sbyte_ackdet
+ [7:7]
+ read-only
+
+
+ sbyte_norstrt
+ sbyte_norstrt
+ [9:9]
+ read-only
+
+
+ b10_rd_norstrt
+ b10_rd_norstrt
[10:10]
- read-write
+ read-only
- u0_hifi4_scfg_sram_config_vg
- SRAM/ROM configuration. VG: timing setting for debug purpose, default is 1'b1.
+ master_dis
+ master_dis
[11:11]
- read-write
+ read-only
- u0_hifi4_statvectorsel
- When the value is 1, it indicates that the AltResetVec is valid
+ arb_lost
+ arb_lost
[12:12]
- read-write
+ read-only
- u0_hifi4_trigin_idma
- DMA port trigger
+ slave_flush_txfifo
+ slave_flush_txfifo
[13:13]
- read-write
+ read-only
- u0_hifi4_trigout_idma
- DMA port trigger
+ slave_arblost
+ slave_arblost
[14:14]
read-only
- u0_hifi4_xocdmode
- Debug signal
+ slave_rd_intx
+ slave_rd_intx
[15:15]
read-only
-
- u0_plda_pcie_align_detect
- u0_plda_pcie_align_detect
- [16:16]
- read-only
-
- stg_sysconsaif_syscfg72
- STG SYSCONSAIF SYSCFG 72
- 0x48
+ enable_status
+ DesignWare I2C Enable Status
+ 0x9c
32
- u0_plda_pcie_axi4_mst0_aratomop_31_0
- u0_plda_pcie_axi4_mst0_aratomop_31_0
- [31:0]
- read-only
+ activity
+ activity
+ [0:0]
+ read-write
-
-
-
- stg_sysconsaif_syscfg76
- STG SYSCONSAIF SYSCFG 76
- 0x4c
- 32
-
- u0_plda_pcie_axi4_mst0_aratomop_63_32
- u0_plda_pcie_axi4_mst0_aratomop_63_32
- [31:0]
- read-only
+ tfe
+ tfe
+ [2:2]
+ read-write
+
+
+ rfne
+ rfne
+ [3:3]
+ read-write
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-write
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-write
- stg_sysconsaif_syscfg80
- STG SYSCONSAIF SYSCFG 80
- 0x50
+ clr_restart_det
+ DesignWare I2C Clear Restart DET
+ 0xa8
32
- u0_plda_pcie_axi4_mst0_aratomop_95_64
- u0_plda_pcie_axi4_mst0_aratomop_95_64
+ clr_restart_det
+ clr_restart_det
[31:0]
- read-only
+ read-write
- stg_sysconsaif_syscfg84
- STG SYSCONSAIF SYSCFG 84
- 0x54
+ comp_param_1
+ DesignWare I2C Compatibility Parameter 1
+ 0xf4
32
- u0_plda_pcie_axi4_mst0_aratomop_127_96
- u0_plda_pcie_axi4_mst0_aratomop_127_96
- [31:0]
+ speed
+ Speed mask - 01: Standard, 10: Full, 11: High
+ [3:2]
read-only
- stg_sysconsaif_syscfg88
- STG SYSCONSAIF SYSCFG 88
- 0x58
+ comp_version
+ DesignWare I2C Compatibility Version
+ 0xf8
32
- u0_plda_pcie_axi4_mst0_aratomop_159_128
- u0_plda_pcie_axi4_mst0_aratomop_159_128
+ comp_version
+ comp_version
[31:0]
read-only
- stg_sysconsaif_syscfg92
- STG SYSCONSAIF SYSCFG 92
- 0x5c
+ comp_type
+ DesignWare I2C Compatibility Type
+ 0xfc
32
- u0_plda_pcie_axi4_mst0_aratomop_191_160
- u0_plda_pcie_axi4_mst0_aratomop_191_160
+ comp_type
+ comp_type
[31:0]
read-only
-
- stg_sysconsaif_syscfg96
- STG SYSCONSAIF SYSCFG 96
- 0x60
+
+
+
+ snps_designware_i2c_2
+ From snps,designware-i2c, peripheral generator
+ 0x10050000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ con
+ DesignWare I2C CON
+ 0x0
32
- u0_plda_pcie_axi4_mst0_aratomop_223_192
- u0_plda_pcie_axi4_mst0_aratomop_223_192
- [31:0]
- read-only
+ master
+ I2C Master Connection - 0: Slave, 1: Master
+ [0:0]
+ read-write
-
-
-
- stg_sysconsaif_syscfg100
- STG SYSCONSAIF SYSCFG 100
- 0x64
- 32
-
- u0_plda_pcie_axi4_mst0_aratomop_255_224
- u0_plda_pcie_axi4_mst0_aratomop_255_224
- [31:0]
- read-only
+ speed
+ I2C Speed - 01: Standard, 10: Fast, 11: High
+ [2:1]
+ read-write
-
-
-
- stg_sysconsaif_syscfg104
- STG SYSCONSAIF SYSCFG 104
- 0x68
- 32
-
- u0_plda_pcie_axi4_mst0_aratomop_257_256
- u0_plda_pcie_axi4_mst0_aratomop_257_256
- [1:0]
- read-only
+ slave_10bitaddr
+ I2C Slave 10-bit Address - 0: False, 1: True
+ [3:3]
+ read-write
- u0_plda_pcie_axi4_mst0_arfunc
- u0_plda_pcie_axi4_mst0_arfunc
- [16:2]
- read-only
+ master_10bitaddr
+ I2C Master 10-bit Address - 0: False, 1: True
+ [4:4]
+ read-write
- u0_plda_pcie_axi4_mst0_arregion
- u0_plda_pcie_axi4_mst0_arregion
- [20:17]
- read-only
+ restart_en
+ I2C Restart Enable - 0: False, 1: True
+ [5:5]
+ read-write
-
-
-
- stg_sysconsaif_syscfg108
- STG SYSCONSAIF SYSCFG 108
- 0x6c
- 32
-
- u0_plda_pcie_axi4_mst0_aruser_31_0
- u0_plda_pcie_axi4_mst0_aruser_31_0
- [31:0]
- read-only
+ slave_disable
+ I2C Slave Disable - 0: False, 1: True
+ [6:6]
+ read-write
-
-
-
- stg_sysconsaif_syscfg112
- STG SYSCONSAIF SYSCFG 112
- 0x70
- 32
-
- u0_plda_pcie_axi4_mst0_aruser_63_32
- u0_plda_pcie_axi4_mst0_aruser_63_32
- [31:0]
- read-only
+ stop_det_ifaddressed
+ I2C Stop DET If Addressed - 0: False, 1: True
+ [7:7]
+ read-write
-
-
-
- stg_sysconsaif_syscfg116
- STG SYSCONSAIF SYSCFG 116
- 0x74
- 32
-
- u0_plda_pcie_axi4_mst0_awfunc
- u0_plda_pcie_axi4_mst0_awfunc
- [14:0]
- read-only
+ tx_empty_ctrl
+ I2C TX Empty Control - 0: False, 1: True
+ [8:8]
+ read-write
- u0_plda_pcie_axi4_mst0_awregion
- u0_plda_pcie_axi4_mst0_awregion
- [18:15]
- read-only
+ rx_fifo_full_hld_ctrl
+ I2C RX FIFO Full Hold Control - 0: False, 1: True
+ [9:9]
+ read-write
-
-
-
- stg_sysconsaif_syscfg120
- STG SYSCONSAIF SYSCFG 120
- 0x78
- 32
-
- u0_plda_pcie_axi4_mst0_a2user_31_0
- u0_plda_pcie_axi4_mst0_a2user_31_0
- [31:0]
- read-only
+ bus_clear_ctrl
+ I2C Bus Clear Control - 0: False, 1: True
+ [11:11]
+ read-write
- stg_sysconsaif_syscfg124
- STG SYSCONSAIF SYSCFG 124
- 0x7c
+ tar
+ DesignWare I2C TAR
+ 0x4
32
- u0_plda_pcie_axi4_mst0_awuser_42_32
- u0_plda_pcie_axi4_mst0_awuser_42_32
- [10:0]
- read-only
-
-
- u0_plda_pcie_axi4_mst0_rderr
- u0_plda_pcie_axi4_mst0_rderr
- [18:11]
+ tar
+ tar
+ [31:0]
read-write
- stg_sysconsaif_syscfg128
- STG SYSCONSAIF SYSCFG 128
- 0x80
+ sar
+ DesignWare I2C SAR
+ 0x8
32
- u0_plda_pcie_axi4_mst0_ruser
- u0_plda_pcie_axi4_mst0_ruser
+ sar
+ sar
[31:0]
read-write
- stg_sysconsaif_syscfg132
- STG SYSCONSAIF SYSCFG 132
- 0x84
+ data_cmd
+ DesignWare I2C Data Command
+ 0x10
32
- u0_plda_pcie_axi4_mst0_wderr
- u0_plda_pcie_axi4_mst0_wderr
+ dat
+ Data Command Data Byte
[7:0]
- read-only
+ read-write
-
-
-
- stg_sysconsaif_syscfg136
- STG SYSCONSAIF SYSCFG 136
- 0x88
- 32
-
- u0_plda_pcie_axi4_slv0_aratomop_31_0
- u0_plda_pcie_axi4_slv0_aratomop_31_0
- [31:0]
+ first_data_byte
+ Data Command First Data Byte - 0: False, 1: True
+ [11:11]
read-write
- stg_sysconsaif_syscfg140
- STG SYSCONSAIF SYSCFG 140
- 0x8c
+ ss_scl_hcnt
+ DesignWare I2C SS SCL HCNT
+ 0x14
32
- u0_plda_pcie_axi4_slv0_aratomop_63_32
- u0_plda_pcie_axi4_slv0_aratomop_63_32
+ ss_scl_hcnt
+ ss_scl_hcnt
[31:0]
read-write
- stg_sysconsaif_syscfg144
- STG SYSCONSAIF SYSCFG 144
- 0x90
+ ss_scl_lcnt
+ DesignWare I2C SS SCL LCNT
+ 0x18
32
- u0_plda_pcie_axi4_slv0_aratomop_95_64
- u0_plda_pcie_axi4_slv0_aratomop_95_64
+ ss_scl_lcnt
+ ss_scl_lcnt
[31:0]
read-write
- stg_sysconsaif_syscfg148
- STG SYSCONSAIF SYSCFG 148
- 0x94
+ fs_scl_hcnt
+ DesignWare I2C FS SCL HCNT
+ 0x1c
32
- u0_plda_pcie_axi4_slv0_aratomop_127_96
- u0_plda_pcie_axi4_slv0_aratomop_127_96
+ fs_scl_hcnt
+ fs_scl_hcnt
[31:0]
read-write
- stg_sysconsaif_syscfg152
- STG SYSCONSAIF SYSCFG 152
- 0x98
+ fs_scl_lcnt
+ DesignWare I2C FS SCL LCNT
+ 0x20
32
- u0_plda_pcie_axi4_slv0_aratomop_159_128
- u0_plda_pcie_axi4_slv0_aratomop_159_128
+ fs_scl_lcnt
+ fs_scl_lcnt
[31:0]
read-write
- stg_sysconsaif_syscfg156
- STG SYSCONSAIF SYSCFG 156
- 0x9c
+ hs_scl_hcnt
+ DesignWare I2C HS SCL HCNT
+ 0x24
32
- u0_plda_pcie_axi4_slv0_aratomop_191_160
- u0_plda_pcie_axi4_slv0_aratomop_191_160
+ hs_scl_hcnt
+ hs_scl_hcnt
[31:0]
read-write
- stg_sysconsaif_syscfg160
- STG SYSCONSAIF SYSCFG 160
- 0xa0
+ hs_scl_lcnt
+ DesignWare I2C HS SCL LCNT
+ 0x28
32
- u0_plda_pcie_axi4_slv0_aratomop_223_192
- u0_plda_pcie_axi4_slv0_aratomop_223_192
+ hs_scl_lcnt
+ hs_scl_lcnt
[31:0]
read-write
- stg_sysconsaif_syscfg164
- STG SYSCONSAIF SYSCFG 164
- 0xa4
+ intr_stat
+ DesignWare I2C Interrupt Status
+ 0x2c
32
- u0_plda_pcie_axi4_slv0_aratomop_255_224
- u0_plda_pcie_axi4_slv0_aratomop_255_224
- [31:0]
- read-write
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
-
-
-
- stg_sysconsaif_syscfg168
- STG SYSCONSAIF SYSCFG 168
- 0xa8
- 32
-
- u0_plda_pcie_axi4_slv0_aratomop_257_256
- u0_plda_pcie_axi4_slv0_aratomop_257_256
- [1:0]
- read-write
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
- u0_plda_pcie_axi4_slv0_arfunc
- u0_plda_pcie_axi4_slv0_arfunc
- [16:2]
- read-write
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
- u0_plda_pcie_axi4_slv0_arregion
- u0_plda_pcie_axi4_slv0_arregion
- [20:17]
- read-write
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
-
-
-
- stg_sysconsaif_syscfg172
- STG SYSCONSAIF SYSCFG 172
- 0xac
- 32
-
- u0_plda_pcie_axi4_slv0_aruser_31_0
- u0_plda_pcie_axi4_slv0_aruser_31_0
- [31:0]
- read-write
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
-
-
-
- stg_sysconsaif_syscfg176
- STG SYSCONSAIF SYSCFG 176
- 0xb0
- 32
-
- u0_plda_pcie_axi4_slv0_aruser_40_32
- u0_plda_pcie_axi4_slv0_aruser_40_32
- [8:0]
- read-write
+ rd_req
+ Read Request
+ [5:5]
+ read-only
- u0_plda_pcie_axi4_slv0_awfunc
- u0_plda_pcie_axi4_slv0_awfunc
- [23:9]
- read-write
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
- u0_plda_pcie_axi4_slv0_awregion
- u0_plda_pcie_axi4_slv0_awregion
- [27:24]
- read-write
+ rx_done
+ RX Done
+ [7:7]
+ read-only
-
-
-
- stg_sysconsaif_syscfg180
- STG SYSCONSAIF SYSCFG 180
- 0xb4
- 32
-
- u0_plda_pcie_axi4_slv0_awuser_31_0
- u0_plda_pcie_axi4_slv0_awuser_31_0
- [31:0]
- read-write
+ activity
+ Activity
+ [8:8]
+ read-only
-
-
-
- stg_sysconsaif_syscfg184
- STG SYSCONSAIF SYSCFG 184
- 0xb8
- 32
-
- u0_plda_pcie_axi4_slv0_awuser_40_32
- u0_plda_pcie_axi4_slv0_awuser_40_32
- [8:0]
- read-write
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
- u0_plda_pcie_axi4_slv0_rderr
- u0_plda_pcie_axi4_slv0_rderr
- [16:9]
+ start_det
+ Start DET
+ [10:10]
read-only
-
-
-
- stg_sysconsaif_syscfg188
- STG SYSCONSAIF SYSCFG 188
- 0xbc
- 32
-
- u0_plda_pcie_axi4_slv0_ruser
- u0_plda_pcie_axi4_slv0_ruser
- [31:0]
+ gen_call
+ General Call
+ [11:11]
read-only
-
-
-
- stg_sysconsaif_syscfg192
- STG SYSCONSAIF SYSCFG 192
- 0xc0
- 32
-
- u0_plda_pcie_axi4_slv0_wderr
- u0_plda_pcie_axi4_slv0_wderr
- [7:0]
- read-write
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
- u0_plda_pcie_axi4_slvl_arfunc
- u0_plda_pcie_axi4_slvl_arfunc
- [22:8]
+ mst_on_hold
+ Master on Hold
+ [13:13]
read-only
- stg_sysconsaif_syscfg196
- STG SYSCONSAIF SYSCFG 196
- 0xc4
+ intr_mask
+ DesignWare I2C Interrupt Mask
+ 0x30
32
- u0_plda_pcie_axi4_slvl_awfunc
- u0_plda_pcie_axi4_slvl_awfunc
- [14:0]
+ rx_under
+ RX FIFO Underrun
+ [0:0]
read-write
- u0_plda_pcie_bus_width_o
- u0_plda_pcie_bus_width_o
- [16:15]
- read-only
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
- u0_plda_pcie_bypass_codec
- u0_plda_pcie_bypass_codec
- [17:17]
+ rx_full
+ RX FIFO Full
+ [2:2]
read-write
- u0_plda_pcie_ckref_src
- u0_plda_pcie_ckref_src
- [19:18]
+ tx_over
+ TX FIFO Overrun
+ [3:3]
read-write
- u0_plda_pcie_clk_sel
- u0_plda_pcie_clk_sel
- [21:20]
+ tx_empty
+ TX FIFO Empty
+ [4:4]
read-write
- u0_plda_pcie_clkreq
- u0_plda_pcie_clkreq
- [22:22]
+ rd_req
+ Read Request
+ [5:5]
read-write
-
-
-
- stg_sysconsaif_syscfg200
- STG SYSCONSAIF SYSCFG 200
- 0xc8
- 32
-
- u0_plda_pcie_k_phyparam_31_0
- u0_plda_pcie_k_phyparam_31_0
- [31:0]
+ tx_abrt
+ TX Abort
+ [6:6]
read-write
-
-
-
- stg_sysconsaif_syscfg204
- STG SYSCONSAIF SYSCFG 204
- 0xcc
- 32
-
- u0_plda_pcie_k_phyparam_63_32
- u0_plda_pcie_k_phyparam_63_32
- [31:0]
+ rx_done
+ RX Done
+ [7:7]
read-write
-
-
-
- stg_sysconsaif_syscfg208
- STG SYSCONSAIF SYSCFG 208
- 0xd0
- 32
-
- u0_plda_pcie_k_phyparam_95_64
- u0_plda_pcie_k_phyparam_95_64
- [31:0]
+ activity
+ Activity
+ [8:8]
read-write
-
-
-
- stg_sysconsaif_syscfg212
- STG SYSCONSAIF SYSCFG 212
- 0xd4
- 32
-
- u0_plda_pcie_k_phyparam_127_96
- u0_plda_pcie_k_phyparam_127_96
- [31:0]
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
read-write
- stg_sysconsaif_syscfg216
- STG SYSCONSAIF SYSCFG 216
- 0xd8
+ raw_intr_stat
+ DesignWare I2C Raw Interrupt Status
+ 0x34
32
- u0_plda_pcie_k_phyparam_159_128
- u0_plda_pcie_k_phyparam_159_128
- [31:0]
- read-write
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
- stg_sysconsaif_syscfg220
- STG SYSCONSAIF SYSCFG 220
- 0xdc
+ rx_tl
+ DesignWare I2C RX TL
+ 0x38
32
- u0_plda_pcie_k_phyparam_191_160
- u0_plda_pcie_k_phyparam_191_160
+ rx_tl
+ rx_tl
[31:0]
read-write
- stg_sysconsaif_syscfg224
- STG SYSCONSAIF SYSCFG 224
- 0xe0
+ tx_tl
+ DesignWare I2C TX TL
+ 0x3c
32
- u0_plda_pcie_k_phyparam_223_192
- u0_plda_pcie_k_phyparam_223_192
+ tx_tl
+ tx_tl
[31:0]
read-write
- stg_sysconsaif_syscfg228
- STG SYSCONSAIF SYSCFG 228
- 0xe4
+ clr_intr
+ DesignWare I2C Clear Interrrupt
+ 0x40
32
- u0_plda_pcie_k_phyparam_255_224
- u0_plda_pcie_k_phyparam_255_224
- [31:0]
+ rx_under
+ RX FIFO Underrun
+ [0:0]
read-write
-
-
-
- stg_sysconsaif_syscfg232
- STG SYSCONSAIF SYSCFG 232
- 0xe8
- 32
-
- u0_plda_pcie_k_phyparam_287_256
- u0_plda_pcie_k_phyparam_287_256
- [31:0]
+ rx_over
+ RX FIFO Overrun
+ [1:1]
read-write
-
-
-
- stg_sysconsaif_syscfg236
- STG SYSCONSAIF SYSCFG 236
- 0xec
- 32
-
- u0_plda_pcie_k_phyparam_319_288
- u0_plda_pcie_k_phyparam_319_288
- [31:0]
+ rx_full
+ RX FIFO Full
+ [2:2]
read-write
-
-
-
- stg_sysconsaif_syscfg240
- STG SYSCONSAIF SYSCFG 240
- 0xf0
- 32
-
- u0_plda_pcie_k_phyparam_351_320
- u0_plda_pcie_k_phyparam_351_320
- [31:0]
+ tx_over
+ TX FIFO Overrun
+ [3:3]
read-write
-
-
-
- stg_sysconsaif_syscfg244
- STG SYSCONSAIF SYSCFG 244
- 0xf4
- 32
-
- u0_plda_pcie_k_phyparam_383_352
- u0_plda_pcie_k_phyparam_383_352
- [31:0]
+ tx_empty
+ TX FIFO Empty
+ [4:4]
read-write
-
-
-
- stg_sysconsaif_syscfg248
- STG SYSCONSAIF SYSCFG 248
- 0xf8
- 32
-
- u0_plda_pcie_k_phyparam_415_384
- u0_plda_pcie_k_phyparam_415_384
- [31:0]
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
read-write
- stg_sysconsaif_syscfg252
- STG SYSCONSAIF SYSCFG 252
- 0xfc
+ clr_rx_under
+ DesignWare I2C Clear RX Underrun
+ 0x44
32
- u0_plda_pcie_k_phyparam_447_416
- u0_plda_pcie_k_phyparam_447_416
+ clr_rx_under
+ clr_rx_under
[31:0]
read-write
- stg_sysconsaif_syscfg256
- STG SYSCONSAIF SYSCFG 256
- 0x100
+ clr_rx_over
+ DesignWare I2C Clear RX Overrun
+ 0x48
32
- u0_plda_pcie_k_phyparam_479_448
- u0_plda_pcie_k_phyparam_479_448
+ clr_rx_over
+ clr_rx_over
[31:0]
read-write
- stg_sysconsaif_syscfg260
- STG SYSCONSAIF SYSCFG 260
- 0x104
+ clr_tx_over
+ DesignWare I2C Clear TX Overrun
+ 0x4c
32
- u0_plda_pcie_k_phyparam_511_480
- u0_plda_pcie_k_phyparam_511_480
+ clr_tx_over
+ clr_tx_over
[31:0]
read-write
- stg_sysconsaif_syscfg264
- STG SYSCONSAIF SYSCFG 264
- 0x108
+ clr_rd_req
+ DesignWare I2C Clear Read Request
+ 0x50
32
- u0_plda_pcie_k_phyparam_543_512
- u0_plda_pcie_k_phyparam_543_512
+ clr_rd_req
+ clr_rd_req
[31:0]
read-write
- stg_sysconsaif_syscfg268
- STG SYSCONSAIF SYSCFG 268
- 0x10c
+ clr_tx_abrt
+ DesignWare I2C Clear TX Abort
+ 0x54
32
- u0_plda_pcie_k_phyparam_575_544
- u0_plda_pcie_k_phyparam_575_544
+ clr_tx_abrt
+ clr_tx_abrt
[31:0]
read-write
- stg_sysconsaif_syscfg272
- STG SYSCONSAIF SYSCFG 272
- 0x110
+ clr_rx_done
+ DesignWare I2C Clear RX Done
+ 0x58
32
- u0_plda_pcie_k_phyparam_607_576
- u0_plda_pcie_k_phyparam_607_576
+ clr_rx_done
+ clr_rx_done
[31:0]
read-write
- stg_sysconsaif_syscfg276
- STG SYSCONSAIF SYSCFG 276
- 0x114
+ clr_activity
+ DesignWare I2C Clear Activity
+ 0x5c
32
- u0_plda_pcie_k_phyparam_639_608
- u0_plda_pcie_k_phyparam_639_608
+ clr_activity
+ clr_activity
[31:0]
read-write
- stg_sysconsaif_syscfg280
- STG SYSCONSAIF SYSCFG 280
- 0x118
+ clr_stop_det
+ DesignWare I2C Clear Stop DET
+ 0x60
32
- u0_plda_pcie_k_phyparam_671_640
- u0_plda_pcie_k_phyparam_671_640
+ clr_stop_det
+ clr_stop_det
[31:0]
read-write
- stg_sysconsaif_syscfg284
- STG SYSCONSAIF SYSCFG 284
- 0x11c
+ clr_start_det
+ DesignWare I2C Clear Start DET
+ 0x64
32
- u0_plda_pcie_k_phyparam_703_672
- u0_plda_pcie_k_phyparam_703_672
+ clr_start_det
+ clr_start_det
[31:0]
read-write
- stg_sysconsaif_syscfg288
- STG SYSCONSAIF SYSCFG 288
- 0x120
+ clr_gen_call
+ DesignWare I2C Clear General Call
+ 0x68
32
- u0_plda_pcie_k_phyparam_735_704
- u0_plda_pcie_k_phyparam_735_704
+ clr_gen_call
+ clr_gen_call
[31:0]
read-write
- stg_sysconsaif_syscfg292
- STG SYSCONSAIF SYSCFG 292
- 0x124
+ enable
+ DesignWare I2C Enable
+ 0x6c
32
- u0_plda_pcie_k_phyparam_767_736
- u0_plda_pcie_k_phyparam_767_736
- [31:0]
+ abort
+ abort
+ [1:1]
read-write
- stg_sysconsaif_syscfg296
- STG SYSCONSAIF SYSCFG 296
- 0x128
+ status
+ DesignWare I2C Status
+ 0x70
32
- u0_plda_pcie_k_phyparam_799_768
- u0_plda_pcie_k_phyparam_799_768
- [31:0]
- read-write
+ activity
+ activity
+ [0:0]
+ read-only
+
+
+ tfe
+ tfe
+ [2:2]
+ read-only
+
+
+ rfne
+ rfne
+ [3:3]
+ read-only
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-only
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-only
- stg_sysconsaif_syscfg300
- STG SYSCONSAIF SYSCFG 300
- 0x12c
+ txflr
+ DesignWare I2C TX Failure
+ 0x74
32
- u0_plda_pcie_k_phyparam_831_800
- u0_plda_pcie_k_phyparam_831_800
+ txflr
+ txflr
[31:0]
read-write
- stg_sysconsaif_syscfg304
- STG SYSCONSAIF SYSCFG 304
- 0x130
+ rxflr
+ DesignWare I2C RX Failure
+ 0x78
32
- u0_plda_pcie_k_phyparam_839_832
- u0_plda_pcie_k_phyparam_839_832
- [7:0]
- read-write
-
-
- u0_plda_pcie_k_rp_nep
- u0_plda_pcie_k_rp_nep
- [8:8]
- read-write
-
-
- u0_plda_pcie_l1sub_entack
- u0_plda_pcie_l1sub_entack
- [9:9]
- read-only
-
-
- u0_plda_pcie_l1sub_entreq
- u0_plda_pcie_l1sub_entreq
- [10:10]
+ rxflr
+ rxflr
+ [31:0]
read-write
- stg_sysconsaif_syscfg308
- STG SYSCONSAIF SYSCFG 308
- 0x134
+ sda_hold
+ DesignWare I2C SDA Hold
+ 0x7c
32
- u0_plda_pcie_local_interrupt_in
- u0_plda_pcie_local_interrupt_in
+ sda_hold
+ sda_hold
[31:0]
read-write
- stg_sysconsaif_syscfg312
- STG SYSCONSAIF SYSCFG 312
- 0x138
+ tx_abrt_source
+ DesignWare I2C TX Abort Source
+ 0x80
32
- u0_plda_pcie_mperstn
- u0_plda_pcie_mperstn
+ b7_addr_noack
+ b7_addr_noack
[0:0]
- read-write
+ read-only
- u0_plda_pcie_pcie_ebuf_mode
- u0_plda_pcie_pcie_ebuf_mode
+ b10_addr1_noack
+ b10_addr1_noack
[1:1]
- read-write
+ read-only
- u0_plda_pcie_pcie_phy_test_cfg
- u0_plda_pcie_pcie_phy_test_cfg
- [24:2]
- read-write
+ b10_addr2_noack
+ b10_addr2_noack
+ [2:2]
+ read-only
- u0_plda_pcie_pcie_rx_eq_training
- u0_plda_pcie_pcie_rx_eq_training
- [25:25]
- read-write
+ txdata_noack
+ txdata_noack
+ [3:3]
+ read-only
- u0_plda_pcie_pcie_rxterm_en
- u0_plda_pcie_pcie_rxterm_en
- [26:26]
- read-write
+ gcall_noack
+ gcall_noack
+ [4:4]
+ read-only
- u0_plda_pcie_pcie_tx_onezeros
- u0_plda_pcie_pcie_tx_onezeros
- [27:27]
- read-write
+ gcall_read
+ gcall_read
+ [5:5]
+ read-only
-
-
-
- stg_sysconsaif_syscfg316
- STG SYSCONSAIF SYSCFG 316
- 0x13c
- 32
-
- u0_plda_pcie_pf0_offset
- u0_plda_pcie_pf0_offset
- [19:0]
- read-write
+ sbyte_ackdet
+ sbyte_ackdet
+ [7:7]
+ read-only
-
-
-
- stg_sysconsaif_syscfg320
- STG SYSCONSAIF SYSCFG 320
- 0x140
- 32
-
- u0_plda_pcie_pf1_offset
- u0_plda_pcie_pf1_offset
- [19:0]
- read-write
+ sbyte_norstrt
+ sbyte_norstrt
+ [9:9]
+ read-only
-
-
-
- stg_sysconsaif_syscfg324
- STG SYSCONSAIF SYSCFG 324
- 0x144
- 32
-
- u0_plda_pcie_pf2_offset
- u0_plda_pcie_pf2_offset
- [19:0]
- read-write
+ b10_rd_norstrt
+ b10_rd_norstrt
+ [10:10]
+ read-only
+
+
+ master_dis
+ master_dis
+ [11:11]
+ read-only
+
+
+ arb_lost
+ arb_lost
+ [12:12]
+ read-only
+
+
+ slave_flush_txfifo
+ slave_flush_txfifo
+ [13:13]
+ read-only
+
+
+ slave_arblost
+ slave_arblost
+ [14:14]
+ read-only
+
+
+ slave_rd_intx
+ slave_rd_intx
+ [15:15]
+ read-only
- stg_sysconsaif_syscfg328
- STG SYSCONSAIF SYSCFG 328
- 0x148
+ enable_status
+ DesignWare I2C Enable Status
+ 0x9c
32
- u0_plda_pcie_pf3_offset
- u0_plda_pcie_pf3_offset
- [19:0]
+ activity
+ activity
+ [0:0]
read-write
- u0_plda_pcie_phy_mode
- u0_plda_pcie_phy_mode
- [21:20]
+ tfe
+ tfe
+ [2:2]
read-write
- u0_plda_pcie_pl_clkrem_allow
- u0_plda_pcie_pl_clkrem_allow
- [22:22]
+ rfne
+ rfne
+ [3:3]
read-write
- u0_plda_pcie_pl_clkreq_oen
- u0_plda_pcie_pl_clkreq_oen
- [23:23]
- read-only
-
-
- u0_plda_pcie_pl_equ_phase
- u0_plda_pcie_pl_equ_phase
- [25:24]
- read-only
+ master_activity
+ master_activity
+ [5:5]
+ read-write
- u0_plda_pcie_pl_ltssm
- u0_plda_pcie_pl_ltssm
- [30:26]
- read-only
+ slave_activity
+ slave_activity
+ [6:6]
+ read-write
- stg_sysconsaif_syscfg332
- STG SYSCONSAIF SYSCFG 332
- 0x14c
+ clr_restart_det
+ DesignWare I2C Clear Restart DET
+ 0xa8
32
- u0_plda_pcie_pl_pclk_rate
- u0_plda_pcie_pl_pclk_rate
- [4:0]
- read-only
+ clr_restart_det
+ clr_restart_det
+ [31:0]
+ read-write
- stg_sysconsaif_syscfg336
- STG SYSCONSAIF SYSCFG 336
- 0x150
+ comp_param_1
+ DesignWare I2C Compatibility Parameter 1
+ 0xf4
32
- u0_plda_pcie_pl_sideband_in_31_0
- u0_plda_pcie_pl_sideband_in_31_0
- [31:0]
+ speed
+ Speed mask - 01: Standard, 10: Full, 11: High
+ [3:2]
read-only
- stg_sysconsaif_syscfg340
- STG SYSCONSAIF SYSCFG 340
- 0x154
+ comp_version
+ DesignWare I2C Compatibility Version
+ 0xf8
32
- u0_plda_pcie_pl_sideband_in_63_32
- u0_plda_pcie_pl_sideband_in_63_32
+ comp_version
+ comp_version
[31:0]
read-only
- stg_sysconsaif_syscfg344
- STG SYSCONSAIF SYSCFG 344
- 0x158
+ comp_type
+ DesignWare I2C Compatibility Type
+ 0xfc
32
- u0_plda_pcie_pl_sideband_out_31_0
- u0_plda_pcie_pl_sideband_out_31_0
+ comp_type
+ comp_type
[31:0]
read-only
+
+
+
+ arm_pl022_0
+ From arm,pl022, peripheral generator
+ 0x10060000
+
+ 0
+ 0x10000
+ registers
+
+
- stg_sysconsaif_syscfg348
- STG SYSCONSAIF SYSCFG 348
- 0x15c
- 32
+ ssp_cr0
+ SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.
+ 0x0
+ 16
- u0_plda_pcie_pl_sideband_out_63_32
- u0_plda_pcie_pl_sideband_out_63_32
- [31:0]
- read-only
+ scr
+ Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data
+ [3:0]
+ read-write
+
+
+ frf
+ Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved
+ [5:4]
+ read-write
+
+
+ spo
+ SSPCLKOUT polarity, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ sph
+ SSPCLKOUT phase, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ scr
+ Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F[sspclk] / (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from [2:254], programmed through the SSPCPSR register and SCR is a value from [0:255]
+ [15:8]
+ read-write
- stg_sysconsaif_syscfg352
- STG SYSCONSAIF SYSCFG 352
- 0x160
- 32
+ ssp_cr1
+ SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.
+ 0x4
+ 16
- u0_plda_pcie_pl_wake_in
- u0_plda_pcie_pl_wake_in
+ lbm
+ Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally
[0:0]
read-write
- u0_plda_pcie_pl_wake_oen
- u0_plda_pcie_pl_wake_oen
+ sse
+ Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled
[1:1]
- read-only
+ read-write
- u0_plda_pcie_rx_standby_0
- u0_plda_pcie_rx_standby_0
+ ms
+ Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave
[2:2]
- read-only
+ read-write
-
-
-
- stg_sysconsaif_syscfg356
- STG SYSCONSAIF SYSCFG 356
- 0x164
- 32
-
- u0_plda_pcie_test_in_31_0
- u0_plda_pcie_test_in_31_0
- [31:0]
+ sod
+ Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode
+ [3:3]
read-write
- stg_sysconsaif_syscfg360
- STG SYSCONSAIF SYSCFG 360
- 0x168
- 32
+ ssp_dr
+ SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
+ 0x8
+ 16
- u0_plda_pcie_test_in_63_32
- u0_plda_pcie_test_in_63_32
- [31:0]
+ data
+ Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies.
+ [15:0]
read-write
- stg_sysconsaif_syscfg364
- STG SYSCONSAIF SYSCFG 364
- 0x16c
- 32
+ ssp_sr
+ SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.
+ 0xc
+ 16
- u0_plda_pcie_test_out_bridge_31_0
- u0_plda_pcie_test_out_bridge_31_0
- [31:0]
+ tfe
+ Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty.
+ [0:0]
read-only
-
-
-
- stg_sysconsaif_syscfg368
- STG SYSCONSAIF SYSCFG 368
- 0x170
- 32
-
- u0_plda_pcie_test_out_bridge_63_32
- u0_plda_pcie_test_out_bridge_63_32
- [31:0]
+ tnf
+ Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full.
+ [1:1]
read-only
-
-
-
- stg_sysconsaif_syscfg372
- STG SYSCONSAIF SYSCFG 372
- 0x174
- 32
-
- u0_plda_pcie_test_out_bridge_95_64
- u0_plda_pcie_test_out_bridge_95_64
- [31:0]
+ rne
+ Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty.
+ [2:2]
+ read-only
+
+
+ rff
+ Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full.
+ [3:3]
+ read-only
+
+
+ bsy
+ PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty.
+ [4:4]
read-only
- stg_sysconsaif_syscfg376
- STG SYSCONSAIF SYSCFG 376
- 0x178
- 32
+ ssp_cpsr
+ SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between [2:254]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.
+ 0x10
+ 16
- u0_plda_pcie_test_out_bridge_127_96
- u0_plda_pcie_test_out_bridge_127_96
- [31:0]
- read-only
+ cpsdvsr
+ Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads.
+ [7:0]
+ read-write
- stg_sysconsaif_syscfg380
- STG SYSCONSAIF SYSCFG 380
- 0x17c
- 32
+ ssp_imsc
+ The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.
+ 0x14
+ 16
- u0_plda_pcie_test_out_bridge_159_128
- u0_plda_pcie_test_out_bridge_159_128
- [31:0]
- read-only
+ rorim
+ Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked
+ [0:0]
+ read-write
-
-
-
- stg_sysconsaif_syscfg384
- STG SYSCONSAIF SYSCFG 384
- 0x180
- 32
-
- u0_plda_pcie_test_out_bridge_191_160
- u0_plda_pcie_test_out_bridge_191_160
- [31:0]
- read-only
+ rtim
+ Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked
+ [1:1]
+ read-write
-
-
-
- stg_sysconsaif_syscfg388
- STG SYSCONSAIF SYSCFG 388
- 0x184
- 32
-
- u0_plda_pcie_test_out_bridge_223_192
- u0_plda_pcie_test_out_bridge_223_192
- [31:0]
- read-only
+ rxim
+ Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked
+ [2:2]
+ read-write
+
+
+ txim
+ Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked
+ [2:2]
+ read-write
- stg_sysconsaif_syscfg392
- STG SYSCONSAIF SYSCFG 392
- 0x188
- 32
+ ssp_ris
+ The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.
+ 0x18
+ 16
- u0_plda_pcie_test_out_bridge_255_224
- u0_plda_pcie_test_out_bridge_255_224
- [31:0]
+ rorris
+ Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt
+ [0:0]
read-only
-
-
-
- stg_sysconsaif_syscfg396
- STG SYSCONSAIF SYSCFG 396
- 0x18c
- 32
-
- u0_plda_pcie_test_out_bridge_287_256
- u0_plda_pcie_test_out_bridge_287_256
- [31:0]
+ rtris
+ Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt
+ [1:1]
read-only
-
-
-
- stg_sysconsaif_syscfg400
- STG SYSCONSAIF SYSCFG 400
- 0x190
- 32
-
- u0_plda_pcie_test_out_bridge_319_288
- u0_plda_pcie_test_out_bridge_319_288
- [31:0]
+ rxris
+ Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt
+ [2:2]
read-only
-
-
-
- stg_sysconsaif_syscfg404
- STG SYSCONSAIF SYSCFG 404
- 0x194
- 32
-
- u0_plda_pcie_test_out_bridge_351_320
- u0_plda_pcie_test_out_bridge_351_320
- [31:0]
+ txris
+ Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt
+ [3:3]
read-only
- stg_sysconsaif_syscfg408
- STG SYSCONSAIF SYSCFG 408
- 0x198
- 32
+ ssp_mis
+ The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.
+ 0x1c
+ 16
- u0_plda_pcie_test_out_bridge_383_352
- u0_plda_pcie_test_out_bridge_383_352
- [31:0]
+ rormis
+ Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt
+ [0:0]
read-only
-
-
-
- stg_sysconsaif_syscfg412
- STG SYSCONSAIF SYSCFG 412
- 0x19c
- 32
-
- u0_plda_pcie_test_out_bridge_415_384
- u0_plda_pcie_test_out_bridge_415_384
- [31:0]
+ rtmis
+ Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt
+ [1:1]
read-only
-
-
-
- stg_sysconsaif_syscfg416
- STG SYSCONSAIF SYSCFG 416
- 0x1a0
- 32
-
- u0_plda_pcie_test_out_bridge_447_416
- u0_plda_pcie_test_out_bridge_447_416
- [31:0]
+ rxmis
+ Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt
+ [2:2]
read-only
-
-
-
- stg_sysconsaif_syscfg420
- STG SYSCONSAIF SYSCFG 420
- 0x1a4
- 32
-
- u0_plda_pcie_test_out_bridge_479_448
- u0_plda_pcie_test_out_bridge_479_448
- [31:0]
+ txmis
+ Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt
+ [3:3]
read-only
- stg_sysconsaif_syscfg424
- STG SYSCONSAIF SYSCFG 424
- 0x1a8
- 32
+ ssp_icr
+ The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
+ 0x20
+ 16
- u0_plda_pcie_test_out_bridge_511_480
- u0_plda_pcie_test_out_bridge_511_480
- [31:0]
- read-only
+ roric
+ Clears the SSPRORINTR interrupt
+ [0:0]
+ read-write
+
+
+ rtic
+ Clears the SSPRTINTR interrupt
+ [1:1]
+ read-write
- stg_sysconsaif_syscfg428
- STG SYSCONSAIF SYSCFG 428
- 0x1ac
- 32
+ ssp_dmacr
+ The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.
+ 0x24
+ 16
- u0_plda_pcie_test_out_pcie_31_0
- u0_plda_pcie_test_out_pcie_31_0
- [31:0]
- read-only
+ rxdmae
+ Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled.
+ [0:0]
+ read-write
+
+
+ txdmae
+ Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled.
+ [1:1]
+ read-write
- stg_sysconsaif_syscfg432
- STG SYSCONSAIF SYSCFG 432
- 0x1b0
- 32
+ ssp_periph_id0
+ The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe0
+ 16
- u0_plda_pcie_test_out_pcie_63_32
- u0_plda_pcie_test_out_pcie_63_32
- [31:0]
+ part_number0
+ These bits read back as 0x22
+ [7:0]
read-only
- stg_sysconsaif_syscfg436
- STG SYSCONSAIF SYSCFG 436
- 0x1b4
- 32
+ ssp_periph_id1
+ The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe4
+ 16
- u0_plda_pcie_test_out_pcie_95_64
- u0_plda_pcie_test_out_pcie_95_64
- [31:0]
+ part_number1
+ These bits read back as 0x0
+ [3:0]
read-only
-
-
-
- stg_sysconsaif_syscfg440
- STG SYSCONSAIF SYSCFG 440
- 0x1b8
- 32
-
- u0_plda_pcie_test_out_pcie_127_96
- u0_plda_pcie_test_out_pcie_127_96
- [31:0]
+ designer0
+ These bits read back as 0x1
+ [7:4]
read-only
- stg_sysconsaif_syscfg444
- STG SYSCONSAIF SYSCFG 444
- 0x1bc
- 32
+ ssp_periph_id2
+ The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe8
+ 16
- u0_plda_pcie_test_out_pcie_159_128
- u0_plda_pcie_test_out_pcie_159_128
- [31:0]
+ designer1
+ These bits read back as 0x4
+ [3:0]
read-only
-
-
-
- stg_sysconsaif_syscfg448
- STG SYSCONSAIF SYSCFG 448
- 0x1c0
- 32
-
- u0_plda_pcie_test_out_pcie_191_160
- u0_plda_pcie_test_out_pcie_191_160
- [31:0]
+ revision
+ These bits return the peripheral revision
+ [7:4]
read-only
- stg_sysconsaif_syscfg452
- STG SYSCONSAIF SYSCFG 452
- 0x1c4
- 32
+ ssp_periph_id3
+ The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfec
+ 16
- u0_plda_pcie_test_out_pcie_223_192
- u0_plda_pcie_test_out_pcie_223_192
- [31:0]
+ configuration
+ These bits read back as 0x80
+ [7:0]
read-only
- stg_sysconsaif_syscfg456
- STG SYSCONSAIF SYSCFG 456
- 0x1c8
- 32
+ ssp_pcell_id0
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff0
+ 16
- u0_plda_pcie_test_out_pcie_255_224
- u0_plda_pcie_test_out_pcie_255_224
- [31:0]
+ ssp_pcell_id0
+ The bits are read as 0xD
+ [7:0]
read-only
- stg_sysconsaif_syscfg460
- STG SYSCONSAIF SYSCFG 460
- 0x1cc
- 32
+ ssp_pcell_id1
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff4
+ 16
- u0_plda_pcie_test_out_pcie_287_256
- u0_plda_pcie_test_out_pcie_287_256
- [31:0]
+ ssp_pcell_id1
+ The bits are read as 0xF0
+ [7:0]
read-only
- stg_sysconsaif_syscfg464
- STG SYSCONSAIF SYSCFG 464
- 0x1d0
- 32
+ ssp_pcell_id2
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff8
+ 16
- u0_plda_pcie_test_out_pcie_319_288
- u0_plda_pcie_test_out_pcie_319_288
- [31:0]
+ ssp_pcell_id2
+ The bits are read as 0x5
+ [7:0]
read-only
- stg_sysconsaif_syscfg468
- STG SYSCONSAIF SYSCFG 468
- 0x1d4
- 32
+ ssp_pcell_id3
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xffc
+ 16
- u0_plda_pcie_test_out_pcie_351_320
- u0_plda_pcie_test_out_pcie_351_320
- [31:0]
+ ssp_pcell_id3
+ The bits are read as 0xB1
+ [7:0]
read-only
-
- stg_sysconsaif_syscfg472
- STG SYSCONSAIF SYSCFG 472
- 0x1d8
- 32
+
+
+
+ arm_primecell_0
+ From arm,primecell, peripheral generator
+ 0x10060000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ rohm_dh2228fv_0
+ From rohm,dh2228fv, peripheral generator
+ 0x0
+
+ 0
+ 0x0
+ registers
+
+
+
+ arm_pl022_1
+ From arm,pl022, peripheral generator
+ 0x10070000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ ssp_cr0
+ SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.
+ 0x0
+ 16
- u0_plda_pcie_test_out_pcie_383_352
- u0_plda_pcie_test_out_pcie_383_352
- [31:0]
- read-only
+ scr
+ Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data
+ [3:0]
+ read-write
+
+
+ frf
+ Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved
+ [5:4]
+ read-write
+
+
+ spo
+ SSPCLKOUT polarity, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ sph
+ SSPCLKOUT phase, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ scr
+ Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F[sspclk] / (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from [2:254], programmed through the SSPCPSR register and SCR is a value from [0:255]
+ [15:8]
+ read-write
- stg_sysconsaif_syscfg476
- STG SYSCONSAIF SYSCFG 476
- 0x1dc
- 32
+ ssp_cr1
+ SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.
+ 0x4
+ 16
- u0_plda_pcie_test_out_pcie_415_384
- u0_plda_pcie_test_out_pcie_415_384
- [31:0]
- read-only
+ lbm
+ Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally
+ [0:0]
+ read-write
+
+
+ sse
+ Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled
+ [1:1]
+ read-write
+
+
+ ms
+ Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave
+ [2:2]
+ read-write
+
+
+ sod
+ Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode
+ [3:3]
+ read-write
- stg_sysconsaif_syscfg480
- STG SYSCONSAIF SYSCFG 480
- 0x1e0
- 32
+ ssp_dr
+ SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
+ 0x8
+ 16
- u0_plda_pcie_test_out_pcie_447_416
- u0_plda_pcie_test_out_pcie_447_416
- [31:0]
- read-only
+ data
+ Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies.
+ [15:0]
+ read-write
- stg_sysconsaif_syscfg484
- STG SYSCONSAIF SYSCFG 484
- 0x1e4
- 32
+ ssp_sr
+ SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.
+ 0xc
+ 16
- u0_plda_pcie_test_out_pcie_479_448
- u0_plda_pcie_test_out_pcie_479_448
- [31:0]
+ tfe
+ Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty.
+ [0:0]
read-only
-
-
-
- stg_sysconsaif_syscfg488
- STG SYSCONSAIF SYSCFG 488
- 0x1e8
- 32
-
- u0_plda_pcie_test_out_pcie_511_480
- u0_plda_pcie_test_out_pcie_511_480
- [31:0]
+ tnf
+ Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full.
+ [1:1]
+ read-only
+
+
+ rne
+ Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty.
+ [2:2]
+ read-only
+
+
+ rff
+ Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full.
+ [3:3]
+ read-only
+
+
+ bsy
+ PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty.
+ [4:4]
read-only
- stg_sysconsaif_syscfg492
- STG SYSCONSAIF SYSCFG 492
- 0x1ec
- 32
+ ssp_cpsr
+ SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between [2:254]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.
+ 0x10
+ 16
- u0_plda_pcie_test_sel
- u0_plda_pcie_test_sel
- [3:0]
- read-write
-
-
- u0_plda_pcie_tl_clock_freq
- u0_plda_pcie_tl_clock_freq
- [25:4]
+ cpsdvsr
+ Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads.
+ [7:0]
read-write
- stg_sysconsaif_syscfg500
- STG SYSCONSAIF SYSCFG 500
- 0x1f4
- 32
+ ssp_imsc
+ The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.
+ 0x14
+ 16
- u0_plda_pcie_tx_pattern
- u0_plda_pcie_tx_pattern
- [1:0]
+ rorim
+ Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked
+ [0:0]
read-write
- u0_plda_pcie_usb3_bus_width
- u0_plda_pcie_usb3_bus_width
- [3:2]
+ rtim
+ Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked
+ [1:1]
read-write
- u0_plda_pcie_usb3_phy_enable
- u0_plda_pcie_usb3_phy_enable
- [4:4]
+ rxim
+ Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked
+ [2:2]
read-write
- u0_plda_pcie_usb3_rate
- u0_plda_pcie_usb3_rate
- [6:5]
+ txim
+ Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked
+ [2:2]
read-write
+
+
+
+ ssp_ris
+ The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.
+ 0x18
+ 16
+
- u0_plda_pcie_usb3_rx_standby
- u0_plda_pcie_usb3_rx_standby
- [7:7]
- read-write
+ rorris
+ Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
- u0_plda_pcie_xwdecerr
- u0_plda_pcie_xwdecerr
- [8:8]
+ rtris
+ Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt
+ [1:1]
read-only
- u0_plda_pcie_xwerrclr
- u0_plda_pcie_xwerrclr
- [9:9]
- read-write
+ rxris
+ Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
- u0_plda_pcie_xwslverr
- u0_plda_pcie_xwslverr
- [10:10]
+ txris
+ Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt
+ [3:3]
read-only
+
+
+
+ ssp_mis
+ The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.
+ 0x1c
+ 16
+
- u0_sec_top_sramcfg_slp
- SRAM/ROM configuration. SLP: sleep enable, high active, default is low.
- [11:11]
- read-write
+ rormis
+ Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
- u0_sec_top_sramcfg_sram_config_sd
- SRAM/ROM configuration. SD: shutdown enable, high active, default is low.
- [12:12]
- read-write
+ rtmis
+ Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
- u0_sec_top_sramcfg_rtsel
- SRAM/ROM configuration. RTSEL: timing setting for debug purpose, default is 2'b01.
- [14:13]
- read-write
+ rxmis
+ Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
- u0_sec_top_sramcfg_ptsel
- SRAM/ROM configuration. PTSEL: timing setting for debug purpose, default is 2'b01.
- [16:15]
- read-write
+ txmis
+ Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
+
+
+
+ ssp_icr
+ The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
+ 0x20
+ 16
+
- u0_sec_top_sramcfg_trb
- SRAM/ROM configuration. TRB: timing setting for debug purpose, default is 2'b01.
- [18:17]
+ roric
+ Clears the SSPRORINTR interrupt
+ [0:0]
read-write
- u0_sec_top_sramcfg_wtsel
- SRAM/ROM configuration. WTSEL: timing setting for debug purpose, default is 2'b01.
- [20:19]
+ rtic
+ Clears the SSPRTINTR interrupt
+ [1:1]
read-write
+
+
+
+ ssp_dmacr
+ The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.
+ 0x24
+ 16
+
- u0_sec_top_sramcfg_vs
- SRAM/ROM configuration. VS: timing setting for debug purpose, default is 1'b1.
- [21:21]
+ rxdmae
+ Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled.
+ [0:0]
read-write
- u0_sec_top_sramcfg_vg
- SRAM/ROM configuration. VG: timing setting for debug purpose, default is 1'b1.
- [22:22]
+ txdmae
+ Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled.
+ [1:1]
read-write
-
- u0_plda_pcie_align_detect
- u0_plda_pcie_align_detect
- [23:23]
- read-only
-
- stg_sysconsaif_syscfg504
- STG SYSCONSAIF SYSCFG 504
- 0x1f8
- 32
+ ssp_periph_id0
+ The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe0
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_31_0
- u0_plda_pcie_axi4_mst0_aratomop_31_0
- [31:0]
+ part_number0
+ These bits read back as 0x22
+ [7:0]
read-only
- stg_sysconsaif_syscfg508
- STG SYSCONSAIF SYSCFG 508
- 0x1fc
- 32
+ ssp_periph_id1
+ The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe4
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_63_32
- u0_plda_pcie_axi4_mst0_aratomop_63_32
- [31:0]
+ part_number1
+ These bits read back as 0x0
+ [3:0]
+ read-only
+
+
+ designer0
+ These bits read back as 0x1
+ [7:4]
read-only
- stg_sysconsaif_syscfg512
- STG SYSCONSAIF SYSCFG 512
- 0x200
- 32
+ ssp_periph_id2
+ The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe8
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_95_64
- u0_plda_pcie_axi4_mst0_aratomop_95_64
- [31:0]
+ designer1
+ These bits read back as 0x4
+ [3:0]
+ read-only
+
+
+ revision
+ These bits return the peripheral revision
+ [7:4]
read-only
- stg_sysconsaif_syscfg516
- STG SYSCONSAIF SYSCFG 516
- 0x204
- 32
+ ssp_periph_id3
+ The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfec
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_127_96
- u0_plda_pcie_axi4_mst0_aratomop_127_96
- [31:0]
+ configuration
+ These bits read back as 0x80
+ [7:0]
read-only
- stg_sysconsaif_syscfg520
- STG SYSCONSAIF SYSCFG 520
- 0x208
- 32
+ ssp_pcell_id0
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff0
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_159_128
- u0_plda_pcie_axi4_mst0_aratomop_159_128
- [31:0]
+ ssp_pcell_id0
+ The bits are read as 0xD
+ [7:0]
read-only
- stg_sysconsaif_syscfg524
- STG SYSCONSAIF SYSCFG 524
- 0x20c
- 32
+ ssp_pcell_id1
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff4
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_191_160
- u0_plda_pcie_axi4_mst0_aratomop_191_160
- [31:0]
+ ssp_pcell_id1
+ The bits are read as 0xF0
+ [7:0]
read-only
- stg_sysconsaif_syscfg528
- STG SYSCONSAIF SYSCFG 528
- 0x210
- 32
+ ssp_pcell_id2
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff8
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_223_192
- u0_plda_pcie_axi4_mst0_aratomop_223_192
- [31:0]
+ ssp_pcell_id2
+ The bits are read as 0x5
+ [7:0]
read-only
- stg_sysconsaif_syscfg532
- STG SYSCONSAIF SYSCFG 532
- 0x214
- 32
+ ssp_pcell_id3
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xffc
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_255_224
- u0_plda_pcie_axi4_mst0_aratomop_255_224
- [31:0]
+ ssp_pcell_id3
+ The bits are read as 0xB1
+ [7:0]
read-only
+
+
+
+ arm_primecell_1
+ From arm,primecell, peripheral generator
+ 0x10070000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ arm_pl022_2
+ From arm,pl022, peripheral generator
+ 0x10080000
+
+ 0
+ 0x10000
+ registers
+
+
- stg_sysconsaif_syscfg536
- STG SYSCONSAIF SYSCFG 536
- 0x218
- 32
+ ssp_cr0
+ SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.
+ 0x0
+ 16
- u0_plda_pcie_axi4_mst0_aratomop_257_256
- u0_plda_pcie_axi4_mst0_aratomop_257_256
- [1:0]
- read-only
+ scr
+ Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data
+ [3:0]
+ read-write
- u0_plda_pcie_axi4_mst0_arfunc
- u0_plda_pcie_axi4_mst0_arfunc
- [16:2]
- read-only
+ frf
+ Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved
+ [5:4]
+ read-write
- u0_plda_pcie_axi4_mst0_arregion
- u0_plda_pcie_axi4_mst0_arregion
- [20:17]
- read-only
+ spo
+ SSPCLKOUT polarity, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ sph
+ SSPCLKOUT phase, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ scr
+ Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F[sspclk] / (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from [2:254], programmed through the SSPCPSR register and SCR is a value from [0:255]
+ [15:8]
+ read-write
- stg_sysconsaif_syscfg540
- STG SYSCONSAIF SYSCFG 540
- 0x21c
- 32
+ ssp_cr1
+ SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.
+ 0x4
+ 16
- u1_plda_pcie_axi4_mst0_aruser_31_0
- u1_plda_pcie_axi4_mst0_aruser_31_0
- [31:0]
- read-only
+ lbm
+ Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally
+ [0:0]
+ read-write
+
+
+ sse
+ Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled
+ [1:1]
+ read-write
+
+
+ ms
+ Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave
+ [2:2]
+ read-write
+
+
+ sod
+ Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode
+ [3:3]
+ read-write
- stg_sysconsaif_syscfg544
- STG SYSCONSAIF SYSCFG 544
- 0x220
- 32
+ ssp_dr
+ SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
+ 0x8
+ 16
- u1_plda_pcie_axi4_mst0_aruser_52_32
- u1_plda_pcie_axi4_mst0_aruser_52_32
- [20:0]
- read-only
+ data
+ Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies.
+ [15:0]
+ read-write
- stg_sysconsaif_syscfg548
- STG SYSCONSAIF SYSCFG 548
- 0x224
- 32
+ ssp_sr
+ SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.
+ 0xc
+ 16
- u1_plda_pcie_axi4_mst0_awfunc
- u1_plda_pcie_axi4_mst0_awfunc
- [14:0]
+ tfe
+ Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty.
+ [0:0]
read-only
- u1_plda_pcie_axi4_mst0_awregion
- u1_plda_pcie_axi4_mst0_awregion
- [18:15]
+ tnf
+ Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full.
+ [1:1]
read-only
-
-
-
- stg_sysconsaif_syscfg552
- STG SYSCONSAIF SYSCFG 552
- 0x228
- 32
-
- u1_plda_pcie_axi4_mst0_awuser_31_0
- u1_plda_pcie_axi4_mst0_awuser_31_0
- [31:0]
+ rne
+ Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty.
+ [2:2]
read-only
-
-
-
- stg_sysconsaif_syscfg556
- STG SYSCONSAIF SYSCFG 556
- 0x22c
- 32
-
- u1_plda_pcie_axi4_mst0_awuser_42_32
- u1_plda_pcie_axi4_mst0_awuser_42_32
- [10:0]
+ rff
+ Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full.
+ [3:3]
read-only
- u1_plda_pcie_axi4_mst0_rderr
- u1_plda_pcie_axi4_mst0_rderr
- [18:11]
- read-write
+ bsy
+ PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty.
+ [4:4]
+ read-only
- stg_sysconsaif_syscfg560
- STG SYSCONSAIF SYSCFG 560
- 0x230
- 32
+ ssp_cpsr
+ SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between [2:254]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.
+ 0x10
+ 16
- u1_plda_pcie_axi4_mst0_ruser
- u1_plda_pcie_axi4_mst0_ruser
- [31:0]
+ cpsdvsr
+ Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads.
+ [7:0]
read-write
- stg_sysconsaif_syscfg564
- STG SYSCONSAIF SYSCFG 564
- 0x234
- 32
+ ssp_imsc
+ The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.
+ 0x14
+ 16
- u1_plda_pcie_axi4_mst0_wderr
- u1_plda_pcie_axi4_mst0_wderr
- [7:0]
- read-only
+ rorim
+ Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked
+ [0:0]
+ read-write
-
-
-
- stg_sysconsaif_syscfg568
- STG SYSCONSAIF SYSCFG 568
- 0x238
- 32
-
- u1_plda_pcie_axi4_slv0_aratomop_31_0
- u1_plda_pcie_axi4_slv0_aratomop_31_0
- [31:0]
+ rtim
+ Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked
+ [1:1]
read-write
-
-
-
- stg_sysconsaif_syscfg572
- STG SYSCONSAIF SYSCFG 572
- 0x23c
- 32
-
- u1_plda_pcie_axi4_slv0_aratomop_63_32
- u1_plda_pcie_axi4_slv0_aratomop_63_32
- [31:0]
+ rxim
+ Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked
+ [2:2]
read-write
-
-
-
- stg_sysconsaif_syscfg576
- STG SYSCONSAIF SYSCFG 576
- 0x240
- 32
-
- u1_plda_pcie_axi4_slv0_aratomop_95_64
- u1_plda_pcie_axi4_slv0_aratomop_95_64
- [31:0]
+ txim
+ Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked
+ [2:2]
read-write
- stg_sysconsaif_syscfg580
- STG SYSCONSAIF SYSCFG 580
- 0x244
- 32
+ ssp_ris
+ The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.
+ 0x18
+ 16
- u1_plda_pcie_axi4_slv0_aratomop_127_96
- u1_plda_pcie_axi4_slv0_aratomop_127_96
- [31:0]
- read-write
+ rorris
+ Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
-
-
-
- stg_sysconsaif_syscfg584
- STG SYSCONSAIF SYSCFG 584
- 0x248
- 32
-
-
- u1_plda_pcie_axi4_slv0_aratomop_159_128
- u1_plda_pcie_axi4_slv0_aratomop_159_128
- [31:0]
- read-write
-
-
-
-
- stg_sysconsaif_syscfg588
- STG SYSCONSAIF SYSCFG 588
- 0x24c
- 32
-
- u1_plda_pcie_axi4_slv0_aratomop_191_160
- u1_plda_pcie_axi4_slv0_aratomop_191_160
- [31:0]
- read-write
+ rtris
+ Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
-
-
-
- stg_sysconsaif_syscfg592
- STG SYSCONSAIF SYSCFG 592
- 0x250
- 32
-
- u1_plda_pcie_axi4_slv0_aratomop_223_192
- u1_plda_pcie_axi4_slv0_aratomop_223_192
- [31:0]
- read-write
+ rxris
+ Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
-
-
-
- stg_sysconsaif_syscfg596
- STG SYSCONSAIF SYSCFG 596
- 0x254
- 32
-
- u1_plda_pcie_axi4_slv0_aratomop_255_224
- u1_plda_pcie_axi4_slv0_aratomop_255_224
- [31:0]
- read-write
+ txris
+ Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
- stg_sysconsaif_syscfg600
- STG SYSCONSAIF SYSCFG 600
- 0x258
- 32
+ ssp_mis
+ The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.
+ 0x1c
+ 16
- u1_plda_pcie_axi4_mst0_aratomop_257_256
- u1_plda_pcie_axi4_mst0_aratomop_257_256
- [1:0]
- read-write
+ rormis
+ Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
- u1_plda_pcie_axi4_slv0_arfunc
- u1_plda_pcie_axi4_slv0_arfunc
- [16:2]
- read-write
+ rtmis
+ Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
- u1_plda_pcie_axi4_slv0_arregion
- u1_plda_pcie_axi4_slv0_arregion
- [20:17]
- read-write
+ rxmis
+ Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
-
-
-
- stg_sysconsaif_syscfg604
- STG SYSCONSAIF SYSCFG 604
- 0x25c
- 32
-
- u1_plda_pcie_axi4_slv0_aruser_31_0
- u1_plda_pcie_axi4_slv0_aruser_31_0
- [31:0]
- read-write
+ txmis
+ Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
- stg_sysconsaif_syscfg608
- STG SYSCONSAIF SYSCFG 608
- 0x260
- 32
+ ssp_icr
+ The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
+ 0x20
+ 16
- u1_plda_pcie_axi4_slv0_aruser_40_32
- u1_plda_pcie_axi4_slv0_aruser_40_32
- [8:0]
- read-write
-
-
- u1_plda_pcie_axi4_slv0_awfunc
- u1_plda_pcie_axi4_slv0_awfunc
- [23:9]
+ roric
+ Clears the SSPRORINTR interrupt
+ [0:0]
read-write
- u1_plda_pcie_axi4_slv0_awregion
- u1_plda_pcie_axi4_slv0_awregion
- [27:24]
+ rtic
+ Clears the SSPRTINTR interrupt
+ [1:1]
read-write
- stg_sysconsaif_syscfg612
- STG SYSCONSAIF SYSCFG 612
- 0x264
- 32
+ ssp_dmacr
+ The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.
+ 0x24
+ 16
- u1_plda_pcie_axi4_slv0_awuser_31_0
- u1_plda_pcie_axi4_slv0_awuser_31_0
- [31:0]
+ rxdmae
+ Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled.
+ [0:0]
read-write
-
-
-
- stg_sysconsaif_syscfg616
- STG SYSCONSAIF SYSCFG 616
- 0x268
- 32
-
- u1_plda_pcie_axi4_slv0_awuser_40_32
- u1_plda_pcie_axi4_slv0_awuser_40_32
- [8:0]
+ txdmae
+ Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled.
+ [1:1]
read-write
-
- u1_plda_pcie_axi4_slv0_rderr
- u1_plda_pcie_axi4_slv0_rderr
- [16:9]
- read-only
-
- stg_sysconsaif_syscfg620
- STG SYSCONSAIF SYSCFG 620
- 0x26c
- 32
+ ssp_periph_id0
+ The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe0
+ 16
- u1_plda_pcie_axi4_slv0_ruser
- u1_plda_pcie_axi4_slv0_ruser
- [31:0]
+ part_number0
+ These bits read back as 0x22
+ [7:0]
read-only
- stg_sysconsaif_syscfg624
- STG SYSCONSAIF SYSCFG 624
- 0x270
- 32
+ ssp_periph_id1
+ The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe4
+ 16
- u1_plda_pcie_axi4_slv0_wderr
- u1_plda_pcie_axi4_slv0_wderr
- [7:0]
- read-write
+ part_number1
+ These bits read back as 0x0
+ [3:0]
+ read-only
- u1_plda_pcie_axi4_slvl_arfunc
- u1_plda_pcie_axi4_slvl_arfunc
- [22:8]
- read-write
+ designer0
+ These bits read back as 0x1
+ [7:4]
+ read-only
- stg_sysconsaif_syscfg628
- STG SYSCONSAIF SYSCFG 628
- 0x274
- 32
+ ssp_periph_id2
+ The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe8
+ 16
- u1_plda_pcie_axi4_slvl_awfunc
- u1_plda_pcie_axi4_slvl_awfunc
- [14:0]
- read-write
-
-
- u1_plda_pcie_bus_width_o
- u1_plda_pcie_bus_width_o
- [16:15]
+ designer1
+ These bits read back as 0x4
+ [3:0]
read-only
- u1_plda_pcie_bypass_codec
- u1_plda_pcie_bypass_codec
- [17:17]
- read-write
-
-
- u1_plda_pcie_ckref_src
- u1_plda_pcie_ckref_src
- [19:18]
- read-write
-
-
- u1_plda_pcie_clk_sel
- u1_plda_pcie_clk_sel
- [21:20]
- read-write
-
-
- u1_plda_pcie_clkreq
- u1_plda_pcie_clkreq
- [22:22]
- read-write
+ revision
+ These bits return the peripheral revision
+ [7:4]
+ read-only
- stg_sysconsaif_syscfg632
- STG SYSCONSAIF SYSCFG 632
- 0x278
- 32
+ ssp_periph_id3
+ The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfec
+ 16
- u1_plda_pcie_k_phyparam_31_0
- u1_plda_pcie_k_phyparam_31_0
- [31:0]
- read-write
+ configuration
+ These bits read back as 0x80
+ [7:0]
+ read-only
- stg_sysconsaif_syscfg636
- STG SYSCONSAIF SYSCFG 636
- 0x27c
- 32
+ ssp_pcell_id0
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff0
+ 16
- u1_plda_pcie_k_phyparam_63_32
- u1_plda_pcie_k_phyparam_63_32
- [31:0]
- read-write
+ ssp_pcell_id0
+ The bits are read as 0xD
+ [7:0]
+ read-only
- stg_sysconsaif_syscfg640
- STG SYSCONSAIF SYSCFG 640
- 0x280
- 32
+ ssp_pcell_id1
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff4
+ 16
- u1_plda_pcie_k_phyparam_95_64
- u1_plda_pcie_k_phyparam_95_64
- [31:0]
- read-write
+ ssp_pcell_id1
+ The bits are read as 0xF0
+ [7:0]
+ read-only
- stg_sysconsaif_syscfg644
- STG SYSCONSAIF SYSCFG 644
- 0x284
- 32
+ ssp_pcell_id2
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff8
+ 16
- u1_plda_pcie_k_phyparam_127_96
- u1_plda_pcie_k_phyparam_127_96
- [31:0]
- read-write
+ ssp_pcell_id2
+ The bits are read as 0x5
+ [7:0]
+ read-only
- stg_sysconsaif_syscfg648
- STG SYSCONSAIF SYSCFG 648
- 0x288
- 32
+ ssp_pcell_id3
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xffc
+ 16
- u1_plda_pcie_k_phyparam_159_128
- u1_plda_pcie_k_phyparam_159_128
- [31:0]
- read-write
+ ssp_pcell_id3
+ The bits are read as 0xB1
+ [7:0]
+ read-only
-
- stg_sysconsaif_syscfg652
- STG SYSCONSAIF SYSCFG 652
- 0x28c
- 32
+
+
+
+ arm_primecell_2
+ From arm,primecell, peripheral generator
+ 0x10080000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ starfive_jh7110_tdm_0
+ From starfive,jh7110-tdm, peripheral generator
+ 0x10090000
+
+ 0
+ 0x1000
+ registers
+
+
+
+ starfive_jh7110_usb_phy_0
+ From starfive,jh7110-usb-phy, peripheral generator
+ 0x10200000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ starfive_jh7110_pcie_phy_0
+ From starfive,jh7110-pcie-phy, peripheral generator
+ 0x10210000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ starfive_jh7110_pcie_phy_1
+ From starfive,jh7110-pcie-phy, peripheral generator
+ 0x10220000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ starfive_jh7110_stgcrg_0
+ From starfive,jh7110-stgcrg, peripheral generator
+ 0x10230000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ clk_hifi4_core
+ Clock HIFI4 Core
+ 0x0
+ 32
- u1_plda_pcie_k_phyparam_191_160
- u1_plda_pcie_k_phyparam_191_160
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg656
- STG SYSCONSAIF SYSCFG 656
- 0x290
+ clk_usb_apb
+ Clock USB APB
+ 0x4
32
- u1_plda_pcie_k_phyparam_223_192
- u1_plda_pcie_k_phyparam_223_192
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg660
- STG SYSCONSAIF SYSCFG 660
- 0x294
+ clk_usb_utmi_apb
+ Clock USB UTMI APB
+ 0x8
32
- u1_plda_pcie_k_phyparam_255_224
- u1_plda_pcie_k_phyparam_255_224
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg664
- STG SYSCONSAIF SYSCFG 664
- 0x298
+ clk_usb_axi
+ Clock USB AXI
+ 0xc
32
- u1_plda_pcie_k_phyparam_287_256
- u1_plda_pcie_k_phyparam_287_256
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg668
- STG SYSCONSAIF SYSCFG 668
- 0x29c
+ clk_usb_ipm
+ Clock USB AXI
+ 0x10
32
- u1_plda_pcie_k_phyparam_319_288
- u1_plda_pcie_k_phyparam_319_288
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
+ read-write
+
+
+ clk_divcfg
+ Clock divider coefficient: Max=2, Default=2, Min=2, Typical=2
+ [23:0]
read-write
- stg_sysconsaif_syscfg672
- STG SYSCONSAIF SYSCFG 672
- 0x2a0
+ clk_usb_stb
+ Clock USB STB
+ 0x14
32
- u1_plda_pcie_k_phyparam_351_320
- u1_plda_pcie_k_phyparam_351_320
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
+ read-write
+
+
+ clk_divcfg
+ Clock divider coefficient: Max=4, Default=4, Min=4, Typical=4
+ [23:0]
read-write
- stg_sysconsaif_syscfg676
- STG SYSCONSAIF SYSCFG 676
- 0x2a4
+ clk_usb_app125
+ Clock USB APP 125
+ 0x18
32
- u1_plda_pcie_k_phyparam_383_352
- u1_plda_pcie_k_phyparam_383_352
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg680
- STG SYSCONSAIF SYSCFG 680
- 0x2a8
+ clk_usb_refclk
+ Clock USB Reference Clock
+ 0x1c
32
- u1_plda_pcie_k_phyparam_415_384
- u1_plda_pcie_k_phyparam_415_384
- [31:0]
+ clk_divcfg
+ Clock divider coefficient: Max=2, Default=2, Min=2, Typical=2
+ [23:0]
read-write
- stg_sysconsaif_syscfg684
- STG SYSCONSAIF SYSCFG 684
- 0x2ac
+ clk_u0_pcie_axi_mst0
+ U0 Clock PCIe AXI MST 0
+ 0x20
32
- u1_plda_pcie_k_phyparam_447_416
- u1_plda_pcie_k_phyparam_447_416
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg688
- STG SYSCONSAIF SYSCFG 688
- 0x2b0
+ clk_u0_pcie_apb
+ U0 Clock PCIe APB
+ 0x24
32
- u1_plda_pcie_k_phyparam_479_448
- u1_plda_pcie_k_phyparam_479_448
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg692
- STG SYSCONSAIF SYSCFG 692
- 0x2b4
+ clk_u0_pcie_tl
+ U0 Clock PCIe TL
+ 0x28
32
- u1_plda_pcie_k_phyparam_511_480
- u1_plda_pcie_k_phyparam_511_480
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg696
- STG SYSCONSAIF SYSCFG 696
- 0x2b8
+ clk_u1_pcie_axi_mst0
+ U1 Clock PCIe AXI MST 0
+ 0x2c
32
- u1_plda_pcie_k_phyparam_543_512
- u1_plda_pcie_k_phyparam_543_512
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg700
- STG SYSCONSAIF SYSCFG 700
- 0x2bc
+ clk_u1_pcie_apb
+ U1 Clock PCIe APB
+ 0x30
32
- u1_plda_pcie_k_phyparam_575_544
- u1_plda_pcie_k_phyparam_575_544
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg704
- STG SYSCONSAIF SYSCFG 704
- 0x2c0
+ clk_u1_pcie_tl
+ U1 Clock PCIe TL
+ 0x34
32
- u1_plda_pcie_k_phyparam_607_576
- u1_plda_pcie_k_phyparam_607_576
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg708
- STG SYSCONSAIF SYSCFG 708
- 0x2c4
+ clk_pcie01_slv_dec_main
+ Clock PCIe 01 SLV DEC Main
+ 0x38
32
- u1_plda_pcie_k_phyparam_639_608
- u1_plda_pcie_k_phyparam_639_608
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg712
- STG SYSCONSAIF SYSCFG 712
- 0x2c8
+ clk_sec_hclk
+ Clock Security HCLK
+ 0x3c
32
- u1_plda_pcie_k_phyparam_671_640
- u1_plda_pcie_k_phyparam_671_640
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg716
- STG SYSCONSAIF SYSCFG 716
- 0x2cc
+ clk_sec_misc_ahb
+ Clock Security Miscellaneous AHB
+ 0x40
32
- u1_plda_pcie_k_phyparam_703_672
- u1_plda_pcie_k_phyparam_703_672
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg720
- STG SYSCONSAIF SYSCFG 720
- 0x2d0
+ clk_stg_mtrx_group0_main
+ Clock STG MTRX Group 0 Main
+ 0x44
32
- u1_plda_pcie_k_phyparam_735_704
- u1_plda_pcie_k_phyparam_735_704
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg724
- STG SYSCONSAIF SYSCFG 724
- 0x2d4
+ clk_stg_mtrx_group0_bus
+ Clock STG MTRX Group 0 Bus
+ 0x48
32
- u1_plda_pcie_k_phyparam_767_736
- u1_plda_pcie_k_phyparam_767_736
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg728
- STG SYSCONSAIF SYSCFG 728
- 0x2d8
+ clk_stg_mtrx_group0_stg
+ Clock STG MTRX Group 0 STG
+ 0x4c
32
- u1_plda_pcie_k_phyparam_799_768
- u1_plda_pcie_k_phyparam_799_768
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg732
- STG SYSCONSAIF SYSCFG 732
- 0x2dc
+ clk_stg_mtrx_group1_main
+ Clock STG MTRX Group 1 Main
+ 0x50
32
- u1_plda_pcie_k_phyparam_831_800
- u1_plda_pcie_k_phyparam_831_800
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg736
- STG SYSCONSAIF SYSCFG 736
- 0x2e0
+ clk_stg_mtrx_group1_bus
+ Clock STG MTRX Group 1 Bus
+ 0x54
32
- u1_plda_pcie_k_phyparam_839_832
- u1_plda_pcie_k_phyparam_839_832
- [7:0]
- read-write
-
-
- u1_plda_pcie_k_rp_nep
- u1_plda_pcie_k_rp_nep
- [8:8]
- read-write
-
-
- u1_plda_pcie_l1sub_entack
- u1_plda_pcie_l1sub_entack
- [9:9]
- read-only
-
-
- u1_plda_pcie_l1sub_entreq
- u1_plda_pcie_l1sub_entreq
- [10:10]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg740
- STG SYSCONSAIF SYSCFG 740
- 0x2e4
+ clk_stg_mtrx_group1_stg
+ Clock STG MTRX Group 1 STG
+ 0x58
32
- u1_plda_pcie_local_interrupt_in
- u1_plda_pcie_local_interrupt_in
- [31:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg744
- STG SYSCONSAIF SYSCFG 744
- 0x2e8
+ clk_stg_mtrx_group1_hifi
+ Clock STG MTRX Group 1 HIFI
+ 0x5c
32
- u1_plda_pcie_mperstn
- u1_plda_pcie_mperstn
- [0:0]
- read-write
-
-
- u1_plda_pcie_pcie_ebuf_mode
- u1_plda_pcie_pcie_ebuf_mode
- [1:1]
- read-write
-
-
- u1_plda_pcie_pcie_phy_test_cfg
- u1_plda_pcie_pcie_phy_test_cfg
- [24:2]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
+
+
+
+ clk_e2_rtc
+ Clock E2 RTC
+ 0x60
+ 32
+
- u1_plda_pcie_pcie_rx_eq_training
- u1_plda_pcie_pcie_rx_eq_training
- [25:25]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- u1_plda_pcie_pcie_rxterm_en
- u1_plda_pcie_pcie_rxterm_en
- [26:26]
+ clk_divcfg
+ Clock divider coefficient: Max=24, Default=24, Min=24, Typical=24
+ [23:0]
read-write
+
+
+
+ clk_e2_core
+ Clock E2 Core
+ 0x64
+ 32
+
- u1_plda_pcie_pcie_tx_oneszeros
- u1_plda_pcie_pcie_tx_oneszeros
- [27:27]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg748
- STG SYSCONSAIF SYSCFG 748
- 0x2ec
+ clk_e2_dbg
+ Clock E2 DBG
+ 0x68
32
- u1_plda_pcie_pf0_offset
- u1_plda_pcie_pf0_offset
- [19:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg752
- STG SYSCONSAIF SYSCFG 752
- 0x2f0
+ clk_dma_axi
+ Clock DMA AXI
+ 0x6c
32
- u1_plda_pcie_pf1_offset
- u1_plda_pcie_pf1_offset
- [19:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg756
- STG SYSCONSAIF SYSCFG 756
- 0x2f4
+ clk_dma_ahb
+ Clock DMA AHB
+ 0x70
32
- u1_plda_pcie_pf2_offset
- u1_plda_pcie_pf2_offset
- [19:0]
+ clk_icg
+ 1: Clock enable, 0: Clock disable
+ [31:31]
read-write
- stg_sysconsaif_syscfg760
- STG SYSCONSAIF SYSCFG 760
- 0x2f8
+ soft_rst_addr_sel
+ Software RESET Address Selector
+ 0x74
32
- u1_plda_pcie_pf3_offset
- u1_plda_pcie_pf3_offset
- [19:0]
+ rstn_u0_stg_syscon_presetn
+ 1: Assert reset, 0: De-assert reset
+ [0:0]
read-write
- u1_plda_pcie_phy_mode
- u1_plda_pcie_phy_mode
- [21:20]
+ rst_u0_hifi4_rst_core
+ 1: Assert reset, 0: De-assert reset
+ [1:1]
read-write
- u1_plda_pcie_pl_clkrem_allow
- u1_plda_pcie_pl_clkrem_allow
- [22:22]
+ rst_u0_hifi4_rst_axi
+ 1: Assert reset, 0: De-assert reset
+ [2:2]
read-write
- u1_plda_pcie_pl_clkreq_oen
- u1_plda_pcie_pl_clkreq_oen
- [23:23]
- read-only
+ rstn_u0_sec_top_hreesetn
+ 1: Assert reset, 0: De-assert reset
+ [3:3]
+ read-write
- u1_plda_pcie_pl_equ_phase
- u1_plda_pcie_pl_equ_phase
- [25:24]
- read-only
+ rst_u0_e2_sft7110_rst_core
+ 1: Assert reset, 0: De-assert reset
+ [4:4]
+ read-write
- u1_plda_pcie_pl_ltssm
- u1_plda_pcie_pl_ltssm
- [30:26]
- read-only
+ rstn_u0_dma1p_8ch_56hs_rstn_axi
+ 1: Assert reset, 0: De-assert reset
+ [5:5]
+ read-write
-
-
-
- stg_sysconsaif_syscfg764
- STG SYSCONSAIF SYSCFG 764
- 0x2fc
- 32
-
- u1_plda_pcie_pl_pclk_rate
- u1_plda_pcie_pl_pclk_rate
- [4:0]
- read-only
+ rstn_u0_dma1p_8ch_56hs_rstn_ahb
+ 1: Assert reset, 0: De-assert reset
+ [6:6]
+ read-write
-
-
-
- stg_sysconsaif_syscfg768
- STG SYSCONSAIF SYSCFG 768
- 0x300
- 32
-
- u1_plda_pcie_pl_sideband_in_31_0
- u1_plda_pcie_pl_sideband_in_31_0
- [31:0]
+ rstn_u0_cdn_usb_rstn_axi
+ 1: Assert reset, 0: De-assert reset
+ [7:7]
read-write
-
-
-
- stg_sysconsaif_syscfg772
- STG SYSCONSAIF SYSCFG 772
- 0x304
- 32
-
- u1_plda_pcie_pl_sideband_in_63_32
- u1_plda_pcie_pl_sideband_in_63_32
- [31:0]
+ rstn_u0_cdn_usb_rstn_usb_apb
+ 1: Assert reset, 0: De-assert reset
+ [8:8]
read-write
-
-
-
- stg_sysconsaif_syscfg776
- STG SYSCONSAIF SYSCFG 776
- 0x308
- 32
-
- u1_plda_pcie_pl_sideband_out_31_0
- u1_plda_pcie_pl_sideband_out_31_0
- [31:0]
+ rstn_u0_cdn_usb_rstn_utmi_apb
+ 1: Assert reset, 0: De-assert reset
+ [9:9]
read-write
-
-
-
- stg_sysconsaif_syscfg780
- STG SYSCONSAIF SYSCFG 780
- 0x30c
- 32
-
- u1_plda_pcie_pl_sideband_out_63_32
- u1_plda_pcie_pl_sideband_out_63_32
- [31:0]
+ rstn_u0_cdn_usb_rstn_pwrup
+ 1: Assert reset, 0: De-assert reset
+ [10:10]
read-write
-
-
-
- stg_sysconsaif_syscfg784
- STG SYSCONSAIF SYSCFG 784
- 0x310
- 32
-
- u1_plda_pcie_pl_wake_in
- u1_plda_pcie_pl_wake_in
- [0:0]
+ rstn_u0_plda_pcie_rstn_axi_mst0
+ 1: Assert reset, 0: De-assert reset
+ [11:11]
read-write
- u1_plda_pcie_pl_wake_oen
- u1_plda_pcie_pl_wake_oen
- [1:1]
- read-only
+ rstn_u0_plda_pcie_rstn_axi_slv0
+ 1: Assert reset, 0: De-assert reset
+ [12:12]
+ read-write
- u1_plda_pcie_rx_standby_o
- u1_plda_pcie_rx_standby_o
- [2:2]
- read-only
+ rstn_u0_plda_pcie_rstn_axi_slv
+ 1: Assert reset, 0: De-assert reset
+ [13:13]
+ read-write
-
-
-
- stg_sysconsaif_syscfg788
- STG SYSCONSAIF SYSCFG 788
- 0x314
- 32
-
- u1_plda_pcie_test_in_31_0
- u1_plda_pcie_test_in_31_0
- [31:0]
+ rstn_u0_plda_pci_rstn_brg
+ 1: Assert reset, 0: De-assert reset
+ [14:14]
read-write
-
-
-
- stg_sysconsaif_syscfg792
- STG SYSCONSAIF SYSCFG 792
- 0x318
- 32
-
- u1_plda_pcie_test_in_63_32
- u1_plda_pcie_test_in_63_32
- [31:0]
+ rstn_u0_plda_pcie_rstn_pcie
+ 1: Assert reset, 0: De-assert reset
+ [15:15]
read-write
-
-
-
- stg_sysconsaif_syscfg796
- STG SYSCONSAIF SYSCFG 796
- 0x31c
- 32
-
- u1_plda_pcie_test_out_bridge_31_0
- u1_plda_pcie_test_out_bridge_31_0
- [31:0]
+ rstn_u0_plda_pcie_rstn_apb
+ 1: Assert reset, 0: De-assert reset
+ [16:16]
read-write
-
-
-
- stg_sysconsaif_syscfg800
- STG SYSCONSAIF SYSCFG 800
- 0x320
- 32
-
- u1_plda_pcie_test_out_bridge_63_32
- u1_plda_pcie_test_out_bridge_63_32
- [31:0]
+ rstn_u1_plda_pcie_rstn_axi_mst0
+ 1: Assert reset, 0: De-assert reset
+ [17:17]
read-write
-
-
-
- stg_sysconsaif_syscfg804
- STG SYSCONSAIF SYSCFG 804
- 0x324
- 32
-
- u1_plda_pcie_test_out_bridge_95_64
- u1_plda_pcie_test_out_bridge_95_64
- [31:0]
+ rstn_u1_plda_pcie_rstn_axi_slv0
+ 1: Assert reset, 0: De-assert reset
+ [18:18]
read-write
-
-
-
- stg_sysconsaif_syscfg808
- STG SYSCONSAIF SYSCFG 808
- 0x328
- 32
-
- u1_plda_pcie_test_out_bridge_127_96
- u1_plda_pcie_test_out_bridge_127_96
- [31:0]
+ rstn_u1_plda_pcie_rstn_axi_slv
+ 1: Assert reset, 0: De-assert reset
+ [19:19]
read-write
-
-
-
- stg_sysconsaif_syscfg812
- STG SYSCONSAIF SYSCFG 812
- 0x32c
- 32
-
- u1_plda_pcie_test_out_bridge_159_128
- u1_plda_pcie_test_out_bridge_159_128
- [31:0]
+ rstn_u1_plda_pcie_rstn_brg
+ 1: Assert reset, 0: De-assert reset
+ [20:20]
read-write
-
-
-
- stg_sysconsaif_syscfg816
- STG SYSCONSAIF SYSCFG 816
- 0x330
- 32
-
- u1_plda_pcie_test_out_bridge_191_160
- u1_plda_pcie_test_out_bridge_191_160
- [31:0]
+ rstn_u1_plda_pcie_rstn_pcie
+ 1: Assert reset, 0: De-assert reset
+ [21:21]
read-write
-
-
-
- stg_sysconsaif_syscfg820
- STG SYSCONSAIF SYSCFG 820
- 0x334
- 32
-
- u1_plda_pcie_test_out_bridge_223_192
- u1_plda_pcie_test_out_bridge_223_192
- [31:0]
+ rstn_u1_plda_pcie_rstn_apb
+ 1: Assert reset, 0: De-assert reset
+ [22:22]
read-write
- stg_sysconsaif_syscfg824
- STG SYSCONSAIF SYSCFG 824
- 0x338
+ stgcrg_rst_stat
+ STGCRG RESET Status
+ 0x78
32
- u1_plda_pcie_test_out_bridge_255_224
- u1_plda_pcie_test_out_bridge_255_224
- [31:0]
+ rstn_u0_stg_syscon_presetn
+ 1: Assert reset, 0: De-assert reset
+ [0:0]
read-write
-
-
-
- stg_sysconsaif_syscfg828
- STG SYSCONSAIF SYSCFG 828
- 0x33c
- 32
-
- u1_plda_pcie_test_out_bridge_287_256
- u1_plda_pcie_test_out_bridge_287_256
- [31:0]
+ rst_u0_hifi4_rst_core
+ 1: Assert reset, 0: De-assert reset
+ [1:1]
read-write
-
-
-
- stg_sysconsaif_syscfg832
- STG SYSCONSAIF SYSCFG 832
- 0x340
+
+ rst_u0_hifi4_rst_axi
+ 1: Assert reset, 0: De-assert reset
+ [2:2]
+ read-write
+
+
+ rstn_u0_sec_top_hreesetn
+ 1: Assert reset, 0: De-assert reset
+ [3:3]
+ read-write
+
+
+ rst_u0_e2_sft7110_rst_core
+ 1: Assert reset, 0: De-assert reset
+ [4:4]
+ read-write
+
+
+ rstn_u0_dma1p_8ch_56hs_rstn_axi
+ 1: Assert reset, 0: De-assert reset
+ [5:5]
+ read-write
+
+
+ rstn_u0_dma1p_8ch_56hs_rstn_ahb
+ 1: Assert reset, 0: De-assert reset
+ [6:6]
+ read-write
+
+
+ rstn_u0_cdn_usb_rstn_axi
+ 1: Assert reset, 0: De-assert reset
+ [7:7]
+ read-write
+
+
+ rstn_u0_cdn_usb_rstn_usb_apb
+ 1: Assert reset, 0: De-assert reset
+ [8:8]
+ read-write
+
+
+ rstn_u0_cdn_usb_rstn_utmi_apb
+ 1: Assert reset, 0: De-assert reset
+ [9:9]
+ read-write
+
+
+ rstn_u0_cdn_usb_rstn_pwrup
+ 1: Assert reset, 0: De-assert reset
+ [10:10]
+ read-write
+
+
+ rstn_u0_plda_pcie_rstn_axi_mst0
+ 1: Assert reset, 0: De-assert reset
+ [11:11]
+ read-write
+
+
+ rstn_u0_plda_pcie_rstn_axi_slv0
+ 1: Assert reset, 0: De-assert reset
+ [12:12]
+ read-write
+
+
+ rstn_u0_plda_pcie_rstn_axi_slv
+ 1: Assert reset, 0: De-assert reset
+ [13:13]
+ read-write
+
+
+ rstn_u0_plda_pci_rstn_brg
+ 1: Assert reset, 0: De-assert reset
+ [14:14]
+ read-write
+
+
+ rstn_u0_plda_pcie_rstn_pcie
+ 1: Assert reset, 0: De-assert reset
+ [15:15]
+ read-write
+
+
+ rstn_u0_plda_pcie_rstn_apb
+ 1: Assert reset, 0: De-assert reset
+ [16:16]
+ read-write
+
+
+ rstn_u1_plda_pcie_rstn_axi_mst0
+ 1: Assert reset, 0: De-assert reset
+ [17:17]
+ read-write
+
+
+ rstn_u1_plda_pcie_rstn_axi_slv0
+ 1: Assert reset, 0: De-assert reset
+ [18:18]
+ read-write
+
+
+ rstn_u1_plda_pcie_rstn_axi_slv
+ 1: Assert reset, 0: De-assert reset
+ [19:19]
+ read-write
+
+
+ rstn_u1_plda_pcie_rstn_brg
+ 1: Assert reset, 0: De-assert reset
+ [20:20]
+ read-write
+
+
+ rstn_u1_plda_pcie_rstn_pcie
+ 1: Assert reset, 0: De-assert reset
+ [21:21]
+ read-write
+
+
+ rstn_u1_plda_pcie_rstn_apb
+ 1: Assert reset, 0: De-assert reset
+ [22:22]
+ read-write
+
+
+
+
+
+
+ starfive_jh7110_stg_syscon_0
+ From starfive,jh7110-stg-syscon, peripheral generator
+ 0x10240000
+
+ 0
+ 0x1000
+ registers
+
+
+
+ stg_sysconsaif_syscfg0
+ STG SYSCONSAIF SYSCFG 0
+ 0x0
32
- u1_plda_pcie_test_out_bridge_319_288
- u1_plda_pcie_test_out_bridge_319_288
- [31:0]
+ scfg_hprot_sd0
+ scfg_hprot_sd0
+ [3:0]
+ read-write
+
+
+ scfg_hprot_sd1
+ scfg_hprot_sd1
+ [7:4]
+ read-write
+
+
+ u0_cdn_usb_adp_en
+ u0_cdn_usb_adp_en
+ [8:8]
+ read-only
+
+
+ u0_cdn_usb_adp_probe_ana
+ u0_cdn_usb_adp_probe_ana
+ [9:9]
+ read-write
+
+
+ u0_cdn_usb_adp_probe_en
+ u0_cdn_usb_adp_probe_en
+ [10:10]
+ read-only
+
+
+ u0_cdn_usb_adp_sense_ana
+ u0_cdn_usb_adp_sense_ana
+ [11:11]
+ read-write
+
+
+ u0_cdn_usb_adp_sense_en
+ u0_cdn_usb_adp_sense_en
+ [12:12]
+ read-only
+
+
+ u0_cdn_usb_adp_sink_current_en
+ u0_cdn_usb_adp_sink_current_en
+ [13:13]
+ read-only
+
+
+ u0_cdn_usb_adp_source_current_en
+ u0_cdn_usb_adp_source_current_en
+ [14:14]
+ read-only
+
+
+ u0_cdn_usb_bc_en
+ u0_cdn_usb_bc_en
+ [15:15]
+ read-only
+
+
+ u0_cdn_usb_chrg_vbus
+ u0_cdn_usb_chrg_vbus
+ [16:16]
+ read-write
+
+
+ u0_cdn_usb_dcd_comp_sts
+ u0_cdn_usb_dcd_comp_sts
+ [17:17]
+ read-write
+
+
+ u0_cdn_usb_dischrg_vbus
+ u0_cdn_usb_dischrg_vbus
+ [18:18]
+ read-write
+
+
+ u0_cdn_usb_dm_vdat_ref_comp_en
+ u0_cdn_usb_dm_vdat_ref_comp_en
+ [19:19]
+ read-only
+
+
+ u0_cdn_usb_dm_vdat_ref_comp_sts
+ u0_cdn_usb_dm_vdat_ref_comp_sts
+ [20:20]
+ read-write
+
+
+ u0_cdn_usb_dm_vlgc_comp_en
+ u0_cdn_usb_dm_vlgc_comp_en
+ [21:21]
+ read-only
+
+
+ u0_cdn_usb_dm_vlgc_comp_sts
+ u0_cdn_usb_dm_vlgc_comp_sts
+ [22:22]
+ read-write
+
+
+ u0_cdn_usb_dp_vdat_ref_comp_en
+ u0_cdn_usb_dp_vdat_ref_comp_en
+ [23:23]
+ read-only
+
+
+ u0_cdn_usb_dp_vdat_ref_comp_sts
+ u0_cdn_usb_dp_vdat_ref_comp_sts
+ [24:24]
+ read-write
+
+
+ u0_cdn_usb_host_system_err
+ u0_cdn_usb_host_system_err
+ [25:25]
+ read-write
+
+
+ u0_cdn_usb_hsystem_err_ext
+ u0_cdn_usb_hsystem_err_ext
+ [26:26]
+ read-only
+
+
+ u0_cdn_usb_idm_sink_en
+ u0_cdn_usb_idm_sink_en
+ [27:27]
+ read-only
+
+
+ u0_cdn_usb_idp_sink_en
+ u0_cdn_usb_idp_sink_en
+ [28:28]
+ read-only
+
+
+ u0_cdn_usb_idp_src_en
+ u0_cdn_usb_idp_src_en
+ [29:29]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg4
+ STG SYSCONSAIF SYSCFG 4
+ 0x4
+ 32
+
+
+ u0_cdn_usb_lowest_belt
+ LTM interface to software
+ [11:0]
+ read-only
+
+
+ u0_cdn_usb_ltm_host_req
+ LTM interface to software
+ [12:12]
+ read-only
+
+
+ u0_cdn_usb_ltm_host_req_halt
+ LTM interface to software
+ [13:13]
+ read-write
+
+
+ u0_cdn_usb_mdctrl_clk_sel
+ u0_cdn_usb_mdctrl_clk_sel
+ [14:14]
+ read-write
+
+
+ u0_cdn_usb_mdctrl_clk_status
+ u0_cdn_usb_mdctrl_clk_status
+ [15:15]
+ read-only
+
+
+ u0_cdn_usb_mode_strap
+ Can onlly be changed when pwrup_rst_n is low
+ [18:16]
+ read-write
+
+
+ u0_cdn_usb_otg_suspendm
+ u0_cdn_usb_otg_suspendm
+ [19:19]
+ read-write
+
+
+ u0_cdn_usb_otg_suspendm_byps
+ u0_cdn_usb_otg_suspendm_byps
+ [20:20]
+ read-write
+
+
+ u0_cdn_usb_phy_bvalid
+ u0_cdn_usb_phy_bvalid
+ [21:21]
+ read-only
+
+
+ u0_cdn_usb_pll_en
+ u0_cdn_usb_pll_en
+ [22:22]
+ read-write
+
+
+ u0_cdn_usb_refclk_mode
+ u0_cdn_usb_refclk_mode
+ [23:23]
+ read-write
+
+
+ u0_cdn_usb_rid_a_comp_sts
+ u0_cdn_usb_rid_a_comp_sts
+ [24:24]
+ read-write
+
+
+ u0_cdn_usb_rid_b_comp_sts
+ u0_cdn_usb_rid_b_comp_sts
+ [25:25]
+ read-write
+
+
+ u0_cdn_usb_rid_c_comp_sts
+ u0_cdn_usb_rid_c_comp_sts
+ [26:26]
+ read-write
+
+
+ u0_cdn_usb_rid_float_comp_en
+ u0_cdn_usb_rid_float_comp_en
+ [27:27]
+ read-only
+
+
+ u0_cdn_usb_rid_float_comp_sts
+ u0_cdn_usb_rid_float_comp_sts
+ [28:28]
+ read-write
+
+
+ u0_cdn_usb_rid_gnd_comp_sts
+ u0_cdn_usb_rid_gnd_comp_sts
+ [29:29]
+ read-write
+
+
+ u0_cdn_usb_rid_nonfloat_comp_en
+ u0_cdn_usb_rid_nonfloat_comp_en
+ [30:30]
+ read-only
+
+
+ u0_cdn_usb_rx_dm
+ u0_cdn_usb_rx_dm
+ [31:31]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg8
+ STG SYSCONSAIF SYSCFG 8
+ 0x8
+ 32
+
+
+ u0_cdn_usb_rx_dp
+ u0_cdn_usb_rx_dp
+ [0:0]
+ read-only
+
+
+ u0_cdn_usb_rx_rcv
+ u0_cdn_usb_rx_rcv
+ [1:1]
+ read-only
+
+
+ u0_cdn_usb_self_test
+ For software bist_test
+ [2:2]
+ read-write
+
+
+ u0_cdn_usb_sessend
+ u0_cdn_usb_sessend
+ [3:3]
+ read-only
+
+
+ u0_cdn_usb_sessvalid
+ u0_cdn_usb_sessvalid
+ [4:4]
+ read-only
+
+
+ u0_cdn_usb_sof
+ u0_cdn_usb_sof
+ [5:5]
+ read-only
+
+
+ u0_cdn_usb_test_bist
+ For software bist_test
+ [6:6]
+ read-only
+
+
+ u0_cdn_usb_usbdev_main_power_off_ack
+ u0_cdn_usb_usbdev_main_power_off_ack
+ [7:7]
+ read-only
+
+
+ u0_cdn_usb_usbdev_main_power_off_ready
+ u0_cdn_usb_usbdev_main_power_off_ready
+ [8:8]
+ read-only
+
+
+ u0_cdn_usb_usbdev_main_power_off_req
+ u0_cdn_usb_usbdev_main_power_off_req
+ [9:9]
+ read-write
+
+
+ u0_cdn_usb_usbdev_main_power_on_ready
+ u0_cdn_usb_usbdev_main_power_on_ready
+ [10:10]
+ read-only
+
+
+ u0_cdn_usb_usbdev_main_power_on_req
+ u0_cdn_usb_usbdev_main_power_on_req
+ [11:11]
+ read-only
+
+
+ u0_cdn_usb_usbdev_main_power_on_valid
+ u0_cdn_usb_usbdev_main_power_on_valid
+ [12:12]
+ read-write
+
+
+ u0_cdn_usb_usbdev_power_off_ack
+ u0_cdn_usb_usbdev_power_off_ack
+ [13:13]
+ read-only
+
+
+ u0_cdn_usb_usbdev_power_off_ready
+ u0_cdn_usb_usbdev_power_off_ready
+ [14:14]
+ read-only
+
+
+ u0_cdn_usb_usbdev_power_off_req
+ u0_cdn_usb_usbdev_power_off_req
+ [15:15]
+ read-write
+
+
+ u0_cdn_usb_usbdev_power_on_ready
+ u0_cdn_usb_usbdev_power_on_ready
+ [16:16]
+ read-only
+
+
+ u0_cdn_usb_usbdev_power_on_req
+ u0_cdn_usb_usbdev_power_on_req
+ [17:17]
+ read-only
+
+
+ u0_cdn_usb_usbdev_power_on_valid
+ u0_cdn_usb_usbdev_power_on_valid
+ [18:18]
+ read-write
+
+
+ u0_cdn_usb_utmi_dmpulldown_sit
+ u0_cdn_usb_utmi_dmpulldown_sit
+ [19:19]
+ read-write
+
+
+ u0_cdn_usb_utmi_dppulldown_sit
+ u0_cdn_usb_utmi_dppulldown_sit
+ [20:20]
+ read-write
+
+
+ u0_cdn_usb_utmi_fslsserialmode_sit
+ u0_cdn_usb_utmi_fslsserialmode_sit
+ [21:21]
+ read-write
+
+
+ u0_cdn_usb_utmi_hostdisconnect_sit
+ u0_cdn_usb_utmi_hostdisconnect_sit
+ [22:22]
+ read-only
+
+
+ u0_cdn_usb_utmi_iddig_sit
+ u0_cdn_usb_utmi_iddig_sit
+ [23:23]
+ read-only
+
+
+ u0_cdn_usb_utmi_idpullup_sit
+ u0_cdn_usb_utmi_idpullup_sit
+ [24:24]
+ read-write
+
+
+ u0_cdn_usb_utmi_linestate_sit
+ u0_cdn_usb_utmi_linestate_sit
+ [26:25]
+ read-only
+
+
+ u0_cdn_usb_utmi_opmode_sit
+ u0_cdn_usb_utmi_opmode_sit
+ [28:27]
+ read-write
+
+
+ u0_cdn_usb_utmi_rxactive_sit
+ u0_cdn_usb_utmi_rxactive_sit
+ [29:29]
+ read-only
+
+
+ u0_cdn_usb_utmi_rxerror_sit
+ u0_cdn_usb_utmi_rxerror_sit
+ [30:30]
+ read-only
+
+
+ u0_cdn_usb_utmi_rxvalid_sit
+ u0_cdn_usb_utmi_rxvalid_sit
+ [31:31]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg12
+ STG SYSCONSAIF SYSCFG 12
+ 0xc
+ 32
+
+
+ u0_cdn_usb_utmi_rxvalidh_sit
+ u0_cdn_usb_utmi_rxvalidh_sit
+ [0:0]
+ read-only
+
+
+ u0_cdn_usb_utmi_sessvld
+ u0_cdn_usb_utmi_sessvld
+ [1:1]
+ read-write
+
+
+ u0_cdn_usb_utmi_termselect_sit
+ u0_cdn_usb_utmi_termselect_sit
+ [2:2]
+ read-write
+
+
+ u0_cdn_usb_utmi_tx_dat_sit
+ u0_cdn_usb_utmi_tx_dat_sit
+ [3:3]
+ read-write
+
+
+ u0_cdn_usb_utmi_tx_enable_n_sit
+ u0_cdn_usb_utmi_tx_enable_n_sit
+ [4:4]
+ read-write
+
+
+ u0_cdn_usb_utmi_tx_se0_sit
+ u0_cdn_usb_utmi_tx_se0_sit
+ [5:5]
+ read-write
+
+
+ u0_cdn_usb_utmi_txbitstuffenable_sit
+ u0_cdn_usb_utmi_txbitstuffenable_sit
+ [6:6]
+ read-write
+
+
+ u0_cdn_usb_utmi_txready_sit
+ u0_cdn_usb_utmi_txready_sit
+ [7:7]
+ read-only
+
+
+ u0_cdn_usb_utmi_txvalid_sit
+ u0_cdn_usb_utmi_txvalid_sit
+ [8:8]
+ read-write
+
+
+ u0_cdn_usb_utmi_txvalidh_sit
+ u0_cdn_usb_utmi_txvalidh_sit
+ [9:9]
+ read-write
+
+
+ u0_cdn_usb_utmi_vbusvalid_sit
+ u0_cdn_usb_utmi_vbusvalid_sit
+ [10:10]
+ read-only
+
+
+ u0_cdn_usb_utmi_xcvrselect_sit
+ u0_cdn_usb_utmi_xcvrselect_sit
+ [12:11]
+ read-write
+
+
+ u0_cdn_usb_utmi_vdm_src_en
+ u0_cdn_usb_utmi_vdm_src_en
+ [13:13]
+ read-only
+
+
+ u0_cdn_usb_utmi_vdp_src_en
+ u0_cdn_usb_utmi_vdp_src_en
+ [14:14]
+ read-only
+
+
+ u0_cdn_usb_wakeup
+ u0_cdn_usb_wakeup
+ [15:15]
+ read-write
+
+
+ u0_cdn_usb_xhc_d0_ack
+ u0_cdn_usb_xhc_d0_ack
+ [16:16]
+ read-only
+
+
+ u0_cdn_usb_xhc_d0_req
+ u0_cdn_usb_xhc_d0_req
+ [17:17]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg16
+ STG SYSCONSAIF SYSCFG 16
+ 0x10
+ 32
+
+
+ u0_cdn_usb_xhci_debug_bus
+ u0_cdn_usb_xhci_debug_bus
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg20
+ STG SYSCONSAIF SYSCFG 20
+ 0x14
+ 32
+
+
+ u0_cdn_usb_xhci_debug_link_state
+ u0_cdn_usb_xhci_debug_link_state
+ [30:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg24
+ STG SYSCONSAIF SYSCFG 24
+ 0x18
+ 32
+
+
+ u0_cdn_usb_xhci_debug_sel
+ u0_cdn_usb_xhci_debug_sel
+ [4:0]
+ read-write
+
+
+ u0_cdn_usb_xhci_main_power_off_ack
+ u0_cdn_usb_xhci_main_power_off_ack
+ [5:5]
+ read-only
+
+
+ u0_cdn_usb_xhci_main_power_off_req
+ u0_cdn_usb_xhci_main_power_off_req
+ [6:6]
+ read-only
+
+
+ u0_cdn_usb_xhci_main_power_on_ready
+ u0_cdn_usb_xhci_main_power_on_ready
+ [7:7]
+ read-write
+
+
+ u0_cdn_usb_xhci_main_power_on_req
+ u0_cdn_usb_xhci_main_power_on_req
+ [8:8]
+ read-only
+
+
+ u0_cdn_usb_xhci_main_power_on_valid
+ u0_cdn_usb_xhci_main_power_on_valid
+ [9:9]
+ read-write
+
+
+ u0_cdn_usb_xhci_power_off_ack
+ u0_cdn_usb_xhci_power_off_ack
+ [10:10]
+ read-only
+
+
+ u0_cdn_usb_xhci_power_off_ready
+ u0_cdn_usb_xhci_power_off_ready
+ [11:11]
+ read-only
+
+
+ u0_cdn_usb_xhci_power_off_req
+ u0_cdn_usb_xhci_power_off_req
+ [12:12]
+ read-write
+
+
+ u0_cdn_usb_xhci_power_on_ready
+ u0_cdn_usb_xhci_power_on_ready
+ [13:13]
+ read-only
+
+
+ u0_cdn_usb_xhci_power_on_req
+ u0_cdn_usb_xhci_power_on_req
+ [14:14]
+ read-only
+
+
+ u0_cdn_usb_xhci_power_on_valid
+ u0_cdn_usb_xhci_power_on_valid
+ [15:15]
+ read-write
+
+
+ u0_e2_sft7110_cease_from_tile_0
+ u0_e2_sft7110_cease_from_tile_0
+ [16:16]
+ read-only
+
+
+ u0_e2_sft7110_debug_from_tile_0
+ u0_e2_sft7110_debug_from_tile_0
+ [17:17]
+ read-only
+
+
+ u0_e2_sft7110_halt_from_tile_0
+ u0_e2_sft7110_halt_from_tile_0
+ [18:18]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg28
+ STG SYSCONSAIF SYSCFG 28
+ 0x1c
+ 32
+
+
+ u0_e2_sft7110_nmi_0_rnmi_exception_vector
+ u0_e2_sft7110_nmi_0_rnmi_exception_vector
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg32
+ STG SYSCONSAIF SYSCFG 32
+ 0x20
+ 32
+
+
+ u0_e2_sft7110_nmi_0_rnmi_interrupt_vector
+ u0_e2_sft7110_nmi_0_rnmi_interrupt_vector
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg36
+ STG SYSCONSAIF SYSCFG 36
+ 0x24
+ 32
+
+
+ u0_e2_sft7110_reset_vector_0
+ u0_e2_sft7110_reset_vector_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg40
+ STG SYSCONSAIF SYSCFG 40
+ 0x28
+ 32
+
+
+ u0_e2_sft7110_wfi_from_tile_0
+ u0_e2_sft7110_wfi_from_tile_0
+ [0:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg44
+ STG SYSCONSAIF SYSCFG 44
+ 0x2c
+ 32
+
+
+ u0_hifi4_altresetvec
+ Reset Vector Address
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg48
+ STG SYSCONSAIF SYSCFG 48
+ 0x30
+ 32
+
+
+ u0_hifi4_breakin
+ Debug signal
+ [0:0]
+ read-write
+
+
+ u0_hifi4_breakinack
+ Debug signal
+ [1:1]
+ read-only
+
+
+ u0_hifi4_breakout
+ Debug signal
+ [2:2]
+ read-only
+
+
+ u0_hifi4_breakoutack
+ Debug signal
+ [3:3]
+ read-write
+
+
+ u0_hifi4_debugmode
+ Debug signal
+ [4:4]
+ read-only
+
+
+ u0_hifi4_doubleexceptionerror
+ Fault Handling Signals
+ [5:5]
+ read-only
+
+
+ u0_hifi4_iram0loadstore
+ Indicates that iram0 works
+ [6:6]
+ read-only
+
+
+ u0_hifi4_iram1loadstore
+ Indicates that iram1 works
+ [7:7]
+ read-only
+
+
+ u0_hifi4_ocdhaltonreset
+ Debug signal
+ [8:8]
+ read-write
+
+
+ u0_hifi4_pfatalerror
+ Fault Handling Signals
+ [9:9]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg52
+ STG SYSCONSAIF SYSCFG 52
+ 0x34
+ 32
+
+
+ u0_hifi4_pfaultinfo
+ Fault Handling Signals
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg56
+ STG SYSCONSAIF SYSCFG 56
+ 0x38
+ 32
+
+
+ u0_hifi4_pfaultinfovalid
+ Fault Handling Signals
+ [0:0]
+ read-only
+
+
+ u0_hifi4_prid
+ Module ID
+ [16:1]
+ read-write
+
+
+ u0_hifi4_pwaitmode
+ Wait Mode
+ [17:17]
+ read-only
+
+
+ u0_hifi4_runstall
+ Run Stall
+ [18:18]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg60
+ STG SYSCONSAIF SYSCFG 60
+ 0x3c
+ 32
+
+
+ u0_hifi4_scfg_dsp_mst_offset_master
+ Indicates that master port remap address
+ [11:0]
+ read-write
+
+
+ u0_hifi4_scfg_dsp_mst_offset_dma
+ Indicates the DMA port remap address
+ [27:16]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg64
+ STG SYSCONSAIF SYSCFG 64
+ 0x40
+ 32
+
+
+ u0_hifi4_scfg_dsp_slv_offset
+ The value indicates the slave port remap address
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg68
+ STG SYSCONSAIF SYSCFG 68
+ 0x44
+ 32
+
+
+ u0_hifi4_scfg_sram_config_slp
+ SRAM/ROM configuration. SLP: sleep enable, high active, default is low.
+ [0:0]
+ read-write
+
+
+ u0_hifi4_scfg_sram_config_sram_config_sd
+ SRAM/ROM configuration. SD: shutdown enable, high active, default is low.
+ [1:1]
+ read-write
+
+
+ u0_hifi4_scfg_sram_config_rtsel
+ SRAM/ROM configuration. RTSEL: timing setting for debug purpose, default is 2'b01.
+ [3:2]
+ read-write
+
+
+ u0_hifi4_scfg_sram_config_ptsel
+ SRAM/ROM configuration. PTSEL: timing setting for debug purpose, default is 2'b01.
+ [5:4]
+ read-write
+
+
+ u0_hifi4_scfg_sram_config_trb
+ SRAM/ROM configuration. TRB: timing setting for debug purpose, default is 2'b01.
+ [7:6]
+ read-write
+
+
+ u0_hifi4_scfg_sram_config_wtsel
+ SRAM/ROM configuration. WTSEL: timing setting for debug purpose, default is 2'b01.
+ [9:8]
+ read-write
+
+
+ u0_hifi4_scfg_sram_config_vs
+ SRAM/ROM configuration. VS: timing setting for debug purpose, default is 1'b1.
+ [10:10]
+ read-write
+
+
+ u0_hifi4_scfg_sram_config_vg
+ SRAM/ROM configuration. VG: timing setting for debug purpose, default is 1'b1.
+ [11:11]
+ read-write
+
+
+ u0_hifi4_statvectorsel
+ When the value is 1, it indicates that the AltResetVec is valid
+ [12:12]
+ read-write
+
+
+ u0_hifi4_trigin_idma
+ DMA port trigger
+ [13:13]
+ read-write
+
+
+ u0_hifi4_trigout_idma
+ DMA port trigger
+ [14:14]
+ read-only
+
+
+ u0_hifi4_xocdmode
+ Debug signal
+ [15:15]
+ read-only
+
+
+ u0_plda_pcie_align_detect
+ u0_plda_pcie_align_detect
+ [16:16]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg72
+ STG SYSCONSAIF SYSCFG 72
+ 0x48
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_31_0
+ u0_plda_pcie_axi4_mst0_aratomop_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg76
+ STG SYSCONSAIF SYSCFG 76
+ 0x4c
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_63_32
+ u0_plda_pcie_axi4_mst0_aratomop_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg80
+ STG SYSCONSAIF SYSCFG 80
+ 0x50
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_95_64
+ u0_plda_pcie_axi4_mst0_aratomop_95_64
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg84
+ STG SYSCONSAIF SYSCFG 84
+ 0x54
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_127_96
+ u0_plda_pcie_axi4_mst0_aratomop_127_96
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg88
+ STG SYSCONSAIF SYSCFG 88
+ 0x58
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_159_128
+ u0_plda_pcie_axi4_mst0_aratomop_159_128
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg92
+ STG SYSCONSAIF SYSCFG 92
+ 0x5c
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_191_160
+ u0_plda_pcie_axi4_mst0_aratomop_191_160
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg96
+ STG SYSCONSAIF SYSCFG 96
+ 0x60
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_223_192
+ u0_plda_pcie_axi4_mst0_aratomop_223_192
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg100
+ STG SYSCONSAIF SYSCFG 100
+ 0x64
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_255_224
+ u0_plda_pcie_axi4_mst0_aratomop_255_224
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg104
+ STG SYSCONSAIF SYSCFG 104
+ 0x68
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_257_256
+ u0_plda_pcie_axi4_mst0_aratomop_257_256
+ [1:0]
+ read-only
+
+
+ u0_plda_pcie_axi4_mst0_arfunc
+ u0_plda_pcie_axi4_mst0_arfunc
+ [16:2]
+ read-only
+
+
+ u0_plda_pcie_axi4_mst0_arregion
+ u0_plda_pcie_axi4_mst0_arregion
+ [20:17]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg108
+ STG SYSCONSAIF SYSCFG 108
+ 0x6c
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aruser_31_0
+ u0_plda_pcie_axi4_mst0_aruser_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg112
+ STG SYSCONSAIF SYSCFG 112
+ 0x70
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aruser_63_32
+ u0_plda_pcie_axi4_mst0_aruser_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg116
+ STG SYSCONSAIF SYSCFG 116
+ 0x74
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_awfunc
+ u0_plda_pcie_axi4_mst0_awfunc
+ [14:0]
+ read-only
+
+
+ u0_plda_pcie_axi4_mst0_awregion
+ u0_plda_pcie_axi4_mst0_awregion
+ [18:15]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg120
+ STG SYSCONSAIF SYSCFG 120
+ 0x78
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_a2user_31_0
+ u0_plda_pcie_axi4_mst0_a2user_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg124
+ STG SYSCONSAIF SYSCFG 124
+ 0x7c
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_awuser_42_32
+ u0_plda_pcie_axi4_mst0_awuser_42_32
+ [10:0]
+ read-only
+
+
+ u0_plda_pcie_axi4_mst0_rderr
+ u0_plda_pcie_axi4_mst0_rderr
+ [18:11]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg128
+ STG SYSCONSAIF SYSCFG 128
+ 0x80
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_ruser
+ u0_plda_pcie_axi4_mst0_ruser
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg132
+ STG SYSCONSAIF SYSCFG 132
+ 0x84
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_wderr
+ u0_plda_pcie_axi4_mst0_wderr
+ [7:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg136
+ STG SYSCONSAIF SYSCFG 136
+ 0x88
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_31_0
+ u0_plda_pcie_axi4_slv0_aratomop_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg140
+ STG SYSCONSAIF SYSCFG 140
+ 0x8c
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_63_32
+ u0_plda_pcie_axi4_slv0_aratomop_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg144
+ STG SYSCONSAIF SYSCFG 144
+ 0x90
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_95_64
+ u0_plda_pcie_axi4_slv0_aratomop_95_64
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg148
+ STG SYSCONSAIF SYSCFG 148
+ 0x94
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_127_96
+ u0_plda_pcie_axi4_slv0_aratomop_127_96
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg152
+ STG SYSCONSAIF SYSCFG 152
+ 0x98
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_159_128
+ u0_plda_pcie_axi4_slv0_aratomop_159_128
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg156
+ STG SYSCONSAIF SYSCFG 156
+ 0x9c
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_191_160
+ u0_plda_pcie_axi4_slv0_aratomop_191_160
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg160
+ STG SYSCONSAIF SYSCFG 160
+ 0xa0
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_223_192
+ u0_plda_pcie_axi4_slv0_aratomop_223_192
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg164
+ STG SYSCONSAIF SYSCFG 164
+ 0xa4
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_255_224
+ u0_plda_pcie_axi4_slv0_aratomop_255_224
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg168
+ STG SYSCONSAIF SYSCFG 168
+ 0xa8
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aratomop_257_256
+ u0_plda_pcie_axi4_slv0_aratomop_257_256
+ [1:0]
+ read-write
+
+
+ u0_plda_pcie_axi4_slv0_arfunc
+ u0_plda_pcie_axi4_slv0_arfunc
+ [16:2]
+ read-write
+
+
+ u0_plda_pcie_axi4_slv0_arregion
+ u0_plda_pcie_axi4_slv0_arregion
+ [20:17]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg172
+ STG SYSCONSAIF SYSCFG 172
+ 0xac
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aruser_31_0
+ u0_plda_pcie_axi4_slv0_aruser_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg176
+ STG SYSCONSAIF SYSCFG 176
+ 0xb0
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_aruser_40_32
+ u0_plda_pcie_axi4_slv0_aruser_40_32
+ [8:0]
+ read-write
+
+
+ u0_plda_pcie_axi4_slv0_awfunc
+ u0_plda_pcie_axi4_slv0_awfunc
+ [23:9]
+ read-write
+
+
+ u0_plda_pcie_axi4_slv0_awregion
+ u0_plda_pcie_axi4_slv0_awregion
+ [27:24]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg180
+ STG SYSCONSAIF SYSCFG 180
+ 0xb4
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_awuser_31_0
+ u0_plda_pcie_axi4_slv0_awuser_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg184
+ STG SYSCONSAIF SYSCFG 184
+ 0xb8
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_awuser_40_32
+ u0_plda_pcie_axi4_slv0_awuser_40_32
+ [8:0]
+ read-write
+
+
+ u0_plda_pcie_axi4_slv0_rderr
+ u0_plda_pcie_axi4_slv0_rderr
+ [16:9]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg188
+ STG SYSCONSAIF SYSCFG 188
+ 0xbc
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_ruser
+ u0_plda_pcie_axi4_slv0_ruser
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg192
+ STG SYSCONSAIF SYSCFG 192
+ 0xc0
+ 32
+
+
+ u0_plda_pcie_axi4_slv0_wderr
+ u0_plda_pcie_axi4_slv0_wderr
+ [7:0]
+ read-write
+
+
+ u0_plda_pcie_axi4_slvl_arfunc
+ u0_plda_pcie_axi4_slvl_arfunc
+ [22:8]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg196
+ STG SYSCONSAIF SYSCFG 196
+ 0xc4
+ 32
+
+
+ u0_plda_pcie_axi4_slvl_awfunc
+ u0_plda_pcie_axi4_slvl_awfunc
+ [14:0]
+ read-write
+
+
+ u0_plda_pcie_bus_width_o
+ u0_plda_pcie_bus_width_o
+ [16:15]
+ read-only
+
+
+ u0_plda_pcie_bypass_codec
+ u0_plda_pcie_bypass_codec
+ [17:17]
+ read-write
+
+
+ u0_plda_pcie_ckref_src
+ u0_plda_pcie_ckref_src
+ [19:18]
+ read-write
+
+
+ u0_plda_pcie_clk_sel
+ u0_plda_pcie_clk_sel
+ [21:20]
+ read-write
+
+
+ u0_plda_pcie_clkreq
+ u0_plda_pcie_clkreq
+ [22:22]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg200
+ STG SYSCONSAIF SYSCFG 200
+ 0xc8
+ 32
+
+
+ u0_plda_pcie_k_phyparam_31_0
+ u0_plda_pcie_k_phyparam_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg204
+ STG SYSCONSAIF SYSCFG 204
+ 0xcc
+ 32
+
+
+ u0_plda_pcie_k_phyparam_63_32
+ u0_plda_pcie_k_phyparam_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg208
+ STG SYSCONSAIF SYSCFG 208
+ 0xd0
+ 32
+
+
+ u0_plda_pcie_k_phyparam_95_64
+ u0_plda_pcie_k_phyparam_95_64
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg212
+ STG SYSCONSAIF SYSCFG 212
+ 0xd4
+ 32
+
+
+ u0_plda_pcie_k_phyparam_127_96
+ u0_plda_pcie_k_phyparam_127_96
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg216
+ STG SYSCONSAIF SYSCFG 216
+ 0xd8
+ 32
+
+
+ u0_plda_pcie_k_phyparam_159_128
+ u0_plda_pcie_k_phyparam_159_128
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg220
+ STG SYSCONSAIF SYSCFG 220
+ 0xdc
+ 32
+
+
+ u0_plda_pcie_k_phyparam_191_160
+ u0_plda_pcie_k_phyparam_191_160
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg224
+ STG SYSCONSAIF SYSCFG 224
+ 0xe0
+ 32
+
+
+ u0_plda_pcie_k_phyparam_223_192
+ u0_plda_pcie_k_phyparam_223_192
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg228
+ STG SYSCONSAIF SYSCFG 228
+ 0xe4
+ 32
+
+
+ u0_plda_pcie_k_phyparam_255_224
+ u0_plda_pcie_k_phyparam_255_224
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg232
+ STG SYSCONSAIF SYSCFG 232
+ 0xe8
+ 32
+
+
+ u0_plda_pcie_k_phyparam_287_256
+ u0_plda_pcie_k_phyparam_287_256
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg236
+ STG SYSCONSAIF SYSCFG 236
+ 0xec
+ 32
+
+
+ u0_plda_pcie_k_phyparam_319_288
+ u0_plda_pcie_k_phyparam_319_288
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg240
+ STG SYSCONSAIF SYSCFG 240
+ 0xf0
+ 32
+
+
+ u0_plda_pcie_k_phyparam_351_320
+ u0_plda_pcie_k_phyparam_351_320
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg244
+ STG SYSCONSAIF SYSCFG 244
+ 0xf4
+ 32
+
+
+ u0_plda_pcie_k_phyparam_383_352
+ u0_plda_pcie_k_phyparam_383_352
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg248
+ STG SYSCONSAIF SYSCFG 248
+ 0xf8
+ 32
+
+
+ u0_plda_pcie_k_phyparam_415_384
+ u0_plda_pcie_k_phyparam_415_384
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg252
+ STG SYSCONSAIF SYSCFG 252
+ 0xfc
+ 32
+
+
+ u0_plda_pcie_k_phyparam_447_416
+ u0_plda_pcie_k_phyparam_447_416
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg256
+ STG SYSCONSAIF SYSCFG 256
+ 0x100
+ 32
+
+
+ u0_plda_pcie_k_phyparam_479_448
+ u0_plda_pcie_k_phyparam_479_448
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg260
+ STG SYSCONSAIF SYSCFG 260
+ 0x104
+ 32
+
+
+ u0_plda_pcie_k_phyparam_511_480
+ u0_plda_pcie_k_phyparam_511_480
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg264
+ STG SYSCONSAIF SYSCFG 264
+ 0x108
+ 32
+
+
+ u0_plda_pcie_k_phyparam_543_512
+ u0_plda_pcie_k_phyparam_543_512
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg268
+ STG SYSCONSAIF SYSCFG 268
+ 0x10c
+ 32
+
+
+ u0_plda_pcie_k_phyparam_575_544
+ u0_plda_pcie_k_phyparam_575_544
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg272
+ STG SYSCONSAIF SYSCFG 272
+ 0x110
+ 32
+
+
+ u0_plda_pcie_k_phyparam_607_576
+ u0_plda_pcie_k_phyparam_607_576
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg276
+ STG SYSCONSAIF SYSCFG 276
+ 0x114
+ 32
+
+
+ u0_plda_pcie_k_phyparam_639_608
+ u0_plda_pcie_k_phyparam_639_608
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg280
+ STG SYSCONSAIF SYSCFG 280
+ 0x118
+ 32
+
+
+ u0_plda_pcie_k_phyparam_671_640
+ u0_plda_pcie_k_phyparam_671_640
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg284
+ STG SYSCONSAIF SYSCFG 284
+ 0x11c
+ 32
+
+
+ u0_plda_pcie_k_phyparam_703_672
+ u0_plda_pcie_k_phyparam_703_672
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg288
+ STG SYSCONSAIF SYSCFG 288
+ 0x120
+ 32
+
+
+ u0_plda_pcie_k_phyparam_735_704
+ u0_plda_pcie_k_phyparam_735_704
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg292
+ STG SYSCONSAIF SYSCFG 292
+ 0x124
+ 32
+
+
+ u0_plda_pcie_k_phyparam_767_736
+ u0_plda_pcie_k_phyparam_767_736
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg296
+ STG SYSCONSAIF SYSCFG 296
+ 0x128
+ 32
+
+
+ u0_plda_pcie_k_phyparam_799_768
+ u0_plda_pcie_k_phyparam_799_768
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg300
+ STG SYSCONSAIF SYSCFG 300
+ 0x12c
+ 32
+
+
+ u0_plda_pcie_k_phyparam_831_800
+ u0_plda_pcie_k_phyparam_831_800
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg304
+ STG SYSCONSAIF SYSCFG 304
+ 0x130
+ 32
+
+
+ u0_plda_pcie_k_phyparam_839_832
+ u0_plda_pcie_k_phyparam_839_832
+ [7:0]
+ read-write
+
+
+ u0_plda_pcie_k_rp_nep
+ u0_plda_pcie_k_rp_nep
+ [8:8]
+ read-write
+
+
+ u0_plda_pcie_l1sub_entack
+ u0_plda_pcie_l1sub_entack
+ [9:9]
+ read-only
+
+
+ u0_plda_pcie_l1sub_entreq
+ u0_plda_pcie_l1sub_entreq
+ [10:10]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg308
+ STG SYSCONSAIF SYSCFG 308
+ 0x134
+ 32
+
+
+ u0_plda_pcie_local_interrupt_in
+ u0_plda_pcie_local_interrupt_in
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg312
+ STG SYSCONSAIF SYSCFG 312
+ 0x138
+ 32
+
+
+ u0_plda_pcie_mperstn
+ u0_plda_pcie_mperstn
+ [0:0]
+ read-write
+
+
+ u0_plda_pcie_pcie_ebuf_mode
+ u0_plda_pcie_pcie_ebuf_mode
+ [1:1]
+ read-write
+
+
+ u0_plda_pcie_pcie_phy_test_cfg
+ u0_plda_pcie_pcie_phy_test_cfg
+ [24:2]
+ read-write
+
+
+ u0_plda_pcie_pcie_rx_eq_training
+ u0_plda_pcie_pcie_rx_eq_training
+ [25:25]
+ read-write
+
+
+ u0_plda_pcie_pcie_rxterm_en
+ u0_plda_pcie_pcie_rxterm_en
+ [26:26]
+ read-write
+
+
+ u0_plda_pcie_pcie_tx_onezeros
+ u0_plda_pcie_pcie_tx_onezeros
+ [27:27]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg316
+ STG SYSCONSAIF SYSCFG 316
+ 0x13c
+ 32
+
+
+ u0_plda_pcie_pf0_offset
+ u0_plda_pcie_pf0_offset
+ [19:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg320
+ STG SYSCONSAIF SYSCFG 320
+ 0x140
+ 32
+
+
+ u0_plda_pcie_pf1_offset
+ u0_plda_pcie_pf1_offset
+ [19:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg324
+ STG SYSCONSAIF SYSCFG 324
+ 0x144
+ 32
+
+
+ u0_plda_pcie_pf2_offset
+ u0_plda_pcie_pf2_offset
+ [19:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg328
+ STG SYSCONSAIF SYSCFG 328
+ 0x148
+ 32
+
+
+ u0_plda_pcie_pf3_offset
+ u0_plda_pcie_pf3_offset
+ [19:0]
+ read-write
+
+
+ u0_plda_pcie_phy_mode
+ u0_plda_pcie_phy_mode
+ [21:20]
+ read-write
+
+
+ u0_plda_pcie_pl_clkrem_allow
+ u0_plda_pcie_pl_clkrem_allow
+ [22:22]
+ read-write
+
+
+ u0_plda_pcie_pl_clkreq_oen
+ u0_plda_pcie_pl_clkreq_oen
+ [23:23]
+ read-only
+
+
+ u0_plda_pcie_pl_equ_phase
+ u0_plda_pcie_pl_equ_phase
+ [25:24]
+ read-only
+
+
+ u0_plda_pcie_pl_ltssm
+ u0_plda_pcie_pl_ltssm
+ [30:26]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg332
+ STG SYSCONSAIF SYSCFG 332
+ 0x14c
+ 32
+
+
+ u0_plda_pcie_pl_pclk_rate
+ u0_plda_pcie_pl_pclk_rate
+ [4:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg336
+ STG SYSCONSAIF SYSCFG 336
+ 0x150
+ 32
+
+
+ u0_plda_pcie_pl_sideband_in_31_0
+ u0_plda_pcie_pl_sideband_in_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg340
+ STG SYSCONSAIF SYSCFG 340
+ 0x154
+ 32
+
+
+ u0_plda_pcie_pl_sideband_in_63_32
+ u0_plda_pcie_pl_sideband_in_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg344
+ STG SYSCONSAIF SYSCFG 344
+ 0x158
+ 32
+
+
+ u0_plda_pcie_pl_sideband_out_31_0
+ u0_plda_pcie_pl_sideband_out_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg348
+ STG SYSCONSAIF SYSCFG 348
+ 0x15c
+ 32
+
+
+ u0_plda_pcie_pl_sideband_out_63_32
+ u0_plda_pcie_pl_sideband_out_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg352
+ STG SYSCONSAIF SYSCFG 352
+ 0x160
+ 32
+
+
+ u0_plda_pcie_pl_wake_in
+ u0_plda_pcie_pl_wake_in
+ [0:0]
+ read-write
+
+
+ u0_plda_pcie_pl_wake_oen
+ u0_plda_pcie_pl_wake_oen
+ [1:1]
+ read-only
+
+
+ u0_plda_pcie_rx_standby_0
+ u0_plda_pcie_rx_standby_0
+ [2:2]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg356
+ STG SYSCONSAIF SYSCFG 356
+ 0x164
+ 32
+
+
+ u0_plda_pcie_test_in_31_0
+ u0_plda_pcie_test_in_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg360
+ STG SYSCONSAIF SYSCFG 360
+ 0x168
+ 32
+
+
+ u0_plda_pcie_test_in_63_32
+ u0_plda_pcie_test_in_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg364
+ STG SYSCONSAIF SYSCFG 364
+ 0x16c
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_31_0
+ u0_plda_pcie_test_out_bridge_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg368
+ STG SYSCONSAIF SYSCFG 368
+ 0x170
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_63_32
+ u0_plda_pcie_test_out_bridge_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg372
+ STG SYSCONSAIF SYSCFG 372
+ 0x174
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_95_64
+ u0_plda_pcie_test_out_bridge_95_64
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg376
+ STG SYSCONSAIF SYSCFG 376
+ 0x178
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_127_96
+ u0_plda_pcie_test_out_bridge_127_96
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg380
+ STG SYSCONSAIF SYSCFG 380
+ 0x17c
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_159_128
+ u0_plda_pcie_test_out_bridge_159_128
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg384
+ STG SYSCONSAIF SYSCFG 384
+ 0x180
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_191_160
+ u0_plda_pcie_test_out_bridge_191_160
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg388
+ STG SYSCONSAIF SYSCFG 388
+ 0x184
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_223_192
+ u0_plda_pcie_test_out_bridge_223_192
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg392
+ STG SYSCONSAIF SYSCFG 392
+ 0x188
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_255_224
+ u0_plda_pcie_test_out_bridge_255_224
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg396
+ STG SYSCONSAIF SYSCFG 396
+ 0x18c
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_287_256
+ u0_plda_pcie_test_out_bridge_287_256
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg400
+ STG SYSCONSAIF SYSCFG 400
+ 0x190
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_319_288
+ u0_plda_pcie_test_out_bridge_319_288
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg404
+ STG SYSCONSAIF SYSCFG 404
+ 0x194
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_351_320
+ u0_plda_pcie_test_out_bridge_351_320
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg408
+ STG SYSCONSAIF SYSCFG 408
+ 0x198
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_383_352
+ u0_plda_pcie_test_out_bridge_383_352
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg412
+ STG SYSCONSAIF SYSCFG 412
+ 0x19c
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_415_384
+ u0_plda_pcie_test_out_bridge_415_384
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg416
+ STG SYSCONSAIF SYSCFG 416
+ 0x1a0
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_447_416
+ u0_plda_pcie_test_out_bridge_447_416
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg420
+ STG SYSCONSAIF SYSCFG 420
+ 0x1a4
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_479_448
+ u0_plda_pcie_test_out_bridge_479_448
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg424
+ STG SYSCONSAIF SYSCFG 424
+ 0x1a8
+ 32
+
+
+ u0_plda_pcie_test_out_bridge_511_480
+ u0_plda_pcie_test_out_bridge_511_480
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg428
+ STG SYSCONSAIF SYSCFG 428
+ 0x1ac
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_31_0
+ u0_plda_pcie_test_out_pcie_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg432
+ STG SYSCONSAIF SYSCFG 432
+ 0x1b0
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_63_32
+ u0_plda_pcie_test_out_pcie_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg436
+ STG SYSCONSAIF SYSCFG 436
+ 0x1b4
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_95_64
+ u0_plda_pcie_test_out_pcie_95_64
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg440
+ STG SYSCONSAIF SYSCFG 440
+ 0x1b8
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_127_96
+ u0_plda_pcie_test_out_pcie_127_96
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg444
+ STG SYSCONSAIF SYSCFG 444
+ 0x1bc
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_159_128
+ u0_plda_pcie_test_out_pcie_159_128
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg448
+ STG SYSCONSAIF SYSCFG 448
+ 0x1c0
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_191_160
+ u0_plda_pcie_test_out_pcie_191_160
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg452
+ STG SYSCONSAIF SYSCFG 452
+ 0x1c4
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_223_192
+ u0_plda_pcie_test_out_pcie_223_192
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg456
+ STG SYSCONSAIF SYSCFG 456
+ 0x1c8
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_255_224
+ u0_plda_pcie_test_out_pcie_255_224
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg460
+ STG SYSCONSAIF SYSCFG 460
+ 0x1cc
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_287_256
+ u0_plda_pcie_test_out_pcie_287_256
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg464
+ STG SYSCONSAIF SYSCFG 464
+ 0x1d0
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_319_288
+ u0_plda_pcie_test_out_pcie_319_288
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg468
+ STG SYSCONSAIF SYSCFG 468
+ 0x1d4
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_351_320
+ u0_plda_pcie_test_out_pcie_351_320
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg472
+ STG SYSCONSAIF SYSCFG 472
+ 0x1d8
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_383_352
+ u0_plda_pcie_test_out_pcie_383_352
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg476
+ STG SYSCONSAIF SYSCFG 476
+ 0x1dc
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_415_384
+ u0_plda_pcie_test_out_pcie_415_384
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg480
+ STG SYSCONSAIF SYSCFG 480
+ 0x1e0
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_447_416
+ u0_plda_pcie_test_out_pcie_447_416
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg484
+ STG SYSCONSAIF SYSCFG 484
+ 0x1e4
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_479_448
+ u0_plda_pcie_test_out_pcie_479_448
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg488
+ STG SYSCONSAIF SYSCFG 488
+ 0x1e8
+ 32
+
+
+ u0_plda_pcie_test_out_pcie_511_480
+ u0_plda_pcie_test_out_pcie_511_480
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg492
+ STG SYSCONSAIF SYSCFG 492
+ 0x1ec
+ 32
+
+
+ u0_plda_pcie_test_sel
+ u0_plda_pcie_test_sel
+ [3:0]
+ read-write
+
+
+ u0_plda_pcie_tl_clock_freq
+ u0_plda_pcie_tl_clock_freq
+ [25:4]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg500
+ STG SYSCONSAIF SYSCFG 500
+ 0x1f4
+ 32
+
+
+ u0_plda_pcie_tx_pattern
+ u0_plda_pcie_tx_pattern
+ [1:0]
+ read-write
+
+
+ u0_plda_pcie_usb3_bus_width
+ u0_plda_pcie_usb3_bus_width
+ [3:2]
+ read-write
+
+
+ u0_plda_pcie_usb3_phy_enable
+ u0_plda_pcie_usb3_phy_enable
+ [4:4]
+ read-write
+
+
+ u0_plda_pcie_usb3_rate
+ u0_plda_pcie_usb3_rate
+ [6:5]
+ read-write
+
+
+ u0_plda_pcie_usb3_rx_standby
+ u0_plda_pcie_usb3_rx_standby
+ [7:7]
+ read-write
+
+
+ u0_plda_pcie_xwdecerr
+ u0_plda_pcie_xwdecerr
+ [8:8]
+ read-only
+
+
+ u0_plda_pcie_xwerrclr
+ u0_plda_pcie_xwerrclr
+ [9:9]
+ read-write
+
+
+ u0_plda_pcie_xwslverr
+ u0_plda_pcie_xwslverr
+ [10:10]
+ read-only
+
+
+ u0_sec_top_sramcfg_slp
+ SRAM/ROM configuration. SLP: sleep enable, high active, default is low.
+ [11:11]
+ read-write
+
+
+ u0_sec_top_sramcfg_sram_config_sd
+ SRAM/ROM configuration. SD: shutdown enable, high active, default is low.
+ [12:12]
+ read-write
+
+
+ u0_sec_top_sramcfg_rtsel
+ SRAM/ROM configuration. RTSEL: timing setting for debug purpose, default is 2'b01.
+ [14:13]
+ read-write
+
+
+ u0_sec_top_sramcfg_ptsel
+ SRAM/ROM configuration. PTSEL: timing setting for debug purpose, default is 2'b01.
+ [16:15]
+ read-write
+
+
+ u0_sec_top_sramcfg_trb
+ SRAM/ROM configuration. TRB: timing setting for debug purpose, default is 2'b01.
+ [18:17]
+ read-write
+
+
+ u0_sec_top_sramcfg_wtsel
+ SRAM/ROM configuration. WTSEL: timing setting for debug purpose, default is 2'b01.
+ [20:19]
+ read-write
+
+
+ u0_sec_top_sramcfg_vs
+ SRAM/ROM configuration. VS: timing setting for debug purpose, default is 1'b1.
+ [21:21]
+ read-write
+
+
+ u0_sec_top_sramcfg_vg
+ SRAM/ROM configuration. VG: timing setting for debug purpose, default is 1'b1.
+ [22:22]
+ read-write
+
+
+ u0_plda_pcie_align_detect
+ u0_plda_pcie_align_detect
+ [23:23]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg504
+ STG SYSCONSAIF SYSCFG 504
+ 0x1f8
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_31_0
+ u0_plda_pcie_axi4_mst0_aratomop_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg508
+ STG SYSCONSAIF SYSCFG 508
+ 0x1fc
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_63_32
+ u0_plda_pcie_axi4_mst0_aratomop_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg512
+ STG SYSCONSAIF SYSCFG 512
+ 0x200
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_95_64
+ u0_plda_pcie_axi4_mst0_aratomop_95_64
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg516
+ STG SYSCONSAIF SYSCFG 516
+ 0x204
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_127_96
+ u0_plda_pcie_axi4_mst0_aratomop_127_96
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg520
+ STG SYSCONSAIF SYSCFG 520
+ 0x208
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_159_128
+ u0_plda_pcie_axi4_mst0_aratomop_159_128
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg524
+ STG SYSCONSAIF SYSCFG 524
+ 0x20c
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_191_160
+ u0_plda_pcie_axi4_mst0_aratomop_191_160
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg528
+ STG SYSCONSAIF SYSCFG 528
+ 0x210
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_223_192
+ u0_plda_pcie_axi4_mst0_aratomop_223_192
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg532
+ STG SYSCONSAIF SYSCFG 532
+ 0x214
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_255_224
+ u0_plda_pcie_axi4_mst0_aratomop_255_224
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg536
+ STG SYSCONSAIF SYSCFG 536
+ 0x218
+ 32
+
+
+ u0_plda_pcie_axi4_mst0_aratomop_257_256
+ u0_plda_pcie_axi4_mst0_aratomop_257_256
+ [1:0]
+ read-only
+
+
+ u0_plda_pcie_axi4_mst0_arfunc
+ u0_plda_pcie_axi4_mst0_arfunc
+ [16:2]
+ read-only
+
+
+ u0_plda_pcie_axi4_mst0_arregion
+ u0_plda_pcie_axi4_mst0_arregion
+ [20:17]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg540
+ STG SYSCONSAIF SYSCFG 540
+ 0x21c
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_aruser_31_0
+ u1_plda_pcie_axi4_mst0_aruser_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg544
+ STG SYSCONSAIF SYSCFG 544
+ 0x220
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_aruser_52_32
+ u1_plda_pcie_axi4_mst0_aruser_52_32
+ [20:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg548
+ STG SYSCONSAIF SYSCFG 548
+ 0x224
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_awfunc
+ u1_plda_pcie_axi4_mst0_awfunc
+ [14:0]
+ read-only
+
+
+ u1_plda_pcie_axi4_mst0_awregion
+ u1_plda_pcie_axi4_mst0_awregion
+ [18:15]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg552
+ STG SYSCONSAIF SYSCFG 552
+ 0x228
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_awuser_31_0
+ u1_plda_pcie_axi4_mst0_awuser_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg556
+ STG SYSCONSAIF SYSCFG 556
+ 0x22c
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_awuser_42_32
+ u1_plda_pcie_axi4_mst0_awuser_42_32
+ [10:0]
+ read-only
+
+
+ u1_plda_pcie_axi4_mst0_rderr
+ u1_plda_pcie_axi4_mst0_rderr
+ [18:11]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg560
+ STG SYSCONSAIF SYSCFG 560
+ 0x230
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_ruser
+ u1_plda_pcie_axi4_mst0_ruser
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg564
+ STG SYSCONSAIF SYSCFG 564
+ 0x234
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_wderr
+ u1_plda_pcie_axi4_mst0_wderr
+ [7:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg568
+ STG SYSCONSAIF SYSCFG 568
+ 0x238
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_31_0
+ u1_plda_pcie_axi4_slv0_aratomop_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg572
+ STG SYSCONSAIF SYSCFG 572
+ 0x23c
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_63_32
+ u1_plda_pcie_axi4_slv0_aratomop_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg576
+ STG SYSCONSAIF SYSCFG 576
+ 0x240
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_95_64
+ u1_plda_pcie_axi4_slv0_aratomop_95_64
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg580
+ STG SYSCONSAIF SYSCFG 580
+ 0x244
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_127_96
+ u1_plda_pcie_axi4_slv0_aratomop_127_96
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg584
+ STG SYSCONSAIF SYSCFG 584
+ 0x248
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_159_128
+ u1_plda_pcie_axi4_slv0_aratomop_159_128
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg588
+ STG SYSCONSAIF SYSCFG 588
+ 0x24c
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_191_160
+ u1_plda_pcie_axi4_slv0_aratomop_191_160
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg592
+ STG SYSCONSAIF SYSCFG 592
+ 0x250
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_223_192
+ u1_plda_pcie_axi4_slv0_aratomop_223_192
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg596
+ STG SYSCONSAIF SYSCFG 596
+ 0x254
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aratomop_255_224
+ u1_plda_pcie_axi4_slv0_aratomop_255_224
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg600
+ STG SYSCONSAIF SYSCFG 600
+ 0x258
+ 32
+
+
+ u1_plda_pcie_axi4_mst0_aratomop_257_256
+ u1_plda_pcie_axi4_mst0_aratomop_257_256
+ [1:0]
+ read-write
+
+
+ u1_plda_pcie_axi4_slv0_arfunc
+ u1_plda_pcie_axi4_slv0_arfunc
+ [16:2]
+ read-write
+
+
+ u1_plda_pcie_axi4_slv0_arregion
+ u1_plda_pcie_axi4_slv0_arregion
+ [20:17]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg604
+ STG SYSCONSAIF SYSCFG 604
+ 0x25c
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aruser_31_0
+ u1_plda_pcie_axi4_slv0_aruser_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg608
+ STG SYSCONSAIF SYSCFG 608
+ 0x260
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_aruser_40_32
+ u1_plda_pcie_axi4_slv0_aruser_40_32
+ [8:0]
+ read-write
+
+
+ u1_plda_pcie_axi4_slv0_awfunc
+ u1_plda_pcie_axi4_slv0_awfunc
+ [23:9]
+ read-write
+
+
+ u1_plda_pcie_axi4_slv0_awregion
+ u1_plda_pcie_axi4_slv0_awregion
+ [27:24]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg612
+ STG SYSCONSAIF SYSCFG 612
+ 0x264
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_awuser_31_0
+ u1_plda_pcie_axi4_slv0_awuser_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg616
+ STG SYSCONSAIF SYSCFG 616
+ 0x268
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_awuser_40_32
+ u1_plda_pcie_axi4_slv0_awuser_40_32
+ [8:0]
+ read-write
+
+
+ u1_plda_pcie_axi4_slv0_rderr
+ u1_plda_pcie_axi4_slv0_rderr
+ [16:9]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg620
+ STG SYSCONSAIF SYSCFG 620
+ 0x26c
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_ruser
+ u1_plda_pcie_axi4_slv0_ruser
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg624
+ STG SYSCONSAIF SYSCFG 624
+ 0x270
+ 32
+
+
+ u1_plda_pcie_axi4_slv0_wderr
+ u1_plda_pcie_axi4_slv0_wderr
+ [7:0]
+ read-write
+
+
+ u1_plda_pcie_axi4_slvl_arfunc
+ u1_plda_pcie_axi4_slvl_arfunc
+ [22:8]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg628
+ STG SYSCONSAIF SYSCFG 628
+ 0x274
+ 32
+
+
+ u1_plda_pcie_axi4_slvl_awfunc
+ u1_plda_pcie_axi4_slvl_awfunc
+ [14:0]
+ read-write
+
+
+ u1_plda_pcie_bus_width_o
+ u1_plda_pcie_bus_width_o
+ [16:15]
+ read-only
+
+
+ u1_plda_pcie_bypass_codec
+ u1_plda_pcie_bypass_codec
+ [17:17]
+ read-write
+
+
+ u1_plda_pcie_ckref_src
+ u1_plda_pcie_ckref_src
+ [19:18]
+ read-write
+
+
+ u1_plda_pcie_clk_sel
+ u1_plda_pcie_clk_sel
+ [21:20]
+ read-write
+
+
+ u1_plda_pcie_clkreq
+ u1_plda_pcie_clkreq
+ [22:22]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg632
+ STG SYSCONSAIF SYSCFG 632
+ 0x278
+ 32
+
+
+ u1_plda_pcie_k_phyparam_31_0
+ u1_plda_pcie_k_phyparam_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg636
+ STG SYSCONSAIF SYSCFG 636
+ 0x27c
+ 32
+
+
+ u1_plda_pcie_k_phyparam_63_32
+ u1_plda_pcie_k_phyparam_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg640
+ STG SYSCONSAIF SYSCFG 640
+ 0x280
+ 32
+
+
+ u1_plda_pcie_k_phyparam_95_64
+ u1_plda_pcie_k_phyparam_95_64
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg644
+ STG SYSCONSAIF SYSCFG 644
+ 0x284
+ 32
+
+
+ u1_plda_pcie_k_phyparam_127_96
+ u1_plda_pcie_k_phyparam_127_96
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg648
+ STG SYSCONSAIF SYSCFG 648
+ 0x288
+ 32
+
+
+ u1_plda_pcie_k_phyparam_159_128
+ u1_plda_pcie_k_phyparam_159_128
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg652
+ STG SYSCONSAIF SYSCFG 652
+ 0x28c
+ 32
+
+
+ u1_plda_pcie_k_phyparam_191_160
+ u1_plda_pcie_k_phyparam_191_160
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg656
+ STG SYSCONSAIF SYSCFG 656
+ 0x290
+ 32
+
+
+ u1_plda_pcie_k_phyparam_223_192
+ u1_plda_pcie_k_phyparam_223_192
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg660
+ STG SYSCONSAIF SYSCFG 660
+ 0x294
+ 32
+
+
+ u1_plda_pcie_k_phyparam_255_224
+ u1_plda_pcie_k_phyparam_255_224
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg664
+ STG SYSCONSAIF SYSCFG 664
+ 0x298
+ 32
+
+
+ u1_plda_pcie_k_phyparam_287_256
+ u1_plda_pcie_k_phyparam_287_256
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg668
+ STG SYSCONSAIF SYSCFG 668
+ 0x29c
+ 32
+
+
+ u1_plda_pcie_k_phyparam_319_288
+ u1_plda_pcie_k_phyparam_319_288
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg672
+ STG SYSCONSAIF SYSCFG 672
+ 0x2a0
+ 32
+
+
+ u1_plda_pcie_k_phyparam_351_320
+ u1_plda_pcie_k_phyparam_351_320
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg676
+ STG SYSCONSAIF SYSCFG 676
+ 0x2a4
+ 32
+
+
+ u1_plda_pcie_k_phyparam_383_352
+ u1_plda_pcie_k_phyparam_383_352
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg680
+ STG SYSCONSAIF SYSCFG 680
+ 0x2a8
+ 32
+
+
+ u1_plda_pcie_k_phyparam_415_384
+ u1_plda_pcie_k_phyparam_415_384
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg684
+ STG SYSCONSAIF SYSCFG 684
+ 0x2ac
+ 32
+
+
+ u1_plda_pcie_k_phyparam_447_416
+ u1_plda_pcie_k_phyparam_447_416
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg688
+ STG SYSCONSAIF SYSCFG 688
+ 0x2b0
+ 32
+
+
+ u1_plda_pcie_k_phyparam_479_448
+ u1_plda_pcie_k_phyparam_479_448
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg692
+ STG SYSCONSAIF SYSCFG 692
+ 0x2b4
+ 32
+
+
+ u1_plda_pcie_k_phyparam_511_480
+ u1_plda_pcie_k_phyparam_511_480
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg696
+ STG SYSCONSAIF SYSCFG 696
+ 0x2b8
+ 32
+
+
+ u1_plda_pcie_k_phyparam_543_512
+ u1_plda_pcie_k_phyparam_543_512
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg700
+ STG SYSCONSAIF SYSCFG 700
+ 0x2bc
+ 32
+
+
+ u1_plda_pcie_k_phyparam_575_544
+ u1_plda_pcie_k_phyparam_575_544
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg704
+ STG SYSCONSAIF SYSCFG 704
+ 0x2c0
+ 32
+
+
+ u1_plda_pcie_k_phyparam_607_576
+ u1_plda_pcie_k_phyparam_607_576
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg708
+ STG SYSCONSAIF SYSCFG 708
+ 0x2c4
+ 32
+
+
+ u1_plda_pcie_k_phyparam_639_608
+ u1_plda_pcie_k_phyparam_639_608
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg712
+ STG SYSCONSAIF SYSCFG 712
+ 0x2c8
+ 32
+
+
+ u1_plda_pcie_k_phyparam_671_640
+ u1_plda_pcie_k_phyparam_671_640
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg716
+ STG SYSCONSAIF SYSCFG 716
+ 0x2cc
+ 32
+
+
+ u1_plda_pcie_k_phyparam_703_672
+ u1_plda_pcie_k_phyparam_703_672
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg720
+ STG SYSCONSAIF SYSCFG 720
+ 0x2d0
+ 32
+
+
+ u1_plda_pcie_k_phyparam_735_704
+ u1_plda_pcie_k_phyparam_735_704
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg724
+ STG SYSCONSAIF SYSCFG 724
+ 0x2d4
+ 32
+
+
+ u1_plda_pcie_k_phyparam_767_736
+ u1_plda_pcie_k_phyparam_767_736
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg728
+ STG SYSCONSAIF SYSCFG 728
+ 0x2d8
+ 32
+
+
+ u1_plda_pcie_k_phyparam_799_768
+ u1_plda_pcie_k_phyparam_799_768
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg732
+ STG SYSCONSAIF SYSCFG 732
+ 0x2dc
+ 32
+
+
+ u1_plda_pcie_k_phyparam_831_800
+ u1_plda_pcie_k_phyparam_831_800
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg736
+ STG SYSCONSAIF SYSCFG 736
+ 0x2e0
+ 32
+
+
+ u1_plda_pcie_k_phyparam_839_832
+ u1_plda_pcie_k_phyparam_839_832
+ [7:0]
+ read-write
+
+
+ u1_plda_pcie_k_rp_nep
+ u1_plda_pcie_k_rp_nep
+ [8:8]
+ read-write
+
+
+ u1_plda_pcie_l1sub_entack
+ u1_plda_pcie_l1sub_entack
+ [9:9]
+ read-only
+
+
+ u1_plda_pcie_l1sub_entreq
+ u1_plda_pcie_l1sub_entreq
+ [10:10]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg740
+ STG SYSCONSAIF SYSCFG 740
+ 0x2e4
+ 32
+
+
+ u1_plda_pcie_local_interrupt_in
+ u1_plda_pcie_local_interrupt_in
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg744
+ STG SYSCONSAIF SYSCFG 744
+ 0x2e8
+ 32
+
+
+ u1_plda_pcie_mperstn
+ u1_plda_pcie_mperstn
+ [0:0]
+ read-write
+
+
+ u1_plda_pcie_pcie_ebuf_mode
+ u1_plda_pcie_pcie_ebuf_mode
+ [1:1]
+ read-write
+
+
+ u1_plda_pcie_pcie_phy_test_cfg
+ u1_plda_pcie_pcie_phy_test_cfg
+ [24:2]
+ read-write
+
+
+ u1_plda_pcie_pcie_rx_eq_training
+ u1_plda_pcie_pcie_rx_eq_training
+ [25:25]
+ read-write
+
+
+ u1_plda_pcie_pcie_rxterm_en
+ u1_plda_pcie_pcie_rxterm_en
+ [26:26]
+ read-write
+
+
+ u1_plda_pcie_pcie_tx_oneszeros
+ u1_plda_pcie_pcie_tx_oneszeros
+ [27:27]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg748
+ STG SYSCONSAIF SYSCFG 748
+ 0x2ec
+ 32
+
+
+ u1_plda_pcie_pf0_offset
+ u1_plda_pcie_pf0_offset
+ [19:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg752
+ STG SYSCONSAIF SYSCFG 752
+ 0x2f0
+ 32
+
+
+ u1_plda_pcie_pf1_offset
+ u1_plda_pcie_pf1_offset
+ [19:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg756
+ STG SYSCONSAIF SYSCFG 756
+ 0x2f4
+ 32
+
+
+ u1_plda_pcie_pf2_offset
+ u1_plda_pcie_pf2_offset
+ [19:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg760
+ STG SYSCONSAIF SYSCFG 760
+ 0x2f8
+ 32
+
+
+ u1_plda_pcie_pf3_offset
+ u1_plda_pcie_pf3_offset
+ [19:0]
+ read-write
+
+
+ u1_plda_pcie_phy_mode
+ u1_plda_pcie_phy_mode
+ [21:20]
+ read-write
+
+
+ u1_plda_pcie_pl_clkrem_allow
+ u1_plda_pcie_pl_clkrem_allow
+ [22:22]
+ read-write
+
+
+ u1_plda_pcie_pl_clkreq_oen
+ u1_plda_pcie_pl_clkreq_oen
+ [23:23]
+ read-only
+
+
+ u1_plda_pcie_pl_equ_phase
+ u1_plda_pcie_pl_equ_phase
+ [25:24]
+ read-only
+
+
+ u1_plda_pcie_pl_ltssm
+ u1_plda_pcie_pl_ltssm
+ [30:26]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg764
+ STG SYSCONSAIF SYSCFG 764
+ 0x2fc
+ 32
+
+
+ u1_plda_pcie_pl_pclk_rate
+ u1_plda_pcie_pl_pclk_rate
+ [4:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg768
+ STG SYSCONSAIF SYSCFG 768
+ 0x300
+ 32
+
+
+ u1_plda_pcie_pl_sideband_in_31_0
+ u1_plda_pcie_pl_sideband_in_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg772
+ STG SYSCONSAIF SYSCFG 772
+ 0x304
+ 32
+
+
+ u1_plda_pcie_pl_sideband_in_63_32
+ u1_plda_pcie_pl_sideband_in_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg776
+ STG SYSCONSAIF SYSCFG 776
+ 0x308
+ 32
+
+
+ u1_plda_pcie_pl_sideband_out_31_0
+ u1_plda_pcie_pl_sideband_out_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg780
+ STG SYSCONSAIF SYSCFG 780
+ 0x30c
+ 32
+
+
+ u1_plda_pcie_pl_sideband_out_63_32
+ u1_plda_pcie_pl_sideband_out_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg784
+ STG SYSCONSAIF SYSCFG 784
+ 0x310
+ 32
+
+
+ u1_plda_pcie_pl_wake_in
+ u1_plda_pcie_pl_wake_in
+ [0:0]
+ read-write
+
+
+ u1_plda_pcie_pl_wake_oen
+ u1_plda_pcie_pl_wake_oen
+ [1:1]
+ read-only
+
+
+ u1_plda_pcie_rx_standby_o
+ u1_plda_pcie_rx_standby_o
+ [2:2]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg788
+ STG SYSCONSAIF SYSCFG 788
+ 0x314
+ 32
+
+
+ u1_plda_pcie_test_in_31_0
+ u1_plda_pcie_test_in_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg792
+ STG SYSCONSAIF SYSCFG 792
+ 0x318
+ 32
+
+
+ u1_plda_pcie_test_in_63_32
+ u1_plda_pcie_test_in_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg796
+ STG SYSCONSAIF SYSCFG 796
+ 0x31c
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_31_0
+ u1_plda_pcie_test_out_bridge_31_0
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg800
+ STG SYSCONSAIF SYSCFG 800
+ 0x320
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_63_32
+ u1_plda_pcie_test_out_bridge_63_32
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg804
+ STG SYSCONSAIF SYSCFG 804
+ 0x324
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_95_64
+ u1_plda_pcie_test_out_bridge_95_64
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg808
+ STG SYSCONSAIF SYSCFG 808
+ 0x328
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_127_96
+ u1_plda_pcie_test_out_bridge_127_96
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg812
+ STG SYSCONSAIF SYSCFG 812
+ 0x32c
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_159_128
+ u1_plda_pcie_test_out_bridge_159_128
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg816
+ STG SYSCONSAIF SYSCFG 816
+ 0x330
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_191_160
+ u1_plda_pcie_test_out_bridge_191_160
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg820
+ STG SYSCONSAIF SYSCFG 820
+ 0x334
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_223_192
+ u1_plda_pcie_test_out_bridge_223_192
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg824
+ STG SYSCONSAIF SYSCFG 824
+ 0x338
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_255_224
+ u1_plda_pcie_test_out_bridge_255_224
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg828
+ STG SYSCONSAIF SYSCFG 828
+ 0x33c
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_287_256
+ u1_plda_pcie_test_out_bridge_287_256
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg832
+ STG SYSCONSAIF SYSCFG 832
+ 0x340
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_319_288
+ u1_plda_pcie_test_out_bridge_319_288
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg836
+ STG SYSCONSAIF SYSCFG 836
+ 0x344
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_351_320
+ u1_plda_pcie_test_out_bridge_351_320
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg840
+ STG SYSCONSAIF SYSCFG 840
+ 0x348
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_383_352
+ u1_plda_pcie_test_out_bridge_383_352
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg844
+ STG SYSCONSAIF SYSCFG 844
+ 0x34c
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_415_384
+ u1_plda_pcie_test_out_bridge_415_384
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg848
+ STG SYSCONSAIF SYSCFG 848
+ 0x350
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_447_416
+ u1_plda_pcie_test_out_bridge_447_416
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg852
+ STG SYSCONSAIF SYSCFG 852
+ 0x354
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_479_448
+ u1_plda_pcie_test_out_bridge_479_448
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg856
+ STG SYSCONSAIF SYSCFG 856
+ 0x358
+ 32
+
+
+ u1_plda_pcie_test_out_bridge_511_480
+ u1_plda_pcie_test_out_bridge_511_480
+ [31:0]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg860
+ STG SYSCONSAIF SYSCFG 860
+ 0x35c
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_31_0
+ u1_plda_pcie_test_out_pcie_31_0
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg864
+ STG SYSCONSAIF SYSCFG 864
+ 0x360
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_63_32
+ u1_plda_pcie_test_out_pcie_63_32
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg868
+ STG SYSCONSAIF SYSCFG 868
+ 0x364
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_95_64
+ u1_plda_pcie_test_out_pcie_95_64
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg872
+ STG SYSCONSAIF SYSCFG 872
+ 0x368
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_127_96
+ u1_plda_pcie_test_out_pcie_127_96
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg876
+ STG SYSCONSAIF SYSCFG 876
+ 0x36c
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_159_128
+ u1_plda_pcie_test_out_pcie_159_128
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg880
+ STG SYSCONSAIF SYSCFG 880
+ 0x370
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_191_160
+ u1_plda_pcie_test_out_pcie_191_160
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg884
+ STG SYSCONSAIF SYSCFG 884
+ 0x374
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_223_192
+ u1_plda_pcie_test_out_pcie_223_192
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg888
+ STG SYSCONSAIF SYSCFG 888
+ 0x378
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_255_224
+ u1_plda_pcie_test_out_pcie_255_224
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg892
+ STG SYSCONSAIF SYSCFG 892
+ 0x37c
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_287_256
+ u1_plda_pcie_test_out_pcie_287_256
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg896
+ STG SYSCONSAIF SYSCFG 896
+ 0x380
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_319_288
+ u1_plda_pcie_test_out_pcie_319_288
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg900
+ STG SYSCONSAIF SYSCFG 900
+ 0x384
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_351_320
+ u1_plda_pcie_test_out_pcie_351_320
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg904
+ STG SYSCONSAIF SYSCFG 904
+ 0x388
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_383_352
+ u1_plda_pcie_test_out_pcie_383_352
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg908
+ STG SYSCONSAIF SYSCFG 908
+ 0x38c
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_415_384
+ u1_plda_pcie_test_out_pcie_415_384
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg912
+ STG SYSCONSAIF SYSCFG 912
+ 0x390
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_447_416
+ u1_plda_pcie_test_out_pcie_447_416
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg916
+ STG SYSCONSAIF SYSCFG 916
+ 0x394
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_479_448
+ u1_plda_pcie_test_out_pcie_479_448
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg920
+ STG SYSCONSAIF SYSCFG 920
+ 0x398
+ 32
+
+
+ u1_plda_pcie_test_out_pcie_511_480
+ u1_plda_pcie_test_out_pcie_511_480
+ [31:0]
+ read-only
+
+
+
+
+ stg_sysconsaif_syscfg924
+ STG SYSCONSAIF SYSCFG 924
+ 0x39c
+ 32
+
+
+ u1_plda_pcie_test_sel
+ u1_plda_pcie_test_sel
+ [3:0]
+ read-write
+
+
+ u1_plda_pcie_tl_clock_freq
+ u1_plda_pcie_tl_clock_freq
+ [25:4]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg928
+ STG SYSCONSAIF SYSCFG 928
+ 0x3a0
+ 32
+
+
+ u1_plda_pcie_tl_ctrl_hotplug
+ u1_plda_pcie_tl_ctrl_hotplug
+ [15:0]
+ read-only
+
+
+ u1_plda_pcie_tl_report_hotplug
+ u1_plda_pcie_tl_report_hotplug
+ [31:16]
+ read-write
+
+
+
+
+ stg_sysconsaif_syscfg932
+ STG SYSCONSAIF SYSCFG 932
+ 0x3a4
+ 32
+
+
+ u1_plda_pcie_tx_pattern
+ u1_plda_pcie_tx_pattern
+ [1:0]
+ read-write
+
+
+ u1_plda_pcie_usb3_bus_width
+ u1_plda_pcie_usb3_bus_width
+ [3:2]
+ read-write
+
+
+ u1_plda_pcie_usb3_phy_enable
+ u1_plda_pcie_usb3_phy_enable
+ [4:4]
+ read-write
+
+
+ u1_plda_pcie_usb3_rate
+ u1_plda_pcie_usb3_rate
+ [6:5]
+ read-write
+
+
+ u1_plda_pcie_usb3_rx_standby
+ u1_plda_pcie_usb3_rx_standby
+ [7:7]
+ read-write
+
+
+ u1_plda_pcie_xwdecerr
+ u1_plda_pcie_xwdecerr
+ [8:8]
+ read-only
+
+
+ u1_plda_pcie_xwerrclr
+ u1_plda_pcie_xwerrclr
+ [9:9]
+ read-write
+
+
+ u1_plda_pcie_xwslverr
+ u1_plda_pcie_xwslverr
+ [10:10]
+ read-only
+
+
+
+
+
+
+ syscon_0
+ From syscon, peripheral generator
+ 0x10240000
+
+ 0
+ 0x1000
+ registers
+
+
+
+ snps_dw_apb_uart_3
+ From snps,dw-apb-uart, peripheral generator
+ 0x12000000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ snps_dw_apb_uart_4
+ From snps,dw-apb-uart, peripheral generator
+ 0x12010000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ snps_dw_apb_uart_5
+ From snps,dw-apb-uart, peripheral generator
+ 0x12020000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ snps_designware_i2c_3
+ From snps,designware-i2c, peripheral generator
+ 0x12030000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ con
+ DesignWare I2C CON
+ 0x0
+ 32
+
+
+ master
+ I2C Master Connection - 0: Slave, 1: Master
+ [0:0]
+ read-write
+
+
+ speed
+ I2C Speed - 01: Standard, 10: Fast, 11: High
+ [2:1]
+ read-write
+
+
+ slave_10bitaddr
+ I2C Slave 10-bit Address - 0: False, 1: True
+ [3:3]
+ read-write
+
+
+ master_10bitaddr
+ I2C Master 10-bit Address - 0: False, 1: True
+ [4:4]
+ read-write
+
+
+ restart_en
+ I2C Restart Enable - 0: False, 1: True
+ [5:5]
+ read-write
+
+
+ slave_disable
+ I2C Slave Disable - 0: False, 1: True
+ [6:6]
+ read-write
+
+
+ stop_det_ifaddressed
+ I2C Stop DET If Addressed - 0: False, 1: True
+ [7:7]
+ read-write
+
+
+ tx_empty_ctrl
+ I2C TX Empty Control - 0: False, 1: True
+ [8:8]
+ read-write
+
+
+ rx_fifo_full_hld_ctrl
+ I2C RX FIFO Full Hold Control - 0: False, 1: True
+ [9:9]
+ read-write
+
+
+ bus_clear_ctrl
+ I2C Bus Clear Control - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ tar
+ DesignWare I2C TAR
+ 0x4
+ 32
+
+
+ tar
+ tar
+ [31:0]
+ read-write
+
+
+
+
+ sar
+ DesignWare I2C SAR
+ 0x8
+ 32
+
+
+ sar
+ sar
+ [31:0]
+ read-write
+
+
+
+
+ data_cmd
+ DesignWare I2C Data Command
+ 0x10
+ 32
+
+
+ dat
+ Data Command Data Byte
+ [7:0]
+ read-write
+
+
+ first_data_byte
+ Data Command First Data Byte - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ ss_scl_hcnt
+ DesignWare I2C SS SCL HCNT
+ 0x14
+ 32
+
+
+ ss_scl_hcnt
+ ss_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ ss_scl_lcnt
+ DesignWare I2C SS SCL LCNT
+ 0x18
+ 32
+
+
+ ss_scl_lcnt
+ ss_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_hcnt
+ DesignWare I2C FS SCL HCNT
+ 0x1c
+ 32
+
+
+ fs_scl_hcnt
+ fs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_lcnt
+ DesignWare I2C FS SCL LCNT
+ 0x20
+ 32
+
+
+ fs_scl_lcnt
+ fs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_hcnt
+ DesignWare I2C HS SCL HCNT
+ 0x24
+ 32
+
+
+ hs_scl_hcnt
+ hs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_lcnt
+ DesignWare I2C HS SCL LCNT
+ 0x28
+ 32
+
+
+ hs_scl_lcnt
+ hs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ intr_stat
+ DesignWare I2C Interrupt Status
+ 0x2c
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ intr_mask
+ DesignWare I2C Interrupt Mask
+ 0x30
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ raw_intr_stat
+ DesignWare I2C Raw Interrupt Status
+ 0x34
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ rx_tl
+ DesignWare I2C RX TL
+ 0x38
+ 32
+
+
+ rx_tl
+ rx_tl
+ [31:0]
+ read-write
+
+
+
+
+ tx_tl
+ DesignWare I2C TX TL
+ 0x3c
+ 32
+
+
+ tx_tl
+ tx_tl
+ [31:0]
+ read-write
+
+
+
+
+ clr_intr
+ DesignWare I2C Clear Interrrupt
+ 0x40
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ clr_rx_under
+ DesignWare I2C Clear RX Underrun
+ 0x44
+ 32
+
+
+ clr_rx_under
+ clr_rx_under
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_over
+ DesignWare I2C Clear RX Overrun
+ 0x48
+ 32
+
+
+ clr_rx_over
+ clr_rx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_over
+ DesignWare I2C Clear TX Overrun
+ 0x4c
+ 32
+
+
+ clr_tx_over
+ clr_tx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_rd_req
+ DesignWare I2C Clear Read Request
+ 0x50
+ 32
+
+
+ clr_rd_req
+ clr_rd_req
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_abrt
+ DesignWare I2C Clear TX Abort
+ 0x54
+ 32
+
+
+ clr_tx_abrt
+ clr_tx_abrt
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_done
+ DesignWare I2C Clear RX Done
+ 0x58
+ 32
+
+
+ clr_rx_done
+ clr_rx_done
+ [31:0]
+ read-write
+
+
+
+
+ clr_activity
+ DesignWare I2C Clear Activity
+ 0x5c
+ 32
+
+
+ clr_activity
+ clr_activity
+ [31:0]
+ read-write
+
+
+
+
+ clr_stop_det
+ DesignWare I2C Clear Stop DET
+ 0x60
+ 32
+
+
+ clr_stop_det
+ clr_stop_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_start_det
+ DesignWare I2C Clear Start DET
+ 0x64
+ 32
+
+
+ clr_start_det
+ clr_start_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_gen_call
+ DesignWare I2C Clear General Call
+ 0x68
+ 32
+
+
+ clr_gen_call
+ clr_gen_call
+ [31:0]
+ read-write
+
+
+
+
+ enable
+ DesignWare I2C Enable
+ 0x6c
+ 32
+
+
+ abort
+ abort
+ [1:1]
+ read-write
+
+
+
+
+ status
+ DesignWare I2C Status
+ 0x70
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-only
+
+
+ tfe
+ tfe
+ [2:2]
+ read-only
+
+
+ rfne
+ rfne
+ [3:3]
+ read-only
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-only
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-only
+
+
+
+
+ txflr
+ DesignWare I2C TX Failure
+ 0x74
+ 32
+
+
+ txflr
+ txflr
+ [31:0]
+ read-write
+
+
+
+
+ rxflr
+ DesignWare I2C RX Failure
+ 0x78
+ 32
+
+
+ rxflr
+ rxflr
+ [31:0]
+ read-write
+
+
+
+
+ sda_hold
+ DesignWare I2C SDA Hold
+ 0x7c
+ 32
+
+
+ sda_hold
+ sda_hold
+ [31:0]
+ read-write
+
+
+
+
+ tx_abrt_source
+ DesignWare I2C TX Abort Source
+ 0x80
+ 32
+
+
+ b7_addr_noack
+ b7_addr_noack
+ [0:0]
+ read-only
+
+
+ b10_addr1_noack
+ b10_addr1_noack
+ [1:1]
+ read-only
+
+
+ b10_addr2_noack
+ b10_addr2_noack
+ [2:2]
+ read-only
+
+
+ txdata_noack
+ txdata_noack
+ [3:3]
+ read-only
+
+
+ gcall_noack
+ gcall_noack
+ [4:4]
+ read-only
+
+
+ gcall_read
+ gcall_read
+ [5:5]
+ read-only
+
+
+ sbyte_ackdet
+ sbyte_ackdet
+ [7:7]
+ read-only
+
+
+ sbyte_norstrt
+ sbyte_norstrt
+ [9:9]
+ read-only
+
+
+ b10_rd_norstrt
+ b10_rd_norstrt
+ [10:10]
+ read-only
+
+
+ master_dis
+ master_dis
+ [11:11]
+ read-only
+
+
+ arb_lost
+ arb_lost
+ [12:12]
+ read-only
+
+
+ slave_flush_txfifo
+ slave_flush_txfifo
+ [13:13]
+ read-only
+
+
+ slave_arblost
+ slave_arblost
+ [14:14]
+ read-only
+
+
+ slave_rd_intx
+ slave_rd_intx
+ [15:15]
+ read-only
+
+
+
+
+ enable_status
+ DesignWare I2C Enable Status
+ 0x9c
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-write
+
+
+ tfe
+ tfe
+ [2:2]
+ read-write
+
+
+ rfne
+ rfne
+ [3:3]
+ read-write
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-write
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-write
+
+
+
+
+ clr_restart_det
+ DesignWare I2C Clear Restart DET
+ 0xa8
+ 32
+
+
+ clr_restart_det
+ clr_restart_det
+ [31:0]
+ read-write
+
+
+
+
+ comp_param_1
+ DesignWare I2C Compatibility Parameter 1
+ 0xf4
+ 32
+
+
+ speed
+ Speed mask - 01: Standard, 10: Full, 11: High
+ [3:2]
+ read-only
+
+
+
+
+ comp_version
+ DesignWare I2C Compatibility Version
+ 0xf8
+ 32
+
+
+ comp_version
+ comp_version
+ [31:0]
+ read-only
+
+
+
+
+ comp_type
+ DesignWare I2C Compatibility Type
+ 0xfc
+ 32
+
+
+ comp_type
+ comp_type
+ [31:0]
+ read-only
+
+
+
+
+
+
+ snps_designware_i2c_4
+ From snps,designware-i2c, peripheral generator
+ 0x12040000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ con
+ DesignWare I2C CON
+ 0x0
+ 32
+
+
+ master
+ I2C Master Connection - 0: Slave, 1: Master
+ [0:0]
+ read-write
+
+
+ speed
+ I2C Speed - 01: Standard, 10: Fast, 11: High
+ [2:1]
+ read-write
+
+
+ slave_10bitaddr
+ I2C Slave 10-bit Address - 0: False, 1: True
+ [3:3]
+ read-write
+
+
+ master_10bitaddr
+ I2C Master 10-bit Address - 0: False, 1: True
+ [4:4]
+ read-write
+
+
+ restart_en
+ I2C Restart Enable - 0: False, 1: True
+ [5:5]
+ read-write
+
+
+ slave_disable
+ I2C Slave Disable - 0: False, 1: True
+ [6:6]
+ read-write
+
+
+ stop_det_ifaddressed
+ I2C Stop DET If Addressed - 0: False, 1: True
+ [7:7]
+ read-write
+
+
+ tx_empty_ctrl
+ I2C TX Empty Control - 0: False, 1: True
+ [8:8]
+ read-write
+
+
+ rx_fifo_full_hld_ctrl
+ I2C RX FIFO Full Hold Control - 0: False, 1: True
+ [9:9]
+ read-write
+
+
+ bus_clear_ctrl
+ I2C Bus Clear Control - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ tar
+ DesignWare I2C TAR
+ 0x4
+ 32
+
+
+ tar
+ tar
+ [31:0]
+ read-write
+
+
+
+
+ sar
+ DesignWare I2C SAR
+ 0x8
+ 32
+
+
+ sar
+ sar
+ [31:0]
+ read-write
+
+
+
+
+ data_cmd
+ DesignWare I2C Data Command
+ 0x10
+ 32
+
+
+ dat
+ Data Command Data Byte
+ [7:0]
+ read-write
+
+
+ first_data_byte
+ Data Command First Data Byte - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ ss_scl_hcnt
+ DesignWare I2C SS SCL HCNT
+ 0x14
+ 32
+
+
+ ss_scl_hcnt
+ ss_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ ss_scl_lcnt
+ DesignWare I2C SS SCL LCNT
+ 0x18
+ 32
+
+
+ ss_scl_lcnt
+ ss_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_hcnt
+ DesignWare I2C FS SCL HCNT
+ 0x1c
+ 32
+
+
+ fs_scl_hcnt
+ fs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_lcnt
+ DesignWare I2C FS SCL LCNT
+ 0x20
+ 32
+
+
+ fs_scl_lcnt
+ fs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_hcnt
+ DesignWare I2C HS SCL HCNT
+ 0x24
+ 32
+
+
+ hs_scl_hcnt
+ hs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_lcnt
+ DesignWare I2C HS SCL LCNT
+ 0x28
+ 32
+
+
+ hs_scl_lcnt
+ hs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ intr_stat
+ DesignWare I2C Interrupt Status
+ 0x2c
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ intr_mask
+ DesignWare I2C Interrupt Mask
+ 0x30
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ raw_intr_stat
+ DesignWare I2C Raw Interrupt Status
+ 0x34
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ rx_tl
+ DesignWare I2C RX TL
+ 0x38
+ 32
+
+
+ rx_tl
+ rx_tl
+ [31:0]
+ read-write
+
+
+
+
+ tx_tl
+ DesignWare I2C TX TL
+ 0x3c
+ 32
+
+
+ tx_tl
+ tx_tl
+ [31:0]
+ read-write
+
+
+
+
+ clr_intr
+ DesignWare I2C Clear Interrrupt
+ 0x40
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ clr_rx_under
+ DesignWare I2C Clear RX Underrun
+ 0x44
+ 32
+
+
+ clr_rx_under
+ clr_rx_under
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_over
+ DesignWare I2C Clear RX Overrun
+ 0x48
+ 32
+
+
+ clr_rx_over
+ clr_rx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_over
+ DesignWare I2C Clear TX Overrun
+ 0x4c
+ 32
+
+
+ clr_tx_over
+ clr_tx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_rd_req
+ DesignWare I2C Clear Read Request
+ 0x50
+ 32
+
+
+ clr_rd_req
+ clr_rd_req
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_abrt
+ DesignWare I2C Clear TX Abort
+ 0x54
+ 32
+
+
+ clr_tx_abrt
+ clr_tx_abrt
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_done
+ DesignWare I2C Clear RX Done
+ 0x58
+ 32
+
+
+ clr_rx_done
+ clr_rx_done
+ [31:0]
+ read-write
+
+
+
+
+ clr_activity
+ DesignWare I2C Clear Activity
+ 0x5c
+ 32
+
+
+ clr_activity
+ clr_activity
+ [31:0]
+ read-write
+
+
+
+
+ clr_stop_det
+ DesignWare I2C Clear Stop DET
+ 0x60
+ 32
+
+
+ clr_stop_det
+ clr_stop_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_start_det
+ DesignWare I2C Clear Start DET
+ 0x64
+ 32
+
+
+ clr_start_det
+ clr_start_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_gen_call
+ DesignWare I2C Clear General Call
+ 0x68
+ 32
+
+
+ clr_gen_call
+ clr_gen_call
+ [31:0]
+ read-write
+
+
+
+
+ enable
+ DesignWare I2C Enable
+ 0x6c
+ 32
+
+
+ abort
+ abort
+ [1:1]
+ read-write
+
+
+
+
+ status
+ DesignWare I2C Status
+ 0x70
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-only
+
+
+ tfe
+ tfe
+ [2:2]
+ read-only
+
+
+ rfne
+ rfne
+ [3:3]
+ read-only
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-only
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-only
+
+
+
+
+ txflr
+ DesignWare I2C TX Failure
+ 0x74
+ 32
+
+
+ txflr
+ txflr
+ [31:0]
+ read-write
+
+
+
+
+ rxflr
+ DesignWare I2C RX Failure
+ 0x78
+ 32
+
+
+ rxflr
+ rxflr
+ [31:0]
+ read-write
+
+
+
+
+ sda_hold
+ DesignWare I2C SDA Hold
+ 0x7c
+ 32
+
+
+ sda_hold
+ sda_hold
+ [31:0]
+ read-write
+
+
+
+
+ tx_abrt_source
+ DesignWare I2C TX Abort Source
+ 0x80
+ 32
+
+
+ b7_addr_noack
+ b7_addr_noack
+ [0:0]
+ read-only
+
+
+ b10_addr1_noack
+ b10_addr1_noack
+ [1:1]
+ read-only
+
+
+ b10_addr2_noack
+ b10_addr2_noack
+ [2:2]
+ read-only
+
+
+ txdata_noack
+ txdata_noack
+ [3:3]
+ read-only
+
+
+ gcall_noack
+ gcall_noack
+ [4:4]
+ read-only
+
+
+ gcall_read
+ gcall_read
+ [5:5]
+ read-only
+
+
+ sbyte_ackdet
+ sbyte_ackdet
+ [7:7]
+ read-only
+
+
+ sbyte_norstrt
+ sbyte_norstrt
+ [9:9]
+ read-only
+
+
+ b10_rd_norstrt
+ b10_rd_norstrt
+ [10:10]
+ read-only
+
+
+ master_dis
+ master_dis
+ [11:11]
+ read-only
+
+
+ arb_lost
+ arb_lost
+ [12:12]
+ read-only
+
+
+ slave_flush_txfifo
+ slave_flush_txfifo
+ [13:13]
+ read-only
+
+
+ slave_arblost
+ slave_arblost
+ [14:14]
+ read-only
+
+
+ slave_rd_intx
+ slave_rd_intx
+ [15:15]
+ read-only
+
+
+
+
+ enable_status
+ DesignWare I2C Enable Status
+ 0x9c
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-write
+
+
+ tfe
+ tfe
+ [2:2]
+ read-write
+
+
+ rfne
+ rfne
+ [3:3]
+ read-write
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-write
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-write
+
+
+
+
+ clr_restart_det
+ DesignWare I2C Clear Restart DET
+ 0xa8
+ 32
+
+
+ clr_restart_det
+ clr_restart_det
+ [31:0]
+ read-write
+
+
+
+
+ comp_param_1
+ DesignWare I2C Compatibility Parameter 1
+ 0xf4
+ 32
+
+
+ speed
+ Speed mask - 01: Standard, 10: Full, 11: High
+ [3:2]
+ read-only
+
+
+
+
+ comp_version
+ DesignWare I2C Compatibility Version
+ 0xf8
+ 32
+
+
+ comp_version
+ comp_version
+ [31:0]
+ read-only
+
+
+
+
+ comp_type
+ DesignWare I2C Compatibility Type
+ 0xfc
+ 32
+
+
+ comp_type
+ comp_type
+ [31:0]
+ read-only
+
+
+
+
+
+
+ snps_designware_i2c_5
+ From snps,designware-i2c, peripheral generator
+ 0x12050000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ con
+ DesignWare I2C CON
+ 0x0
+ 32
+
+
+ master
+ I2C Master Connection - 0: Slave, 1: Master
+ [0:0]
+ read-write
+
+
+ speed
+ I2C Speed - 01: Standard, 10: Fast, 11: High
+ [2:1]
+ read-write
+
+
+ slave_10bitaddr
+ I2C Slave 10-bit Address - 0: False, 1: True
+ [3:3]
+ read-write
+
+
+ master_10bitaddr
+ I2C Master 10-bit Address - 0: False, 1: True
+ [4:4]
+ read-write
+
+
+ restart_en
+ I2C Restart Enable - 0: False, 1: True
+ [5:5]
+ read-write
+
+
+ slave_disable
+ I2C Slave Disable - 0: False, 1: True
+ [6:6]
+ read-write
+
+
+ stop_det_ifaddressed
+ I2C Stop DET If Addressed - 0: False, 1: True
+ [7:7]
+ read-write
+
+
+ tx_empty_ctrl
+ I2C TX Empty Control - 0: False, 1: True
+ [8:8]
+ read-write
+
+
+ rx_fifo_full_hld_ctrl
+ I2C RX FIFO Full Hold Control - 0: False, 1: True
+ [9:9]
+ read-write
+
+
+ bus_clear_ctrl
+ I2C Bus Clear Control - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ tar
+ DesignWare I2C TAR
+ 0x4
+ 32
+
+
+ tar
+ tar
+ [31:0]
+ read-write
+
+
+
+
+ sar
+ DesignWare I2C SAR
+ 0x8
+ 32
+
+
+ sar
+ sar
+ [31:0]
+ read-write
+
+
+
+
+ data_cmd
+ DesignWare I2C Data Command
+ 0x10
+ 32
+
+
+ dat
+ Data Command Data Byte
+ [7:0]
+ read-write
+
+
+ first_data_byte
+ Data Command First Data Byte - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ ss_scl_hcnt
+ DesignWare I2C SS SCL HCNT
+ 0x14
+ 32
+
+
+ ss_scl_hcnt
+ ss_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ ss_scl_lcnt
+ DesignWare I2C SS SCL LCNT
+ 0x18
+ 32
+
+
+ ss_scl_lcnt
+ ss_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_hcnt
+ DesignWare I2C FS SCL HCNT
+ 0x1c
+ 32
+
+
+ fs_scl_hcnt
+ fs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_lcnt
+ DesignWare I2C FS SCL LCNT
+ 0x20
+ 32
+
+
+ fs_scl_lcnt
+ fs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_hcnt
+ DesignWare I2C HS SCL HCNT
+ 0x24
+ 32
+
+
+ hs_scl_hcnt
+ hs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_lcnt
+ DesignWare I2C HS SCL LCNT
+ 0x28
+ 32
+
+
+ hs_scl_lcnt
+ hs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ intr_stat
+ DesignWare I2C Interrupt Status
+ 0x2c
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ intr_mask
+ DesignWare I2C Interrupt Mask
+ 0x30
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ raw_intr_stat
+ DesignWare I2C Raw Interrupt Status
+ 0x34
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ rx_tl
+ DesignWare I2C RX TL
+ 0x38
+ 32
+
+
+ rx_tl
+ rx_tl
+ [31:0]
+ read-write
+
+
+
+
+ tx_tl
+ DesignWare I2C TX TL
+ 0x3c
+ 32
+
+
+ tx_tl
+ tx_tl
+ [31:0]
+ read-write
+
+
+
+
+ clr_intr
+ DesignWare I2C Clear Interrrupt
+ 0x40
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ clr_rx_under
+ DesignWare I2C Clear RX Underrun
+ 0x44
+ 32
+
+
+ clr_rx_under
+ clr_rx_under
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_over
+ DesignWare I2C Clear RX Overrun
+ 0x48
+ 32
+
+
+ clr_rx_over
+ clr_rx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_over
+ DesignWare I2C Clear TX Overrun
+ 0x4c
+ 32
+
+
+ clr_tx_over
+ clr_tx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_rd_req
+ DesignWare I2C Clear Read Request
+ 0x50
+ 32
+
+
+ clr_rd_req
+ clr_rd_req
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_abrt
+ DesignWare I2C Clear TX Abort
+ 0x54
+ 32
+
+
+ clr_tx_abrt
+ clr_tx_abrt
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_done
+ DesignWare I2C Clear RX Done
+ 0x58
+ 32
+
+
+ clr_rx_done
+ clr_rx_done
+ [31:0]
+ read-write
+
+
+
+
+ clr_activity
+ DesignWare I2C Clear Activity
+ 0x5c
+ 32
+
+
+ clr_activity
+ clr_activity
+ [31:0]
+ read-write
+
+
+
+
+ clr_stop_det
+ DesignWare I2C Clear Stop DET
+ 0x60
+ 32
+
+
+ clr_stop_det
+ clr_stop_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_start_det
+ DesignWare I2C Clear Start DET
+ 0x64
+ 32
+
+
+ clr_start_det
+ clr_start_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_gen_call
+ DesignWare I2C Clear General Call
+ 0x68
+ 32
+
+
+ clr_gen_call
+ clr_gen_call
+ [31:0]
+ read-write
+
+
+
+
+ enable
+ DesignWare I2C Enable
+ 0x6c
+ 32
+
+
+ abort
+ abort
+ [1:1]
+ read-write
+
+
+
+
+ status
+ DesignWare I2C Status
+ 0x70
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-only
+
+
+ tfe
+ tfe
+ [2:2]
+ read-only
+
+
+ rfne
+ rfne
+ [3:3]
+ read-only
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-only
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-only
+
+
+
+
+ txflr
+ DesignWare I2C TX Failure
+ 0x74
+ 32
+
+
+ txflr
+ txflr
+ [31:0]
+ read-write
+
+
+
+
+ rxflr
+ DesignWare I2C RX Failure
+ 0x78
+ 32
+
+
+ rxflr
+ rxflr
+ [31:0]
+ read-write
+
+
+
+
+ sda_hold
+ DesignWare I2C SDA Hold
+ 0x7c
+ 32
+
+
+ sda_hold
+ sda_hold
+ [31:0]
+ read-write
+
+
+
+
+ tx_abrt_source
+ DesignWare I2C TX Abort Source
+ 0x80
+ 32
+
+
+ b7_addr_noack
+ b7_addr_noack
+ [0:0]
+ read-only
+
+
+ b10_addr1_noack
+ b10_addr1_noack
+ [1:1]
+ read-only
+
+
+ b10_addr2_noack
+ b10_addr2_noack
+ [2:2]
+ read-only
+
+
+ txdata_noack
+ txdata_noack
+ [3:3]
+ read-only
+
+
+ gcall_noack
+ gcall_noack
+ [4:4]
+ read-only
+
+
+ gcall_read
+ gcall_read
+ [5:5]
+ read-only
+
+
+ sbyte_ackdet
+ sbyte_ackdet
+ [7:7]
+ read-only
+
+
+ sbyte_norstrt
+ sbyte_norstrt
+ [9:9]
+ read-only
+
+
+ b10_rd_norstrt
+ b10_rd_norstrt
+ [10:10]
+ read-only
+
+
+ master_dis
+ master_dis
+ [11:11]
+ read-only
+
+
+ arb_lost
+ arb_lost
+ [12:12]
+ read-only
+
+
+ slave_flush_txfifo
+ slave_flush_txfifo
+ [13:13]
+ read-only
+
+
+ slave_arblost
+ slave_arblost
+ [14:14]
+ read-only
+
+
+ slave_rd_intx
+ slave_rd_intx
+ [15:15]
+ read-only
+
+
+
+
+ enable_status
+ DesignWare I2C Enable Status
+ 0x9c
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-write
+
+
+ tfe
+ tfe
+ [2:2]
+ read-write
+
+
+ rfne
+ rfne
+ [3:3]
+ read-write
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-write
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-write
+
+
+
+
+ clr_restart_det
+ DesignWare I2C Clear Restart DET
+ 0xa8
+ 32
+
+
+ clr_restart_det
+ clr_restart_det
+ [31:0]
+ read-write
+
+
+
+
+ comp_param_1
+ DesignWare I2C Compatibility Parameter 1
+ 0xf4
+ 32
+
+
+ speed
+ Speed mask - 01: Standard, 10: Full, 11: High
+ [3:2]
+ read-only
+
+
+
+
+ comp_version
+ DesignWare I2C Compatibility Version
+ 0xf8
+ 32
+
+
+ comp_version
+ comp_version
+ [31:0]
+ read-only
+
+
+
+
+ comp_type
+ DesignWare I2C Compatibility Type
+ 0xfc
+ 32
+
+
+ comp_type
+ comp_type
+ [31:0]
+ read-only
+
+
+
+
+
+
+ snps_designware_i2c_6
+ From snps,designware-i2c, peripheral generator
+ 0x12060000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ con
+ DesignWare I2C CON
+ 0x0
+ 32
+
+
+ master
+ I2C Master Connection - 0: Slave, 1: Master
+ [0:0]
+ read-write
+
+
+ speed
+ I2C Speed - 01: Standard, 10: Fast, 11: High
+ [2:1]
+ read-write
+
+
+ slave_10bitaddr
+ I2C Slave 10-bit Address - 0: False, 1: True
+ [3:3]
+ read-write
+
+
+ master_10bitaddr
+ I2C Master 10-bit Address - 0: False, 1: True
+ [4:4]
+ read-write
+
+
+ restart_en
+ I2C Restart Enable - 0: False, 1: True
+ [5:5]
+ read-write
+
+
+ slave_disable
+ I2C Slave Disable - 0: False, 1: True
+ [6:6]
+ read-write
+
+
+ stop_det_ifaddressed
+ I2C Stop DET If Addressed - 0: False, 1: True
+ [7:7]
+ read-write
+
+
+ tx_empty_ctrl
+ I2C TX Empty Control - 0: False, 1: True
+ [8:8]
+ read-write
+
+
+ rx_fifo_full_hld_ctrl
+ I2C RX FIFO Full Hold Control - 0: False, 1: True
+ [9:9]
+ read-write
+
+
+ bus_clear_ctrl
+ I2C Bus Clear Control - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ tar
+ DesignWare I2C TAR
+ 0x4
+ 32
+
+
+ tar
+ tar
+ [31:0]
+ read-write
+
+
+
+
+ sar
+ DesignWare I2C SAR
+ 0x8
+ 32
+
+
+ sar
+ sar
+ [31:0]
+ read-write
+
+
+
+
+ data_cmd
+ DesignWare I2C Data Command
+ 0x10
+ 32
+
+
+ dat
+ Data Command Data Byte
+ [7:0]
+ read-write
+
+
+ first_data_byte
+ Data Command First Data Byte - 0: False, 1: True
+ [11:11]
+ read-write
+
+
+
+
+ ss_scl_hcnt
+ DesignWare I2C SS SCL HCNT
+ 0x14
+ 32
+
+
+ ss_scl_hcnt
+ ss_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ ss_scl_lcnt
+ DesignWare I2C SS SCL LCNT
+ 0x18
+ 32
+
+
+ ss_scl_lcnt
+ ss_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_hcnt
+ DesignWare I2C FS SCL HCNT
+ 0x1c
+ 32
+
+
+ fs_scl_hcnt
+ fs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ fs_scl_lcnt
+ DesignWare I2C FS SCL LCNT
+ 0x20
+ 32
+
+
+ fs_scl_lcnt
+ fs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_hcnt
+ DesignWare I2C HS SCL HCNT
+ 0x24
+ 32
+
+
+ hs_scl_hcnt
+ hs_scl_hcnt
+ [31:0]
+ read-write
+
+
+
+
+ hs_scl_lcnt
+ DesignWare I2C HS SCL LCNT
+ 0x28
+ 32
+
+
+ hs_scl_lcnt
+ hs_scl_lcnt
+ [31:0]
+ read-write
+
+
+
+
+ intr_stat
+ DesignWare I2C Interrupt Status
+ 0x2c
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ intr_mask
+ DesignWare I2C Interrupt Mask
+ 0x30
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ raw_intr_stat
+ DesignWare I2C Raw Interrupt Status
+ 0x34
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-only
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-only
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-only
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-only
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-only
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-only
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-only
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-only
+
+
+ activity
+ Activity
+ [8:8]
+ read-only
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-only
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-only
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-only
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-only
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-only
+
+
+
+
+ rx_tl
+ DesignWare I2C RX TL
+ 0x38
+ 32
+
+
+ rx_tl
+ rx_tl
+ [31:0]
+ read-write
+
+
+
+
+ tx_tl
+ DesignWare I2C TX TL
+ 0x3c
+ 32
+
+
+ tx_tl
+ tx_tl
+ [31:0]
+ read-write
+
+
+
+
+ clr_intr
+ DesignWare I2C Clear Interrrupt
+ 0x40
+ 32
+
+
+ rx_under
+ RX FIFO Underrun
+ [0:0]
+ read-write
+
+
+ rx_over
+ RX FIFO Overrun
+ [1:1]
+ read-write
+
+
+ rx_full
+ RX FIFO Full
+ [2:2]
+ read-write
+
+
+ tx_over
+ TX FIFO Overrun
+ [3:3]
+ read-write
+
+
+ tx_empty
+ TX FIFO Empty
+ [4:4]
+ read-write
+
+
+ rd_req
+ Read Request
+ [5:5]
+ read-write
+
+
+ tx_abrt
+ TX Abort
+ [6:6]
+ read-write
+
+
+ rx_done
+ RX Done
+ [7:7]
+ read-write
+
+
+ activity
+ Activity
+ [8:8]
+ read-write
+
+
+ stop_det
+ Stop DET
+ [9:9]
+ read-write
+
+
+ start_det
+ Start DET
+ [10:10]
+ read-write
+
+
+ gen_call
+ General Call
+ [11:11]
+ read-write
+
+
+ restart_det
+ Restart DET
+ [12:12]
+ read-write
+
+
+ mst_on_hold
+ Master on Hold
+ [13:13]
+ read-write
+
+
+
+
+ clr_rx_under
+ DesignWare I2C Clear RX Underrun
+ 0x44
+ 32
+
+
+ clr_rx_under
+ clr_rx_under
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_over
+ DesignWare I2C Clear RX Overrun
+ 0x48
+ 32
+
+
+ clr_rx_over
+ clr_rx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_over
+ DesignWare I2C Clear TX Overrun
+ 0x4c
+ 32
+
+
+ clr_tx_over
+ clr_tx_over
+ [31:0]
+ read-write
+
+
+
+
+ clr_rd_req
+ DesignWare I2C Clear Read Request
+ 0x50
+ 32
+
+
+ clr_rd_req
+ clr_rd_req
+ [31:0]
+ read-write
+
+
+
+
+ clr_tx_abrt
+ DesignWare I2C Clear TX Abort
+ 0x54
+ 32
+
+
+ clr_tx_abrt
+ clr_tx_abrt
+ [31:0]
+ read-write
+
+
+
+
+ clr_rx_done
+ DesignWare I2C Clear RX Done
+ 0x58
+ 32
+
+
+ clr_rx_done
+ clr_rx_done
+ [31:0]
+ read-write
+
+
+
+
+ clr_activity
+ DesignWare I2C Clear Activity
+ 0x5c
+ 32
+
+
+ clr_activity
+ clr_activity
+ [31:0]
+ read-write
+
+
+
+
+ clr_stop_det
+ DesignWare I2C Clear Stop DET
+ 0x60
+ 32
+
+
+ clr_stop_det
+ clr_stop_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_start_det
+ DesignWare I2C Clear Start DET
+ 0x64
+ 32
+
+
+ clr_start_det
+ clr_start_det
+ [31:0]
+ read-write
+
+
+
+
+ clr_gen_call
+ DesignWare I2C Clear General Call
+ 0x68
+ 32
+
+
+ clr_gen_call
+ clr_gen_call
+ [31:0]
+ read-write
+
+
+
+
+ enable
+ DesignWare I2C Enable
+ 0x6c
+ 32
+
+
+ abort
+ abort
+ [1:1]
+ read-write
+
+
+
+
+ status
+ DesignWare I2C Status
+ 0x70
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-only
+
+
+ tfe
+ tfe
+ [2:2]
+ read-only
+
+
+ rfne
+ rfne
+ [3:3]
+ read-only
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-only
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-only
+
+
+
+
+ txflr
+ DesignWare I2C TX Failure
+ 0x74
+ 32
+
+
+ txflr
+ txflr
+ [31:0]
+ read-write
+
+
+
+
+ rxflr
+ DesignWare I2C RX Failure
+ 0x78
+ 32
+
+
+ rxflr
+ rxflr
+ [31:0]
+ read-write
+
+
+
+
+ sda_hold
+ DesignWare I2C SDA Hold
+ 0x7c
+ 32
+
+
+ sda_hold
+ sda_hold
+ [31:0]
+ read-write
+
+
+
+
+ tx_abrt_source
+ DesignWare I2C TX Abort Source
+ 0x80
+ 32
+
+
+ b7_addr_noack
+ b7_addr_noack
+ [0:0]
+ read-only
+
+
+ b10_addr1_noack
+ b10_addr1_noack
+ [1:1]
+ read-only
+
+
+ b10_addr2_noack
+ b10_addr2_noack
+ [2:2]
+ read-only
+
+
+ txdata_noack
+ txdata_noack
+ [3:3]
+ read-only
+
+
+ gcall_noack
+ gcall_noack
+ [4:4]
+ read-only
+
+
+ gcall_read
+ gcall_read
+ [5:5]
+ read-only
+
+
+ sbyte_ackdet
+ sbyte_ackdet
+ [7:7]
+ read-only
+
+
+ sbyte_norstrt
+ sbyte_norstrt
+ [9:9]
+ read-only
+
+
+ b10_rd_norstrt
+ b10_rd_norstrt
+ [10:10]
+ read-only
+
+
+ master_dis
+ master_dis
+ [11:11]
+ read-only
+
+
+ arb_lost
+ arb_lost
+ [12:12]
+ read-only
+
+
+ slave_flush_txfifo
+ slave_flush_txfifo
+ [13:13]
+ read-only
+
+
+ slave_arblost
+ slave_arblost
+ [14:14]
+ read-only
+
+
+ slave_rd_intx
+ slave_rd_intx
+ [15:15]
+ read-only
+
+
+
+
+ enable_status
+ DesignWare I2C Enable Status
+ 0x9c
+ 32
+
+
+ activity
+ activity
+ [0:0]
+ read-write
+
+
+ tfe
+ tfe
+ [2:2]
+ read-write
+
+
+ rfne
+ rfne
+ [3:3]
+ read-write
+
+
+ master_activity
+ master_activity
+ [5:5]
+ read-write
+
+
+ slave_activity
+ slave_activity
+ [6:6]
+ read-write
+
+
+
+
+ clr_restart_det
+ DesignWare I2C Clear Restart DET
+ 0xa8
+ 32
+
+
+ clr_restart_det
+ clr_restart_det
+ [31:0]
+ read-write
+
+
+
+
+ comp_param_1
+ DesignWare I2C Compatibility Parameter 1
+ 0xf4
+ 32
+
+
+ speed
+ Speed mask - 01: Standard, 10: Full, 11: High
+ [3:2]
+ read-only
+
+
+
+
+ comp_version
+ DesignWare I2C Compatibility Version
+ 0xf8
+ 32
+
+
+ comp_version
+ comp_version
+ [31:0]
+ read-only
+
+
+
+
+ comp_type
+ DesignWare I2C Compatibility Type
+ 0xfc
+ 32
+
+
+ comp_type
+ comp_type
+ [31:0]
+ read-only
+
+
+
+
+
+
+ arm_pl022_3
+ From arm,pl022, peripheral generator
+ 0x12070000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ ssp_cr0
+ SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.
+ 0x0
+ 16
+
+
+ scr
+ Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data
+ [3:0]
+ read-write
+
+
+ frf
+ Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved
+ [5:4]
+ read-write
+
+
+ spo
+ SSPCLKOUT polarity, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ sph
+ SSPCLKOUT phase, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ scr
+ Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F[sspclk] / (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from [2:254], programmed through the SSPCPSR register and SCR is a value from [0:255]
+ [15:8]
+ read-write
+
+
+
+
+ ssp_cr1
+ SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.
+ 0x4
+ 16
+
+
+ lbm
+ Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally
+ [0:0]
+ read-write
+
+
+ sse
+ Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled
+ [1:1]
+ read-write
+
+
+ ms
+ Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave
+ [2:2]
+ read-write
+
+
+ sod
+ Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode
+ [3:3]
+ read-write
+
+
+
+
+ ssp_dr
+ SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
+ 0x8
+ 16
+
+
+ data
+ Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies.
+ [15:0]
+ read-write
+
+
+
+
+ ssp_sr
+ SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.
+ 0xc
+ 16
+
+
+ tfe
+ Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty.
+ [0:0]
+ read-only
+
+
+ tnf
+ Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full.
+ [1:1]
+ read-only
+
+
+ rne
+ Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty.
+ [2:2]
+ read-only
+
+
+ rff
+ Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full.
+ [3:3]
+ read-only
+
+
+ bsy
+ PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty.
+ [4:4]
+ read-only
+
+
+
+
+ ssp_cpsr
+ SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between [2:254]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.
+ 0x10
+ 16
+
+
+ cpsdvsr
+ Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads.
+ [7:0]
+ read-write
+
+
+
+
+ ssp_imsc
+ The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.
+ 0x14
+ 16
+
+
+ rorim
+ Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked
+ [0:0]
+ read-write
+
+
+ rtim
+ Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked
+ [1:1]
+ read-write
+
+
+ rxim
+ Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked
+ [2:2]
+ read-write
+
+
+ txim
+ Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked
+ [2:2]
+ read-write
+
+
+
+
+ ssp_ris
+ The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.
+ 0x18
+ 16
+
+
+ rorris
+ Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtris
+ Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxris
+ Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txris
+ Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
+
+
+
+
+ ssp_mis
+ The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.
+ 0x1c
+ 16
+
+
+ rormis
+ Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtmis
+ Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxmis
+ Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txmis
+ Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
+
+
+
+
+ ssp_icr
+ The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
+ 0x20
+ 16
+
+
+ roric
+ Clears the SSPRORINTR interrupt
+ [0:0]
+ read-write
+
+
+ rtic
+ Clears the SSPRTINTR interrupt
+ [1:1]
+ read-write
+
+
+
+
+ ssp_dmacr
+ The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.
+ 0x24
+ 16
+
+
+ rxdmae
+ Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled.
+ [0:0]
+ read-write
+
+
+ txdmae
+ Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled.
+ [1:1]
+ read-write
+
+
+
+
+ ssp_periph_id0
+ The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe0
+ 16
+
+
+ part_number0
+ These bits read back as 0x22
+ [7:0]
+ read-only
+
+
+
+
+ ssp_periph_id1
+ The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe4
+ 16
+
+
+ part_number1
+ These bits read back as 0x0
+ [3:0]
+ read-only
+
+
+ designer0
+ These bits read back as 0x1
+ [7:4]
+ read-only
+
+
+
+
+ ssp_periph_id2
+ The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe8
+ 16
+
+
+ designer1
+ These bits read back as 0x4
+ [3:0]
+ read-only
+
+
+ revision
+ These bits return the peripheral revision
+ [7:4]
+ read-only
+
+
+
+
+ ssp_periph_id3
+ The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfec
+ 16
+
+
+ configuration
+ These bits read back as 0x80
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id0
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff0
+ 16
+
+
+ ssp_pcell_id0
+ The bits are read as 0xD
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id1
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff4
+ 16
+
+
+ ssp_pcell_id1
+ The bits are read as 0xF0
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id2
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff8
+ 16
+
+
+ ssp_pcell_id2
+ The bits are read as 0x5
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id3
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xffc
+ 16
+
+
+ ssp_pcell_id3
+ The bits are read as 0xB1
+ [7:0]
+ read-only
+
+
+
+
+
+
+ arm_primecell_3
+ From arm,primecell, peripheral generator
+ 0x12070000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ arm_pl022_4
+ From arm,pl022, peripheral generator
+ 0x12080000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ ssp_cr0
+ SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.
+ 0x0
+ 16
+
+
+ scr
+ Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data
+ [3:0]
+ read-write
+
+
+ frf
+ Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved
+ [5:4]
+ read-write
+
+
+ spo
+ SSPCLKOUT polarity, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ sph
+ SSPCLKOUT phase, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ scr
+ Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F[sspclk] / (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from [2:254], programmed through the SSPCPSR register and SCR is a value from [0:255]
+ [15:8]
+ read-write
+
+
+
+
+ ssp_cr1
+ SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.
+ 0x4
+ 16
+
+
+ lbm
+ Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally
+ [0:0]
+ read-write
+
+
+ sse
+ Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled
+ [1:1]
+ read-write
+
+
+ ms
+ Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave
+ [2:2]
+ read-write
+
+
+ sod
+ Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode
+ [3:3]
+ read-write
+
+
+
+
+ ssp_dr
+ SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
+ 0x8
+ 16
+
+
+ data
+ Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies.
+ [15:0]
+ read-write
+
+
+
+
+ ssp_sr
+ SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.
+ 0xc
+ 16
+
+
+ tfe
+ Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty.
+ [0:0]
+ read-only
+
+
+ tnf
+ Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full.
+ [1:1]
+ read-only
+
+
+ rne
+ Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty.
+ [2:2]
+ read-only
+
+
+ rff
+ Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full.
+ [3:3]
+ read-only
+
+
+ bsy
+ PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty.
+ [4:4]
+ read-only
+
+
+
+
+ ssp_cpsr
+ SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between [2:254]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.
+ 0x10
+ 16
+
+
+ cpsdvsr
+ Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads.
+ [7:0]
+ read-write
+
+
+
+
+ ssp_imsc
+ The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.
+ 0x14
+ 16
+
+
+ rorim
+ Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked
+ [0:0]
+ read-write
+
+
+ rtim
+ Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked
+ [1:1]
+ read-write
+
+
+ rxim
+ Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked
+ [2:2]
+ read-write
+
+
+ txim
+ Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked
+ [2:2]
+ read-write
+
+
+
+
+ ssp_ris
+ The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.
+ 0x18
+ 16
+
+
+ rorris
+ Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtris
+ Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxris
+ Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txris
+ Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
+
+
+
+
+ ssp_mis
+ The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.
+ 0x1c
+ 16
+
+
+ rormis
+ Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtmis
+ Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxmis
+ Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txmis
+ Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
+
+
+
+
+ ssp_icr
+ The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
+ 0x20
+ 16
+
+
+ roric
+ Clears the SSPRORINTR interrupt
+ [0:0]
+ read-write
+
+
+ rtic
+ Clears the SSPRTINTR interrupt
+ [1:1]
+ read-write
+
+
+
+
+ ssp_dmacr
+ The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.
+ 0x24
+ 16
+
+
+ rxdmae
+ Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled.
+ [0:0]
+ read-write
+
+
+ txdmae
+ Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled.
+ [1:1]
+ read-write
+
+
+
+
+ ssp_periph_id0
+ The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe0
+ 16
+
+
+ part_number0
+ These bits read back as 0x22
+ [7:0]
+ read-only
+
+
+
+
+ ssp_periph_id1
+ The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe4
+ 16
+
+
+ part_number1
+ These bits read back as 0x0
+ [3:0]
+ read-only
+
+
+ designer0
+ These bits read back as 0x1
+ [7:4]
+ read-only
+
+
+
+
+ ssp_periph_id2
+ The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe8
+ 16
+
+
+ designer1
+ These bits read back as 0x4
+ [3:0]
+ read-only
+
+
+ revision
+ These bits return the peripheral revision
+ [7:4]
+ read-only
+
+
+
+
+ ssp_periph_id3
+ The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfec
+ 16
+
+
+ configuration
+ These bits read back as 0x80
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id0
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff0
+ 16
+
+
+ ssp_pcell_id0
+ The bits are read as 0xD
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id1
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff4
+ 16
+
+
+ ssp_pcell_id1
+ The bits are read as 0xF0
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id2
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff8
+ 16
+
+
+ ssp_pcell_id2
+ The bits are read as 0x5
+ [7:0]
+ read-only
+
+
+
+
+ ssp_pcell_id3
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xffc
+ 16
+
+
+ ssp_pcell_id3
+ The bits are read as 0xB1
+ [7:0]
+ read-only
+
+
+
+
+
+
+ arm_primecell_4
+ From arm,primecell, peripheral generator
+ 0x12080000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ arm_pl022_5
+ From arm,pl022, peripheral generator
+ 0x12090000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ ssp_cr0
+ SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.
+ 0x0
+ 16
+
+
+ scr
+ Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data
+ [3:0]
+ read-write
+
+
+ frf
+ Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved
+ [5:4]
+ read-write
+
+
+ spo
+ SSPCLKOUT polarity, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ sph
+ SSPCLKOUT phase, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ scr
+ Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F[sspclk] / (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from [2:254], programmed through the SSPCPSR register and SCR is a value from [0:255]
+ [15:8]
read-write
- stg_sysconsaif_syscfg836
- STG SYSCONSAIF SYSCFG 836
- 0x344
- 32
+ ssp_cr1
+ SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.
+ 0x4
+ 16
- u1_plda_pcie_test_out_bridge_351_320
- u1_plda_pcie_test_out_bridge_351_320
- [31:0]
+ lbm
+ Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally
+ [0:0]
+ read-write
+
+
+ sse
+ Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled
+ [1:1]
+ read-write
+
+
+ ms
+ Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave
+ [2:2]
+ read-write
+
+
+ sod
+ Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode
+ [3:3]
read-write
- stg_sysconsaif_syscfg840
- STG SYSCONSAIF SYSCFG 840
- 0x348
- 32
+ ssp_dr
+ SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
+ 0x8
+ 16
- u1_plda_pcie_test_out_bridge_383_352
- u1_plda_pcie_test_out_bridge_383_352
- [31:0]
+ data
+ Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies.
+ [15:0]
read-write
- stg_sysconsaif_syscfg844
- STG SYSCONSAIF SYSCFG 844
- 0x34c
- 32
+ ssp_sr
+ SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.
+ 0xc
+ 16
- u1_plda_pcie_test_out_bridge_415_384
- u1_plda_pcie_test_out_bridge_415_384
- [31:0]
+ tfe
+ Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty.
+ [0:0]
+ read-only
+
+
+ tnf
+ Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full.
+ [1:1]
+ read-only
+
+
+ rne
+ Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty.
+ [2:2]
+ read-only
+
+
+ rff
+ Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full.
+ [3:3]
+ read-only
+
+
+ bsy
+ PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty.
+ [4:4]
+ read-only
+
+
+
+
+ ssp_cpsr
+ SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between [2:254]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.
+ 0x10
+ 16
+
+
+ cpsdvsr
+ Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads.
+ [7:0]
read-write
- stg_sysconsaif_syscfg848
- STG SYSCONSAIF SYSCFG 848
- 0x350
- 32
+ ssp_imsc
+ The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.
+ 0x14
+ 16
- u1_plda_pcie_test_out_bridge_447_416
- u1_plda_pcie_test_out_bridge_447_416
- [31:0]
+ rorim
+ Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked
+ [0:0]
+ read-write
+
+
+ rtim
+ Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked
+ [1:1]
+ read-write
+
+
+ rxim
+ Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked
+ [2:2]
+ read-write
+
+
+ txim
+ Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked
+ [2:2]
read-write
- stg_sysconsaif_syscfg852
- STG SYSCONSAIF SYSCFG 852
- 0x354
- 32
+ ssp_ris
+ The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.
+ 0x18
+ 16
- u1_plda_pcie_test_out_bridge_479_448
- u1_plda_pcie_test_out_bridge_479_448
- [31:0]
+ rorris
+ Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtris
+ Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxris
+ Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txris
+ Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
+
+
+
+
+ ssp_mis
+ The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.
+ 0x1c
+ 16
+
+
+ rormis
+ Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtmis
+ Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxmis
+ Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txmis
+ Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt
+ [3:3]
+ read-only
+
+
+
+
+ ssp_icr
+ The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
+ 0x20
+ 16
+
+
+ roric
+ Clears the SSPRORINTR interrupt
+ [0:0]
+ read-write
+
+
+ rtic
+ Clears the SSPRTINTR interrupt
+ [1:1]
read-write
- stg_sysconsaif_syscfg856
- STG SYSCONSAIF SYSCFG 856
- 0x358
- 32
+ ssp_dmacr
+ The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.
+ 0x24
+ 16
+
+
+ rxdmae
+ Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled.
+ [0:0]
+ read-write
+
+
+ txdmae
+ Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled.
+ [1:1]
+ read-write
+
+
+
+
+ ssp_periph_id0
+ The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe0
+ 16
+
+
+ part_number0
+ These bits read back as 0x22
+ [7:0]
+ read-only
+
+
+
+
+ ssp_periph_id1
+ The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe4
+ 16
+
+
+ part_number1
+ These bits read back as 0x0
+ [3:0]
+ read-only
+
+
+ designer0
+ These bits read back as 0x1
+ [7:4]
+ read-only
+
+
+
+
+ ssp_periph_id2
+ The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe8
+ 16
- u1_plda_pcie_test_out_bridge_511_480
- u1_plda_pcie_test_out_bridge_511_480
- [31:0]
- read-write
+ designer1
+ These bits read back as 0x4
+ [3:0]
+ read-only
+
+
+ revision
+ These bits return the peripheral revision
+ [7:4]
+ read-only
- stg_sysconsaif_syscfg860
- STG SYSCONSAIF SYSCFG 860
- 0x35c
- 32
+ ssp_periph_id3
+ The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfec
+ 16
- u1_plda_pcie_test_out_pcie_31_0
- u1_plda_pcie_test_out_pcie_31_0
- [31:0]
+ configuration
+ These bits read back as 0x80
+ [7:0]
read-only
- stg_sysconsaif_syscfg864
- STG SYSCONSAIF SYSCFG 864
- 0x360
- 32
+ ssp_pcell_id0
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff0
+ 16
- u1_plda_pcie_test_out_pcie_63_32
- u1_plda_pcie_test_out_pcie_63_32
- [31:0]
+ ssp_pcell_id0
+ The bits are read as 0xD
+ [7:0]
read-only
- stg_sysconsaif_syscfg868
- STG SYSCONSAIF SYSCFG 868
- 0x364
- 32
+ ssp_pcell_id1
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff4
+ 16
- u1_plda_pcie_test_out_pcie_95_64
- u1_plda_pcie_test_out_pcie_95_64
- [31:0]
+ ssp_pcell_id1
+ The bits are read as 0xF0
+ [7:0]
read-only
- stg_sysconsaif_syscfg872
- STG SYSCONSAIF SYSCFG 872
- 0x368
- 32
+ ssp_pcell_id2
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff8
+ 16
- u1_plda_pcie_test_out_pcie_127_96
- u1_plda_pcie_test_out_pcie_127_96
- [31:0]
+ ssp_pcell_id2
+ The bits are read as 0x5
+ [7:0]
read-only
- stg_sysconsaif_syscfg876
- STG SYSCONSAIF SYSCFG 876
- 0x36c
- 32
+ ssp_pcell_id3
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xffc
+ 16
- u1_plda_pcie_test_out_pcie_159_128
- u1_plda_pcie_test_out_pcie_159_128
- [31:0]
+ ssp_pcell_id3
+ The bits are read as 0xB1
+ [7:0]
read-only
+
+
+
+ arm_primecell_5
+ From arm,primecell, peripheral generator
+ 0x12090000
+
+ 0
+ 0x10000
+ registers
+
+
+
+ arm_pl022_6
+ From arm,pl022, peripheral generator
+ 0x120A0000
+
+ 0
+ 0x10000
+ registers
+
+
- stg_sysconsaif_syscfg880
- STG SYSCONSAIF SYSCFG 880
- 0x370
- 32
+ ssp_cr0
+ SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.
+ 0x0
+ 16
- u1_plda_pcie_test_out_pcie_191_160
- u1_plda_pcie_test_out_pcie_191_160
- [31:0]
- read-only
+ scr
+ Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data
+ [3:0]
+ read-write
+
+
+ frf
+ Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved
+ [5:4]
+ read-write
+
+
+ spo
+ SSPCLKOUT polarity, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ sph
+ SSPCLKOUT phase, applicable to Motorola SPI frame format only.
+ [6:6]
+ read-write
+
+
+ scr
+ Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F[sspclk] / (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from [2:254], programmed through the SSPCPSR register and SCR is a value from [0:255]
+ [15:8]
+ read-write
- stg_sysconsaif_syscfg884
- STG SYSCONSAIF SYSCFG 884
- 0x374
- 32
+ ssp_cr1
+ SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.
+ 0x4
+ 16
- u1_plda_pcie_test_out_pcie_223_192
- u1_plda_pcie_test_out_pcie_223_192
- [31:0]
- read-only
+ lbm
+ Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally
+ [0:0]
+ read-write
+
+
+ sse
+ Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled
+ [1:1]
+ read-write
+
+
+ ms
+ Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave
+ [2:2]
+ read-write
+
+
+ sod
+ Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode
+ [3:3]
+ read-write
- stg_sysconsaif_syscfg888
- STG SYSCONSAIF SYSCFG 888
- 0x378
- 32
+ ssp_dr
+ SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
+ 0x8
+ 16
- u1_plda_pcie_test_out_pcie_255_224
- u1_plda_pcie_test_out_pcie_255_224
- [31:0]
- read-only
+ data
+ Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies.
+ [15:0]
+ read-write
- stg_sysconsaif_syscfg892
- STG SYSCONSAIF SYSCFG 892
- 0x37c
- 32
+ ssp_sr
+ SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.
+ 0xc
+ 16
- u1_plda_pcie_test_out_pcie_287_256
- u1_plda_pcie_test_out_pcie_287_256
- [31:0]
+ tfe
+ Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty.
+ [0:0]
+ read-only
+
+
+ tnf
+ Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full.
+ [1:1]
+ read-only
+
+
+ rne
+ Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty.
+ [2:2]
+ read-only
+
+
+ rff
+ Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full.
+ [3:3]
+ read-only
+
+
+ bsy
+ PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty.
+ [4:4]
read-only
- stg_sysconsaif_syscfg896
- STG SYSCONSAIF SYSCFG 896
- 0x380
- 32
+ ssp_cpsr
+ SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between [2:254]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.
+ 0x10
+ 16
- u1_plda_pcie_test_out_pcie_319_288
- u1_plda_pcie_test_out_pcie_319_288
- [31:0]
- read-only
+ cpsdvsr
+ Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads.
+ [7:0]
+ read-write
- stg_sysconsaif_syscfg900
- STG SYSCONSAIF SYSCFG 900
- 0x384
- 32
+ ssp_imsc
+ The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.
+ 0x14
+ 16
- u1_plda_pcie_test_out_pcie_351_320
- u1_plda_pcie_test_out_pcie_351_320
- [31:0]
- read-only
+ rorim
+ Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked
+ [0:0]
+ read-write
+
+
+ rtim
+ Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked
+ [1:1]
+ read-write
+
+
+ rxim
+ Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked
+ [2:2]
+ read-write
+
+
+ txim
+ Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked
+ [2:2]
+ read-write
- stg_sysconsaif_syscfg904
- STG SYSCONSAIF SYSCFG 904
- 0x388
- 32
+ ssp_ris
+ The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.
+ 0x18
+ 16
- u1_plda_pcie_test_out_pcie_383_352
- u1_plda_pcie_test_out_pcie_383_352
- [31:0]
+ rorris
+ Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtris
+ Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxris
+ Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txris
+ Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt
+ [3:3]
read-only
- stg_sysconsaif_syscfg908
- STG SYSCONSAIF SYSCFG 908
- 0x38c
- 32
+ ssp_mis
+ The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.
+ 0x1c
+ 16
- u1_plda_pcie_test_out_pcie_415_384
- u1_plda_pcie_test_out_pcie_415_384
- [31:0]
+ rormis
+ Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt
+ [0:0]
+ read-only
+
+
+ rtmis
+ Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt
+ [1:1]
+ read-only
+
+
+ rxmis
+ Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt
+ [2:2]
+ read-only
+
+
+ txmis
+ Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt
+ [3:3]
read-only
- stg_sysconsaif_syscfg912
- STG SYSCONSAIF SYSCFG 912
- 0x390
- 32
+ ssp_icr
+ The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
+ 0x20
+ 16
- u1_plda_pcie_test_out_pcie_447_416
- u1_plda_pcie_test_out_pcie_447_416
- [31:0]
- read-only
+ roric
+ Clears the SSPRORINTR interrupt
+ [0:0]
+ read-write
+
+
+ rtic
+ Clears the SSPRTINTR interrupt
+ [1:1]
+ read-write
- stg_sysconsaif_syscfg916
- STG SYSCONSAIF SYSCFG 916
- 0x394
- 32
+ ssp_dmacr
+ The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.
+ 0x24
+ 16
- u1_plda_pcie_test_out_pcie_479_448
- u1_plda_pcie_test_out_pcie_479_448
- [31:0]
- read-only
+ rxdmae
+ Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled.
+ [0:0]
+ read-write
+
+
+ txdmae
+ Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled.
+ [1:1]
+ read-write
- stg_sysconsaif_syscfg920
- STG SYSCONSAIF SYSCFG 920
- 0x398
- 32
+ ssp_periph_id0
+ The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe0
+ 16
- u1_plda_pcie_test_out_pcie_511_480
- u1_plda_pcie_test_out_pcie_511_480
- [31:0]
+ part_number0
+ These bits read back as 0x22
+ [7:0]
read-only
- stg_sysconsaif_syscfg924
- STG SYSCONSAIF SYSCFG 924
- 0x39c
- 32
+ ssp_periph_id1
+ The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe4
+ 16
- u1_plda_pcie_test_sel
- u1_plda_pcie_test_sel
+ part_number1
+ These bits read back as 0x0
[3:0]
- read-write
+ read-only
- u1_plda_pcie_tl_clock_freq
- u1_plda_pcie_tl_clock_freq
- [25:4]
- read-write
+ designer0
+ These bits read back as 0x1
+ [7:4]
+ read-only
- stg_sysconsaif_syscfg928
- STG SYSCONSAIF SYSCFG 928
- 0x3a0
- 32
+ ssp_periph_id2
+ The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfe8
+ 16
- u1_plda_pcie_tl_ctrl_hotplug
- u1_plda_pcie_tl_ctrl_hotplug
- [15:0]
+ designer1
+ These bits read back as 0x4
+ [3:0]
read-only
- u1_plda_pcie_tl_report_hotplug
- u1_plda_pcie_tl_report_hotplug
- [31:16]
- read-write
+ revision
+ These bits return the peripheral revision
+ [7:4]
+ read-only
- stg_sysconsaif_syscfg932
- STG SYSCONSAIF SYSCFG 932
- 0x3a4
- 32
+ ssp_periph_id3
+ The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.
+ 0xfec
+ 16
- u1_plda_pcie_tx_pattern
- u1_plda_pcie_tx_pattern
- [1:0]
- read-write
-
-
- u1_plda_pcie_usb3_bus_width
- u1_plda_pcie_usb3_bus_width
- [3:2]
- read-write
-
-
- u1_plda_pcie_usb3_phy_enable
- u1_plda_pcie_usb3_phy_enable
- [4:4]
- read-write
-
-
- u1_plda_pcie_usb3_rate
- u1_plda_pcie_usb3_rate
- [6:5]
- read-write
+ configuration
+ These bits read back as 0x80
+ [7:0]
+ read-only
+
+
+
+ ssp_pcell_id0
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff0
+ 16
+
- u1_plda_pcie_usb3_rx_standby
- u1_plda_pcie_usb3_rx_standby
- [7:7]
- read-write
+ ssp_pcell_id0
+ The bits are read as 0xD
+ [7:0]
+ read-only
+
+
+
+ ssp_pcell_id1
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff4
+ 16
+
- u1_plda_pcie_xwdecerr
- u1_plda_pcie_xwdecerr
- [8:8]
+ ssp_pcell_id1
+ The bits are read as 0xF0
+ [7:0]
read-only
+
+
+
+ ssp_pcell_id2
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xff8
+ 16
+
- u1_plda_pcie_xwerrclr
- u1_plda_pcie_xwerrclr
- [9:9]
- read-write
+ ssp_pcell_id2
+ The bits are read as 0x5
+ [7:0]
+ read-only
+
+
+
+ ssp_pcell_id3
+ The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.
+ 0xffc
+ 16
+
- u1_plda_pcie_xwslverr
- u1_plda_pcie_xwslverr
- [10:10]
+ ssp_pcell_id3
+ The bits are read as 0xB1
+ [7:0]
read-only
-
- syscon_0
- From syscon, peripheral generator
- 0x10240000
-
- 0
- 0x1000
- registers
-
-
-
- snps_dw_apb_uart_3
- From snps,dw-apb-uart, peripheral generator
- 0x12000000
-
- 0
- 0x10000
- registers
-
-
-
- snps_dw_apb_uart_4
- From snps,dw-apb-uart, peripheral generator
- 0x12010000
-
- 0
- 0x10000
- registers
-
-
-
- snps_dw_apb_uart_5
- From snps,dw-apb-uart, peripheral generator
- 0x12020000
-
- 0
- 0x10000
- registers
-
-
-
- snps_designware_i2c_3
- From snps,designware-i2c, peripheral generator
- 0x12030000
-
- 0
- 0x10000
- registers
-
-
-
- snps_designware_i2c_4
- From snps,designware-i2c, peripheral generator
- 0x12040000
-
- 0
- 0x10000
- registers
-
-
-
- snps_designware_i2c_5
- From snps,designware-i2c, peripheral generator
- 0x12050000
-
- 0
- 0x10000
- registers
-
-
-
- snps_designware_i2c_6
- From snps,designware-i2c, peripheral generator
- 0x12060000
-
- 0
- 0x10000
- registers
-
-
-
- arm_pl022_3
- From arm,pl022, peripheral generator
- 0x12070000
-
- 0
- 0x10000
- registers
-
-
-
- arm_primecell_3
- From arm,primecell, peripheral generator
- 0x12070000
-
- 0
- 0x10000
- registers
-
-
-
- arm_pl022_4
- From arm,pl022, peripheral generator
- 0x12080000
-
- 0
- 0x10000
- registers
-
-
-
- arm_primecell_4
- From arm,primecell, peripheral generator
- 0x12080000
-
- 0
- 0x10000
- registers
-
-
-
- arm_pl022_5
- From arm,pl022, peripheral generator
- 0x12090000
-
- 0
- 0x10000
- registers
-
-
-
- arm_primecell_5
- From arm,primecell, peripheral generator
- 0x12090000
-
- 0
- 0x10000
- registers
-
-
-
- arm_pl022_6
- From arm,pl022, peripheral generator
- 0x120A0000
-
- 0
- 0x10000
- registers
-
-
arm_primecell_6
From arm,primecell, peripheral generator
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0.rs
new file mode 100644
index 0000000..7e24761
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0.rs
@@ -0,0 +1,147 @@
+#[doc = r"Register block"]
+#[repr(C)]
+pub struct RegisterBlock {
+ #[doc = "0x00 - SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+ pub ssp_cr0: SSP_CR0,
+ _reserved1: [u8; 0x02],
+ #[doc = "0x04 - SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+ pub ssp_cr1: SSP_CR1,
+ _reserved2: [u8; 0x02],
+ #[doc = "0x08 - SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+ pub ssp_dr: SSP_DR,
+ _reserved3: [u8; 0x02],
+ #[doc = "0x0c - SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+ pub ssp_sr: SSP_SR,
+ _reserved4: [u8; 0x02],
+ #[doc = "0x10 - SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+ pub ssp_cpsr: SSP_CPSR,
+ _reserved5: [u8; 0x02],
+ #[doc = "0x14 - The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+ pub ssp_imsc: SSP_IMSC,
+ _reserved6: [u8; 0x02],
+ #[doc = "0x18 - The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+ pub ssp_ris: SSP_RIS,
+ _reserved7: [u8; 0x02],
+ #[doc = "0x1c - The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+ pub ssp_mis: SSP_MIS,
+ _reserved8: [u8; 0x02],
+ #[doc = "0x20 - The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+ pub ssp_icr: SSP_ICR,
+ _reserved9: [u8; 0x02],
+ #[doc = "0x24 - The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+ pub ssp_dmacr: SSP_DMACR,
+ _reserved10: [u8; 0x0fba],
+ #[doc = "0xfe0 - The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id0: SSP_PERIPH_ID0,
+ _reserved11: [u8; 0x02],
+ #[doc = "0xfe4 - The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id1: SSP_PERIPH_ID1,
+ _reserved12: [u8; 0x02],
+ #[doc = "0xfe8 - The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id2: SSP_PERIPH_ID2,
+ _reserved13: [u8; 0x02],
+ #[doc = "0xfec - The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id3: SSP_PERIPH_ID3,
+ _reserved14: [u8; 0x02],
+ #[doc = "0xff0 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id0: SSP_PCELL_ID0,
+ _reserved15: [u8; 0x02],
+ #[doc = "0xff4 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id1: SSP_PCELL_ID1,
+ _reserved16: [u8; 0x02],
+ #[doc = "0xff8 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id2: SSP_PCELL_ID2,
+ _reserved17: [u8; 0x02],
+ #[doc = "0xffc - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id3: SSP_PCELL_ID3,
+}
+#[doc = "ssp_cr0 (rw) register accessor: SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr0`]
+module"]
+pub type SSP_CR0 = crate::Reg;
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr0;
+#[doc = "ssp_cr1 (rw) register accessor: SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr1`]
+module"]
+pub type SSP_CR1 = crate::Reg;
+#[doc = "SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr1;
+#[doc = "ssp_dr (rw) register accessor: SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dr`]
+module"]
+pub type SSP_DR = crate::Reg;
+#[doc = "SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+pub mod ssp_dr;
+#[doc = "ssp_sr (rw) register accessor: SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_sr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_sr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_sr`]
+module"]
+pub type SSP_SR = crate::Reg;
+#[doc = "SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+pub mod ssp_sr;
+#[doc = "ssp_cpsr (rw) register accessor: SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cpsr`]
+module"]
+pub type SSP_CPSR = crate::Reg;
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+pub mod ssp_cpsr;
+#[doc = "ssp_imsc (rw) register accessor: The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_imsc::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_imsc::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_imsc`]
+module"]
+pub type SSP_IMSC = crate::Reg;
+#[doc = "The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+pub mod ssp_imsc;
+#[doc = "ssp_ris (rw) register accessor: The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_ris::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_ris::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_ris`]
+module"]
+pub type SSP_RIS = crate::Reg;
+#[doc = "The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+pub mod ssp_ris;
+#[doc = "ssp_mis (rw) register accessor: The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_mis::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_mis::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_mis`]
+module"]
+pub type SSP_MIS = crate::Reg;
+#[doc = "The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+pub mod ssp_mis;
+#[doc = "ssp_icr (rw) register accessor: The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_icr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_icr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_icr`]
+module"]
+pub type SSP_ICR = crate::Reg;
+#[doc = "The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+pub mod ssp_icr;
+#[doc = "ssp_dmacr (rw) register accessor: The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dmacr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dmacr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dmacr`]
+module"]
+pub type SSP_DMACR = crate::Reg;
+#[doc = "The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+pub mod ssp_dmacr;
+#[doc = "ssp_periph_id0 (rw) register accessor: The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id0`]
+module"]
+pub type SSP_PERIPH_ID0 = crate::Reg;
+#[doc = "The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id0;
+#[doc = "ssp_periph_id1 (rw) register accessor: The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id1`]
+module"]
+pub type SSP_PERIPH_ID1 = crate::Reg;
+#[doc = "The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id1;
+#[doc = "ssp_periph_id2 (rw) register accessor: The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id2`]
+module"]
+pub type SSP_PERIPH_ID2 = crate::Reg;
+#[doc = "The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id2;
+#[doc = "ssp_periph_id3 (rw) register accessor: The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id3`]
+module"]
+pub type SSP_PERIPH_ID3 = crate::Reg;
+#[doc = "The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id3;
+#[doc = "ssp_pcell_id0 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id0`]
+module"]
+pub type SSP_PCELL_ID0 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id0;
+#[doc = "ssp_pcell_id1 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id1`]
+module"]
+pub type SSP_PCELL_ID1 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id1;
+#[doc = "ssp_pcell_id2 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id2`]
+module"]
+pub type SSP_PCELL_ID2 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id2;
+#[doc = "ssp_pcell_id3 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id3`]
+module"]
+pub type SSP_PCELL_ID3 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id3;
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cpsr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cpsr.rs
new file mode 100644
index 0000000..4786592
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cpsr.rs
@@ -0,0 +1,41 @@
+#[doc = "Register `ssp_cpsr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cpsr` writer"]
+pub type W = crate::W;
+#[doc = "Field `cpsdvsr` reader - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_R = crate::FieldReader;
+#[doc = "Field `cpsdvsr` writer - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ pub fn cpsdvsr(&self) -> CPSDVSR_R {
+ CPSDVSR_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ #[must_use]
+ pub fn cpsdvsr(&mut self) -> CPSDVSR_W {
+ CPSDVSR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CPSR_SPEC;
+impl crate::RegisterSpec for SSP_CPSR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cpsr::R`](R) reader structure"]
+impl crate::Readable for SSP_CPSR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cpsr::W`](W) writer structure"]
+impl crate::Writable for SSP_CPSR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cr0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cr0.rs
new file mode 100644
index 0000000..6dd1733
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cr0.rs
@@ -0,0 +1,105 @@
+#[doc = "Register `ssp_cr0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr0` writer"]
+pub type W = crate::W;
+#[doc = "Field `scr` reader - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 4, O>;
+#[doc = "Field `frf` reader - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_R = crate::FieldReader;
+#[doc = "Field `frf` writer - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 2, O>;
+#[doc = "Field `spo` reader - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_R = crate::BitReader;
+#[doc = "Field `spo` writer - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sph` reader - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_R = crate::BitReader;
+#[doc = "Field `sph` writer - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `scr` reader - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ pub fn frf(&self) -> FRF_R {
+ FRF_R::new(((self.bits >> 4) & 3) as u8)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn spo(&self) -> SPO_R {
+ SPO_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn sph(&self) -> SPH_R {
+ SPH_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new(((self.bits >> 8) & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ #[must_use]
+ pub fn frf(&mut self) -> FRF_W {
+ FRF_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn spo(&mut self) -> SPO_W {
+ SPO_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn sph(&mut self) -> SPH_W {
+ SPH_W::new(self)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CR0_SPEC;
+impl crate::RegisterSpec for SSP_CR0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cr0::R`](R) reader structure"]
+impl crate::Readable for SSP_CR0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cr0::W`](W) writer structure"]
+impl crate::Writable for SSP_CR0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cr1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cr1.rs
new file mode 100644
index 0000000..0792760
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_cr1.rs
@@ -0,0 +1,86 @@
+#[doc = "Register `ssp_cr1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr1` writer"]
+pub type W = crate::W;
+#[doc = "Field `lbm` reader - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_R = crate::BitReader;
+#[doc = "Field `lbm` writer - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sse` reader - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_R = crate::BitReader;
+#[doc = "Field `sse` writer - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `ms` reader - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_R = crate::BitReader;
+#[doc = "Field `ms` writer - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sod` reader - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_R = crate::BitReader;
+#[doc = "Field `sod` writer - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ pub fn lbm(&self) -> LBM_R {
+ LBM_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ pub fn sse(&self) -> SSE_R {
+ SSE_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+ #[inline(always)]
+ pub fn ms(&self) -> MS_R {
+ MS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+ #[inline(always)]
+ pub fn sod(&self) -> SOD_R {
+ SOD_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ #[must_use]
+ pub fn lbm(&mut self) -> LBM_W {
+ LBM_W::new(self)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ #[must_use]
+ pub fn sse(&mut self) -> SSE_W {
+ SSE_W::new(self)
+ }
+ #[doc = "Bit 2 - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+ #[inline(always)]
+ #[must_use]
+ pub fn ms(&mut self) -> MS_W {
+ MS_W::new(self)
+ }
+ #[doc = "Bit 3 - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+ #[inline(always)]
+ #[must_use]
+ pub fn sod(&mut self) -> SOD_W {
+ SOD_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CR1_SPEC;
+impl crate::RegisterSpec for SSP_CR1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cr1::R`](R) reader structure"]
+impl crate::Readable for SSP_CR1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cr1::W`](W) writer structure"]
+impl crate::Writable for SSP_CR1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_dmacr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_dmacr.rs
new file mode 100644
index 0000000..98c9b9b
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_dmacr.rs
@@ -0,0 +1,56 @@
+#[doc = "Register `ssp_dmacr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_dmacr` writer"]
+pub type W = crate::W;
+#[doc = "Field `rxdmae` reader - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+pub type RXDMAE_R = crate::BitReader;
+#[doc = "Field `rxdmae` writer - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+pub type RXDMAE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `txdmae` reader - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+pub type TXDMAE_R = crate::BitReader;
+#[doc = "Field `txdmae` writer - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+pub type TXDMAE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+ #[inline(always)]
+ pub fn rxdmae(&self) -> RXDMAE_R {
+ RXDMAE_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+ #[inline(always)]
+ pub fn txdmae(&self) -> TXDMAE_R {
+ TXDMAE_R::new(((self.bits >> 1) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+ #[inline(always)]
+ #[must_use]
+ pub fn rxdmae(&mut self) -> RXDMAE_W {
+ RXDMAE_W::new(self)
+ }
+ #[doc = "Bit 1 - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+ #[inline(always)]
+ #[must_use]
+ pub fn txdmae(&mut self) -> TXDMAE_W {
+ TXDMAE_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dmacr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dmacr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_DMACR_SPEC;
+impl crate::RegisterSpec for SSP_DMACR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_dmacr::R`](R) reader structure"]
+impl crate::Readable for SSP_DMACR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_dmacr::W`](W) writer structure"]
+impl crate::Writable for SSP_DMACR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_dr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_dr.rs
new file mode 100644
index 0000000..e08e262
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_dr.rs
@@ -0,0 +1,41 @@
+#[doc = "Register `ssp_dr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_dr` writer"]
+pub type W = crate::W;
+#[doc = "Field `data` reader - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+pub type DATA_R = crate::FieldReader;
+#[doc = "Field `data` writer - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+pub type DATA_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 16, O, u16>;
+impl R {
+ #[doc = "Bits 0:15 - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+ #[inline(always)]
+ pub fn data(&self) -> DATA_R {
+ DATA_R::new(self.bits)
+ }
+}
+impl W {
+ #[doc = "Bits 0:15 - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+ #[inline(always)]
+ #[must_use]
+ pub fn data(&mut self) -> DATA_W {
+ DATA_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_DR_SPEC;
+impl crate::RegisterSpec for SSP_DR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_dr::R`](R) reader structure"]
+impl crate::Readable for SSP_DR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_dr::W`](W) writer structure"]
+impl crate::Writable for SSP_DR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_icr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_icr.rs
new file mode 100644
index 0000000..6764545
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_icr.rs
@@ -0,0 +1,56 @@
+#[doc = "Register `ssp_icr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_icr` writer"]
+pub type W = crate::W;
+#[doc = "Field `roric` reader - Clears the SSPRORINTR interrupt"]
+pub type RORIC_R = crate::BitReader;
+#[doc = "Field `roric` writer - Clears the SSPRORINTR interrupt"]
+pub type RORIC_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rtic` reader - Clears the SSPRTINTR interrupt"]
+pub type RTIC_R = crate::BitReader;
+#[doc = "Field `rtic` writer - Clears the SSPRTINTR interrupt"]
+pub type RTIC_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Clears the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn roric(&self) -> RORIC_R {
+ RORIC_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Clears the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtic(&self) -> RTIC_R {
+ RTIC_R::new(((self.bits >> 1) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Clears the SSPRORINTR interrupt"]
+ #[inline(always)]
+ #[must_use]
+ pub fn roric(&mut self) -> RORIC_W {
+ RORIC_W::new(self)
+ }
+ #[doc = "Bit 1 - Clears the SSPRTINTR interrupt"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rtic(&mut self) -> RTIC_W {
+ RTIC_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_icr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_icr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_ICR_SPEC;
+impl crate::RegisterSpec for SSP_ICR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_icr::R`](R) reader structure"]
+impl crate::Readable for SSP_ICR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_icr::W`](W) writer structure"]
+impl crate::Writable for SSP_ICR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_imsc.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_imsc.rs
new file mode 100644
index 0000000..5cc0e1a
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_imsc.rs
@@ -0,0 +1,86 @@
+#[doc = "Register `ssp_imsc` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_imsc` writer"]
+pub type W = crate::W;
+#[doc = "Field `rorim` reader - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+pub type RORIM_R = crate::BitReader;
+#[doc = "Field `rorim` writer - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+pub type RORIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rtim` reader - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+pub type RTIM_R = crate::BitReader;
+#[doc = "Field `rtim` writer - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+pub type RTIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rxim` reader - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+pub type RXIM_R = crate::BitReader;
+#[doc = "Field `rxim` writer - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+pub type RXIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `txim` reader - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+pub type TXIM_R = crate::BitReader;
+#[doc = "Field `txim` writer - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+pub type TXIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn rorim(&self) -> RORIM_R {
+ RORIM_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+ #[inline(always)]
+ pub fn rtim(&self) -> RTIM_R {
+ RTIM_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn rxim(&self) -> RXIM_R {
+ RXIM_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn txim(&self) -> TXIM_R {
+ TXIM_R::new(((self.bits >> 2) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rorim(&mut self) -> RORIM_W {
+ RORIM_W::new(self)
+ }
+ #[doc = "Bit 1 - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rtim(&mut self) -> RTIM_W {
+ RTIM_W::new(self)
+ }
+ #[doc = "Bit 2 - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rxim(&mut self) -> RXIM_W {
+ RXIM_W::new(self)
+ }
+ #[doc = "Bit 2 - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn txim(&mut self) -> TXIM_W {
+ TXIM_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_imsc::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_imsc::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_IMSC_SPEC;
+impl crate::RegisterSpec for SSP_IMSC_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_imsc::R`](R) reader structure"]
+impl crate::Readable for SSP_IMSC_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_imsc::W`](W) writer structure"]
+impl crate::Writable for SSP_IMSC_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_mis.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_mis.rs
new file mode 100644
index 0000000..e3e4c75
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_mis.rs
@@ -0,0 +1,54 @@
+#[doc = "Register `ssp_mis` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_mis` writer"]
+pub type W = crate::W;
+#[doc = "Field `rormis` reader - Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt"]
+pub type RORMIS_R = crate::BitReader;
+#[doc = "Field `rtmis` reader - Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt"]
+pub type RTMIS_R = crate::BitReader;
+#[doc = "Field `rxmis` reader - Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt"]
+pub type RXMIS_R = crate::BitReader;
+#[doc = "Field `txmis` reader - Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt"]
+pub type TXMIS_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn rormis(&self) -> RORMIS_R {
+ RORMIS_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtmis(&self) -> RTMIS_R {
+ RTMIS_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt"]
+ #[inline(always)]
+ pub fn rxmis(&self) -> RXMIS_R {
+ RXMIS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt"]
+ #[inline(always)]
+ pub fn txmis(&self) -> TXMIS_R {
+ TXMIS_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_mis::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_mis::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_MIS_SPEC;
+impl crate::RegisterSpec for SSP_MIS_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_mis::R`](R) reader structure"]
+impl crate::Readable for SSP_MIS_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_mis::W`](W) writer structure"]
+impl crate::Writable for SSP_MIS_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id0.rs
new file mode 100644
index 0000000..3af6dc3
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id0.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id0` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id0` reader - The bits are read as 0xD"]
+pub type SSP_PCELL_ID0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xD"]
+ #[inline(always)]
+ pub fn ssp_pcell_id0(&self) -> SSP_PCELL_ID0_R {
+ SSP_PCELL_ID0_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID0_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id0::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id0::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id1.rs
new file mode 100644
index 0000000..eb6fb14
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id1.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id1` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id1` reader - The bits are read as 0xF0"]
+pub type SSP_PCELL_ID1_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xF0"]
+ #[inline(always)]
+ pub fn ssp_pcell_id1(&self) -> SSP_PCELL_ID1_R {
+ SSP_PCELL_ID1_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID1_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id1::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id1::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id2.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id2.rs
new file mode 100644
index 0000000..2cf6373
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id2.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id2` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id2` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id2` reader - The bits are read as 0x5"]
+pub type SSP_PCELL_ID2_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0x5"]
+ #[inline(always)]
+ pub fn ssp_pcell_id2(&self) -> SSP_PCELL_ID2_R {
+ SSP_PCELL_ID2_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id2::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID2_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID2_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id2::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID2_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id2::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID2_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id3.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id3.rs
new file mode 100644
index 0000000..6aeed7d
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_pcell_id3.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id3` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id3` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id3` reader - The bits are read as 0xB1"]
+pub type SSP_PCELL_ID3_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xB1"]
+ #[inline(always)]
+ pub fn ssp_pcell_id3(&self) -> SSP_PCELL_ID3_R {
+ SSP_PCELL_ID3_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id3::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID3_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID3_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id3::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID3_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id3::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID3_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id0.rs
new file mode 100644
index 0000000..a136eff
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id0.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_periph_id0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id0` writer"]
+pub type W = crate::W;
+#[doc = "Field `part_number0` reader - These bits read back as 0x22"]
+pub type PART_NUMBER0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - These bits read back as 0x22"]
+ #[inline(always)]
+ pub fn part_number0(&self) -> PART_NUMBER0_R {
+ PART_NUMBER0_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID0_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id0::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id0::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id1.rs
new file mode 100644
index 0000000..c5c93d0
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id1.rs
@@ -0,0 +1,40 @@
+#[doc = "Register `ssp_periph_id1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id1` writer"]
+pub type W = crate::W;
+#[doc = "Field `part_number1` reader - These bits read back as 0x0"]
+pub type PART_NUMBER1_R = crate::FieldReader;
+#[doc = "Field `designer0` reader - These bits read back as 0x1"]
+pub type DESIGNER0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:3 - These bits read back as 0x0"]
+ #[inline(always)]
+ pub fn part_number1(&self) -> PART_NUMBER1_R {
+ PART_NUMBER1_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:7 - These bits read back as 0x1"]
+ #[inline(always)]
+ pub fn designer0(&self) -> DESIGNER0_R {
+ DESIGNER0_R::new(((self.bits >> 4) & 0x0f) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID1_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id1::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id1::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id2.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id2.rs
new file mode 100644
index 0000000..f86b342
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id2.rs
@@ -0,0 +1,40 @@
+#[doc = "Register `ssp_periph_id2` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id2` writer"]
+pub type W = crate::W;
+#[doc = "Field `designer1` reader - These bits read back as 0x4"]
+pub type DESIGNER1_R = crate::FieldReader;
+#[doc = "Field `revision` reader - These bits return the peripheral revision"]
+pub type REVISION_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:3 - These bits read back as 0x4"]
+ #[inline(always)]
+ pub fn designer1(&self) -> DESIGNER1_R {
+ DESIGNER1_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:7 - These bits return the peripheral revision"]
+ #[inline(always)]
+ pub fn revision(&self) -> REVISION_R {
+ REVISION_R::new(((self.bits >> 4) & 0x0f) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id2::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID2_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID2_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id2::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID2_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id2::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID2_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id3.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id3.rs
new file mode 100644
index 0000000..24259b9
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_periph_id3.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_periph_id3` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id3` writer"]
+pub type W = crate::W;
+#[doc = "Field `configuration` reader - These bits read back as 0x80"]
+pub type CONFIGURATION_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - These bits read back as 0x80"]
+ #[inline(always)]
+ pub fn configuration(&self) -> CONFIGURATION_R {
+ CONFIGURATION_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id3::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID3_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID3_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id3::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID3_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id3::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID3_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_ris.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_ris.rs
new file mode 100644
index 0000000..25495ca
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_ris.rs
@@ -0,0 +1,54 @@
+#[doc = "Register `ssp_ris` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_ris` writer"]
+pub type W = crate::W;
+#[doc = "Field `rorris` reader - Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt"]
+pub type RORRIS_R = crate::BitReader;
+#[doc = "Field `rtris` reader - Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt"]
+pub type RTRIS_R = crate::BitReader;
+#[doc = "Field `rxris` reader - Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt"]
+pub type RXRIS_R = crate::BitReader;
+#[doc = "Field `txris` reader - Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt"]
+pub type TXRIS_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn rorris(&self) -> RORRIS_R {
+ RORRIS_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtris(&self) -> RTRIS_R {
+ RTRIS_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt"]
+ #[inline(always)]
+ pub fn rxris(&self) -> RXRIS_R {
+ RXRIS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt"]
+ #[inline(always)]
+ pub fn txris(&self) -> TXRIS_R {
+ TXRIS_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_ris::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_ris::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_RIS_SPEC;
+impl crate::RegisterSpec for SSP_RIS_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_ris::R`](R) reader structure"]
+impl crate::Readable for SSP_RIS_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_ris::W`](W) writer structure"]
+impl crate::Writable for SSP_RIS_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_sr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_sr.rs
new file mode 100644
index 0000000..adf4550
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_0/ssp_sr.rs
@@ -0,0 +1,61 @@
+#[doc = "Register `ssp_sr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_sr` writer"]
+pub type W = crate::W;
+#[doc = "Field `tfe` reader - Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty."]
+pub type TFE_R = crate::BitReader;
+#[doc = "Field `tnf` reader - Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full."]
+pub type TNF_R = crate::BitReader;
+#[doc = "Field `rne` reader - Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty."]
+pub type RNE_R = crate::BitReader;
+#[doc = "Field `rff` reader - Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full."]
+pub type RFF_R = crate::BitReader;
+#[doc = "Field `bsy` reader - PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty."]
+pub type BSY_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty."]
+ #[inline(always)]
+ pub fn tfe(&self) -> TFE_R {
+ TFE_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full."]
+ #[inline(always)]
+ pub fn tnf(&self) -> TNF_R {
+ TNF_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty."]
+ #[inline(always)]
+ pub fn rne(&self) -> RNE_R {
+ RNE_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full."]
+ #[inline(always)]
+ pub fn rff(&self) -> RFF_R {
+ RFF_R::new(((self.bits >> 3) & 1) != 0)
+ }
+ #[doc = "Bit 4 - PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty."]
+ #[inline(always)]
+ pub fn bsy(&self) -> BSY_R {
+ BSY_R::new(((self.bits >> 4) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_sr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_sr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_SR_SPEC;
+impl crate::RegisterSpec for SSP_SR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_sr::R`](R) reader structure"]
+impl crate::Readable for SSP_SR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_sr::W`](W) writer structure"]
+impl crate::Writable for SSP_SR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1.rs
new file mode 100644
index 0000000..7e24761
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1.rs
@@ -0,0 +1,147 @@
+#[doc = r"Register block"]
+#[repr(C)]
+pub struct RegisterBlock {
+ #[doc = "0x00 - SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+ pub ssp_cr0: SSP_CR0,
+ _reserved1: [u8; 0x02],
+ #[doc = "0x04 - SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+ pub ssp_cr1: SSP_CR1,
+ _reserved2: [u8; 0x02],
+ #[doc = "0x08 - SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+ pub ssp_dr: SSP_DR,
+ _reserved3: [u8; 0x02],
+ #[doc = "0x0c - SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+ pub ssp_sr: SSP_SR,
+ _reserved4: [u8; 0x02],
+ #[doc = "0x10 - SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+ pub ssp_cpsr: SSP_CPSR,
+ _reserved5: [u8; 0x02],
+ #[doc = "0x14 - The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+ pub ssp_imsc: SSP_IMSC,
+ _reserved6: [u8; 0x02],
+ #[doc = "0x18 - The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+ pub ssp_ris: SSP_RIS,
+ _reserved7: [u8; 0x02],
+ #[doc = "0x1c - The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+ pub ssp_mis: SSP_MIS,
+ _reserved8: [u8; 0x02],
+ #[doc = "0x20 - The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+ pub ssp_icr: SSP_ICR,
+ _reserved9: [u8; 0x02],
+ #[doc = "0x24 - The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+ pub ssp_dmacr: SSP_DMACR,
+ _reserved10: [u8; 0x0fba],
+ #[doc = "0xfe0 - The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id0: SSP_PERIPH_ID0,
+ _reserved11: [u8; 0x02],
+ #[doc = "0xfe4 - The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id1: SSP_PERIPH_ID1,
+ _reserved12: [u8; 0x02],
+ #[doc = "0xfe8 - The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id2: SSP_PERIPH_ID2,
+ _reserved13: [u8; 0x02],
+ #[doc = "0xfec - The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id3: SSP_PERIPH_ID3,
+ _reserved14: [u8; 0x02],
+ #[doc = "0xff0 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id0: SSP_PCELL_ID0,
+ _reserved15: [u8; 0x02],
+ #[doc = "0xff4 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id1: SSP_PCELL_ID1,
+ _reserved16: [u8; 0x02],
+ #[doc = "0xff8 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id2: SSP_PCELL_ID2,
+ _reserved17: [u8; 0x02],
+ #[doc = "0xffc - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id3: SSP_PCELL_ID3,
+}
+#[doc = "ssp_cr0 (rw) register accessor: SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr0`]
+module"]
+pub type SSP_CR0 = crate::Reg;
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr0;
+#[doc = "ssp_cr1 (rw) register accessor: SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr1`]
+module"]
+pub type SSP_CR1 = crate::Reg;
+#[doc = "SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr1;
+#[doc = "ssp_dr (rw) register accessor: SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dr`]
+module"]
+pub type SSP_DR = crate::Reg;
+#[doc = "SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+pub mod ssp_dr;
+#[doc = "ssp_sr (rw) register accessor: SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_sr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_sr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_sr`]
+module"]
+pub type SSP_SR = crate::Reg;
+#[doc = "SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+pub mod ssp_sr;
+#[doc = "ssp_cpsr (rw) register accessor: SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cpsr`]
+module"]
+pub type SSP_CPSR = crate::Reg;
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+pub mod ssp_cpsr;
+#[doc = "ssp_imsc (rw) register accessor: The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_imsc::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_imsc::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_imsc`]
+module"]
+pub type SSP_IMSC = crate::Reg;
+#[doc = "The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+pub mod ssp_imsc;
+#[doc = "ssp_ris (rw) register accessor: The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_ris::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_ris::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_ris`]
+module"]
+pub type SSP_RIS = crate::Reg;
+#[doc = "The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+pub mod ssp_ris;
+#[doc = "ssp_mis (rw) register accessor: The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_mis::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_mis::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_mis`]
+module"]
+pub type SSP_MIS = crate::Reg;
+#[doc = "The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+pub mod ssp_mis;
+#[doc = "ssp_icr (rw) register accessor: The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_icr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_icr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_icr`]
+module"]
+pub type SSP_ICR = crate::Reg;
+#[doc = "The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+pub mod ssp_icr;
+#[doc = "ssp_dmacr (rw) register accessor: The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dmacr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dmacr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dmacr`]
+module"]
+pub type SSP_DMACR = crate::Reg;
+#[doc = "The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+pub mod ssp_dmacr;
+#[doc = "ssp_periph_id0 (rw) register accessor: The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id0`]
+module"]
+pub type SSP_PERIPH_ID0 = crate::Reg;
+#[doc = "The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id0;
+#[doc = "ssp_periph_id1 (rw) register accessor: The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id1`]
+module"]
+pub type SSP_PERIPH_ID1 = crate::Reg;
+#[doc = "The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id1;
+#[doc = "ssp_periph_id2 (rw) register accessor: The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id2`]
+module"]
+pub type SSP_PERIPH_ID2 = crate::Reg;
+#[doc = "The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id2;
+#[doc = "ssp_periph_id3 (rw) register accessor: The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id3`]
+module"]
+pub type SSP_PERIPH_ID3 = crate::Reg;
+#[doc = "The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id3;
+#[doc = "ssp_pcell_id0 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id0`]
+module"]
+pub type SSP_PCELL_ID0 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id0;
+#[doc = "ssp_pcell_id1 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id1`]
+module"]
+pub type SSP_PCELL_ID1 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id1;
+#[doc = "ssp_pcell_id2 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id2`]
+module"]
+pub type SSP_PCELL_ID2 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id2;
+#[doc = "ssp_pcell_id3 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id3`]
+module"]
+pub type SSP_PCELL_ID3 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id3;
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cpsr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cpsr.rs
new file mode 100644
index 0000000..4786592
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cpsr.rs
@@ -0,0 +1,41 @@
+#[doc = "Register `ssp_cpsr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cpsr` writer"]
+pub type W = crate::W;
+#[doc = "Field `cpsdvsr` reader - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_R = crate::FieldReader;
+#[doc = "Field `cpsdvsr` writer - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ pub fn cpsdvsr(&self) -> CPSDVSR_R {
+ CPSDVSR_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ #[must_use]
+ pub fn cpsdvsr(&mut self) -> CPSDVSR_W {
+ CPSDVSR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CPSR_SPEC;
+impl crate::RegisterSpec for SSP_CPSR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cpsr::R`](R) reader structure"]
+impl crate::Readable for SSP_CPSR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cpsr::W`](W) writer structure"]
+impl crate::Writable for SSP_CPSR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cr0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cr0.rs
new file mode 100644
index 0000000..6dd1733
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cr0.rs
@@ -0,0 +1,105 @@
+#[doc = "Register `ssp_cr0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr0` writer"]
+pub type W = crate::W;
+#[doc = "Field `scr` reader - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 4, O>;
+#[doc = "Field `frf` reader - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_R = crate::FieldReader;
+#[doc = "Field `frf` writer - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 2, O>;
+#[doc = "Field `spo` reader - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_R = crate::BitReader;
+#[doc = "Field `spo` writer - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sph` reader - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_R = crate::BitReader;
+#[doc = "Field `sph` writer - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `scr` reader - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ pub fn frf(&self) -> FRF_R {
+ FRF_R::new(((self.bits >> 4) & 3) as u8)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn spo(&self) -> SPO_R {
+ SPO_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn sph(&self) -> SPH_R {
+ SPH_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new(((self.bits >> 8) & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ #[must_use]
+ pub fn frf(&mut self) -> FRF_W {
+ FRF_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn spo(&mut self) -> SPO_W {
+ SPO_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn sph(&mut self) -> SPH_W {
+ SPH_W::new(self)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CR0_SPEC;
+impl crate::RegisterSpec for SSP_CR0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cr0::R`](R) reader structure"]
+impl crate::Readable for SSP_CR0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cr0::W`](W) writer structure"]
+impl crate::Writable for SSP_CR0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cr1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cr1.rs
new file mode 100644
index 0000000..0792760
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_cr1.rs
@@ -0,0 +1,86 @@
+#[doc = "Register `ssp_cr1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr1` writer"]
+pub type W = crate::W;
+#[doc = "Field `lbm` reader - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_R = crate::BitReader;
+#[doc = "Field `lbm` writer - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sse` reader - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_R = crate::BitReader;
+#[doc = "Field `sse` writer - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `ms` reader - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_R = crate::BitReader;
+#[doc = "Field `ms` writer - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sod` reader - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_R = crate::BitReader;
+#[doc = "Field `sod` writer - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ pub fn lbm(&self) -> LBM_R {
+ LBM_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ pub fn sse(&self) -> SSE_R {
+ SSE_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+ #[inline(always)]
+ pub fn ms(&self) -> MS_R {
+ MS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+ #[inline(always)]
+ pub fn sod(&self) -> SOD_R {
+ SOD_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ #[must_use]
+ pub fn lbm(&mut self) -> LBM_W {
+ LBM_W::new(self)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ #[must_use]
+ pub fn sse(&mut self) -> SSE_W {
+ SSE_W::new(self)
+ }
+ #[doc = "Bit 2 - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+ #[inline(always)]
+ #[must_use]
+ pub fn ms(&mut self) -> MS_W {
+ MS_W::new(self)
+ }
+ #[doc = "Bit 3 - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+ #[inline(always)]
+ #[must_use]
+ pub fn sod(&mut self) -> SOD_W {
+ SOD_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CR1_SPEC;
+impl crate::RegisterSpec for SSP_CR1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cr1::R`](R) reader structure"]
+impl crate::Readable for SSP_CR1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cr1::W`](W) writer structure"]
+impl crate::Writable for SSP_CR1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_dmacr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_dmacr.rs
new file mode 100644
index 0000000..98c9b9b
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_dmacr.rs
@@ -0,0 +1,56 @@
+#[doc = "Register `ssp_dmacr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_dmacr` writer"]
+pub type W = crate::W;
+#[doc = "Field `rxdmae` reader - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+pub type RXDMAE_R = crate::BitReader;
+#[doc = "Field `rxdmae` writer - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+pub type RXDMAE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `txdmae` reader - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+pub type TXDMAE_R = crate::BitReader;
+#[doc = "Field `txdmae` writer - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+pub type TXDMAE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+ #[inline(always)]
+ pub fn rxdmae(&self) -> RXDMAE_R {
+ RXDMAE_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+ #[inline(always)]
+ pub fn txdmae(&self) -> TXDMAE_R {
+ TXDMAE_R::new(((self.bits >> 1) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+ #[inline(always)]
+ #[must_use]
+ pub fn rxdmae(&mut self) -> RXDMAE_W {
+ RXDMAE_W::new(self)
+ }
+ #[doc = "Bit 1 - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+ #[inline(always)]
+ #[must_use]
+ pub fn txdmae(&mut self) -> TXDMAE_W {
+ TXDMAE_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dmacr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dmacr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_DMACR_SPEC;
+impl crate::RegisterSpec for SSP_DMACR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_dmacr::R`](R) reader structure"]
+impl crate::Readable for SSP_DMACR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_dmacr::W`](W) writer structure"]
+impl crate::Writable for SSP_DMACR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_dr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_dr.rs
new file mode 100644
index 0000000..e08e262
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_dr.rs
@@ -0,0 +1,41 @@
+#[doc = "Register `ssp_dr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_dr` writer"]
+pub type W = crate::W;
+#[doc = "Field `data` reader - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+pub type DATA_R = crate::FieldReader;
+#[doc = "Field `data` writer - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+pub type DATA_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 16, O, u16>;
+impl R {
+ #[doc = "Bits 0:15 - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+ #[inline(always)]
+ pub fn data(&self) -> DATA_R {
+ DATA_R::new(self.bits)
+ }
+}
+impl W {
+ #[doc = "Bits 0:15 - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+ #[inline(always)]
+ #[must_use]
+ pub fn data(&mut self) -> DATA_W {
+ DATA_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_DR_SPEC;
+impl crate::RegisterSpec for SSP_DR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_dr::R`](R) reader structure"]
+impl crate::Readable for SSP_DR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_dr::W`](W) writer structure"]
+impl crate::Writable for SSP_DR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_icr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_icr.rs
new file mode 100644
index 0000000..6764545
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_icr.rs
@@ -0,0 +1,56 @@
+#[doc = "Register `ssp_icr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_icr` writer"]
+pub type W = crate::W;
+#[doc = "Field `roric` reader - Clears the SSPRORINTR interrupt"]
+pub type RORIC_R = crate::BitReader;
+#[doc = "Field `roric` writer - Clears the SSPRORINTR interrupt"]
+pub type RORIC_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rtic` reader - Clears the SSPRTINTR interrupt"]
+pub type RTIC_R = crate::BitReader;
+#[doc = "Field `rtic` writer - Clears the SSPRTINTR interrupt"]
+pub type RTIC_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Clears the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn roric(&self) -> RORIC_R {
+ RORIC_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Clears the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtic(&self) -> RTIC_R {
+ RTIC_R::new(((self.bits >> 1) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Clears the SSPRORINTR interrupt"]
+ #[inline(always)]
+ #[must_use]
+ pub fn roric(&mut self) -> RORIC_W {
+ RORIC_W::new(self)
+ }
+ #[doc = "Bit 1 - Clears the SSPRTINTR interrupt"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rtic(&mut self) -> RTIC_W {
+ RTIC_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_icr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_icr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_ICR_SPEC;
+impl crate::RegisterSpec for SSP_ICR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_icr::R`](R) reader structure"]
+impl crate::Readable for SSP_ICR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_icr::W`](W) writer structure"]
+impl crate::Writable for SSP_ICR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_imsc.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_imsc.rs
new file mode 100644
index 0000000..5cc0e1a
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_imsc.rs
@@ -0,0 +1,86 @@
+#[doc = "Register `ssp_imsc` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_imsc` writer"]
+pub type W = crate::W;
+#[doc = "Field `rorim` reader - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+pub type RORIM_R = crate::BitReader;
+#[doc = "Field `rorim` writer - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+pub type RORIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rtim` reader - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+pub type RTIM_R = crate::BitReader;
+#[doc = "Field `rtim` writer - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+pub type RTIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rxim` reader - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+pub type RXIM_R = crate::BitReader;
+#[doc = "Field `rxim` writer - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+pub type RXIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `txim` reader - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+pub type TXIM_R = crate::BitReader;
+#[doc = "Field `txim` writer - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+pub type TXIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn rorim(&self) -> RORIM_R {
+ RORIM_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+ #[inline(always)]
+ pub fn rtim(&self) -> RTIM_R {
+ RTIM_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn rxim(&self) -> RXIM_R {
+ RXIM_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn txim(&self) -> TXIM_R {
+ TXIM_R::new(((self.bits >> 2) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rorim(&mut self) -> RORIM_W {
+ RORIM_W::new(self)
+ }
+ #[doc = "Bit 1 - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rtim(&mut self) -> RTIM_W {
+ RTIM_W::new(self)
+ }
+ #[doc = "Bit 2 - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rxim(&mut self) -> RXIM_W {
+ RXIM_W::new(self)
+ }
+ #[doc = "Bit 2 - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn txim(&mut self) -> TXIM_W {
+ TXIM_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_imsc::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_imsc::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_IMSC_SPEC;
+impl crate::RegisterSpec for SSP_IMSC_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_imsc::R`](R) reader structure"]
+impl crate::Readable for SSP_IMSC_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_imsc::W`](W) writer structure"]
+impl crate::Writable for SSP_IMSC_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_mis.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_mis.rs
new file mode 100644
index 0000000..e3e4c75
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_mis.rs
@@ -0,0 +1,54 @@
+#[doc = "Register `ssp_mis` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_mis` writer"]
+pub type W = crate::W;
+#[doc = "Field `rormis` reader - Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt"]
+pub type RORMIS_R = crate::BitReader;
+#[doc = "Field `rtmis` reader - Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt"]
+pub type RTMIS_R = crate::BitReader;
+#[doc = "Field `rxmis` reader - Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt"]
+pub type RXMIS_R = crate::BitReader;
+#[doc = "Field `txmis` reader - Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt"]
+pub type TXMIS_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn rormis(&self) -> RORMIS_R {
+ RORMIS_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtmis(&self) -> RTMIS_R {
+ RTMIS_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt"]
+ #[inline(always)]
+ pub fn rxmis(&self) -> RXMIS_R {
+ RXMIS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt"]
+ #[inline(always)]
+ pub fn txmis(&self) -> TXMIS_R {
+ TXMIS_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_mis::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_mis::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_MIS_SPEC;
+impl crate::RegisterSpec for SSP_MIS_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_mis::R`](R) reader structure"]
+impl crate::Readable for SSP_MIS_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_mis::W`](W) writer structure"]
+impl crate::Writable for SSP_MIS_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id0.rs
new file mode 100644
index 0000000..3af6dc3
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id0.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id0` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id0` reader - The bits are read as 0xD"]
+pub type SSP_PCELL_ID0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xD"]
+ #[inline(always)]
+ pub fn ssp_pcell_id0(&self) -> SSP_PCELL_ID0_R {
+ SSP_PCELL_ID0_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID0_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id0::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id0::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id1.rs
new file mode 100644
index 0000000..eb6fb14
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id1.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id1` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id1` reader - The bits are read as 0xF0"]
+pub type SSP_PCELL_ID1_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xF0"]
+ #[inline(always)]
+ pub fn ssp_pcell_id1(&self) -> SSP_PCELL_ID1_R {
+ SSP_PCELL_ID1_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID1_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id1::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id1::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id2.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id2.rs
new file mode 100644
index 0000000..2cf6373
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id2.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id2` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id2` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id2` reader - The bits are read as 0x5"]
+pub type SSP_PCELL_ID2_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0x5"]
+ #[inline(always)]
+ pub fn ssp_pcell_id2(&self) -> SSP_PCELL_ID2_R {
+ SSP_PCELL_ID2_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id2::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID2_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID2_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id2::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID2_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id2::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID2_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id3.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id3.rs
new file mode 100644
index 0000000..6aeed7d
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_pcell_id3.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id3` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id3` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id3` reader - The bits are read as 0xB1"]
+pub type SSP_PCELL_ID3_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xB1"]
+ #[inline(always)]
+ pub fn ssp_pcell_id3(&self) -> SSP_PCELL_ID3_R {
+ SSP_PCELL_ID3_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id3::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID3_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID3_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id3::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID3_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id3::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID3_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id0.rs
new file mode 100644
index 0000000..a136eff
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id0.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_periph_id0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id0` writer"]
+pub type W = crate::W;
+#[doc = "Field `part_number0` reader - These bits read back as 0x22"]
+pub type PART_NUMBER0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - These bits read back as 0x22"]
+ #[inline(always)]
+ pub fn part_number0(&self) -> PART_NUMBER0_R {
+ PART_NUMBER0_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID0_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id0::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id0::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id1.rs
new file mode 100644
index 0000000..c5c93d0
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id1.rs
@@ -0,0 +1,40 @@
+#[doc = "Register `ssp_periph_id1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id1` writer"]
+pub type W = crate::W;
+#[doc = "Field `part_number1` reader - These bits read back as 0x0"]
+pub type PART_NUMBER1_R = crate::FieldReader;
+#[doc = "Field `designer0` reader - These bits read back as 0x1"]
+pub type DESIGNER0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:3 - These bits read back as 0x0"]
+ #[inline(always)]
+ pub fn part_number1(&self) -> PART_NUMBER1_R {
+ PART_NUMBER1_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:7 - These bits read back as 0x1"]
+ #[inline(always)]
+ pub fn designer0(&self) -> DESIGNER0_R {
+ DESIGNER0_R::new(((self.bits >> 4) & 0x0f) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID1_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id1::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id1::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id2.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id2.rs
new file mode 100644
index 0000000..f86b342
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id2.rs
@@ -0,0 +1,40 @@
+#[doc = "Register `ssp_periph_id2` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id2` writer"]
+pub type W = crate::W;
+#[doc = "Field `designer1` reader - These bits read back as 0x4"]
+pub type DESIGNER1_R = crate::FieldReader;
+#[doc = "Field `revision` reader - These bits return the peripheral revision"]
+pub type REVISION_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:3 - These bits read back as 0x4"]
+ #[inline(always)]
+ pub fn designer1(&self) -> DESIGNER1_R {
+ DESIGNER1_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:7 - These bits return the peripheral revision"]
+ #[inline(always)]
+ pub fn revision(&self) -> REVISION_R {
+ REVISION_R::new(((self.bits >> 4) & 0x0f) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id2::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID2_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID2_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id2::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID2_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id2::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID2_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id3.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id3.rs
new file mode 100644
index 0000000..24259b9
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_periph_id3.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_periph_id3` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id3` writer"]
+pub type W = crate::W;
+#[doc = "Field `configuration` reader - These bits read back as 0x80"]
+pub type CONFIGURATION_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - These bits read back as 0x80"]
+ #[inline(always)]
+ pub fn configuration(&self) -> CONFIGURATION_R {
+ CONFIGURATION_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id3::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID3_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID3_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id3::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID3_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id3::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID3_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_ris.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_ris.rs
new file mode 100644
index 0000000..25495ca
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_ris.rs
@@ -0,0 +1,54 @@
+#[doc = "Register `ssp_ris` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_ris` writer"]
+pub type W = crate::W;
+#[doc = "Field `rorris` reader - Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt"]
+pub type RORRIS_R = crate::BitReader;
+#[doc = "Field `rtris` reader - Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt"]
+pub type RTRIS_R = crate::BitReader;
+#[doc = "Field `rxris` reader - Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt"]
+pub type RXRIS_R = crate::BitReader;
+#[doc = "Field `txris` reader - Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt"]
+pub type TXRIS_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn rorris(&self) -> RORRIS_R {
+ RORRIS_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtris(&self) -> RTRIS_R {
+ RTRIS_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt"]
+ #[inline(always)]
+ pub fn rxris(&self) -> RXRIS_R {
+ RXRIS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt"]
+ #[inline(always)]
+ pub fn txris(&self) -> TXRIS_R {
+ TXRIS_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_ris::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_ris::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_RIS_SPEC;
+impl crate::RegisterSpec for SSP_RIS_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_ris::R`](R) reader structure"]
+impl crate::Readable for SSP_RIS_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_ris::W`](W) writer structure"]
+impl crate::Writable for SSP_RIS_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_sr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_sr.rs
new file mode 100644
index 0000000..adf4550
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_1/ssp_sr.rs
@@ -0,0 +1,61 @@
+#[doc = "Register `ssp_sr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_sr` writer"]
+pub type W = crate::W;
+#[doc = "Field `tfe` reader - Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty."]
+pub type TFE_R = crate::BitReader;
+#[doc = "Field `tnf` reader - Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full."]
+pub type TNF_R = crate::BitReader;
+#[doc = "Field `rne` reader - Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty."]
+pub type RNE_R = crate::BitReader;
+#[doc = "Field `rff` reader - Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full."]
+pub type RFF_R = crate::BitReader;
+#[doc = "Field `bsy` reader - PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty."]
+pub type BSY_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty."]
+ #[inline(always)]
+ pub fn tfe(&self) -> TFE_R {
+ TFE_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full."]
+ #[inline(always)]
+ pub fn tnf(&self) -> TNF_R {
+ TNF_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty."]
+ #[inline(always)]
+ pub fn rne(&self) -> RNE_R {
+ RNE_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full."]
+ #[inline(always)]
+ pub fn rff(&self) -> RFF_R {
+ RFF_R::new(((self.bits >> 3) & 1) != 0)
+ }
+ #[doc = "Bit 4 - PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty."]
+ #[inline(always)]
+ pub fn bsy(&self) -> BSY_R {
+ BSY_R::new(((self.bits >> 4) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_sr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_sr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_SR_SPEC;
+impl crate::RegisterSpec for SSP_SR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_sr::R`](R) reader structure"]
+impl crate::Readable for SSP_SR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_sr::W`](W) writer structure"]
+impl crate::Writable for SSP_SR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2.rs
new file mode 100644
index 0000000..7e24761
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2.rs
@@ -0,0 +1,147 @@
+#[doc = r"Register block"]
+#[repr(C)]
+pub struct RegisterBlock {
+ #[doc = "0x00 - SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+ pub ssp_cr0: SSP_CR0,
+ _reserved1: [u8; 0x02],
+ #[doc = "0x04 - SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+ pub ssp_cr1: SSP_CR1,
+ _reserved2: [u8; 0x02],
+ #[doc = "0x08 - SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+ pub ssp_dr: SSP_DR,
+ _reserved3: [u8; 0x02],
+ #[doc = "0x0c - SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+ pub ssp_sr: SSP_SR,
+ _reserved4: [u8; 0x02],
+ #[doc = "0x10 - SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+ pub ssp_cpsr: SSP_CPSR,
+ _reserved5: [u8; 0x02],
+ #[doc = "0x14 - The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+ pub ssp_imsc: SSP_IMSC,
+ _reserved6: [u8; 0x02],
+ #[doc = "0x18 - The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+ pub ssp_ris: SSP_RIS,
+ _reserved7: [u8; 0x02],
+ #[doc = "0x1c - The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+ pub ssp_mis: SSP_MIS,
+ _reserved8: [u8; 0x02],
+ #[doc = "0x20 - The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+ pub ssp_icr: SSP_ICR,
+ _reserved9: [u8; 0x02],
+ #[doc = "0x24 - The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+ pub ssp_dmacr: SSP_DMACR,
+ _reserved10: [u8; 0x0fba],
+ #[doc = "0xfe0 - The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id0: SSP_PERIPH_ID0,
+ _reserved11: [u8; 0x02],
+ #[doc = "0xfe4 - The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id1: SSP_PERIPH_ID1,
+ _reserved12: [u8; 0x02],
+ #[doc = "0xfe8 - The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id2: SSP_PERIPH_ID2,
+ _reserved13: [u8; 0x02],
+ #[doc = "0xfec - The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id3: SSP_PERIPH_ID3,
+ _reserved14: [u8; 0x02],
+ #[doc = "0xff0 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id0: SSP_PCELL_ID0,
+ _reserved15: [u8; 0x02],
+ #[doc = "0xff4 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id1: SSP_PCELL_ID1,
+ _reserved16: [u8; 0x02],
+ #[doc = "0xff8 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id2: SSP_PCELL_ID2,
+ _reserved17: [u8; 0x02],
+ #[doc = "0xffc - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id3: SSP_PCELL_ID3,
+}
+#[doc = "ssp_cr0 (rw) register accessor: SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr0`]
+module"]
+pub type SSP_CR0 = crate::Reg;
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr0;
+#[doc = "ssp_cr1 (rw) register accessor: SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr1`]
+module"]
+pub type SSP_CR1 = crate::Reg;
+#[doc = "SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr1;
+#[doc = "ssp_dr (rw) register accessor: SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dr`]
+module"]
+pub type SSP_DR = crate::Reg;
+#[doc = "SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+pub mod ssp_dr;
+#[doc = "ssp_sr (rw) register accessor: SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_sr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_sr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_sr`]
+module"]
+pub type SSP_SR = crate::Reg;
+#[doc = "SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+pub mod ssp_sr;
+#[doc = "ssp_cpsr (rw) register accessor: SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cpsr`]
+module"]
+pub type SSP_CPSR = crate::Reg;
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+pub mod ssp_cpsr;
+#[doc = "ssp_imsc (rw) register accessor: The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_imsc::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_imsc::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_imsc`]
+module"]
+pub type SSP_IMSC = crate::Reg;
+#[doc = "The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+pub mod ssp_imsc;
+#[doc = "ssp_ris (rw) register accessor: The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_ris::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_ris::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_ris`]
+module"]
+pub type SSP_RIS = crate::Reg;
+#[doc = "The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+pub mod ssp_ris;
+#[doc = "ssp_mis (rw) register accessor: The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_mis::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_mis::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_mis`]
+module"]
+pub type SSP_MIS = crate::Reg;
+#[doc = "The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+pub mod ssp_mis;
+#[doc = "ssp_icr (rw) register accessor: The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_icr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_icr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_icr`]
+module"]
+pub type SSP_ICR = crate::Reg;
+#[doc = "The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+pub mod ssp_icr;
+#[doc = "ssp_dmacr (rw) register accessor: The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dmacr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dmacr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dmacr`]
+module"]
+pub type SSP_DMACR = crate::Reg;
+#[doc = "The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+pub mod ssp_dmacr;
+#[doc = "ssp_periph_id0 (rw) register accessor: The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id0`]
+module"]
+pub type SSP_PERIPH_ID0 = crate::Reg;
+#[doc = "The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id0;
+#[doc = "ssp_periph_id1 (rw) register accessor: The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id1`]
+module"]
+pub type SSP_PERIPH_ID1 = crate::Reg;
+#[doc = "The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id1;
+#[doc = "ssp_periph_id2 (rw) register accessor: The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id2`]
+module"]
+pub type SSP_PERIPH_ID2 = crate::Reg;
+#[doc = "The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id2;
+#[doc = "ssp_periph_id3 (rw) register accessor: The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id3`]
+module"]
+pub type SSP_PERIPH_ID3 = crate::Reg;
+#[doc = "The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id3;
+#[doc = "ssp_pcell_id0 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id0`]
+module"]
+pub type SSP_PCELL_ID0 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id0;
+#[doc = "ssp_pcell_id1 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id1`]
+module"]
+pub type SSP_PCELL_ID1 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id1;
+#[doc = "ssp_pcell_id2 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id2`]
+module"]
+pub type SSP_PCELL_ID2 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id2;
+#[doc = "ssp_pcell_id3 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id3`]
+module"]
+pub type SSP_PCELL_ID3 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id3;
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cpsr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cpsr.rs
new file mode 100644
index 0000000..4786592
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cpsr.rs
@@ -0,0 +1,41 @@
+#[doc = "Register `ssp_cpsr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cpsr` writer"]
+pub type W = crate::W;
+#[doc = "Field `cpsdvsr` reader - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_R = crate::FieldReader;
+#[doc = "Field `cpsdvsr` writer - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ pub fn cpsdvsr(&self) -> CPSDVSR_R {
+ CPSDVSR_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ #[must_use]
+ pub fn cpsdvsr(&mut self) -> CPSDVSR_W {
+ CPSDVSR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CPSR_SPEC;
+impl crate::RegisterSpec for SSP_CPSR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cpsr::R`](R) reader structure"]
+impl crate::Readable for SSP_CPSR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cpsr::W`](W) writer structure"]
+impl crate::Writable for SSP_CPSR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cr0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cr0.rs
new file mode 100644
index 0000000..6dd1733
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cr0.rs
@@ -0,0 +1,105 @@
+#[doc = "Register `ssp_cr0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr0` writer"]
+pub type W = crate::W;
+#[doc = "Field `scr` reader - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 4, O>;
+#[doc = "Field `frf` reader - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_R = crate::FieldReader;
+#[doc = "Field `frf` writer - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 2, O>;
+#[doc = "Field `spo` reader - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_R = crate::BitReader;
+#[doc = "Field `spo` writer - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sph` reader - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_R = crate::BitReader;
+#[doc = "Field `sph` writer - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `scr` reader - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ pub fn frf(&self) -> FRF_R {
+ FRF_R::new(((self.bits >> 4) & 3) as u8)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn spo(&self) -> SPO_R {
+ SPO_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn sph(&self) -> SPH_R {
+ SPH_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new(((self.bits >> 8) & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ #[must_use]
+ pub fn frf(&mut self) -> FRF_W {
+ FRF_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn spo(&mut self) -> SPO_W {
+ SPO_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn sph(&mut self) -> SPH_W {
+ SPH_W::new(self)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CR0_SPEC;
+impl crate::RegisterSpec for SSP_CR0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cr0::R`](R) reader structure"]
+impl crate::Readable for SSP_CR0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cr0::W`](W) writer structure"]
+impl crate::Writable for SSP_CR0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cr1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cr1.rs
new file mode 100644
index 0000000..0792760
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_cr1.rs
@@ -0,0 +1,86 @@
+#[doc = "Register `ssp_cr1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr1` writer"]
+pub type W = crate::W;
+#[doc = "Field `lbm` reader - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_R = crate::BitReader;
+#[doc = "Field `lbm` writer - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sse` reader - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_R = crate::BitReader;
+#[doc = "Field `sse` writer - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `ms` reader - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_R = crate::BitReader;
+#[doc = "Field `ms` writer - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sod` reader - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_R = crate::BitReader;
+#[doc = "Field `sod` writer - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ pub fn lbm(&self) -> LBM_R {
+ LBM_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ pub fn sse(&self) -> SSE_R {
+ SSE_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+ #[inline(always)]
+ pub fn ms(&self) -> MS_R {
+ MS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+ #[inline(always)]
+ pub fn sod(&self) -> SOD_R {
+ SOD_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ #[must_use]
+ pub fn lbm(&mut self) -> LBM_W {
+ LBM_W::new(self)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ #[must_use]
+ pub fn sse(&mut self) -> SSE_W {
+ SSE_W::new(self)
+ }
+ #[doc = "Bit 2 - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+ #[inline(always)]
+ #[must_use]
+ pub fn ms(&mut self) -> MS_W {
+ MS_W::new(self)
+ }
+ #[doc = "Bit 3 - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+ #[inline(always)]
+ #[must_use]
+ pub fn sod(&mut self) -> SOD_W {
+ SOD_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CR1_SPEC;
+impl crate::RegisterSpec for SSP_CR1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cr1::R`](R) reader structure"]
+impl crate::Readable for SSP_CR1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cr1::W`](W) writer structure"]
+impl crate::Writable for SSP_CR1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_dmacr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_dmacr.rs
new file mode 100644
index 0000000..98c9b9b
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_dmacr.rs
@@ -0,0 +1,56 @@
+#[doc = "Register `ssp_dmacr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_dmacr` writer"]
+pub type W = crate::W;
+#[doc = "Field `rxdmae` reader - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+pub type RXDMAE_R = crate::BitReader;
+#[doc = "Field `rxdmae` writer - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+pub type RXDMAE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `txdmae` reader - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+pub type TXDMAE_R = crate::BitReader;
+#[doc = "Field `txdmae` writer - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+pub type TXDMAE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+ #[inline(always)]
+ pub fn rxdmae(&self) -> RXDMAE_R {
+ RXDMAE_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+ #[inline(always)]
+ pub fn txdmae(&self) -> TXDMAE_R {
+ TXDMAE_R::new(((self.bits >> 1) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Receive DMA Enable. If this bit is set to 1, DMA for the receive FIFO is enabled."]
+ #[inline(always)]
+ #[must_use]
+ pub fn rxdmae(&mut self) -> RXDMAE_W {
+ RXDMAE_W::new(self)
+ }
+ #[doc = "Bit 1 - Transmit DMA Enable. If this bit is set to 1, DMA for the transmit FIFO is enabled."]
+ #[inline(always)]
+ #[must_use]
+ pub fn txdmae(&mut self) -> TXDMAE_W {
+ TXDMAE_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dmacr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dmacr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_DMACR_SPEC;
+impl crate::RegisterSpec for SSP_DMACR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_dmacr::R`](R) reader structure"]
+impl crate::Readable for SSP_DMACR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_dmacr::W`](W) writer structure"]
+impl crate::Writable for SSP_DMACR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_dr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_dr.rs
new file mode 100644
index 0000000..e08e262
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_dr.rs
@@ -0,0 +1,41 @@
+#[doc = "Register `ssp_dr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_dr` writer"]
+pub type W = crate::W;
+#[doc = "Field `data` reader - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+pub type DATA_R = crate::FieldReader;
+#[doc = "Field `data` writer - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+pub type DATA_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 16, O, u16>;
+impl R {
+ #[doc = "Bits 0:15 - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+ #[inline(always)]
+ pub fn data(&self) -> DATA_R {
+ DATA_R::new(self.bits)
+ }
+}
+impl W {
+ #[doc = "Bits 0:15 - Transmit/Receive FIFO - Read: Receive FIFO, Write: Transmit FIFO. You must right-justify data when the PrimeCell SSP is programmed for a data size that is less than 16 bits. Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies."]
+ #[inline(always)]
+ #[must_use]
+ pub fn data(&mut self) -> DATA_W {
+ DATA_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_DR_SPEC;
+impl crate::RegisterSpec for SSP_DR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_dr::R`](R) reader structure"]
+impl crate::Readable for SSP_DR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_dr::W`](W) writer structure"]
+impl crate::Writable for SSP_DR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_icr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_icr.rs
new file mode 100644
index 0000000..6764545
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_icr.rs
@@ -0,0 +1,56 @@
+#[doc = "Register `ssp_icr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_icr` writer"]
+pub type W = crate::W;
+#[doc = "Field `roric` reader - Clears the SSPRORINTR interrupt"]
+pub type RORIC_R = crate::BitReader;
+#[doc = "Field `roric` writer - Clears the SSPRORINTR interrupt"]
+pub type RORIC_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rtic` reader - Clears the SSPRTINTR interrupt"]
+pub type RTIC_R = crate::BitReader;
+#[doc = "Field `rtic` writer - Clears the SSPRTINTR interrupt"]
+pub type RTIC_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Clears the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn roric(&self) -> RORIC_R {
+ RORIC_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Clears the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtic(&self) -> RTIC_R {
+ RTIC_R::new(((self.bits >> 1) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Clears the SSPRORINTR interrupt"]
+ #[inline(always)]
+ #[must_use]
+ pub fn roric(&mut self) -> RORIC_W {
+ RORIC_W::new(self)
+ }
+ #[doc = "Bit 1 - Clears the SSPRTINTR interrupt"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rtic(&mut self) -> RTIC_W {
+ RTIC_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_icr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_icr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_ICR_SPEC;
+impl crate::RegisterSpec for SSP_ICR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_icr::R`](R) reader structure"]
+impl crate::Readable for SSP_ICR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_icr::W`](W) writer structure"]
+impl crate::Writable for SSP_ICR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_imsc.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_imsc.rs
new file mode 100644
index 0000000..5cc0e1a
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_imsc.rs
@@ -0,0 +1,86 @@
+#[doc = "Register `ssp_imsc` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_imsc` writer"]
+pub type W = crate::W;
+#[doc = "Field `rorim` reader - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+pub type RORIM_R = crate::BitReader;
+#[doc = "Field `rorim` writer - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+pub type RORIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rtim` reader - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+pub type RTIM_R = crate::BitReader;
+#[doc = "Field `rtim` writer - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+pub type RTIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `rxim` reader - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+pub type RXIM_R = crate::BitReader;
+#[doc = "Field `rxim` writer - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+pub type RXIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `txim` reader - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+pub type TXIM_R = crate::BitReader;
+#[doc = "Field `txim` writer - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+pub type TXIM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn rorim(&self) -> RORIM_R {
+ RORIM_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+ #[inline(always)]
+ pub fn rtim(&self) -> RTIM_R {
+ RTIM_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn rxim(&self) -> RXIM_R {
+ RXIM_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+ #[inline(always)]
+ pub fn txim(&self) -> TXIM_R {
+ TXIM_R::new(((self.bits >> 2) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Receive overrun interrupt mask - 0: Receive FIFO written to while full condition interrupt is masked, 1: Receive FIFO written to while full condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rorim(&mut self) -> RORIM_W {
+ RORIM_W::new(self)
+ }
+ #[doc = "Bit 1 - Receive timeout interrupt mask - 0: Receive FIFO not empty and no read prior to timeout period interrupt is masked, 1: Receive FIFO not empty and no read prior to timeout period interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rtim(&mut self) -> RTIM_W {
+ RTIM_W::new(self)
+ }
+ #[doc = "Bit 2 - Receive FIFO interrupt mask - 0: Receive FIFO half full or less condition interrupt is masked, 1: Receive FIFO half full or less condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn rxim(&mut self) -> RXIM_W {
+ RXIM_W::new(self)
+ }
+ #[doc = "Bit 2 - Transmit FIFO interrupt mask - 0: Transmit FIFO half empty or less condition interrupt is masked, 1: Transmit FIFO half empty or less condition interrupt is not masked"]
+ #[inline(always)]
+ #[must_use]
+ pub fn txim(&mut self) -> TXIM_W {
+ TXIM_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_imsc::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_imsc::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_IMSC_SPEC;
+impl crate::RegisterSpec for SSP_IMSC_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_imsc::R`](R) reader structure"]
+impl crate::Readable for SSP_IMSC_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_imsc::W`](W) writer structure"]
+impl crate::Writable for SSP_IMSC_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_mis.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_mis.rs
new file mode 100644
index 0000000..e3e4c75
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_mis.rs
@@ -0,0 +1,54 @@
+#[doc = "Register `ssp_mis` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_mis` writer"]
+pub type W = crate::W;
+#[doc = "Field `rormis` reader - Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt"]
+pub type RORMIS_R = crate::BitReader;
+#[doc = "Field `rtmis` reader - Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt"]
+pub type RTMIS_R = crate::BitReader;
+#[doc = "Field `rxmis` reader - Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt"]
+pub type RXMIS_R = crate::BitReader;
+#[doc = "Field `txmis` reader - Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt"]
+pub type TXMIS_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Gives the receive over run masked interrupt status, after masking, of the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn rormis(&self) -> RORMIS_R {
+ RORMIS_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Gives the receive timeout masked interrupt state, after masking, of the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtmis(&self) -> RTMIS_R {
+ RTMIS_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Gives the receive FIFO masked interrupt state, after masking, of the SSPRXINTR interrupt"]
+ #[inline(always)]
+ pub fn rxmis(&self) -> RXMIS_R {
+ RXMIS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Gives the transmit FIFO masked interrupt state, after masking, of the SSPTXINTR interrupt"]
+ #[inline(always)]
+ pub fn txmis(&self) -> TXMIS_R {
+ TXMIS_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_mis::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_mis::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_MIS_SPEC;
+impl crate::RegisterSpec for SSP_MIS_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_mis::R`](R) reader structure"]
+impl crate::Readable for SSP_MIS_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_mis::W`](W) writer structure"]
+impl crate::Writable for SSP_MIS_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id0.rs
new file mode 100644
index 0000000..3af6dc3
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id0.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id0` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id0` reader - The bits are read as 0xD"]
+pub type SSP_PCELL_ID0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xD"]
+ #[inline(always)]
+ pub fn ssp_pcell_id0(&self) -> SSP_PCELL_ID0_R {
+ SSP_PCELL_ID0_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID0_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id0::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id0::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id1.rs
new file mode 100644
index 0000000..eb6fb14
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id1.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id1` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id1` reader - The bits are read as 0xF0"]
+pub type SSP_PCELL_ID1_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xF0"]
+ #[inline(always)]
+ pub fn ssp_pcell_id1(&self) -> SSP_PCELL_ID1_R {
+ SSP_PCELL_ID1_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID1_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id1::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id1::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id2.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id2.rs
new file mode 100644
index 0000000..2cf6373
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id2.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id2` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id2` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id2` reader - The bits are read as 0x5"]
+pub type SSP_PCELL_ID2_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0x5"]
+ #[inline(always)]
+ pub fn ssp_pcell_id2(&self) -> SSP_PCELL_ID2_R {
+ SSP_PCELL_ID2_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id2::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID2_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID2_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id2::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID2_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id2::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID2_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id3.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id3.rs
new file mode 100644
index 0000000..6aeed7d
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_pcell_id3.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_pcell_id3` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_pcell_id3` writer"]
+pub type W = crate::W;
+#[doc = "Field `ssp_pcell_id3` reader - The bits are read as 0xB1"]
+pub type SSP_PCELL_ID3_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - The bits are read as 0xB1"]
+ #[inline(always)]
+ pub fn ssp_pcell_id3(&self) -> SSP_PCELL_ID3_R {
+ SSP_PCELL_ID3_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id3::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PCELL_ID3_SPEC;
+impl crate::RegisterSpec for SSP_PCELL_ID3_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_pcell_id3::R`](R) reader structure"]
+impl crate::Readable for SSP_PCELL_ID3_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_pcell_id3::W`](W) writer structure"]
+impl crate::Writable for SSP_PCELL_ID3_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id0.rs
new file mode 100644
index 0000000..a136eff
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id0.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_periph_id0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id0` writer"]
+pub type W = crate::W;
+#[doc = "Field `part_number0` reader - These bits read back as 0x22"]
+pub type PART_NUMBER0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - These bits read back as 0x22"]
+ #[inline(always)]
+ pub fn part_number0(&self) -> PART_NUMBER0_R {
+ PART_NUMBER0_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID0_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id0::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id0::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id1.rs
new file mode 100644
index 0000000..c5c93d0
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id1.rs
@@ -0,0 +1,40 @@
+#[doc = "Register `ssp_periph_id1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id1` writer"]
+pub type W = crate::W;
+#[doc = "Field `part_number1` reader - These bits read back as 0x0"]
+pub type PART_NUMBER1_R = crate::FieldReader;
+#[doc = "Field `designer0` reader - These bits read back as 0x1"]
+pub type DESIGNER0_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:3 - These bits read back as 0x0"]
+ #[inline(always)]
+ pub fn part_number1(&self) -> PART_NUMBER1_R {
+ PART_NUMBER1_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:7 - These bits read back as 0x1"]
+ #[inline(always)]
+ pub fn designer0(&self) -> DESIGNER0_R {
+ DESIGNER0_R::new(((self.bits >> 4) & 0x0f) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id1::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID1_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID1_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id1::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID1_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id1::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID1_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id2.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id2.rs
new file mode 100644
index 0000000..f86b342
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id2.rs
@@ -0,0 +1,40 @@
+#[doc = "Register `ssp_periph_id2` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id2` writer"]
+pub type W = crate::W;
+#[doc = "Field `designer1` reader - These bits read back as 0x4"]
+pub type DESIGNER1_R = crate::FieldReader;
+#[doc = "Field `revision` reader - These bits return the peripheral revision"]
+pub type REVISION_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:3 - These bits read back as 0x4"]
+ #[inline(always)]
+ pub fn designer1(&self) -> DESIGNER1_R {
+ DESIGNER1_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:7 - These bits return the peripheral revision"]
+ #[inline(always)]
+ pub fn revision(&self) -> REVISION_R {
+ REVISION_R::new(((self.bits >> 4) & 0x0f) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id2::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID2_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID2_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id2::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID2_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id2::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID2_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id3.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id3.rs
new file mode 100644
index 0000000..24259b9
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_periph_id3.rs
@@ -0,0 +1,33 @@
+#[doc = "Register `ssp_periph_id3` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_periph_id3` writer"]
+pub type W = crate::W;
+#[doc = "Field `configuration` reader - These bits read back as 0x80"]
+pub type CONFIGURATION_R = crate::FieldReader;
+impl R {
+ #[doc = "Bits 0:7 - These bits read back as 0x80"]
+ #[inline(always)]
+ pub fn configuration(&self) -> CONFIGURATION_R {
+ CONFIGURATION_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id3::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_PERIPH_ID3_SPEC;
+impl crate::RegisterSpec for SSP_PERIPH_ID3_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_periph_id3::R`](R) reader structure"]
+impl crate::Readable for SSP_PERIPH_ID3_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_periph_id3::W`](W) writer structure"]
+impl crate::Writable for SSP_PERIPH_ID3_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_ris.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_ris.rs
new file mode 100644
index 0000000..25495ca
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_ris.rs
@@ -0,0 +1,54 @@
+#[doc = "Register `ssp_ris` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_ris` writer"]
+pub type W = crate::W;
+#[doc = "Field `rorris` reader - Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt"]
+pub type RORRIS_R = crate::BitReader;
+#[doc = "Field `rtris` reader - Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt"]
+pub type RTRIS_R = crate::BitReader;
+#[doc = "Field `rxris` reader - Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt"]
+pub type RXRIS_R = crate::BitReader;
+#[doc = "Field `txris` reader - Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt"]
+pub type TXRIS_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Gives the raw interrupt state, prior to masking, of the SSPRORINTR interrupt"]
+ #[inline(always)]
+ pub fn rorris(&self) -> RORRIS_R {
+ RORRIS_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Gives the raw interrupt state, prior to masking, of the SSPRTINTR interrupt"]
+ #[inline(always)]
+ pub fn rtris(&self) -> RTRIS_R {
+ RTRIS_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Gives the raw interrupt state, prior to masking, of the SSPRXINTR interrupt"]
+ #[inline(always)]
+ pub fn rxris(&self) -> RXRIS_R {
+ RXRIS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Gives the raw interrupt state, prior to masking, of the SSPTXINTR interrupt"]
+ #[inline(always)]
+ pub fn txris(&self) -> TXRIS_R {
+ TXRIS_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_ris::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_ris::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_RIS_SPEC;
+impl crate::RegisterSpec for SSP_RIS_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_ris::R`](R) reader structure"]
+impl crate::Readable for SSP_RIS_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_ris::W`](W) writer structure"]
+impl crate::Writable for SSP_RIS_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_sr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_sr.rs
new file mode 100644
index 0000000..adf4550
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_2/ssp_sr.rs
@@ -0,0 +1,61 @@
+#[doc = "Register `ssp_sr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_sr` writer"]
+pub type W = crate::W;
+#[doc = "Field `tfe` reader - Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty."]
+pub type TFE_R = crate::BitReader;
+#[doc = "Field `tnf` reader - Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full."]
+pub type TNF_R = crate::BitReader;
+#[doc = "Field `rne` reader - Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty."]
+pub type RNE_R = crate::BitReader;
+#[doc = "Field `rff` reader - Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full."]
+pub type RFF_R = crate::BitReader;
+#[doc = "Field `bsy` reader - PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty."]
+pub type BSY_R = crate::BitReader;
+impl R {
+ #[doc = "Bit 0 - Transmit FIFO empty, RO - 0: Transmit FIFO is not empty, 1: Transmit FIFO is empty."]
+ #[inline(always)]
+ pub fn tfe(&self) -> TFE_R {
+ TFE_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Transmit FIFO not full, RO - 0: Transmit FIFO is full, 1: Transmit FIFO is not full."]
+ #[inline(always)]
+ pub fn tnf(&self) -> TNF_R {
+ TNF_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Receive FIFO not empty, RO - 0: Receive FIFO is empty, 1: Receive FIFO is not empty."]
+ #[inline(always)]
+ pub fn rne(&self) -> RNE_R {
+ RNE_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Receive FIFO full, RO - 0: Receive FIFO is not full, 1: Receive FIFO is full."]
+ #[inline(always)]
+ pub fn rff(&self) -> RFF_R {
+ RFF_R::new(((self.bits >> 3) & 1) != 0)
+ }
+ #[doc = "Bit 4 - PrimeCell SSP busy flag, RO - 0: SSP is idle, 1: SSP is currently transmitting and/or receiving a frame or the transmit FIFO is not empty."]
+ #[inline(always)]
+ pub fn bsy(&self) -> BSY_R {
+ BSY_R::new(((self.bits >> 4) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_sr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_sr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_SR_SPEC;
+impl crate::RegisterSpec for SSP_SR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_sr::R`](R) reader structure"]
+impl crate::Readable for SSP_SR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_sr::W`](W) writer structure"]
+impl crate::Writable for SSP_SR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_3.rs b/jh7110-vf2-12a-pac/src/arm_pl022_3.rs
new file mode 100644
index 0000000..7e24761
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_3.rs
@@ -0,0 +1,147 @@
+#[doc = r"Register block"]
+#[repr(C)]
+pub struct RegisterBlock {
+ #[doc = "0x00 - SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+ pub ssp_cr0: SSP_CR0,
+ _reserved1: [u8; 0x02],
+ #[doc = "0x04 - SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+ pub ssp_cr1: SSP_CR1,
+ _reserved2: [u8; 0x02],
+ #[doc = "0x08 - SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+ pub ssp_dr: SSP_DR,
+ _reserved3: [u8; 0x02],
+ #[doc = "0x0c - SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+ pub ssp_sr: SSP_SR,
+ _reserved4: [u8; 0x02],
+ #[doc = "0x10 - SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+ pub ssp_cpsr: SSP_CPSR,
+ _reserved5: [u8; 0x02],
+ #[doc = "0x14 - The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+ pub ssp_imsc: SSP_IMSC,
+ _reserved6: [u8; 0x02],
+ #[doc = "0x18 - The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+ pub ssp_ris: SSP_RIS,
+ _reserved7: [u8; 0x02],
+ #[doc = "0x1c - The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+ pub ssp_mis: SSP_MIS,
+ _reserved8: [u8; 0x02],
+ #[doc = "0x20 - The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+ pub ssp_icr: SSP_ICR,
+ _reserved9: [u8; 0x02],
+ #[doc = "0x24 - The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+ pub ssp_dmacr: SSP_DMACR,
+ _reserved10: [u8; 0x0fba],
+ #[doc = "0xfe0 - The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id0: SSP_PERIPH_ID0,
+ _reserved11: [u8; 0x02],
+ #[doc = "0xfe4 - The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id1: SSP_PERIPH_ID1,
+ _reserved12: [u8; 0x02],
+ #[doc = "0xfe8 - The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id2: SSP_PERIPH_ID2,
+ _reserved13: [u8; 0x02],
+ #[doc = "0xfec - The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+ pub ssp_periph_id3: SSP_PERIPH_ID3,
+ _reserved14: [u8; 0x02],
+ #[doc = "0xff0 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id0: SSP_PCELL_ID0,
+ _reserved15: [u8; 0x02],
+ #[doc = "0xff4 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id1: SSP_PCELL_ID1,
+ _reserved16: [u8; 0x02],
+ #[doc = "0xff8 - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id2: SSP_PCELL_ID2,
+ _reserved17: [u8; 0x02],
+ #[doc = "0xffc - The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+ pub ssp_pcell_id3: SSP_PCELL_ID3,
+}
+#[doc = "ssp_cr0 (rw) register accessor: SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr0`]
+module"]
+pub type SSP_CR0 = crate::Reg;
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr0;
+#[doc = "ssp_cr1 (rw) register accessor: SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cr1`]
+module"]
+pub type SSP_CR1 = crate::Reg;
+#[doc = "SSPCR1 is the control register 1 and contains four different bit fields, that control various functions within the PrimeCell SSP."]
+pub mod ssp_cr1;
+#[doc = "ssp_dr (rw) register accessor: SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dr`]
+module"]
+pub type SSP_DR = crate::Reg;
+#[doc = "SSPDR is the data register and is 16-bits wide. When SSPDR is read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the PrimeCell SSP receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When SSPDR is written to, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the SSPTXD pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer."]
+pub mod ssp_dr;
+#[doc = "ssp_sr (rw) register accessor: SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_sr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_sr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_sr`]
+module"]
+pub type SSP_SR = crate::Reg;
+#[doc = "SSPSR is a RO status register that contains bits that indicate the FIFO fill status and the PrimeCell SSP busy status."]
+pub mod ssp_sr;
+#[doc = "ssp_cpsr (rw) register accessor: SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_cpsr`]
+module"]
+pub type SSP_CPSR = crate::Reg;
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero."]
+pub mod ssp_cpsr;
+#[doc = "ssp_imsc (rw) register accessor: The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_imsc::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_imsc::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_imsc`]
+module"]
+pub type SSP_IMSC = crate::Reg;
+#[doc = "The SSPIMSC register is the interrupt mask set or clear register. It is a RW register. On a read this register gives the current value of the mask on the relevant interrupt. A write of 1 to the particular bit sets the mask, enabling the interrupt to be read. A write of 0 clears the corresponding mask. All the bits are cleared to 0 when reset."]
+pub mod ssp_imsc;
+#[doc = "ssp_ris (rw) register accessor: The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_ris::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_ris::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_ris`]
+module"]
+pub type SSP_RIS = crate::Reg;
+#[doc = "The SSPRIS register is the raw interrupt status register. It is a RO register. On a read this register gives the current raw status value of the corresponding interrupt prior to masking. A write has no effect."]
+pub mod ssp_ris;
+#[doc = "ssp_mis (rw) register accessor: The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_mis::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_mis::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_mis`]
+module"]
+pub type SSP_MIS = crate::Reg;
+#[doc = "The SSPMIS register is the masked interrupt status register. It is a RO register. On a read this register gives the current masked status value of the corresponding interrupt. A write has no effect."]
+pub mod ssp_mis;
+#[doc = "ssp_icr (rw) register accessor: The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_icr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_icr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_icr`]
+module"]
+pub type SSP_ICR = crate::Reg;
+#[doc = "The SSPICR register is the interrupt clear register and is write-only. On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect."]
+pub mod ssp_icr;
+#[doc = "ssp_dmacr (rw) register accessor: The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_dmacr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_dmacr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_dmacr`]
+module"]
+pub type SSP_DMACR = crate::Reg;
+#[doc = "The SSPDMACR register is the DMA control register. It is a RW register. All the bits are cleared to 0 on reset."]
+pub mod ssp_dmacr;
+#[doc = "ssp_periph_id0 (rw) register accessor: The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id0`]
+module"]
+pub type SSP_PERIPH_ID0 = crate::Reg;
+#[doc = "The SSPPeriphID0 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id0;
+#[doc = "ssp_periph_id1 (rw) register accessor: The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id1`]
+module"]
+pub type SSP_PERIPH_ID1 = crate::Reg;
+#[doc = "The SSPPeriphID1 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id1;
+#[doc = "ssp_periph_id2 (rw) register accessor: The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id2`]
+module"]
+pub type SSP_PERIPH_ID2 = crate::Reg;
+#[doc = "The SSPPeriphID2 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id2;
+#[doc = "ssp_periph_id3 (rw) register accessor: The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_periph_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_periph_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_periph_id3`]
+module"]
+pub type SSP_PERIPH_ID3 = crate::Reg;
+#[doc = "The SSPPeriphID3 register is hard-coded and the fields within the register determine reset value. The SSPPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0 to 0xFEC. The registers can conceptually be treated as a single 32-bit register."]
+pub mod ssp_periph_id3;
+#[doc = "ssp_pcell_id0 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id0::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id0`]
+module"]
+pub type SSP_PCELL_ID0 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id0;
+#[doc = "ssp_pcell_id1 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id1::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id1`]
+module"]
+pub type SSP_PCELL_ID1 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id1;
+#[doc = "ssp_pcell_id2 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id2::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id2`]
+module"]
+pub type SSP_PCELL_ID2 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id2;
+#[doc = "ssp_pcell_id3 (rw) register accessor: The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_pcell_id3::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_pcell_id3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`ssp_pcell_id3`]
+module"]
+pub type SSP_PCELL_ID3 = crate::Reg;
+#[doc = "The SSPPCellID0-3 registers are four 8-bit wide registers, that span address locations 0xFF0-0xFFC. The registers can conceptually be treated as a 32-bit register. The register is used as a standard cross-peripheral identification system. The SSPPCellID register is set to 0xB105F00D."]
+pub mod ssp_pcell_id3;
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cpsr.rs b/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cpsr.rs
new file mode 100644
index 0000000..4786592
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cpsr.rs
@@ -0,0 +1,41 @@
+#[doc = "Register `ssp_cpsr` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cpsr` writer"]
+pub type W = crate::W;
+#[doc = "Field `cpsdvsr` reader - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_R = crate::FieldReader;
+#[doc = "Field `cpsdvsr` writer - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+pub type CPSDVSR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ pub fn cpsdvsr(&self) -> CPSDVSR_R {
+ CPSDVSR_R::new((self.bits & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:7 - Clock prescale divisor. Must be an even number from 2-254, depending on the frequency of SSPCLK. The least significant bit always returns zero on reads."]
+ #[inline(always)]
+ #[must_use]
+ pub fn cpsdvsr(&mut self) -> CPSDVSR_W {
+ CPSDVSR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCPSR is the clock prescale register and specifies the division factor by which the input SSPCLK must be internally divided before further use. The value programmed into this register must be an even number between \\[2:254\\]. The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cpsr::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cpsr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CPSR_SPEC;
+impl crate::RegisterSpec for SSP_CPSR_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cpsr::R`](R) reader structure"]
+impl crate::Readable for SSP_CPSR_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cpsr::W`](W) writer structure"]
+impl crate::Writable for SSP_CPSR_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cr0.rs b/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cr0.rs
new file mode 100644
index 0000000..6dd1733
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cr0.rs
@@ -0,0 +1,105 @@
+#[doc = "Register `ssp_cr0` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr0` writer"]
+pub type W = crate::W;
+#[doc = "Field `scr` reader - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 4, O>;
+#[doc = "Field `frf` reader - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_R = crate::FieldReader;
+#[doc = "Field `frf` writer - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+pub type FRF_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 2, O>;
+#[doc = "Field `spo` reader - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_R = crate::BitReader;
+#[doc = "Field `spo` writer - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+pub type SPO_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sph` reader - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_R = crate::BitReader;
+#[doc = "Field `sph` writer - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+pub type SPH_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `scr` reader - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_R = crate::FieldReader;
+#[doc = "Field `scr` writer - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+pub type SCR_W<'a, REG, const O: u8> = crate::FieldWriter<'a, REG, 8, O>;
+impl R {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new((self.bits & 0x0f) as u8)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ pub fn frf(&self) -> FRF_R {
+ FRF_R::new(((self.bits >> 4) & 3) as u8)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn spo(&self) -> SPO_R {
+ SPO_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ pub fn sph(&self) -> SPH_R {
+ SPH_R::new(((self.bits >> 6) & 1) != 0)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ pub fn scr(&self) -> SCR_R {
+ SCR_R::new(((self.bits >> 8) & 0xff) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:3 - Data Size Select - 0000, 0001, 0010: Reserved, 0011: 4-bit data, 0100: 5-bit data, 6-bit data, 0110: 7-bit data, 0111: 8-bit data, 1000: 9-bit data, 1001: 10-bit data, 1010: 11-bit data, 1011: 12-bit data, 1100: 13-bit data, 1101: 14-bit data, 1110: 15-bit data, 1111: 16-bit data"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Bits 4:5 - Frame format - 00: Motorola SPI frame format, 01: TI synchronous serial frame format, 10: National Microwire frame format, 11: Reserved"]
+ #[inline(always)]
+ #[must_use]
+ pub fn frf(&mut self) -> FRF_W {
+ FRF_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT polarity, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn spo(&mut self) -> SPO_W {
+ SPO_W::new(self)
+ }
+ #[doc = "Bit 6 - SSPCLKOUT phase, applicable to Motorola SPI frame format only."]
+ #[inline(always)]
+ #[must_use]
+ pub fn sph(&mut self) -> SPH_W {
+ SPH_W::new(self)
+ }
+ #[doc = "Bits 8:15 - Serial clock rate. The value SCR is used to generate the transmit and receive bit rate of the PrimeCell SSP. The bit rate is: (F\\[sspclk\\]
+/ (CPSDVR * (1 + SCR))), where CPSDVSR is an even value from \\[2:254\\], programmed through the SSPCPSR register and SCR is a value from \\[0:255\\]"]
+ #[inline(always)]
+ #[must_use]
+ pub fn scr(&mut self) -> SCR_W {
+ SCR_W::new(self)
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.bits = bits;
+ self
+ }
+}
+#[doc = "SSPCR0 is control register 0 and contains five bit fields that control various functions within the PrimeCell SSP.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ssp_cr0::R`](R). You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssp_cr0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
+pub struct SSP_CR0_SPEC;
+impl crate::RegisterSpec for SSP_CR0_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [`ssp_cr0::R`](R) reader structure"]
+impl crate::Readable for SSP_CR0_SPEC {}
+#[doc = "`write(|w| ..)` method takes [`ssp_cr0::W`](W) writer structure"]
+impl crate::Writable for SSP_CR0_SPEC {
+ const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+ const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
+}
diff --git a/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cr1.rs b/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cr1.rs
new file mode 100644
index 0000000..0792760
--- /dev/null
+++ b/jh7110-vf2-12a-pac/src/arm_pl022_3/ssp_cr1.rs
@@ -0,0 +1,86 @@
+#[doc = "Register `ssp_cr1` reader"]
+pub type R = crate::R;
+#[doc = "Register `ssp_cr1` writer"]
+pub type W = crate::W;
+#[doc = "Field `lbm` reader - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_R = crate::BitReader;
+#[doc = "Field `lbm` writer - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+pub type LBM_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sse` reader - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_R = crate::BitReader;
+#[doc = "Field `sse` writer - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+pub type SSE_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `ms` reader - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_R = crate::BitReader;
+#[doc = "Field `ms` writer - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+pub type MS_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+#[doc = "Field `sod` reader - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_R = crate::BitReader;
+#[doc = "Field `sod` writer - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+pub type SOD_W<'a, REG, const O: u8> = crate::BitWriter<'a, REG, O>;
+impl R {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ pub fn lbm(&self) -> LBM_R {
+ LBM_R::new((self.bits & 1) != 0)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ pub fn sse(&self) -> SSE_R {
+ SSE_R::new(((self.bits >> 1) & 1) != 0)
+ }
+ #[doc = "Bit 2 - Master or slave mode select. This bit can be modified only when the PrimeCell SSP is disabled, SSE=0 - 0: Device configured as master (default), 1: Device configured as slave"]
+ #[inline(always)]
+ pub fn ms(&self) -> MS_R {
+ MS_R::new(((self.bits >> 2) & 1) != 0)
+ }
+ #[doc = "Bit 3 - Slave-mode output disable. This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an PrimeCell SSP master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, the SOD bit can be set if the PrimeCell SSP slave is not supposed to drive the SSPTXD line - 0: SSP can drive the SSPTXD output in slave mode, 1: SSP must not drive the SSPTXD output in slave mode"]
+ #[inline(always)]
+ pub fn sod(&self) -> SOD_R {
+ SOD_R::new(((self.bits >> 3) & 1) != 0)
+ }
+}
+impl W {
+ #[doc = "Bit 0 - Loop back mode - 0: Normal serial port operation enabled, 1: Output of transmit serial shifter is connected to input of receive serial shifter internally"]
+ #[inline(always)]
+ #[must_use]
+ pub fn lbm(&mut self) -> LBM_W {
+ LBM_W::new(self)
+ }
+ #[doc = "Bit 1 - Synchronous serial port enable - 0: SSP operation disabled, 1: SSP operation enabled"]
+ #[inline(always)]
+ #[must_use]
+ pub fn sse(&mut self) -> SSE_W