51#ifndef LIBBSP_ARM_XILINX_ZYNQ_DEVCFG_REGS_H
52#define LIBBSP_ARM_XILINX_ZYNQ_DEVCFG_REGS_H
62#define ZYNQ_DEVCFG_BASE_ADDR 0xF8007000UL
64#define ZYNQ_DEVCFG_BITSTREAM_ADDR 0xFFFFFFFFUL
65#define ZYNQ_DEVCFG_INTERRUPT_VECTOR 40
69#define ZYNQ_DEVCFG_CTRL_FORCE_RST( val ) BSP_FLD32( val, 31, 31 )
70#define ZYNQ_DEVCFG_CTRL_FORCE_RST_GET( reg ) BSP_FLD32GET( reg, 31, 31 )
71#define ZYNQ_DEVCFG_CTRL_PCFG_PROG_B_GET( reg ) BSP_FLD32GET( reg, 30, 30 )
72#define ZYNQ_DEVCFG_CTRL_PCFG_PROG_B( val ) BSP_FLD32( val, 30, 30 )
73#define ZYNQ_DEVCFG_CTRL_PCFG_POR_CNT_4K_GET( reg ) BSP_FLD32GET( reg, 29, 29 )
74#define ZYNQ_DEVCFG_CTRL_PCFG_POR_CNT_4K( val ) BSP_FLD32( val, 29, 29 )
75#define ZYNQ_DEVCFG_CTRL_PCAP_PR( val ) BSP_FLD32( val, 27, 27 )
76#define ZYNQ_DEVCFG_CTRL_PCAP_PR_GET( reg ) BSP_FLD32GET( reg, 27, 27 )
77#define ZYNQ_DEVCFG_CTRL_PCAP_PR_ICAP ( 0 )
78#define ZYNQ_DEVCFG_CTRL_PCAP_PR_PCAP ( 1 )
79#define ZYNQ_DEVCFG_CTRL_PCAP_MODE( val ) BSP_FLD32( val, 26, 26 )
80#define ZYNQ_DEVCFG_CTRL_PCAP_MODE_GET( reg ) BSP_FLD32GET( reg, 26, 26 )
81#define ZYNQ_DEVCFG_CTRL_QUARTER_PCAP_RATE_EN( val ) BSP_FLD32( val, 25, 25 )
82#define ZYNQ_DEVCFG_CTRL_QUARTER_PCAP_RATE_EN_GET( reg ) \
83 BSP_FLD32GET( reg, 25, 25 )
84#define ZYNQ_DEVCFG_CTRL_MULTIBOOT_EN( val ) BSP_FLD32( val, 24, 24 )
85#define ZYNQ_DEVCFG_CTRL_MULTIBOOT_EN_GET( reg ) BSP_FLD32GET( reg, 24, 24 )
86#define ZYNQ_DEVCFG_CTRL_JTAG_CHAIN_DIS( val ) BSP_FLD32( val, 23, 23 )
87#define ZYNQ_DEVCFG_CTRL_JTAG_CHAIN_DIS_GET( reg ) BSP_FLD32GET( reg, 23, 23 )
88#define ZYNQ_DEVCFG_CTRL_PCFG_AES_FUSE( val ) BSP_FLD32( val, 12, 12 )
89#define ZYNQ_DEVCFG_CTRL_PCFG_AES_FUSE_GET( reg ) BSP_FLD32GET( reg, 12, 12 )
90#define ZYNQ_DEVCFG_CTRL_PCFG_AES_FUSE_BBRAM ( 0 )
91#define ZYNQ_DEVCFG_CTRL_PCFG_AES_FUSE_EFUSE ( 1 )
92#define ZYNQ_DEVCFG_CTRL_PCFG_AES_EN( val ) BSP_FLD32( val, 9, 11 )
93#define ZYNQ_DEVCFG_CTRL_PCFG_AES_EN_GET( reg ) BSP_FLD32GET( reg, 9, 11 )
94#define ZYNQ_DEVCFG_CTRL_PCFG_AES_EN_ENABLE ( 0x3 )
95#define ZYNQ_DEVCFG_CTRL_PCFG_AES_EN_DISABLE ( 0x0 )
96#define ZYNQ_DEVCFG_CTRL_PCFG_AES_EN_LOCKDOWN ( 0x1 )
97#define ZYNQ_DEVCFG_CTRL_PCFG_SEU_EN( val ) BSP_FLD32( val, 8, 8 )
98#define ZYNQ_DEVCFG_CTRL_PCFG_SEU_EN_GET( reg ) BSP_FLD32GET( reg, 8, 8 )
99#define ZYNQ_DEVCFG_CTRL_PCFG_SEC_EN_GET( reg ) BSP_FLD32GET( reg, 7, 7 )
100#define ZYNQ_DEVCFG_CTRL_PCFG_SPNIDEN( val ) BSP_FLD32( val, 6, 6 )
101#define ZYNQ_DEVCFG_CTRL_PCFG_SPNIDEN_GET( reg ) BSP_FLD32GET( reg, 6, 6 )
102#define ZYNQ_DEVCFG_CTRL_PCFG_SPIDEN( val ) BSP_FLD32( val, 5, 5 )
103#define ZYNQ_DEVCFG_CTRL_PCFG_SPIDEN_GET( reg ) BSP_FLD32GET( reg, 5, 5 )
104#define ZYNQ_DEVCFG_CTRL_PCFG_NIDEN( val ) BSP_FLD32( val, 4, 4 )
105#define ZYNQ_DEVCFG_CTRL_PCFG_NIDEN_GET( reg ) BSP_FLD32GET( reg, 4, 4 )
106#define ZYNQ_DEVCFG_CTRL_PCFG_DBGEN( val ) BSP_FLD32( val, 3, 3 )
107#define ZYNQ_DEVCFG_CTRL_PCFG_DBGEN_GET( reg ) BSP_FLD32GET( reg, 3, 3 )
108#define ZYNQ_DEVCFG_CTRL_PCFG_DAP_EN( val ) BSP_FLD32( val, 0, 2 )
109#define ZYNQ_DEVCFG_CTRL_PCFG_DAP_EN_GET( reg ) BSP_FLD32GET( reg, 0, 2 )
110#define ZYNQ_DEVCFG_CTRL_PCFG_DAP_EN_ENABLE ( 0x3 )
111#define ZYNQ_DEVCFG_CTRL_PCFG_DAP_EN_BYPASS ( 0x0 )
112#define ZYNQ_DEVCFG_CTRL_RESERVED_BITS ( 0x6000 )
119#define ZYNQ_DEVCFG_INT_PSS_CFG_RESET_B_INT BSP_BIT32( 27 )
120#define ZYNQ_DEVCFG_INT_PSS_CFG_RESET_B_INT_GET( reg ) \
121 BSP_FLD32GET( reg, 27, 27 )
122#define ZYNQ_DEVCFG_INT_AXI_WERR_INT_GET( reg ) BSP_FLD32GET( reg, 22, 22 )
123#define ZYNQ_DEVCFG_INT_AXI_RTO_INT_GET( reg ) BSP_FLD32GET( reg, 21, 21 )
124#define ZYNQ_DEVCFG_INT_AXI_RERR_INT_GET( reg ) BSP_FLD32GET( reg, 20, 20 )
125#define ZYNQ_DEVCFG_INT_RX_FIFO_OV_INT_GET( reg ) \
126 BSP_FLD32GET( reg, 18, 18 )
127#define ZYNQ_DEVCFG_INT_DMA_CMD_ERR_INT_GET( reg ) \
128 BSP_FLD32GET( reg, 15, 15 )
129#define ZYNQ_DEVCFG_INT_DMA_Q_OV_INT_GET( reg ) BSP_FLD32GET( reg, 14, 14 )
130#define ZYNQ_DEVCFG_INT_DMA_DONE_INT BSP_BIT32( 13 )
131#define ZYNQ_DEVCFG_INT_DMA_DONE_INT_GET( reg ) BSP_FLD32GET( reg, 13, 13 )
132#define ZYNQ_DEVCFG_INT_D_P_DONE_INT BSP_BIT32( 12 )
133#define ZYNQ_DEVCFG_INT_D_P_DONE_INT_GET( reg ) BSP_FLD32GET( reg, 12, 12 )
134#define ZYNQ_DEVCFG_INT_P2D_LEN_ERR_INT_GET( reg ) \
135 BSP_FLD32GET( reg, 11, 11 )
136#define ZYNQ_DEVCFG_INT_PCFG_HMAC_ERR_INT_GET( reg ) \
137 BSP_FLD32GET( reg, 6, 6 )
138#define ZYNQ_DEVCFG_INT_PCFG_SEU_ERR_INT_GET( reg ) \
139 BSP_FLD32GET( reg, 5, 5 )
140#define ZYNQ_DEVCFG_INT_PCFG_POR_B_INT_GET( reg ) BSP_FLD32GET( reg, 4, 4 )
141#define ZYNQ_DEVCFG_INT_PCFG_CFG_RST_INT_GET( reg ) \
142 BSP_FLD32GET( reg, 3, 3 )
143#define ZYNQ_DEVCFG_INT_PCFG_DONE_INT BSP_BIT32( 2 )
144#define ZYNQ_DEVCFG_INT_PCFG_DONE_INT_GET( reg ) BSP_FLD32GET( reg, 2, 2 )
145#define ZYNQ_DEVCFG_INT_PCFG_INIT_PE_INT BSP_BIT32( 1 )
146#define ZYNQ_DEVCFG_INT_PCFG_INIT_PE_INT_GET( reg ) \
147 BSP_FLD32GET( reg, 1, 1 )
148#define ZYNQ_DEVCFG_INT_PCFG_INIT_NE_INT BSP_BIT32( 0 )
149#define ZYNQ_DEVCFG_INT_PCFG_INIT_NE_INT_GET( reg ) \
150 BSP_FLD32GET( reg, 0, 0 )
151#define ZYNQ_DEVCFG_INT_ALL ( 0xf8f7f87f )
153#define ZYNQ_DEVCFG_STATUS_DMA_CMD_Q_F( val ) BSP_FLD32( val, 31, 31 )
154#define ZYNQ_DEVCFG_STATUS_DMA_CMD_Q_F_GET( reg ) BSP_FLD32GET( reg, 31, 31 )
155#define ZYNQ_DEVCFG_STATUS_PCFG_INIT_GET( reg ) BSP_FLD32GET( reg, 4, 4 )
156 uint32_t dma_src_addr;
157#define ZYNQ_DEVCFG_DMA_SRC_ADDR_DMA_DONE_INT_WAIT_PCAP ( 0x1 )
158 uint32_t dma_dst_addr;
159#define ZYNQ_DEVCFG_DMA_DST_ADDR_DMA_DONE_INT_WAIT_PCAP ( 0x1 )
160 uint32_t dma_src_len;
161#define ZYNQ_DEVCFG_DMA_SRC_LEN_LEN( val ) BSP_FLD32( val, 0, 26 )
162 uint32_t dma_dest_len;
163#define ZYNQ_DEVCFG_DMA_DEST_LEN_LEN( val ) BSP_FLD32( val, 0, 26 )
165 uint32_t multiboot_addr;
168 uint32_t reserved2[18];
170#define ZYNQ_DEVCFG_MCTRL_PS_VERSION_GET( reg ) BSP_FLD32GET( reg, 28, 31 )
171#define ZYNQ_DEVCFG_MCTRL_PS_VERSION_1_0 0x0
172#define ZYNQ_DEVCFG_MCTRL_PS_VERSION_2_0 0x1
173#define ZYNQ_DEVCFG_MCTRL_PS_VERSION_3_0 0x2
174#define ZYNQ_DEVCFG_MCTRL_PS_VERSION_3_1 0x3
175#define ZYNQ_DEVCFG_MCTRL_PCFG_POR_B_GET( reg ) BSP_FLD32GET( reg, 8, 8 )
176#define ZYNQ_DEVCFG_MCTRL_INT_PCAP_LPBK_GET( reg ) BSP_FLD32GET( reg, 4, 4 )
177#define ZYNQ_DEVCFG_MCTRL_INT_PCAP_LPBK( val ) BSP_FLD32( val, 4, 4 )
178#define ZYNQ_DEVCFG_MCTRL_RESERVED_SET_BITS ( 0x800000 )
179#define ZYNQ_DEVCFG_MCTRL_RESERVED_UNSET_BITS ( 0x3 )
180#define ZYNQ_DEVCFG_MCTRL_SET( reg, val ) ( ( ( reg ) & \
181 ~ZYNQ_DEVCFG_MCTRL_RESERVED_UNSET_BITS ) | \
182 ZYNQ_DEVCFG_MCTRL_RESERVED_SET_BITS | ( val ) )
183 uint32_t reserved3[32];
185 uint32_t xadcif_int_sts;
186 uint32_t xadcif_int_mask;
187 uint32_t xadcif_msts;
188 uint32_t xadcif_cmdfifo;
189 uint32_t xadcif_rdfifo;
190 uint32_t xadcif_mctrl;
This header file provides utility macros for BSPs.
Definition: zynq-devcfg-regs.h:67