blob: 07940ca442f0171db916bafc72bf2b043ce2fa4d [file] [log] [blame]
// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
/**
* Copyright (c) 2024 Raspberry Pi Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// =============================================================================
// Register block : XIP_AUX
// Version : 1
// Bus type : ahb
// Description : Auxiliary DMA access to XIP FIFOs, via fast AHB bus access
// =============================================================================
#ifndef _HARDWARE_REGS_XIP_AUX_H
#define _HARDWARE_REGS_XIP_AUX_H
// =============================================================================
// Register : XIP_AUX_STREAM
// Description : Read the XIP stream FIFO (fast bus access to
// XIP_CTRL_STREAM_FIFO)
#define XIP_AUX_STREAM_OFFSET _u(0x00000000)
#define XIP_AUX_STREAM_BITS _u(0xffffffff)
#define XIP_AUX_STREAM_RESET _u(0x00000000)
#define XIP_AUX_STREAM_MSB _u(31)
#define XIP_AUX_STREAM_LSB _u(0)
#define XIP_AUX_STREAM_ACCESS "RF"
// =============================================================================
// Register : XIP_AUX_QMI_DIRECT_TX
// Description : Write to the QMI direct-mode TX FIFO (fast bus access to
// QMI_DIRECT_TX)
#define XIP_AUX_QMI_DIRECT_TX_OFFSET _u(0x00000004)
#define XIP_AUX_QMI_DIRECT_TX_BITS _u(0x001fffff)
#define XIP_AUX_QMI_DIRECT_TX_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : XIP_AUX_QMI_DIRECT_TX_NOPUSH
// Description : Inhibit the RX FIFO push that would correspond to this TX FIFO
// entry.
//
// Useful to avoid garbage appearing in the RX FIFO when pushing
// the command at the beginning of a SPI transfer.
#define XIP_AUX_QMI_DIRECT_TX_NOPUSH_RESET _u(0x0)
#define XIP_AUX_QMI_DIRECT_TX_NOPUSH_BITS _u(0x00100000)
#define XIP_AUX_QMI_DIRECT_TX_NOPUSH_MSB _u(20)
#define XIP_AUX_QMI_DIRECT_TX_NOPUSH_LSB _u(20)
#define XIP_AUX_QMI_DIRECT_TX_NOPUSH_ACCESS "WF"
// -----------------------------------------------------------------------------
// Field : XIP_AUX_QMI_DIRECT_TX_OE
// Description : Output enable (active-high). For single width (SPI), this field
// is ignored, and SD0 is always set to output, with SD1 always
// set to input.
//
// For dual and quad width (DSPI/QSPI), this sets whether the
// relevant SDx pads are set to output whilst transferring this
// FIFO record. In this case the command/address should have OE
// set, and the data transfer should have OE set or clear
// depending on the direction of the transfer.
#define XIP_AUX_QMI_DIRECT_TX_OE_RESET _u(0x0)
#define XIP_AUX_QMI_DIRECT_TX_OE_BITS _u(0x00080000)
#define XIP_AUX_QMI_DIRECT_TX_OE_MSB _u(19)
#define XIP_AUX_QMI_DIRECT_TX_OE_LSB _u(19)
#define XIP_AUX_QMI_DIRECT_TX_OE_ACCESS "WF"
// -----------------------------------------------------------------------------
// Field : XIP_AUX_QMI_DIRECT_TX_DWIDTH
// Description : Data width. If 0, hardware will transmit the 8 LSBs of the
// DIRECT_TX DATA field, and return an 8-bit value in the 8 LSBs
// of DIRECT_RX. If 1, the full 16-bit width is used. 8-bit and
// 16-bit transfers can be mixed freely.
#define XIP_AUX_QMI_DIRECT_TX_DWIDTH_RESET _u(0x0)
#define XIP_AUX_QMI_DIRECT_TX_DWIDTH_BITS _u(0x00040000)
#define XIP_AUX_QMI_DIRECT_TX_DWIDTH_MSB _u(18)
#define XIP_AUX_QMI_DIRECT_TX_DWIDTH_LSB _u(18)
#define XIP_AUX_QMI_DIRECT_TX_DWIDTH_ACCESS "WF"
// -----------------------------------------------------------------------------
// Field : XIP_AUX_QMI_DIRECT_TX_IWIDTH
// Description : Configure whether this FIFO record is transferred with
// single/dual/quad interface width (0/1/2). Different widths can
// be mixed freely.
// 0x0 -> Single width
// 0x1 -> Dual width
// 0x2 -> Quad width
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_RESET _u(0x0)
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_BITS _u(0x00030000)
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_MSB _u(17)
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_LSB _u(16)
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_ACCESS "WF"
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_VALUE_S _u(0x0)
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_VALUE_D _u(0x1)
#define XIP_AUX_QMI_DIRECT_TX_IWIDTH_VALUE_Q _u(0x2)
// -----------------------------------------------------------------------------
// Field : XIP_AUX_QMI_DIRECT_TX_DATA
// Description : Data pushed here will be clocked out falling edges of SCK (or
// before the very first rising edge of SCK, if this is the first
// pulse). For each byte clocked out, the interface will
// simultaneously sample one byte, on rising edges of SCK, and
// push this to the DIRECT_RX FIFO.
//
// For 16-bit data, the least-significant byte is transmitted
// first.
#define XIP_AUX_QMI_DIRECT_TX_DATA_RESET _u(0x0000)
#define XIP_AUX_QMI_DIRECT_TX_DATA_BITS _u(0x0000ffff)
#define XIP_AUX_QMI_DIRECT_TX_DATA_MSB _u(15)
#define XIP_AUX_QMI_DIRECT_TX_DATA_LSB _u(0)
#define XIP_AUX_QMI_DIRECT_TX_DATA_ACCESS "WF"
// =============================================================================
// Register : XIP_AUX_QMI_DIRECT_RX
// Description : Read from the QMI direct-mode RX FIFO (fast bus access to
// QMI_DIRECT_RX)
// With each byte clocked out on the serial interface, one byte
// will simultaneously be clocked in, and will appear in this
// FIFO. The serial interface will stall when this FIFO is full,
// to avoid dropping data.
//
// When 16-bit data is pushed into the TX FIFO, the corresponding
// RX FIFO push will also contain 16 bits of data. The least-
// significant byte is the first one received.
#define XIP_AUX_QMI_DIRECT_RX_OFFSET _u(0x00000008)
#define XIP_AUX_QMI_DIRECT_RX_BITS _u(0x0000ffff)
#define XIP_AUX_QMI_DIRECT_RX_RESET _u(0x00000000)
#define XIP_AUX_QMI_DIRECT_RX_MSB _u(15)
#define XIP_AUX_QMI_DIRECT_RX_LSB _u(0)
#define XIP_AUX_QMI_DIRECT_RX_ACCESS "RF"
// =============================================================================
#endif // _HARDWARE_REGS_XIP_AUX_H