Commit graph

73564 commits

Author SHA1 Message Date
Gerard Marull-Paretas
88c082a46e tests: drivers: regulator: api: check init conditions during setup
Check conditions that happened during device init at setup stage, so
that we can reset fakes and make tests stateless.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-27 13:12:55 +01:00
Gerard Marull-Paretas
6f4c019312 drivers: regulator: common: remove redundant cast
Unlike in C++ code, explicit casts from void* are not needed, so remove
them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-27 13:12:55 +01:00
Torsten Rasmussen
3b32444f10 sysbuild: shared cache variable instead of local scope variable
Fixes: #52353

If a CMake variable is available in both local scope and as CMake cache
variable, then the use of `${<var>}` fetches the local scoped variable.
If only the cache variable is set, then things works as expected.

Ensure that the cached variable is always the variable being shared to
images by using `$CACHE{<var>}` instead.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2022-12-27 12:44:19 +01:00
Quang Bui Trong
411549c22c tests: drivers: watchdog: add test watchdog for s32z270dc2_r52
This test to verify Watchdog install/setup/feed can work and
 interrupt can be triggered on timeouts. This test doesn't test the
 case of reseting the board on time out because flash isn't currently
 support.

Signed-off-by: Quang Bui Trong <quang.buitrong@nxp.com>
2022-12-27 10:36:42 +01:00
Quang Bui Trong
391f90e0cc boards: s32z270dc2_r52: add docs for watchdog shim driver
Document watchdog shim driver supported features for s32z270dc2_r52
 boards.

Signed-off-by: Quang Bui Trong <quang.buitrong@nxp.com>
2022-12-27 10:36:42 +01:00
Quang Bui Trong
e63d1389a9 boards: arm: s32z270dc2_r52: enable watchdog support
Enable RTU.SWT (Real-Time Unit.Software Watchdog Timer) instances on
 s32z270dc2_r52 boards. Module clock frequency is fixed to 48 Mhz.

Signed-off-by: Quang Bui Trong <quang.buitrong@nxp.com>
2022-12-27 10:36:42 +01:00
Quang Bui Trong
17d86aed80 drivers: watchdog: add support for NXP S32 S32ZE
Add driver shim for the NXP S32 SWT module.

Signed-off-by: Quang Bui Trong <quang.buitrong@nxp.com>
2022-12-27 10:36:42 +01:00
Guillaume Gautier
82da499d5d dts: arm: st: I2C clock source for STM32F0 & fF
Add missing I2C clock sources for STM32F303 & F373.
Add a comment for all STM32F3 I2Cx and for STM32F0 I2C1 that the clock
source should always be defined.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2022-12-24 16:58:54 +01:00
Guillaume Gautier
ba9636027e drivers: i2c: Fix clock value for STM32 I2C
If present, get the clock value for STM32 I2C from the clock source defined
in the dts.
Otherwise, use pclk.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2022-12-24 16:58:54 +01:00
Guillaume Gautier
f8f77e456b drivers: i2c: Use domain clock support macro for STM32 I2C
Add support of STM32_DT_INST_DEV_DOMAIN_CLOCK_SUPPORT to condition the
configuration of an source clock for STM32 I2C.


Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2022-12-24 16:58:54 +01:00
Guillaume Gautier
16a6520278 drivers: i2c: Use device tree instance for STM32 I2C driver
This commit modifies the way we define the I2C driver by using device tree
instance macros instead of node label names.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2022-12-24 16:58:54 +01:00
Sylvio Alves
b58394bbbd sensor: esp32c3: fix coretemp DTS register address
Remove 0x prefix to avoid build warning.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-12-24 16:58:38 +01:00
Jamie McCrae
b64ea89ed5 mgmt: mcumgr: img_mgmt: Fix mismatched slot missing variable
Fixes an issue with a missing variable when
CONFIG_IMG_MGMT_REJECT_DIRECT_XIP_MISMATCHED_SLOT is enabled.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2022-12-24 16:58:11 +01:00
Jamie McCrae
29639624ea doc: mgmt: mcumgr: callbacks: Fix issues
Fixes some issues with code and formatting.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2022-12-24 16:57:57 +01:00
Gerard Marull-Paretas
9003d7556a doc: scripts: sort redirects alphabetically
Redirects need to be sorted alphabetically, as stated at the beginning
of the file.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-24 16:57:43 +01:00
Gerard Marull-Paretas
2ebdfe1340 doc: scripts: remove legacy redirects
Remove redirects from legacy docs (<1.14).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-24 16:57:43 +01:00
Marek Matej
025c73908b tests: adc: esp32 api test
Update adc test to support ESP32 targets

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2022-12-23 23:45:05 +00:00
Marek Matej
4a64919c36 samples: driver: adc: Add ESP32 boards support files
Add example code to cover single-shot ADC for ESP32, S2, C3 chips.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2022-12-23 23:45:05 +00:00
Marek Matej
937ea00e7a drivers: adc: esp32: Add support for single-shot conversion
Allow single-shot adc conversion on all supported targets.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2022-12-23 23:45:05 +00:00
Andriy Gelman
ed105761fa soc: arm: infineon_xmc: 4xxx: Disable unalign trap on reset
The unaligned trap bit is set by default, contrary to the xmc
reference manual. This PR unsets the bit in the initialization.
It can still be set later via the CONFIG_TRAP_UNALIGNED_ACCESS
option.

Note that the same approach is used in xmc4500 reference software
init code (see SystemCoreSetup() in infineon hal module).

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2022-12-23 14:57:17 +01:00
Sam Hurst
6abb9c82c9 usb-c: Add Source Power Delivery macros
These macros are needed to implement a USB-C Source device

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2022-12-23 10:55:07 +01:00
Fabio Baltieri
ab4d87dd41 scripts: compliance: add an ImageSize check
Add a check to validate and limit the size of images in the repository,
setting stricter limit for files in boards/.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-22 17:01:54 +01:00
Fabio Baltieri
30fd28d9f0 scripts: compliance: move isfile() check in get_files()
Git normally only works on files, but can include directories if there's
any submodule in the repository. This is currently checked in
filter_py(), move the check into get_files() so it does not have to be
copied around.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-22 17:01:54 +01:00
Fabio Baltieri
5d23505336 scripts: compliance: fix DevicetreeBindingsCheck
DevicetreeBindingsCheck is missing the splitlines() call to process the
get_files() output, hence cycling through each character of the output
rather than each file, which causes the check to never run on anything.

Fix it by moving the splitline call into get_files() itself, since every
caller is going to use it anyway.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-22 17:01:54 +01:00
Gerard Marull-Paretas
407041a10f clang-format: enable SpaceBeforeParens option
The option required clang-format >= 13, we now require >= 15, so it can
be enabled.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-22 15:51:01 +00:00
Juha Heiskanen
4a50f9362f net: lib: LwM2M rd client fix
Fix LwM2M rd client stop call hang when Queue client is at
RX_ON_IDLE_STATE. Added miossing connection resume for
de-register functionality.

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2022-12-22 15:50:31 +00:00
Kai Vehmanen
0368b49ea7 logging: fix error handling in link_filters_init
If k_malloc() of filters fails in log_mgmt.c:link_filters_init(),
return an error and do not rely on the __ASSERT(0).

If __ASSERT_ON==0 in the build, assert will not trigger and
code will proceed to execute

  memset(NULL, 0, sizeof(uint32_t) * total_cnt);

Avoid this by returning -ENOMEM on error.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-12-22 14:43:43 +01:00
Erwan Gouriou
56d93e3fef drivers: usb: stm32f1: USB clk prescaler config done in clock_controller
Now that USB clock prescaler is done is clock_control driver.
Remove similar part in USB driver.

Note that behavior is different: it is now up to the user to provide
the proper configuration.
Add a warning during the transition period.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-12-22 14:43:26 +01:00
Erwan Gouriou
c385144070 boards: stm32f1: Check usbpre/otgfspre based on sysclk freq.
If sysclk is set to 72MHz, USB prescaler should be not be set in
order to achieve 48MHz USB clock.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-12-22 14:43:26 +01:00
Erwan Gouriou
961e4303a7 drivers: clock_control: stm32f1: Configure USB prescaler
On STM32F1 series, configure USB(/OTGFS) prescaler based on DT.
When prescaler is set, PLL output clock is not divided.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-12-22 14:43:26 +01:00
Erwan Gouriou
1fef42a641 dts: bindings: stm32f1 clocks: Add USB/OTG prescaler on F1 PLL bindings
Prepare F1 PLL bindings to allow configuration of USB clock direclty
from rcc node.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-12-22 14:43:26 +01:00
Gerard Marull-Paretas
a1148bbc24 doc: develop: tools: drop platformio docs
PlatformIO seems to not keep up with Zephyr (they don't seem to even
support 3.0), so we should not recommend it as an IDE as part of our
official docs. Also, it is frequent to see people reporting problems on
our Discord channels.

Ref. https://github.com/platformio/platform-ststm32/issues/602

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-22 13:45:52 +01:00
Juha Ylinen
1827636ab6 net: lwm2m: Verify receiving buffer size in lwm2m_engine_get()
Check receiving buffer size and return error if
 * buffer size is too small for opaque or string data type
 * buffer size is not equal to data lenght when data type is
   fixed size

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2022-12-22 13:44:27 +01:00
TOKITA Hiroshi
20d2dff140 boards: gd32: add dma as supported feature
Add `dma` as supported feature to yaml configuration.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
TOKITA Hiroshi
1b93f036d7 tests: dma: loop_transfer: add overlay for GD32 boards
Add overlay file for gd32_e507z_eval, gd32f407v_start,
gd32f450v_start, gd32f450v_start and longan_nano_lite.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
TOKITA Hiroshi
1690326268 dts: bindings: dma: gd32: split gd,gd32-dma-v1 for support F4xx feature
Split gd,gd32-dma-v1 from gd,gd32-dma to support F4xx specific features.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
TOKITA Hiroshi
498ef65242 dts: bindings: gd32-dma-base: add gd,mem2mem property
Add `gd,mem2mem` property to indicate the DMA controller supports
memory to memory transfer.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
TOKITA Hiroshi
59044c6d63 dts: bindings: gd32-dma: add config cell property
Add config cell property to gd,gd32-dma.
For supporting hardware variation, Splitting base definition
to gd,gd32-dma-base.yaml.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
TOKITA Hiroshi
ad055bd5fc drivers: dma: dma_gd32: Use dma_slot for peripheral request
Use dma_slot for peripheral request instead of linked_channel.
This is a more suitable usage as described in dma_config.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
TOKITA Hiroshi
6dc1187e44 tests: dma: loop_transfer: Correct DMA definition of gd32f350r_eval
The overlay file overrides not existing node `dma0`.
Correct it to `dma`.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
Dominik Ermel
22ff66f240 doc/release: Add notes on MCUmgr Kconfig renames
Adds information on renaming of MCUmgr Kconfig options
and migration script that can be used to help with transition.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Dominik Ermel
671625cd0c mgmt/mcumgr: Add Kconfig option naming notes
The commit adds Kconfig option naming notes to Kconfig
files of MCUmgr subsystem.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Dominik Ermel
c7378d0d84 mgmt/mcumgr: Move Kconfig options to proper Kconfig files
After Kconfig options got renamed, some of the no longer fit
to files they have been defined in.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Dominik Ermel
d492c0d79a scripts/utils/migrate_mcumgr_kconfigs.py: Script for migrating MCUmgr
Script that provides aid with converting project files to
new Kconfig option names.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Dominik Ermel
a5488d64d4 doc: MCUmgr replaced Kconfig options to new format
Documentation fixes following renaming of Kconfig options
to the new standardised form.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Dominik Ermel
db34adf9c3 mgmt/mcumgr: Standardise MCUmgr Kconfig names
Standardise Kconfig options for MCUmgr.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Rob Barnes
61b5566e74 logging: Add an option for a custom log header
There are scenarios when it is necessary to globally redefine
a log macro. The existing logging frontend is not sufficient since
it redirects at the function level.

One example is using pigweed_tokenzier. The pigweed tokenizer depends
on intercepting log strings at the macro level to function.

Introduce an option to include a custom application provided header
named "zephyr_custom_log.h" at the end of log.h. This allows an
application to extend the LOG_* macros globally.

This change includes a simple test that redefines the core LOG macros
to include a custom prefix.

Signed-off-by: Rob Barnes <robbarnes@google.com>
2022-12-22 11:09:59 +01:00
Jamie McCrae
23ca3841db mcumgr: img_mgmt: Add SHA256 image upload hash check
Will check an uploaded image's hash against the hash that was
originally supplied before the upload began and return the result to
the client to know if the upload was successful or if there was an
error during upload. Requires CONFIG_IMG_ENABLE_IMAGE_CHECK be
enabled for functionality to be available.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2022-12-22 11:08:49 +01:00
Hubert Miś
55fdd76a1e samples: ipc: icmsg_me: use nocopy functions
Update one of the threads in the icmsg_me sample to use ipc_service
nocopy functions in both host and remote applications.

Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
2022-12-22 11:07:44 +01:00
Hubert Miś
0b5ac4023f ipc: icmsg multi endpoint with nocopy in receive path
Add nocopy feature to icmsg-me initiator and follower roles
in their receive path. This feature is optional, configured
with Kconfig.

Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
2022-12-22 11:07:44 +01:00