/* $Id: spivar.h,v 1.1 2008/03/04 16:09:35 nbrk Exp $ */ #ifndef _DEV_SPIVAR_H_ #define _DEV_SPIVAR_H_ /* * SPI bus interface. */ struct spi_bus { void *bus_cookie; uint32_t bus_speed; int (*bus_shift_1)(void *, uint8_t); #if 0 uint16_t (*bus_shift_2)(void *, uint16_t); uint32_t (*bus_shift_4)(void *, uint32_t); #endif int (*bus_acquire)(void *); void (*bus_release)(void *); }; /* * Methods. */ int spi_shift_1(void *, uint8_t); uint16_t spi_shift_2(void *, uint16_t); uint32_t spi_shift_4(void *, uint32_t); int spi_acquire(void *); void spi_release(void *); /* * Attachment. */ struct spibus_attach_args { void *sba_spisc; struct spi_bus *sba_bus; }; int spibus_print(void *, const char *); #endif /* !_DEV_SPIVAR_H_ */