diff --git a/boards/we/ophelia4ev/Kconfig.defconfig b/boards/we/ophelia4ev/Kconfig.defconfig new file mode 100644 index 00000000000..ae367b374d7 --- /dev/null +++ b/boards/we/ophelia4ev/Kconfig.defconfig @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_OPHELIA4EV_NRF54L15_CPUAPP + +config ROM_START_OFFSET + default 0x800 if BOOTLOADER_MCUBOOT + +endif # BOARD_OPHELIA4EV_NRF54L15_CPUAPP diff --git a/boards/we/ophelia4ev/Kconfig.ophelia4ev b/boards/we/ophelia4ev/Kconfig.ophelia4ev new file mode 100644 index 00000000000..70937963208 --- /dev/null +++ b/boards/we/ophelia4ev/Kconfig.ophelia4ev @@ -0,0 +1,6 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_OPHELIA4EV + select SOC_NRF54L15_CPUAPP if BOARD_OPHELIA4EV_NRF54L15_CPUAPP + select SOC_NRF54L15_CPUFLPR if BOARD_OPHELIA4EV_NRF54L15_CPUFLPR diff --git a/boards/we/ophelia4ev/board.cmake b/boards/we/ophelia4ev/board.cmake new file mode 100644 index 00000000000..69dfac8e45e --- /dev/null +++ b/boards/we/ophelia4ev/board.cmake @@ -0,0 +1,4 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +include(${ZEPHYR_BASE}/boards/nordic/nrf54l15dk/board.cmake) diff --git a/boards/we/ophelia4ev/board.yml b/boards/we/ophelia4ev/board.yml new file mode 100644 index 00000000000..22987b007cb --- /dev/null +++ b/boards/we/ophelia4ev/board.yml @@ -0,0 +1,9 @@ +board: + name: ophelia4ev + full_name: Ophelia-IV DK + vendor: we + socs: + - name: nrf54l15 + variants: + - name: xip + cpucluster: cpuflpr diff --git a/boards/we/ophelia4ev/doc/img/ophelia4ev.webp b/boards/we/ophelia4ev/doc/img/ophelia4ev.webp new file mode 100644 index 00000000000..07a2ced30b6 Binary files /dev/null and b/boards/we/ophelia4ev/doc/img/ophelia4ev.webp differ diff --git a/boards/we/ophelia4ev/doc/index.rst b/boards/we/ophelia4ev/doc/index.rst new file mode 100644 index 00000000000..cbfce933420 --- /dev/null +++ b/boards/we/ophelia4ev/doc/index.rst @@ -0,0 +1,90 @@ +.. zephyr:board:: ophelia4ev + +Overview +******** + +.. note:: + You can find more information about the nRF54L15 SoC on the `nRF54L15 website`_. + For the nRF54L15 technical documentation and other resources (such as + SoC Datasheet), see the `nRF54L15 documentation`_ page. + +The OPHELIA-IV EV board is an evaluation board of the Ophelia-IV radio module. + +Hardware +******** + +The Ophelia-IV uses the internal low frequency RC oscillator +and provides the so called smart antenna connection, that allows +to choose between the module's integrated PCB antenna and an external +antenna that can be connected to the available SMA connector. + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +Programming and Debugging +************************* + +Applications for the ``ophelia4ev/nrf54l15/cpuapp`` board target can be +built, flashed, and debugged in the usual way. See +:ref:`build_an_application` and :ref:`application_run` for more details on +building and running. + +Applications for the ``ophelia4ev/nrf54l15/cpuflpr`` board target need +to be built using sysbuild to include the ``vpr_launcher`` image for the application core. + +Enter the following command to compile ``hello_world`` for the FLPR core: + +.. code-block:: console + + west build -p -b ophelia4ev/nrf54l15/cpuflpr --sysbuild + + +Flashing +======== + +As an example, this section shows how to build and flash the :zephyr:code-sample:`hello_world` +application. + +To build and program the sample to the OPHELIA-IV EV, complete the following steps: + +First, connect the OPHELIA-IV EV to you computer using the USB port on the board. +Then connect a segger flasher to the SWD connector available on the board. +Next, build the sample by running the following command: + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: ophelia4ev/nrf54l15/cpuapp + :goals: build flash + +.. warning:: + + When programming the device, you might get an error similar to the following message:: + + ERROR: The operation attempted is unavailable due to readback protection in + ERROR: your device. Please use --recover to unlock the device. + + This error occurs when readback protection is enabled. + To disable the readback protection, you must *recover* your device. + + Enter the following command to recover the core:: + + west flash --recover + + The ``--recover`` command erases the flash memory and then writes a small binary into + the recovered flash memory. + This binary prevents the readback protection from enabling itself again after a pin + reset or power cycle. + +Follow the instructions in the :ref:`nordic_segger` page to install +and configure all the necessary software. Further information can be +found in :ref:`nordic_segger_flashing`. + +References +********** + +.. target-notes:: + +.. _nRF54L15 website: https://www.nordicsemi.com/Products/nRF54L15 +.. _nRF54L15 documentation: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf54l/index.html diff --git a/boards/we/ophelia4ev/ophelia4ev_common.dtsi b/boards/we/ophelia4ev/ophelia4ev_common.dtsi new file mode 100644 index 00000000000..313e8f3f39a --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_common.dtsi @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "ophelia4ev_nrf54l15-pinctrl.dtsi" + +/ { + leds { + compatible = "gpio-leds"; + + led0: led_0 { + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + label = "Green LED 0"; + }; + + led1: led_1 { + gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; + label = "Green LED 1"; + }; + + led2: led_2 { + gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>; + label = "Green LED 2"; + }; + + led3: led_3 { + gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; + label = "Green LED 3"; + }; + }; + + pwmleds { + compatible = "pwm-leds"; + + /* + * PWM signal can be exposed on GPIO pin only within same domain. + * There is only one domain which contains both PWM and GPIO: + * PWM20/21/22 and GPIO Port P1. + * Only LEDs connected to P1 can work with PWM, for example LED3. + */ + pwm_led3: pwm_led_3 { + pwms = <&pwm20 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + }; + + buttons { + compatible = "gpio-keys"; + + button0: button_0 { + gpios = <&gpio2 3 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "Push button 0"; + zephyr,code = ; + }; + + button1: button_1 { + gpios = <&gpio1 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "Push button 1"; + zephyr,code = ; + }; + + button2: button_2 { + gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "Push button 2"; + zephyr,code = ; + }; + + button3: button_3 { + gpios = <&gpio1 14 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "Push button 3"; + zephyr,code = ; + }; + }; + + aliases { + led0 = &led0; + led1 = &led1; + led2 = &led2; + led3 = &led3; + pwm-led0 = &pwm_led3; + sw0 = &button0; + sw1 = &button1; + sw2 = &button2; + sw3 = &button3; + watchdog0 = &wdt31; + }; +}; + +&uart20 { + current-speed = <115200>; + pinctrl-0 = <&uart20_default>; + pinctrl-1 = <&uart20_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&uart30 { + current-speed = <115200>; + pinctrl-0 = <&uart30_default>; + pinctrl-1 = <&uart30_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&pwm20 { + status = "okay"; + pinctrl-0 = <&pwm20_default>; + pinctrl-1 = <&pwm20_sleep>; + pinctrl-names = "default", "sleep"; +}; + +/* Get a node label for wi-fi spi to use in shield files */ +wifi_spi: &spi22 {}; diff --git a/boards/we/ophelia4ev/ophelia4ev_nrf54l15-pinctrl.dtsi b/boards/we/ophelia4ev/ophelia4ev_nrf54l15-pinctrl.dtsi new file mode 100644 index 00000000000..4a3b761796b --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_nrf54l15-pinctrl.dtsi @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + /omit-if-no-ref/ uart20_default: uart20_default { + group1 { + psels = , + ; + }; + + group2 { + psels = , + ; + bias-pull-up; + }; + }; + + /omit-if-no-ref/ uart20_sleep: uart20_sleep { + group1 { + psels = , + , + , + ; + low-power-enable; + }; + }; + + /omit-if-no-ref/ uart30_default: uart30_default { + group1 { + psels = , + ; + }; + + group2 { + psels = , + ; + bias-pull-up; + }; + }; + + /omit-if-no-ref/ uart30_sleep: uart30_sleep { + group1 { + psels = , + , + , + ; + low-power-enable; + }; + }; + + /omit-if-no-ref/ spi00_default: spi00_default { + group1 { + psels = , + , + ; + }; + }; + + /omit-if-no-ref/ spi00_sleep: spi00_sleep { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; + + /omit-if-no-ref/ pwm20_default: pwm20_default { + group1 { + psels = ; + }; + }; + + /omit-if-no-ref/ pwm20_sleep: pwm20_sleep { + group1 { + psels = ; + low-power-enable; + }; + }; + + /omit-if-no-ref/ grtc_default: grtc_default { + group1 { + psels = , + ; + }; + }; + + /omit-if-no-ref/ grtc_sleep: grtc_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; diff --git a/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp.dts b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp.dts new file mode 100644 index 00000000000..73b135891a8 --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp.dts @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "ophelia4ev_common.dtsi" + +/ { + model = "Ophelia-IV EV Application MCU"; + compatible = "we,ophelia4ev_nrf54l15-cpuapp"; + + chosen { + zephyr,console = &uart20; + zephyr,shell-uart = &uart20; + zephyr,code-partition = &slot0_partition; + zephyr,flash = &cpuapp_rram; + zephyr,sram = &cpuapp_sram; + zephyr,uart-mcumgr = &uart20; + zephyr,bt-mon-uart = &uart20; + zephyr,bt-c2h-uart = &uart20; + zephyr,flash-controller = &rram_controller; + zephyr,ieee802154 = &ieee802154; + }; +}; + +&cpuapp_rram { + partitions { + compatible = "fixed-partitions"; + + #address-cells = <1>; + #size-cells = <1>; + + boot_partition: partition@0 { + label = "mcuboot"; + reg = <0x0 DT_SIZE_K(64)>; + }; + + slot0_partition: partition@10000 { + label = "image-0"; + reg = <0x10000 DT_SIZE_K(324)>; + }; + + slot0_ns_partition: partition@61000 { + label = "image-0-nonsecure"; + reg = <0x61000 DT_SIZE_K(324)>; + }; + + slot1_partition: partition@b2000 { + label = "image-1"; + reg = <0xb2000 DT_SIZE_K(324)>; + }; + + slot1_ns_partition: partition@103000 { + label = "image-1-nonsecure"; + reg = <0x103000 DT_SIZE_K(324)>; + }; + + /* 32k from 0x154000 to 0x15bfff reserved for TF-M partitions */ + storage_partition: partition@15c000 { + label = "storage"; + reg = <0x15c000 DT_SIZE_K(36)>; + }; + }; +}; + +&cpuapp_sram { + status = "okay"; +}; + +&lfxo { + load-capacitors = "internal"; + load-capacitance-femtofarad = <15500>; +}; + +&hfxo { + load-capacitors = "internal"; + load-capacitance-femtofarad = <15000>; +}; + +®ulators { + status = "okay"; +}; + +&vregmain { + status = "okay"; + + regulator-initial-mode = ; +}; + +&grtc { + owned-channels = <0 1 2 3 4 5 6 7 8 9 10 11>; + + /* Channels 7-11 reserved for Zero Latency IRQs, 3-4 for FLPR */ + child-owned-channels = <3 4 7 8 9 10 11>; + + status = "okay"; +}; + +&uart20 { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpiote20 { + status = "okay"; +}; + +&gpiote30 { + status = "okay"; +}; + +&radio { + status = "okay"; +}; + +&ieee802154 { + status = "okay"; +}; + +&temp { + status = "okay"; +}; + +&clock { + status = "okay"; +}; + +&spi00 { + status = "okay"; + + cs-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&spi00_default>; + pinctrl-1 = <&spi00_sleep>; + pinctrl-names = "default", "sleep"; + + mx25r64: mx25r6435f@0 { + compatible = "jedec,spi-nor"; + status = "okay"; + reg = <0>; + spi-max-frequency = <8000000>; + + jedec-id = [c2 28 17]; + + sfdp-bfp = [ + e5 20 f1 ff ff ff ff 03 44 eb 08 6b 08 3b 04 bb + ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 + 10 d8 00 ff 23 72 f5 00 82 ed 04 cc 44 83 48 44 + 30 b0 30 b0 f7 c4 d5 5c 00 be 29 ff f0 d0 ff ff + ]; + + size = <67108864>; + has-dpd; + t-enter-dpd = <10000>; + t-exit-dpd = <35000>; + }; +}; + +&adc { + status = "okay"; +}; diff --git a/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp.yaml b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp.yaml new file mode 100644 index 00000000000..87fee9c3d62 --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp.yaml @@ -0,0 +1,24 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +identifier: ophelia4ev/nrf54l15/cpuapp +name: Ophelia4-EV-nRF54l15-Application +type: mcu +arch: arm +toolchain: + - gnuarmemb + - zephyr +sysbuild: true +ram: 188 +flash: 324 +supported: + - adc + - counter + - dmic + - gpio + - i2c + - pwm + - retained_mem + - spi + - watchdog + - i2s diff --git a/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp_defconfig b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp_defconfig new file mode 100644 index 00000000000..80a40b5a79d --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuapp_defconfig @@ -0,0 +1,21 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +# Enable UART driver +CONFIG_SERIAL=y + +# Enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# Enable GPIO +CONFIG_GPIO=y + +# Enable MPU +CONFIG_ARM_MPU=y + +# Enable hardware stack protection +CONFIG_HW_STACK_PROTECTION=y + +# Use internal LFCLK +CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y diff --git a/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr.dts b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr.dts new file mode 100644 index 00000000000..b47b81affc4 --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr.dts @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "ophelia4ev_common.dtsi" + +/ { + model = "Ophelia-IV EV FLPR MCU"; + compatible = "we,ophelia4ev_nrf54l15-cpuflpr"; + + chosen { + zephyr,console = &uart30; + zephyr,shell-uart = &uart30; + zephyr,code-partition = &cpuflpr_code_partition; + zephyr,flash = &cpuflpr_rram; + zephyr,sram = &cpuflpr_sram; + }; +}; + +&cpuflpr_sram { + status = "okay"; + + /* size must be increased due to booting from SRAM */ + reg = <0x20028000 DT_SIZE_K(96)>; + + ranges = <0x0 0x20028000 0x18000>; +}; + +&cpuflpr_rram { + partitions { + compatible = "fixed-partitions"; + + #address-cells = <1>; + #size-cells = <1>; + + cpuflpr_code_partition: partition@0 { + label = "image-0"; + reg = <0x0 DT_SIZE_K(96)>; + }; + }; +}; + +&grtc { + owned-channels = <3 4>; + + status = "okay"; +}; + +&uart30 { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpiote20 { + status = "okay"; +}; + +&gpiote30 { + status = "okay"; +}; diff --git a/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr.yaml b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr.yaml new file mode 100644 index 00000000000..a302cf4a192 --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +identifier: ophelia4ev/nrf54l15/cpuflpr +name: Ophelia4-EV-nRF54L15-Fast-Lightweight-Peripheral-Processor +type: mcu +arch: riscv +toolchain: + - zephyr +sysbuild: true +ram: 96 +flash: 96 +supported: + - counter + - gpio + - i2c + - spi + - watchdog diff --git a/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr_defconfig b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr_defconfig new file mode 100644 index 00000000000..a0e86949608 --- /dev/null +++ b/boards/we/ophelia4ev/ophelia4ev_nrf54l15_cpuflpr_defconfig @@ -0,0 +1,20 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +# Enable UART driver +CONFIG_SERIAL=y + +# Enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# Enable GPIO +CONFIG_GPIO=y + +CONFIG_USE_DT_CODE_PARTITION=y + +# Execute from SRAM +CONFIG_XIP=n + +# Use internal LFCLK +CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y diff --git a/samples/bluetooth/beacon/sample.yaml b/samples/bluetooth/beacon/sample.yaml index e0bf6d22fb9..f6f08790092 100644 --- a/samples/bluetooth/beacon/sample.yaml +++ b/samples/bluetooth/beacon/sample.yaml @@ -9,12 +9,14 @@ tests: - nrf51dk/nrf51822 - nrf52dk/nrf52832 - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp tags: bluetooth integration_platforms: - qemu_cortex_m3 - nrf51dk/nrf51822 - nrf52dk/nrf52832 - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp sample.bluetooth.beacon-coex: extra_args: CONF_FILE="prj-coex.conf" harness: bluetooth diff --git a/samples/bluetooth/hci_uart/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/bluetooth/hci_uart/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..32ba7837840 --- /dev/null +++ b/samples/bluetooth/hci_uart/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&uart20 { + compatible = "nordic,nrf-uarte"; + current-speed = <1000000>; + status = "okay"; + hw-flow-control; +}; diff --git a/samples/bluetooth/peripheral_dis/sample.yaml b/samples/bluetooth/peripheral_dis/sample.yaml index 0521956f6e1..7a2bc6ca023 100644 --- a/samples/bluetooth/peripheral_dis/sample.yaml +++ b/samples/bluetooth/peripheral_dis/sample.yaml @@ -7,6 +7,7 @@ tests: platform_allow: - qemu_cortex_m3 - qemu_x86 + - ophelia4ev/nrf54l15/cpuapp tags: bluetooth integration_platforms: - qemu_cortex_m3 diff --git a/samples/bluetooth/peripheral_hr/sample.yaml b/samples/bluetooth/peripheral_hr/sample.yaml index b233fb48abc..8b0722d169f 100644 --- a/samples/bluetooth/peripheral_hr/sample.yaml +++ b/samples/bluetooth/peripheral_hr/sample.yaml @@ -14,6 +14,7 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - qemu_cortex_m3 - nrf52_bsim @@ -23,6 +24,7 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp tags: bluetooth sample.bluetooth.peripheral_hr.minimal: harness: bluetooth diff --git a/samples/bluetooth/peripheral_nus/sample.yaml b/samples/bluetooth/peripheral_nus/sample.yaml index af70193ec1e..0bb22b190e3 100644 --- a/samples/bluetooth/peripheral_nus/sample.yaml +++ b/samples/bluetooth/peripheral_nus/sample.yaml @@ -8,6 +8,7 @@ tests: - qemu_cortex_m3 - qemu_x86 - nrf52840dk/nrf52840 + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - qemu_cortex_m3 tags: bluetooth diff --git a/samples/boards/nordic/nrf_sys_event/sample.yaml b/samples/boards/nordic/nrf_sys_event/sample.yaml index c5ea3d8a23d..40e6d6d229b 100644 --- a/samples/boards/nordic/nrf_sys_event/sample.yaml +++ b/samples/boards/nordic/nrf_sys_event/sample.yaml @@ -19,6 +19,7 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp @@ -26,3 +27,4 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/samples/drivers/adc/adc_dt/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/drivers/adc/adc_dt/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..321f7e6b05a --- /dev/null +++ b/samples/drivers/adc/adc_dt/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,55 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + */ + +/ { + zephyr,user { + io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 7>; + }; +}; + +&adc { + #address-cells = <1>; + #size-cells = <0>; + + channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.11 */ + zephyr,resolution = <10>; + }; + + channel@1 { + reg = <1>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.06 */ + zephyr,resolution = <12>; + zephyr,oversampling = <8>; + }; + + channel@2 { + reg = <2>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <12>; + zephyr,oversampling = <8>; + }; + + channel@7 { + reg = <7>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.13 */ + zephyr,input-negative = ; /* P1.14 */ + zephyr,resolution = <12>; + }; +}; diff --git a/samples/drivers/adc/adc_dt/sample.yaml b/samples/drivers/adc/adc_dt/sample.yaml index 8c0a93948f2..63cbdef98b9 100644 --- a/samples/drivers/adc/adc_dt/sample.yaml +++ b/samples/drivers/adc/adc_dt/sample.yaml @@ -17,6 +17,7 @@ tests: - nrf52840dk/nrf52840 - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp - mec172xevb_assy6906 - gd32f350r_eval - gd32f450i_eval diff --git a/samples/drivers/adc/adc_sequence/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/drivers/adc/adc_sequence/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..7fedbe52ad2 --- /dev/null +++ b/samples/drivers/adc/adc_sequence/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,61 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2024 Nordic Semiconductor ASA + */ + +/ { + zephyr,user { + io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 7>; + }; +}; + +/ { + aliases { + adc0 = &adc; + }; +}; + +&adc { + #address-cells = <1>; + #size-cells = <0>; + + channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.11 */ + zephyr,resolution = <10>; + }; + + channel@1 { + reg = <1>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.06 */ + zephyr,resolution = <12>; + zephyr,oversampling = <8>; + }; + + channel@2 { + reg = <2>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* 0.9 V internal */ + zephyr,resolution = <12>; + zephyr,oversampling = <8>; + }; + + channel@7 { + reg = <7>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.13 */ + zephyr,input-negative = ; /* P1.14 */ + zephyr,resolution = <12>; + }; +}; diff --git a/samples/drivers/adc/adc_sequence/sample.yaml b/samples/drivers/adc/adc_sequence/sample.yaml index 0461205a058..099cedca654 100644 --- a/samples/drivers/adc/adc_sequence/sample.yaml +++ b/samples/drivers/adc/adc_sequence/sample.yaml @@ -11,6 +11,7 @@ tests: - nrf52840dk/nrf52840 - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp - ucans32k1sic - frdm_mcxc242 - stm32f3_disco diff --git a/samples/drivers/audio/dmic/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/drivers/audio/dmic/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..45e09d9a0f3 --- /dev/null +++ b/samples/drivers/audio/dmic/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + pdm20_default_alt: pdm20_default_alt { + group1 { + psels = , + ; + }; + }; +}; + +dmic_dev: &pdm20 { + status = "okay"; + pinctrl-0 = <&pdm20_default_alt>; + pinctrl-names = "default"; + clock-source = "PCLK32M"; +}; diff --git a/samples/drivers/i2c/rtio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.conf b/samples/drivers/i2c/rtio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.conf new file mode 100644 index 00000000000..c8ffd42673e --- /dev/null +++ b/samples/drivers/i2c/rtio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.conf @@ -0,0 +1,4 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_I2C_NRFX_TWIS_BUF_SIZE=256 diff --git a/samples/drivers/i2c/rtio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/drivers/i2c/rtio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..f47fe8bad2a --- /dev/null +++ b/samples/drivers/i2c/rtio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * SDA = P1.8 and P1.9 + * SCL = P1.10 and P1.11 + */ + +/ { + aliases { + i2c-controller = &i2c21; + i2c-controller-target = &i2c22; + }; +}; + +&pinctrl { + i2c21_default: i2c21_default { + group1 { + psels = , + ; + bias-pull-up; + }; + }; + + i2c21_sleep: i2c21_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; + + i2c22_default: i2c22_default { + group1 { + psels = , + ; + bias-pull-up; + }; + }; + + i2c22_sleep: i2c22_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; + +&i2c21 { + pinctrl-0 = <&i2c21_default>; + pinctrl-1 = <&i2c21_sleep>; + pinctrl-names = "default", "sleep"; + zephyr,concat-buf-size = <256>; + status = "okay"; +}; + +&i2c22 { + compatible = "nordic,nrf-twis"; + pinctrl-0 = <&i2c22_default>; + pinctrl-1 = <&i2c22_sleep>; + pinctrl-names = "default", "sleep"; + status = "okay"; +}; diff --git a/samples/drivers/i2c/rtio_loopback/sample.yaml b/samples/drivers/i2c/rtio_loopback/sample.yaml index a9d41fbf8cd..cf081c7670c 100644 --- a/samples/drivers/i2c/rtio_loopback/sample.yaml +++ b/samples/drivers/i2c/rtio_loopback/sample.yaml @@ -16,3 +16,4 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/samples/drivers/mbox/Kconfig.sysbuild b/samples/drivers/mbox/Kconfig.sysbuild index ce58f93763b..8155e2f3bc1 100644 --- a/samples/drivers/mbox/Kconfig.sysbuild +++ b/samples/drivers/mbox/Kconfig.sysbuild @@ -18,6 +18,7 @@ config REMOTE_BOARD default "frdm_mcxn947/mcxn947/cpu1" if $(BOARD) = "frdm_mcxn947" default "nrf54h20dk/nrf54h20/cpuapp" if "$(BOARD)${BOARD_QUALIFIERS}" = "nrf54h20dk/nrf54h20/cpurad" default "nrf54l15dk/nrf54l15/cpuflpr" if $(BOARD) = "nrf54l15dk" + default "ophelia4ev/cpuflpr" if $(BOARD) = "ophelia4ev" default "stm32h747i_disco/stm32h747xx/m4" if $(BOARD) = "stm32h747i_disco" default "esp32_devkitc_wroom/esp32/appcpu" if "$(BOARD)${BOARD_QUALIFIERS}" = "esp32_devkitc_wroom/esp32/procpu" default "esp32s3_devkitm/esp32s3/appcpu" if "$(BOARD)${BOARD_QUALIFIERS}" = "esp32s3_devkitm/esp32s3/procpu" diff --git a/samples/drivers/watchdog/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/drivers/watchdog/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..025e0b8aedb --- /dev/null +++ b/samples/drivers/watchdog/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,8 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * SPDX-License-Identifier: Apache-2.0 + */ + +&wdt31 { + status = "okay"; +}; diff --git a/samples/drivers/watchdog/boards/ophelia4ev_nrf54l15_cpuflpr.overlay b/samples/drivers/watchdog/boards/ophelia4ev_nrf54l15_cpuflpr.overlay new file mode 100644 index 00000000000..025e0b8aedb --- /dev/null +++ b/samples/drivers/watchdog/boards/ophelia4ev_nrf54l15_cpuflpr.overlay @@ -0,0 +1,8 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * SPDX-License-Identifier: Apache-2.0 + */ + +&wdt31 { + status = "okay"; +}; diff --git a/samples/sensor/qdec/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/sensor/qdec/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..58cf87f20b1 --- /dev/null +++ b/samples/sensor/qdec/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + qdec0 = &qdec20; + qenca = &phase_a; + qencb = &phase_b; + }; + + encoder-emulate { + compatible = "gpio-leds"; + + phase_a: phase_a { + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + }; + + phase_b: phase_b { + gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&pinctrl { + qdec_pinctrl: qdec_pinctrl { + group1 { + psels = , + ; + }; + }; +}; + +&gpio1 { + status = "okay"; +}; + +&qdec20 { + status = "okay"; + pinctrl-0 = <&qdec_pinctrl>; + pinctrl-names = "default"; + steps = <120>; + led-pre = <500>; +}; diff --git a/samples/sensor/qdec/sample.yaml b/samples/sensor/qdec/sample.yaml index d4d685c43fb..0cb399b21fc 100644 --- a/samples/sensor/qdec/sample.yaml +++ b/samples/sensor/qdec/sample.yaml @@ -43,11 +43,13 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp harness_config: fixture: gpio_loopback type: multi_line diff --git a/samples/subsys/fs/fs_sample/boards/ophelia4ev_nrf54l15_cpuapp.conf b/samples/subsys/fs/fs_sample/boards/ophelia4ev_nrf54l15_cpuapp.conf new file mode 100644 index 00000000000..e142dedd450 --- /dev/null +++ b/samples/subsys/fs/fs_sample/boards/ophelia4ev_nrf54l15_cpuapp.conf @@ -0,0 +1,12 @@ +# +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# +# SPDX-License-Identifier: Apache-2.0 +# + +CONFIG_DISK_DRIVERS=y +CONFIG_DISK_DRIVER_FLASH=y +# There may be no files on internal SoC flash, so this Kconfig +# options has ben enabled to create some if listing does not +# find in the first place. +CONFIG_FS_SAMPLE_CREATE_SOME_ENTRIES=y diff --git a/samples/subsys/fs/fs_sample/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/subsys/fs/fs_sample/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..da13128938a --- /dev/null +++ b/samples/subsys/fs/fs_sample/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Because FAT FS needs at least 64kiB partition and default + * storage_partition is 36kiB for this board, we need to reorganize + * partitions to get at least 64KiB. + */ +/delete-node/ &slot0_partition; +/delete-node/ &slot1_partition; +/delete-node/ &slot0_ns_partition; +/delete-node/ &slot1_ns_partition; +/delete-node/ &storage_partition; + +&cpuapp_rram { + partitions { + compatible = "fixed-partitions"; + + #address-cells = <1>; + #size-cells = <1>; + + slot0_partition: parition@10000 { + reg = <0x00010000 DT_SIZE_K(300)>; + }; + + slot1_partition: partition@5b000 { + reg = <0x0005b000 DT_SIZE_K(300)>; + }; + + storage_partition: partition@a6000 { + label = "storage"; + reg = <0x000a6000 DT_SIZE_K(128)>; + }; + }; +}; + +/ { + msc_disk0 { + status = "okay"; + compatible = "zephyr,flash-disk"; + partition = <&storage_partition>; + disk-name = "SD"; + cache-size = <512>; + }; +}; diff --git a/samples/subsys/fs/fs_sample/sample.yaml b/samples/subsys/fs/fs_sample/sample.yaml index af7e4913c6b..e62f32eaee8 100644 --- a/samples/subsys/fs/fs_sample/sample.yaml +++ b/samples/subsys/fs/fs_sample/sample.yaml @@ -58,6 +58,9 @@ tests: sample.filesystem.fat_fs.nrf54l15dk: build_only: true platform_allow: nrf54l15dk/nrf54l15/cpuapp + sample.filesystem.fat_fs.ophelia4ev: + build_only: true + platform_allow: ophelia4ev/nrf54l15/cpuapp sample.filesystem.fat_fs.nrf52840dk_nrf52840.qspi: build_only: true platform_allow: nrf52840dk/nrf52840 diff --git a/samples/subsys/fs/littlefs/sample.yaml b/samples/subsys/fs/littlefs/sample.yaml index 85fa6468ee4..2ab2b47a3c3 100644 --- a/samples/subsys/fs/littlefs/sample.yaml +++ b/samples/subsys/fs/littlefs/sample.yaml @@ -24,6 +24,7 @@ tests: - stm32h747i_disco/stm32h747xx/m7 - stm32h750b_dk - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - frdm_ke17z - frdm_ke17z512 - s32z2xxdc2/s32z270/rtu0 diff --git a/samples/subsys/ipc/ipc_service/icmsg/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/samples/subsys/ipc/ipc_service/icmsg/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..22c74fe1178 --- /dev/null +++ b/samples/subsys/ipc/ipc_service/icmsg/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * 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"; + dcache-alignment = <32>; + tx-region = <&sram_tx>; + rx-region = <&sram_rx>; + mboxes = <&cpuapp_vevif_rx 20>, <&cpuapp_vevif_tx 21>; + mbox-names = "rx", "tx"; + status = "okay"; + }; + }; +}; + +&cpuapp_vevif_rx { + status = "okay"; +}; + +&cpuapp_vevif_tx { + status = "okay"; +}; diff --git a/samples/sysbuild/hello_world/sample.yaml b/samples/sysbuild/hello_world/sample.yaml index 68eae58739c..545f8a0b756 100644 --- a/samples/sysbuild/hello_world/sample.yaml +++ b/samples/sysbuild/hello_world/sample.yaml @@ -48,8 +48,10 @@ tests: sample.sysbuild.hello_world.nrf54l15dk_nrf54l15_cpuflpr: platform_allow: - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_args: - SB_CONF_FILE=sysbuild/nrf54l15dk_nrf54l15_cpuflpr.conf diff --git a/tests/bluetooth/tester/boards/ophelia4ev_nrf54l15_cpuapp.conf b/tests/bluetooth/tester/boards/ophelia4ev_nrf54l15_cpuapp.conf new file mode 100644 index 00000000000..b6a71cd1e6d --- /dev/null +++ b/tests/bluetooth/tester/boards/ophelia4ev_nrf54l15_cpuapp.conf @@ -0,0 +1,26 @@ +# CONFIG_TEST enforces minimal logging, which we don't want +CONFIG_TEST=n + +CONFIG_ASSERT=y +# Enable the option below to measure stack usage +#CONFIG_INIT_STACKS=y +CONFIG_THREAD_NAME=y +CONFIG_HW_STACK_PROTECTION=y + +CONFIG_LOG=y +CONFIG_LOG_BUFFER_SIZE=4096 +CONFIG_RTT_CONSOLE=y +CONFIG_LOG_BACKEND_RTT=y +CONFIG_LOG_BACKEND_RTT_MODE_DROP=y +CONFIG_LOG_BACKEND_RTT_MESSAGE_SIZE=256 +CONFIG_USE_SEGGER_RTT=y +CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=4096 +CONFIG_LOG_BACKEND_SHOW_COLOR=n +CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=1024 + +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_BTTESTER_LOG_LEVEL_DBG=y + +CONFIG_UART_INTERRUPT_DRIVEN=y + +CONFIG_BTTESTER_BTP_CMD_THREAD_STACK_SIZE=3072 diff --git a/tests/bluetooth/tester/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/bluetooth/tester/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..979fa6cc5df --- /dev/null +++ b/tests/bluetooth/tester/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +/ { + chosen { + zephyr,uart-pipe = &uart20; + }; +}; + +&uart20 { + compatible = "nordic,nrf-uarte"; + current-speed = <115200>; + status = "okay"; + hw-flow-control; +}; diff --git a/tests/drivers/adc/adc_accuracy_test/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/adc/adc_accuracy_test/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..19f2b090d14 --- /dev/null +++ b/tests/drivers/adc/adc_accuracy_test/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,27 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + */ + +/ { + zephyr,user { + io-channels = <&adc 0>; + reference-mv = <1800>; + expected-accuracy = <64>; + }; +}; + +&adc { + #address-cells = <1>; + #size-cells = <0>; + + channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1_2"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <14>; + }; +}; diff --git a/tests/drivers/adc/adc_accuracy_test/testcase.yaml b/tests/drivers/adc/adc_accuracy_test/testcase.yaml index 110c95bffc0..51a4cd53e2a 100644 --- a/tests/drivers/adc/adc_accuracy_test/testcase.yaml +++ b/tests/drivers/adc/adc_accuracy_test/testcase.yaml @@ -23,6 +23,7 @@ tests: - nrf52840dk/nrf52840 - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp - ek_ra8d1 - mck_ra8t1 - ek_ra6e2 diff --git a/tests/drivers/adc/adc_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/adc/adc_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..ab90118d232 --- /dev/null +++ b/tests/drivers/adc/adc_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,43 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + */ + +/ { + zephyr,user { + io-channels = <&adc 0>, <&adc 1> , <&adc 2>; + }; +}; + +&adc { + #address-cells = <1>; + #size-cells = <0>; + + channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <10>; + }; + + channel@1 { + reg = <1>; + zephyr,gain = "ADC_GAIN_1_4"; + zephyr,reference = "ADC_REF_EXTERNAL0"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <12>; + }; + + channel@2 { + reg = <2>; + zephyr,gain = "ADC_GAIN_2_3"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <10>; + }; +}; diff --git a/tests/drivers/adc/adc_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/adc/adc_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..b44fc6070ac --- /dev/null +++ b/tests/drivers/adc/adc_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,11 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + */ + +/ { + aliases { + adc = &adc; + }; +}; diff --git a/tests/drivers/adc/adc_error_cases/testcase.yaml b/tests/drivers/adc/adc_error_cases/testcase.yaml index da93a20a1ea..e5c0225b28c 100644 --- a/tests/drivers/adc/adc_error_cases/testcase.yaml +++ b/tests/drivers/adc/adc_error_cases/testcase.yaml @@ -11,3 +11,4 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/audio/dmic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/audio/dmic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..182a089b3d5 --- /dev/null +++ b/tests/drivers/audio/dmic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + dmic-dev = &pdm20; + }; +}; + +&pinctrl { + pdm20_default_alt: pdm20_default_alt { + group1 { + psels = , + ; + }; + }; +}; + +dmic_dev: &pdm20 { + status = "okay"; + pinctrl-0 = <&pdm20_default_alt>; + pinctrl-names = "default"; + clock-source = "PCLK32M"; +}; diff --git a/tests/drivers/build_all/comparator/testcase.yaml b/tests/drivers/build_all/comparator/testcase.yaml index 45c23989222..298dcc88410 100644 --- a/tests/drivers/build_all/comparator/testcase.yaml +++ b/tests/drivers/build_all/comparator/testcase.yaml @@ -27,6 +27,7 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - nrf9280pdk/nrf9280/cpuapp integration_platforms: - nrf52dk/nrf52810 @@ -44,6 +45,7 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - nrf9280pdk/nrf9280/cpuapp integration_platforms: - nrf52dk/nrf52810 @@ -61,6 +63,7 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - nrf9280pdk/nrf9280/cpuapp integration_platforms: - nrf52dk/nrf52810 @@ -74,10 +77,12 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - nrf9280pdk/nrf9280/cpuapp integration_platforms: - nrf51dk/nrf51822 - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.build_all.comparator.nrf_lpcomp.int_ref: extra_args: - DTC_OVERLAY_FILE="nrf_lpcomp/int_ref.overlay" @@ -88,6 +93,7 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf9280pdk/nrf9280/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 - nrf54h20dk/nrf54h20/cpuapp diff --git a/tests/drivers/clock_control/clock_control_api/testcase.yaml b/tests/drivers/clock_control/clock_control_api/testcase.yaml index 1b10b912b4c..972dcc1a1aa 100644 --- a/tests/drivers/clock_control/clock_control_api/testcase.yaml +++ b/tests/drivers/clock_control/clock_control_api/testcase.yaml @@ -25,6 +25,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 drivers.clock.clock_control_nrf5_lfclk_rc: @@ -35,6 +36,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_args: CONF_FILE="nrf_lfclk_rc.conf" diff --git a/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml b/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml index 963618c6f23..756a92a98e3 100644 --- a/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml +++ b/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml @@ -10,5 +10,6 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 diff --git a/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml b/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml index cad39c3625f..eeb034a8ec0 100644 --- a/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml +++ b/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml @@ -16,6 +16,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_configs: - CONFIG_SYSTEM_CLOCK_WAIT_FOR_STABILITY=y - CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y @@ -33,6 +34,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_configs: - CONFIG_SYSTEM_CLOCK_WAIT_FOR_AVAILABILITY=y - CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y @@ -48,6 +50,7 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_configs: @@ -64,6 +67,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_configs: @@ -80,6 +84,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_configs: @@ -96,6 +101,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_configs: @@ -112,6 +118,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_configs: @@ -128,6 +135,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_configs: @@ -144,6 +152,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 extra_configs: diff --git a/tests/drivers/clock_control/onoff/testcase.yaml b/tests/drivers/clock_control/onoff/testcase.yaml index 74d8a7f84d8..f24dce72a7a 100644 --- a/tests/drivers/clock_control/onoff/testcase.yaml +++ b/tests/drivers/clock_control/onoff/testcase.yaml @@ -11,5 +11,6 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf9160dk/nrf9160 + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf51dk/nrf51822 diff --git a/tests/drivers/comparator/gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/comparator/gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..0761a369b96 --- /dev/null +++ b/tests/drivers/comparator/gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +/* + * P1.10 looped back to P1.11 + */ + +/ { + aliases { + test-comp = ∁ + }; + + zephyr,user { + test-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; + }; +}; + +&gpio1 { + status = "okay"; +}; diff --git a/tests/drivers/comparator/gpio_loopback/snippets/nrf_comp/snippet.yml b/tests/drivers/comparator/gpio_loopback/snippets/nrf_comp/snippet.yml index e030c0e5543..79fffefe7f4 100644 --- a/tests/drivers/comparator/gpio_loopback/snippets/nrf_comp/snippet.yml +++ b/tests/drivers/comparator/gpio_loopback/snippets/nrf_comp/snippet.yml @@ -10,6 +10,9 @@ boards: nrf54l15dk/nrf54l15/cpuapp: append: EXTRA_DTC_OVERLAY_FILE: boards/nrf54l15dk_nrf54l15_cpuapp.overlay + ophelia4ev/nrf54l15/cpuapp: + append: + EXTRA_DTC_OVERLAY_FILE: boards/nrf54l15dk_nrf54l15_cpuapp.overlay nrf5340dk/nrf5340/cpuapp: append: EXTRA_DTC_OVERLAY_FILE: boards/nrf5340dk_nrf5340_cpuapp.overlay diff --git a/tests/drivers/comparator/gpio_loopback/snippets/nrf_lpcomp/snippet.yml b/tests/drivers/comparator/gpio_loopback/snippets/nrf_lpcomp/snippet.yml index 70ff2a7e314..82a32cb517e 100644 --- a/tests/drivers/comparator/gpio_loopback/snippets/nrf_lpcomp/snippet.yml +++ b/tests/drivers/comparator/gpio_loopback/snippets/nrf_lpcomp/snippet.yml @@ -10,6 +10,9 @@ boards: nrf54l15dk/nrf54l15/cpuapp: append: EXTRA_DTC_OVERLAY_FILE: boards/nrf54l15dk_nrf54l15_cpuapp.overlay + ophelia4ev/nrf54l15/cpuapp: + append: + EXTRA_DTC_OVERLAY_FILE: boards/nrf54l15dk_nrf54l15_cpuapp.overlay nrf5340dk/nrf5340/cpuapp: append: EXTRA_DTC_OVERLAY_FILE: boards/nrf5340dk_nrf5340_cpuapp.overlay diff --git a/tests/drivers/comparator/gpio_loopback/testcase.yaml b/tests/drivers/comparator/gpio_loopback/testcase.yaml index c315101fecd..cfeeabe3a69 100644 --- a/tests/drivers/comparator/gpio_loopback/testcase.yaml +++ b/tests/drivers/comparator/gpio_loopback/testcase.yaml @@ -23,6 +23,7 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf5340dk/nrf5340/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.comparator.gpio_loopback.nrf_lpcomp: extra_args: - SNIPPET="gpio_loopback_nrf_lpcomp" @@ -30,3 +31,4 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf5340dk/nrf5340/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/counter/counter_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/counter/counter_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..6683b77837a --- /dev/null +++ b/tests/drivers/counter/counter_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +#include "nrf54l15dk_nrf54l15_common.dtsi" diff --git a/tests/drivers/counter/counter_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay b/tests/drivers/counter/counter_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay new file mode 100644 index 00000000000..6683b77837a --- /dev/null +++ b/tests/drivers/counter/counter_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +#include "nrf54l15dk_nrf54l15_common.dtsi" diff --git a/tests/drivers/flash/common/testcase.yaml b/tests/drivers/flash/common/testcase.yaml index 973fb95b223..4010b82b931 100644 --- a/tests/drivers/flash/common/testcase.yaml +++ b/tests/drivers/flash/common/testcase.yaml @@ -48,6 +48,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.flash.common.tfm_ns: build_only: true filter: (CONFIG_FLASH_HAS_DRIVER_ENABLED and CONFIG_TRUSTED_EXECUTION_NONSECURE diff --git a/tests/drivers/flash/negative_tests/testcase.yaml b/tests/drivers/flash/negative_tests/testcase.yaml index 11a669c981f..5d2441f002e 100644 --- a/tests/drivers/flash/negative_tests/testcase.yaml +++ b/tests/drivers/flash/negative_tests/testcase.yaml @@ -9,3 +9,4 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/gpio/gpio_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/gpio/gpio_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..db939435dd1 --- /dev/null +++ b/tests/drivers/gpio/gpio_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + resources { + compatible = "test-gpio-basic-api"; + out-gpios = <&gpio1 10 0>; + in-gpios = <&gpio1 11 0>; + }; +}; + +&gpiote20 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; diff --git a/tests/drivers/gpio/gpio_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay b/tests/drivers/gpio/gpio_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay new file mode 100644 index 00000000000..945d543e753 --- /dev/null +++ b/tests/drivers/gpio/gpio_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay @@ -0,0 +1 @@ +#include "ophelia4ev_nrf54l15_cpuapp.overlay" diff --git a/tests/drivers/i2c/i2c_target_api/boards/ophelia4ev_nrf54l15_cpuapp.conf b/tests/drivers/i2c/i2c_target_api/boards/ophelia4ev_nrf54l15_cpuapp.conf new file mode 100644 index 00000000000..c8ffd42673e --- /dev/null +++ b/tests/drivers/i2c/i2c_target_api/boards/ophelia4ev_nrf54l15_cpuapp.conf @@ -0,0 +1,4 @@ +# Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_I2C_NRFX_TWIS_BUF_SIZE=256 diff --git a/tests/drivers/i2c/i2c_target_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/i2c/i2c_target_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..8e70cb694e4 --- /dev/null +++ b/tests/drivers/i2c/i2c_target_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * SDA = P1.8 and P1.9 + * SCL = P1.10 and P1.11 + */ + +&pinctrl { + i2c21_default: i2c21_default { + group1 { + psels = , + ; + bias-pull-up; + }; + }; + + i2c21_sleep: i2c21_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; + + i2c22_default: i2c22_default { + group1 { + psels = , + ; + bias-pull-up; + }; + }; + + i2c22_sleep: i2c22_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; + +&i2c21 { + pinctrl-0 = <&i2c21_default>; + pinctrl-1 = <&i2c21_sleep>; + pinctrl-names = "default", "sleep"; + zephyr,concat-buf-size = <256>; + status = "okay"; + + eeprom1: eeprom@56 { + compatible = "zephyr,i2c-target-eeprom"; + reg = <0x56>; + address-width = <8>; + size = <256>; + }; +}; + +&i2c22 { + compatible = "nordic,nrf-twis"; + pinctrl-0 = <&i2c22_default>; + pinctrl-1 = <&i2c22_sleep>; + pinctrl-names = "default", "sleep"; + status = "okay"; + + eeprom0: eeprom@54 { + compatible = "zephyr,i2c-target-eeprom"; + reg = <0x54>; + address-width = <8>; + size = <256>; + }; +}; diff --git a/tests/drivers/i2c/i2c_target_api/testcase.yaml b/tests/drivers/i2c/i2c_target_api/testcase.yaml index 5e732c5456e..1a0991f77ca 100644 --- a/tests/drivers/i2c/i2c_target_api/testcase.yaml +++ b/tests/drivers/i2c/i2c_target_api/testcase.yaml @@ -60,5 +60,6 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - max32690evkit/max32690/m4 diff --git a/tests/drivers/i2s/i2s_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/i2s/i2s_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..5637a121224 --- /dev/null +++ b/tests/drivers/i2s/i2s_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* i2s-node0 is the transmitter/receiver */ + +/ { + aliases { + i2s-node0 = &i2s20; + }; +}; + +&pinctrl { + i2s20_default_alt: i2s20_default_alt { + group1 { + psels = , + , + , + ; + }; + }; +}; + +&i2s20 { + status = "okay"; + pinctrl-0 = <&i2s20_default_alt>; + pinctrl-names = "default"; +}; diff --git a/tests/drivers/i2s/i2s_speed/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/i2s/i2s_speed/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..5637a121224 --- /dev/null +++ b/tests/drivers/i2s/i2s_speed/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* i2s-node0 is the transmitter/receiver */ + +/ { + aliases { + i2s-node0 = &i2s20; + }; +}; + +&pinctrl { + i2s20_default_alt: i2s20_default_alt { + group1 { + psels = , + , + , + ; + }; + }; +}; + +&i2s20 { + status = "okay"; + pinctrl-0 = <&i2s20_default_alt>; + pinctrl-names = "default"; +}; diff --git a/tests/drivers/mbox/mbox_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/mbox/mbox_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..e9203a635a6 --- /dev/null +++ b/tests/drivers/mbox/mbox_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + + mboxes = <&cpuapp_vevif_tx 21>, <&cpuapp_vevif_tx 32>, + <&cpuapp_vevif_rx 20>, <&cpuapp_vevif_rx 32>; + + mbox-names = "remote_valid", "remote_incorrect", + "local_valid", "local_incorrect"; + + }; +}; + +&cpuapp_vevif_rx { + status = "okay"; +}; + +&cpuapp_vevif_tx { + status = "okay"; +}; diff --git a/tests/drivers/mbox/mbox_error_cases/sample.yaml b/tests/drivers/mbox/mbox_error_cases/sample.yaml index f8d9937d0cf..2746a1c2904 100644 --- a/tests/drivers/mbox/mbox_error_cases/sample.yaml +++ b/tests/drivers/mbox/mbox_error_cases/sample.yaml @@ -17,6 +17,8 @@ tests: tests.drivers.mbox_error_cases.nrf54l: platform_allow: - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_args: SNIPPET=nordic-flpr diff --git a/tests/drivers/pwm/pwm_gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.conf b/tests/drivers/pwm/pwm_gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.conf new file mode 100644 index 00000000000..795414a504a --- /dev/null +++ b/tests/drivers/pwm/pwm_gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.conf @@ -0,0 +1 @@ +CONFIG_SKIP_EDGE_NUM=4 diff --git a/tests/drivers/pwm/pwm_gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/pwm/pwm_gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..4d4e96aeacb --- /dev/null +++ b/tests/drivers/pwm/pwm_gpio_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * SPDX-License-Identifier: Apache-2.0 + * + * Test requires jumper between: + * - PWM20 OUT[0] at P1.10 <-> GPIO input at P1.11 + */ + +/ { + zephyr,user { + pwms = <&pwm20 0 160000 PWM_POLARITY_NORMAL>; + gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/tests/drivers/pwm/pwm_gpio_loopback/testcase.yaml b/tests/drivers/pwm/pwm_gpio_loopback/testcase.yaml index 45c18be499e..52a98cb14b0 100644 --- a/tests/drivers/pwm/pwm_gpio_loopback/testcase.yaml +++ b/tests/drivers/pwm/pwm_gpio_loopback/testcase.yaml @@ -20,3 +20,4 @@ tests: platform_allow: - nrf54h20dk/nrf54h20/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/retained_mem/api/boards/ophelia4ev_nrf54l15_cpuapp.conf b/tests/drivers/retained_mem/api/boards/ophelia4ev_nrf54l15_cpuapp.conf new file mode 100644 index 00000000000..c15ba3ed96d --- /dev/null +++ b/tests/drivers/retained_mem/api/boards/ophelia4ev_nrf54l15_cpuapp.conf @@ -0,0 +1 @@ +CONFIG_POWEROFF=y diff --git a/tests/drivers/retained_mem/api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/retained_mem/api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..e304ecbbfb1 --- /dev/null +++ b/tests/drivers/retained_mem/api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,22 @@ +/ { + cpuapp_sram@2002e000 { + compatible = "zephyr,memory-region", "mmio-sram"; + reg = <0x2002e000 DT_SIZE_K(4)>; + zephyr,memory-region = "RetainedMem"; + status = "okay"; + + retainedmem0: retainedmem { + compatible = "zephyr,retained-ram"; + status = "okay"; + }; + }; + + aliases { + retainedmemtestdevice = &retainedmem0; + }; +}; + +&cpuapp_sram { + reg = <0x20000000 DT_SIZE_K(184)>; + ranges = <0x0 0x20000000 0x2e000>; +}; diff --git a/tests/drivers/retained_mem/api/testcase.yaml b/tests/drivers/retained_mem/api/testcase.yaml index 2ad60f6e3b4..7852742241b 100644 --- a/tests/drivers/retained_mem/api/testcase.yaml +++ b/tests/drivers/retained_mem/api/testcase.yaml @@ -15,6 +15,7 @@ tests: - nrf54l15dk/nrf54l10/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - qemu_cortex_m3 tags: diff --git a/tests/drivers/sensor/temp_sensor/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/sensor/temp_sensor/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..435e4f4a6cc --- /dev/null +++ b/tests/drivers/sensor/temp_sensor/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,3 @@ +temp_sensor: &temp { + status = "okay"; +}; diff --git a/tests/drivers/spi/spi_controller_peripheral/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/spi/spi_controller_peripheral/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..5b3a64e7fbc --- /dev/null +++ b/tests/drivers/spi/spi_controller_peripheral/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + spi22_default_alt: spi22_default_alt { + group1 { + psels = , + , + ; + }; + }; + + spi22_sleep_alt: spi22_sleep_alt { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; + + spi21_default_alt: spi21_default_alt { + group1 { + psels = , + , + , + ; + }; + }; + + spi21_sleep_alt: spi21_sleep_alt { + group1 { + psels = , + , + , + ; + low-power-enable; + }; + }; + +}; + +&gpio2 { + status = "okay"; +}; + +&spi22 { + status = "okay"; + pinctrl-0 = <&spi22_default_alt>; + pinctrl-1 = <&spi22_sleep_alt>; + pinctrl-names = "default", "sleep"; + overrun-character = <0x00>; + cs-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; + zephyr,pm-device-runtime-auto; + + dut_spi_dt: test-spi-dev@0 { + compatible = "vnd,spi-device"; + reg = <0>; + spi-max-frequency = ; + }; +}; + +dut_spis: &spi21 { + compatible = "nordic,nrf-spis"; + status = "okay"; + def-char = <0x00>; + pinctrl-0 = <&spi21_default_alt>; + pinctrl-1 = <&spi21_sleep_alt>; + pinctrl-names = "default", "sleep"; + /delete-property/rx-delay-supported; + /delete-property/rx-delay; + zephyr,pm-device-runtime-auto; +}; diff --git a/tests/drivers/spi/spi_controller_peripheral/testcase.yaml b/tests/drivers/spi/spi_controller_peripheral/testcase.yaml index ca153293f57..c06c1c077fe 100644 --- a/tests/drivers/spi/spi_controller_peripheral/testcase.yaml +++ b/tests/drivers/spi/spi_controller_peripheral/testcase.yaml @@ -13,6 +13,7 @@ common: - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad - nrf54h20dk/nrf54h20/cpuppr + - ophelia4ev/nrf54l15/cpuapp tests: drivers.spi.spi_mode0: @@ -65,6 +66,7 @@ tests: - nrf54h20dk/nrf54h20/cpurad - nrf54h20dk/nrf54h20/cpuppr - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.spi.spis_fast: # SPIS120 instance occupies P6 which is not available on nRF54H20 DK pin headers @@ -77,6 +79,7 @@ tests: - nrf54h20dk/nrf54h20/cpurad - nrf54h20dk/nrf54h20/cpuppr - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.spi.pm_runtime: extra_configs: diff --git a/tests/drivers/spi/spi_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/spi/spi_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..6e272f3f2db --- /dev/null +++ b/tests/drivers/spi/spi_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + spi22_default_alt: spi22_default_alt { + group1 { + psels = , + , + ; + }; + }; + + spi22_sleep_alt: spi22_sleep_alt { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; + + spi21_default_alt: spi21_default_alt { + group1 { + psels = , + , + , + ; + }; + }; + + spi21_sleep_alt: spi21_sleep_alt { + group1 { + psels = , + , + , + ; + low-power-enable; + }; + }; + +}; + +&gpio2 { + status = "okay"; +}; + +&spi22 { + status = "okay"; + pinctrl-0 = <&spi22_default_alt>; + pinctrl-1 = <&spi22_sleep_alt>; + pinctrl-names = "default", "sleep"; + overrun-character = <0x00>; + cs-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; + + dut_spi_dt: test-spi-dev@0 { + compatible = "vnd,spi-device"; + reg = <0>; + spi-max-frequency = <4000000>; + }; +}; + +dut_spis: &spi21 { + compatible = "nordic,nrf-spis"; + status = "okay"; + def-char = <0x00>; + pinctrl-0 = <&spi21_default_alt>; + pinctrl-1 = <&spi21_sleep_alt>; + pinctrl-names = "default", "sleep"; + /delete-property/rx-delay-supported; + /delete-property/rx-delay; +}; diff --git a/tests/drivers/spi/spi_error_cases/testcase.yaml b/tests/drivers/spi/spi_error_cases/testcase.yaml index 366b736d8fb..2f097fb072c 100644 --- a/tests/drivers/spi/spi_error_cases/testcase.yaml +++ b/tests/drivers/spi/spi_error_cases/testcase.yaml @@ -13,6 +13,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf52840dk/nrf52840 drivers.spi.spi_error_cases.fast: diff --git a/tests/drivers/spi/spi_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/spi/spi_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..4471d299ac1 --- /dev/null +++ b/tests/drivers/spi/spi_loopback/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KGs + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + spi00_default: spi00_default { + group1 { + psels = ; + }; + + group2 { + psels = , + ; + nordic,drive-mode = ; + }; + }; + + spi00_sleep: spi00_sleep { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; +}; + +/delete-node/ &mx25r64; + +&spi00 { + status = "okay"; + + pinctrl-0 = <&spi00_default>; + pinctrl-1 = <&spi00_sleep>; + pinctrl-names = "default", "sleep"; + + overrun-character = <0x00>; + zephyr,pm-device-runtime-auto; + + slow@0 { + compatible = "test-spi-loopback-slow"; + reg = <0>; + spi-max-frequency = ; + }; + + dut_fast: fast@0 { + compatible = "test-spi-loopback-fast"; + reg = <0>; + spi-max-frequency = ; + }; +}; + +&gpio2 { + status = "okay"; +}; diff --git a/tests/drivers/spi/spi_loopback/testcase.yaml b/tests/drivers/spi/spi_loopback/testcase.yaml index 24368df2f7c..56a69c3e092 100644 --- a/tests/drivers/spi/spi_loopback/testcase.yaml +++ b/tests/drivers/spi/spi_loopback/testcase.yaml @@ -248,16 +248,19 @@ tests: platform_allow: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.spi.nrf54l_16mhz: extra_args: EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_16mhz.overlay" platform_allow: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.spi.nrf54l_32mhz: extra_args: EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_32mhz.overlay" platform_allow: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.spi.ke1xz_flexio_spi.loopback: extra_args: DTC_OVERLAY_FILE="boards/frdm_ke1xz_flexio_spi.overlay" filter: CONFIG_DT_HAS_NXP_FLEXIO_ENABLED and diff --git a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml index 73dc8cc6170..a4716fb5446 100644 --- a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml +++ b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml @@ -10,5 +10,7 @@ tests: - nrf54h20dk/nrf54h20/cpurad - nrf54h20dk/nrf54h20/cpuppr - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuflpr integration_platforms: - nrf54l20pdk/nrf54l20/cpuapp diff --git a/tests/drivers/uart/uart_async_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/uart/uart_async_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..a1e29cbf0ff --- /dev/null +++ b/tests/drivers/uart/uart_async_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +&spi00 { + status = "disabled"; +}; + +&pinctrl { + uart21_default_alt: uart21_default_alt { + group1 { + psels = , + ; + }; + }; + + uart21_sleep_alt: uart21_sleep_alt { + group1 { + psels = , + ; + low-power-enable; + }; + }; + + uart00_default_alt: uart00_default_alt { + group1 { + psels = , + ; + }; + }; + + uart00_sleep_alt: uart00_sleep_alt { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; + +dut: &uart21 { + status = "okay"; + pinctrl-0 = <&uart21_default_alt>; + pinctrl-1 = <&uart21_sleep_alt>; + pinctrl-names = "default", "sleep"; + current-speed = <115200>; +}; + +dut2: &uart00 { + status = "okay"; + pinctrl-0 = <&uart00_default_alt>; + pinctrl-1 = <&uart00_sleep_alt>; + pinctrl-names = "default", "sleep"; + current-speed = <4000000>; +}; diff --git a/tests/drivers/uart/uart_async_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay b/tests/drivers/uart/uart_async_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay new file mode 100644 index 00000000000..945d543e753 --- /dev/null +++ b/tests/drivers/uart/uart_async_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay @@ -0,0 +1 @@ +#include "ophelia4ev_nrf54l15_cpuapp.overlay" diff --git a/tests/drivers/uart/uart_elementary/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/uart/uart_elementary/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..cf481b7a161 --- /dev/null +++ b/tests/drivers/uart/uart_elementary/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +&pinctrl { + uart21_default: uart21_default { + group1 { + psels = , + , + , + ; + }; + }; + + uart21_sleep: uart21_sleep { + group1 { + psels = , + , + , + ; + low-power-enable; + }; + }; +}; + +dut: &uart21 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart21_default>; + pinctrl-1 = <&uart21_sleep>; + pinctrl-names = "default", "sleep"; + hw-flow-control; +}; diff --git a/tests/drivers/uart/uart_elementary/boards/ophelia4ev_nrf54l15_cpuflpr.overlay b/tests/drivers/uart/uart_elementary/boards/ophelia4ev_nrf54l15_cpuflpr.overlay new file mode 100644 index 00000000000..cf481b7a161 --- /dev/null +++ b/tests/drivers/uart/uart_elementary/boards/ophelia4ev_nrf54l15_cpuflpr.overlay @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +&pinctrl { + uart21_default: uart21_default { + group1 { + psels = , + , + , + ; + }; + }; + + uart21_sleep: uart21_sleep { + group1 { + psels = , + , + , + ; + low-power-enable; + }; + }; +}; + +dut: &uart21 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart21_default>; + pinctrl-1 = <&uart21_sleep>; + pinctrl-names = "default", "sleep"; + hw-flow-control; +}; diff --git a/tests/drivers/uart/uart_elementary/testcase.yaml b/tests/drivers/uart/uart_elementary/testcase.yaml index 659f721d9f5..0e1e38eb28c 100644 --- a/tests/drivers/uart/uart_elementary/testcase.yaml +++ b/tests/drivers/uart/uart_elementary/testcase.yaml @@ -16,6 +16,8 @@ tests: - nrf54l20pdk/nrf54l20/cpuapp - nrf54l15dk/nrf54l15/cpuflpr - nrf5340dk/nrf5340/cpuapp + - ophelia4ev/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuflpr - esp32_devkitc_wrover/esp32/procpu - esp8684_devkitm - esp32c3_devkitm @@ -53,6 +55,7 @@ tests: platform_allow: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_args: DTC_OVERLAY_FILE="boards/nrf54l15dk_nrf54l15_cpuapp_dual_uart.overlay" extra_configs: - CONFIG_DUAL_UART_TEST=y @@ -61,6 +64,7 @@ tests: platform_allow: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_args: DTC_OVERLAY_FILE="boards/nrf54l15dk_nrf54l15_cpuapp_dual_uart.overlay" extra_configs: - CONFIG_DUAL_UART_TEST=y @@ -69,6 +73,7 @@ tests: filter: CONFIG_SERIAL_SUPPORT_INTERRUPT platform_allow: - nrf54l15dk/nrf54l15/cpuflpr + - ophelia4ev/nrf54l15/cpuflpr extra_args: DTC_OVERLAY_FILE="boards/nrf54l15dk_nrf54l15_cpuflpr_dual_uart.overlay" extra_configs: - CONFIG_DUAL_UART_TEST=y @@ -76,6 +81,7 @@ tests: filter: CONFIG_SERIAL_SUPPORT_INTERRUPT platform_allow: - nrf54l15dk/nrf54l15/cpuflpr + - ophelia4ev/nrf54l15/cpuflpr extra_args: DTC_OVERLAY_FILE="boards/nrf54l15dk_nrf54l15_cpuflpr_dual_uart.overlay" extra_configs: - CONFIG_DUAL_UART_TEST=y diff --git a/tests/drivers/uart/uart_errors/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/uart/uart_errors/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..a1748b3784b --- /dev/null +++ b/tests/drivers/uart/uart_errors/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +&pinctrl { + uart21_default: uart21_default { + group1 { + psels = , + ; + }; + }; + + uart21_sleep: uart21_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; + + uart22_default: uart22_default { + group1 { + psels = + ; + bias-pull-up; + }; + + group2 { + psels = ; + }; + }; + + uart22_sleep: uart22_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; + +dut: &uart21 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart21_default>; + pinctrl-1 = <&uart21_sleep>; + pinctrl-names = "default", "sleep"; +}; + +dut_aux: &uart22 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart22_default>; + pinctrl-1 = <&uart22_sleep>; + pinctrl-names = "default", "sleep"; + disable-rx; +}; diff --git a/tests/drivers/uart/uart_errors/testcase.yaml b/tests/drivers/uart/uart_errors/testcase.yaml index 9df414075b0..d303c73b600 100644 --- a/tests/drivers/uart/uart_errors/testcase.yaml +++ b/tests/drivers/uart/uart_errors/testcase.yaml @@ -14,6 +14,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf5340dk/nrf5340/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.uart.uart_errors.async: filter: CONFIG_SERIAL_SUPPORT_ASYNC platform_allow: @@ -21,6 +22,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf5340dk/nrf5340/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_configs: - CONFIG_UART_ASYNC_API=y - CONFIG_UART_INTERRUPT_DRIVEN=n diff --git a/tests/drivers/uart/uart_mix_fifo_poll/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/uart/uart_mix_fifo_poll/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..35378db2585 --- /dev/null +++ b/tests/drivers/uart/uart_mix_fifo_poll/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + uart21_default: uart21_default { + group1 { + psels = , + , + , + ; + }; + }; + + uart21_sleep: uart21_sleep { + group1 { + psels = , + , + , + ; + low-power-enable; + }; + }; +}; + +dut: &uart21 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart21_default>; + pinctrl-1 = <&uart21_sleep>; + pinctrl-names = "default", "sleep"; + hw-flow-control; +}; + +counter_dev: &timer00 { + status = "okay"; +}; + +&grtc { + interrupts = <228 2>; +}; diff --git a/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml b/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml index a5bee9fa9ec..0ff023748d2 100644 --- a/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml +++ b/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml @@ -15,6 +15,7 @@ common: - nrf54l15bsim/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad + - ophelia4ev/nrf54l15/cpuapp - nrf52_bsim integration_platforms: - nrf52840dk/nrf52840 diff --git a/tests/drivers/uart/uart_pm/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/uart/uart_pm/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..fec91b746a2 --- /dev/null +++ b/tests/drivers/uart/uart_pm/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + uart21_default: uart21_default { + group1 { + psels = , + ; + }; + }; + + uart21_sleep: uart21_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; + +/ { + chosen { + zephyr,console = &uart20; + }; +}; + +dut: &uart21 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart21_default>; + pinctrl-1 = <&uart21_sleep>; + pinctrl-names = "default", "sleep"; +}; diff --git a/tests/drivers/uart/uart_pm/testcase.yaml b/tests/drivers/uart/uart_pm/testcase.yaml index 95cfd4a0ff6..329b5546b8b 100644 --- a/tests/drivers/uart/uart_pm/testcase.yaml +++ b/tests/drivers/uart/uart_pm/testcase.yaml @@ -12,6 +12,7 @@ common: - nrf54h20dk/nrf54h20/cpuapp - nrf52_bsim - nrf5340bsim/nrf5340/cpuapp + - ophelia4ev/nrf54l15/cpuapp harness_config: fixture: gpio_loopback depends_on: gpio @@ -38,6 +39,7 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf52_bsim - nrf5340bsim/nrf5340/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.uart.pm.enhanced_poll: extra_configs: @@ -49,6 +51,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.uart.pm.int_driven: extra_configs: @@ -68,6 +71,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.uart.pm.async: extra_configs: @@ -87,3 +91,4 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/watchdog/wdt_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/watchdog/wdt_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..cb831fea279 --- /dev/null +++ b/tests/drivers/watchdog/wdt_basic_api/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&wdt31 { + status = "okay"; +}; diff --git a/tests/drivers/watchdog/wdt_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay b/tests/drivers/watchdog/wdt_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay new file mode 100644 index 00000000000..025e0b8aedb --- /dev/null +++ b/tests/drivers/watchdog/wdt_basic_api/boards/ophelia4ev_nrf54l15_cpuflpr.overlay @@ -0,0 +1,8 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * SPDX-License-Identifier: Apache-2.0 + */ + +&wdt31 { + status = "okay"; +}; diff --git a/tests/drivers/watchdog/wdt_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/watchdog/wdt_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..cb831fea279 --- /dev/null +++ b/tests/drivers/watchdog/wdt_error_cases/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&wdt31 { + status = "okay"; +}; diff --git a/tests/drivers/watchdog/wdt_error_cases/testcase.yaml b/tests/drivers/watchdog/wdt_error_cases/testcase.yaml index 741b379caca..78bafd36729 100644 --- a/tests/drivers/watchdog/wdt_error_cases/testcase.yaml +++ b/tests/drivers/watchdog/wdt_error_cases/testcase.yaml @@ -16,5 +16,7 @@ tests: - nrf54h20dk/nrf54h20/cpurad - nrf9280pdk/nrf9280/cpuapp - nrf9280pdk/nrf9280/cpurad + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/watchdog/wdt_variables/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/drivers/watchdog/wdt_variables/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..cb831fea279 --- /dev/null +++ b/tests/drivers/watchdog/wdt_variables/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&wdt31 { + status = "okay"; +}; diff --git a/tests/drivers/watchdog/wdt_variables/testcase.yaml b/tests/drivers/watchdog/wdt_variables/testcase.yaml index 3f230886acd..3ed2ad90b11 100644 --- a/tests/drivers/watchdog/wdt_variables/testcase.yaml +++ b/tests/drivers/watchdog/wdt_variables/testcase.yaml @@ -17,8 +17,10 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp drivers.watchdog.wdt_variables.54h_flpr: platform_allow: diff --git a/tests/subsys/fs/fcb/testcase.yaml b/tests/subsys/fs/fcb/testcase.yaml index a7638b7d873..c8351b8dcf2 100644 --- a/tests/subsys/fs/fcb/testcase.yaml +++ b/tests/subsys/fs/fcb/testcase.yaml @@ -15,6 +15,7 @@ tests: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l20pdk/nrf54l20/cpuapp + - ophelia4ev/nrf54l15/cpuapp - native_sim integration_platforms: - nrf54l09pdk/nrf54l09/cpuapp diff --git a/tests/subsys/fs/littlefs/boards/ophelia4ev_nrf54l15_cpuapp.overlay b/tests/subsys/fs/littlefs/boards/ophelia4ev_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..64bfe273c9d --- /dev/null +++ b/tests/subsys/fs/littlefs/boards/ophelia4ev_nrf54l15_cpuapp.overlay @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2025 Würth Elektronik eiSos GmbH & Co. KG + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/delete-node/ &slot0_ns_partition; +/delete-node/ &slot1_partition; +/delete-node/ &slot1_ns_partition; + +&cpuapp_rram { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + small_partition: partition@67000 { + label = "small"; + reg = <0x00067000 0x00010000>; + }; + }; +}; diff --git a/tests/subsys/fs/littlefs/testcase.yaml b/tests/subsys/fs/littlefs/testcase.yaml index 9238188a334..5fd2ec5b765 100644 --- a/tests/subsys/fs/littlefs/testcase.yaml +++ b/tests/subsys/fs/littlefs/testcase.yaml @@ -17,6 +17,7 @@ tests: timeout: 60 platform_allow: - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - s32z2xxdc2/s32z270/rtu0 - s32z2xxdc2/s32z270/rtu1 - s32z2xxdc2@D/s32z270/rtu0 diff --git a/tests/subsys/secure_storage/psa/crypto/testcase.yaml b/tests/subsys/secure_storage/psa/crypto/testcase.yaml index 1482d23cb6c..8755a5a1935 100644 --- a/tests/subsys/secure_storage/psa/crypto/testcase.yaml +++ b/tests/subsys/secure_storage/psa/crypto/testcase.yaml @@ -8,6 +8,7 @@ tests: integration_platforms: - native_sim - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp secure_storage.psa.crypto.tfm: filter: CONFIG_BUILD_WITH_TFM extra_args: EXTRA_CONF_FILE=overlay-tfm.conf diff --git a/tests/subsys/secure_storage/psa/its/testcase.yaml b/tests/subsys/secure_storage/psa/its/testcase.yaml index d84a14dad84..05f1c1b9a6a 100644 --- a/tests/subsys/secure_storage/psa/its/testcase.yaml +++ b/tests/subsys/secure_storage/psa/its/testcase.yaml @@ -2,6 +2,7 @@ common: integration_platforms: - native_sim - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp platform_exclude: - qemu_cortex_m0 # settings subsystem initialization fails timeout: 600 @@ -23,6 +24,7 @@ tests: - nrf9151dk/nrf9151 - nrf9160dk/nrf9160 - nrf9161dk/nrf9161 + - ophelia4ev/nrf54l15/cpuapp extra_args: - EXTRA_DTC_OVERLAY_FILE=zms.overlay - EXTRA_CONF_FILE=overlay-secure_storage.conf;overlay-store_zms.conf;overlay-transform_default.conf diff --git a/tests/subsys/settings/performance/testcase.yaml b/tests/subsys/settings/performance/testcase.yaml index 24f0fc16f2d..efbd2115234 100644 --- a/tests/subsys/settings/performance/testcase.yaml +++ b/tests/subsys/settings/performance/testcase.yaml @@ -7,6 +7,7 @@ tests: platform_allow: - nrf52840dk/nrf52840 - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - mps2/an385 integration_platforms: - mps2/an385 @@ -26,6 +27,7 @@ tests: platform_allow: - nrf52840dk/nrf52840 - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp - mps2/an385 integration_platforms: - mps2/an385 diff --git a/tests/subsys/storage/stream/stream_flash/testcase.yaml b/tests/subsys/storage/stream/stream_flash/testcase.yaml index 02833dc6336..3dc0a660f2f 100644 --- a/tests/subsys/storage/stream/stream_flash/testcase.yaml +++ b/tests/subsys/storage/stream/stream_flash/testcase.yaml @@ -24,6 +24,7 @@ tests: platform_allow: - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuapp extra_configs: # Tests, currently, can only support single device testing # and platform enabling SPI NOR automatically brings in a device with