1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * PKUnity Serial Peripheral Interface (SPI) Registers 4 */ 5 /* 6 * Control reg. 0 SPI_CR0 7 */ 8 #define SPI_CR0 (PKUNITY_SPI_BASE + 0x0000) 9 /* 10 * Control reg. 1 SPI_CR1 11 */ 12 #define SPI_CR1 (PKUNITY_SPI_BASE + 0x0004) 13 /* 14 * Enable reg SPI_SSIENR 15 */ 16 #define SPI_SSIENR (PKUNITY_SPI_BASE + 0x0008) 17 /* 18 * Status reg SPI_SR 19 */ 20 #define SPI_SR (PKUNITY_SPI_BASE + 0x0028) 21 /* 22 * Interrupt Mask reg SPI_IMR 23 */ 24 #define SPI_IMR (PKUNITY_SPI_BASE + 0x002C) 25 /* 26 * Interrupt Status reg SPI_ISR 27 */ 28 #define SPI_ISR (PKUNITY_SPI_BASE + 0x0030) 29 30 /* 31 * Enable SPI Controller SPI_SSIENR_EN 32 */ 33 #define SPI_SSIENR_EN FIELD(1, 1, 0) 34 35 /* 36 * SPI Busy SPI_SR_BUSY 37 */ 38 #define SPI_SR_BUSY FIELD(1, 1, 0) 39 /* 40 * Transmit FIFO Not Full SPI_SR_TFNF 41 */ 42 #define SPI_SR_TFNF FIELD(1, 1, 1) 43 /* 44 * Transmit FIFO Empty SPI_SR_TFE 45 */ 46 #define SPI_SR_TFE FIELD(1, 1, 2) 47 /* 48 * Receive FIFO Not Empty SPI_SR_RFNE 49 */ 50 #define SPI_SR_RFNE FIELD(1, 1, 3) 51 /* 52 * Receive FIFO Full SPI_SR_RFF 53 */ 54 #define SPI_SR_RFF FIELD(1, 1, 4) 55 56 /* 57 * Trans. FIFO Empty Interrupt Status SPI_ISR_TXEIS 58 */ 59 #define SPI_ISR_TXEIS FIELD(1, 1, 0) 60 /* 61 * Trans. FIFO Overflow Interrupt Status SPI_ISR_TXOIS 62 */ 63 #define SPI_ISR_TXOIS FIELD(1, 1, 1) 64 /* 65 * Receiv. FIFO Underflow Interrupt Status SPI_ISR_RXUIS 66 */ 67 #define SPI_ISR_RXUIS FIELD(1, 1, 2) 68 /* 69 * Receiv. FIFO Overflow Interrupt Status SPI_ISR_RXOIS 70 */ 71 #define SPI_ISR_RXOIS FIELD(1, 1, 3) 72 /* 73 * Receiv. FIFO Full Interrupt Status SPI_ISR_RXFIS 74 */ 75 #define SPI_ISR_RXFIS FIELD(1, 1, 4) 76 #define SPI_ISR_MSTIS FIELD(1, 1, 5) 77 78 /* 79 * Trans. FIFO Empty Interrupt Mask SPI_IMR_TXEIM 80 */ 81 #define SPI_IMR_TXEIM FIELD(1, 1, 0) 82 /* 83 * Trans. FIFO Overflow Interrupt Mask SPI_IMR_TXOIM 84 */ 85 #define SPI_IMR_TXOIM FIELD(1, 1, 1) 86 /* 87 * Receiv. FIFO Underflow Interrupt Mask SPI_IMR_RXUIM 88 */ 89 #define SPI_IMR_RXUIM FIELD(1, 1, 2) 90 /* 91 * Receiv. FIFO Overflow Interrupt Mask SPI_IMR_RXOIM 92 */ 93 #define SPI_IMR_RXOIM FIELD(1, 1, 3) 94 /* 95 * Receiv. FIFO Full Interrupt Mask SPI_IMR_RXFIM 96 */ 97 #define SPI_IMR_RXFIM FIELD(1, 1, 4) 98 #define SPI_IMR_MSTIM FIELD(1, 1, 5) 99 100