/* SPDX-License-Identifier: GPL-2.0 */
/*
* RZ xSPI Interface Registers Definitions
*
* Copyright (C) 2025 Renesas Electronics Corporation
*/
#ifndef __RENESAS_XSPI_IF_REGS_H__
#define __RENESAS_XSPI_IF_REGS_H__
#include <linux/bits.h>
/* xSPI Wrapper Configuration Register */
#define XSPI_WRAPCFG 0 x0000
/* xSPI Bridge Configuration Register */
#define XSPI_BMCFG 0 x0008
#define XSPI_BMCFG_WRMD BIT(0 )
#define XSPI_BMCFG_MWRCOMB BIT(7 )
#define XSPI_BMCFG_MWRSIZE(val) (((val) & 0 xff) << 8 )
#define XSPI_BMCFG_PREEN BIT(16 )
/* xSPI Command Map Configuration Register 0 CS0 */
#define XSPI_CMCFG0CS0 0 x0010
#define XSPI_CMCFG0_FFMT(val) (((val) & 0 x03) << 0 )
#define XSPI_CMCFG0_ADDSIZE(val) (((val) & 0 x03) << 2 )
/* xSPI Command Map Configuration Register 1 CS0 */
#define XSPI_CMCFG1CS0 0 x0014
#define XSPI_CMCFG1_RDCMD(val) (((val) & 0 xffff) << 0 )
#define XSPI_CMCFG1_RDCMD_UPPER_BYTE(val) (((val) & 0 xff) << 8 )
#define XSPI_CMCFG1_RDLATE(val) (((val) & 0 x1f) << 16 )
/* xSPI Command Map Configuration Register 2 CS0 */
#define XSPI_CMCFG2CS0 0 x0018
#define XSPI_CMCFG2_WRCMD(val) (((val) & 0 xffff) << 0 )
#define XSPI_CMCFG2_WRCMD_UPPER(val) (((val) & 0 xff) << 8 )
#define XSPI_CMCFG2_WRLATE(val) (((val) & 0 x1f) << 16 )
/* xSPI Link I/O Configuration Register CS0 */
#define XSPI_LIOCFGCS0 0 x0050
#define XSPI_LIOCFG_PRTMD(val) (((val) & 0 x3ff) << 0 )
#define XSPI_LIOCFG_CSMIN(val) (((val) & 0 x0f) << 16 )
#define XSPI_LIOCFG_CSASTEX BIT(20 )
#define XSPI_LIOCFG_CSNEGEX BIT(21 )
/* xSPI Bridge Map Control Register 0 */
#define XSPI_BMCTL0 0 x0060
#define XSPI_BMCTL0_CS0ACC(val) (((val) & 0 x03) << 0 )
/* xSPI Bridge Map Control Register 1 */
#define XSPI_BMCTL1 0 x0064
#define XSPI_BMCTL1_MWRPUSH BIT(8 )
/* xSPI Command Manual Control Register 0 */
#define XSPI_CDCTL0 0 x0070
#define XSPI_CDCTL0_TRREQ BIT(0 )
#define XSPI_CDCTL0_CSSEL BIT(3 )
#define XSPI_CDCTL0_TRNUM(val) (((val) & 0 x03) << 4 )
/* xSPI Command Manual Type Buf */
#define XSPI_CDTBUF0 0 x0080
#define XSPI_CDTBUF_CMDSIZE(val) (((val) & 0 x03) << 0 )
#define XSPI_CDTBUF_ADDSIZE(val) (((val) & 0 x07) << 2 )
#define XSPI_CDTBUF_DATASIZE(val) (((val) & 0 x0f) << 5 )
#define XSPI_CDTBUF_LATE(val) (((val) & 0 x1f) << 9 )
#define XSPI_CDTBUF_TRTYPE BIT(15 )
#define XSPI_CDTBUF_CMD(val) (((val) & 0 xffff) << 16 )
#define XSPI_CDTBUF_CMD_FIELD(val) (((val) & 0 xff) << 24 )
/* xSPI Command Manual Address Buff */
#define XSPI_CDABUF0 0 x0084
/* xSPI Command Manual Data 0 Buf */
#define XSPI_CDD0BUF0 0 x0088
/* xSPI Command Manual Data 1 Buf */
#define XSPI_CDD1BUF0 0 x008c
/* xSPI Command Calibration Control Register 0 CS0 */
#define XSPI_CCCTL0CS0 0 x0130
#define XSPI_CCCTL0_CAEN BIT(0 )
/* xSPI Interrupt Status Register */
#define XSPI_INTS 0 x0190
#define XSPI_INTS_CMDCMP BIT(0 )
/* xSPI Interrupt Clear Register */
#define XSPI_INTC 0 x0194
#define XSPI_INTC_CMDCMPC BIT(0 )
/* xSPI Interrupt Enable Register */
#define XSPI_INTE 0 x0198
#define XSPI_INTE_CMDCMPE BIT(0 )
/* Maximum data size of MWRSIZE*/
#define MWRSIZE_MAX 64
/* xSPI Protocol mode */
#define PROTO_1S_2S_2S 0 x48
#define PROTO_2S_2S_2S 0 x49
#define PROTO_1S_4S_4S 0 x090
#define PROTO_4S_4S_4S 0 x092
#endif /* __RENESAS_XSPI_IF_REGS_H__ */
Messung V0.5 in Prozent C=96 H=91 G=93
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland