Chapter 12. High Speed Synchronous Serial Interface (HSI)

Table of Contents

struct hsi_channel — channel resource used by the hsi clients
struct hsi_config — Configuration for RX/TX HSI modules
struct hsi_board_info — HSI client board info
struct hsi_client — HSI client attached to an HSI port
struct hsi_client_driver — Driver associated to an HSI client
struct hsi_msg — HSI message descriptor
struct hsi_port — HSI port device
struct hsi_controller — HSI controller device
hsi_id — Get HSI controller ID associated to a client
hsi_port_id — Gets the port number a client is attached to
hsi_setup — Configure the client's port
hsi_flush — Flush all pending transactions on the client's port
hsi_async_read — Submit a read transfer
hsi_async_write — Submit a write transfer
hsi_start_tx — Signal the port that the client wants to start a TX
hsi_stop_tx — Signal the port that the client no longer wants to transmit
hsi_port_unregister_clients — Unregister an HSI port
hsi_unregister_controller — Unregister an HSI controller
hsi_register_controller — Register an HSI controller and its ports
hsi_register_client_driver — Register an HSI client to the HSI bus
hsi_put_controller — Free an HSI controller
hsi_alloc_controller — Allocate an HSI controller and its ports
hsi_free_msg — Free an HSI message
hsi_alloc_msg — Allocate an HSI message
hsi_async — Submit an HSI transfer to the controller
hsi_claim_port — Claim the HSI client's port
hsi_release_port — Release the HSI client's port
hsi_register_port_event — Register a client to receive port events
hsi_unregister_port_event — Stop receiving port events for a client
hsi_event — Notifies clients about port events
hsi_get_channel_id_by_name — acquire channel id by channel name

High Speed Synchronous Serial Interface (HSI) is a serial interface mainly used for connecting application engines (APE) with cellular modem engines (CMT) in cellular handsets. HSI provides multiplexing for up to 16 logical channels, low-latency and full duplex communication.