Skip to content

Commit 97eb3eb

Browse files
ubiedakartben
authored andcommitted
spi: lpspi: Extract FIFO length query helpers to common header file
To remove code duplication. Signed-off-by: Luis Ubieda <[email protected]>
1 parent df7b1a1 commit 97eb3eb

File tree

3 files changed

+13
-20
lines changed

3 files changed

+13
-20
lines changed

drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,6 @@ struct lpspi_driver_data {
1818
uint8_t lpspi_op_mode;
1919
};
2020

21-
static inline uint8_t rx_fifo_cur_len(LPSPI_Type *base)
22-
{
23-
return (base->FSR & LPSPI_FSR_RXCOUNT_MASK) >> LPSPI_FSR_RXCOUNT_SHIFT;
24-
}
25-
26-
static inline uint8_t tx_fifo_cur_len(LPSPI_Type *base)
27-
{
28-
return (base->FSR & LPSPI_FSR_TXCOUNT_MASK) >> LPSPI_FSR_TXCOUNT_SHIFT;
29-
}
30-
3121
/* Reads a word from the RX fifo and handles writing it into the RX spi buf */
3222
static inline void lpspi_rx_word_write_bytes(const struct device *dev, size_t offset)
3323
{

drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi_priv.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,19 @@ struct lpspi_data {
5454
uint32_t clock_freq;
5555
};
5656

57+
/* Common helper functions used to interact with LPSPI FIFOs (TX and RX) when dealing
58+
* with cpu-based implementation.
59+
*/
60+
static inline uint8_t rx_fifo_cur_len(LPSPI_Type *base)
61+
{
62+
return (base->FSR & LPSPI_FSR_RXCOUNT_MASK) >> LPSPI_FSR_RXCOUNT_SHIFT;
63+
}
64+
65+
static inline uint8_t tx_fifo_cur_len(LPSPI_Type *base)
66+
{
67+
return (base->FSR & LPSPI_FSR_TXCOUNT_MASK) >> LPSPI_FSR_TXCOUNT_SHIFT;
68+
}
69+
5770
/* Verifies spi_cfg validity and set up configuration of hardware for xfer
5871
* Unsets interrupt and watermark options, specific implementation should configure that.
5972
* Sets bits in the TCR ONLY *directly* relating to what is in the spi_config struct.

drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi_rtio.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,16 +113,6 @@ static inline bool lpspi_rtio_is_done_rx(const struct device *dev)
113113

114114
static void lpspi_rtio_iodev_complete(const struct device *dev, int status);
115115

116-
static inline uint8_t rx_fifo_cur_len(LPSPI_Type *base)
117-
{
118-
return (base->FSR & LPSPI_FSR_RXCOUNT_MASK) >> LPSPI_FSR_RXCOUNT_SHIFT;
119-
}
120-
121-
static inline uint8_t tx_fifo_cur_len(LPSPI_Type *base)
122-
{
123-
return (base->FSR & LPSPI_FSR_TXCOUNT_MASK) >> LPSPI_FSR_TXCOUNT_SHIFT;
124-
}
125-
126116
static inline void lpspi_rtio_fetch_rx_fifo(const struct device *dev, uint8_t *buf, size_t offset,
127117
size_t fetch_len)
128118
{

0 commit comments

Comments
 (0)