Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:42

0001 /******************************************************************************
0002 * Copyright (C) 2014 - 2022 Xilinx, Inc.  All rights reserved.
0003 * SPDX-License-Identifier: MIT
0004 ******************************************************************************/
0005 
0006 /*****************************************************************************/
0007 /**
0008 *
0009 * @file xqspipsu_hw.h
0010 * @addtogroup Overview
0011 * @{
0012 *
0013 * This file contains low level access functions using the base address
0014 * directly without an instance.
0015 *
0016 * <pre>
0017 * MODIFICATION HISTORY:
0018 *
0019 * Ver   Who Date     Changes
0020 * ----- --- -------- -----------------------------------------------.
0021 * 1.0   hk  08/21/14 First release
0022 *       hk  03/18/15 Add DMA status register masks required.
0023 *       sk  04/24/15 Modified the code according to MISRAC-2012.
0024 * 1.2   nsk 07/01/16 Added LQSPI supported Masks
0025 *       rk  07/15/16 Added support for TapDelays at different frequencies.
0026 * 1.7   tjs 03/14/18 Added support in EL1 NS mode.
0027 * 1.9   tjs 04/17/18 Updated register addresses as per the latest revision
0028 *                    of versal (CR#999610)
0029 * 1.9  aru 01/17/19 Fixed the violations for  MISRAC-2012
0030 *                  in safety mode .Done changes such as added U suffix
0031 * 1.11  akm 11/07/19 Removed LQSPI register access in Versal.
0032 * 1.15  akm 12/02/21 Fix Doxygen warnings.
0033 *
0034 * </pre>
0035 *
0036 ******************************************************************************/
0037 #ifndef XQSPIPSU_HW_H       /**< prevent circular inclusions */
0038 #define XQSPIPSU_HW_H       /**< by using protection macros */
0039 
0040 #ifdef __cplusplus
0041 extern "C" {
0042 #endif
0043 
0044 /***************************** Include Files *********************************/
0045 
0046 #ifndef __rtems__
0047 #include "xil_types.h"
0048 #include "xil_assert.h"
0049 #include "xil_io.h"
0050 #include "xparameters.h"
0051 #else
0052 #include <bsp/xil-compat.h>
0053 #endif
0054 
0055 /************************** Constant Definitions *****************************/
0056 /**
0057  * @name Device Base Address
0058  * Below macros gives QSPI, QSPIPSU base address.
0059  * @{
0060  */
0061 /**
0062  * QSPI Base Address
0063  */
0064 #if defined (versal)
0065 #define XQSPIPS_BASEADDR      0XF1030000U
0066 #else
0067 #define XQSPIPS_BASEADDR      0XFF0F0000U
0068 #endif
0069 
0070 #if defined (versal)
0071 #define XQSPIPSU_BASEADDR     0XF1030100U
0072 #else
0073 #define XQSPIPSU_BASEADDR     0xFF0F0100U
0074 #endif
0075 #define XQSPIPSU_OFFSET     0x100U
0076 /** @} */
0077 
0078 /**
0079  * @name XQSPIPS Enable Register information
0080  * QSPIPSU Enable Register
0081  * @{
0082  */
0083 /**
0084  * Register: XQSPIPS_EN_REG
0085  */
0086 #define XQSPIPS_EN_REG    ( ( XQSPIPS_BASEADDR ) + 0X00000014U )
0087 #define XQSPIPS_EN_SHIFT   0U
0088 #define XQSPIPS_EN_WIDTH   1U
0089 #define XQSPIPS_EN_MASK    0X00000001U
0090 /** @} */
0091 
0092 /**
0093  * @name XQSPIPSU configuration Register information
0094  * This register contains bits for configuring GQSPI controller
0095  * @{
0096  */
0097 /**
0098  * Register: XQSPIPSU_CFG
0099  */
0100 #define XQSPIPSU_CFG_OFFSET    0X00000000U
0101 
0102 #define XQSPIPSU_CFG_MODE_EN_SHIFT   30U
0103 #define XQSPIPSU_CFG_MODE_EN_WIDTH   2U
0104 #define XQSPIPSU_CFG_MODE_EN_MASK    0XC0000000U
0105 #define XQSPIPSU_CFG_MODE_EN_DMA_MASK   0X80000000U
0106 
0107 #define XQSPIPSU_CFG_GEN_FIFO_START_MODE_SHIFT   29U
0108 #define XQSPIPSU_CFG_GEN_FIFO_START_MODE_WIDTH   1U
0109 #define XQSPIPSU_CFG_GEN_FIFO_START_MODE_MASK    0X20000000U
0110 
0111 #define XQSPIPSU_CFG_START_GEN_FIFO_SHIFT   28U
0112 #define XQSPIPSU_CFG_START_GEN_FIFO_WIDTH   1U
0113 #define XQSPIPSU_CFG_START_GEN_FIFO_MASK    0X10000000U
0114 
0115 #define XQSPIPSU_CFG_ENDIAN_SHIFT   26U
0116 #define XQSPIPSU_CFG_ENDIAN_WIDTH   1U
0117 #define XQSPIPSU_CFG_ENDIAN_MASK    0X04000000U
0118 
0119 #define XQSPIPSU_CFG_EN_POLL_TO_SHIFT   20U
0120 #define XQSPIPSU_CFG_EN_POLL_TO_WIDTH   1U
0121 #define XQSPIPSU_CFG_EN_POLL_TO_MASK    0X00100000U
0122 
0123 #define XQSPIPSU_CFG_WP_HOLD_SHIFT   19U
0124 #define XQSPIPSU_CFG_WP_HOLD_WIDTH   1U
0125 #define XQSPIPSU_CFG_WP_HOLD_MASK    0X00080000U
0126 
0127 #define XQSPIPSU_CFG_BAUD_RATE_DIV_SHIFT   3U
0128 #define XQSPIPSU_CFG_BAUD_RATE_DIV_WIDTH   3U
0129 #define XQSPIPSU_CFG_BAUD_RATE_DIV_MASK    0X00000038U
0130 
0131 #define XQSPIPSU_CFG_CLK_PHA_SHIFT   2U
0132 #define XQSPIPSU_CFG_CLK_PHA_WIDTH   1U
0133 #define XQSPIPSU_CFG_CLK_PHA_MASK    0X00000004U
0134 
0135 #define XQSPIPSU_CFG_CLK_POL_SHIFT   1U
0136 #define XQSPIPSU_CFG_CLK_POL_WIDTH   1U
0137 #define XQSPIPSU_CFG_CLK_POL_MASK    0X00000002U
0138 /** @} */
0139 
0140 /**
0141  * @name XQSPIPSU LQSPI Register information
0142  * This register contains bits for configuring LQSPI
0143  * @{
0144  */
0145 /**
0146  * Register: XQSPIPSU_LQSPI
0147  */
0148 #if !defined (versal)
0149 #define XQSPIPSU_LQSPI_CR_OFFSET    0X000000A0U
0150 #define XQSPIPSU_LQSPI_CR_LINEAR_MASK     0x80000000U /**< LQSPI mode enable */
0151 #define XQSPIPSU_LQSPI_CR_TWO_MEM_MASK    0x40000000U /**< Both memories or one */
0152 #define XQSPIPSU_LQSPI_CR_SEP_BUS_MASK    0x20000000U /**< Separate memory bus */
0153 #define XQSPIPSU_LQSPI_CR_U_PAGE_MASK     0x10000000U /**< Upper memory page */
0154 #define XQSPIPSU_LQSPI_CR_ADDR_32BIT_MASK     0x01000000U /**< Upper memory page */
0155 #define XQSPIPSU_LQSPI_CR_MODE_EN_MASK    0x02000000U /**< Enable mode bits */
0156 #define XQSPIPSU_LQSPI_CR_MODE_ON_MASK    0x01000000U /**< Mode on */
0157 #define XQSPIPSU_LQSPI_CR_MODE_BITS_MASK  0x00FF0000U /**< Mode value for dual I/O
0158                                                          or quad I/O */
0159 #define XQSPIPS_LQSPI_CR_INST_MASK       0x000000FFU /**< Read instr code */
0160 #define XQSPIPS_LQSPI_CR_RST_STATE       0x80000003U /**< Default LQSPI CR value */
0161 #define XQSPIPS_LQSPI_CR_4_BYTE_STATE       0x88000013U /**< Default 4 Byte LQSPI CR value */
0162 #define XQSPIPS_LQSPI_CFG_RST_STATE       0x800238C1U /**< Default LQSPI CFG value */
0163 #endif
0164 /** @} */
0165 
0166 /**
0167  * @name XQSPIPSU Interrupt Status Register information
0168  * QSPIPSU Interrupt Status Register
0169  * @{
0170  */
0171 /**
0172  * Register: XQSPIPSU_ISR
0173  */
0174 #define XQSPIPSU_ISR_OFFSET 0X00000004U
0175 
0176 #define XQSPIPSU_ISR_RXEMPTY_SHIFT   11U
0177 #define XQSPIPSU_ISR_RXEMPTY_WIDTH   1U
0178 #define XQSPIPSU_ISR_RXEMPTY_MASK    0X00000800U
0179 
0180 #define XQSPIPSU_ISR_GENFIFOFULL_SHIFT   10U
0181 #define XQSPIPSU_ISR_GENFIFOFULL_WIDTH   1U
0182 #define XQSPIPSU_ISR_GENFIFOFULL_MASK    0X00000400U
0183 
0184 #define XQSPIPSU_ISR_GENFIFONOT_FULL_SHIFT   9U
0185 #define XQSPIPSU_ISR_GENFIFONOT_FULL_WIDTH   1U
0186 #define XQSPIPSU_ISR_GENFIFONOT_FULL_MASK    0X00000200U
0187 
0188 #define XQSPIPSU_ISR_TXEMPTY_SHIFT   8U
0189 #define XQSPIPSU_ISR_TXEMPTY_WIDTH   1U
0190 #define XQSPIPSU_ISR_TXEMPTY_MASK    0X00000100U
0191 
0192 #define XQSPIPSU_ISR_GENFIFOEMPTY_SHIFT   7U
0193 #define XQSPIPSU_ISR_GENFIFOEMPTY_WIDTH   1U
0194 #define XQSPIPSU_ISR_GENFIFOEMPTY_MASK    0X00000080U
0195 
0196 #define XQSPIPSU_ISR_RXFULL_SHIFT   5U
0197 #define XQSPIPSU_ISR_RXFULL_WIDTH   1U
0198 #define XQSPIPSU_ISR_RXFULL_MASK    0X00000020U
0199 
0200 #define XQSPIPSU_ISR_RXNEMPTY_SHIFT   4U
0201 #define XQSPIPSU_ISR_RXNEMPTY_WIDTH   1U
0202 #define XQSPIPSU_ISR_RXNEMPTY_MASK    0X00000010U
0203 
0204 #define XQSPIPSU_ISR_TXFULL_SHIFT   3U
0205 #define XQSPIPSU_ISR_TXFULL_WIDTH   1U
0206 #define XQSPIPSU_ISR_TXFULL_MASK    0X00000008U
0207 
0208 #define XQSPIPSU_ISR_TXNOT_FULL_SHIFT   2U
0209 #define XQSPIPSU_ISR_TXNOT_FULL_WIDTH   1U
0210 #define XQSPIPSU_ISR_TXNOT_FULL_MASK    0X00000004U
0211 
0212 #define XQSPIPSU_ISR_POLL_TIME_EXPIRE_SHIFT   1U
0213 #define XQSPIPSU_ISR_POLL_TIME_EXPIRE_WIDTH   1U
0214 #define XQSPIPSU_ISR_POLL_TIME_EXPIRE_MASK    0X00000002U
0215 
0216 #define XQSPIPSU_ISR_WR_TO_CLR_MASK 0X00000002U
0217 /** @} */
0218 
0219 /**
0220  * @name XQSPIPSU Interrupt Enable Register information
0221  * This register bits for enabling interrupts
0222  * @{
0223  */
0224 /**
0225  * Register: XQSPIPSU_IER
0226  */
0227 #define XQSPIPSU_IER_OFFSET    0X00000008U
0228 
0229 #define XQSPIPSU_IER_RXEMPTY_SHIFT   11U
0230 #define XQSPIPSU_IER_RXEMPTY_WIDTH   1U
0231 #define XQSPIPSU_IER_RXEMPTY_MASK    0X00000800U
0232 
0233 #define XQSPIPSU_IER_GENFIFOFULL_SHIFT   10U
0234 #define XQSPIPSU_IER_GENFIFOFULL_WIDTH   1U
0235 #define XQSPIPSU_IER_GENFIFOFULL_MASK    0X00000400U
0236 
0237 #define XQSPIPSU_IER_GENFIFONOT_FULL_SHIFT   9U
0238 #define XQSPIPSU_IER_GENFIFONOT_FULL_WIDTH   1U
0239 #define XQSPIPSU_IER_GENFIFONOT_FULL_MASK    0X00000200U
0240 
0241 #define XQSPIPSU_IER_TXEMPTY_SHIFT   8U
0242 #define XQSPIPSU_IER_TXEMPTY_WIDTH   1U
0243 #define XQSPIPSU_IER_TXEMPTY_MASK    0X00000100U
0244 
0245 #define XQSPIPSU_IER_GENFIFOEMPTY_SHIFT   7U
0246 #define XQSPIPSU_IER_GENFIFOEMPTY_WIDTH   1U
0247 #define XQSPIPSU_IER_GENFIFOEMPTY_MASK    0X00000080U
0248 
0249 #define XQSPIPSU_IER_RXFULL_SHIFT   5U
0250 #define XQSPIPSU_IER_RXFULL_WIDTH   1U
0251 #define XQSPIPSU_IER_RXFULL_MASK    0X00000020U
0252 
0253 #define XQSPIPSU_IER_RXNEMPTY_SHIFT   4U
0254 #define XQSPIPSU_IER_RXNEMPTY_WIDTH   1U
0255 #define XQSPIPSU_IER_RXNEMPTY_MASK    0X00000010U
0256 
0257 #define XQSPIPSU_IER_TXFULL_SHIFT   3U
0258 #define XQSPIPSU_IER_TXFULL_WIDTH   1U
0259 #define XQSPIPSU_IER_TXFULL_MASK    0X00000008U
0260 
0261 #define XQSPIPSU_IER_TXNOT_FULL_SHIFT   2U
0262 #define XQSPIPSU_IER_TXNOT_FULL_WIDTH   1U
0263 #define XQSPIPSU_IER_TXNOT_FULL_MASK    0X00000004U
0264 
0265 #define XQSPIPSU_IER_POLL_TIME_EXPIRE_SHIFT   1U
0266 #define XQSPIPSU_IER_POLL_TIME_EXPIRE_WIDTH   1U
0267 #define XQSPIPSU_IER_POLL_TIME_EXPIRE_MASK    0X00000002U
0268 /** @} */
0269 
0270 /**
0271  * @name XQSPIPSU Interrupt Disable Register information
0272  * This register bits for disabling interrupts
0273  * @{
0274  */
0275 /**
0276  * Register: XQSPIPSU_IDR
0277  */
0278 #define XQSPIPSU_IDR_OFFSET    0X0000000CU
0279 
0280 #define XQSPIPSU_IDR_RXEMPTY_SHIFT   11U
0281 #define XQSPIPSU_IDR_RXEMPTY_WIDTH   1U
0282 #define XQSPIPSU_IDR_RXEMPTY_MASK    0X00000800U
0283 
0284 #define XQSPIPSU_IDR_GENFIFOFULL_SHIFT   10U
0285 #define XQSPIPSU_IDR_GENFIFOFULL_WIDTH   1U
0286 #define XQSPIPSU_IDR_GENFIFOFULL_MASK    0X00000400U
0287 
0288 #define XQSPIPSU_IDR_GENFIFONOT_FULL_SHIFT   9U
0289 #define XQSPIPSU_IDR_GENFIFONOT_FULL_WIDTH   1U
0290 #define XQSPIPSU_IDR_GENFIFONOT_FULL_MASK    0X00000200U
0291 
0292 #define XQSPIPSU_IDR_TXEMPTY_SHIFT   8U
0293 #define XQSPIPSU_IDR_TXEMPTY_WIDTH   1U
0294 #define XQSPIPSU_IDR_TXEMPTY_MASK    0X00000100U
0295 
0296 #define XQSPIPSU_IDR_GENFIFOEMPTY_SHIFT   7U
0297 #define XQSPIPSU_IDR_GENFIFOEMPTY_WIDTH   1U
0298 #define XQSPIPSU_IDR_GENFIFOEMPTY_MASK    0X00000080U
0299 
0300 #define XQSPIPSU_IDR_RXFULL_SHIFT   5U
0301 #define XQSPIPSU_IDR_RXFULL_WIDTH   1U
0302 #define XQSPIPSU_IDR_RXFULL_MASK    0X00000020U
0303 
0304 #define XQSPIPSU_IDR_RXNEMPTY_SHIFT   4U
0305 #define XQSPIPSU_IDR_RXNEMPTY_WIDTH   1U
0306 #define XQSPIPSU_IDR_RXNEMPTY_MASK    0X00000010U
0307 
0308 #define XQSPIPSU_IDR_TXFULL_SHIFT   3U
0309 #define XQSPIPSU_IDR_TXFULL_WIDTH   1U
0310 #define XQSPIPSU_IDR_TXFULL_MASK    0X00000008U
0311 
0312 #define XQSPIPSU_IDR_TXNOT_FULL_SHIFT   2U
0313 #define XQSPIPSU_IDR_TXNOT_FULL_WIDTH   1U
0314 #define XQSPIPSU_IDR_TXNOT_FULL_MASK    0X00000004U
0315 
0316 #define XQSPIPSU_IDR_POLL_TIME_EXPIRE_SHIFT   1U
0317 #define XQSPIPSU_IDR_POLL_TIME_EXPIRE_WIDTH   1U
0318 #define XQSPIPSU_IDR_POLL_TIME_EXPIRE_MASK    0X00000002U
0319 
0320 #define XQSPIPSU_IDR_ALL_MASK    0X0FBEU
0321 /** @} */
0322 
0323 /**
0324  * @name XQSPIPSU Interrupt Mask Register information
0325  * This register bits for masking interrupts
0326  * @{
0327  */
0328 /**
0329  * Register: XQSPIPSU_IMR
0330  */
0331 #define XQSPIPSU_IMR_OFFSET    0X00000010U
0332 
0333 #define XQSPIPSU_IMR_RXEMPTY_SHIFT   11U
0334 #define XQSPIPSU_IMR_RXEMPTY_WIDTH   1U
0335 #define XQSPIPSU_IMR_RXEMPTY_MASK    0X00000800U
0336 
0337 #define XQSPIPSU_IMR_GENFIFOFULL_SHIFT   10U
0338 #define XQSPIPSU_IMR_GENFIFOFULL_WIDTH   1U
0339 #define XQSPIPSU_IMR_GENFIFOFULL_MASK    0X00000400U
0340 
0341 #define XQSPIPSU_IMR_GENFIFONOT_FULL_SHIFT   9U
0342 #define XQSPIPSU_IMR_GENFIFONOT_FULL_WIDTH   1U
0343 #define XQSPIPSU_IMR_GENFIFONOT_FULL_MASK    0X00000200U
0344 
0345 #define XQSPIPSU_IMR_TXEMPTY_SHIFT   8U
0346 #define XQSPIPSU_IMR_TXEMPTY_WIDTH   1U
0347 #define XQSPIPSU_IMR_TXEMPTY_MASK    0X00000100U
0348 
0349 #define XQSPIPSU_IMR_GENFIFOEMPTY_SHIFT   7U
0350 #define XQSPIPSU_IMR_GENFIFOEMPTY_WIDTH   1U
0351 #define XQSPIPSU_IMR_GENFIFOEMPTY_MASK    0X00000080U
0352 
0353 #define XQSPIPSU_IMR_RXFULL_SHIFT   5U
0354 #define XQSPIPSU_IMR_RXFULL_WIDTH   1U
0355 #define XQSPIPSU_IMR_RXFULL_MASK    0X00000020U
0356 
0357 #define XQSPIPSU_IMR_RXNEMPTY_SHIFT   4U
0358 #define XQSPIPSU_IMR_RXNEMPTY_WIDTH   1U
0359 #define XQSPIPSU_IMR_RXNEMPTY_MASK    0X00000010U
0360 
0361 #define XQSPIPSU_IMR_TXFULL_SHIFT   3U
0362 #define XQSPIPSU_IMR_TXFULL_WIDTH   1U
0363 #define XQSPIPSU_IMR_TXFULL_MASK    0X00000008U
0364 
0365 #define XQSPIPSU_IMR_TXNOT_FULL_SHIFT   2U
0366 #define XQSPIPSU_IMR_TXNOT_FULL_WIDTH   1U
0367 #define XQSPIPSU_IMR_TXNOT_FULL_MASK    0X00000004U
0368 
0369 #define XQSPIPSU_IMR_POLL_TIME_EXPIRE_SHIFT   1U
0370 #define XQSPIPSU_IMR_POLL_TIME_EXPIRE_WIDTH   1U
0371 #define XQSPIPSU_IMR_POLL_TIME_EXPIRE_MASK    0X00000002U
0372 /** @} */
0373 
0374 /**
0375  * @name XQSPIPSU Enable Register information
0376  * This register bits for enabling QSPI controller
0377  * @{
0378  */
0379 /**
0380  * Register: XQSPIPSU_EN_REG
0381  */
0382 #define XQSPIPSU_EN_OFFSET    0X00000014U
0383 
0384 #define XQSPIPSU_EN_SHIFT   0U
0385 #define XQSPIPSU_EN_WIDTH   1U
0386 #define XQSPIPSU_EN_MASK    0X00000001U
0387 /** @} */
0388 
0389 /**
0390  * @name XQSPIPSU TX Data Register information
0391  * This register bits for configuring TXFIFO
0392  * @{
0393  */
0394 /**
0395  * Register: XQSPIPSU_TXD
0396  */
0397 #define XQSPIPSU_TXD_OFFSET    0X0000001CU
0398 
0399 #define XQSPIPSU_TXD_SHIFT   0U
0400 #define XQSPIPSU_TXD_WIDTH   32U
0401 #define XQSPIPSU_TXD_MASK    0XFFFFFFFFU
0402 
0403 #define XQSPIPSU_TXD_DEPTH    64
0404 /** @} */
0405 
0406 /**
0407  * @name XQSPIPSU RX Data Register information
0408  * This register bits for configuring RXFIFO
0409  * @{
0410  */
0411 /**
0412  * Register: XQSPIPSU_RXD
0413  */
0414 #define XQSPIPSU_RXD_OFFSET    0X00000020U
0415 
0416 #define XQSPIPSU_RXD_SHIFT   0U
0417 #define XQSPIPSU_RXD_WIDTH   32U
0418 #define XQSPIPSU_RXD_MASK    0XFFFFFFFFU
0419 /** @} */
0420 
0421 /**
0422  * @name XQSPIPSU TX/RX Threshold Register information
0423  * This register bits for configuring TX/RX Threshold
0424  * @{
0425  */
0426 /**
0427  * Register: XQSPIPSU_TX_THRESHOLD
0428  */
0429 #define XQSPIPSU_TX_THRESHOLD_OFFSET    0X00000028U
0430 
0431 #define XQSPIPSU_TX_FIFO_THRESHOLD_SHIFT   0U
0432 #define XQSPIPSU_TX_FIFO_THRESHOLD_WIDTH   6U
0433 #define XQSPIPSU_TX_FIFO_THRESHOLD_MASK    0X0000003FU
0434 #define XQSPIPSU_TX_FIFO_THRESHOLD_RESET_VAL    0X01U
0435 
0436 #define XQSPIPSU_RX_THRESHOLD_OFFSET    0X0000002CU
0437 
0438 #define XQSPIPSU_RX_FIFO_THRESHOLD_SHIFT   0U
0439 #define XQSPIPSU_RX_FIFO_THRESHOLD_WIDTH   6U
0440 #define XQSPIPSU_RX_FIFO_THRESHOLD_MASK    0X0000003FU
0441 #define XQSPIPSU_RX_FIFO_THRESHOLD_RESET_VAL    0X01U
0442 
0443 #define XQSPIPSU_RXFIFO_THRESHOLD_OPT 32U
0444 /** @} */
0445 
0446 /**
0447  * @name XQSPIPSU GPIO Register information
0448  * @{
0449  */
0450 /**
0451  * Register: XQSPIPSU_GPIO
0452  */
0453 #define XQSPIPSU_GPIO_OFFSET    0X00000030U
0454 
0455 #define XQSPIPSU_GPIO_WP_N_SHIFT   0U
0456 #define XQSPIPSU_GPIO_WP_N_WIDTH   1U
0457 #define XQSPIPSU_GPIO_WP_N_MASK    0X00000001U
0458 /** @} */
0459 
0460 /**
0461  * @name XQSPIPSU Loopback Master Clock Delay Adjustment Register information
0462  * This register contains bits for configuring loopback
0463  * @{
0464  */
0465 /**
0466  * Register: XQSPIPSU_LPBK_DLY_ADJ
0467  */
0468 #define XQSPIPSU_LPBK_DLY_ADJ_OFFSET    0X00000038U
0469 
0470 #define XQSPIPSU_LPBK_DLY_ADJ_USE_LPBK_SHIFT   5U
0471 #define XQSPIPSU_LPBK_DLY_ADJ_USE_LPBK_WIDTH   1U
0472 #define XQSPIPSU_LPBK_DLY_ADJ_USE_LPBK_MASK    0X00000020U
0473 
0474 #define XQSPIPSU_LPBK_DLY_ADJ_DLY1_SHIFT   3U
0475 #define XQSPIPSU_LPBK_DLY_ADJ_DLY1_WIDTH   2U
0476 #define XQSPIPSU_LPBK_DLY_ADJ_DLY1_MASK    0X00000018U
0477 
0478 #define XQSPIPSU_LPBK_DLY_ADJ_DLY0_SHIFT   0U
0479 #define XQSPIPSU_LPBK_DLY_ADJ_DLY0_WIDTH   3U
0480 #define XQSPIPSU_LPBK_DLY_ADJ_DLY0_MASK    0X00000007U
0481 /** @} */
0482 
0483 /**
0484  * @name XQSPIPSU GEN_FIFO Register information
0485  * This register contains bits for configuring GENFIFO
0486  * @{
0487  */
0488 /**
0489  * Register: XQSPIPSU_GEN_FIFO
0490  */
0491 #define XQSPIPSU_GEN_FIFO_OFFSET    0X00000040U
0492 
0493 #define XQSPIPSU_GEN_FIFO_DATA_SHIFT   0U
0494 #define XQSPIPSU_GEN_FIFO_DATA_WIDTH   20U
0495 #define XQSPIPSU_GEN_FIFO_DATA_MASK    0X000FFFFFU
0496 /** @} */
0497 
0498 /**
0499  * @name XQSPIPSU Select Register information
0500  * This register contains bits for selection GQSPI/LQSPI controller
0501  * @{
0502  */
0503 /**
0504  * Register: XQSPIPSU_SEL
0505  */
0506 #define XQSPIPSU_SEL_OFFSET    0X00000044U
0507 
0508 #define XQSPIPSU_SEL_SHIFT   0U
0509 #define XQSPIPSU_SEL_WIDTH   1U
0510 #if !defined (versal)
0511 #define XQSPIPSU_SEL_LQSPI_MASK    0X0U
0512 #endif
0513 #define XQSPIPSU_SEL_GQSPI_MASK    0X00000001U
0514 /** @} */
0515 
0516 /**
0517  * @name XQSPIPSU FIFO Control Register information
0518  * This register contains bits for controlling TXFIFO and RXFIFO
0519  * @{
0520  */
0521 /**
0522  * Register: XQSPIPSU_FIFO_CTRL
0523  */
0524 #define XQSPIPSU_FIFO_CTRL_OFFSET    0X0000004CU
0525 
0526 #define XQSPIPSU_FIFO_CTRL_RST_RX_FIFO_SHIFT   2U
0527 #define XQSPIPSU_FIFO_CTRL_RST_RX_FIFO_WIDTH   1U
0528 #define XQSPIPSU_FIFO_CTRL_RST_RX_FIFO_MASK    0X00000004U
0529 
0530 #define XQSPIPSU_FIFO_CTRL_RST_TX_FIFO_SHIFT   1U
0531 #define XQSPIPSU_FIFO_CTRL_RST_TX_FIFO_WIDTH   1U
0532 #define XQSPIPSU_FIFO_CTRL_RST_TX_FIFO_MASK    0X00000002U
0533 
0534 #define XQSPIPSU_FIFO_CTRL_RST_GEN_FIFO_SHIFT   0U
0535 #define XQSPIPSU_FIFO_CTRL_RST_GEN_FIFO_WIDTH   1U
0536 #define XQSPIPSU_FIFO_CTRL_RST_GEN_FIFO_MASK    0X00000001U
0537 /** @} */
0538 
0539 /**
0540  * @name XQSPIPSU GENFIFO Threshold Register information
0541  * This register contains bits for configuring GENFIFO threshold
0542  * @{
0543  */
0544 /**
0545  * Register: XQSPIPSU_GF_THRESHOLD
0546  */
0547 #define XQSPIPSU_GF_THRESHOLD_OFFSET    0X00000050U
0548 
0549 #define XQSPIPSU_GEN_FIFO_THRESHOLD_SHIFT   0U
0550 #define XQSPIPSU_GEN_FIFO_THRESHOLD_WIDTH   5U
0551 #define XQSPIPSU_GEN_FIFO_THRESHOLD_MASK    0X0000001FU
0552 #define XQSPIPSU_GEN_FIFO_THRESHOLD_RESET_VAL    0X10U
0553 /** @} */
0554 
0555 /**
0556  * @name XQSPIPSU Poll configuration Register information
0557  * This register contains bits for configuring Poll feature
0558  * @{
0559  */
0560 /**
0561  * Register: XQSPIPSU_POLL_CFG
0562  */
0563 #define XQSPIPSU_POLL_CFG_OFFSET    0X00000054U
0564 
0565 #define XQSPIPSU_POLL_CFG_EN_MASK_UPPER_SHIFT   31U
0566 #define XQSPIPSU_POLL_CFG_EN_MASK_UPPER_WIDTH   1U
0567 #define XQSPIPSU_POLL_CFG_EN_MASK_UPPER_MASK    0X80000000U
0568 
0569 #define XQSPIPSU_POLL_CFG_EN_MASK_LOWER_SHIFT   30U
0570 #define XQSPIPSU_POLL_CFG_EN_MASK_LOWER_WIDTH   1U
0571 #define XQSPIPSU_POLL_CFG_EN_MASK_LOWER_MASK    0X40000000U
0572 
0573 #define XQSPIPSU_POLL_CFG_MASK_EN_SHIFT   8U
0574 #define XQSPIPSU_POLL_CFG_MASK_EN_WIDTH   8U
0575 #define XQSPIPSU_POLL_CFG_MASK_EN_MASK    0X0000FF00U
0576 
0577 #define XQSPIPSU_POLL_CFG_DATA_VALUE_SHIFT   0U
0578 #define XQSPIPSU_POLL_CFG_DATA_VALUE_WIDTH   8U
0579 #define XQSPIPSU_POLL_CFG_DATA_VALUE_MASK    0X000000FFU
0580 
0581 #define XQSPIPSU_P_TO_OFFSET    0X00000058U
0582 
0583 #define XQSPIPSU_P_TO_VALUE_SHIFT   0U
0584 #define XQSPIPSU_P_TO_VALUE_WIDTH   32U
0585 #define XQSPIPSU_P_TO_VALUE_MASK    0XFFFFFFFFU
0586 /** @} */
0587 
0588 /**
0589  * @name XQSPIPSU Transfer Status Register information
0590  * This register contains bits for transfer status
0591  * @{
0592  */
0593 /**
0594  * Register: XQSPIPSU_XFER_STS
0595  */
0596 #define XQSPIPSU_XFER_STS_OFFSET    0X0000005CU
0597 
0598 #define XQSPIPSU_XFER_STS_PEND_BYTES_SHIFT   0U
0599 #define XQSPIPSU_XFER_STS_PEND_BYTES_WIDTH   32U
0600 #define XQSPIPSU_XFER_STS_PEND_BYTES_MASK    0XFFFFFFFFU
0601 /** @} */
0602 
0603 /**
0604  * @name XQSPIPSU GEN_FIFO Snapshot Register information
0605  * This register contains bits for configuring GENFIFO
0606  * @{
0607  */
0608 /**
0609  * Register: XQSPIPSU_GF_SNAPSHOT
0610  */
0611 #define XQSPIPSU_GF_SNAPSHOT_OFFSET    0X00000060U
0612 
0613 #define XQSPIPSU_GF_SNAPSHOT_SHIFT   0U
0614 #define XQSPIPSU_GF_SNAPSHOT_WIDTH   20U
0615 #define XQSPIPSU_GF_SNAPSHOT_MASK    0X000FFFFFU
0616 /** @} */
0617 
0618 /**
0619  * @name XQSPIPSU Receive Data Copy Register information
0620  * @{
0621  */
0622 /**
0623  * Register: XQSPIPSU_RX_COPY
0624  */
0625 #define XQSPIPSU_RX_COPY_OFFSET    0X00000064U
0626 
0627 #define XQSPIPSU_RX_COPY_UPPER_SHIFT   8U
0628 #define XQSPIPSU_RX_COPY_UPPER_WIDTH   8U
0629 #define XQSPIPSU_RX_COPY_UPPER_MASK    0X0000FF00U
0630 
0631 #define XQSPIPSU_RX_COPY_LOWER_SHIFT   0U
0632 #define XQSPIPSU_RX_COPY_LOWER_WIDTH   8U
0633 #define XQSPIPSU_RX_COPY_LOWER_MASK    0X000000FFU
0634 /** @} */
0635 
0636 /**
0637  * @name XQSPIPSU Module Identification Register information
0638  * @{
0639  */
0640 /**
0641  * Register: XQSPIPSU_MOD_ID
0642  */
0643 #define XQSPIPSU_MOD_ID_OFFSET    0X000000FCU
0644 
0645 #define XQSPIPSU_MOD_ID_SHIFT   0U
0646 #define XQSPIPSU_MOD_ID_WIDTH   32U
0647 #define XQSPIPSU_MOD_ID_MASK    0XFFFFFFFFU
0648 /** @} */
0649 
0650 /**
0651  * @name XQSPIPSU DMA Transfer Register information
0652  * This register contains bits for configuring DMA
0653  * @{
0654  */
0655 /**
0656  * Register: XQSPIPSU_QSPIDMA_DST_ADDR
0657  */
0658 #define XQSPIPSU_QSPIDMA_DST_ADDR_OFFSET    0X00000700U
0659 
0660 #define XQSPIPSU_QSPIDMA_DST_ADDR_SHIFT   2U
0661 #define XQSPIPSU_QSPIDMA_DST_ADDR_WIDTH   30U
0662 #define XQSPIPSU_QSPIDMA_DST_ADDR_MASK    0XFFFFFFFCU
0663 
0664 #define XQSPIPSU_QSPIDMA_DST_SIZE_OFFSET    0X00000704U
0665 
0666 #define XQSPIPSU_QSPIDMA_DST_SIZE_SHIFT   2U
0667 #define XQSPIPSU_QSPIDMA_DST_SIZE_WIDTH   27U
0668 #define XQSPIPSU_QSPIDMA_DST_SIZE_MASK    0X1FFFFFFCU
0669 
0670 #define XQSPIPSU_QSPIDMA_DST_STS_OFFSET    0X00000708U
0671 
0672 #define XQSPIPSU_QSPIDMA_DST_STS_DONE_CNT_SHIFT   13U
0673 #define XQSPIPSU_QSPIDMA_DST_STS_DONE_CNT_WIDTH   3U
0674 #define XQSPIPSU_QSPIDMA_DST_STS_DONE_CNT_MASK    0X0000E000U
0675 
0676 #define XQSPIPSU_QSPIDMA_DST_STS_DST_FIFO_LEVEL_SHIFT   5U
0677 #define XQSPIPSU_QSPIDMA_DST_STS_DST_FIFO_LEVEL_WIDTH   8U
0678 #define XQSPIPSU_QSPIDMA_DST_STS_DST_FIFO_LEVEL_MASK    0X00001FE0U
0679 
0680 #define XQSPIPSU_QSPIDMA_DST_STS_WR_OUTSTANDING_SHIFT   1U
0681 #define XQSPIPSU_QSPIDMA_DST_STS_WR_OUTSTANDING_WIDTH   4U
0682 #define XQSPIPSU_QSPIDMA_DST_STS_WR_OUTSTANDING_MASK    0X0000001EU
0683 
0684 #define XQSPIPSU_QSPIDMA_DST_STS_BUSY_SHIFT   0U
0685 #define XQSPIPSU_QSPIDMA_DST_STS_BUSY_WIDTH   1U
0686 #define XQSPIPSU_QSPIDMA_DST_STS_BUSY_MASK    0X00000001U
0687 
0688 #define XQSPIPSU_QSPIDMA_DST_STS_WTC    0xE000U
0689 
0690 #define XQSPIPSU_QSPIDMA_DST_CTRL_OFFSET    0X0000070CU
0691 
0692 #define XQSPIPSU_QSPIDMA_DST_CTRL_FIFO_LVL_HIT_THRESHOLD_SHIFT   25U
0693 #define XQSPIPSU_QSPIDMA_DST_CTRL_FIFO_LVL_HIT_THRESHOLD_WIDTH   7U
0694 #define XQSPIPSU_QSPIDMA_DST_CTRL_FIFO_LVL_HIT_THRESHOLD_MASK    0XFE000000U
0695 
0696 #define XQSPIPSU_QSPIDMA_DST_CTRL_APB_ERR_RESP_SHIFT   24U
0697 #define XQSPIPSU_QSPIDMA_DST_CTRL_APB_ERR_RESP_WIDTH   1U
0698 #define XQSPIPSU_QSPIDMA_DST_CTRL_APB_ERR_RESP_MASK    0X01000000U
0699 
0700 #define XQSPIPSU_QSPIDMA_DST_CTRL_ENDIAN_SHIFT   23U
0701 #define XQSPIPSU_QSPIDMA_DST_CTRL_ENDIAN_WIDTH   1U
0702 #define XQSPIPSU_QSPIDMA_DST_CTRL_ENDIAN_MASK    0X00800000U
0703 
0704 #define XQSPIPSU_QSPIDMA_DST_CTRL_AXI_BRST_TYPE_SHIFT   22U
0705 #define XQSPIPSU_QSPIDMA_DST_CTRL_AXI_BRST_TYPE_WIDTH   1U
0706 #define XQSPIPSU_QSPIDMA_DST_CTRL_AXI_BRST_TYPE_MASK    0X00400000U
0707 
0708 #define XQSPIPSU_QSPIDMA_DST_CTRL_TO_VAL_SHIFT   10U
0709 #define XQSPIPSU_QSPIDMA_DST_CTRL_TO_VAL_WIDTH   12U
0710 #define XQSPIPSU_QSPIDMA_DST_CTRL_TO_VAL_MASK    0X003FFC00U
0711 
0712 #define XQSPIPSU_QSPIDMA_DST_CTRL_FIFO_THRESHOLD_SHIFT   2U
0713 #define XQSPIPSU_QSPIDMA_DST_CTRL_FIFO_THRESHOLD_WIDTH   8U
0714 #define XQSPIPSU_QSPIDMA_DST_CTRL_FIFO_THRESHOLD_MASK    0X000003FCU
0715 
0716 #define XQSPIPSU_QSPIDMA_DST_CTRL_PAUSE_STRM_SHIFT   1U
0717 #define XQSPIPSU_QSPIDMA_DST_CTRL_PAUSE_STRM_WIDTH   1U
0718 #define XQSPIPSU_QSPIDMA_DST_CTRL_PAUSE_STRM_MASK    0X00000002U
0719 
0720 #define XQSPIPSU_QSPIDMA_DST_CTRL_PAUSE_MEM_SHIFT   0U
0721 #define XQSPIPSU_QSPIDMA_DST_CTRL_PAUSE_MEM_WIDTH   1U
0722 #define XQSPIPSU_QSPIDMA_DST_CTRL_PAUSE_MEM_MASK    0X00000001U
0723 
0724 #define XQSPIPSU_QSPIDMA_DST_CTRL_RESET_VAL 0x403FFA00U
0725 
0726 #define XQSPIPSU_QSPIDMA_DST_I_STS_OFFSET    0X00000714U
0727 
0728 #define XQSPIPSU_QSPIDMA_DST_I_STS_FIFO_OF_SHIFT   7U
0729 #define XQSPIPSU_QSPIDMA_DST_I_STS_FIFO_OF_WIDTH   1U
0730 #define XQSPIPSU_QSPIDMA_DST_I_STS_FIFO_OF_MASK    0X00000080U
0731 
0732 #define XQSPIPSU_QSPIDMA_DST_I_STS_INVALID_APB_SHIFT   6U
0733 #define XQSPIPSU_QSPIDMA_DST_I_STS_INVALID_APB_WIDTH   1U
0734 #define XQSPIPSU_QSPIDMA_DST_I_STS_INVALID_APB_MASK    0X00000040U
0735 
0736 #define XQSPIPSU_QSPIDMA_DST_I_STS_THRESHOLD_HIT_SHIFT   5U
0737 #define XQSPIPSU_QSPIDMA_DST_I_STS_THRESHOLD_HIT_WIDTH   1U
0738 #define XQSPIPSU_QSPIDMA_DST_I_STS_THRESHOLD_HIT_MASK    0X00000020U
0739 
0740 #define XQSPIPSU_QSPIDMA_DST_I_STS_TO_MEM_SHIFT   4U
0741 #define XQSPIPSU_QSPIDMA_DST_I_STS_TO_MEM_WIDTH   1U
0742 #define XQSPIPSU_QSPIDMA_DST_I_STS_TO_MEM_MASK    0X00000010U
0743 
0744 #define XQSPIPSU_QSPIDMA_DST_I_STS_TO_STRM_SHIFT   3U
0745 #define XQSPIPSU_QSPIDMA_DST_I_STS_TO_STRM_WIDTH   1U
0746 #define XQSPIPSU_QSPIDMA_DST_I_STS_TO_STRM_MASK    0X00000008U
0747 
0748 #define XQSPIPSU_QSPIDMA_DST_I_STS_AXI_BRESP_ERR_SHIFT   2U
0749 #define XQSPIPSU_QSPIDMA_DST_I_STS_AXI_BRESP_ERR_WIDTH   1U
0750 #define XQSPIPSU_QSPIDMA_DST_I_STS_AXI_BRESP_ERR_MASK    0X00000004U
0751 
0752 #define XQSPIPSU_QSPIDMA_DST_I_STS_DONE_SHIFT   1U
0753 #define XQSPIPSU_QSPIDMA_DST_I_STS_DONE_WIDTH   1U
0754 #define XQSPIPSU_QSPIDMA_DST_I_STS_DONE_MASK    0X00000002U
0755 
0756 #define XQSPIPSU_QSPIDMA_DST_INTR_ERR_MASK    0X000000FCU
0757 #define XQSPIPSU_QSPIDMA_DST_INTR_ALL_MASK    0X000000FEU
0758 
0759 #define XQSPIPSU_QSPIDMA_DST_I_EN_OFFSET    0X00000718U
0760 
0761 #define XQSPIPSU_QSPIDMA_DST_I_EN_FIFO_OF_SHIFT   7U
0762 #define XQSPIPSU_QSPIDMA_DST_I_EN_FIFO_OF_WIDTH   1U
0763 #define XQSPIPSU_QSPIDMA_DST_I_EN_FIFO_OF_MASK    0X00000080U
0764 
0765 #define XQSPIPSU_QSPIDMA_DST_I_EN_INVALID_APB_SHIFT   6U
0766 #define XQSPIPSU_QSPIDMA_DST_I_EN_INVALID_APB_WIDTH   1U
0767 #define XQSPIPSU_QSPIDMA_DST_I_EN_INVALID_APB_MASK    0X00000040U
0768 
0769 #define XQSPIPSU_QSPIDMA_DST_I_EN_THRESHOLD_HIT_SHIFT   5U
0770 #define XQSPIPSU_QSPIDMA_DST_I_EN_THRESHOLD_HIT_WIDTH   1U
0771 #define XQSPIPSU_QSPIDMA_DST_I_EN_THRESHOLD_HIT_MASK    0X00000020U
0772 
0773 #define XQSPIPSU_QSPIDMA_DST_I_EN_TO_MEM_SHIFT   4U
0774 #define XQSPIPSU_QSPIDMA_DST_I_EN_TO_MEM_WIDTH   1U
0775 #define XQSPIPSU_QSPIDMA_DST_I_EN_TO_MEM_MASK    0X00000010U
0776 
0777 #define XQSPIPSU_QSPIDMA_DST_I_EN_TO_STRM_SHIFT   3U
0778 #define XQSPIPSU_QSPIDMA_DST_I_EN_TO_STRM_WIDTH   1U
0779 #define XQSPIPSU_QSPIDMA_DST_I_EN_TO_STRM_MASK    0X00000008U
0780 
0781 #define XQSPIPSU_QSPIDMA_DST_I_EN_AXI_BRESP_ERR_SHIFT   2U
0782 #define XQSPIPSU_QSPIDMA_DST_I_EN_AXI_BRESP_ERR_WIDTH   1U
0783 #define XQSPIPSU_QSPIDMA_DST_I_EN_AXI_BRESP_ERR_MASK    0X00000004U
0784 
0785 #define XQSPIPSU_QSPIDMA_DST_I_EN_DONE_SHIFT   1U
0786 #define XQSPIPSU_QSPIDMA_DST_I_EN_DONE_WIDTH   1U
0787 #define XQSPIPSU_QSPIDMA_DST_I_EN_DONE_MASK    0X00000002U
0788 
0789 #define XQSPIPSU_QSPIDMA_DST_I_DIS_OFFSET    0X0000071CU
0790 
0791 #define XQSPIPSU_QSPIDMA_DST_I_DIS_FIFO_OF_SHIFT   7U
0792 #define XQSPIPSU_QSPIDMA_DST_I_DIS_FIFO_OF_WIDTH   1U
0793 #define XQSPIPSU_QSPIDMA_DST_I_DIS_FIFO_OF_MASK    0X00000080U
0794 
0795 #define XQSPIPSU_QSPIDMA_DST_I_DIS_INVALID_APB_SHIFT   6U
0796 #define XQSPIPSU_QSPIDMA_DST_I_DIS_INVALID_APB_WIDTH   1U
0797 #define XQSPIPSU_QSPIDMA_DST_I_DIS_INVALID_APB_MASK    0X00000040U
0798 
0799 #define XQSPIPSU_QSPIDMA_DST_I_DIS_THRESHOLD_HIT_SHIFT   5U
0800 #define XQSPIPSU_QSPIDMA_DST_I_DIS_THRESHOLD_HIT_WIDTH   1U
0801 #define XQSPIPSU_QSPIDMA_DST_I_DIS_THRESHOLD_HIT_MASK    0X00000020U
0802 
0803 #define XQSPIPSU_QSPIDMA_DST_I_DIS_TO_MEM_SHIFT   4U
0804 #define XQSPIPSU_QSPIDMA_DST_I_DIS_TO_MEM_WIDTH   1U
0805 #define XQSPIPSU_QSPIDMA_DST_I_DIS_TO_MEM_MASK    0X00000010U
0806 
0807 #define XQSPIPSU_QSPIDMA_DST_I_DIS_TO_STRM_SHIFT   3U
0808 #define XQSPIPSU_QSPIDMA_DST_I_DIS_TO_STRM_WIDTH   1U
0809 #define XQSPIPSU_QSPIDMA_DST_I_DIS_TO_STRM_MASK    0X00000008U
0810 
0811 #define XQSPIPSU_QSPIDMA_DST_I_DIS_AXI_BRESP_ERR_SHIFT   2U
0812 #define XQSPIPSU_QSPIDMA_DST_I_DIS_AXI_BRESP_ERR_WIDTH   1U
0813 #define XQSPIPSU_QSPIDMA_DST_I_DIS_AXI_BRESP_ERR_MASK    0X00000004U
0814 
0815 #define XQSPIPSU_QSPIDMA_DST_I_DIS_DONE_SHIFT   1U
0816 #define XQSPIPSU_QSPIDMA_DST_I_DIS_DONE_WIDTH   1U
0817 #define XQSPIPSU_QSPIDMA_DST_I_DIS_DONE_MASK    0X00000002U
0818 
0819 #define XQSPIPSU_QSPIDMA_DST_IMR_OFFSET    0X00000720U
0820 
0821 #define XQSPIPSU_QSPIDMA_DST_IMR_FIFO_OF_SHIFT   7U
0822 #define XQSPIPSU_QSPIDMA_DST_IMR_FIFO_OF_WIDTH   1U
0823 #define XQSPIPSU_QSPIDMA_DST_IMR_FIFO_OF_MASK    0X00000080U
0824 
0825 #define XQSPIPSU_QSPIDMA_DST_IMR_INVALID_APB_SHIFT   6U
0826 #define XQSPIPSU_QSPIDMA_DST_IMR_INVALID_APB_WIDTH   1U
0827 #define XQSPIPSU_QSPIDMA_DST_IMR_INVALID_APB_MASK    0X00000040U
0828 
0829 #define XQSPIPSU_QSPIDMA_DST_IMR_THRESHOLD_HIT_SHIFT   5U
0830 #define XQSPIPSU_QSPIDMA_DST_IMR_THRESHOLD_HIT_WIDTH   1U
0831 #define XQSPIPSU_QSPIDMA_DST_IMR_THRESHOLD_HIT_MASK    0X00000020U
0832 
0833 #define XQSPIPSU_QSPIDMA_DST_IMR_TO_MEM_SHIFT   4U
0834 #define XQSPIPSU_QSPIDMA_DST_IMR_TO_MEM_WIDTH   1U
0835 #define XQSPIPSU_QSPIDMA_DST_IMR_TO_MEM_MASK    0X00000010U
0836 
0837 #define XQSPIPSU_QSPIDMA_DST_IMR_TO_STRM_SHIFT   3U
0838 #define XQSPIPSU_QSPIDMA_DST_IMR_TO_STRM_WIDTH   1U
0839 #define XQSPIPSU_QSPIDMA_DST_IMR_TO_STRM_MASK    0X00000008U
0840 
0841 #define XQSPIPSU_QSPIDMA_DST_IMR_AXI_BRESP_ERR_SHIFT   2U
0842 #define XQSPIPSU_QSPIDMA_DST_IMR_AXI_BRESP_ERR_WIDTH   1U
0843 #define XQSPIPSU_QSPIDMA_DST_IMR_AXI_BRESP_ERR_MASK    0X00000004U
0844 
0845 #define XQSPIPSU_QSPIDMA_DST_IMR_DONE_SHIFT   1U
0846 #define XQSPIPSU_QSPIDMA_DST_IMR_DONE_WIDTH   1U
0847 #define XQSPIPSU_QSPIDMA_DST_IMR_DONE_MASK    0X00000002U
0848 
0849 #define XQSPIPSU_QSPIDMA_DST_CTRL2_OFFSET    0X00000724U
0850 
0851 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMASA_SHIFT   27U
0852 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMASA_WIDTH   1U
0853 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMASA_MASK    0X08000000U
0854 
0855 #define XQSPIPSU_QSPIDMA_DST_CTRL2_AWCACHE_SHIFT   24U
0856 #define XQSPIPSU_QSPIDMA_DST_CTRL2_AWCACHE_WIDTH   3U
0857 #define XQSPIPSU_QSPIDMA_DST_CTRL2_AWCACHE_MASK    0X07000000U
0858 
0859 #define XQSPIPSU_QSPIDMA_DST_CTRL2_TO_EN_SHIFT   22U
0860 #define XQSPIPSU_QSPIDMA_DST_CTRL2_TO_EN_WIDTH   1U
0861 #define XQSPIPSU_QSPIDMA_DST_CTRL2_TO_EN_MASK    0X00400000U
0862 
0863 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMAB_SHIFT   19U
0864 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMAB_WIDTH   3U
0865 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMAB_MASK    0X00380000U
0866 
0867 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMAA_SHIFT   16U
0868 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMAA_WIDTH   3U
0869 #define XQSPIPSU_QSPIDMA_DST_CTRL2_RAM_EMAA_MASK    0X00070000U
0870 
0871 #define XQSPIPSU_QSPIDMA_DST_CTRL2_TO_PRE_SHIFT   4U
0872 #define XQSPIPSU_QSPIDMA_DST_CTRL2_TO_PRE_WIDTH   12U
0873 #define XQSPIPSU_QSPIDMA_DST_CTRL2_TO_PRE_MASK    0X0000FFF0U
0874 
0875 #define XQSPIPSU_QSPIDMA_DST_CTRL2_MAX_OUTS_CMDS_SHIFT   0U
0876 #define XQSPIPSU_QSPIDMA_DST_CTRL2_MAX_OUTS_CMDS_WIDTH   4U
0877 #define XQSPIPSU_QSPIDMA_DST_CTRL2_MAX_OUTS_CMDS_MASK    0X0000000FU
0878 
0879 #define XQSPIPSU_QSPIDMA_DST_ADDR_MSB_OFFSET    0X00000728U
0880 
0881 #define XQSPIPSU_QSPIDMA_DST_ADDR_MSB_SHIFT   0U
0882 #define XQSPIPSU_QSPIDMA_DST_ADDR_MSB_WIDTH   12U
0883 #define XQSPIPSU_QSPIDMA_DST_ADDR_MSB_MASK    0X00000FFFU
0884 
0885 #define XQSPIPSU_QSPIDMA_FUTURE_ECO_OFFSET    0X00000EFCU
0886 
0887 #define XQSPIPSU_QSPIDMA_FUTURE_ECO_VAL_SHIFT   0U
0888 #define XQSPIPSU_QSPIDMA_FUTURE_ECO_VAL_WIDTH   32U
0889 #define XQSPIPSU_QSPIDMA_FUTURE_ECO_VAL_MASK    0XFFFFFFFFU
0890 /** @} */
0891 
0892 /**
0893  * @name XQSPIPSU Generic FIFO masks information
0894  * Generic FIFO masks information
0895  * @{
0896  */
0897 /**
0898  * Generic FIFO masks
0899  */
0900 #define XQSPIPSU_GENFIFO_IMM_DATA_MASK  0xFFU
0901 #define XQSPIPSU_GENFIFO_DATA_XFER  0x100U
0902 #define XQSPIPSU_GENFIFO_EXP        0x200U
0903 #define XQSPIPSU_GENFIFO_MODE_SPI   0x400U
0904 #define XQSPIPSU_GENFIFO_MODE_DUALSPI   0x800U
0905 #define XQSPIPSU_GENFIFO_MODE_QUADSPI   0xC00U
0906 #define XQSPIPSU_GENFIFO_MODE_MASK  0xC00U  /* And with ~MASK first */
0907 #define XQSPIPSU_GENFIFO_CS_LOWER   0x1000U
0908 #define XQSPIPSU_GENFIFO_CS_UPPER   0x2000U
0909 #define XQSPIPSU_GENFIFO_BUS_LOWER  0x4000U
0910 #define XQSPIPSU_GENFIFO_BUS_UPPER  0x8000U
0911 #define XQSPIPSU_GENFIFO_BUS_BOTH   0xC000U /* inverse is no bus */
0912 #define XQSPIPSU_GENFIFO_BUS_MASK   0xC000U /* And with ~MASK first */
0913 #define XQSPIPSU_GENFIFO_TX     0x10000U    /* inverse is zero pump */
0914 #define XQSPIPSU_GENFIFO_RX     0x20000U    /* inverse is RX discard */
0915 #define XQSPIPSU_GENFIFO_STRIPE     0x40000U
0916 #define XQSPIPSU_GENFIFO_POLL       0x80000U
0917 /** @} */
0918 
0919 /**
0920  * @name XQSPIPSU RX Data Delay Register information
0921  * @{
0922  */
0923 /**
0924  * QSPI Data delay register
0925  */
0926 #define XQSPIPSU_DATA_DLY_ADJ_OFFSET    0X000000F8U
0927 
0928 #define XQSPIPSU_DATA_DLY_ADJ_USE_DATA_DLY_SHIFT   31U
0929 #define XQSPIPSU_DATA_DLY_ADJ_USE_DATA_DLY_WIDTH   1U
0930 #define XQSPIPSU_DATA_DLY_ADJ_USE_DATA_DLY_MASK    0X80000000U
0931 
0932 #define XQSPIPSU_DATA_DLY_ADJ_DLY_SHIFT   28U
0933 #define XQSPIPSU_DATA_DLY_ADJ_DLY_WIDTH   3U
0934 #define XQSPIPSU_DATA_DLY_ADJ_DLY_MASK    0X70000000U
0935 /** @} */
0936 
0937 /**
0938  * @name TAPDLY Bypass register  information
0939  * @{
0940  */
0941 /**
0942  * Tapdelay Bypass register
0943  */
0944 
0945 #if defined versal
0946 #define IOU_TAPDLY_BYPASS_OFFSET 0X0000003CU
0947 #else
0948 #define IOU_TAPDLY_BYPASS_OFFSET 0X00000390U
0949 #endif
0950 
0951 #define IOU_TAPDLY_BYPASS_LQSPI_RX_SHIFT 0X02U
0952 #if !defined (versal)
0953 #define IOU_TAPDLY_BYPASS_LQSPI_RX_WIDTH 0X01U
0954 #define IOU_TAPDLY_BYPASS_LQSPI_RX_MASK 0x00000004U
0955 #endif
0956 
0957 #if defined versal
0958 #define IOU_TAPDLY_RESET_STATE 0x4U
0959 #else
0960 #define IOU_TAPDLY_RESET_STATE 0x7U
0961 #endif
0962 /** @} */
0963 
0964 /***************** Macros (Inline Functions) Definitions *********************/
0965 
0966 #define XQspiPsu_In32 Xil_In32   /**< Read the  32 bit register value */
0967 #define XQspiPsu_Out32 Xil_Out32 /**< Write the 32 bit register value */
0968 
0969 /****************************************************************************/
0970 /**
0971 * Read a register.
0972 *
0973 * @param    BaseAddress contains the base address of the device.
0974 * @param    RegOffset contains the offset from the 1st register of the
0975 *       device to the target register.
0976 *
0977 * @return   The value read from the register.
0978 *
0979 * @note     C-Style signature:
0980 *       u32 XQspiPsu_ReadReg(u32 BaseAddress. s32 RegOffset)
0981 *
0982 ******************************************************************************/
0983 #define XQspiPsu_ReadReg(BaseAddress, RegOffset) XQspiPsu_In32((BaseAddress) + (RegOffset))
0984 
0985 /***************************************************************************/
0986 /**
0987 * Write to a register.
0988 *
0989 * @param    BaseAddress contains the base address of the device.
0990 * @param    RegOffset contains the offset from the 1st register of the
0991 *       device to target register.
0992 * @param    RegisterValue is the value to be written to the register.
0993 *
0994 * @return   None.
0995 *
0996 * @note     C-Style signature:
0997 *       void XQspiPsu_WriteReg(u32 BaseAddress, s32 RegOffset,
0998 *       u32 RegisterValue)
0999 *
1000 ******************************************************************************/
1001 #define XQspiPsu_WriteReg(BaseAddress, RegOffset, RegisterValue) XQspiPsu_Out32((BaseAddress) + (RegOffset), (RegisterValue))
1002 
1003 
1004 #ifdef __cplusplus
1005 }
1006 #endif
1007 
1008 
1009 #endif /**< XQSPIPSU_H */
1010 /** @} */