zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.8k stars 6.58k forks source link

"Missing #address-cells in interrupt provider" warnings when building certain platforms #71068

Closed de-nordic closed 5 months ago

de-nordic commented 7 months ago

Describe the bug This kind of warnings:

zephyr.dts:26.19-31.4: Warning (interrupt_provider): /arcv2-intc: Missing #address-cells in interrupt provider

appear when building tests for following platforms: qemu_cortex_r5 qemu_cortex_a9 qemu_leon3 qemu_arc_qemu_arc_hs6x qemu_arc/qemu_arc_hs
qemu_arc/qemu_arc_em
qemu_arc/qemu_arc_hs5x
qemu_arc/qemu_arc_hs/xip

To Reproduce Steps to reproduce the behavior, pick a platform from a list, do:

  1. twister -p \<platform> -T zephyr/tests/subsys/fs/fs_api/
  2. see a log

Expected behavior No warning.

Impact It warnings me.

Environment (please complete the following information):

Additional context Too tired to figure out the right values and where to put them, somebody else is fixing this.

nashif commented 6 months ago

not able to repdouce this or get the warnings in the title, can you please provide some more details? I built using twister/west and was not able to see the warnings anywhere, maybe I am missing something?

de-nordic commented 6 months ago

So now I am using the Zephyr at sha 3b895064afaf7924a80def09bd1edeefa61ebc9f and doing this:

twister -p qemu_cortex_r5 -T tests/subsys/fs/fs_api/

from within the Zephyr dir. (and after waiting for ages it takes to run test on my machine) I got this:

$$ twister -p qemu_cortex_r5 -T tests/subsys/fs/fs_api/
Renaming output directory to <redacted>/zephyrproject-clean/zephyr/twister-out.5
INFO    - Using Ninja..
INFO    - Zephyr version: v3.6.0-2341-g3b895064afaf
INFO    - Using 'zephyr' toolchain.
INFO    - Building initial testsuite list...
INFO    - Writing JSON report <redacted>zephyrproject-clean/zephyr/twister-out/testplan.json
INFO    - JOBS: 6
INFO    - Adding tasks to the queue...
INFO    - Added initial list of jobs to queue
ERROR   - qemu_cortex_r5            tests/subsys/fs/fs_api/filesystem.api               FAILED : Unknown
ERROR   - see: <redacted>/zephyrproject-clean/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/build.log
INFO    - Total complete:    1/   1  100%  skipped:    0, failed:    1, error:    0
INFO    - 1 test scenarios (1 test instances) selected, 0 configurations skipped (0 by static filter, 0 at runtime).
INFO    - 0 of 1 test configurations passed (0.00%), 1 failed, 0 errored, 0 skipped with 0 warnings in 69.81 seconds
INFO    - In total 11 test cases were executed, 0 skipped on 1 out of total 711 platforms (0.14%)
INFO    - 0 test configurations executed on platforms, 1 test configurations were only built.
INFO    - Saving reports...
INFO    - Writing JSON report <redacted>/zephyrproject-clean/zephyr/twister-out/twister.json
INFO    - Writing xunit report <redacted>/zephyrproject-clean/zephyr/twister-out/twister.xml...
INFO    - Writing xunit report <redacted>/zephyrproject-clean/zephyr/twister-out/twister_report.xml...
INFO    - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
INFO    - The following issues were found (showing the top 10 items):
INFO    - 1) tests/subsys/fs/fs_api/filesystem.api on qemu_cortex_r5 failed (Unknown)
INFO    -
INFO    - To rerun the tests, call twister using the following commandline:
INFO    - west twister -p <PLATFORM> -s <TEST ID>, for example:
INFO    -
INFO    - west twister -p qemu_cortex_r5 -s tests/subsys/fs/fs_api/filesystem.api
INFO    - or with west:
INFO    - west build -p -b qemu_cortex_r5 tests/subsys/fs/fs_api -T filesystem.api
INFO    - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

in the log that is listed above I have:

-- Found host-tools: zephyr 0.16.1 (<redacted>/zephyr-sdk)
-- Found toolchain: zephyr 0.16.1 (<redacted>/zephyr-sdk)
-- Found Dtc: /usr/bin/dtc (found suitable version "1.6.1", minimum required is "1.4.6")
-- Found BOARD.dts: <redacted>/zephyrproject-clean/zephyr/boards/qemu/cortex_r5/qemu_cortex_r5.dts
-- Generated zephyr.dts: <redacted>/zephyrproject-clean/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/zephyr.dts
-- Generated devicetree_generated.h: <redacted>/zephyrproject-clean/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: <redacted>/zephyrproject-clean/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/dts.cmake
<redacted>/zephyrproject-clean/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/zephyr.dts:270.38-277.5: Warning (interrupt_provider): /soc/interrupt-controller@f9000000: Missing #address-cells in interrupt provider

and the last lines are: image

nashif commented 6 months ago

strange, the test passed for me (it built) and I do not get any warnings...

grep interrupt_provider twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/build.log

yields nothing and the build log is clean:

-- Found host-tools: zephyr 0.16.4 (/home/nashif/bin/zephyr-sdk-0.16.4)
-- Found toolchain: zephyr 0.16.4 (/home/nashif/bin/zephyr-sdk-0.16.4)
-- Found Dtc: /home/nashif/bin/zephyr-sdk-0.16.4/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/nashif/zephyrproject/zephyr/boards/qemu/cortex_r5/qemu_cortex_r5.dts
-- Generated zephyr.dts: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/dts.cmake
Parsing /home/nashif/zephyrproject/zephyr/Kconfig
Loaded configuration '/home/nashif/zephyrproject/zephyr/boards/qemu/cortex_r5/qemu_cortex_r5_defconfig'
Merged configuration '/home/nashif/zephyrproject/zephyr/tests/subsys/fs/fs_api/prj.conf'
Merged configuration '/home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/misc/generated/extra_kconfig_options.conf'
Configuration saved to '/home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/.config'
Kconfig header saved to '/home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/include/generated/autoconf.h'
-- Found GnuLd: /home/nashif/bin/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd (found version "2.38")
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/nashif/bin/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Using ccache: /usr/bin/ccache
-- Configuring done (5.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api
[1/126] Preparing syscall dependency handling

what sdk version are you using?

de-nordic commented 6 months ago

strange, the test passed for me (it built) and I do not get any warnings...

grep interrupt_provider twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/build.log

yields nothing and the build log is clean:

-- Found host-tools: zephyr 0.16.4 (/home/nashif/bin/zephyr-sdk-0.16.4)
-- Found toolchain: zephyr 0.16.4 (/home/nashif/bin/zephyr-sdk-0.16.4)
-- Found Dtc: /home/nashif/bin/zephyr-sdk-0.16.4/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/nashif/zephyrproject/zephyr/boards/qemu/cortex_r5/qemu_cortex_r5.dts
-- Generated zephyr.dts: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/dts.cmake
Parsing /home/nashif/zephyrproject/zephyr/Kconfig
Loaded configuration '/home/nashif/zephyrproject/zephyr/boards/qemu/cortex_r5/qemu_cortex_r5_defconfig'
Merged configuration '/home/nashif/zephyrproject/zephyr/tests/subsys/fs/fs_api/prj.conf'
Merged configuration '/home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/misc/generated/extra_kconfig_options.conf'
Configuration saved to '/home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/.config'
Kconfig header saved to '/home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api/zephyr/include/generated/autoconf.h'
-- Found GnuLd: /home/nashif/bin/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd (found version "2.38")
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/nashif/bin/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Using ccache: /usr/bin/ccache
-- Configuring done (5.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/nashif/zephyrproject/zephyr/twister-out/qemu_cortex_r5/tests/subsys/fs/fs_api/filesystem.api
[1/126] Preparing syscall dependency handling

what sdk version are you using?

The zephyr-sdk-0.16.1. I'll get this https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.16.5-1 and check again.

de-nordic commented 6 months ago

Sorry, I still get the thing: image

This is my system:

$$ uname -a
Linux local-bm 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

sdk https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.16.5-1 , got it today.

This is Zephyr sha: 3b895064afaf7924a80def09bd1edeefa61ebc9f The west update has been done. I run pip3 install -U -r on everything from scripts dir. apt update gives no updates required.

nashif commented 6 months ago

ok, will look on some other machine and another environment. Thanks.

de-nordic commented 6 months ago

ok, will look on some other machine and another environment. Thanks.

Sure, no problem. If you get any more idea I should test, let me know.

nashif commented 5 months ago

tried to reproduce again with no luck, cell-address is not required afaik, so not sure what is going on. Asked many other to try and it works.

ceolin commented 5 months ago

I couldn't reproduce it too. Using zephyr 0.16.6

teburd commented 5 months ago

What version of python and cmake? does it happen if you build and run the test without twister involved?

de-nordic commented 5 months ago

What version of python and cmake? does it happen if you build and run the test without twister involved?

$$ cmake --version
cmake version 3.27.7
$$ python3 --version
Python 3.10.12

give me a moment to check get back to this and check with west.

de-nordic commented 5 months ago

OK, so with the Zephyr at adeb19b30cbfb3552cb2d19c6c6676a872afe6c0, using, for example:

rm -r builds/qcr5_fs_api 
west build -b qemu_cortex_r5 -d builds/qcr5_fs_api  zephyr/tests/subsys/fs/fs_api/

I get this: image

west update was done on the branch with the sha as mentioned.

teburd commented 5 months ago

I didn't run into any problems myself either, did you look at the generated zephyr.dts?

(env) ~/z/zephyr ❯❯❯ which python
/home/tburdick/zephyrtrees/env/bin/python
(env) ~/z/zephyr ❯❯❯ which cmake
/usr/bin/cmake
(env) ~/z/zephyr ❯❯❯ python --version
Python 3.12.3
(env) ~/z/zephyr ❯❯❯ cmake --version
cmake version 3.29.3

CMake suite maintained and supported by Kitware (kitware.com/cmake).
(env) ~/z/zephyr ❯❯❯ cat ~/zephyr-sdk/sdk_version
0.16.1
(env) ~/z/zephyr ❯❯❯ cd ..
(env) ~/zephyrtrees ❯❯❯ ls
bootloader  builds  env  modules  optional  tools  zephyr
(env) ~/zephyrtrees ❯❯❯ west build -p always -b qemu_cortex_r5 -d builds/qcr5_fs_api zephyr/tests/subsys/fs/fs_api
-- west build: making build dir /home/tburdick/zephyrtrees/builds/qcr5_fs_api pristine
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /home/tburdick/zephyrtrees/zephyr/tests/subsys/fs/fs_api
-- CMake version: 3.29.3
-- Found Python3: /home/tburdick/zephyrtrees/env/bin/python (found suitable version "3.12.3", minimum required is "3.8") found components: Interpreter
-- Cache files will be written to: /home/tburdick/.cache/zephyr
-- Zephyr version: 3.6.99 (/home/tburdick/zephyrtrees/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: qemu_cortex_r5, qualifiers: zynqmp_rpu
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.16.1 (/home/tburdick/zephyr-sdk)
-- Found toolchain: zephyr 0.16.1 (/home/tburdick/zephyr-sdk)
-- Found Dtc: /home/tburdick/zephyr-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/tburdick/zephyrtrees/zephyr/boards/qemu/cortex_r5/qemu_cortex_r5.dts
-- Generated zephyr.dts: /home/tburdick/zephyrtrees/builds/qcr5_fs_api/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /home/tburdick/zephyrtrees/builds/qcr5_fs_api/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: /home/tburdick/zephyrtrees/builds/qcr5_fs_api/zephyr/dts.cmake
Parsing /home/tburdick/zephyrtrees/zephyr/Kconfig
Loaded configuration '/home/tburdick/zephyrtrees/zephyr/boards/qemu/cortex_r5/qemu_cortex_r5_defconfig'
Merged configuration '/home/tburdick/zephyrtrees/zephyr/tests/subsys/fs/fs_api/prj.conf'
Configuration saved to '/home/tburdick/zephyrtrees/builds/qcr5_fs_api/zephyr/.config'
Kconfig header saved to '/home/tburdick/zephyrtrees/builds/qcr5_fs_api/zephyr/include/generated/autoconf.h'
-- Found GnuLd: /home/tburdick/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version "2.38")
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/tburdick/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Using ccache: /usr/bin/ccache
-- Configuring done (6.7s)
-- Generating done (0.1s)
-- Build files have been written to: /home/tburdick/zephyrtrees/builds/qcr5_fs_api
-- west build: building application
[1/126] Preparing syscall dependency handling

[2/126] Generating include/generated/version.h
-- Zephyr version: 3.6.99 (/home/tburdick/zephyrtrees/zephyr), build: v3.6.0-4147-gadeb19b30cbf
[126/126] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:          0 GB        32 MB      0.00%
             RAM:       72932 B        64 MB      0.11%
             OCM:          0 GB       256 KB      0.00%
        IDT_LIST:          0 GB        32 KB      0.00%
Generating files from /home/tburdick/zephyrtrees/builds/qcr5_fs_api/zephyr/zephyr.elf for board: qemu_cortex_r5

Generated zephyr.dts

/dts-v1/;

/ {
    #address-cells = < 0x1 >;
    #size-cells = < 0x1 >;
    model = "QEMU Cortex-R5";
    compatible = "xlnx,zynqmp-qemu";
    chosen {
        zephyr,sram = &sram0;
        zephyr,flash = &flash0;
        zephyr,console = &uart0;
        zephyr,shell-uart = &uart0;
        zephyr,ocm = &ocm;
    };
    aliases {
    };
    soc {
        #address-cells = < 0x1 >;
        #size-cells = < 0x1 >;
        compatible = "simple-bus";
        ranges;
        interrupt-parent = < &gic >;
        pinctrl: pinctrl@ff180000 {
            reg = < 0xff180000 0xc80 >;
            compatible = "xlnx,pinctrl-zynqmp";
        };
        flash0: flash@c0000000 {
            compatible = "soc-nv-flash";
            reg = < 0xc0000000 0x2000000 >;
        };
        sram0: memory@0 {
            compatible = "mmio-sram";
            reg = < 0x0 0x4000000 >;
        };
        ocm: memory@fffc0000 {
            compatible = "zephyr,memory-region", "xlnx,zynq-ocm";
            reg = < 0xfffc0000 0x40000 >;
            zephyr,memory-region = "OCM";
        };
        uart0: uart@ff000000 {
            compatible = "xlnx,xuartps";
            reg = < 0xff000000 0x4c >;
            status = "okay";
            interrupts = < 0x0 0x15 0x2 0xa0 >;
            interrupt-names = "irq_0";
            current-speed = < 0x1c200 >;
            clock-frequency = < 0x5f5e09d >;
        };
        uart1: uart@ff010000 {
            compatible = "xlnx,xuartps";
            reg = < 0xff010000 0x4c >;
            status = "disabled";
            interrupts = < 0x0 0x16 0x2 0xa0 >;
            interrupt-names = "irq_0";
        };
        ttc0: timer@ff110000 {
            compatible = "xlnx,ttcps";
            status = "okay";
            interrupts = < 0x0 0x24 0x2 0xa0 >, < 0x0 0x25 0x2 0xa0 >, < 0x0 0x26 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1", "irq_2";
            reg = < 0xff110000 0x1000 >;
            clock-frequency = < 0x4c4b40 >;
        };
        ttc1: timer@ff120000 {
            compatible = "xlnx,ttcps";
            status = "disabled";
            interrupts = < 0x0 0x27 0x2 0xa0 >, < 0x0 0x28 0x2 0xa0 >, < 0x0 0x29 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1", "irq_2";
            reg = < 0xff120000 0x1000 >;
        };
        ttc2: timer@ff130000 {
            compatible = "xlnx,ttcps";
            status = "disabled";
            interrupts = < 0x0 0x2a 0x2 0xa0 >, < 0x0 0x2b 0x2 0xa0 >, < 0x0 0x2c 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1", "irq_2";
            reg = < 0xff130000 0x1000 >;
        };
        ttc3: timer@ff140000 {
            compatible = "xlnx,ttcps";
            status = "disabled";
            interrupts = < 0x0 0x2d 0x2 0xa0 >, < 0x0 0x2e 0x2 0xa0 >, < 0x0 0x2f 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1", "irq_2";
            reg = < 0xff140000 0x1000 >;
        };
        gem0: ethernet@ff0b0000 {
            compatible = "xlnx,gem";
            reg = < 0xff0b0000 0x1000 >, < 0xff5e0050 0x4 >;
            status = "disabled";
            interrupts = < 0x0 0x39 0x2 0xa0 >, < 0x0 0x3a 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1";
            mdio-phy-address = < 0x0 >;
            phy-poll-interval = < 0x3e8 >;
            link-speed = < 0x2 >;
            amba-ahb-dbus-width = < 0x0 >;
            amba-ahb-burst-length = < 0x1 >;
            hw-rx-buffer-size = < 0x3 >;
            hw-rx-buffer-offset = < 0x0 >;
            hw-tx-buffer-size-full;
            rx-buffer-descriptors = < 0x20 >;
            tx-buffer-descriptors = < 0x20 >;
            rx-buffer-size = < 0x200 >;
            tx-buffer-size = < 0x200 >;
            discard-rx-fcs;
            unicast-hash;
            full-duplex;
        };
        gem1: ethernet@ff0c0000 {
            compatible = "xlnx,gem";
            reg = < 0xff0c0000 0x1000 >, < 0xff5e0054 0x4 >;
            status = "disabled";
            interrupts = < 0x0 0x3b 0x2 0xa0 >, < 0x0 0x3c 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1";
            mdio-phy-address = < 0x0 >;
            phy-poll-interval = < 0x3e8 >;
            link-speed = < 0x2 >;
            amba-ahb-dbus-width = < 0x0 >;
            amba-ahb-burst-length = < 0x1 >;
            hw-rx-buffer-size = < 0x3 >;
            hw-rx-buffer-offset = < 0x0 >;
            hw-tx-buffer-size-full;
            rx-buffer-descriptors = < 0x20 >;
            tx-buffer-descriptors = < 0x20 >;
            rx-buffer-size = < 0x200 >;
            tx-buffer-size = < 0x200 >;
            discard-rx-fcs;
            unicast-hash;
            full-duplex;
        };
        gem2: ethernet@ff0d0000 {
            compatible = "xlnx,gem";
            reg = < 0xff0d0000 0x1000 >, < 0xff5e0058 0x4 >;
            status = "disabled";
            interrupts = < 0x0 0x3d 0x2 0xa0 >, < 0x0 0x3e 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1";
            mdio-phy-address = < 0x0 >;
            phy-poll-interval = < 0x3e8 >;
            link-speed = < 0x2 >;
            amba-ahb-dbus-width = < 0x0 >;
            amba-ahb-burst-length = < 0x1 >;
            hw-rx-buffer-size = < 0x3 >;
            hw-rx-buffer-offset = < 0x0 >;
            hw-tx-buffer-size-full;
            rx-buffer-descriptors = < 0x20 >;
            tx-buffer-descriptors = < 0x20 >;
            rx-buffer-size = < 0x200 >;
            tx-buffer-size = < 0x200 >;
            discard-rx-fcs;
            unicast-hash;
            full-duplex;
        };
        gem3: ethernet@ff0e0000 {
            compatible = "xlnx,gem";
            reg = < 0xff0e0000 0x1000 >, < 0xff5e005c 0x4 >;
            status = "disabled";
            interrupts = < 0x0 0x3f 0x2 0xa0 >, < 0x0 0x40 0x2 0xa0 >;
            interrupt-names = "irq_0", "irq_1";
            mdio-phy-address = < 0x0 >;
            phy-poll-interval = < 0x3e8 >;
            link-speed = < 0x2 >;
            amba-ahb-dbus-width = < 0x0 >;
            amba-ahb-burst-length = < 0x1 >;
            hw-rx-buffer-size = < 0x3 >;
            hw-rx-buffer-offset = < 0x0 >;
            hw-tx-buffer-size-full;
            rx-buffer-descriptors = < 0x20 >;
            tx-buffer-descriptors = < 0x20 >;
            rx-buffer-size = < 0x200 >;
            tx-buffer-size = < 0x200 >;
            discard-rx-fcs;
            unicast-hash;
            full-duplex;
        };
        psgpio: gpio@ff0a0000 {
            compatible = "xlnx,ps-gpio";
            status = "disabled";
            reg = < 0xff0a0000 0x1000 >;
            interrupts = < 0x0 0x10 0x2 0xa0 >;
            interrupt-names = "irq_0";
            #address-cells = < 0x1 >;
            #size-cells = < 0x0 >;
            psgpio_bank0: psgpio_bank@0 {
                compatible = "xlnx,ps-gpio-bank";
                reg = < 0x0 >;
                gpio-controller;
                #gpio-cells = < 0x2 >;
                ngpios = < 0x1a >;
                status = "okay";
            };
            psgpio_bank1: psgpio_bank@1 {
                compatible = "xlnx,ps-gpio-bank";
                reg = < 0x1 >;
                gpio-controller;
                #gpio-cells = < 0x2 >;
                ngpios = < 0x1a >;
                status = "okay";
            };
            psgpio_bank2: psgpio_bank@2 {
                compatible = "xlnx,ps-gpio-bank";
                reg = < 0x2 >;
                gpio-controller;
                #gpio-cells = < 0x2 >;
                ngpios = < 0x1a >;
                status = "okay";
            };
            psgpio_bank3: psgpio_bank@3 {
                compatible = "xlnx,ps-gpio-bank";
                reg = < 0x3 >;
                gpio-controller;
                #gpio-cells = < 0x2 >;
                ngpios = < 0x20 >;
                status = "okay";
            };
            psgpio_bank4: psgpio_bank@4 {
                compatible = "xlnx,ps-gpio-bank";
                reg = < 0x4 >;
                gpio-controller;
                #gpio-cells = < 0x2 >;
                ngpios = < 0x20 >;
                status = "okay";
            };
            psgpio_bank5: psgpio_bank@5 {
                compatible = "xlnx,ps-gpio-bank";
                reg = < 0x5 >;
                gpio-controller;
                #gpio-cells = < 0x2 >;
                ngpios = < 0x20 >;
                status = "okay";
            };
        };
        rpu0_ipi: zynqmp-ipi@ff310000 {
            status = "disabled";
            compatible = "xlnx,zynqmp-ipi-mailbox";
            #address-cells = < 0x1 >;
            #size-cells = < 0x1 >;
            reg = < 0xff310000 0x10000 >;
            reg-names = "host_ipi_reg";
            interrupts = < 0x0 0x21 0x2 0xa0 >;
            local-ipi-id = < 0x1 >;
            rpu0_apu_mailbox: mailbox@ff990200 {
                remote-ipi-id = < 0x0 >;
                reg = < 0xff990200 0x20 >, < 0xff990220 0x20 >, < 0xff990040 0x20 >, < 0xff990060 0x20 >;
                reg-names = "local_request_region", "local_response_region", "remote_request_region", "remote_response_region";
            };
            rpu0_rpu1_mailbox: mailbox@ff990260 {
                remote-ipi-id = < 0x2 >;
                reg = < 0xff990260 0x20 >, < 0xff990280 0x20 >, < 0xff990420 0x20 >, < 0xff990440 0x20 >;
                reg-names = "local_request_region", "local_response_region", "remote_request_region", "remote_response_region";
            };
        };
        rpu1_ipi: zynqmp-ipi@ff320000 {
            status = "disabled";
            #address-cells = < 0x1 >;
            #size-cells = < 0x1 >;
            compatible = "xlnx,zynqmp-ipi-mailbox";
            local-ipi-id = < 0x2 >;
            reg = < 0xff320000 0x10000 >;
            reg-names = "host_ipi_reg";
            interrupts = < 0x0 0x22 0x2 0xa0 >;
            rpu1_apu_mailbox: mailbox@ff990400 {
                remote-ipi-id = < 0x0 >;
                reg = < 0xff990400 0x20 >, < 0xff990420 0x20 >, < 0xff990080 0x20 >, < 0xff9900a0 0x20 >;
                reg-names = "local_request_region", "local_response_region", "remote_request_region", "remote_response_region";
            };
            rpu1_rpu0_mailbox: mailbox@ff990420 {
                remote-ipi-id = < 0x1 >;
                reg = < 0xff990420 0x20 >, < 0xff990440 0x20 >, < 0xff990260 0x20 >, < 0xff990280 0x20 >;
                reg-names = "local_request_region", "local_response_region", "remote_request_region", "remote_response_region";
            };
        };
        gic: interrupt-controller@f9000000 {
            compatible = "arm,gic-v1", "arm,gic";
            reg = < 0xf9000000 0x1000 >, < 0xf9001000 0x100 >;
            interrupt-controller;
            #interrupt-cells = < 0x4 >;
            status = "okay";
            phandle = < 0x1 >;
        };
    };
    cpus {
        #address-cells = < 0x1 >;
        #size-cells = < 0x0 >;
        cpu@0 {
            device_type = "cpu";
            compatible = "arm,cortex-r5f";
            reg = < 0x0 >;
        };
    };
};

Everything to me looks fine. I'd carefully print out all the things happening in dts.cmake to generate the final zephyr.dts in the configuration step.

de-nordic commented 5 months ago

I got the same dts file, diff shows 0... but I have run dtc on the DTS I have downloaded from https://github.com/zephyrproject-rtos/zephyr/issues/71068#issuecomment-2117567254 and get:

$$ dtc ~/tmp/probably_some_virus.dts  > /dev/null
/home/doer/tmp/probably_some_virus.dts:270.38-277.5: Warning (interrupt_provider): /soc/interrupt-controller@f9000000: Missing #address-cells in interrupt provider

I have

$$ dtc --version
Version: DTC 1.6.1

I do not know. Should I debug the python...

All requirements show no updates... I start suspect that my stderr outs this to annoy me.

teburd commented 5 months ago

seems like a dtc difference is the culprit? I have 1.7

de-nordic commented 5 months ago

seems like a dtc difference is the culprit? I have 1.7

Yes, it seems so. I have built the dtc from latest code:

$$ dtc ~/tmp/probably_some_virus.dts  --version
Version: DTC 1.6.1
$$=>0 | 15:25:14 doer@local-bm:/repos/doer/dtc
$$ dtc ~/tmp/probably_some_virus.dts  1>/dev/null
/home/doer/tmp/probably_some_virus.dts:270.38-277.5: Warning (interrupt_provider): /soc/interrupt-controller@f9000000: Missing #address-cells in interrupt provider
$$=>0 | 15:25:22 doer@local-bm:/repos/doer/dtc
$$ ./dtc --version
Version: DTC 1.7.0-gae26223a
$$=>0 | 15:25:36 doer@local-bm:/repos/doer/dtc
$$ ./dtc  ~/tmp/probably_some_virus.dts 1>/dev/null
$$=>0 | 15:25:41 doer@local-bm:/repos/doer/dtc

In summary: the issue is with DTC compiler below 1.7. Closing.