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