-
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.
- Updated RL_BUFFER_COUNT documentation (issue #10) - Addressed MISRA 21.6 rule violation in rpmsg_env.h (use SDK's PRINTF in MCUXpressoSDK examples, otherwise stdio printf is used) - Added environment layers for XOS - Fixed incorrect description of the rpmsg_lite_get_endpoint_from_addr function - Updated imxrt600_hifi4 platform layer - Added support for i.MX RT500, i.MX RT1160 and i.MX RT1170 multicore platforms - Updated version to 3.1.2
- Loading branch information
1 parent
f12ffe9
commit dab31c4
Showing
19 changed files
with
2,233 additions
and
21 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/* | ||
* Copyright (c) 2016 Freescale Semiconductor, Inc. | ||
* Copyright 2021 NXP | ||
* All rights reserved. | ||
* | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
#ifndef RPMSG_PLATFORM_H_ | ||
#define RPMSG_PLATFORM_H_ | ||
|
||
#include <stdint.h> | ||
|
||
/* | ||
* No need to align the VRING as defined in Linux because imxrt1160 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_IMXRT1160_M7_M4_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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/* | ||
* 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> | ||
|
||
/* | ||
* No need to align the VRING as defined in Linux because imxrt1170 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_IMXRT1170_M7_M4_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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
/* | ||
* Copyright 2019-2020 NXP | ||
* All rights reserved. | ||
* | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
#ifndef RPMSG_PLATFORM_H_ | ||
#define RPMSG_PLATFORM_H_ | ||
|
||
#include <stdint.h> | ||
|
||
/* | ||
* No need to align the VRING as defined in Linux because RT500 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_IMXRT500_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,58 @@ | ||
/* | ||
* Copyright 2019-2020 NXP | ||
* All rights reserved. | ||
* | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
#ifndef RPMSG_PLATFORM_H_ | ||
#define RPMSG_PLATFORM_H_ | ||
|
||
#include <stdint.h> | ||
|
||
/* | ||
* No need to align the VRING as defined in Linux because RT500 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_IMXRT500_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
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
Oops, something went wrong.