10fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#ifndef SPI_BCM53XX_H
20fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define SPI_BCM53XX_H
30fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki
40fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_REVISION_ID			0x000
50fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_SCRATCH			0x004
60fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_MAST_N_BOOT_CTRL		0x008
70fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BUSY_STATUS			0x00c
80fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_INTR_STATUS			0x010
90fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_B0_STATUS			0x014
100fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_B0_CTRL			0x018
110fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_B1_STATUS			0x01c
120fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_B1_CTRL			0x020
130fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_STRAP_OVERRIDE_CTRL		0x024
140fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_FLEX_MODE_ENABLE		0x028
150fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BITS_PER_CYCLE		0x02c
160fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BITS_PER_PHASE		0x030
170fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_CMD_AND_MODE_BYTE		0x034
180fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BSPI_FLASH_UPPER_ADDR_BYTE	0x038
190fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BSPI_XOR_VALUE		0x03c
200fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BSPI_XOR_ENABLE		0x040
210fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BSPI_PIO_MODE_ENABLE	0x044
220fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BSPI_PIO_IODIR		0x048
230fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_BSPI_BSPI_PIO_DATA		0x04c
240fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki
250fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki/* RAF */
260fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_START_ADDR			0x100
270fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_NUM_WORDS			0x104
280fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_CTRL				0x108
290fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_FULLNESS			0x10c
300fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_WATERMARK			0x110
310fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_STATUS			0x114
320fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_READ_DATA			0x118
330fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_WORD_CNT			0x11c
340fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_RAF_CURR_ADDR			0x120
350fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki
360fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki/* MSPI */
370fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_SPCR0_LSB			0x200
380fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_SPCR0_MSB			0x204
390fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_SPCR1_LSB			0x208
400fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_SPCR1_MSB			0x20c
410fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_NEWQP			0x210
420fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_ENDQP			0x214
430fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_SPCR2			0x218
440fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_MSPI_SPCR2_SPE			0x00000040
450fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_MSPI_SPCR2_CONT_AFTER_CMD	0x00000080
460fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_MSPI_STATUS			0x220
470fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_MSPI_MSPI_STATUS_SPIF		0x00000001
480fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_CPTQP			0x224
490fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_TXRAM			0x240 /* 32 registers, up to 0x2b8 */
500fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_RXRAM			0x2c0 /* 32 registers, up to 0x33c */
510fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_CDRAM			0x340 /* 16 registers, up to 0x37c */
520fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_PCS_PCS0			0x00000001
530fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_PCS_PCS1			0x00000002
540fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_PCS_PCS2			0x00000004
550fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_PCS_PCS3			0x00000008
560fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_PCS_DISABLE_ALL		0x0000000f
570fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_PCS_DSCK			0x00000010
580fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_BITSE			0x00000040
590fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define  B53SPI_CDRAM_CONT			0x00000080
600fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_WRITE_LOCK			0x380
610fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_MSPI_DISABLE_FLUSH_GEN		0x384
620fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki
630fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki/* Interrupt */
640fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_INTR_RAF_LR_FULLNESS_REACHED	0x3a0
650fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_INTR_RAF_LR_TRUNCATED		0x3a4
660fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_INTR_RAF_LR_IMPATIENT		0x3a8
670fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_INTR_RAF_LR_SESSION_DONE		0x3ac
680fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_INTR_RAF_LR_OVERREAD		0x3b0
690fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_INTR_MSPI_DONE			0x3b4
700fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#define B53SPI_INTR_MSPI_HALT_SET_TRANSACTION_DONE	0x3b8
710fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki
720fc6a323e19173fc89e17940bb1e19447aa0224eRafał Miłecki#endif /* SPI_BCM53XX_H */
73