1 // THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT 2 3 /** 4 * Copyright (c) 2024 Raspberry Pi Ltd. 5 * 6 * SPDX-License-Identifier: BSD-3-Clause 7 */ 8 // ============================================================================= 9 // Register block : XIP_AUX 10 // Version : 1 11 // Bus type : ahb 12 // Description : Auxiliary DMA access to XIP FIFOs, via fast AHB bus access 13 // ============================================================================= 14 #ifndef _HARDWARE_REGS_XIP_AUX_H 15 #define _HARDWARE_REGS_XIP_AUX_H 16 // ============================================================================= 17 // Register : XIP_AUX_STREAM 18 // Description : Read the XIP stream FIFO (fast bus access to 19 // XIP_CTRL_STREAM_FIFO) 20 #define XIP_AUX_STREAM_OFFSET _u(0x00000000) 21 #define XIP_AUX_STREAM_BITS _u(0xffffffff) 22 #define XIP_AUX_STREAM_RESET _u(0x00000000) 23 #define XIP_AUX_STREAM_MSB _u(31) 24 #define XIP_AUX_STREAM_LSB _u(0) 25 #define XIP_AUX_STREAM_ACCESS "RF" 26 // ============================================================================= 27 // Register : XIP_AUX_QMI_DIRECT_TX 28 // Description : Write to the QMI direct-mode TX FIFO (fast bus access to 29 // QMI_DIRECT_TX) 30 #define XIP_AUX_QMI_DIRECT_TX_OFFSET _u(0x00000004) 31 #define XIP_AUX_QMI_DIRECT_TX_BITS _u(0x001fffff) 32 #define XIP_AUX_QMI_DIRECT_TX_RESET _u(0x00000000) 33 // ----------------------------------------------------------------------------- 34 // Field : XIP_AUX_QMI_DIRECT_TX_NOPUSH 35 // Description : Inhibit the RX FIFO push that would correspond to this TX FIFO 36 // entry. 37 // 38 // Useful to avoid garbage appearing in the RX FIFO when pushing 39 // the command at the beginning of a SPI transfer. 40 #define XIP_AUX_QMI_DIRECT_TX_NOPUSH_RESET _u(0x0) 41 #define XIP_AUX_QMI_DIRECT_TX_NOPUSH_BITS _u(0x00100000) 42 #define XIP_AUX_QMI_DIRECT_TX_NOPUSH_MSB _u(20) 43 #define XIP_AUX_QMI_DIRECT_TX_NOPUSH_LSB _u(20) 44 #define XIP_AUX_QMI_DIRECT_TX_NOPUSH_ACCESS "WF" 45 // ----------------------------------------------------------------------------- 46 // Field : XIP_AUX_QMI_DIRECT_TX_OE 47 // Description : Output enable (active-high). For single width (SPI), this field 48 // is ignored, and SD0 is always set to output, with SD1 always 49 // set to input. 50 // 51 // For dual and quad width (DSPI/QSPI), this sets whether the 52 // relevant SDx pads are set to output whilst transferring this 53 // FIFO record. In this case the command/address should have OE 54 // set, and the data transfer should have OE set or clear 55 // depending on the direction of the transfer. 56 #define XIP_AUX_QMI_DIRECT_TX_OE_RESET _u(0x0) 57 #define XIP_AUX_QMI_DIRECT_TX_OE_BITS _u(0x00080000) 58 #define XIP_AUX_QMI_DIRECT_TX_OE_MSB _u(19) 59 #define XIP_AUX_QMI_DIRECT_TX_OE_LSB _u(19) 60 #define XIP_AUX_QMI_DIRECT_TX_OE_ACCESS "WF" 61 // ----------------------------------------------------------------------------- 62 // Field : XIP_AUX_QMI_DIRECT_TX_DWIDTH 63 // Description : Data width. If 0, hardware will transmit the 8 LSBs of the 64 // DIRECT_TX DATA field, and return an 8-bit value in the 8 LSBs 65 // of DIRECT_RX. If 1, the full 16-bit width is used. 8-bit and 66 // 16-bit transfers can be mixed freely. 67 #define XIP_AUX_QMI_DIRECT_TX_DWIDTH_RESET _u(0x0) 68 #define XIP_AUX_QMI_DIRECT_TX_DWIDTH_BITS _u(0x00040000) 69 #define XIP_AUX_QMI_DIRECT_TX_DWIDTH_MSB _u(18) 70 #define XIP_AUX_QMI_DIRECT_TX_DWIDTH_LSB _u(18) 71 #define XIP_AUX_QMI_DIRECT_TX_DWIDTH_ACCESS "WF" 72 // ----------------------------------------------------------------------------- 73 // Field : XIP_AUX_QMI_DIRECT_TX_IWIDTH 74 // Description : Configure whether this FIFO record is transferred with 75 // single/dual/quad interface width (0/1/2). Different widths can 76 // be mixed freely. 77 // 0x0 -> Single width 78 // 0x1 -> Dual width 79 // 0x2 -> Quad width 80 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_RESET _u(0x0) 81 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_BITS _u(0x00030000) 82 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_MSB _u(17) 83 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_LSB _u(16) 84 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_ACCESS "WF" 85 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_VALUE_S _u(0x0) 86 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_VALUE_D _u(0x1) 87 #define XIP_AUX_QMI_DIRECT_TX_IWIDTH_VALUE_Q _u(0x2) 88 // ----------------------------------------------------------------------------- 89 // Field : XIP_AUX_QMI_DIRECT_TX_DATA 90 // Description : Data pushed here will be clocked out falling edges of SCK (or 91 // before the very first rising edge of SCK, if this is the first 92 // pulse). For each byte clocked out, the interface will 93 // simultaneously sample one byte, on rising edges of SCK, and 94 // push this to the DIRECT_RX FIFO. 95 // 96 // For 16-bit data, the least-significant byte is transmitted 97 // first. 98 #define XIP_AUX_QMI_DIRECT_TX_DATA_RESET _u(0x0000) 99 #define XIP_AUX_QMI_DIRECT_TX_DATA_BITS _u(0x0000ffff) 100 #define XIP_AUX_QMI_DIRECT_TX_DATA_MSB _u(15) 101 #define XIP_AUX_QMI_DIRECT_TX_DATA_LSB _u(0) 102 #define XIP_AUX_QMI_DIRECT_TX_DATA_ACCESS "WF" 103 // ============================================================================= 104 // Register : XIP_AUX_QMI_DIRECT_RX 105 // Description : Read from the QMI direct-mode RX FIFO (fast bus access to 106 // QMI_DIRECT_RX) 107 // With each byte clocked out on the serial interface, one byte 108 // will simultaneously be clocked in, and will appear in this 109 // FIFO. The serial interface will stall when this FIFO is full, 110 // to avoid dropping data. 111 // 112 // When 16-bit data is pushed into the TX FIFO, the corresponding 113 // RX FIFO push will also contain 16 bits of data. The least- 114 // significant byte is the first one received. 115 #define XIP_AUX_QMI_DIRECT_RX_OFFSET _u(0x00000008) 116 #define XIP_AUX_QMI_DIRECT_RX_BITS _u(0x0000ffff) 117 #define XIP_AUX_QMI_DIRECT_RX_RESET _u(0x00000000) 118 #define XIP_AUX_QMI_DIRECT_RX_MSB _u(15) 119 #define XIP_AUX_QMI_DIRECT_RX_LSB _u(0) 120 #define XIP_AUX_QMI_DIRECT_RX_ACCESS "RF" 121 // ============================================================================= 122 #endif // _HARDWARE_REGS_XIP_AUX_H 123 124