Commit graph

106032 commits

Author SHA1 Message Date
Jukka Rissanen
c7989b5747 net: prometheus: Add more parameters to metric macros
Add collector parameter to metric creation macros so that it
is possible to bind the metric to collector already at built
time.

Also add optional user_data to metric macro calls so that user
can add optional data there. This will be used by network statistics
Prometheus support in subsequent commits.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
fdae68ac5d net: prometheus: Network statistics need pointer to collector
When creating prometheus network statistics variables, we need
to map the variables back to the collector, so add a backpointer
to it.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
8e83cf0797 net: prometheus: Configure max number of labels from Kconfig
Allow user to configure the label count from Kconfig.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
52a337cdda doc: migration-guide-4.1: net: Add Prometheus information
Prometheus macros have changed in order to lower memory
consumption.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
d3efcbd316 net: prometheus: Remove need to have separate metric struct
Embed "struct prometheus_metric" to individual metric like
counter, gauge, histogram and summary. This way we avoid having
a separate base pointer in specific metrict struct. We also do
not need to search the specific metric from base metric as
we can simply use CONTAINER_OF() macro to get the base metric.

This embedding means that the counter, gauge, histogram and summary
metric define macros are changed as user does not need to create a
separate "struct prometheus_metric".

Convert the tests and sample to use the new macros.

Remove also the static from metric creation macros so that user
can decide whether it needs collector to be static or not.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
5282ccaa7c net: prometheus: Use const pointer for string data
Instead of allocating space for description and label name + value,
have a const pointer for it. The data is set typically statically
when the metric is defined, so there should be no need to allocate
separate buffer for those strings.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
90fb4b38ca net: prometheus: Use linked list for metrics
Save same memory and store metrics into a linked list inside
a collector entry.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
460e2f86d7 net: prometheus: summary: Add set function to summary metric
Add prometheus_summary_observe_set() function to summary metric.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
2a5c702807 tests: net: prometheus: counter: Add counter set tests
Add a test that will test the counter value set functionality.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
0ec8385bec net: prometheus: counter: Add function to set the counter value
This is similar function as add, but will add the difference of
previous value and the new one. This can be used if we want to
periodically update the value with a new one but don't want to
keep track of the old one.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
840a88a6b5 tests: net: prometheus: counter: Add counter add tests
Add a test that will test the counter value add functionality.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
d94bcd2566 net: prometheus: counter: Add function to add a value
Add function to increase the counter value with arbitrary value.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Anas Nashif
057ba5cf45 tests: benchmarks: optimize filters and use platform_key.
Benchmarks are not tests, we run them to verify they still work and do
not bitrot. Running them on each architecture should be sufficient.

This reduces amount of churn in CI and still allows them to be run
individually on platforms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-26 21:42:22 +01:00
Benjamin Cabé
8ab2802570 doc: boards: exensions: add board name to side box
This adds the board name (displayed as a code literal) to the "Wikipedia
card" for quick reference.

Fixes #81652.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-11-26 15:42:13 -05:00
Johan Hedberg
b5017dbb7c boards: silabs: Remove explicit enabling of PINCTRL
The PINCTRL option should instead be selected by those individual drivers
which depend on it.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2024-11-26 15:42:02 -05:00
Johan Hedberg
76400b362c drivers: spi: gecko: Add PINCTRL dependency
The gecko_eusart and gecko_usart SPI drivers should use pinctrl on all
Series 2 boards.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2024-11-26 15:42:02 -05:00
Johan Hedberg
4053529658 drivers: serial: gecko: Add PINCTRL dependency
This driver should use PINCTRL also on Series 2 boards.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2024-11-26 15:42:02 -05:00
Johan Hedberg
4bd61408c7 drivers: i2c: gecko: Add PINCTRL dependency
This driver should use PINCTRL on all Series 2 boards.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2024-11-26 15:42:02 -05:00
Johan Hedberg
19a6ffd403 drivers: timer: gecko_burtc: Remove unused include
This driver doesn't use any pinctrl APIs, so remove the include.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2024-11-26 15:42:02 -05:00
Dmitrii Golovanov
412209dd6b tests: subsys: ec_host_cmd: Don't duplicate output
Don't duplicate the test's output running it on `native_sim` after
`LOG_BACKEND_NATIVE_POSIX` was enabled by default (bd9836be8c)

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-11-26 15:41:33 -05:00
Dmitrii Golovanov
19ae672026 tests: drivers: sensor: Don't duplicate output
Don't duplicate the test's output running it on `native_sim` after
`LOG_BACKEND_NATIVE_POSIX` was enabled by default (bd9836be8c)

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-11-26 15:41:33 -05:00
Daniel Leung
b7b4de8afe uart: refactor internal bits from public API header file
This refactors internal bits out of the public API header file
and into its own file. This includes:

* Driver API struct which is only used by driver implementations
  but not by users of API.
* Inline implementations of various APIs.
* Inline z_impl_*.

These are implementation details that do not need to live within
the public API header file. This de-clutters the public header
file.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-11-26 14:47:01 +00:00
Adam Kondraciuk
be1f40547f soc: nordic: nrf54h: disable IRQ before PM config
IRQs must be disabled before starting any procedures to prepare
for low-power states.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2024-11-26 14:46:55 +00:00
Adam Kondraciuk
e786c1f849 dts: arm: nordic: Add power states for nRF54H20
Add `idle` and `s2ram` power states for nRF54H20 cpuapp and cpurad.
Also the substate `idle_cache_disable` added.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2024-11-26 14:46:55 +00:00
Adam Kondraciuk
9b252855fd soc: nordic: Add LRCCONF management
Due to the possibility of simultaneous accesess to LRCCONF registers,
additional management is required.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2024-11-26 14:46:55 +00:00
Dominik Kilian
d5262b2113 modules: hal_nordic: Allow app mem from net core in serialized 802.15.4
Currently, the serialization module for 802.15.4 enabled
the network core without giving it access to application
core memory in trusted execution mode. This commit
grands this access.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2024-11-26 14:46:47 +00:00
Tomi Fontanilles
4b9c58806b tests: portability: cmsis_rtos_v2: do not disable 64-bit timeouts
Some code that automatically gets embedded on some platforms relies
on having `CONFIG_TIMEOUT_64BIT` enabled.
Do not force disabling that Kconfig option in the test configuration,
as that will make the test fail to compile on those platforms.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-11-26 14:46:38 +00:00
Robin Kastberg
a63926d44a cmake: linker_script: update common-ram.cmake
CMAKE_LINKER_GENERATOR common-ram.cmake is out of date.
This updates it to keep it up to date with common-ram.ld

Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
2024-11-26 14:46:24 +00:00
Karsten Koenig
a4fcd5e9e0 dts: bindings: arm: nordic: tddconf: Add etrbuffer
Introduce etrbuffer in the tddconf bindings to support flexible
placement in the memory map.

Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
2024-11-26 14:45:22 +00:00
Simon Hein
61f2b117a9 SCA: Get options file value for sysbuild invokation
Get eclair specific option file variable via zephyr_get.
This is also needed if the sca is invoked with sysbuild so it uses
the intended file.

Signed-off-by: Simon Hein <Shein@baumer.com>
2024-11-26 14:45:09 +00:00
Tomasz Moń
cb1e7d6b6b nrf_usbd_common: Do not trigger DMA in low power mode
DMA transfers do not execute when the USBD peripheral is in Low Power
mode. Make sure that there is no DMA active transfer when entering Low
Power mode and that new DMA transfers are not started when in Low Power
mode because the transfer won't ever finish.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-26 14:45:01 +00:00
Tomasz Moń
4dfae0b0d1 drivers: udc_nrf: Handle Suspend and Resume in thread
Low Power mode can only be entered when there are no active DMA
transfers. Move the Suspend and Resume processing to thread to allow
waiting for the DMA available semaphore in USB Suspend handler.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-26 14:45:01 +00:00
Dominik Ermel
e04f6d0e84 tests: flash_map: Fix tests configurations
Kconfig that enables integrity check has been moved to
test configurations that test it.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-11-26 14:44:54 +00:00
Andrej Butok
fd5df64454 samples: smp_svr: Add frdm_mcxn947 to allow list for USB and UDP
Adds frdm_mcxn947 to the smp_svr sample allow list,
for overlay-udp.conf and usb.overlay.

Signed-off-by: Andrej Butok <Andrey.Butok@nxp.com>
2024-11-26 14:44:38 +00:00
Pieter De Gendt
f475f3c8cc ci: compliance: Exclude ClangFormat
Stop running ClangFormat in CI as it confuses (first time) contributors
more than it helps.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-26 14:44:29 +00:00
Sean Nyekjaer
08a8e4c79f boards: others: candlelightfd: add board picture
Provide a picture of the candlelightFD board

Signed-off-by: Sean Nyekjaer <sean@geanix.com>
2024-11-26 14:44:21 +00:00
Chaitanya Tata
7658adf758 root: Remove temp file
Commit e512151474c("manifest: hal_nordic: Pull nRF Wi-Fi removal")
mistakenly added a temporary local file.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-26 14:44:07 +00:00
Pieter De Gendt
d2a6e9d701 scripts: ci: tags: Add zephyr-keep-sorted check
The tag entries should be sorted, add zephyr-keep-sorted check and sort
accordingly.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-26 14:43:47 +00:00
de19a13c34 runners: add minichlink
This commit adds a runner wrapper for the 'minichlink' program which
offers a free, open mechanism to use the CH-LinkE programming dongle for
the CH32V003.

https://github.com/cnlohr/ch32v003fun/tree/master/minichlink

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
ab66361f4d boards: add ch32v003evt
This commit adds support for the CH32V003EVT board which features a
32-bit general-purpose RISC-V MCU.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
ee8990e2e0 drivers: add the gpio driver for wch ch32v003
This commit adds the gpio driver for WCH CH32V003.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
ef475cbf71 drivers: add the pfic interrupt controller
This commit adds the pfic interrupt controller driver for WCH CH32V003.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
01a9061d67 drivers: add the ch32v00x usart driver
This commit adds the usart driver for WCH CH32V003.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
7e810abc05 drivers: add the ch32v00x systick driver
This commit adds the systick driver for WCH CH32V003.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
c1c0413eed drivers: add the ch32v00x clock controller
This commit adds the clock driver for WCH CH32V003.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
6d3348bd83 drivers: add ch32v00x pinctrl support
This commit adds the pinctrl driver for WCH CH32V003.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
936c78e8ba soc: add wch_ch32v003 soc files
This commit adds the soc support for WCH CH32V003.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
ab3fb336c4 dts: add the ch32v003 dtsi
This commit adds the dtsi and bindings for the WCH CH32V003 which is a
32-bit general-purpose RISC-V MCU.

Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
Dhiru Kholia
9e2867a76d west: add the hal_wch
This is used for WCH chips including the CH32V003.

Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2024-11-26 14:41:46 +00:00
Jilay Pandya
6d87bd65ae drivers: stepper: fix fake stepper controller cid issues
Fix: Write to const-qualified field. (WRITE_CONST_FIELD)
- #81915, #81920, #81922, #81924, #81932, #81940, #81941
- #81946, #81947, #81959, #81961, #81970, #81973, #81977

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-26 10:37:35 +00:00