This function is called by a device driver to
configure the SPI controller accordingly with device’s SPI setting.
Files
net_bsp.c
Prototype
...
Code Block |
---|
static CPU_INT32U NetDev_WiFi_SPI_Cfg (NET_IF *p_if,
NET_DEV_CFG_SPI_CLK_FREQ freq,
NET_DEV_CFG_SPI_CLK_POL pol,
NET_DEV_CFG_SPI_CLK_PHASE phase,
NET_DEV_CFG_SPI_XFER_UNIT_LEN xfer_unit_len,
NET_DEV_CFG_SPI_XFER_SHIFT_DIR xfer_shift_dir,
NET_ERR *p_err); |
Note that since NetDev_WiFi_SPI_Cfg()
is accessed only by function pointer via a BSP interface structure, it doesn’t need to be globally available and should therefore be declared as ‘static
’.
Arguments
p_if
Pointer to specific interface to configure the SPI controller.
...
This is not an exclusive list of return errors and specific network device’s or device BSP functions may return any other specific errors as required.
Returned Value
None.
Required Configuration
None.
Notes / Warnings
- 1
NetDev_WiFi_SPI_Cfg() should be called only after the SPI lock has been acquired by calling NetDev_WiFi_SPI_Lock()
. - 2 If no other device’s hardware share the same SPI controller, the configuration can be applied only at the initialization when NetDev_WiFi_SPI_Init() is called.
- 3 Since each network device requires a unique
NetDev_WiFi_SPI_ChipSelEn()
, it is recommended that each device’sNetDev_WiFi_SPI_ChipSelEn()
function be named using the following convention:NetDev_WiFi_[Device]SPI_ChipSelEn[Number]()
[Device]
Network device name or type, e.g. RS9110 (optional if the development board does not support multiple devices)
[Number]
Network device number for each specific instance of device (optional if the development board does not support multiple instances of the specific device)
...