eRPC API Reference  Rev. 1.12.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-2022 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 
57 erpc_transport_t erpc_transport_dspi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
58 
65 
77 erpc_transport_t erpc_transport_dspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
78 
85 
87 
89 
90 
102 erpc_transport_t erpc_transport_i2c_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
103 
110 
112 
114 
115 
127 erpc_transport_t erpc_transport_lpi2c_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
128 
135 
137 
139 
140 
152 erpc_transport_t erpc_transport_lpspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
153 
160 
162 
164 
165 
177 
184 
186 
188 
189 
205 erpc_transport_t erpc_transport_rpmsg_linux_init(int16_t local_addr, int8_t type, int16_t remote_addr);
206 
215 
217 
219 
220 
233 erpc_transport_t erpc_transport_rpmsg_lite_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id);
234 
241 
261 erpc_transport_t erpc_transport_rpmsg_lite_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
262  uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
263  char *nameservice_name);
264 
271 
284 erpc_transport_t erpc_transport_rpmsg_lite_rtos_master_init(uint32_t src_addr, uint32_t dst_addr,
285  uint32_t rpmsg_link_id);
286 
293 
312 erpc_transport_t erpc_transport_rpmsg_lite_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
313  uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
314  char *nameservice_name);
315 
322 
342 erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr,
343  void *start_address, uint32_t rpmsg_link_id,
344  rpmsg_ready_cb ready, char *nameservice_name);
345 
355 
357 
358 
369 erpc_transport_t erpc_transport_serial_init(const char *portName, long baudRate);
370 
377 
379 
381 
382 
394 erpc_transport_t erpc_transport_spi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
395 
402 
414 erpc_transport_t erpc_transport_spi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
415 
422 
424 
426 
427 
438 erpc_transport_t erpc_transport_spidev_master_init(const char *spidev, uint32_t speed_Hz);
439 
446 
448 
450 
451 
464 erpc_transport_t erpc_transport_tcp_init(const char *host, uint16_t port, bool isServer);
465 
479 
486 
488 
490 
491 
503 
510 
522 
524 
526 
527 
545 erpc_transport_t erpc_transport_usb_cdc_init(void *serialHandle, void *serialConfig, void *usbCdcConfig,
546  uint8_t *usbRingBuffer, uint32_t usbRingBufferLength);
547 
554 
556 
558 
559 #ifdef __cplusplus
560 }
561 #endif
562 
565 #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_cmsis_uart_deinit(erpc_transport_t transport)
Deinitialize CMSIS UART transport.
Definition: erpc_setup_uart_cmsis.cpp:62
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
void erpc_transport_dspi_master_deinit(erpc_transport_t transport)
Deinitialize DSPI master transport.
Definition: erpc_setup_dspi_master.cpp:54
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
void erpc_transport_rpmsg_lite_rtos_master_deinit(erpc_transport_t transport)
Deinitialize RPMsg-Lite RTOS transport.
Definition: erpc_setup_rpmsg_lite_rtos_master.cpp:86
void erpc_transport_lpi2c_slave_deinit(erpc_transport_t transport)
Deinitialize LPI2C slave transport.
Definition: erpc_setup_lpi2c_slave.cpp:52
void erpc_transport_tcp_close(erpc_transport_t transport)
Close TCP connection.
Definition: erpc_setup_tcp.cpp:61
void erpc_transport_rpmsg_lite_remote_deinit(erpc_transport_t transport)
Deinitialize RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_remote.cpp:65
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
void erpc_transport_spidev_master_deinit(erpc_transport_t transport)
Deinitialize SPIdev transport.
Definition: erpc_setup_spidev_master.cpp:53
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
void erpc_transport_dspi_slave_deinit(erpc_transport_t transport)
Deinitialize DSPI slave transport.
Definition: erpc_setup_dspi_slave.cpp:54
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_zephyr_uart_init(void *dev)
Create a Zephyr UART transport.
Definition: erpc_setup_uart_zephyr.cpp:24
void erpc_transport_rpmsg_lite_rtos_remote_deinit(erpc_transport_t transport)
Deinitialize RPMsg-Lite RTOS transport.
Definition: erpc_setup_rpmsg_lite_rtos_remote.cpp:65
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:49
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
void erpc_transport_rpmsg_lite_tty_rtos_remote_deinit(erpc_transport_t transport)
Deinitialize an RPMSG lite tty rtos transport.
Definition: erpc_setup_rpmsg_tty_rtos_remote.cpp:65
void erpc_transport_tcp_deinit(erpc_transport_t transport)
Deinitialize TCP transport.
Definition: erpc_setup_tcp.cpp:70
void erpc_transport_rpmsg_linux_deinit(erpc_transport_t transport)
Deinitialize an Linux RPMSG endpoint transport.
Definition: erpc_setup_rpmsg_linux.cpp:93
void erpc_transport_i2c_slave_deinit(erpc_transport_t transport)
Deinitialize I2C slave transport.
Definition: erpc_setup_i2c_slave.cpp:52
void erpc_transport_spi_slave_deinit(erpc_transport_t transport)
Deinitialize SPI slave transport.
Definition: erpc_setup_spi_slave.cpp:54
void erpc_transport_spi_master_deinit(erpc_transport_t transport)
Deinitialize SPI master transport.
Definition: erpc_setup_spi_master.cpp:54
void erpc_transport_lpspi_slave_deinit(erpc_transport_t transport)
Deinitialize LPSPI slave transport.
Definition: erpc_setup_lpspi_slave.cpp:51
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_serial_deinit(erpc_transport_t transport)
Deinitialize a host PC serial port transport.
Definition: erpc_setup_serial.cpp:64
void erpc_transport_rpmsg_lite_master_deinit(erpc_transport_t transport)
Deinitialize RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_master.cpp:78
erpc_transport_t erpc_transport_lpi2c_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create an LPI2C slave transport.
Definition: erpc_setup_lpi2c_slave.cpp:25
erpc_transport_t erpc_transport_lpspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a LPSPI slave transport.
Definition: erpc_setup_lpspi_slave.cpp:23
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(* rpmsg_ready_cb)(void)
Ready callback object type for RPMsg-Lite transport.
Definition: erpc_transport_setup.h:27
void erpc_transport_mu_deinit(erpc_transport_t transport)
Deinitialize MU transport.
Definition: erpc_setup_mu.cpp:53
void erpc_transport_usb_cdc_deinit(erpc_transport_t transport)
Deinitialize USB CDC transport.
Definition: erpc_setup_usb_cdc.cpp:66