__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __SPI_BITBANG_H
#define __SPI_BITBANG_H
#include <linux/workqueue.h>
typedef u32 (*spi_bb_txrx_word_fn)(struct spi_device *, unsigned int, u32, u8, unsigned int);
struct spi_bitbang {
struct mutex lock;
u8 busy;
u8 use_dma;
u16 flags; /* extra spi->mode support */
struct spi_controller *ctlr;
/* 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
void (*set_mosi_idle)(struct spi_device *spi);
/* 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 */
spi_bb_txrx_word_fn txrx_word[SPI_MODE_X_MASK + 1];
int (*set_line_direction)(struct spi_device *spi, bool output);
};
/* 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 int spi_bitbang_init(struct spi_bitbang *spi);
extern void spi_bitbang_stop(struct spi_bitbang *spi);
#endif /* __SPI_BITBANG_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| ad7877.h | File | 835 B | 0644 |
|
| ads7846.h | File | 1.45 KB | 0644 |
|
| altera.h | File | 1.14 KB | 0644 |
|
| at73c213.h | File | 828 B | 0644 |
|
| corgi_lcd.h | File | 421 B | 0644 |
|
| ds1305.h | File | 1.08 KB | 0644 |
|
| eeprom.h | File | 1.19 KB | 0644 |
|
| flash.h | File | 1023 B | 0644 |
|
| libertas_spi.h | File | 700 B | 0644 |
|
| max7301.h | File | 947 B | 0644 |
|
| mc33880.h | File | 196 B | 0644 |
|
| mmc_spi.h | File | 1.27 KB | 0644 |
|
| mxs-spi.h | File | 4.8 KB | 0644 |
|
| sh_hspi.h | File | 161 B | 0644 |
|
| sh_msiof.h | File | 356 B | 0644 |
|
| spi-fsl-dspi.h | File | 560 B | 0644 |
|
| spi-mem.h | File | 15.04 KB | 0644 |
|
| spi.h | File | 60.47 KB | 0644 |
|
| spi_bitbang.h | File | 1.66 KB | 0644 |
|
| spi_gpio.h | File | 741 B | 0644 |
|
| spi_oc_tiny.h | File | 471 B | 0644 |
|
| tdo24m.h | File | 210 B | 0644 |
|
| tle62x0.h | File | 265 B | 0644 |
|
| xilinx_spi.h | File | 682 B | 0644 |
|