From 1ff8fb927f3fa03266b9136323a534f14a6c5417 Mon Sep 17 00:00:00 2001 From: Daniel DeGrasse Date: Tue, 15 Nov 2022 15:11:27 -0600 Subject: [PATCH] samples: ipc: openamp: Enable openamp sample for iMX.RT1160 EVK Enable the openamp sample for RT1160EVK. CM4 core has a custom DTS overlay to use LPUART2 for console information, and use a secondary GPT timer for the system tick. Signed-off-by: Daniel DeGrasse --- samples/subsys/ipc/openamp/Kconfig.sysbuild | 1 + .../openamp/boards/mimxrt1160_evk_cm7.conf | 2 + .../openamp/boards/mimxrt1160_evk_cm7.overlay | 22 +++++++++ .../remote/boards/mimxrt1160_evk_cm4.conf | 3 ++ .../remote/boards/mimxrt1160_evk_cm4.overlay | 48 +++++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.conf create mode 100644 samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.overlay create mode 100644 samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.conf create mode 100644 samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.overlay diff --git a/samples/subsys/ipc/openamp/Kconfig.sysbuild b/samples/subsys/ipc/openamp/Kconfig.sysbuild index d302687c91b..0247dcb45b8 100644 --- a/samples/subsys/ipc/openamp/Kconfig.sysbuild +++ b/samples/subsys/ipc/openamp/Kconfig.sysbuild @@ -11,3 +11,4 @@ string default "mps2_an521_remote" if $(BOARD) = "mps2_an521" default "v2m_musca_b1_ns" if $(BOARD) = "v2m_musca_b1" default "mimxrt1170_evk_cm4" if $(BOARD) = "mimxrt1170_evk_cm7" + default "mimxrt1160_evk_cm4" if $(BOARD) = "mimxrt1160_evk_cm7" diff --git a/samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.conf b/samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.conf new file mode 100644 index 00000000000..630a1933d62 --- /dev/null +++ b/samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.conf @@ -0,0 +1,2 @@ +CONFIG_INCLUDE_REMOTE_DIR=y +CONFIG_SECOND_CORE_MCUX=y diff --git a/samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.overlay b/samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.overlay new file mode 100644 index 00000000000..467595f18e0 --- /dev/null +++ b/samples/subsys/ipc/openamp/boards/mimxrt1160_evk_cm7.overlay @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + chosen { + zephyr,ipc_shm = &ocram2_overlay; + }; + + /* OpenAMP fails with full 512K OCRAM2 memory region as shared memory. + * Define a subset of the OCRAM2 region for demo to use + * Note that shared memory must have specific MPU attributes set. + */ + ocram2_overlay: memory@202c0000{ + compatible = "zephyr,memory-region", "mmio-sram"; + reg = <0x202c0000 DT_SIZE_K(16)>; + zephyr,memory-region="OCRAM2_OVERLAY"; + zephyr,memory-region-mpu = "IO"; + }; +}; diff --git a/samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.conf b/samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.conf new file mode 100644 index 00000000000..4dfc4a60b76 --- /dev/null +++ b/samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.conf @@ -0,0 +1,3 @@ +CONFIG_BUILD_OUTPUT_INFO_HEADER=y +CONFIG_BUILD_OUTPUT_HEX=y +CONFIG_SECOND_CORE_MCUX=y diff --git a/samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.overlay b/samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.overlay new file mode 100644 index 00000000000..caff1f413a5 --- /dev/null +++ b/samples/subsys/ipc/openamp/remote/boards/mimxrt1160_evk_cm4.overlay @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + /* Switch to lpuart2, since primary core uses lpuart1 */ + chosen { + zephyr,console = &lpuart2; + zephyr,shell-uart = &lpuart2; + zephyr,ipc_shm = &ocram2_overlay; + }; + + soc { + /delete-node/ gpt@400f0000; + + /* Replace GPT2 with another GPT kernel timer */ + gpt2_hw_timer:gpt@400f0000 { + compatible = "nxp,gpt-hw-timer"; + reg = <0x400f0000 0x4000>; + interrupts = <120 0>; + status = "okay"; + }; + }; + + /* OpenAMP fails with full 512K OCRAM2 memory region as shared memory. + * Define a subset of the OCRAM2 region for demo to use + * Note that shared memory must have specific MPU attributes set + */ + ocram2_overlay: memory@202c0000 { + compatible = "zephyr,memory-region", "mmio-sram"; + reg = <0x202c0000 DT_SIZE_K(16)>; + zephyr,memory-region="OCRAM2_OVERLAY"; + zephyr,memory-region-mpu = "IO"; + }; +}; + +/* Enable secondary LPUART */ +&lpuart2 { + status = "okay"; + current-speed = <115200>; +}; + +/* Disable primary GPT timer */ +&gpt_hw_timer { + status = "disabled"; +};