mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-21 01:18:52 +09:00
![Tom Rini](/assets/img/avatar_default.png)
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com>
146 lines
3.7 KiB
C
146 lines
3.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright 2013-2014 Freescale Semiconductor, Inc.
|
|
*
|
|
* Register definitions for Freescale QSPI
|
|
*/
|
|
|
|
#ifndef _FSL_QSPI_H_
|
|
#define _FSL_QSPI_H_
|
|
|
|
struct fsl_qspi_regs {
|
|
u32 mcr;
|
|
u32 rsvd0[1];
|
|
u32 ipcr;
|
|
u32 flshcr;
|
|
u32 buf0cr;
|
|
u32 buf1cr;
|
|
u32 buf2cr;
|
|
u32 buf3cr;
|
|
u32 bfgencr;
|
|
u32 soccr;
|
|
u32 rsvd1[2];
|
|
u32 buf0ind;
|
|
u32 buf1ind;
|
|
u32 buf2ind;
|
|
u32 rsvd2[49];
|
|
u32 sfar;
|
|
u32 rsvd3[1];
|
|
u32 smpr;
|
|
u32 rbsr;
|
|
u32 rbct;
|
|
u32 rsvd4[15];
|
|
u32 tbsr;
|
|
u32 tbdr;
|
|
u32 rsvd5[1];
|
|
u32 sr;
|
|
u32 fr;
|
|
u32 rser;
|
|
u32 spndst;
|
|
u32 sptrclr;
|
|
u32 rsvd6[4];
|
|
u32 sfa1ad;
|
|
u32 sfa2ad;
|
|
u32 sfb1ad;
|
|
u32 sfb2ad;
|
|
u32 rsvd7[28];
|
|
u32 rbdr[32];
|
|
u32 rsvd8[32];
|
|
u32 lutkey;
|
|
u32 lckcr;
|
|
u32 rsvd9[2];
|
|
u32 lut[64];
|
|
};
|
|
|
|
#define QSPI_IPCR_SEQID_SHIFT 24
|
|
#define QSPI_IPCR_SEQID_MASK (0xf << QSPI_IPCR_SEQID_SHIFT)
|
|
|
|
#define QSPI_MCR_END_CFD_SHIFT 2
|
|
#define QSPI_MCR_END_CFD_MASK (3 << QSPI_MCR_END_CFD_SHIFT)
|
|
#ifdef CONFIG_SYS_FSL_QSPI_AHB
|
|
/* AHB needs 64bit operation */
|
|
#define QSPI_MCR_END_CFD_LE (3 << QSPI_MCR_END_CFD_SHIFT)
|
|
#else
|
|
#define QSPI_MCR_END_CFD_LE (1 << QSPI_MCR_END_CFD_SHIFT)
|
|
#endif
|
|
#define QSPI_MCR_DDR_EN_SHIFT 7
|
|
#define QSPI_MCR_DDR_EN_MASK (1 << QSPI_MCR_DDR_EN_SHIFT)
|
|
#define QSPI_MCR_CLR_RXF_SHIFT 10
|
|
#define QSPI_MCR_CLR_RXF_MASK (1 << QSPI_MCR_CLR_RXF_SHIFT)
|
|
#define QSPI_MCR_CLR_TXF_SHIFT 11
|
|
#define QSPI_MCR_CLR_TXF_MASK (1 << QSPI_MCR_CLR_TXF_SHIFT)
|
|
#define QSPI_MCR_MDIS_SHIFT 14
|
|
#define QSPI_MCR_MDIS_MASK (1 << QSPI_MCR_MDIS_SHIFT)
|
|
#define QSPI_MCR_RESERVED_SHIFT 16
|
|
#define QSPI_MCR_RESERVED_MASK (0xf << QSPI_MCR_RESERVED_SHIFT)
|
|
#define QSPI_MCR_SWRSTHD_SHIFT 1
|
|
#define QSPI_MCR_SWRSTHD_MASK (1 << QSPI_MCR_SWRSTHD_SHIFT)
|
|
#define QSPI_MCR_SWRSTSD_SHIFT 0
|
|
#define QSPI_MCR_SWRSTSD_MASK (1 << QSPI_MCR_SWRSTSD_SHIFT)
|
|
|
|
#define QSPI_SMPR_HSENA_SHIFT 0
|
|
#define QSPI_SMPR_HSENA_MASK (1 << QSPI_SMPR_HSENA_SHIFT)
|
|
#define QSPI_SMPR_FSPHS_SHIFT 5
|
|
#define QSPI_SMPR_FSPHS_MASK (1 << QSPI_SMPR_FSPHS_SHIFT)
|
|
#define QSPI_SMPR_FSDLY_SHIFT 6
|
|
#define QSPI_SMPR_FSDLY_MASK (1 << QSPI_SMPR_FSDLY_SHIFT)
|
|
#define QSPI_SMPR_DDRSMP_SHIFT 16
|
|
#define QSPI_SMPR_DDRSMP_MASK (7 << QSPI_SMPR_DDRSMP_SHIFT)
|
|
|
|
#define QSPI_BUFXCR_INVALID_MSTRID 0xe
|
|
#define QSPI_BUF3CR_ALLMST_SHIFT 31
|
|
#define QSPI_BUF3CR_ALLMST_MASK (1 << QSPI_BUF3CR_ALLMST_SHIFT)
|
|
#define QSPI_BUF3CR_ADATSZ_SHIFT 8
|
|
#define QSPI_BUF3CR_ADATSZ_MASK (0xFF << QSPI_BUF3CR_ADATSZ_SHIFT)
|
|
|
|
#define QSPI_BFGENCR_SEQID_SHIFT 12
|
|
#define QSPI_BFGENCR_SEQID_MASK (0xf << QSPI_BFGENCR_SEQID_SHIFT)
|
|
#define QSPI_BFGENCR_PAR_EN_SHIFT 16
|
|
#define QSPI_BFGENCR_PAR_EN_MASK (1 << QSPI_BFGENCR_PAR_EN_SHIFT)
|
|
|
|
#define QSPI_RBSR_RDBFL_SHIFT 8
|
|
#define QSPI_RBSR_RDBFL_MASK (0x3f << QSPI_RBSR_RDBFL_SHIFT)
|
|
|
|
#define QSPI_RBCT_RXBRD_SHIFT 8
|
|
#define QSPI_RBCT_RXBRD_USEIPS (1 << QSPI_RBCT_RXBRD_SHIFT)
|
|
|
|
#define QSPI_SR_AHB_ACC_SHIFT 2
|
|
#define QSPI_SR_AHB_ACC_MASK (1 << QSPI_SR_AHB_ACC_SHIFT)
|
|
#define QSPI_SR_IP_ACC_SHIFT 1
|
|
#define QSPI_SR_IP_ACC_MASK (1 << QSPI_SR_IP_ACC_SHIFT)
|
|
#define QSPI_SR_BUSY_SHIFT 0
|
|
#define QSPI_SR_BUSY_MASK (1 << QSPI_SR_BUSY_SHIFT)
|
|
|
|
#define QSPI_LCKCR_LOCK 0x1
|
|
#define QSPI_LCKCR_UNLOCK 0x2
|
|
|
|
#define LUT_KEY_VALUE 0x5af05af0
|
|
|
|
#define OPRND0_SHIFT 0
|
|
#define OPRND0(x) ((x) << OPRND0_SHIFT)
|
|
#define PAD0_SHIFT 8
|
|
#define PAD0(x) ((x) << PAD0_SHIFT)
|
|
#define INSTR0_SHIFT 10
|
|
#define INSTR0(x) ((x) << INSTR0_SHIFT)
|
|
#define OPRND1_SHIFT 16
|
|
#define OPRND1(x) ((x) << OPRND1_SHIFT)
|
|
#define PAD1_SHIFT 24
|
|
#define PAD1(x) ((x) << PAD1_SHIFT)
|
|
#define INSTR1_SHIFT 26
|
|
#define INSTR1(x) ((x) << INSTR1_SHIFT)
|
|
|
|
#define LUT_CMD 1
|
|
#define LUT_ADDR 2
|
|
#define LUT_DUMMY 3
|
|
#define LUT_READ 7
|
|
#define LUT_WRITE 8
|
|
|
|
#define LUT_PAD1 0
|
|
#define LUT_PAD2 1
|
|
#define LUT_PAD4 2
|
|
|
|
#define ADDR24BIT 0x18
|
|
#define ADDR32BIT 0x20
|
|
|
|
#endif /* _FSL_QSPI_H_ */
|