1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 #ifndef _SPI_BITBANG_H_ 3 #define _SPI_BITBANG_H_ 4 5 #include <types.h> 6 7 struct spi_bitbang_ops { 8 int (*get_miso)(const struct spi_bitbang_ops *ops); 9 void (*set_mosi)(const struct spi_bitbang_ops *ops, int value); 10 void (*set_clk)(const struct spi_bitbang_ops *ops, int value); 11 void (*set_cs)(const struct spi_bitbang_ops *ops, int value); 12 }; 13 14 int spi_bitbang_claim_bus(const struct spi_bitbang_ops *ops); 15 void spi_bitbang_release_bus(const struct spi_bitbang_ops *ops); 16 int spi_bitbang_xfer(const struct spi_bitbang_ops *ops, const void *dout, 17 size_t bytes_out, void *din, size_t bytes_in); 18 19 #endif /* _SPI_BITBANG_H_ */ 20