eRPC API Reference  Rev. 1.7.4
NXP Semiconductors
erpc_transport_setup.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014-2016, Freescale Semiconductor, Inc.
3  * Copyright 2016-2020 NXP
4  * All rights reserved.
5  *
6  *
7  * SPDX-License-Identifier: BSD-3-Clause
8  */
9 
10 #ifndef _ERPC_TRANSPORT_SETUP_H_
11 #define _ERPC_TRANSPORT_SETUP_H_
12 
19 // Types
22 
24 typedef struct ErpcTransport *erpc_transport_t;
26 typedef void (*rpmsg_ready_cb)(void);
27 
29 // API
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #include <stdint.h>
37 
39 
40 
42 
43 
56 
58 
59 
70 erpc_transport_t erpc_transport_serial_init(const char *portName, long baudRate);
72 
74 
75 
87 erpc_transport_t erpc_transport_spi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
88 
100 erpc_transport_t erpc_transport_spi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
102 
104 
105 
117 erpc_transport_t erpc_transport_dspi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
118 
130 erpc_transport_t erpc_transport_dspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
132 
134 
135 
148 
150 
151 
164 erpc_transport_t erpc_transport_rpmsg_lite_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id);
165 
185 erpc_transport_t erpc_transport_rpmsg_lite_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
186  uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
187  char *nameservice_name);
188 
201 erpc_transport_t erpc_transport_rpmsg_lite_rtos_master_init(uint32_t src_addr, uint32_t dst_addr,
202  uint32_t rpmsg_link_id);
203 
222 erpc_transport_t erpc_transport_rpmsg_lite_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
223  uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
224  char *nameservice_name);
225 
245 erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr,
246  void *start_address, uint32_t rpmsg_link_id,
247  rpmsg_ready_cb ready, char *nameservice_name);
248 
256 
258 
259 
275 erpc_transport_t erpc_transport_rpmsg_linux_init(int16_t local_addr, int8_t type, int16_t remote_addr);
276 
284 
286 
287 #ifdef __cplusplus
288 }
289 #endif
290 
293 #endif // _ERPC_TRANSPORT_SETUP_H_
erpc_transport_t erpc_transport_cmsis_uart_init(void *uartDrv)
Create a CMSIS UART transport.
Definition: erpc_setup_uart_cmsis.cpp:26
erpc_transport_t erpc_transport_rpmsg_lite_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address, uint32_t rpmsg_link_id, rpmsg_ready_cb ready, char *nameservice_name)
Create an RPMsg-Lite RTOS transport.
Definition: erpc_setup_rpmsg_lite_rtos_remote.cpp:26
struct ErpcTransport * erpc_transport_t
Opaque transport object type.
Definition: erpc_transport_setup.h:24
erpc_transport_t erpc_transport_spi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a SPI master transport.
Definition: erpc_setup_spi_master.cpp:26
erpc_transport_t erpc_transport_mu_init(void *baseAddr)
Create an MU transport.
Definition: erpc_setup_mu.cpp:25
erpc_transport_t erpc_transport_dspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a DSPI slave transport.
Definition: erpc_setup_dspi_slave.cpp:26
erpc_transport_t erpc_transport_rpmsg_lite_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address, uint32_t rpmsg_link_id, rpmsg_ready_cb ready, char *nameservice_name)
Create an RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_remote.cpp:26
erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address, uint32_t rpmsg_link_id, rpmsg_ready_cb ready, char *nameservice_name)
Create an RPMsg-Lite TTY transport.
Definition: erpc_setup_rpmsg_tty_rtos_remote.cpp:26
erpc_transport_t erpc_transport_serial_init(const char *portName, long baudRate)
Create a host PC serial port transport.
Definition: erpc_setup_serial.cpp:26
erpc_transport_t erpc_transport_rpmsg_lite_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id)
Create an RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_master.cpp:41
erpc_transport_t erpc_transport_dspi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a DSPI master transport.
Definition: erpc_setup_dspi_master.cpp:26
erpc_transport_t erpc_transport_rpmsg_lite_rtos_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id)
Create an RPMsg-Lite RTOS transport.
Definition: erpc_setup_rpmsg_lite_rtos_master.cpp:40
erpc_transport_t erpc_transport_rpmsg_linux_init(int16_t local_addr, int8_t type, int16_t remote_addr)
Create an Linux RPMSG endpoint transport.
Definition: erpc_setup_rpmsg_linux.cpp:18
erpc_transport_t erpc_transport_spi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a SPI slave transport.
Definition: erpc_setup_spi_slave.cpp:26
void erpc_transport_rpmsg_lite_tty_rtos_deinit(void)
Deinitialize an RPMSG lite tty rtos transport.
Definition: erpc_setup_rpmsg_tty_rtos_remote.cpp:39
void erpc_transport_rpmsg_linux_deinit(void)
Deinitialize an Linux RPMSG endpoint transport.
Definition: erpc_setup_rpmsg_linux.cpp:47
void(* rpmsg_ready_cb)(void)
Ready callback object type for RPMsg-Lite transport.
Definition: erpc_transport_setup.h:26