hm2_bspi_set_write_function − Register a function to handle the tram write phase of a hostmot2 buffered SPI driver.
int hm2_bspi_set_write_function(char *name, void *func, void *subdata) |
hm2_bspi_set_write_function
Registers a function in an external driver (typically
written in "comp") to be called every time that
the main Hostmot2 driver calls the generic
"prepare_tram_write" functions.
The names of the available channels are printed to standard
output during the driver loading process and take the form:
hm2_<board name>.<board
index>.bspi.<index> For example hm2_5i23.0.bspi.0
"func" should be a pointer to a function in the
sub driver which is to be called to process the pins into
BSPI write registers prior to the regular TRAM write phase.
The function must take a single argument, a pointer to an
individual instance of the internal driver. If defined in
comp then the function must /fBnot/fP use the FUNCTION()
convenience macro, and the argument to the function in the
definition must /fBallways/fP be (struct state *inst).
"subdata" is a pointer to the driver instance
internal data. In the case of a driver written in comp this
will always be "inst" in the function call.
If using comp then the call to this function should be
anywhare in the EXTRA_SETUP code.
Returns 0 on success and -1 on failure.
man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame man hm2_allocate_bspi_tram. See src/hal/drivers mesa_7i65.comp for an example usage.