Commit graph

59030 commits

Author SHA1 Message Date
Mark Holden
7803a4e590 arch: riscv: ARCH_EXCEPT macro
Enable ARCH_EXCEPT macro for non-usermode scenario for RISC-V
Macro will now raise an illegal instruction exception so that mepc will
hold expected value in exception handler, and generated coredump can
reconstruct the failing stack

Coredump tests running on renode (for RISC-V) can now utilize fatal error
path through k_panic

Signed-off-by: Mark Holden <mholden@fb.com>
2022-01-01 07:38:20 -05:00
Krzysztof Chruscinski
525c316716 tests: ztest: Add test for stress test framework
Add testsuite for ztress.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-01-01 07:37:22 -05:00
Krzysztof Chruscinski
a2802d96a2 CODEOWNERS: Adding ztress codeowner
Adding nordic-krch as ztress codeowner.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-01-01 07:37:22 -05:00
Krzysztof Chruscinski
16bd0df2fd testsuite: ztest: Add framework for stress testing
Added framework for concurrency testing. Framework setup multiple
priority contexts and executes user handlers in that context. Test
terminates after certain number of repetitions or preemptions or
when timeout occurs. It can also be aborted by the user.

Framework can be used for testing resiliency to preemptions.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-01-01 07:37:22 -05:00
Christoffer Zakrisson
8367df2956 drivers: i2c: sam0 Fix i2c NACK on receive
PR #38482 made the sam0 i2c send NACK when receiving a single message

Fixes #38878
Fixes #41016

Signed-off-by: Christoffer Zakrisson <rustypig91@gmail.com>
2022-01-01 07:21:22 -05:00
Vinayak Kariappa Chettimada
a3127afb53 Bluetooth: Controller: Advertising Extensions dynamic Tx power control
Update Controller implementation of Advertising Extensions
to inherit the set dynamic Tx power values of the primary
channel PDU transmissions.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-31 20:18:00 +01:00
Piotr Pryga
3344aee332 Bluetooth: host: df: Correct style for CHECKIF statements
Correct wrong coding style used in couple of plces where
CHECKIF marco is used.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2021-12-31 17:45:52 +02:00
Piotr Pryga
61872da64e Bluetooth: host: Add API to run conn CTE response HCI command
Add host API to allow execution of HCI_LE_Connection_CTE_Response_-
Enable HCI command.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2021-12-31 17:45:52 +02:00
David Brown
fac2c22824 storage/flash_map: Use larger type for alignment
In MCUboot:
    commit 4aa286d2db2d02a8f0ff29cdc3304f3185dbe261
    Author: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
    Date:   Wed Nov 24 14:54:56 2021 -0300

        flash_map: Increase minimum supported write align via
            flash_area_align

MCUboot changed the type of the alignment value in flash from a uint8_t
to a uint32_t.  Indeed, Zephyr contains flash devices that have a larger
alignment than will fit in an 8-bit value.  This generally means that
`flash_area_align` will just return 0 on these platforms.

Change call in Zephyr as well.

This shouldn't cause any observable behavior changes in Zephyr, other
than making some cases that don't work currently begin to work.  If a
client is storing these results in a u8, it will be truncated, the same
as things were previously.  If, however, the caller is prepared to
handle a larger type, this will result in having correct information,
instead of the truncated value.

Signed-off-by: David Brown <david.brown@linaro.org>
2021-12-30 16:32:02 -05:00
Vinayak Kariappa Chettimada
8660457ec2 Bluetooth: Controller: Apply suggestions from code review
Apply suggestions from code review.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Vinayak Kariappa Chettimada
6b9b16f06d Bluetooth: Controller: Minor changes related to review comments
Minor changes related to review comments.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Vinayak Kariappa Chettimada
c706a095e8 Bluetooth: Controller: Rename drop to accept to avoid negations
Rename the variable drop to accept to avoid multiple use of
negations in the implementation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Vinayak Kariappa Chettimada
471543e75e Bluetooth: Controller: Use DUP_FILTER_DISABLED define
Use DUP_FILTER_DISABLED define instead of magic value to
represent duplicate filtering being disabled.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Vinayak Kariappa Chettimada
48f4eb9a4e tests: Bluetooth: bsim: Test updated to use Periodic Sync Recv Enable
Updated the ISO BabbleSim test to use Periodic Sync Receive
enable command to disable Periodic Sync reports and yet
receive the BIGInfo report.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Vinayak Kariappa Chettimada
a1810425ca Bluetooth: Controller: Update support for Periodic Sync Receive enable
Update support for Periodic Advertising Synchronization
Receive Enable command, so that PDUs are received so that
contents of Extended Common Payload Format is parsed and
process for information like Channel Map Update and BIGInfo.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Vinayak Kariappa Chettimada
64eaa52e41 Bluetooth: Controller: Initial support for Periodic Sync Receive enable
Initial support for Periodic Advertising Synchronization
Receive Enable command.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Vinayak Kariappa Chettimada
1686551395 Bluetooth: Add defines for Periodic Advertising Receive Enable
Add defines for Periodic Advertising Receive Enable.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-12-29 18:01:17 +01:00
Gerard Marull-Paretas
770732fe92 doc: reference: drivers: update system drivers section
Update the system drivers section: remove references to
SYS_DEVICE_DEFINE, add references to the SYS_INIT() macro.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-12-24 20:59:10 -05:00
Gerard Marull-Paretas
e8bcaff0ee device: deprecate SYS_DEVICE_DEFINE
Deprecate the SYS_DEVICE_DEFINE macro in favor of SYS_INIT.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-12-24 20:59:10 -05:00
Gerard Marull-Paretas
bcab9f9ac5 samples: bluetooth: hci: replace SYS_DEVICE_DEFINE with SYS_INIT
SYS_INIT can be used for the same purpose, what is being run is simply
an initialization hook.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-12-24 20:59:10 -05:00
Gerard Marull-Paretas
8b95b259cd drivers: gpio: stm32: replace SYS_DEVICE_DEFINE with SYS_INIT
SYS_INIT can be used for the same purpose, what is being run is simply
an initialization hook.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-12-24 20:59:10 -05:00
Lingao Meng
422728e156 CODEOWNERS: Add LingaoM for bbc_microbit_v2 board
Add myself as codeowner for the bbc_microbit_v2 driver

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2021-12-24 20:56:29 -05:00
Tim Lin
f9bf14f79a ITE: drivers/serial: add console input expired
If there are no console messages input at an interval of 15
seconds, the system will be able to enter suspend mode.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-12-24 20:54:16 -05:00
Alexandre Bourdiol
607a40e728 boards: arm: stm32h7: select direct SMPS for both disco boards
Direct SMPS is the default configuration out of the box of:
* stm32h474i_disco
* stm32h735g_disco

Fixes #34732

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-12-24 20:53:05 -05:00
Emil Gydesen
b988c803f6 Bluetooth: drivers: Add length checks before net_buf_add_mem
Add length checks before calls to net_buf_add_mem
for dynamically sized data.

This should give a better error response than hitting
the __ASSERT in net_buf_simple_add.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-12-24 20:50:03 -05:00
Lixin Guo
0ef5dac70e tests: workq: add support for k_work_queue_init()
According to documentation, the memory of struct: k_work_q should
be zeroed.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-12-24 20:47:03 -05:00
Pavel Vasilyev
b1d2bb0b47 tests: Bluetooth: Mesh: Add tests to cover message publication
This commit adds 3 tests that check:
- Publish period state
- Publish retransmit count and interval steps states
- Canceling periodic publication and publication retransmission

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2021-12-23 14:57:54 +01:00
Pavel Vasilyev
91c87fdc7d Bluetooth: Mesh: Fix publication period measurement
Period measurement should be started right after a message is updated.
That is because `struct bt_mesh_send_cb.start` callback is called from
the advertiser thread which is not necessary to be scheduled immeditely
and a user may see some delays between update handler calls.

The publication timer still needs to be scheduled after a message being
actually sent out to the air so that access layer doesn't overflow the
advertiser's buffer. To achieve some specific use cases, where a
published message needs to be retransmitted with 50ms interval, a user
has to switch off network retransmissions to make the legacy advertiser
sleep for the shortest possible time.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2021-12-23 14:57:54 +01:00
Kamil Piszczek
ff4b9a8cd3 boards: thingy52_nrf52832: enable segger rtt in the default config
Enabled Segger RTT in the default configuration of Thingy52.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2021-12-23 13:30:34 +01:00
Hake Huang
2cbdd12e9c driver: i2s: fixing build error
some build error due to adding rt11xx support without testing

update mclk enable to avoid add pinmux driver

note:
  some other PRs still in progress to full enable i2s on rt platform

this fixing: #41153

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2021-12-23 13:25:43 +01:00
Sebastian Bøe
dbe473bc83 cmake: Test the compiler before testing compiler flags
We used to test that the compiler works at all, before testing
compiler flags. But during some toolchain refactoring this got
re-arranged.

This commit corrects the ordering.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2021-12-23 13:01:41 +01:00
Andrzej Głąbek
7fa4a33ea1 tests/lib/devicetree/devices: Exclude thingy52_nrf52832 platform
This test cannot be built for thingy52_nrf52832, as this board uses
regulator devices that need the SX1509B GPIO expander driver that
in turn depends on I2C which needs to be disabled in this test.
Commit b579c12714 addressed a similar
problem for hsdk platforms by excluding those. Use the same solution.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-12-23 12:51:01 +01:00
Attie Grande
650b516a90 soc: atmel_sam0: Fix pinctrl config
Accidental repetition of pad0 / pad1 -> pad2 / pad3

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2021-12-23 12:39:48 +01:00
Andrzej Puzdrowski
8c6998c3a1 doc: note on the settings for the secure-domain
Added note for clarification on setting limitation
for secure/non-secure domains isolation.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2021-12-23 12:39:20 +01:00
Carlo Caione
67ef1df950 mbox: Enforce callback registration before enabling the channel
Specify in the API that the callback must be registered before the
channel is enabled, fix the NRFX IPC driver to be compliant and change
the MBOX sample.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-12-23 12:38:21 +01:00
Sam Hurst
651854a323 boards: arm: add support for STM32G081B Evaluation board
Support the ST STM32G081B Evaluation board with STM32G081RB SoC

Tested with:
    - `samples/basic/blinky`
    - `samples/basic/button`

Flashed samples via On-Board ST-LINK with:
    - west flash

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2021-12-23 11:21:24 +01:00
Andrzej Głąbek
f0ef6c6fea manifest: Update hal_nordic revision to fix nrfx_pwm driver
Update the hal_nordic module revision to fix a copy-paste bug in
the nrfx_pwm driver that prevents PWM pins from being configured.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-12-23 11:21:13 +01:00
Aleksandr Khromykh
0350e38d62 test: Bluetooth: Mesh: fix racing between bsim devices in provisioning test
Bsim devices work asynchronously before access to Phy.
Interprocess OOB communication might be broken because of this.
PR adds synchronization for devices. Drift is 100ms between them.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2021-12-23 11:20:08 +01:00
Piotr Pryga
49f0aba94c Bluetooth: Controller: Fix wrong variable passed to isr_done
Wrong variable was passed when isr_done was registered. It lead to
memory faults and exceptions. It should be a pointer to lll_adv_sync
instance instead of lll_adv.

The commit fixes the issue.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2021-12-23 11:20:00 +01:00
Erwan Gouriou
9073faf641 boards: b_u585i_iot02a: Leds are active low
Fix dts leds configuration for this board as they actually light up
active when pin is set to 0.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-12-23 11:19:34 +01:00
Mateusz Kwiatkowski
e8c12f2af0 drivers: wifi: eswifi: fix socket poll timeout
Fix a problem introduced in 6ea54db334 that caused the poll operation to
take 10x more time than intended.

Signed-off-by: Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
2021-12-23 11:19:00 +01:00
Dominik Ermel
ca1cda28f0 CODEOWNERS: Add myself for mgmt/mcumgr/lib
Add myself as codeowner for the mcumgr library.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2021-12-23 11:18:36 +01:00
Erwan Gouriou
18d35163b8 include/drivers/clock_control: stm32h7: Add missing symbol PLL SRC CSI
Symbol STM32_PLL_SRC_CSI was missing and was preventing the config
to be used.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-12-23 10:37:22 +01:00
Marc Herbert
5d4e08bb9f soc: xtensa: cavs-link.ld: add *(.trace_ctx) sections
Copy/paste/diverge struck again; I should have known better.

Fixes very recent and incomplete commit 9a1c5ec78e ("soc/intel_adsp:
cavs-link.ld: add *(.trace_ctx) sections"), see that commit for details.

Part of the fix for thesofproject/sof/issues/5032

This commit does not change `soc/xtensa/sample_controller/linker.ld`

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-22 17:47:21 -06:00
Aditya Bhutada
e4481f82cb drivers: adc: adc_mchp_xec: update configuration register clk times
MCHP ADC configuration register need to be updated with appropriate
clock time values for high & low time clock.

Signed-off-by: Aditya Bhutada <aditya.bhutada@intel.com>
2021-12-22 13:47:18 -05:00
Aditya Bhutada
31de8caa9c dts: bindings: adc: microchip: Introduced clk_time field
Added clk_time field to configure Microchip ADC config register.
This allows programming ADC_CLK_HIGH_TIME & ADC_CLK_LOW_TIME register
values.

Signed-off-by: Aditya Bhutada <aditya.bhutada@intel.com>
2021-12-22 13:47:18 -05:00
Henrik Brix Andersen
f92542ecf3 drivers: can: deprecate the can_attach_workq() API call
Deprecate the can_attach_workq() API call.

This API is limited in its functionality (it does not work with
userspace, it uses one common buffer size for all work queue instances).

Similar functionality can easily be implemented using the
can_attach_msgq() API along with the generic triggered work API
(e.g. using k_work_poll_submit()).

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-12-22 18:04:02 +01:00
Henrik Brix Andersen
d1ff466ceb tests: drivers: can: fd: remove can_attach_workq() tests
Remove the tests for can_attach_workq().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-12-22 18:04:02 +01:00
Henrik Brix Andersen
aace49f600 tests: drivers: can: api: remove can_attach_workq() tests
Remove the tests for can_attach_workq() and convert the
test_send_receive_buffer() test case to using a message queue.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-12-22 18:04:02 +01:00
Henrik Brix Andersen
1f8255a311 samples: drivers: can: convert from can_attach_workq() to triggered work
Convert the CAN sample from using can_attach_workq() to using
can_attach_msgq() and triggered work via k_work_poll_submit().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-12-22 18:04:02 +01:00