System HCI command header for the system channel. More...
#include "tl.h"
Go to the source code of this file.
Data Structures | |
struct | tSHciIO |
Structure used to manage the BUS IO operations. More... | |
struct | tSHciContext |
Contain the SHCI context. More... | |
struct | tSHCI_UserEvtRxParam |
struct | SHCI_TL_HciInitConf_t |
Functions | |
void | shci_send (uint16_t cmd_code, uint8_t len_cmd_payload, uint8_t *p_cmd_payload, TL_EvtPacket_t *p_rsp_status) |
shci_send More... | |
void | shci_register_io_bus (tSHciIO *fops) |
Register IO bus services. More... | |
void | shci_notify_asynch_evt (void *pdata) |
Interrupt service routine that must be called when the system channel reports a packet has been received. More... | |
void | shci_resume_flow (void) |
This function resume the User Event Flow which has been stopped on return from UserEvtRx() when the User Event has not been processed. More... | |
void | shci_cmd_resp_wait (uint32_t timeout) |
This function is called when an System HCI Command is sent to the CPU2 and the response is waited. More... | |
void | shci_cmd_resp_release (uint32_t flag) |
This function is called when an System HCI command is received from the CPU2. More... | |
void | shci_user_evt_proc (void) |
This process shall be called each time the shci_notify_asynch_evt notification is received. More... | |
void | shci_init (void(*UserEvtRx)(void *pData), void *pConf) |
Initialize the System Host Controller Interface. More... | |
System HCI command header for the system channel.
This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause
Definition in file shci_tl.h.
void shci_cmd_resp_release | ( | uint32_t | flag | ) |
This function is called when an System HCI command is received from the CPU2.
A weak implementation is available in shci_tl.c based on polling mechanism The user may re-implement this function in the application to improve performance :
flag | Release flag |
None |
void shci_cmd_resp_wait | ( | uint32_t | timeout | ) |
This function is called when an System HCI Command is sent to the CPU2 and the response is waited.
It is called from the same context the System HCI command has been sent. It shall not return until the command response notified by shci_cmd_resp_release() is received. A weak implementation is available in shci_tl.c based on polling mechanism The user may re-implement this function in the application to improve performance :
timeout | Waiting timeout |
None |
void shci_init | ( | void(*)(void *pData) | UserEvtRx, |
void * | pConf | ||
) |
Initialize the System Host Controller Interface.
This function must be called before any communication on the System Channel
pData | System events callback function pointer This callback is triggered when an user event is received on the System Channel from CPU2. |
pConf | Configuration structure pointer |
None |
void shci_notify_asynch_evt | ( | void * | pdata | ) |
Interrupt service routine that must be called when the system channel reports a packet has been received.
pdata | Packet or event pointer |
None |
void shci_register_io_bus | ( | tSHciIO * | fops | ) |
Register IO bus services.
fops | The SHCI IO structure managing the IO BUS |
None |
void shci_resume_flow | ( | void | ) |
This function resume the User Event Flow which has been stopped on return from UserEvtRx() when the User Event has not been processed.
None |
None |
void shci_send | ( | uint16_t | cmd_code, |
uint8_t | len_cmd_payload, | ||
uint8_t * | p_cmd_payload, | ||
TL_EvtPacket_t * | p_rsp_status | ||
) |
shci_send
Send an System HCI Command
cmd_code = Opcode of the command | |
len_cmd_payload = Length of the command payload | |
p_cmd_payload = Address of the command payload | |
p_rsp_status = Address of the full buffer holding the command complete event |
None |
void shci_user_evt_proc | ( | void | ) |
This process shall be called each time the shci_notify_asynch_evt notification is received.
None |
None |