lin
2025-08-21 57113df3a0e2be01232281fad9a5f2c060567981
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#ifndef SPI_BCM53XX_H
#define SPI_BCM53XX_H
 
#define B53SPI_BSPI_REVISION_ID            0x000
#define B53SPI_BSPI_SCRATCH            0x004
#define B53SPI_BSPI_MAST_N_BOOT_CTRL        0x008
#define B53SPI_BSPI_BUSY_STATUS            0x00c
#define B53SPI_BSPI_INTR_STATUS            0x010
#define B53SPI_BSPI_B0_STATUS            0x014
#define B53SPI_BSPI_B0_CTRL            0x018
#define B53SPI_BSPI_B1_STATUS            0x01c
#define B53SPI_BSPI_B1_CTRL            0x020
#define B53SPI_BSPI_STRAP_OVERRIDE_CTRL        0x024
#define B53SPI_BSPI_FLEX_MODE_ENABLE        0x028
#define B53SPI_BSPI_BITS_PER_CYCLE        0x02c
#define B53SPI_BSPI_BITS_PER_PHASE        0x030
#define B53SPI_BSPI_CMD_AND_MODE_BYTE        0x034
#define B53SPI_BSPI_BSPI_FLASH_UPPER_ADDR_BYTE    0x038
#define B53SPI_BSPI_BSPI_XOR_VALUE        0x03c
#define B53SPI_BSPI_BSPI_XOR_ENABLE        0x040
#define B53SPI_BSPI_BSPI_PIO_MODE_ENABLE    0x044
#define B53SPI_BSPI_BSPI_PIO_IODIR        0x048
#define B53SPI_BSPI_BSPI_PIO_DATA        0x04c
 
/* RAF */
#define B53SPI_RAF_START_ADDR            0x100
#define B53SPI_RAF_NUM_WORDS            0x104
#define B53SPI_RAF_CTRL                0x108
#define B53SPI_RAF_FULLNESS            0x10c
#define B53SPI_RAF_WATERMARK            0x110
#define B53SPI_RAF_STATUS            0x114
#define B53SPI_RAF_READ_DATA            0x118
#define B53SPI_RAF_WORD_CNT            0x11c
#define B53SPI_RAF_CURR_ADDR            0x120
 
/* MSPI */
#define B53SPI_MSPI_SPCR0_LSB            0x200
#define B53SPI_MSPI_SPCR0_MSB            0x204
#define B53SPI_MSPI_SPCR1_LSB            0x208
#define B53SPI_MSPI_SPCR1_MSB            0x20c
#define B53SPI_MSPI_NEWQP            0x210
#define B53SPI_MSPI_ENDQP            0x214
#define B53SPI_MSPI_SPCR2            0x218
#define  B53SPI_MSPI_SPCR2_SPE            0x00000040
#define  B53SPI_MSPI_SPCR2_CONT_AFTER_CMD    0x00000080
#define B53SPI_MSPI_MSPI_STATUS            0x220
#define  B53SPI_MSPI_MSPI_STATUS_SPIF        0x00000001
#define B53SPI_MSPI_CPTQP            0x224
#define B53SPI_MSPI_TXRAM            0x240 /* 32 registers, up to 0x2b8 */
#define B53SPI_MSPI_RXRAM            0x2c0 /* 32 registers, up to 0x33c */
#define B53SPI_MSPI_CDRAM            0x340 /* 16 registers, up to 0x37c */
#define  B53SPI_CDRAM_PCS_PCS0            0x00000001
#define  B53SPI_CDRAM_PCS_PCS1            0x00000002
#define  B53SPI_CDRAM_PCS_PCS2            0x00000004
#define  B53SPI_CDRAM_PCS_PCS3            0x00000008
#define  B53SPI_CDRAM_PCS_DISABLE_ALL        0x0000000f
#define  B53SPI_CDRAM_PCS_DSCK            0x00000010
#define  B53SPI_CDRAM_BITSE            0x00000040
#define  B53SPI_CDRAM_CONT            0x00000080
#define B53SPI_MSPI_WRITE_LOCK            0x380
#define B53SPI_MSPI_DISABLE_FLUSH_GEN        0x384
 
/* Interrupt */
#define B53SPI_INTR_RAF_LR_FULLNESS_REACHED    0x3a0
#define B53SPI_INTR_RAF_LR_TRUNCATED        0x3a4
#define B53SPI_INTR_RAF_LR_IMPATIENT        0x3a8
#define B53SPI_INTR_RAF_LR_SESSION_DONE        0x3ac
#define B53SPI_INTR_RAF_LR_OVERREAD        0x3b0
#define B53SPI_INTR_MSPI_DONE            0x3b4
#define B53SPI_INTR_MSPI_HALT_SET_TRANSACTION_DONE    0x3b8
 
#endif /* SPI_BCM53XX_H */