eRPC API Reference  Rev. 1.7.2
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-2017 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(unsigned long src_addr, unsigned long dst_addr,
165  int rpmsg_link_id);
166 
186 erpc_transport_t erpc_transport_rpmsg_lite_remote_init(unsigned long src_addr, unsigned long dst_addr,
187  void *start_address, int rpmsg_link_id, rpmsg_ready_cb ready,
188  char *nameservice_name);
189 
202 erpc_transport_t erpc_transport_rpmsg_lite_rtos_master_init(unsigned long src_addr, unsigned long dst_addr,
203  int rpmsg_link_id);
204 
223 erpc_transport_t erpc_transport_rpmsg_lite_rtos_remote_init(unsigned long src_addr, unsigned long dst_addr,
224  void *start_address, int rpmsg_link_id,
225  rpmsg_ready_cb ready, char *nameservice_name);
226 
246 erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(unsigned long src_addr, unsigned long dst_addr,
247  void *start_address, int rpmsg_link_id,
248  rpmsg_ready_cb ready, char *nameservice_name);
250 
252 
253 
269 erpc_transport_t erpc_transport_rpmsg_linux_init(int16_t local_addr, int8_t type, int16_t remote_addr);
270 
278 
280 
281 #ifdef __cplusplus
282 }
283 #endif
284 
287 #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
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_rtos_remote_init(unsigned long src_addr, unsigned long dst_addr, void *start_address, int 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
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_rtos_master_init(unsigned long src_addr, unsigned long dst_addr, int rpmsg_link_id)
Create an RPMsg-Lite RTOS transport.
Definition: erpc_setup_rpmsg_lite_rtos_master.cpp:40
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_master_init(unsigned long src_addr, unsigned long dst_addr, int rpmsg_link_id)
Create an RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_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:18
erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(unsigned long src_addr, unsigned long dst_addr, void *start_address, int 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_spi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a SPI slave transport.
Definition: erpc_setup_spi_slave.cpp:26
erpc_transport_t erpc_transport_rpmsg_lite_remote_init(unsigned long src_addr, unsigned long dst_addr, void *start_address, int rpmsg_link_id, rpmsg_ready_cb ready, char *nameservice_name)
Create an RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_remote.cpp:26
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