From cd0ef1ad27950b7a855baf4056a3f3b6ebb9b078 Mon Sep 17 00:00:00 2001 From: Yong Cong Sin Date: Tue, 20 Feb 2024 12:17:05 +0800 Subject: [PATCH] tests: drivers: build_all: intc: add a common build-only test Add a generic build-only test for: - intc_nxp_irqsteer - intc_cavs - intc_rv32m1_intmux - intc_dw_ace - intc_dw Signed-off-by: Yong Cong Sin --- .../common/CMakeLists.txt | 8 ++++ .../boards/imx8mp_evk_mimx8ml8_adsp.conf | 14 ++++++ .../boards/imx8mp_evk_mimx8ml8_adsp.overlay | 46 +++++++++++++++++++ .../boards/intel_adsp_ace20_lnl.overlay | 21 +++++++++ .../interrupt_controller/common/prj.conf | 3 ++ .../interrupt_controller/common/src/main.c | 10 ++++ .../interrupt_controller/common/testcase.yaml | 21 +++++++++ 7 files changed, 123 insertions(+) create mode 100644 tests/drivers/build_all/interrupt_controller/common/CMakeLists.txt create mode 100644 tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.conf create mode 100644 tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.overlay create mode 100644 tests/drivers/build_all/interrupt_controller/common/boards/intel_adsp_ace20_lnl.overlay create mode 100644 tests/drivers/build_all/interrupt_controller/common/prj.conf create mode 100644 tests/drivers/build_all/interrupt_controller/common/src/main.c create mode 100644 tests/drivers/build_all/interrupt_controller/common/testcase.yaml diff --git a/tests/drivers/build_all/interrupt_controller/common/CMakeLists.txt b/tests/drivers/build_all/interrupt_controller/common/CMakeLists.txt new file mode 100644 index 00000000000..213deed619d --- /dev/null +++ b/tests/drivers/build_all/interrupt_controller/common/CMakeLists.txt @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.20.0) +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +project(common) + +FILE(GLOB app_sources src/*.c) +target_sources(app PRIVATE ${app_sources}) diff --git a/tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.conf b/tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.conf new file mode 100644 index 00000000000..d8e1b2f7fe1 --- /dev/null +++ b/tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.conf @@ -0,0 +1,14 @@ +# Copyright (c) 2024 Meta +# SPDX-License-Identifier: Apache-2.0 + +# Made-up config to build intc_nxp_irqsteer.c, refer to: +# https://github.com/zephyrproject-rtos/zephyr/pull/62776#issuecomment-1727846332 + +CONFIG_MULTI_LEVEL_INTERRUPTS=y +CONFIG_2ND_LEVEL_INTERRUPTS=y +CONFIG_2ND_LVL_ISR_TBL_OFFSET=32 +CONFIG_MAX_IRQ_PER_AGGREGATOR=64 +CONFIG_NUM_2ND_LEVEL_AGGREGATORS=3 +CONFIG_2ND_LVL_INTR_00_OFFSET=19 +CONFIG_2ND_LVL_INTR_01_OFFSET=20 +CONFIG_2ND_LVL_INTR_02_OFFSET=21 diff --git a/tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.overlay b/tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.overlay new file mode 100644 index 00000000000..9da8bafefc1 --- /dev/null +++ b/tests/drivers/build_all/interrupt_controller/common/boards/imx8mp_evk_mimx8ml8_adsp.overlay @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2024 Meta + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * Made-up devicetree to build intc_nxp_irqsteer.c, refer to: + * https://github.com/zephyrproject-rtos/zephyr/pull/62776#issuecomment-1727846332 + */ + + /{ + soc { + irqsteer: interrupt-controller@30a80000 { + compatible = "nxp,irqsteer-intc"; + reg = <0x30a80000 DT_SIZE_K(64)>; + + #size-cells = <0>; + #address-cells = <1>; + + master0: interrupt-controller@0 { + compatible = "nxp,irqsteer-master"; + reg = <0>; + interrupt-controller; + #interrupt-cells = <1>; + interrupts-extended = <&clic 19 0 0>; + }; + + master1: interrupt-controller@1 { + compatible = "nxp,irqsteer-master"; + reg = <1>; + interrupt-controller; + #interrupt-cells = <1>; + interrupts-extended = <&clic 20 0 0>; + }; + + master2: interrupt-controller@2 { + compatible = "nxp,irqsteer-master"; + reg = <2>; + interrupt-controller; + #interrupt-cells = <1>; + interrupts-extended = <&clic 21 0 0>; + }; + }; + }; +}; diff --git a/tests/drivers/build_all/interrupt_controller/common/boards/intel_adsp_ace20_lnl.overlay b/tests/drivers/build_all/interrupt_controller/common/boards/intel_adsp_ace20_lnl.overlay new file mode 100644 index 00000000000..e0594ff091a --- /dev/null +++ b/tests/drivers/build_all/interrupt_controller/common/boards/intel_adsp_ace20_lnl.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2024 Meta + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Made-up devicetree to build intc_dw.c */ + + /{ + soc { + dw_intc: dw_intc@7a000 { + compatible = "snps,designware-intc"; + reg = <0x7a000 0xc00>; + interrupt-controller; + #interrupt-cells = <3>; + interrupts = <6 0 0>; + num-irqs = <28>; + interrupt-parent = <&core_intc>; + }; + }; +}; diff --git a/tests/drivers/build_all/interrupt_controller/common/prj.conf b/tests/drivers/build_all/interrupt_controller/common/prj.conf new file mode 100644 index 00000000000..4fac64b8a33 --- /dev/null +++ b/tests/drivers/build_all/interrupt_controller/common/prj.conf @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_TEST=y diff --git a/tests/drivers/build_all/interrupt_controller/common/src/main.c b/tests/drivers/build_all/interrupt_controller/common/src/main.c new file mode 100644 index 00000000000..689c8bf6b53 --- /dev/null +++ b/tests/drivers/build_all/interrupt_controller/common/src/main.c @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2024 Meta + * + * SPDX-License-Identifier: Apache-2.0 + */ + +int main(void) +{ + return 0; +} diff --git a/tests/drivers/build_all/interrupt_controller/common/testcase.yaml b/tests/drivers/build_all/interrupt_controller/common/testcase.yaml new file mode 100644 index 00000000000..98b9d2ac1d8 --- /dev/null +++ b/tests/drivers/build_all/interrupt_controller/common/testcase.yaml @@ -0,0 +1,21 @@ +common: + build_only: true + tags: + - drivers + - interrupt +tests: + drivers.interrupt_controller.common.intc_nxp_irqsteer.build: + platform_allow: + - imx8mp_evk/mimx8ml8/adsp + drivers.interrupt_controller.common.intc_cavs.build: + platform_allow: + - intel_adsp/cavs25 + drivers.interrupt_controller.common.intc_rv32m1_intmux.build: + platform_allow: + - rv32m1_vega/openisa_rv32m1/zero_riscy + drivers.interrupt_controller.common.intc_dw_ace.build: + platform_allow: + - intel_adsp/ace15_mtpm + drivers.interrupt_controller.common.intc_dw.build: + platform_allow: + - intel_adsp/ace20_lnl