xref: /aosp_15_r20/external/coreboot/src/include/spi_bitbang.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
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