Skip to content

Commit

Permalink
samples: basic: blinky: eGPIO PoC
Browse files Browse the repository at this point in the history
PoC of eGPIO peripheral.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
  • Loading branch information
jaz1-nordic committed Jun 13, 2024
1 parent 4e7470c commit 72c00be
Show file tree
Hide file tree
Showing 11 changed files with 434 additions and 1 deletion.
7 changes: 7 additions & 0 deletions samples/basic/blinky/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})

if(NOT CONFIG_BOARD_NRF54L15PDK_NRF54L15_CPUAPP)
message(FATAL_ERROR "${BOARD} is not supported for this sample")
endif()

project(blinky)

target_sources(app PRIVATE src/main.c)

include(ExternalProject)
9 changes: 9 additions & 0 deletions samples/basic/blinky/Kconfig.sysbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright 2023 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0

source "share/sysbuild/Kconfig"

config REMOTE_BOARD
string
default "nrf54l15pdk/nrf54l15/cpuflpr" if $(BOARD) = "nrf54l15pdk"
82 changes: 82 additions & 0 deletions samples/basic/blinky/boards/nrf54l15pdk_nrf54l15_cpuapp.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/

/ {
soc {
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;

sram_rx: memory@20018000 {
reg = <0x20018000 0x0800>;
};

sram_tx: memory@20020000 {
reg = <0x20020000 0x0800>;
};
};
};

ipc {
ipc0: ipc0 {
compatible = "zephyr,ipc-icmsg";
tx-region = <&sram_tx>;
rx-region = <&sram_rx>;
mboxes = <&mbox_cpuapp_rx_cpuflpr 15>, <&mbox_cpuapp_tx_cpuflpr 16>;
mbox-names = "rx", "tx";
status = "okay";
};
};

leds {
compatible = "gpio-leds";
led4: led_4 {
gpios = <&egpio2 7 GPIO_ACTIVE_HIGH>;
label = "Test LED 4";
};
};

aliases {
led4 = &led4;
};

egpio2: egpio2 {
compatible = "nordic,nrf-egpio";
gpio-reserved-ranges = <0 6>, <8 4>;
#gpio-cells = <2>;
ngpios = <11>;
status = "okay";
port = <2>;
};
};

&mbox_cpuapp_rx_cpuflpr {
status = "okay";
};

&mbox_cpuapp_tx_cpuflpr {
status = "okay";
};

&gpio0 {
status = "disabled";
};

&gpio1 {
status = "disabled";
};

&gpio2 {
status = "disabled";
};

&gpiote20 {
status = "disabled";
};

&gpiote30 {
status = "disabled";
};
6 changes: 6 additions & 0 deletions samples/basic/blinky/prj.conf
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
CONFIG_GPIO=y

CONFIG_IPC_SERVICE=y
CONFIG_IPC_SERVICE_BACKEND_ICMSG=y
CONFIG_MBOX=y

CONFIG_MULTITHREADING=n
14 changes: 14 additions & 0 deletions samples/basic/blinky/remote/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#
# Copyright (c) 2022 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(ipc_service_remote)

target_include_directories(app PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../common)

target_sources(app PRIVATE src/main.c)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CONFIG_MULTITHREADING=n
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/

/ {
soc {
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;

sram_tx: memory@20018000 {
reg = <0x20018000 0x0800>;
};

sram_rx: memory@20020000 {
reg = <0x20020000 0x0800>;
};
};
};

ipc {
ipc0: ipc0 {
compatible = "zephyr,ipc-icmsg";
tx-region = <&sram_tx>;
rx-region = <&sram_rx>;
mboxes = <&mbox_cpuflpr_rx_cpuapp 16>, <&mbox_cpuflpr_tx_cpuapp 15>;
mbox-names = "rx", "tx";
status = "okay";
};
};
};

&mbox_cpuflpr_rx_cpuapp {
status = "okay";
};

&mbox_cpuflpr_tx_cpuapp {
status = "okay";
};

&gpio0 {
status = "disabled";
};

&gpio1 {
status = "disabled";
};

&gpio2 {
status = "disabled";
};

&gpiote20 {
status = "disabled";
};

&gpiote30 {
status = "disabled";
};
3 changes: 3 additions & 0 deletions samples/basic/blinky/remote/prj.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
CONFIG_IPC_SERVICE=y
CONFIG_IPC_SERVICE_BACKEND_ICMSG=y
CONFIG_MBOX=y
Loading

0 comments on commit 72c00be

Please sign in to comment.