-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- MISRA C-2012 violations fixed (7.4) - Fixed missing lock in rpmsg_lite_rx_callback() for QNX env. - Correction of rpmsg_lite_instance structure members description - Address -Waddress-of-packed-member warnings in GCC9 - Clang update to v10.0.0, code re-formatted - Added support for several new multicore platforms - Updated version to 3.1.0
- Loading branch information
1 parent
13badb2
commit cb56a06
Showing
30 changed files
with
1,626 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
/* | ||
* Copyright (c) 2016 Freescale Semiconductor, Inc. | ||
* Copyright 2016-2019 NXP | ||
* All rights reserved. | ||
* | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
#ifndef RPMSG_PLATFORM_H_ | ||
#define RPMSG_PLATFORM_H_ | ||
|
||
#include <stdint.h> | ||
|
||
/* RPMSG MU channel index */ | ||
#define RPMSG_MU_CHANNEL (1) | ||
|
||
/* | ||
* Linux requires the ALIGN to 0x1000(4KB) instead of 0x80 | ||
*/ | ||
#ifndef VRING_ALIGN | ||
#define VRING_ALIGN (0x1000U) | ||
#endif | ||
|
||
/* contains pool of descriptors and two circular buffers */ | ||
#ifndef VRING_SIZE | ||
#define VRING_SIZE (0x8000UL) | ||
#endif | ||
|
||
/* size of shared memory + 2*VRING size */ | ||
#define RL_VRING_OVERHEAD (2UL * VRING_SIZE) | ||
|
||
#define RL_GET_VQ_ID(link_id, queue_id) (((queue_id)&0x1U) | (((link_id) << 1U) & 0xFFFFFFFEU)) | ||
#define RL_GET_LINK_ID(id) (((id)&0xFFFFFFFEU) >> 1U) | ||
#define RL_GET_Q_ID(id) ((id)&0x1U) | ||
|
||
#define RL_PLATFORM_IMX8MN_M7_USER_LINK_ID (0U) | ||
#define RL_PLATFORM_HIGHEST_LINK_ID (15U) | ||
|
||
/* platform interrupt related functions */ | ||
int32_t platform_init_interrupt(uint32_t vector_id, void *isr_data); | ||
int32_t platform_deinit_interrupt(uint32_t vector_id); | ||
int32_t platform_interrupt_enable(uint32_t vector_id); | ||
int32_t platform_interrupt_disable(uint32_t vector_id); | ||
int32_t platform_in_isr(void); | ||
void platform_notify(uint32_t vector_id); | ||
|
||
/* platform low-level time-delay (busy loop) */ | ||
void platform_time_delay(uint32_t num_msec); | ||
|
||
/* platform memory functions */ | ||
void platform_map_mem_region(uint32_t vrt_addr, uint32_t phy_addr, uint32_t size, uint32_t flags); | ||
void platform_cache_all_flush_invalidate(void); | ||
void platform_cache_disable(void); | ||
uint32_t platform_vatopa(void *addr); | ||
void *platform_patova(uint32_t addr); | ||
|
||
/* platform init/deinit */ | ||
int32_t platform_init(void); | ||
int32_t platform_deinit(void); | ||
|
||
#endif /* RPMSG_PLATFORM_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
/* | ||
* Copyright (c) 2016 Freescale Semiconductor, Inc. | ||
* Copyright 2016-2019 NXP | ||
* All rights reserved. | ||
* | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
#ifndef RPMSG_PLATFORM_H_ | ||
#define RPMSG_PLATFORM_H_ | ||
|
||
#include <stdint.h> | ||
|
||
/* RPMSG MU channel index */ | ||
#define RPMSG_MU_CHANNEL (1) | ||
|
||
/* | ||
* Linux requires the ALIGN to 0x1000(4KB) instead of 0x80 | ||
*/ | ||
#ifndef VRING_ALIGN | ||
#define VRING_ALIGN (0x1000U) | ||
#endif | ||
|
||
/* contains pool of descriptors and two circular buffers */ | ||
#ifndef VRING_SIZE | ||
#define VRING_SIZE (0x8000UL) | ||
#endif | ||
|
||
/* size of shared memory + 2*VRING size */ | ||
#define RL_VRING_OVERHEAD (2UL * VRING_SIZE) | ||
|
||
#define RL_GET_VQ_ID(link_id, queue_id) (((queue_id)&0x1U) | (((link_id) << 1U) & 0xFFFFFFFEU)) | ||
#define RL_GET_LINK_ID(id) (((id)&0xFFFFFFFEU) >> 1U) | ||
#define RL_GET_Q_ID(id) ((id)&0x1U) | ||
|
||
#define RL_PLATFORM_IMX8QX_CM4_SRTM_LINK_ID (0U) | ||
#define RL_PLATFORM_IMX8QX_CM4_USER_LINK_ID (1U) | ||
#define RL_PLATFORM_HIGHEST_LINK_ID (15U) | ||
|
||
/* platform interrupt related functions */ | ||
int32_t platform_init_interrupt(uint32_t vector_id, void *isr_data); | ||
int32_t platform_deinit_interrupt(uint32_t vector_id); | ||
int32_t platform_interrupt_enable(uint32_t vector_id); | ||
int32_t platform_interrupt_disable(uint32_t vector_id); | ||
int32_t platform_in_isr(void); | ||
void platform_notify(uint32_t vector_id); | ||
|
||
/* platform low-level time-delay (busy loop) */ | ||
void platform_time_delay(uint32_t num_msec); | ||
|
||
/* platform memory functions */ | ||
void platform_map_mem_region(uint32_t vrt_addr, uint32_t phy_addr, uint32_t size, uint32_t flags); | ||
void platform_cache_all_flush_invalidate(void); | ||
void platform_cache_disable(void); | ||
uint32_t platform_vatopa(void *addr); | ||
void *platform_patova(uint32_t addr); | ||
|
||
/* platform init/deinit */ | ||
int32_t platform_init(void); | ||
int32_t platform_deinit(void); | ||
|
||
int32_t LSIO_MU5_INT_B_IRQHandler(void); | ||
|
||
#endif /* RPMSG_PLATFORM_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
/* | ||
* Copyright 2019 NXP | ||
* All rights reserved. | ||
* | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
|
||
#ifndef RPMSG_PLATFORM_H_ | ||
#define RPMSG_PLATFORM_H_ | ||
|
||
#include <stdint.h> | ||
|
||
/* RPMSG MU channel index */ | ||
#define RPMSG_MU_CHANNEL (1) | ||
|
||
#define RPMSG_LITE_LINK_ID 0x1 | ||
|
||
/* | ||
* No need to align the VRING as defined in Linux because LPCNEXT0 is not intended | ||
* to run the Linux | ||
*/ | ||
#ifndef VRING_ALIGN | ||
#define VRING_ALIGN (0x10U) | ||
#endif | ||
|
||
/* contains pool of descriptos and two circular buffers */ | ||
#ifndef VRING_SIZE | ||
#define VRING_SIZE (0x400UL) | ||
#endif | ||
|
||
/* size of shared memory + 2*VRING size */ | ||
#define RL_VRING_OVERHEAD (2UL * VRING_SIZE) | ||
|
||
#define RL_GET_VQ_ID(link_id, queue_id) (((queue_id)&0x1U) | (((link_id) << 1U) & 0xFFFFFFFEU)) | ||
#define RL_GET_LINK_ID(id) (((id)&0xFFFFFFFEU) >> 1U) | ||
#define RL_GET_Q_ID(id) ((id)&0x1U) | ||
|
||
#define RL_PLATFORM_LPCNEXT0_LINK_ID (0U) | ||
#define RL_PLATFORM_HIGHEST_LINK_ID (1U) | ||
|
||
/* platform interrupt related functions */ | ||
int32_t platform_init_interrupt(uint32_t vector_id, void *isr_data); | ||
int32_t platform_deinit_interrupt(uint32_t vector_id); | ||
int32_t platform_interrupt_enable(uint32_t vector_id); | ||
int32_t platform_interrupt_disable(uint32_t vector_id); | ||
int32_t platform_in_isr(void); | ||
void platform_notify(uint32_t vector_id); | ||
|
||
/* platform low-level time-delay (busy loop) */ | ||
void platform_time_delay(uint32_t num_msec); | ||
|
||
/* platform memory functions */ | ||
void platform_map_mem_region(uint32_t vrt_addr, uint32_t phy_addr, uint32_t size, uint32_t flags); | ||
void platform_cache_all_flush_invalidate(void); | ||
void platform_cache_disable(void); | ||
uint32_t platform_vatopa(void *addr); | ||
void *platform_patova(uint32_t addr); | ||
|
||
/* platform init/deinit */ | ||
int32_t platform_init(void); | ||
int32_t platform_deinit(void); | ||
|
||
#endif /* RPMSG_PLATFORM_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
/* | ||
* Copyright 2019 NXP | ||
* All rights reserved. | ||
* | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
#ifndef RPMSG_PLATFORM_H_ | ||
#define RPMSG_PLATFORM_H_ | ||
|
||
#include <stdint.h> | ||
|
||
/* RPMSG MU channel index */ | ||
#define RPMSG_MU_CHANNEL (1) | ||
|
||
/* | ||
* No need to align the VRING as defined in Linux because LPC6324 is not intended | ||
* to run the Linux | ||
*/ | ||
#ifndef VRING_ALIGN | ||
#define VRING_ALIGN (0x10U) | ||
#endif | ||
|
||
/* contains pool of descriptos and two circular buffers */ | ||
#ifndef VRING_SIZE | ||
#define VRING_SIZE (0x400UL) | ||
#endif | ||
|
||
/* size of shared memory + 2*VRING size */ | ||
#define RL_VRING_OVERHEAD (2UL * VRING_SIZE) | ||
|
||
#define RL_GET_VQ_ID(link_id, queue_id) (((queue_id)&0x1U) | (((link_id) << 1U) & 0xFFFFFFFEU)) | ||
#define RL_GET_LINK_ID(id) (((id)&0xFFFFFFFEU) >> 1U) | ||
#define RL_GET_Q_ID(id) ((id)&0x1U) | ||
|
||
#define RL_PLATFORM_LPC6324_M33_DSP_LINK_ID (0U) | ||
#define RL_PLATFORM_HIGHEST_LINK_ID (0U) | ||
|
||
/* platform interrupt related functions */ | ||
int32_t platform_init_interrupt(uint32_t vector_id, void *isr_data); | ||
int32_t platform_deinit_interrupt(uint32_t vector_id); | ||
int32_t platform_interrupt_enable(uint32_t vector_id); | ||
int32_t platform_interrupt_disable(uint32_t vector_id); | ||
int32_t platform_in_isr(void); | ||
void platform_notify(uint32_t vector_id); | ||
|
||
/* platform low-level time-delay (busy loop) */ | ||
void platform_time_delay(uint32_t num_msec); | ||
|
||
/* platform memory functions */ | ||
void platform_map_mem_region(uint32_t vrt_addr, uint32_t phy_addr, uint32_t size, uint32_t flags); | ||
void platform_cache_all_flush_invalidate(void); | ||
void platform_cache_disable(void); | ||
uint32_t platform_vatopa(void *addr); | ||
void *platform_patova(uint32_t addr); | ||
|
||
/* platform init/deinit */ | ||
int32_t platform_init(void); | ||
int32_t platform_deinit(void); | ||
|
||
#endif /* RPMSG_PLATFORM_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.