_NUTSPIBUS Struct Reference

SPI bus structure. More...

Collaboration diagram for _NUTSPIBUS:

Collaboration graph
[legend]

Data Fields

HANDLE bus_mutex
 Bus lock queue.
HANDLE bus_ready
 Bus wait ready queue.
uintptr_t bus_base
 Bus base address.
IRQ_HANDLERbus_sig
 Bus interrupt handler.
int(* bus_initnode )(NUTSPINODE *)
 Initialize bus controller.
int(* bus_alloc )(NUTSPINODE *, uint32_t)
 Allocate the bus.
int(* bus_release )(NUTSPINODE *)
 Release the bus.
int(* bus_transfer )(NUTSPINODE *, CONST void *, void *, int)
 Transfer data.
int(* bus_wait )(NUTSPINODE *, uint32_t)
 Wait for transfer ready.
uint_fast16_t(* bus_set_mode )(NUTSPINODE *, uint_fast16_t)
 Set node's SPI mode.
uint_fast32_t(* bus_set_rate )(NUTSPINODE *, uint_fast32_t)
 Set node's clock rate.
uint_fast8_t(* bus_set_bits )(NUTSPINODE *, uint_fast8_t)
 Set node's data bit size.

Detailed Description

SPI bus structure.

Definition at line 79 of file spibus.h.


Field Documentation

HANDLE _NUTSPIBUS::bus_mutex

Bus lock queue.

Definition at line 82 of file spibus.h.

Referenced by At91SpiBus0Deselect(), At91SpiBus0Select(), AvrSpiBus0Deselect(), AvrSpiBus0Select(), GpioSpiBus0Deselect(), GpioSpiBus0Select(), and NutRegisterSpiDevice().

HANDLE _NUTSPIBUS::bus_ready

Bus wait ready queue.

Definition at line 86 of file spibus.h.

Referenced by At91SpiBus0Transfer(), At91SpiBusNodeInit(), and At91SpiBusWait().

uintptr_t _NUTSPIBUS::bus_base

Bus base address.

Definition at line 90 of file spibus.h.

Referenced by At91SpiBus0Transfer(), At91SpiBusNodeInit(), At91SpiBusWait(), and At91SpiSetup().

IRQ_HANDLER* _NUTSPIBUS::bus_sig

Bus interrupt handler.

Definition at line 94 of file spibus.h.

Referenced by At91SpiBusNodeInit(), and AvrSpiBus0NodeInit().

int(* _NUTSPIBUS::bus_initnode)(NUTSPINODE *)

Initialize bus controller.

This routine is called during device registration.

Referenced by NutRegisterSpiDevice().

int(* _NUTSPIBUS::bus_alloc)(NUTSPINODE *, uint32_t)

Allocate the bus.

Locks the bus and activates the chip select.

int(* _NUTSPIBUS::bus_release)(NUTSPINODE *)

Release the bus.

Deactivates the chip select and unlocks the bus.

int(* _NUTSPIBUS::bus_transfer)(NUTSPINODE *, CONST void *, void *, int)

Transfer data.

int(* _NUTSPIBUS::bus_wait)(NUTSPINODE *, uint32_t)

Wait for transfer ready.

uint_fast16_t(* _NUTSPIBUS::bus_set_mode)(NUTSPINODE *, uint_fast16_t)

Set node's SPI mode.

uint_fast32_t(* _NUTSPIBUS::bus_set_rate)(NUTSPINODE *, uint_fast32_t)

Set node's clock rate.

uint_fast8_t(* _NUTSPIBUS::bus_set_bits)(NUTSPINODE *, uint_fast8_t)

Set node's data bit size.


The documentation for this struct was generated from the following file:
© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/