Mistake on this page?
Report an issue in GitHub or email us
Data Structures
shci_tl.h File Reference

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...
 

Detailed Description

System HCI command header for the system channel.

Author
MCD Application Team
Attention

© Copyright (c) 2019 STMicroelectronics. All rights reserved.

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.

Function Documentation

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 :

  • It may use UTIL_SEQ_SetEvt() API when using the Sequencer
  • It may use a semaphore when using cmsis_os interface
Parameters
flagRelease flag
Return values
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 :

  • It may use UTIL_SEQ_WaitEvt() API when using the Sequencer
  • It may use a semaphore when using cmsis_os interface
Parameters
timeoutWaiting timeout
Return values
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

Parameters
pDataSystem events callback function pointer This callback is triggered when an user event is received on the System Channel from CPU2.
pConfConfiguration structure pointer
Return values
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.

Parameters
pdataPacket or event pointer
Return values
None
void shci_register_io_bus ( tSHciIO fops)

Register IO bus services.

Parameters
fopsThe SHCI IO structure managing the IO BUS
Return values
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.

Parameters
None
Return values
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

Parameters
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
Return values
None
void shci_user_evt_proc ( void  )

This process shall be called each time the shci_notify_asynch_evt notification is received.

Parameters
None
Return values
None
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.