Commit graph

95640 commits

Author SHA1 Message Date
Hake Huang
369ee6d130 doc: mimxrt1160_evk: update doc for linkserver
linkserver cmsis-dap fw need updated for this board

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2024-05-21 18:41:17 +02:00
Andrej Butok
14762736b1 dts: nxp_mcxn94x: fix flash write-block-size
- Fix mcxn94x flash write-block-size from 16 to 128.
- Fix flash_program() return error 0x65,
  that means "Address or length does not meet the required alignment."
- The mcxn94x Flash ROM API flash_program() start address and
  the length must be 128 bytes-aligned.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-05-21 18:40:19 +02:00
Emil Gydesen
96c1cfcfb0 tests: Bluetooth: CAP: Add missing CSIP function
The bt_csip_set_coordinator_csis_member_by_conn function
was seemingly missing, causing the CAP unit tests to not build.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-05-21 18:01:38 +02:00
Robert Lubos
ec0e2d6308 tests: net: lib: http_server: Bump min_ram requirements
The values set as a min_ram requirement were far from the actual RAM
usage reported during build, make them more realistic.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-05-21 11:51:39 +01:00
Robert Lubos
1ee4a8b52c samples: net: tftp-client: Configs cleanup
As native_posix is no longer supported, due to incompatibility with
CONFIG_POSIX_API, remove a dedicated config for it.
A config for qemu_cortex_m3 needed to enable RNG, as otherwise it's not
available for the platform and gives build error.
Finally,  enable qemu_cortex_m3 build in the CI.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-05-21 11:51:27 +01:00
Aleksander Wasaznik
93d0eac834 Bluetooth: Host: Forbid holding on to buf given to stack
These are safety checks to guard against silent data corruption. The
implementation currently does not clobber bufs, but soon it will. The
bufs will be zero-copy segmented and fragmented, which involves
overwriting already-sent contents with headers for the next fragment.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-05-21 11:51:20 +01:00
Anders Storrø
261b358dc3 Bluetooth: Mesh: Shell: Update DFD start bool parse
Changes the parsing of boolean input parameter "PolicyApply"
to DFD start command to use shell boolean parse library.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2024-05-21 11:51:10 +01:00
Ioannis Damigos
8716b6a900 soc/da1469x: Take PD_SYS control only once during initialization
Take PD_SYS control only once during initialization

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2024-05-21 11:30:14 +01:00
Ioannis Damigos
d308265f5f west: Update Renesas HAL submodule
Update Renesas HAL submodule

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2024-05-21 11:30:14 +01:00
Nazar Palamar
72fcbcbde0 xmc47_relax_kit: board: port xmc47_relax_kit to HWMv2
Port board xmc47_relax_kit to HWMv2

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
a82ac8aeb8 xmc45_relax_kit: board: port xmc45_relax_kit to HWMv2
Port board xmc45_relax_kit to HWMv2

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
2f6fb18cf3 cy8ckit_062_wifi_bt : board: port cy8ckit_062_wifi_bt to HWMv2
Port board cy8ckit_062_wifi_bt to HWMv2

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
279a048a25 cy8ckit_062_ble: board: port cy8ckit_062_ble to HWMv2
Port board cy8ckit_062_ble to HWMv2

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
92a9c9a16a cy8cproto_062_4343w: board: port cy8cproto_062_4343w to HWMv2
Port board cy8cproto_062_4343w to HWMv2

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
281a037b70 cy8ckit_062s4: board: port cy8ckit_062s4 to HWMv2
Port board cy8ckit_062s4 to HWMv2

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
769b6d5d15 cy8cproto-063-ble: board: port cy8cproto-063-ble to HWMv2
Port board cy8cproto-063-ble to HWMv2

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
879c10d818 soc: infineon: port Infineon SOC to HWMv2
Port Infineon SOC to HWMv2.

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
242f1f6b78 dts: infineon: move xmc4*** to cat3\xmc\*
- move dts\arm\infineon\xmc4*** files to dts\arm\infineon\cat3\xmc\*

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Nazar Palamar
6ad6d59c4d dts: infineon: port infineon CAT1A (psoc6) to HWMv2
port infineon CAT1A (psoc6) to HWMv2:
1. move dts\arm\cypress\**  to dts\arm\infineon\cat1a\legacy
2. remove dts\arm\cypress\**
3. rename dts\arm\infineon\psoc6 to dts\arm\infineon\cat1a

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-05-21 11:29:49 +01:00
Jun Lin
2ec8f442a5 doc: releases: Add npcx watchdog driver related notes
Add release note and migration guide for npcx watchdog driver
in 3.7 release.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-05-21 11:15:04 +01:00
Jun Lin
c864024c32 driver: watchdog: npcx: support longer watchdog timeout
In the current driver, the longest time of the watchdog timeout is ~8
seconds because the pre-scalar is fixed at 32 (WDCP=5). This commit
removes this limitation by dynamically calculating the pre-scalar
according to the watchdog timeout setting from the API.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2024-05-21 11:15:04 +01:00
Jamie McCrae
b3ffe0aede mgmt: mcumgr: transport: Add missing net include file
Adds a missing network include file which was causing an undefined
function build failure, likely caused by a recent change affecting
includes in other header files

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-05-21 09:36:24 +02:00
Hake Huang
de526632ae doc: mimxrt1160_evk: update board document for linkserver
add linkserver in supported debugger

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2024-05-20 20:52:56 -04:00
Hake Huang
a46fb055bc board: mimxrt1160_evk: linkserver support
add linkserver support for mimxrt1160_evk

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2024-05-20 20:52:56 -04:00
Tom Chang
3f8fe6b4b5 drivers: espi: npcx: select RING_BUFFER for p80
This CL adds automatic select CONFIG_RING_BUFFER for port 80 multi-byte.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2024-05-20 20:52:35 -04:00
Tom Chang
fe138fc246 drivers: espi: npcx: update espi taf driver
This CL updates the read, write, erase, and get_channel_status
implementations of NPCX chip.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2024-05-20 20:52:35 -04:00
Yong Cong Sin
8c6da49f73 arch: riscv: relocate stack unwinding code into a separate file
Declutter `fatal.c` by moving the stack unwinding logic into
`stacktrace.c` and guard its compilation with `CMakeLists.txt`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-05-20 20:52:18 -04:00
Yong Cong Sin
10a807537b arch: riscv: Add support for stack unwind without fp
Add a stack unwind implementation that only uses `sp`

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-05-20 20:52:18 -04:00
Andy Ross
1472195197 soc/qemu_xtensa_dc233c: Use auto-generated interrupt handlers
The script runs as part of the build now.  Use that feature and
remove the old static file from the manually-run script.

Signed-off-by: Andy Ross <andyross@google.com>
2024-05-20 20:50:55 -04:00
Andy Ross
bcf6b27c6b arch/xtensa: xtensa_intgen.py: Emit handlers for all levels
The original code would (unsurprisingly) only emit handler functions
for interrupt levels with interrupts associated with them.  But it
turns out that it's possible to configure an xtensa device with an
empty-but-otherwise-real interrupt level (specifically mt8195 has a
"Level 3" interrupt not associated with any input IRQS, it's one level
above EXCM_LEVEL and one level below the DEBUG exception).

This script is old, and not set up to parse the full core-isa.h
directly, so modifying it to detect this condition is difficult.
Instead, just emit all 15 possible interrupt handlers, even empty
ones.  The extra stubs are harmless as they'll be dropped if uncalled.

Signed-off-by: Andy Ross <andyross@google.com>
2024-05-20 20:50:55 -04:00
Andy Ross
03cafbdaef arch/xtensa: "NMILEVEL" is an optional feature
Some oddballs cores can be generated without an "NMI" interrupt, in
which case core-isa.h will not define XCHAL_NMILEVEL.  This code is
trying to unconditionally mask interrupts, so XCHAL_EXCM_LEVEL is the
pedantically correct choice anyway (NMI's by definition, cannot be
masked).

Signed-off-by: Andy Ross <andyross@google.com>
2024-05-20 20:50:55 -04:00
Andy Ross
6ab7735774 arch/xtensa: Automatically generate interrupt handlers (finally)
The script to generate the _soc_inthandlers.h header has been run
manually for years, only because I was a cmake novice at the time and
unsure how to integrate it into the build.  So every new platform has
to find the script and template file and figure out how to generate
the file.  And in a few cases it looks like we've tried to EDIT the
resulting files in the tree.

Let's finally do this right.  The file is now dropped (for every
xtensa platform) as a "xtensa_handlers.h" file, and there is a Kconfig
to control whether the original/manual file or the new one is used by
the platform code.  We can migrate the other platforms slowly as
people have time to validate.

Signed-off-by: Andy Ross <andyross@google.com>
2024-05-20 20:50:55 -04:00
Hao Luo
35aae8b5c1 drivers: watchdog: Add support for Apollo3 SoCs watchdog
This commit adds support for the watchdog which
can be found in Apollo3 SoCs

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-05-20 20:50:26 -04:00
Helmut Lord
ddc1d8706e snippets: rtt console
Adds a snippet to enable RTT as console backend.

Signed-off-by: Helmut Lord <kellyhlord@gmail.com>
2024-05-20 20:49:45 -04:00
Flavio Ceolin
7c06739829 drivers: system_timer: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-05-20 20:49:25 -04:00
Flavio Ceolin
b4a1ac5ac6 drivers: loapic: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-05-20 20:49:25 -04:00
Flavio Ceolin
9faaf0f8ce headers: memory_domain: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-05-20 20:49:25 -04:00
Flavio Ceolin
b8d40c790d headers: arch/x86: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-05-20 20:49:25 -04:00
Flavio Ceolin
97ed2a8f03 headers: arch/xtensa: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-05-20 20:49:25 -04:00
Aurelien Jarno
52935edc5c drivers: sensor: stm32_temp: use sensor_value_from_float()
The temperature being computed using a float variable, use
sensor_value_from_float() instead of sensor_value_from_double(). This
saves some flash.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2024-05-20 20:39:01 -04:00
Yong Cong Sin
46ed467339 samples: sensor: sensor_shell: add pytest
Use pytest to test the shell commands.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-05-20 22:56:11 +03:00
Yong Cong Sin
d462ed4d95 samples: sensor: sensor_shell: add fake sensor driver
Add a simple fake sensor driver so that the sample is more fun
for boards without real sensor.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-05-20 22:56:11 +03:00
Yong Cong Sin
1e196f0f75 sensor: sensor_shell: print something when trig command succeeds
Print something to the shell when the `trig` command
completed successfully.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-05-20 22:56:11 +03:00
Anas Nashif
12b96dc324 MAINTAINERS: cleanup x86/xtensa areas
cleanup x86/xtensa areas and update maintainers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-05-20 22:55:39 +03:00
Stephanos Ioannidis
105fc79267 ci: codecov: Fix merged coverage report path
This commit updates the codecov workflow to specify the full coverage
report file path under `files` because codecov-action v4 does not correctly
process the `directory` parameter.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-05-20 12:21:18 -04:00
Hess Nathan
861235a9bc coding guidelines: comply with MISRA Rule 11.6
removed unneeded conversions from integer to pointer

Signed-off-by: Hess Nathan <nhess@baumer.com>
2024-05-20 19:21:01 +03:00
Juliane Schulze
72b20315ea drivers: set LIS2DH default trigger mode to "EDGE_BOTH"
Previous value just activated the ability to trigger for both edges,
without (de)-activating the gpio. This caused an assrtion error in GPIO.h.

Fixes #71227

Signed-off-by: Juliane Schulze <juliane.schulze@deveritec.com>
2024-05-20 18:05:01 +02:00
Patryk Duda
0079ab1cb3 toolchain/llvm: Fix integer macros implementation
Currently __INT64_C() doesn't add any suffix to provided constant which
causes the constant to have 'int' type. On the other side, __UINT64_C()
adds ULL suffix which makes the constant 'unsigned long long'.

Of course, __INT64_C() is wrong here because 'int' type, in most cases,
has 32 bit width.

According to the C standard, these macros are for minimum-width integer
constants. For example, it means that using INT16_C() macro will give
you constant with type the same as 'int_least16_t' type.

Clang doesn't provide defines like __INT_LEAST16_C_SUFFIX__, which makes
implementation difficult, because we need to determine appropriate type
first.

Signed-off-by: Patryk Duda <patrykd@google.com>
2024-05-20 18:04:54 +02:00
Patryk Duda
1f4e911d68 toolchain/llvm: Provide integer macros only when necessary
Using '#ifndef' before defining a macro is a good way to provide default
version of the macro if not defined elsewhere. But it has some
disadvantages:
- It hides information about the users of these macros. It's hard to
  determine when this implementation is used.
- Correctness depends on file including order.

It looks like these macros are used only by minimal libc and only if
ENFORCE_ZEPHYR_STDINT is not selected. We expect other libc to provide
their own implementation.

Signed-off-by: Patryk Duda <patrykd@google.com>
2024-05-20 18:04:54 +02:00
Patryk Duda
759dcfe18f llvm: stdint: Don't define integer constant macros in llvm.h
Zephyr minimal libc implements integer constant macros using internal
headers provided by GCC, for example INT64_C(x) is just a __INT64_C(x)
which is implemented by the GCC.

Clang compiler doesn't provide these definitions, so we define them
(__INT64_C() and INT64_C()) in zephyr/toolchain/llvm.h, but it looks
like INT64_C() definition doesn't come from llvm.h, but from stdlib.h
despite of checking if __GNUC__ is defined.

This is because Clang sometimes pretends to be GNU compiler:
$ x86_64-pc-linux-gnu-clang -dM -E - < /dev/null | grep "GNU"
 #define __GNUC_MINOR__ 2
 #define __GNUC_PATCHLEVEL__ 1
 #define __GNUC_STDC_INLINE__ 1
 #define __GNUC__ 4

Let's keep the integer constant macros in stdlib.h and their
actual implementation in llvm.h. Also define these macros if __clang__
is defined, just in case.

Signed-off-by: Patryk Duda <patrykd@google.com>
2024-05-20 18:04:54 +02:00