1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Freescale SPI controller driver cpm functions. 4 * 5 * Maintainer: Kumar Gala 6 * 7 * Copyright (C) 2006 Polycom, Inc. 8 * Copyright 2010 Freescale Semiconductor, Inc. 9 * 10 * CPM SPI and QE buffer descriptors mode support: 11 * Copyright (c) 2009 MontaVista Software, Inc. 12 * Author: Anton Vorontsov <avorontsov@ru.mvista.com> 13 */ 14 15 #ifndef __SPI_FSL_CPM_H__ 16 #define __SPI_FSL_CPM_H__ 17 18 #include "spi-fsl-lib.h" 19 20 #ifdef CONFIG_FSL_SOC 21 extern void fsl_spi_cpm_reinit_txrx(struct mpc8xxx_spi *mspi); 22 extern int fsl_spi_cpm_bufs(struct mpc8xxx_spi *mspi, 23 struct spi_transfer *t, bool is_dma_mapped); 24 extern void fsl_spi_cpm_bufs_complete(struct mpc8xxx_spi *mspi); 25 extern void fsl_spi_cpm_irq(struct mpc8xxx_spi *mspi, u32 events); 26 extern int fsl_spi_cpm_init(struct mpc8xxx_spi *mspi); 27 extern void fsl_spi_cpm_free(struct mpc8xxx_spi *mspi); 28 #else 29 static inline void fsl_spi_cpm_reinit_txrx(struct mpc8xxx_spi *mspi) { } 30 static inline int fsl_spi_cpm_bufs(struct mpc8xxx_spi *mspi, 31 struct spi_transfer *t, 32 bool is_dma_mapped) { return 0; } 33 static inline void fsl_spi_cpm_bufs_complete(struct mpc8xxx_spi *mspi) { } 34 static inline void fsl_spi_cpm_irq(struct mpc8xxx_spi *mspi, u32 events) { } 35 static inline int fsl_spi_cpm_init(struct mpc8xxx_spi *mspi) { return 0; } 36 static inline void fsl_spi_cpm_free(struct mpc8xxx_spi *mspi) { } 37 #endif 38 39 #endif /* __SPI_FSL_CPM_H__ */ 40