404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.222.220.80: ~ $
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef	__SPI_BITBANG_H
#define	__SPI_BITBANG_H

#include <linux/workqueue.h>

struct spi_bitbang {
	struct mutex		lock;
	u8			busy;
	u8			use_dma;
	u8			flags;		/* extra spi->mode support */

	struct spi_master	*master;

	/* setup_transfer() changes clock and/or wordsize to match settings
	 * for this transfer; zeroes restore defaults from spi_device.
	 */
	int	(*setup_transfer)(struct spi_device *spi,
			struct spi_transfer *t);

	void	(*chipselect)(struct spi_device *spi, int is_on);
#define	BITBANG_CS_ACTIVE	1	/* normally nCS, active low */
#define	BITBANG_CS_INACTIVE	0

	/* txrx_bufs() may handle dma mapping for transfers that don't
	 * already have one (transfer.{tx,rx}_dma is zero), or use PIO
	 */
	int	(*txrx_bufs)(struct spi_device *spi, struct spi_transfer *t);

	/* txrx_word[SPI_MODE_*]() just looks like a shift register */
	u32	(*txrx_word[4])(struct spi_device *spi,
			unsigned nsecs,
			u32 word, u8 bits);
};

/* you can call these default bitbang->master methods from your custom
 * methods, if you like.
 */
extern int spi_bitbang_setup(struct spi_device *spi);
extern void spi_bitbang_cleanup(struct spi_device *spi);
extern int spi_bitbang_setup_transfer(struct spi_device *spi,
				      struct spi_transfer *t);

/* start or stop queue processing */
extern int spi_bitbang_start(struct spi_bitbang *spi);
extern void spi_bitbang_stop(struct spi_bitbang *spi);

#endif	/* __SPI_BITBANG_H */

Filemanager

Name Type Size Permission Actions
ad7877.h File 835 B 0644
adi_spi3.h File 15.1 KB 0644
ads7846.h File 2.02 KB 0644
at73c213.h File 828 B 0644
at86rf230.h File 724 B 0644
cc2520.h File 620 B 0644
corgi_lcd.h File 460 B 0644
ds1305.h File 1.08 KB 0644
eeprom.h File 1.19 KB 0644
flash.h File 1023 B 0644
ifx_modem.h File 616 B 0644
l4f00242t03.h File 847 B 0644
libertas_spi.h File 907 B 0644
lms283gf05.h File 775 B 0644
max7301.h File 939 B 0644
mc33880.h File 196 B 0644
mcp23s08.h File 685 B 0644
mmc_spi.h File 1.91 KB 0644
mxs-spi.h File 5.24 KB 0644
pxa2xx_spi.h File 1.5 KB 0644
rspi.h File 715 B 0644
s3c24xx.h File 816 B 0644
sh_hspi.h File 572 B 0644
sh_msiof.h File 357 B 0644
spi-fsl-dspi.h File 955 B 0644
spi.h File 50.33 KB 0644
spi_bitbang.h File 1.43 KB 0644
spi_gpio.h File 2.56 KB 0644
spi_oc_tiny.h File 628 B 0644
tdo24m.h File 210 B 0644
tle62x0.h File 660 B 0644
xilinx_spi.h File 627 B 0644