samples: openamp: Add support for Musca B1

Musca B1 is a dual core SoC with both cores are CM33. Add
openAMP to support on it.

Signed-off-by: Karl Zhang <karl.zhang@linaro.org>
This commit is contained in:
Karl Zhang 2019-08-06 14:55:31 +08:00 committed by Kumar Gala
commit fbd8cff090
7 changed files with 39 additions and 5 deletions

View file

@ -14,6 +14,8 @@ elseif("${BOARD}" STREQUAL "mps2_an521")
set(BOARD_REMOTE "mps2_an521_nonsecure")
elseif("${BOARD}" STREQUAL "v2m_musca")
set(BOARD_REMOTE "v2m_musca_nonsecure")
elseif("${BOARD}" STREQUAL "v2m_musca_b1")
set(BOARD_REMOTE "v2m_musca_b1_nonsecure")
else()
message(FATAL_ERROR "${BOARD} was not supported for this sample")
endif()

View file

@ -34,6 +34,14 @@ Building the application for v2m_musca
:board: v2m_musca
:goals: debug
Building the application for v2m_musca_b1
*****************************************
.. zephyr-app-commands::
:zephyr-app: samples/subsys/ipc/openamp
:board: v2m_musca_b1
:goals: debug
Open a serial terminal (minicom, putty, etc.) and connect the board with the
following settings:

View file

@ -7,7 +7,8 @@ cmake_minimum_required(VERSION 3.13.1)
if(("${BOARD}" STREQUAL "lpcxpresso54114_m0")
OR "${BOARD}" STREQUAL "mps2_an521_nonsecure"
OR "${BOARD}" STREQUAL "v2m_musca_nonsecure")
OR "${BOARD}" STREQUAL "v2m_musca_nonsecure"
OR "${BOARD}" STREQUAL "v2m_musca_b1_nonsecure")
message(INFO " ${BOARD} compile as slave in this sample")
else()
message(FATAL_ERROR "${BOARD} was not supported for this sample")

View file

@ -74,7 +74,8 @@ static u32_t virtio_get_features(struct virtio_device *vdev)
static void virtio_notify(struct virtqueue *vq)
{
#if defined(CONFIG_SOC_MPS2_AN521) || \
defined(CONFIG_SOC_V2M_MUSCA_A)
defined(CONFIG_SOC_V2M_MUSCA_A) || \
defined(CONFIG_SOC_V2M_MUSCA_B1)
u32_t current_core = sse_200_platform_get_cpu_id();
ipm_send(ipm_handle, 0, current_core ? 0 : 1, 0, 1);

View file

@ -4,7 +4,7 @@ sample:
name: OpenAMP example integration
tests:
sample.ipc.openamp:
platform_whitelist: lpcxpresso54114_m4 mps2_an521 v2m_musca
platform_whitelist: lpcxpresso54114_m4 mps2_an521 v2m_musca v2m_musca_b1
tags: ipm
harness: console
harness_config:

View file

@ -85,7 +85,8 @@ static void virtio_set_features(struct virtio_device *vdev,
static void virtio_notify(struct virtqueue *vq)
{
#if defined(CONFIG_SOC_MPS2_AN521) || \
defined(CONFIG_SOC_V2M_MUSCA_A)
defined(CONFIG_SOC_V2M_MUSCA_A) || \
defined(CONFIG_SOC_V2M_MUSCA_B1)
u32_t current_core = sse_200_platform_get_cpu_id();
ipm_send(ipm_handle, 0, current_core ? 0 : 1, 0, 1);
@ -288,7 +289,8 @@ void main(void)
NULL, NULL, NULL, K_PRIO_COOP(7), 0, K_NO_WAIT);
#if defined(CONFIG_SOC_MPS2_AN521) || \
defined(CONFIG_SOC_V2M_MUSCA_A)
defined(CONFIG_SOC_V2M_MUSCA_A) || \
defined(CONFIG_SOC_V2M_MUSCA_B1)
wakeup_cpu1();
k_sleep(500);
#endif /* #if defined(CONFIG_SOC_MPS2_AN521) */

View file

@ -0,0 +1,20 @@
/*
* Copyright (c) 2019 Linaro Limited
*
* SPDX-License-Identifier: Apache-2.0
*/
/ {
chosen {
/*
* shared memory reserved for the inter-processor communication
*/
zephyr,ipc_shm = &sramx;
zephyr,ipc = &mhu0;
};
sramx: memory@20060000 {
compatible = "mmio-sram";
reg = <0x20060000 0x8000>;
};
};