eRPC API Reference  Rev. 1.9.0
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-2021 NXP
4  * Copyright 2019 ACRIOS Systems s.r.o.
5  * All rights reserved.
6  *
7  *
8  * SPDX-License-Identifier: BSD-3-Clause
9  */
10 
11 #ifndef _ERPC_TRANSPORT_SETUP_H_
12 #define _ERPC_TRANSPORT_SETUP_H_
13 
20 // Types
23 
25 typedef struct ErpcTransport *erpc_transport_t;
27 typedef void (*rpmsg_ready_cb)(void);
28 
30 // API
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 #include <stdbool.h>
38 #include <stdint.h>
39 
41 
42 
44 
45 
58 
60 
61 
72 erpc_transport_t erpc_transport_serial_init(const char *portName, long baudRate);
74 
76 
77 
89 erpc_transport_t erpc_transport_spi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
90 
102 erpc_transport_t erpc_transport_spi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
104 
106 
107 
119 erpc_transport_t erpc_transport_dspi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
120 
132 erpc_transport_t erpc_transport_dspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
134 
136 
137 
148 erpc_transport_t erpc_transport_spidev_master_init(const char *spidev, uint32_t speed_Hz);
150 
152 
153 
166 
168 
169 
182 erpc_transport_t erpc_transport_rpmsg_lite_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id);
183 
203 erpc_transport_t erpc_transport_rpmsg_lite_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
204  uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
205  char *nameservice_name);
206 
219 erpc_transport_t erpc_transport_rpmsg_lite_rtos_master_init(uint32_t src_addr, uint32_t dst_addr,
220  uint32_t rpmsg_link_id);
221 
240 erpc_transport_t erpc_transport_rpmsg_lite_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
241  uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
242  char *nameservice_name);
243 
263 erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr,
264  void *start_address, uint32_t rpmsg_link_id,
265  rpmsg_ready_cb ready, char *nameservice_name);
266 
274 
276 
277 
293 erpc_transport_t erpc_transport_rpmsg_linux_init(int16_t local_addr, int8_t type, int16_t remote_addr);
294 
302 
304 
305 
318 erpc_transport_t erpc_transport_tcp_init(const char *host, uint16_t port, bool isServer);
319 
332 void erpc_transport_tcp_close(void);
334 
336 
337 
355 erpc_transport_t erpc_transport_usb_cdc_init(void *serialHandle, void *serialConfig, void *usbCdcConfig,
356  uint8_t *usbRingBuffer, uint32_t usbRingBufferLength);
358 
360 
361 
373 erpc_transport_t erpc_transport_i2c_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
375 
377 
378 #ifdef __cplusplus
379 }
380 #endif
381 
384 #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:27
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:27
struct ErpcTransport * erpc_transport_t
Opaque transport object type.
Definition: erpc_transport_setup.h:25
void erpc_transport_tcp_close(void)
Close TCP connection.
Definition: erpc_setup_tcp.cpp:43
erpc_transport_t erpc_transport_usb_cdc_init(void *serialHandle, void *serialConfig, void *usbCdcConfig, uint8_t *usbRingBuffer, uint32_t usbRingBufferLength)
Create an USB CDC transport.
Definition: erpc_setup_usb_cdc.cpp:26
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_tcp_init(const char *host, uint16_t port, bool isServer)
Create and open TCP transport.
Definition: erpc_setup_tcp.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:27
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:27
erpc_transport_t erpc_transport_serial_init(const char *portName, long baudRate)
Create a host PC serial port transport.
Definition: erpc_setup_serial.cpp:27
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:42
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_spidev_master_init(const char *spidev, uint32_t speed_Hz)
Create a SPIdev transport.
Definition: erpc_setup_spidev_master.cpp:25
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:41
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:19
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:47
erpc_transport_t erpc_transport_i2c_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create an I2C slave transport.
Definition: erpc_setup_i2c_slave.cpp:25
void erpc_transport_rpmsg_linux_deinit(void)
Deinitialize an Linux RPMSG endpoint transport.
Definition: erpc_setup_rpmsg_linux.cpp:68
void(* rpmsg_ready_cb)(void)
Ready callback object type for RPMsg-Lite transport.
Definition: erpc_transport_setup.h:27