Compare commits

...

7146 Commits

Author SHA1 Message Date
Thomas Stranger
091f5956b7 github: workflows: disable workflows
Disable workflows because the branch is no longer maintained.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2025-11-24 13:09:08 -05:00
Henrik Brix Andersen
c49ce6725d ci: build samples/cpp/hello_world as part of the multiplatform test
Build the C++ version of the Hello, World sample as part of the
multiplatform (build) test in CI.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit cd543887f4)
2024-11-06 06:44:42 +01:00
Henrik Brix Andersen
1040cd6023 SDK_VERSION: Use Zephyr SDK 0.16.9
This commit updates ZEPHYR_SDK to point to the Zephyr SDK 0.16.9 release.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-11-06 06:44:42 +01:00
Dominik Ermel
03bc6e0d70 storage/stream_flash: Fix range check in stream_flash_erase_page
Added check where stream_flash_erase_page checks if requested
offset is actually within stream flash designated area.

Fixes #79800

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
(cherry picked from commit 8714c172ed)
2024-11-06 06:44:30 +01:00
Torsten Rasmussen
6aeb7a2b96 cmake: limit Zephyr SDK to 0.16.x series for Zephyr 3.6 LTS
Copy of 6da35a811a

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-10-29 22:11:21 +01:00
Torsten Rasmussen
6e7db36176 cmake: support range for find_package(Zephyr-sdk)
Fixes: #80200

CMake `find_package(<package> <version>)` support the use of ranges,
like `1.0.0...4.0.0`.

Update the FindZephyr-sdk.cmake module to support this.
This allows looking up the Zephyr SDK with an upper boundry, for example
`find_package(Zephyr-sdk 0.16...<0.17)`.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-10-29 22:11:21 +01:00
Abram Early
ee4c40c507 modbus: reset wait semaphore before tx
A response returned after a request times out would increment the
semaphore and stay until the next request is made which will immediately
return when k_sem_take is called even before a response is returned. This
will once again have the same problem when the actual response arrives.
So the wait semaphore just needs to be reset before transmitting.

Signed-off-by: Abram Early <abram.early@gmail.com>
(cherry picked from commit 583f4956dc)
2024-10-22 20:41:04 +02:00
Ibe Van de Veire
7f478311e6 test: net: igmp: Add extra IGMPv3 testcase
Added extra testcases for the IGMPv3 protocol. The IGMP driver is
supposed to send an IGMPv3 report when joining a group.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
(cherry picked from commit e6dd4cda89)
2024-10-22 09:30:41 +02:00
Ibe Van de Veire
d2ba008b0a net: ip: igmp: Add igmp.h for definitions
Add igmp.h file to declare definitions for IGMP that are not meant te be
included by the application but can be used in e.g. tests.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
(cherry picked from commit ba9eca3181)
2024-10-22 09:30:41 +02:00
Ibe Van de Veire
8e2419fce4 net: ip: igmp: Remove too strict length check
According to RFC2236 section 2.5, the IGMP message may be longer then 8
bytes. The rest of the bytes should be ignored.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
(cherry picked from commit c646dd37e5)
2024-10-22 09:30:41 +02:00
Ibe Van de Veire
73372783ce net: ip: igmp: Fix wrong header length
The header length of the net ip packet was calculated using only the
net_pkt_ip_hdr_len function. The correct header length should be
calculated by adding net_pkt_ip_hdr_len and net_pkt_ipv4_opts_len. This
resulted in an incorrect IGMP version type in case of IGMPv2 message
(when IGMPv3 was enabled). The IGMP message was not parsed correctly and
therefore dropped.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
(cherry picked from commit f852c12360)
2024-10-22 09:30:41 +02:00
Daekeun Kang
6937dabf26 net: fix handle unaligned memory access in net_context_bind()
This commit addresses an issue in net_context_bind() where unaligned
memory access was not properly handled when checking for INADDR_ANY.
The problem primarily affected MCUs like ARMv6 that don't support
unaligned memory access.

- Use UNALIGNED_GET() to safely access the sin_addr.s_addr field
- Ensures correct behavior on architectures with alignment restrictions

This fix improves compatibility and prevents potential crashes or
unexpected behavior on affected platforms.

Signed-off-by: Daekeun Kang <dkkang@huconn.com>
(cherry picked from commit b24c5201a0)
2024-10-02 10:06:12 +02:00
Jamie McCrae
25d2970266 doc: services: device_mgmt: mcumgr: Correct license for tool
Corrects an incorrect license for a tool

Fixes #78927

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-09-30 17:08:57 -05:00
Lyle Zhu
097ed18842 Bluetooth: SDP: Fix stack override issue
Check the remaining space of the local variable
`filter` to avoid stack override issue.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
(cherry picked from commit f3a1cf2782)
2024-09-26 11:31:34 +02:00
Lyle Zhu
f5f9872138 Bluetooth: RFCOMM: check the validity of received frame
Check whether the received frame is complete by
comparing the length of the received data with
the frame data.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
(cherry picked from commit 37d62c6a16)
2024-09-26 11:16:26 +02:00
Emil Gydesen
2c2540ee46 zephyr: Add zero-len check for utf8_trunc
The function did not check if the provided string had a zero
length before starting to truncate, which meant that last_byte_p
could possible have pointed to the value before the string.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-09-18 12:51:33 +02:00
Eunkyu Lee
a0c8a437c1 Bluetooth: Classic: Add length check in bluetooth classic
Added length checks for user input in `sdp_client_receive` and
`l2cap_br_info_rsp`.

Signed-off-by: Eunkyu Lee <mochaccino.00.00@gmail.com>
(cherry picked from commit 88881257ab)
2024-09-06 10:05:42 -05:00
Eunkyu Lee
ecfc6e1e89 Bluetooth: Host: Add missing buffer length check
Modified to check the length of the remaining data in buffer
before processing the next report. The length check is missing
in the cont routine.

Signed-off-by: Eunkyu Lee <mochaccino.00.00@gmail.com>
(cherry picked from commit e491f220d8)
2024-09-06 10:05:19 -05:00
Emil Gydesen
6567d6e370 Bluetooth: ASCS: Validate num_ases in CP requests
Add validation of the number of ASEs in control point
write requests.

This validates that the number of ASEs
in the control point is not greater than the total number
of ASEs we support.

This also validates that the GATT MTU is large enough to
hold all the responses from the write since those can only be
sent as notifications and never be truncated.

Finally this validates and updates the size of the buffer used to
hold the responses, which may be an optimization for some builds.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
(cherry picked from commit 7b0784c1f6)
2024-09-06 10:04:50 -05:00
Emil Gydesen
9ab5868c91 Bluetooth: OTS: Add len validation in olcp_ind_handler
Verify the length of the indication before we pull from the
buffer.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
(cherry picked from commit 044f8aaeb3)
2024-09-06 10:04:31 -05:00
Emil Gydesen
5afc636af9 Bluetooth: BAP: Add check for num_subgroups in parse_recv_state
In the parse_recv_state we did not verify that we can handle all
the subgroups before we started parsing them.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
(cherry picked from commit edbe34eaf2)
2024-09-06 10:04:09 -05:00
Anas Nashif
6874cf56ab ci: rerun issue check on PR edit
Re-run issue check when a PR is updated, i.e. when someone adds
'Fixes...` to the PR body.

This is mostly for release branches and has no effect on main branch.

Also, add concurrency check in the workflow.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
(cherry picked from commit 4077249cc7)
2024-08-29 22:09:03 +02:00
Benjamin Cabé
cc23222d25 doc: fix issue with keydown/keyup being ignored
Ensure initial search menu visibility is properly set so that key
events don't get trapped preventing arrow key navigation on the
document.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
(cherry picked from commit b3776ca97c)
2024-08-26 17:01:45 -05:00
Aleksander Wasaznik
d5a127ad2f Bluetooth: host: sched-lock bt_recv()
`bt_recv` is invoked from the BT long work queue, which is preemptible.
The host uses cooperative scheduling to ensure thread safety.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-08-14 13:27:50 -05:00
Georges Oates_Larsen
c684dabf6a net: net_if: fix net_if_send_data for offloaded ifaces
Some offloaded ifaces have an L2, but lack support for
net_l2->send. This edge case is not handled by
net_if_send_data, resulting in a NULL dereference under
rare circumstances.

This patch expands the offloaded iface guard in
net_if_send_data to handle this edge case.

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
(cherry picked from commit 1c79445059)
2024-08-13 22:03:24 +02:00
Francois Ramu
7c5e43aea6 doc: release 3.6: no CACHE_MANAGEMENT by default on stm32h7/f7
Mentioning that stm32h7 and stm32F7 series do not have the
CONFIG_CACHE_MANAGEMENT by default. The application must
explicitly set CONFIG_CACHE_MANAGEMENT=y to activate
the cache (Icache, Dcache) on those stm32 series.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
(cherry picked from commit 1c59fa5231)
2024-08-05 22:12:18 +02:00
Flavio Ceolin
850601b055 tests: dynamic_thread_stack: Check thread stack permission
Check if a user thread is capable of free another thread stack.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
(cherry picked from commit 95dde52b1e)
2024-08-01 21:36:06 +02:00
Flavio Ceolin
28107c9b54 userspace: dynamic: Fix k_thread_stack_free verification
k_thread_stack_free syscall was not checking if the caller
had permission to given stack object.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
(cherry picked from commit c12f0507b6)
2024-08-01 21:36:06 +02:00
Jukka Rissanen
c9473ca717 net: context: Check null pointer in V6ONLY getsockopt
Make sure we are not accessing NULL pointer when checking
if the IPv4 mapping to IPv6 is enabled.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
(cherry picked from commit cf552905f4)
2024-08-01 10:12:54 +02:00
Vinayak Kariappa Chettimada
2cddfcef89 Bluetooth: Controller: Add explicit LLCP error code check
Add unit tests to cover explicit LLCP error code check and
cover the same in the Controller implementation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
(cherry picked from commit d6f2bc9669)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Vinayak Kariappa Chettimada
90225887db Bluetooth: Controller: Use BT_HCI_ERR_UNSPECIFIED as needed
A Host shall consider any error code that it does not
explicitly understand equivalent to the error code
Unspecified Error (0x1F).

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
(cherry picked from commit 78466c8f52)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Vinayak Kariappa Chettimada
e31a6ef555 Bluetooth: Controller: Refactor BT_CTLR_LE_ENC implementation
Refactor reused function in BT_CTLR_LE_ENC feature.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
(cherry picked from commit fe205a598e)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Vinayak Kariappa Chettimada
9d03b8f1d3 Bluetooth: Controller: Fix missing conn update ind PDU validation
Fix missing validation of Connection Update Ind PDU. Ignore
invalid connection update parameters and force a silent
local connection termination.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
(cherry picked from commit 4b6d3f1e16)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Erik Brockhoff
ae70d76bee Bluetooth: controller: minor cleanup and a fix-up re. LLCP
Only perform retention if not already done.
Ensure 'sched' is performed on phy ntf even if dle is not.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
(cherry picked from commit 9d8059b6e5)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Erik Brockhoff
d1a10bc004 Bluetooth: controller: fix node_rx retention mechanism
Ensure that in LLCP reference to node_rx is cleared when
retention is NOT used, to avoid corruption of node_rx later
re-allocated

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
(cherry picked from commit 806a4fcf92)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Erik Brockhoff
a3ca8d09f2 Bluetooth: controller: fixing rx node leak on CPR reject of parallel CPR
In case a CPR is intiated but rejected due to CPR active on
other connection, rx nodes are leaked due to retained node not
being properly released.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
(cherry picked from commit edef1b7cf4)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Morten Priess
e8cc179b6e Bluetooth: controller: Prevent invalid compiler code reordering
In ull_disable, it is imperative that the callback is set up before a
second reference counter check, otherwise it may happen that an LLL done
event has already passed when the disable callback and semaphore is
assigned.

This causes the HCI thread to wait until timeout and assert after
ull_ticker_stop_with_mark.

For certain compilers, due to compiler optimizations, it can be seen
from the assembler code that the callback is assigned after the second
reference counter check.

By adding memory barriers, the code correctly reorders code to the
expected sequence.

Signed-off-by: Morten Priess <mtpr@oticon.com>
(cherry picked from commit 7f82b6a219)
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-07-21 00:34:05 +02:00
Jordan Yates
a025a65d1f net: lib: dhcpv4: goto INIT on IF down, not RENEWING
When the interface goes down, the safest thing to do is to return to
the INIT state, as there is no guarantee that any state is preserved
upon the interface coming back up again.

This is particularly the case with WiFi.

Signed-off-by: Jordan Yates <jordan@embeint.com>
(cherry picked from commit 0f56974c9d)
2024-07-15 10:04:46 -05:00
Robert Lubos
ace6e447cf net: mqtt: Fix possible socket leak with websocket transport
In case underlying TCP/TLS connection is already down, the
websocket_disconnect() call is expected to fail, as it involves
communication. Therefore, mqtt_client_websocket_disconnect() should not
quit early in such cases, as it could lead to an underlying socket leak.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 4625fa713f)
2024-07-09 18:58:50 +02:00
Jared Kangas
4769dbb650 drivers: adc: lmp90xxx: fix checksum mismatch return value
During channel reads, zero is returned on CRC mismatches: the returned
error variable is not written to after a previous non-zero check. Return
-EIO to mirror other drivers' checksum validation behaviors.

Signed-off-by: Jared Kangas <kangas.jd@gmail.com>
(cherry picked from commit 8ec3c045f8)
2024-07-05 08:32:16 +02:00
Jamie McCrae
b27d3a61b7 cmake: modules: extensions: Fix dts watch file processing
Fixes and simplifies the handling of how the dts watch file is
processed

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
(cherry picked from commit 11c1f3de61)
2024-07-01 13:43:12 +02:00
Jamie McCrae
388717ecf1 cmake: modules: extension: Fix dts file watch
Fixes an issue in the code that processes the output file of a
compiler to see which files should be watched, the compiler can
combine multiple files into a single line instead of putting them
each on separate lines if the length of the file paths is short,
therefore account for this and split it up into multiple elements

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
(cherry picked from commit f4cfb8cd96)
2024-07-01 13:43:12 +02:00
Sven Ginka
6866bbbf05 soc: atmel: sam: Add invalidate d-cache at z_arm_platform_init
Before that fix, the SOC was unable to boot properly.
Starting turned directly into z_arm_usage_fault().
Fixes zephyrproject-rtos#73485

Signed-off-by: Sven Ginka <sven.ginka@gmail.com>
(cherry picked from commit c3d7b1c978)
2024-06-25 22:32:07 +02:00
Johan Hedberg
fee892052a Bluetooth: Host: Avoid processing "no change" encryption changes
If the new encryption state is the same as the old one, there's no point in
doing additional processing or callbacks. Simply log a warning and ignore
the HCI event in such a case.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
(cherry picked from commit bf363d7c3e)
2024-06-25 17:43:37 +02:00
Sean Nyekjaer
8cd7337d69 dts: arm: st: mp1: fix exti interrupt numbering
Align interrupt numbering with RM0436 for STM32MP157.
This will allow EXTI interrupt for line 6, 7, 8, 9, 10 and 11.

Fixes: ff231fa20a ("dts: stm32: Populate new properties for exti nodes")
Signed-off-by: Sean Nyekjaer <sean@geanix.com>
(cherry picked from commit ede866440d)
2024-06-05 16:06:37 +02:00
Abderrahmane Jarmouni
999c9a3b36 drivers: counter: stm32_rtc: fix clk disable for WBAX
clock_control_on() was called instead of clock_control_off().

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
(cherry picked from commit c09f1ec91a)
2024-06-05 16:06:21 +02:00
Henrik Brix Andersen
1c606f5528 drivers: can: shell: print raw DLC when sending frame, not bytes
Print the raw DLC when enqueuing a CAN frame for sending, not the
corresponding number of bytes.

Fixes: #73309

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit 6a070ee165)
2024-05-29 14:53:17 +02:00
Henrik Brix Andersen
a5d72fec6e drivers: can: shell: fully initialize frame before sending
Zerorise the CAN frame before filling in data to ensure all data bytes are
initialized.

Fixes: #73309

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit fb4f67b775)
2024-05-29 14:53:17 +02:00
Gerson Fernando Budke
899e9e5320 mgmt: updatehub: Fix mark for update
This fixes compatibility with recent bootutils API.

Fixes #69297

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
(cherry picked from commit 94cd46d6ef)
2024-05-29 14:53:08 +02:00
Gerson Fernando Budke
73d6a10f54 mgmt: updatehub: Fix json arrays
After the changes introduced by #50816 the UpdateHub could not decode
anymore the JSON object. This introduce missing parsing definitions
to allow JSON parser undertood the correct UpdateHub probe object.

Fixes #69297

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
(cherry picked from commit 5fb62ca960)
2024-05-29 14:53:08 +02:00
Henrik Brix Andersen
c5156632a5 drivers: sensor: nxp: kinetis: temp: fix memset() length
Use the correct buffer size when calling memset().

Fixes: #73093

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit 59402fd82e)
2024-05-23 12:43:06 +02:00
Henrik Brix Andersen
4fe22b0f4e drivers: sensors: nxp: kinetis: temp: select CONFIG_ADC
The NXP Kinetis temperature sensor depends on CONFIG_ADC. Make the driver
Kconfig select CONFIG_ADC to get better CI coverage (enabling the driver
when CONFIG_SENSOR is enabled without depending on CONFIG_ADC=y).

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit 0a49b788a4)
2024-05-23 12:43:06 +02:00
Aleksander Wasaznik
f743d124b8 Bluetooth: Check buffer length in GATT rsp functions
Add length checks local to the parsing function. This removes the need
for a separate data validation step.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
(cherry picked from commit 3eeb8f8d18)
2024-05-05 21:25:26 +02:00
Alberto Escolar Piedras
a9fbf481f3 tests bsim edtt: Kill stuck processes in the same way as other tests
This test keeps its own partial way of running tests.
Let's have it kill stuck processes in the same way as
the rest (sending another kill 5 seconds after, and printing
a message about what happened)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit 693ae8635a)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-05 21:25:26 +02:00
Alberto Escolar Piedras
29976389f4 tests/bsim/bt l2cap/stress: Increase runtime timeout
This test has been seen failing in the new runners
due to a (realtime) timeout.
Let's double the timeout so it does not.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit f4972347d4)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-05 21:25:26 +02:00
Alberto Escolar Piedras
e946ab2cc0 tests/bsim broadcast_audio: Increase realtime timeout
This test has been seen failing in older slower computers
due to timeouts, let's increase the timeout so we don't
break in those cases.
Note this timeout is just a safety to eventually kill
hung simulations even if nobody presses Ctrl+C.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit 0888882262)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-05 21:25:26 +02:00
Alberto Escolar Piedras
89e601ec2d tests/bsim audio mcs_mcc: Increase realtime timeout
This test has been seen failing in older slower computers
due to timeouts, let's increase the timeout so we don't
break in those cases.
Note this timeout is just a safety to eventually kill
hung simulations even if nobody presses Ctrl+C.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit e9c8856165)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-05 21:25:26 +02:00
Alberto Escolar Piedras
09b84c709a tests/bsim mesh: Increase realtime timeout
One of these tests has been seen failing in older slower
computers due to timeouts, let's increase the timeout so
we don't break in those cases.
Note this timeout is just a safety to eventually kill
hung simulations even if nobody presses Ctrl+C.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit d592455cc0)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-05 21:25:26 +02:00
Alberto Escolar Piedras
313a062cbe tests bsim/bt/ll: Split build script in 2
The CIS tests are building quite many
apps on their own.
Let's split them in their separate sub-script,
so we don't parallelize too many builds,
and users have more granularity if they only
want to build a subset.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit 940d53e839)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-05 21:25:26 +02:00
Alberto Escolar Piedras
00b117f430 tests/bsim/bt/host: Split build script in 6
There are quite many BT host test images being built.
Today these are all built in parallel, causing a quite
high load.

Let's split them in their separate sub-scripts,
so we don't parallelize too many builds,
and users have more granularity if they only
want to build a subset.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit 65d49cd434)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-05 21:25:26 +02:00
Takuya Sasaki
4c45c3e1b2 net: context: Fix the ICMP error on raw
This commit applies the issues detected in UDP to recv_raw() as
well. Please refer to the previous commit log for details.

Signed-off-by: Takuya Sasaki <takuya.sasaki@spacecubics.com>
(cherry picked from commit 7d1edd1fcb)
2024-05-01 10:14:51 -05:00
Takuya Sasaki
4c54123941 net: context: Fix the ICMP error on udp
When receiving a UDP packet, net_conn_input() searches for a
matching connection within `conn_used`.

However, when receiving UDP packets simultaneously from multiple
clients, we may encounter a situation where the connection that was
supposed to be bound cannot be found within `conn_used`, and raise
the ICMP error.

This is because, within recv_udp(), to avoid the failure of
bind_default(), we temporarily remove it from `conn_used` using
net_conn_unregister().

If the context already has a connection handler, it means it's
already registered. In that case, all we have to do is 1) update
the callback registered in the net_context and 2) update the
user_data and remote address and port using net_conn_update().

Fixes #70020

Signed-off-by: Takuya Sasaki <takuya.sasaki@spacecubics.com>
(cherry picked from commit 4f802e1197)
2024-05-01 10:14:51 -05:00
Takuya Sasaki
bc1af7a997 net: conn: Add internal function for update connection
This commit adds the new internal function for update the callback,
user data, remote address, and port for a registered connection
handle.

Signed-off-by: Takuya Sasaki <takuya.sasaki@spacecubics.com>
(cherry picked from commit 46ca624be4)
2024-05-01 10:14:51 -05:00
Takuya Sasaki
17c98d3316 net: conn: Add static function for changing remote
This commit adds the new static function for change the remote
address and port to connection, and replaces the changing process
for remote address and port in net_conn_register().

Signed-off-by: Takuya Sasaki <takuya.sasaki@spacecubics.com>
(cherry picked from commit ef18518e91)
2024-05-01 10:14:51 -05:00
Takuya Sasaki
efdad10cc6 net: conn: Move net_conn_change_callback() to static
The net_conn_change_callback() is not currently being called by
anyone, so this commit moves to static function, and replaces
the change callback parameter process in net_conn_register().

Signed-off-by: Takuya Sasaki <takuya.sasaki@spacecubics.com>
(cherry picked from commit 49c6da51ce)
2024-05-01 10:14:51 -05:00
Torsten Rasmussen
ed1f5b7a20 cmake: fix issue with parsing version file located in /VERSION
Fixes: #71384

A VERSION file placed in `/` or `<drive>:\` was accidentally being
picked up during `find_package(Zephyr)`.

This happened because Zephyr loads the VERSION file to determine if it
is the correct Zephyr to use.

During initial phase of find_package(), then APPLICATION_SOURCE_DIR is
not defined, causing one version file to be picked up from `/VERSION`
instead of `<app>/VERSION`. `/VERSION` is outside any Zephyr repo, west
workspace, or the application itself and therefore should not be picked
up accidentally.

Fix this be checking that APPLICATION_SOURCE_DIR is defined, and only
when defined, look for a VERSION file there.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
(cherry picked from commit 4959a0241e)
2024-05-01 10:12:08 -05:00
Grzegorz Swiderski
df2c9863dc cmake: configuration_files: Add missing FILE_SUFFIX handling
for Kconfig fragments in the `boards` application subdirectory.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
(cherry picked from commit 3cff550180)
2024-04-26 14:10:03 -04:00
Jamie McCrae
d731d424fb cmake: modules: extensions: Rename prefixes in functions
Renames prefixes in some functions to avoid clashes with global
variables that have the same name

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-04-26 14:10:03 -04:00
Jamie McCrae
d5b083f98a cmake: modules: extensions: Fix missing board revision overlays
Fixes an issue whereby board overlays for board revisions were not
included when configuring applications

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-04-26 14:10:03 -04:00
Stephanos Ioannidis
597ab8302d tests: kernel: thread_runtime_stats: Relax precision test for QEMU
This commit relaxes the idle event statistics test precision requirement
for emulated QEMU targets because the cycle counts may be inaccurate when
the host CPU is overloaded (e.g. when running tests with twister) and a
high failure rate is observed for this test in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 2b2dd01c38)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
18d4edcffb testsuite: ztest: Increase ZTEST_TEST_DELAY_MS to 5000
This commit increases the default value of `ZTEST_TEST_DELAY_MS` from 3000
to 5000 milliseconds because the current value of 3000ms may not be
sufficient for the hosts with lower CPU clock frequency (e.g. new Zephyr CI
runners with cost-effective processors).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 1bf751074d)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
05da0d6823 ci: bsim-tests: Use zephyr-runner v2
This commit updates the bsim-tests workflow to use the new zephyr-runner v2
CI runner deployment.

It also updates the workflow to use the `ci-repo-cache` Docker image, which
includes the Zephyr repository cache, because the node level repository
cache is no longer available in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 9f9a6c547b)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
49fbbf0494 ci: clang: Prioritise remote Redis cache storage
This commit updates the clang workflow such that ccache only uses remote
Redis cache storage when available.

The purpose of this to reduce the individual runner local disk IOPS
requirement; thereby, reducing the overall load on the SAN.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 95e7eb31e6)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
e1f1922a33 ci: clang: Use Redis remote storage for ccache
This commit updates the clang workflow to, when available, use Redis remote
storage backend for the ccache compilation cache data.

The Redis cache server is hosted in the Kubernetes cluster in which the
zephyr-runner pods run -- the Redis remote storage backend will be ignored
if the server is unavailable.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 4a2884c652)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
914ac45778 ci: clang: Store ccache data in node cache
This commit updates the clang workflow to store ccache data in the
zephyr-runner v2 node cache.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit cd83f0724b)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
1f9fde3dc2 ci: clang: Use zephyr-runner v2
This commit updates the clang workflow to use the new zephyr-runner v2 CI
runner deployment.

It also updates the workflow to use the `ci-repo-cache` Docker image, which
includes the Zephyr repository cache, because the node level repository
cache is no longer available in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 64ca699fc8)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
e25ff072ee ci: codecov: Set twister timeout multiplier to 2
This commit sets the codecov workflow twister timeout multiplier to 2,
which effectively increases the default test timeout from 60 to 120
seconds, because the new cost-effective Zephyr runners may take longer to
execute tests and the default timeout is not sufficient for some tests to
complete.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 550bb4e4a6)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
4f8ccc3122 ci: codecov: Prioritise remote Redis cache storage
This commit updates the codecov workflow such that ccache only uses remote
Redis cache storage when available.

The purpose of this to reduce the individual runner local disk IOPS
requirement; thereby, reducing the overall load on the SAN.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit a636c52b6a)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
1cef4cba1a ci: codecov: Add --specs to ccache ignore option list
This commit adds the compiler `--specs=*` flag to the ccache ignore option
list because ccache is unable to resolve the toolchain-provided specs file
path and will consider source files to be uncacheable if it is unable to
read the specified specs file.

Note that adding `--specs=*` to the ignore option list is not a problem
because it is unlikely for the content of the toolchain libc spec file to
change without the compiler executable itself changing.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit ab9f6b456b)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
ce208dbe6d ci: codecov: Use Redis remote storage for ccache
This commit updates the codecov workflow to, when available, use Redis
remote storage backend for the ccache compilation cache data.

The Redis cache server is hosted in the Kubernetes cluster in which the
zephyr-runner pods run -- the Redis remote storage backend will be ignored
if the server is unavailable.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit b57f1b5a15)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
ee7617ccad ci: codecov: Store ccache data in node cache
This commit updates the codecov workflow to store ccache data in the
zephyr-runner v2 node cache.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 36b0b101d4)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
27f2c02f8d ci: codecov: Use zephyr-runner v2
This commit updates the codecov workflow to use the new zephyr-runner v2 CI
runner deployment.

It also updates the workflow to use the `ci-repo-cache` Docker image, which
includes the Zephyr repository cache, because the node level repository
cache is no longer available in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 354e290a23)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
f5eaee5d13 ci: codecov: Run on all zephyrproject-rtos organisation repositories
This commit updates the codecov workflow to run on all forks under the
zephyrproject-rtos organisation.

The purpose of this is mainly to simplify the process of testing of this
workflow under the zephyr-testing repository.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit c1bd5a613f)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
902fb9b4b0 ci: footprint-tracking: Use zephyr-runner v2
This commit updates the bsim-tests workflow to use the new zephyr-runner v2
CI runner deployment.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 9838633c0e)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
1a45a764a6 ci: doc-build: Use zephyr-runner v2
This commit updates the doc-build workflow to use the new zephyr-runner v2
CI runner deployment.

It also installs additional system packages that are not available by
default in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 2819c3526a)
2024-04-24 20:11:32 +09:00
Anas Nashif
7b47e9cd7f ci: twister: increase matrix size for push jobs
Increase matrix size to 20 from 15 on push events.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
(cherry picked from commit 9970724652)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
8aa0204a74 ci: twister: Set build job timeout to 24 hours
This commit increases the twister build job timeout from the default value
of 6 hours to 24 hours because scheduled (weekly) build runs take longer
than 6 hours to complete.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 7df7e834d9)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
d9fdd258b1 ci: twister: Set twister timeout multiplier to 2
This commit sets the twister timeout multiplier to 2, which effectively
increases the default test timeout from 60 to 120 seconds, because the new
cost-effective Zephyr runners may take longer to execute tests and the
default timeout is not sufficient for some tests to complete.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit de68ea7ce0)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
47ed96c9f3 ci: twister: Prioritise remote Redis cache storage
This commit updates the twister workflow such that ccache only uses remote
Redis cache storage when available.

The purpose of this to reduce the individual runner local disk IOPS
requirement; thereby, reducing the overall load on the SAN.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 527435d642)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
1660ff0bb5 ci: twister: Add --specs to ccache ignore option list
This commit adds the compiler `--specs=*` flag to the ccache ignore option
list because ccache is unable to resolve the toolchain-provided specs file
path and will consider source files to be uncacheable if it is unable to
read the specified specs file.

Note that adding `--specs=*` to the ignore option list is not a problem
because it is unlikely for the content of the toolchain libc spec file to
change without the compiler executable itself changing.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit d3f9f391ad)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
6eb54b420d ci: twister: Use Redis remote storage for ccache
This commit updates the twister workflow to, when available, use Redis
remote storage backend for the ccache compilation cache data.

The Redis cache server is hosted in the Kubernetes cluster in which the
zephyr-runner pods run -- the Redis remote storage backend will be ignored
if the server is unavailable.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 3823f1f0db)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
d8f9eb7c93 ci: twister: Store ccache data in node cache
This commit updates the twister workflow to store ccache data in the
zephyr-runner v2 node cache.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 1be3aacad3)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
5a75516c9f ci: twister: Print cloud service information
This commit updates the twister workflow jobs that run on the zephyr-runner
v2 to print the underlying cloud service information in the logs to help
trace and debug potential runner issues.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 9a9bebb9f9)
2024-04-24 20:11:32 +09:00
Stephanos Ioannidis
8d6c22bb5c ci: twister: Use zephyr-runner v2
This commit updates the twister workflow to use the new zephyr-runner v2 CI
runner deployment.

It also updates the workflow to use the `ci-repo-cache` Docker image, which
includes the Zephyr repository cache, because the node level repository
cache is no longer available in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 7c19bc70bf)
2024-04-24 20:11:32 +09:00
Celina Sophie Kalus
33b431c841 tests: posix: eventfd: Add ioctl F_SETFL test
Add a test to protect against future regressions in the ioctl F_SETFL
operation of eventfd. Flags are set and unset and validity of the file
descriptor is checked by reading and writing.

Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
(cherry picked from commit 325f22a16f)
2024-04-23 10:11:26 +02:00
Celina Sophie Kalus
02aa8a246d posix: eventfd: Fix unsetting internal flags in ioctl
Commit e6eb0a705b ("posix: eventfd: revise locking, signaling, and
allocation") introduced a regression where the internal flags of an
event file descriptor would be erased when calling the F_SETFL ioctl
operation.

This includes the flag EFD_IN_USE_INTERNAL which determines whether
this file descriptor has been opened, thus effectively closing the
eventfd whenever one tries to change a flag.

Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
(cherry picked from commit 5bd86eaddb)
2024-04-23 10:11:26 +02:00
Marco Widmer
1ef57ab277 pm: runtime: fix race when waiting for suspended event
To wait for the asynchronous suspending work item to complete, a
combination of semaphores and events is used. First, the semaphore is
released, then the events are cleared (through the boolean argument to
k_event_wait), then events are awaited.

However, if the event flag happens to be set by the work handler in the
short time between k_sem_give and k_event_wait, it is then cleared by
k_event_wait and k_event_wait blocks forever waiting for the event.

Make sure that we clear the event flag before releasing the semaphore.

Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
(cherry picked from commit d83c63ecce)
2024-04-21 03:27:40 -07:00
Francois Ramu
d0af8d80de samples: drivers: spi flash testcase check the erased data
After erasing the sector, compare dat read with expected 0xFF pattern
to decide if erasing is successful instead of relying on the
returned code of the flash_erase function

Signed-off-by: Francois Ramu <francois.ramu@st.com>
(cherry picked from commit 325ae4d32a)
2024-04-12 07:49:25 -05:00
Francois Ramu
6d9dee38f4 drivers: flash: stm32 ospi flash driver the correct erase instruction
Use the most adapted instruction for the sector erase command
It can be 0x20 or ox21 or 0x21DE in octo - DTR mode.
The value is given by the SFDP table and  filled in the erase_types
 table the during the SFDP discovery process.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
(cherry picked from commit 01684df03a)
2024-04-12 07:49:25 -05:00
Henrik Brix Andersen
719b338055 drivers: can: mcan: enable transmitter delay compensation when possible
Enable Transmitter Delay Compensation whenever the data phase timing
parameters allow it.

Fixes: #70447

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit bfad7bc00e)
2024-04-05 08:42:26 -05:00
Henrik Brix Andersen
d17fedb5f8 drivers: can: add utility macro for calculating TDC offset
Add a utility macro for calculating the Transmitter Delay Compensation
(TDC) Offset using the sample point and CAN core clock prescaler specified
by a set of data phase timing parameters.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit a3631264d1)
2024-04-05 08:42:26 -05:00
Henrik Brix Andersen
1b610be502 dts: bindings: can: can-fd-controller: remove tx-delay-comp-offset prop
Remove the unused "tx-delay-comp-offset" property from the base CAN FD
controller devicetree binding.

Having a static Transmitter Delay Compensation (TDC) offset is useless.
The offset needs to match the data phase timing parameters in order to
properly configure the second sample point when transmitting CAN FD frames
with BRS enabled.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit 744f20d005)
2024-04-05 08:42:26 -05:00
Henrik Brix Andersen
89356355d8 drivers: can: mcan: remove broken transmitter delay compensation support
Remove broken support for Transmitter Delay Compensation from the Bosch
M_CAN backend driver.

Even if this was enabled via Kconfig, the TDC bit in the DBTP register set
during driver initialization is overwritten in can_mcan_set_timing_data(),
turning TDC off.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
(cherry picked from commit ec75dc2232)
2024-04-05 08:42:26 -05:00
Reto Schneider
c719aedb0d doc: releases: Fix GH link in migration guide v3.6
Putting a space between :github: and the PR number causes the rendered
text to not link to the issue.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
(cherry picked from commit 5a49b7c90d)
2024-04-03 09:28:55 -05:00
Krzysztof Chruściński
8380437a8c shell: rtt: Add detection of host presence
If host is not reading RTT data (because there is no PC connection
or RTT reading application is not running on the host), thread will
stuck continuously trying to write to RTT. All threads with equal or
lower priority are blocked then. Adding detection of that case and
if host is not reading data for configurable period then data is
dropped until host accepts new data.

Similar solution is using in RTT logging backend.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
(cherry picked from commit 04a74ce107)
2024-04-03 09:25:06 -05:00
Flavio Ceolin
b6391efe58 intel_adsp/ace: power: Lock interruption when power gate fails
In case the core is not power gated, waiti will restore intlevel. In
this case we lock interruption after it.

In the bug scenario, the host starts streaming and via SOF APIs, keeps a
lock to prevent Zephyr from entering PM_STATE_RUNTIME_IDLE. During the
test case, host removes this block and core0 is allowed to enter IDLE
state.

When core0 enters power gated state, interrrupts are left enabled (so
the core can be woken up when something happens). This leaves a race
where suitably timed interrupt will actually block entry to power gated
state and k_cpu_idle() in power_gate_entry() will return. This is rare,
but happens often enough that the relatively short test plan run on SOF
pull-requests will trigger this case.

Fixes #69807

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
(cherry picked from commit 07426a800c)
2024-03-29 09:22:24 +01:00
Fin Maaß
c3ff6548f3 mgmt: hawkbit: remove hb_context.status_buffer_size
remove hb_context.status_buffer_size and replace it with
sizeof(hb_context.status_buffer), because hb_context.status_buffer_size
is never set.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
(cherry picked from commit 1bea938c9f)
2024-03-29 09:22:10 +01:00
Fabio Baltieri
83466c2ac1 input: gpio_keys: fix suspend race condition
Change the suspend/resume code to ensure that the interrupt are disabled
before changing the pin configuration. The current sequence has been
reported to cause spurious readouts on some platforms, this takes the
existing code and duplicates for the suspend and resume case, but swaps
the interrupt disable and configure for the suspend case.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
(cherry picked from commit d0a8c4158c)
2024-03-18 23:55:26 +01:00
Daniel DeGrasse
78aaf1d527 drivers: mipi_dbi: mipi_dbi_spi: do not take spinlock
Taking a spinlock will result in interrupts being blocked in the MIPI
DBI driver, which is not desired behavior while issuing SPI transfers,
since the driver may use interrupts to drive the transfer

Fixes #68815

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
(cherry picked from commit 5b6fadc10d)
2024-03-18 22:11:30 +01:00
Sylvio Alves
b3e4eef8b5 hal_espressif: update to include bugfixes
Added longjmp patch.
Fixes build warning in phy driver.
Fixes runtime missing rom function.
Fixes missing mcuboot assertion implementation.
Added function to retrieve uart port num

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
(cherry picked from commit f7eac8ab8d)
2024-03-17 12:55:25 +01:00
Yasushi SHOJI
a25087f9e5 drivers: sensor: ams_as5600: Fix calculation of fractional part
commit 98903d48c3 upstream.

The original calculation has two bugs. One is the calculated value, and the
other is that the value is not in one-millionth parts.

What the original calculation does is compute a scaled position value by
multiplying the raw sensor value (`dev_data->position`) by
`AS5600_FULL_ANGLE`, which represents a full rotation in degrees. It then
subtracts the product of the whole number of pulses (`val->val1`) and
`AS5600_PULSES_PER_REV` from this scaled position value.

    ((int32_t)dev_data->position * AS5600_FULL_ANGLE)
    - (val->val1 * AS5600_PULSES_PER_REV);

What you actually need is to extract the fractional part of the value by
taking the modulo of AS5600_PULSES_PER_REV from the scaled value of the
position.

   (((int32_t)dev_data->position * AS5600_FULL_ANGLE)
   % AS5600_PULSES_PER_REV)

Then convert the value to one-millionth part.

   * (AS5600_MILLION_UNIT / AS5600_PULSES_PER_REV);

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2024-03-17 12:54:44 +01:00
Alberto Escolar Piedras
492eeeac31 drivers/counter nrfx: Fix with DT instance not matching device instance
478530ec0a introduced a bug
where if the DT index while iterating its DT structure
initialization does not match the actual peripheral instance,
or if the device instance string is not just a simple integer,
but a more complex string like "00", or "02", either
the wrong peripheral address would be used, or the file
would failt to compile.

Let's fix this by reverting that change, and instead, for
simulation converting the hardcoded DT/real HW address
to the valid addr for simulation on the fly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit f9d5e8458c)
2024-03-14 09:47:45 +01:00
Alberto Escolar Piedras
72113c183b manifest: Update nrf hw models to latest
* Update the HW models module to
3925b7030736f25f45ceedc3621219125a2d4685

Including the following:
* 3925b70: Add new API to convert real peripheral addr to simulated one
* 319e3eb: nhw_convert_periph_base_addr: Fix include for nrf5340

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
(cherry picked from commit f6435e012e)
2024-03-14 09:47:45 +01:00
Peter Mitsis
cd21e04ec5 kernel: Update k_wakeup()
This commit does two things to k_wakeup():

1. It locks the scheduler before marking the thread as not suspended.
As the the clearing of the _THREAD_SUSPENDED bit is not atomic, this
helps ensure that neither another thread nor ISR interrupts this
action (resulting in a corrupted thread_state).

2. The call to flag_ipi() has been removed as it is already being
made within ready_thread().

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
(cherry picked from commit 51ae993c12)
2024-03-12 16:02:04 +01:00
Jamie McCrae
fe92cf677d scripts: snippets: Fix path output on windows
Fixes an issue with paths being output in windows-style with back
slashes, this causes issues for certain escape sequences when
cmake interprets them. Replace these paths with posix paths so
that they are not treated as possible escape sequences.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
(cherry picked from commit b680a6ec72)
2024-03-12 14:56:55 +01:00
Guillaume Gautier
517880c664 samples: boards: stm32: pm: s2ram: enable standby mode
Add Standby mode to the overlay since here we want to test Suspend to RAM.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
(cherry picked from commit cfa7e38378)
2024-03-11 15:09:06 +01:00
Guillaume Gautier
b0bf5d3e09 dts: arm: st: wba: do not enable standby pm mode
Do not enable Standby low-power mode by default since the associated
Kconfig PM_S2RAM is disabled by default. Otherwise we could enter an
unsupported low-power state.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
(cherry picked from commit f1bfbb0627)
2024-03-11 15:09:06 +01:00
Yuval Peress
be48697fa2 it82xx2: Add missing ISRs for gpioj
Without this we can't take advandage of pins 6 & 7.

Fixes #69503

Signed-off-by: Yuval Peress <peress@google.com>
(cherry picked from commit 375aa90c09)
2024-03-08 19:01:46 +01:00
Robert Lubos
658a52be20 tests: net: sockets: tls: Add test verifying send() after close
Add test case verifying that send() returns an error when called after
TLS session has been closed.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit b920793e9b)
2024-03-08 19:01:30 +01:00
Robert Lubos
0383b7fb1c net: sockets: tls: Return an error on send() after session is closed
It was an overlook to return 0 on TLS send() call, after detecting that
TLS session has been closed by peer, such a behavior is only valid for
recv(). Instead, an error should be returned.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit dc52b20705)
2024-03-08 19:01:30 +01:00
Maochen Wang
169020a824 net: zperf: Fix TOS option not working in zperf
When the zperf command is called with '-S' option which means IP_TOS
for IPv4 and IPV6_TCLASS for IPv6, an error is printed and the
setting does not work. The socket option handling was changed by
commit 77e522a5a243('net: context: Refactor option setters'), but the
callers of option setters were not changed. This causes the IP_TOS
or IPV6_TCLASS option failed to set. The fix is to use uint8_t to
store the value of the -S option.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
(cherry picked from commit e7444dcf42)
2024-03-08 19:01:10 +01:00
Laurentiu Mihalcea
da2a9af2f2 tests: devicetree: check L2 interrupt encoding
Add some assert statements meant to check if L2 interrupts
are encoded right when dealing with nodes that consume interrupts
from multiple aggregators. For this to work, also add another
interrupt controller node which extends a different L1 interrupt
from `test_intc`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
(cherry picked from commit 8fec5f361c)
2024-03-08 09:34:09 +01:00
Laurentiu Mihalcea
634b41780e devicetree.h: switch to DT_IRQ_INTC_BY_IDX for L2 and L3 INTID encodings
Using `DT_IRQ_INTC()` to fetch the interrupt controller associated
with a node works well for nodes which consume interrupts from a
single aggregator. However, when specifying multiple (and different)
interrupt aggregators via the `interrupts-extended` property,
the L2 and L3 interrupts will no longer be encoded properly. This
is because `DT_IRQ_INTC(node_id)` uses `DT_IRQ_INTC_BY_IDX(node_id, 0)`
so all the interrupts will use the first aggregator as their parent.
To fix this, switch from using `DT_IRQ_INTC()` to `DT_IRQ_INTC_BY_IDX()`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
(cherry picked from commit 3799e0f498)
2024-03-08 09:34:09 +01:00
Marcin Gasiorek
a8af8ae2eb net: ip: Fix for improper offset return by net_pkt_find_offset()
The original packet's link-layer destination and source address can be
stored in separately allocated memory. This allocated memory can be
placed just after pkt data buffers.
In case when `net_pkt_find_offset()` uses condition:
`if (buf->data <= ptr && ptr <= (buf->data + buf->len)) {`
the offset is set outside the packet's buffer and the function returns
incorrect offset instead of error code.
Finally the offset is used to set ll address in cloned packet, and
this can have unexpected behavior (e.g. crash when cursor will be set
to empty memory).

Signed-off-by: Marcin Gasiorek <marcin.gasiorek@nordicsemi.no>
(cherry picked from commit fb99f65fe9)
2024-03-07 09:15:30 +01:00
Mathieu Choplain
f9576a7713 drivers: can: add missing argument to LOG_ERR call
PR #64399 introduced checks for out-of-bounds filter IDs
in CAN drivers, along with logging of said IDs; however,
the call to LOG_ERR in the native POSIX/Linux driver is
missing the 'filter_id' argument.

This commit adds the missing argument to ensure proper
data is printed when the LOG_ERR call is performed.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
(cherry picked from commit 6ff47b15db)
2024-03-05 18:38:24 +01:00
Sylvio Alves
b90726cd10 drivers: dac: esp32: fix clock control subsys argument
Current cfg->clock_subsys is passed as address and is
causing driver assertion.

Fixes #69198

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
(cherry picked from commit a79c54dc43)
2024-03-05 18:38:07 +01:00
Jukka Rissanen
3a7d43abba net: sockets: Do not start service thread if too little resources
If the CONFIG_NET_SOCKETS_POLL_MAX is smaller than what is needed
for the socket service API to work properly, then we should not
start the service thread as the service API cannot work and might
cause memory overwrite in ctx.events[] array.

Fixes #69233

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
(cherry picked from commit ea189d5aee)
2024-03-05 18:37:51 +01:00
Pisit Sawangvonganan
8710af1838 wifi: shell: removed NULL check to net_mgmt callback
Since PR, PR_SHELL, PR_ERROR, PR_INFO, and PR_WARNING already have
an embedded `sh` NULL check, we can remove the change from PR #68809.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
(cherry picked from commit b6f51edd6c)
2024-03-05 18:37:24 +01:00
Pisit Sawangvonganan
720b33ebf3 net: shell: ensure the shell sh is valid before call shell_printf
It is possible that the `sh` was not set before use.
This change adds a NULL check for `sh` in the following macros:
PR, PR_SHELL, PR_ERROR, PR_INFO, and PR_WARNING.
In case `sh` is NULL, the above macros will call `printk` instead.

Fixes #68793

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
(cherry picked from commit 7b8a9e1818)
2024-03-05 18:37:24 +01:00
Maureen Helm
468eb56cf2 release: Zephyr v3.6.0
Sets the version to v3.6.0.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-23 18:30:32 -06:00
Maureen Helm
c25ed15706 doc: release: Finalize v3.6.0 release notes and migration guide
Removes working draft status from the v3.6.0 release notes and migration
guide.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-23 18:30:32 -06:00
Maureen Helm
ce38e4ba6f doc: release: Remove v3.4.0 from the list of supported releases
Only the two most recent mainline releases are supported.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-23 18:30:32 -06:00
Maureen Helm
7c7b5fbf8b doc: release: Add v3.6.0 to the list of supported releases
Adds v3.6.0 to the list of supported releases. The EOL date corresponds
to the expected release date for v4.0.0.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-23 18:30:32 -06:00
Henrik Brix Andersen
1d7aab0016 docs: licensing: update list of 3rd party code licensed under GPL
Update the list of 3rd party code licensed under the GPL.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-23 18:27:32 +01:00
Maureen Helm
ff80920928 doc: release: Remove empty sections from v3.6.0 release notes
Removes empty sections from the v3.6.0 release notes.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-23 18:26:26 +01:00
Maureen Helm
da2412e74f doc: release: Fix list syntax in v3.6.0 release notes
The first item in a list or sublist must have a blank line before it.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-23 18:26:26 +01:00
Maureen Helm
6433770c42 doc: release: Edit release notes content for v3.6.0
Fixes grammar, punctuation, and spelling errors in the v3.6.0 release
notes.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-02-23 18:26:26 +01:00
Nikolay Agishev
f5d8fe0bc5 doc: ARC: add release notes for ARC
Add ARC release notes for 3.6 Zephyr release

Signed-off-by: Nikolay Agishev <agishev@synopsys.com>
2024-02-23 10:09:14 -06:00
Henrik Brix Andersen
8df15a2e1b docs: releases: migration guide: 3.6.0: fix backtics usage
Fix use of backticks.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-23 08:19:03 -06:00
Henrik Brix Andersen
664b8d4d39 docs: release: migration guide: 3.6.0: reorganize driver/dts section
Divide the "Device Drivers and Devicetree" section into subsections for the
various driver classes.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-23 08:19:03 -06:00
Henrik Brix Andersen
94672ac77d docs: release: migration guide: 3.6.0: add local ToC
Group related entries under subheadings and add a local table of contents
to improve readability.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-23 08:19:03 -06:00
Rodrigo Peixoto
dc8dff0fce doc: migration-guide-3.6: zbus related migrations
The zbus related migrations.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-02-22 14:11:41 -06:00
Rodrigo Peixoto
7ce0d6dae5 doc: release-notes-3.6: zbus related changes
ZBus release notes for Zephyr 3.6.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-02-22 14:11:41 -06:00
Benjamin Cabé
f31b52700e doc: release: Add Zephyr 3.6 highlights
This adds a high-level summary of the most notable highlights of
Zephyr 3.6.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-02-22 14:01:23 -06:00
Henrik Brix Andersen
a48c958c8f docs: releases: 3.6.0: move recommended changes to release notes
Remove the Recommended Changes section from the migration guide so that it
only contains required changes. This aligns with the decision made in the
Architechture WG on 2023-10-24.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-21 19:32:03 +01:00
Marc Herbert
f91d4731af pm: use braces for .pm_base inside anonymous union initializer
Fixes commit 25173f71cd ("pm: device_runtime: Extend with synchronous
runtime PM")

Fixes compilation with gcc 4.2-based toolchain used by SOF for TGL
generation products. As seen in the error message below, that gcc
version requires braces for initialization of anonymous unions:

```
zephyr/soc/xtensa/intel_adsp/common/mem_window.c:62:
   error: unknown field ‘pm_base’ specified in initializer
   warning: missing braces around initializer
   warning: (near initialization for ‘__device_dts_ord_66.<anonymous>’)
```

This is a well-known and recurring issue, see past example(s) in #68118

As the Zephyr build is deterministic, I could easily verify that this
commit makes zero .obj difference (when using the Zephyr SDK).

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-02-21 16:57:56 +01:00
Flavio Ceolin
18c96b64c7 doc: security: cve-2023-6881 left embargo
Disclose information about cve-2023-6881.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-21 16:12:26 +01:00
Flavio Ceolin
53f527cc2d doc: release-notes-3.6: Security related changes
Security release notes for 3.6

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-21 00:04:39 +01:00
Andrej Butok
19dfdb9a72 doc: mcumgr: fix double "the"
Fix double "the" in the mcumgr example.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-02-20 15:09:13 -06:00
Johann Fischer
6321af9593 doc: release-notes-3.6: add release notes for USB
Add release notes for USB support.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-02-20 15:08:26 -06:00
Flavio Ceolin
3fb795a27f doc: security: cve-2024-1638 left embargo
Disclose information about cve-2024-1638.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-20 15:07:07 -06:00
Henrik Brix Andersen
7498cd262f docs: release: migration-guide: 3.6.0: reorder entries a bit
Reorder a few entries in the v3.6.0 migration guide in order to list the
ones likely to affect most people more prominently.

Group related entries together and get rid of a couple of empty headlines.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-20 15:03:49 -06:00
Maureen Helm
c33743ef95 release: Zephyr v3.6.0-rc3
Sets the version to v3.6.0-rc3.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-19 17:01:40 -06:00
Alberto Escolar Piedras
a3ad40b1ee docs: BT tools: Fix description around native BT user chan use
With native_sim one uses the BT user channel driver (which connects
directly to the user channel linux socket), not a serial port.
Let's fix the description, and provide a nicer link.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-19 21:15:19 +01:00
Alberto Escolar Piedras
cf315e77dd doc: Bluetooth dev: Fix mention of nrf52 not supporting split builds
Since #67318 we support split builds in the simulated nRF52
over the UART, and we actually have this configuration
tested in CI.
This documentation paragraph was still mentioning this is not
supported. So let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-19 21:15:08 +01:00
Emil Gydesen
686a8c9e54 tests: bsim: Bluetooth: Add GATT encrypt tests
Add tests for the GATT permissions to read and write for
characteristics that require encryption and LESC encryption.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-19 20:46:28 +01:00
Emil Gydesen
fa4a6f3c68 tests: bsim: Bluetooth: Fix GATT long read test
The test where it was supposed to read the long characteristic,
only read the "small" characteristic, due to setting the wrong handle.

With the right handle, the test failed and the test had to be
updated to store the data across multiple reads, and then do
the proper comparison.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-19 20:46:28 +01:00
Emil Gydesen
d9ff7eb0ed Bluetooth: GATT: Add missing LESC_MASK for encrypt check
The LE Secure connection (LESC) mask also require encryption,
and some users have been using e.g. BT_GATT_PERM_READ_LESC
without BT_GATT_PERM_READ_ENCRYPT, and then the encryption
check in bt_gatt_check_perm was never properly applied.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-19 20:46:28 +01:00
Ryan McClelland
073871bdeb doc: release-notes-3.6: add release note about -Wdouble-promotion
This adds a release note about -Wdouble-promotion now being a default
warning flag.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-02-19 20:35:05 +01:00
Tim Lin
77244aae1d ITE: drivers/gpio: Fix untrusted loop bound
The pin in the loop start counting from 0, so the condition of the
for loop should not be equal to num_pins.

Fixes #69118

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-02-19 19:59:27 +01:00
Venkataramana Kotakonda
ca371d6890 drivers: espi: Clear virtual wire interrupt before calling handler
Clearing virtual wire interrupt after calling handler may cause next
interrupt miss if the same virtual wire changes due to action in handler.
As the interrupt source is read from register, it can be cleared before
calling handler to avoid next interrupt miss due to action/delay in the
callback handler.

Signed-off-by: Venkataramana Kotakonda <venkataramana.kotakonda@intel.com>
2024-02-19 19:58:28 +01:00
Henrik Brix Andersen
79d5857e9f drivers: adc: max1125x: use K_KERNEL_STACK_SIZEOF()
Use K_KERNEL_STACK_SIZEOF() for calculating thread stack size, as this
takes K_KERNEL_STACK_RESERVED into account.

Fixes: #69129

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-19 12:52:52 -06:00
Henrik Brix Andersen
ad85283906 drivers: adc: ad5592: use K_KERNEL_STACK_SIZEOF()
Use K_KERNEL_STACK_SIZEOF() for calculating thread stack size, as this
takes K_KERNEL_STACK_RESERVED into account.

Fixes: #69133

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-19 12:52:52 -06:00
Henrik Brix Andersen
4274d1b365 drivers: adc: ads7052: use K_KERNEL_STACK_SIZEOF()
Use K_KERNEL_STACK_SIZEOF() for calculating thread stack size, as this
takes K_KERNEL_STACK_RESERVED into account.

Fixes: #69132

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-19 12:52:52 -06:00
Henrik Brix Andersen
0e321ecc90 drivers: adc: lmp90xxx: use K_KERNEL_STACK_SIZEOF()
Use K_KERNEL_STACK_SIZEOF() for calculating thread stack size, as this
takes K_KERNEL_STACK_RESERVED into account.

Fixes: #69131

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-19 12:52:52 -06:00
Henrik Brix Andersen
ae81429a81 drivers: adc: mcp320x: use K_KERNEL_STACK_SIZEOF()
Use K_KERNEL_STACK_SIZEOF() for calculating thread stack size, as this
takes K_KERNEL_STACK_RESERVED into account.

Fixes: #69130

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-19 12:52:52 -06:00
Alberto Escolar Piedras
32939fa86f doc: native_sim: Native logger backend is always enabled by default
Since bd9836be8c
the native logger is enabled always (even if a UART is present)
as it was though more conveniant for users.
But the documentation was not updated to reflect this.
Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-19 12:46:15 -06:00
Alberto Escolar Piedras
72d425ba1d docs/develop/test/bsim: Two trivial fixes
Fix a typo and let a file be a link instead of just
its name.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-19 12:43:20 -06:00
Andrej Butok
dc3a245772 doc: release-notes-3.6: Update MCUboot change log.
Added new Zephyr MCUBoot supported platforms and
new CONFIG_MCUBOOT_IMGTOOL_OVERWRITE_ONLY parameter.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-02-19 19:07:38 +01:00
Robert Lubos
bc2858ad2d net: lib: coap: Add error check when waking server thread
There's not much to be done in case waking up the server thread with
socketpair send() fails, but at least we can log an error on such event
(to please coverity).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-19 19:07:03 +01:00
Gustavo Silva
b2b4016963 drivers: charger: bq25180: fix return value check
Fix missing check of the return value of `bq25180_set_charge_current`
function, resulting in logically dead code, as indicated by Coverity
CID 347197.

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2024-02-19 09:38:50 -06:00
Kevin Townsend
d18a7b7427 doc: release: Add Arm arch to 3.6 release notes
Adds highlights for the Arm architecture to the 3.6 release notes.

Signed-off-by: Kevin Townsend <kevin.townsend@analog.com>
2024-02-19 09:08:54 -06:00
Andy Sinclair
4f64d61f7a doc: release: 3.6: Release notes for mfd and regulators
Added release notes for mfd and regulators

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-02-19 09:08:14 -06:00
Sylvio Alves
5b4c927c50 samples: esp32: do not search for all regions
Current SPIRAM sample code tries to search for any available
heap, causing this test to fail. Make sure the sample code
only malloc data from external ram.

Fixes #65997

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-02-19 11:05:09 +01:00
Maureen Helm
28555ae9f4 arch: Fix bounds checking for dynamic shared interrupts
Fixes z_isr_install() and z_isr_uninstall() routines to check the isr
table index against the correct number of isr table entries. This
prevents out-of-bounds isr table accesses when
CONFIG_GEN_IRQ_START_VECTOR is greater than zero, such as on the ARC
architecture.

Coverity-CID: 347187
Coverity-CID: 347189
Coverity-CID: 347097
Coverity-CID: 347203
Coverity-CID: 347210

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-19 09:32:38 +01:00
Flavio Ceolin
a6e9f12ca8 doc: security: cve-2023-5779 left embargo
Disclose information about cve-2023-5779.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-18 18:05:51 +01:00
Flavio Ceolin
194bc9b176 doc: security: cve-2023-6249 left embargo
Disclose information about cve-2023-6249.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-18 18:05:51 +01:00
Flavio Ceolin
a8690fd862 doc: security: cve-2023-6749 left embargo
Disclose information about cve-2023-6749.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-18 18:05:51 +01:00
Ayush Singh
7c9dbde659 ieee802154: ieee802154_cc13xx_cc26xx_subg: Fix 6lowpan for cc1352p7
- Fix using custom setup function
- Enable pRegOverrideTxStd and pRegOverrideTx20 in
  ieee802154_cc13xx_subg_radio_div_setup struct

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2024-02-17 21:14:30 +01:00
Mahesh Mahadevan
13686158fd doc: release-notes-3.6: Update release notes for NXP additions
NXP additions for 3.6 release

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-02-17 19:40:36 +01:00
Alberto Escolar Piedras
545d68a5a3 native_simulator: Get latest from upstream
Align with native_simulator's upstream main
f02906708cf1668fe54ef2c2f1e159ed947573aa

Which includes:
* f029067 CPU ctrl: Fix two malformed error/warning messages
* 114f78b Host trampolines: Fix typos in comment

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-17 17:30:33 +01:00
Daniel DeGrasse
39ea8ac87a samples: drivers: mbox: remove mimxrt595_evk_cm33
Remove mimxrt595_evk_cm33 from the MBOX sample. Although this SOC has
support for both cores, there is no support in tree for booting the
secondary core from the primary one, so this sample cannot run on
hardware.

Fixes #69092

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-17 14:19:06 +01:00
Daniel DeGrasse
9a96a0c50d soc: arm: nxp_imx: fix flexspi frequency setting for iMXRT11xx SOC
Commit a10fee2d5e (drivers: clock_control: ccm_rev2: add support for
reclocking FlexSPI) introduced the ability to set the FlexSPI
clock frequency at runtime on RT11xx series SOCs. However, this
implementation resulted in the clock frequency being rounded up, not
down. This can result in flash clock frequency violations on some
flash parts, causing the system to crash when running in XIP mode.

Fixes #69088

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-17 14:18:43 +01:00
Declan Snyder
5a3c77e746 doc: release-notes-3.6: MDIO changes
Add changes to 3.6 release notes for MDIO drivers

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-02-17 14:17:55 +01:00
Daniel DeGrasse
5dad8d72ee doc: release-notes-3.6: remove section for disk drivers
No changes have been made to disk drivers since 3.5, so remove the
section for this release.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-17 00:16:09 +01:00
Daniel DeGrasse
27cd3232e6 doc: release-notes-3.6: add SD and SDHC changes
Add SD and SDHC release notes, including the addition of the SDIO
subsystem

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-17 00:16:09 +01:00
Flavio Ceolin
17c5753b55 doc: release-notes-3.6: PM related changes
Power management release notes for 3.6

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-16 15:48:59 -06:00
Ali Hozhabri
ee13e0d271 doc: releases: Changes to SPI properties
Update release-notes version 3.6.0 with the SPI properties changes.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-02-16 13:34:18 -06:00
Ali Hozhabri
3ad3fd2950 doc: releases: ST BlueNRG changes
Update release-notes and migration-guide version 3.6.0 with the changes
related to BlueNRG devices.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-02-16 13:34:18 -06:00
Alberto Escolar Piedras
2f8c58120e samples/modules/lvgl/demos: Increase heap for native 64 targets
For this targets, the widgets demo run out of heap and crashes.
Let's just increase the heap size.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-16 19:26:03 +01:00
Emil Gydesen
b374a423c4 Samples: Bluetooth: Fix PAST support for broadcast sink
Fix missing support for PAST in the broadcast audio sink
sample, where it previously failed to request PAST from
the broadcast assistant by not setting the PA state to
BT_BAP_PA_STATE_INFO_REQ.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-16 19:15:39 +01:00
Johann Fischer
66fee0a528 doc: usb: explain interface number and endpoint address assignment
This also applies to the new experimental device stack, but
documentation for it has not yet begun.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-02-16 19:14:45 +01:00
Emil Gydesen
baaa149f10 Bluetooth: BAP: Fix bad bcast assistant bis sync shift
The shift is currently necessary due to a mismatch of the
specs and the API, but the shift should not be done when
the value is BT_BAP_BIS_SYNC_NO_PREF as that is a special value.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-16 19:14:27 +01:00
Emil Gydesen
acd1e891cb Bluetooth: BAP: UC: Fix call to bt_gatt_get_mtu in notify
In the unicast_client_ep_notify we would always call
bt_gatt_get_mtu, regardless of whether data == NULL.

When there is a disconnection, the notify callbacks are
called with data == NULL to indicate a unsubscription.
In the case of the unicast client, this would also trigger
calls to bt_gatt_get_mtu when there is a disconnect, which
in turn would trigger a warning that ATT is not connected.

Postponing the call to bt_gatt_get_mtu fixes this.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-16 19:13:48 +01:00
Jordan Yates
129b71260a doc: release-notes: zbus kconfig reference fixes
Fix usage of `:kconfig:option:` in the zbus release notes.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-02-16 19:07:03 +01:00
Jordan Yates
3a8328ce09 doc: release-notes: LoRa/LoRaWAN
Add release notes for LoRa/LoRaWAN subsystem for v3.6.0.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-02-16 19:07:03 +01:00
Thomas Stranger
ade3c72a35 drivers: wifi: esp_at: fix ssid_len calucation for AP query.
The driver seems to be designed to use the very last byte of the
buffer(scan, connect), so null terminating the status query
might have unintended consequences.
However we should not use strlen to determine the ssid_len,
to avoid depending on the following buffer(bssid) to be zeroed.
Related to CID 316354

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-02-16 10:15:37 -06:00
Marc Herbert
29d7f9fa73 xcc/cmake: fix error message when TOOLCHAIN_VER is undefined
The exact set of environment variables required by xt-xcc and xt-clang
is a bit of a dark magic and error-prone. TOOLCHAIN_VER is definitely
one of them and the error message was puzzling when TOOLCHAIN_VER was
undefined or not exported.

- Add TOOLCHAIN_VER to the list of variables in the error message

- Replace the vague "toolchain not found" in the error message with the
  more useful "XCC/install/tools//XtensaTools/bin/xt-xcc not found" where
  the double slash and comparison with the filesystem clearly point at
  where TOOLCHAIN_VER is missing.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-02-16 14:54:14 +01:00
Jamie McCrae
5d458d1ce6 doc: build: sysbuild: Remove mention of child image
Removes mention of child image to prevent confusion with other
systems that have no relation to sysbuild

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-16 06:46:25 -06:00
Anas Nashif
fc5211fc03 twister: always add integration platforms to platform scope
Add integration_platforms to the list of the default platforms per test
for improved coverage when not running in integration mode.

Some tests when run without any option do not exercise any tests and
skip the integration platforms completely.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-16 13:00:44 +01:00
Anas Nashif
cb1ee13e9d twister: only parse specified tests when using --test
Enhance the -s option of twister, used to point to a single scenario in
a testsuite.
- Now accept --scenario on the command line, --test still supported.
- If no testsuite is provided, extract testsuite from scenario
  identifier and avoid parsing the whole tree if we only want to address
  one scenario in a testsuite.
- If just the identifier of the scenario is provided to
  --test/--scenario option, try to find this as well, do not need the
  full path for that.

Something like this is now possible:

twister  --scenario kernel.threads.init --list-tests
twister -T <path> --scenario kernel.threads.init --list-tests
twister -T <path>/kernel.threads.init --list-tests

All should print the same output.

Fixes #67307

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-16 13:00:32 +01:00
Aleksander Wasaznik
7471ea87ee Bluetooth: Remove len param of bt_att_create_rsp_pdu
This served no purpose for responces. The minimum MTU is sufficient for
all ATT headers.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-02-16 12:58:00 +01:00
Aleksander Wasaznik
98409830a2 Bluetooth: Correct bt_att_create_rsp_pdu reservation when EATT is enabled
When EATT is enabled, bt_att_create_rsp_pdu used to reserve headroom for
the SDU header even when responding on the UATT bearer.

That subtracted from the room for the ATT payload in the buffers. The
remaining buffer size was insufficient to create a PDU of ATT MTU size,
since the exchanged local MTU is calculated the with the assumption that
the SDU header is not present.

This broke the ATT MTU promise, and e.g. our read response will have two
bytes fewer than promised. This caused a failure in PTS.

The new bt_att_create_rsp_pdu pays attention to the bearer type and only
allocates the SDU header on EATT bearers.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-02-16 12:58:00 +01:00
Marc Herbert
16337e8fed cmake/compiler/gcc: use -flto only for gcc >= 4.5.0
Fixes commit 26c8776c70 ("buildsystem: Add an option to enable LTO")

Fixes the following error when compiling offsets.c

  xt-xcc ERROR parsing -fno-lto:  unknown flag

LTO options were introduced in gcc 4.5.0, compare:

https://gcc.gnu.org/onlinedocs/gcc-4.4.6/gcc/Option-Summary.html
https://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/Option-Summary.html

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-02-16 12:49:42 +01:00
Patryk Kuniecki
b5d441417f doc: add note to twister documentation
It could be helpfull to have a note about running single testsuite,
and adding more runners to the note, that are supported in hardware map

Signed-off-by: Patryk Kuniecki <patryk.kuniecki@intel.com>
2024-02-16 11:44:50 +01:00
Jamie McCrae
868193ef43 doc: release: 3.6: Add auxdisplay release notes
Adds release notes for this driver

Signed-off-by: Jamie McCrae <spam@helper3000.net>
2024-02-16 11:09:14 +01:00
Flavio Ceolin
f1cb184e48 doc: release-notes-3.6: mbedTLS update notes
Add release notes for mbedTLS.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-16 11:08:59 +01:00
Grzegorz Chwierut
d02c1bb7ad tests: Fix pytest scenarios for boot with mcumgr.
Clear buffer before restarting DUT. This is to avoid using
lines from previous initial boot, when verifying if upgrade was
done as expected in test.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2024-02-16 08:09:46 +01:00
Guennadi Liakhovetski
09cf3e0910 smp: fix a race when starting / resuming multiple CPUs
cpu_start_fn is global, it's used by the initiator CPU to start or
resume secondary CPUs. However it's possible, that the initiator CPU
goes ahead and starts a second secondary CPU before the first one has
finished using the object. Fix this by creating a local copy of the
global object.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-02-16 07:27:04 +01:00
Jose Alberto Meza
f3d591815f drivers: ecia: microchip: Prevent lost eSPI interrupts
Clearing virtual wire interrupt after calling callback may cause
interrupt miss if the same virtual wire changes due to action
in handler.

e.g. HOST_RST_WRN pulse within 50 us

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-02-16 07:26:36 +01:00
Declan Snyder
9ce374b24a drivers: eth_mcux: Fix PM_DEVICE build failure
device power management is not yet supported with eth_mcux
except on the kinetis series, but this should not break
the build for other platforms when PM_DEVICE is set

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-02-16 07:26:18 +01:00
Ryan Erickson
034fc93db7 modem: hl7800: Fix null reference in hl7800_net_addr6_pton
Ensure a potential null pointer is not incremented.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2024-02-15 22:17:43 +01:00
Keith Packard
dbe21a3343 doc: releases: Add release notes for picolibc
Document changes related to Kconfig settings so that users can see how to
adjust their settings for best results with Zephyr 3.6.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-02-15 22:17:18 +01:00
Sylvio Alves
825c4f2080 doc: release-notes-3.6: ESP32 related changes
Highlights a few ESP32 updates for 3.6

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-02-15 22:15:43 +01:00
Sylvio Alves
8c5b39a772 samples: esp32: docs: add proper header description
Add Sphinx model header content so that it can be
mapped into release notes.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-02-15 22:15:43 +01:00
Abderrahmane Jarmouni
7df5211bc4 doc: migration-guide-3.6: add note about async serial shell
Following PR 68475, CONFIG_SHELL_ASYNC_API needs to be enabled, in
addition to CONFIG_UART_SYNC_API, to be able to use async serial shell.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-02-15 22:02:28 +01:00
Guennadi Liakhovetski
2f04a8c91e dma: intel-adsp: hda: avoid division by 0
A division by 0 has once been observed inside
intel_adsp_hda_dma_host_reload(). It is apparently caused by a
preceding logic or hardware error, but in any case values, read from
the hardware should be checked for 0 before being used as a divisor.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-02-15 16:23:49 +01:00
Emil Gydesen
5330312025 doc: releases: Add release notes for LE Audio
Adds release notes for LE Audio for the Zephyr 3.6 release.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-15 08:20:52 -06:00
Thomas Stranger
b5bb9c66e1 doc: release notes: add 1-wire release notes for 3.6.0
Add 1-Wire related release notes for Zephyr v3.6.0.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-02-15 08:20:08 -06:00
Bjarki Arge Andreasen
1e974adb33 doc: release notes: Modem modules
Add release notes detailing:
* Addition of TRANSMIT_IDLE event to modem_pipe module
* Implementation of TRANSMIT_IDLE event in all modem backends
* Extended all modem modules to use TRANSMIT_IDLE event
* Improved modem pipe event dispatching
* CMUX extended to act both as DCE and DTE

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-15 12:29:39 +01:00
Krzysztof Chruściński
27063ee92a doc: releases: Add release notes for logging
Add section with logging changes.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-15 12:29:13 +01:00
Najumon B.A
89745fe472 lib: acpi: update shell and test app with the modifed resource struct
update shell and test app with the modifed resource struct such as
acpi_irq_resource and acpi_mmio_resource

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-02-15 12:28:55 +01:00
Najumon B.A
2139479722 lib: acpi: fix for build error when acpi not enabled
fix for acpi.h header file generates invalid C-code when
 CONFIG_ACPI=n

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-02-15 12:28:55 +01:00
Bjarki Arge Andreasen
793c507209 modem: cmux: Prevent NULL deref in dlci_close_handler
Prevent unlikely item == NULL scenario identifed by CID
323104

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-15 10:22:09 +01:00
Bjarki Arge Andreasen
cc3076be1d modem: cmux: Prevent NULL deref in dlci_open_handler
Prevent unlikely item == NULL scenario (CID 323102) and remove
superflous cmux == NULL check (CID 334903)

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-15 10:22:09 +01:00
Bjarki Arge Andreasen
9633fb70a0 modem: cmux: Prevent NULL deref in connect_handler
Prevent unlikely item == NULL scenario (CID 323091) and remove
superflous cmux == NULL check (CID 334904)

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-15 10:22:09 +01:00
Bjarki Arge Andreasen
96e48c91b4 modem: cmux: Prevent NULL deref in connect_response_transmit
Prevent potential NULL dereference identified by CID 338026

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-15 10:22:09 +01:00
Henrik Brix Andersen
33708c6b3d modules: openthread: platform: logging: catch up on log2_generic rename
The log2_generic() function was renamed to log_generic().

Fixes: 2155a9e5f7

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-15 10:02:40 +01:00
Yong Cong Sin
f977847210 doc: logging: remove references to logging v2
Since the removal of logging v1, there's only one version,
so remove the '2' from the function references for the docs
to link to the correct functions properly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-02-15 09:20:52 +01:00
Ian Morris
d3a0830ea5 drivers: clock_control: ra: sub-clock oscillator select fix
Due to a typo it is not possible to select the sub-clock oscillator
(SOSC) as a clock source for an RA Microcontroller. This patch resolves
the issue.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-02-15 09:20:30 +01:00
Mateusz Sierszulski
09a43661c3 drivers: serial: liteuart: Enable interrupt driven mode
This commit enables interrupt driven liteuart.

Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2024-02-15 09:19:57 +01:00
Bjarki Arge Andreasen
11d95ea456 doc: release notes: Add GNSS to release notes
Add notes covering:
* New GNSS subsystem
* GNSS utilities
* New generic NMEA0183 device driver
* New Quectel LCX6G device driver

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-15 09:19:25 +01:00
Henrik Brix Andersen
d93693082a tests: lib: deviceteee: api: remove deprecated, unused labels
Remove deprecated, unused devicetree label properties.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-14 23:49:35 +01:00
Laurentiu Mihalcea
89a2a147a9 build: gen_isr_tables.py: fix bad IRQ index computation for L3 interrupts
According to the Zephyr documentation, the multi-level interrupts
are encoded as follows:

`L1_ID | ((L2_ID + 1) << L2_BITS) | ((L3_ID + 1) << (L3_BITS + L2_BITS))`

This means that when L3 interrupts are enabled, the gen_isr_table.py
script will receive the value of L2_ID + 1. Currently, the script
takes this value and directly compares it with the offsets set via
`CONFIG_3RD_LVL_INTR_xx_OFFSET`. This is wrong because the values from
said configurations are the same as L2_ID and because of that the
script will generate an error. To fix this, use the value of L2_ID
instead of L2_ID + 1.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-14 22:57:29 +01:00
Emil Gydesen
2fbc5b1ae2 samples: Bluetooth: Minor improvements for broadcast audio sink
Increases some of the timeouts so that when using this sample
against other interactive devices (such as a phone or the
Zephyr audio shell), then it's easier to do it in time.

Also updates a few of the printks and ensures that we are not
doing name filtering when we have been requested to sync to
a specific broadcast source by a broadcast assistant.

The test for the sample has also been modified to have a longer
timeout to accomodate for the new semaphore timeout values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-14 22:27:26 +01:00
Oleksandr Grytsov
f8a74ef60c toolchain: do not use posix C code for asm language in gcc.h
Toolchain headers can be include in assembler files causing compilation
error for posix architecture. The fix involves adding
`!defined(_ASMLANGUAGE)` condition to exclude including posix C code in
this case.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
2024-02-14 22:27:11 +01:00
Yuval Peress
c2a207bd85 twister: Add support for GTEST_SKIP()
Calling GTEST_SKIP will print the test as DISABLED, add support and unit
tests for this.

Signed-off-by: Yuval Peress <peress@google.com>
2024-02-14 21:45:24 +01:00
Emil Gydesen
8ad8878d61 Bluetooth: CAP: Shell: Fix argument issue for unicast_stop
The unicast_stop command takes either "all" or one or more
stream pointers as argument, but the argument handler did
not allow this.

The documentation for the command was also out of date.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-14 19:12:04 +01:00
Emil Gydesen
dee95eb768 Bluetooth: Audio: Shell: Fix context for the audio shell
The context had a bug where if GMAP was enabled, the context
was only BT_AUDIO_CONTEXT_TYPE_GAME.

The context should also (per BAP spec requirement) contain the
BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED context.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-14 19:11:55 +01:00
Vinayak Kariappa Chettimada
7d6ca26c4c Bluetooth: Controller: Fix lll ISO stream get by group
Fix LLL ISO stream get by group to return stream context
sorted by CIS offset in ascending order.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-14 19:11:46 +01:00
Ryan Erickson
63d6ea958e modem: hl7800: fix parsing APN username
Ensure a null reference cannot happen if there is an issue
parsing the APN username.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2024-02-14 19:08:13 +01:00
Daniel Leung
611ebb6df4 tests: workq/user_work: change how resource pool is exhausted
The assumption of going through 100 iterations of allocating for
work queue is that the HEAP size is 1024 bytes. However, there
are platforms where the HEAP size is inflated due to subsystems
and/or drivers being included. So change the for loop into
a loop where it only stops until there is no memory to be
allocated.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-14 19:08:02 +01:00
Daniel Leung
78fe66834f tests: c_lib/thrd: more stack for up_squared board
Similar to qemu_x86_64, the up_squared needs more stack space
to run the tests.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-14 19:08:02 +01:00
Daniel Leung
5034a77e9e boards: x86/up_squared: use HPET timer
The UP Squared board comes with different CPUs where Atom ones
run at 1.6GHz while the Pentium and Celeron ones run at 1.1GHz.
Since the APIC TSC Deadline timer driver is tied to the CPU
speed, and we were using 1.6GHz as the hardware clock speed,
real world time would not be correct for Pentium and Celeron
based boards (i.e. 1 second sleep requested in application does
not translate to 1 second in real world). Change it to use HPET
timer instead as HPET has the same clock rate for all board
variants. Applications requiring more precise clock rate can
override this in their configuration.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-14 19:08:02 +01:00
Erwan Gouriou
5381e8a670 boards: stm32h573i_dk: Enable debug support with pyocd
Support of stm32h5 targets with pyocd is required to allow debugging.
Provide runner configuration and update board documentation.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-02-14 19:07:43 +01:00
Christopher Friedt
2155a9e5f7 logging: rename log2_generic to log_generic
The log2 prefix was deprecated and changed to log some time ago,
but log2_generic() seems to have been inadvertantly left with
the old prefix.

Rename log2_generic() to log_generic() to follow suit.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-14 19:07:30 +01:00
Henrik Brix Andersen
6e5c1ba3c1 drivers: can: mcan: fix handling of bus-off status events
Fix handling bus-off events in the Bosch M_CAN driver backend:
- Cancel all pending TX buffers when entering bus-off state
- Call all pending TX buffer callbacks with -ENETUNREACH when entering
  bus-off
- Automatically initiate bus-off recovery if
  CONFIG_CAN_AUTO_BUS_OFF_RECOVERY=y

Fixes: #68953

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-14 19:07:18 +01:00
Robert Lubos
5f65ab5435 doc: release-notes: Fix typo when referring to Socket Service
Use singular Service when referring to Socket Service library.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-14 19:07:04 +01:00
Ping Wang
5ccd75b49b Bluetooth: Audio: define bt_bap_bass_subgroup struct.
The Broadcast Assistant API should be fully independent of the scan
delegator. Therefore the new struct bt_bap_bass_subgroup has been
defined to avoid a dependency.

Fixes: #68338

Signed-off-by: Ping Wang <pinw@demant.com>
2024-02-14 19:04:01 +01:00
Mike Szczys
e01a66f10c twister: support domains when cleaning up binaries
Binaries are located in multiple build directory subfolders when built for
multiple domains (sysbuild is one example). Parse domains.yaml and preserve
files across all domains for testing when --prep-artifacts-for-testing
option is used.

Signed-off-by: Mike Szczys <szczys@hotmail.com>
2024-02-14 19:03:39 +01:00
Ryan Erickson
d8afcfb501 modem: hl7800: validate IPv4 DNS addr len for IPv6
If the IPv6 DNS address is not a valid address, DNS will fallback
to the IPv4 DNS address.
Fix copying the IPv4 address to the IPv6 address by using
the IPv6 address destination length.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2024-02-14 19:03:02 +01:00
Anas Nashif
3222351946 doc: ipc: fix header location
Header for ip_service was wrong in the docs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-14 19:02:45 +01:00
Bjarki Arge Andreasen
080d51bb36 modem: modem_cellular: CID 338067
incorrect size passed to strncpy()

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-14 17:48:11 +01:00
Bjarki Arge Andreasen
b668296a50 modem: modem_cellular: CID 338073
incorrect size passed to strncpy()

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-14 17:48:11 +01:00
Bjarki Arge Andreasen
08a51bae89 modem: modem_cellular: CID 338115
incorrect size passed to strncpy()

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-14 17:48:11 +01:00
Bjarki Arge Andreasen
ae951f5f02 modem: modem_cellular: CID 338140
incorrect size passed to strncpy

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-14 17:48:11 +01:00
Bjarki Arge Andreasen
adcdf64a0f modem: modem_cellular: CID 338164
strncpy() passed incorrect size

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-02-14 17:48:11 +01:00
Robert Lubos
5517e22133 doc: release-notes: Add 3.6.0 release notes for networking
Add 3.6.0 release notes for networking.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-14 17:21:28 +01:00
Anas Nashif
78bc5dd716 doc: fix include path of log_ctrl.h
fix zephyr/log_ctrl.h -> zephyr/logging/log_ctrl.h

Fixes #68902

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-14 16:48:03 +01:00
Henrik Brix Andersen
adeaa63bb7 mgmt: mcumgr: img_mgmt_client: avoid using uninitialized variable
Make sure temp_data is initialized before use.

Fixes: #68636

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-14 15:25:00 +01:00
Sean Farrelly
9e28e9e564 samples: Bluetooth: Broadcast Audio Source: Fix potential memory leak
In error cases, where send_data() returns early, the allocated net_buf
is not free'd, causing a memory leak affecting the net_buf pool.
Fix this by freeing the allocated net_buf before returning early
from send_data().

Signed-off-by: Sean Farrelly <sean.farrelly@outlook.com>
2024-02-14 14:28:28 +01:00
Aleksandr Khromykh
6bb5076a21 settings: NVS: add entry into cache after writing
Settings NVS adds entry into Settings NVS cache after writing it
into flash. Previously, the entry was added into cache only
on the second writing attempt that caused very huge timing
despite cache was enabled since it was still empty.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2024-02-14 14:28:08 +01:00
Jordan Yates
d323acafc3 doc: build: snippets: application required snippets
Document how an application can automatically include snippets when
being built.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-02-14 14:14:20 +01:00
Mikkel Jakobsen
ef8e32561d drivers: led_strip: tlc5971: fix brightness control bit shifting
The lower bits of the brightness control registers were erroneously
shifted even though FIELD_PREP already does the shifting. In practice,
the effect is negliglible but of course should be fixed.

Also add missing parenthesis around shifting operations to satisy static
analysis.

Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@escolifesciences.com>
2024-02-14 13:09:54 +01:00
Erwan Gouriou
019b81a184 doc: release-notes-3.6: Shields additions changes
Update V3.6.0 release notes with shields additions.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-02-14 12:17:40 +01:00
Erwan Gouriou
fc92484ca8 doc: release-notes-3.6: STM32 changes
Update V3.6.0 release notes with STM32 related changes

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-02-14 12:17:40 +01:00
Maureen Helm
8016647dc6 doc: release: Add ADI boards for v3.6.0
Adds notes about new ADI boards added since the last release.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-14 12:16:45 +01:00
Maureen Helm
ba0dad8ccc doc: release: Add sensor release notes for v3.6.0
Adds notes about sensor driver changes since the last release.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-14 12:16:45 +01:00
Rajavardhan Gundi
57f1976ea8 drivers: i2c_mchp: Replace slave by target
Replace slave_register with target_register and slave_unregister
with target_unregister.

Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-02-14 12:06:20 +01:00
Henrik Brix Andersen
29bc308f79 boards: arm: nrf52840_papyr: add zephyr,code-partition chosen property
Add missing zephyr,code-partition chosen property.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-14 10:59:21 +00:00
Henrik Brix Andersen
d179be20d8 boards: arm: nrf52840_blip: add zephyr,code-partition chosen property
Add missing zephyr,code-partition chosen property.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-14 10:59:21 +00:00
Cui Wei
cdb8f3cc47 samples: posix: gettimeofday: Fix fatal error caused by small stack
Fix #68727.

Signed-off-by: Cui Wei <chris.wei.cui@foxmail.com>
2024-02-14 10:58:42 +01:00
Daniel Leung
fe8fe27b4e boards: x86/acrn: add devicetree PCIe controller node
Commit 940c66f82e added a bunch of
ACPI PNP ID to x86 boards but skipped those for ACRN. And commit
34a2fbfba1 changed the behavior of
PCIe controller to looking for PNP ID, it results in compilation
error due to build asserts. So add the PCIe controller node to
the ACRN base DTS file.

Fixes #68956

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-14 10:40:11 +01:00
Guillaume Gautier
b0e1e9f5fb drivers: bbram: stm32: add include to fix compilation error
Driver BBRAM for STM32 had a compilation error: "unknown type name
'RTC_TypeDef'" due to missing include file.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-02-14 10:40:00 +01:00
Emil Gydesen
9ec754d9e6 Bluetooth: Host: Add ISO tx check for LOG_WRN in le_init_iso
The warning should only apply for configurations where the
device may actually send ISO data (e.g. not the ISO sync receiver).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-14 08:25:10 +01:00
Carles Cufi
30213a275e boards: nrf54*: Add a note about current status
The nRF54* SoCs are in a very early stage of production and the software
supporting them is to be considered experimental. Document this
accordingly in the respective boards.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-02-14 08:24:30 +01:00
Doug Foster
7f83db489e samples: doc: Add README for Grove sensor samples
Added a README.rst for grove_light and grove_temperature sensor
sample applications.

Signed-off-by: Doug Foster <dougwfost@gmail.com>
2024-02-14 00:44:29 +01:00
Thomas Stranger
61f065230a drivers: sensor: ltrf216a: fix overflow in conversion
The conversion of the raw sensor value overflows because
only a 32 bit multiplication is executed.
Fix the issue by promoting the raw sensor value to uint64_t before
executing the multiplication.

Analysis:
The current implementation overflows for all raw values grater
than 9544(14-bit).
But according to the datasheet the sensor has a maximum resolution of
20-bit. So Multiplying that value with 450.000 would need at least 39
bit to avoid an overflow, hence do it using 64-bit arithmetic.

Fixes CID 330657

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-02-13 21:14:21 +01:00
Christopher Friedt
25227aa4b7 doc: release: 3.6: add posix api release notes
Add highlights between v3.5.0 and today for the the POSIX API.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-13 21:13:40 +01:00
Jukka Rissanen
2e55c9e3f3 doc: release: 3.6: Add Ethernet and Wi-Fi info
Add changes to Ethernet and Wi-Fi drivers for v3.6.
Also add information about generic Ethernet and Wi-Fi changes.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-13 21:13:26 +01:00
Daniel Leung
c88455873b doc: release-notes/migration-guide/3.6: add bits on Xtensa
This adds some bits in both migration guide and release notes
about changhes in Xtensa.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-13 21:04:11 +01:00
Daniel Leung
a03f779097 docs: migration-guide-3.6: notes about userspace funcs renaming
Quite a few of userspace related functions, macros and struct
have been renamed (z_ to k_). So make notes in the migration
guide.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-13 21:04:11 +01:00
Daniel Leung
5db6f86fd6 doc: release-notes/3.6: add some bits about UART
This adds a few bits about more significant changes in UART.
Small changes and bug fixes are omitted.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-13 21:04:11 +01:00
Daniel Leung
8bbca36a28 doc: release-notes/3.6: add some bits about PCIe
This adds some bits on changes of PCIe to the release notes.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-13 21:04:11 +01:00
Daniel Leung
d3310ef413 doc: release-notes/3.6: add some bits about I3C
This adds some bits on changes of I3C to the release notes.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-13 21:04:11 +01:00
Markus Swarowsky
49c7f43561 modules: tf-m: Rename crypto modules to ENABLED
The TF-M crypto modules got renames from CRYPTO_XXX_MODULE_DISABLED to
CRYPTO_XXX_MODULE_ENABLED
Therefore also re naming it in zephyr build integration.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-02-13 19:37:33 +01:00
Markus Swarowsky
75fc64969d modules: tf-m: Remove QCBOR path from build
QCBOR is only needed  by the TF-M tests, as they are not build
separately due to the TF-M split build.
If we still set it there is a CMake build warning.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-02-13 19:37:33 +01:00
Markus Swarowsky
8e16b36c18 modules: tf-m: Remove TFM_TEST_REPO_PATH
TF-M 2.0.0 doesn't use the TFM_TEST_REPO_PATH anymore so removing it.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-02-13 19:37:33 +01:00
Christopher Friedt
218f787e26 thrift: null-terminate certificates in samples and tests
The thrift methods loadCertificateFromBuffer(),
loadPrivateKeyFromBuffer(), and
loadTrustedCertificatesFromBuffer() expect a null-terminated
string.

Append '\0' to each array used to hold a certificate in
thrift samples and tests.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-13 19:36:58 +01:00
Jamie McCrae
2fef763ff4 doc: release: 3.6: Add release notes for MCUmgr
Adds release notes for MCUmgr for this release

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-13 19:36:43 +01:00
Jukka Rissanen
7e6813dcf5 net: trickle: Print the abs value using %u
The Imax_abs value should be printed using %u instead of %d
as it can be large and should be printed as positive value.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-13 19:36:30 +01:00
Erwan Gouriou
881dfd36ae boards: nucleo_f722ze: Add code-partition chosen
If slots partitions are defined, related chosen should be configured.

Fixes build issue in samples/subsys/usb/dfu

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-02-13 19:35:58 +01:00
Gerard Marull-Paretas
ebbf672cc5 doc: release-notes: add relevant pinctrl changes
Add a list of relevant new features or new drivers.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-13 17:15:49 +01:00
Emil Gydesen
302974bdcb samples: Bluetooth: Add missing svc data for broadcast audio sink
Add missing service data for BASS for the broadcast audio sink
sample.

This also required the controller to increase its maximum data
length. Increased more than minimum required so that the name
can be changed without needing to increase this again.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-13 16:47:01 +01:00
Gerard Marull-Paretas
f0fe6b8833 soc: riscv: nrf54h: fix VPR core dependencies
The actual RISC-V core needs to select RISCV, and specific SoC CPU
depend on it.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-13 15:15:45 +01:00
Nikodem Kastelik
ba44a86634 manifest: Update hal_nordic revision
Updated hal_nordic fixes APPROTECT handling on nRF91 target,
as well as fixes missing alignment of nrfx samples
to modified API of the GPIOTE driver.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-02-13 15:08:05 +01:00
Mike Szczys
e72ac4b091 net: coap: add TOO_MANY_REQUESTS to return codes
Add COAP_RESPONSE_CODE_TOO_MANY_REQUESTS to coap_header_get_code(). CoAP
4.29 response code for "Too many requests" is defined in coap.h but was
missing from the list of cases, resulting in a 0 being returned instead
of the proper code.

Signed-off-by: Mike Szczys <mike@golioth.io>
2024-02-13 11:14:01 +01:00
Kai Vehmanen
a8af622f68 soc: xtensa: intel_adsp: restore bootctl with per-core state
When exiting PM_STATE_SOFT_OFF, the primary core state is always
used to restore bootctl register and the clock and power gating
settings.

This can lead to problems if non-primary core is powered up and down
many times before primary core 0 is powered down the first time.
The saved state in core_desc[0].bctl will be null, and as a result-
power gating and clock gating is not disabled correctly for
non-primary cores.

Link: https://github.com/thesofproject/sof/issues/8642
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-02-13 11:13:05 +01:00
Helmut Lord
b4bf360e37 doc: releases: flash: nrf_qspi_nor timeout Kconfig
Adds reference to new Kconfig,
CONFIG_NORDIC_QSPI_NOR_TIMEOUT_MS,
enabled by updates to nrfx.

Reference: zephyrproject-rtos/zephyr#66711

Signed-off-by: Helmut Lord <kellyhlord@gmail.com>
2024-02-13 11:12:26 +01:00
Henrik Brix Andersen
ded0d48779 drivers: entropy: neorv32: add missing soc.h include
Add missing soc.h include for NEORV32_SYSINFO_FEATURES.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-13 10:42:04 +01:00
Tahsin Mutlugun
dde9e48394 drivers: counter: maxim_ds3231: Fix coverity errors
Casting 64-bit time_t values into 32-bit unsigned integers causes
CWE-197 violations. Explicitly truncate these values by masking
time_t to avoid these warnings.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2024-02-13 10:25:53 +01:00
Tahsin Mutlugun
0e532d8909 drivers: counter: maxim_ds3231: Remove unused variables
data->rtc_base is not being used anywhere while data->rtc_registers is
only used as a temporary variable. Remove them from the driver.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2024-02-13 10:25:53 +01:00
Ryan Erickson
cc1d545619 modem: bg9x: ignore sem return value
The semaphore waits forever, ignore the return value.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2024-02-13 10:25:23 +01:00
Ben Marsh
78da930e80 doc: release: 3.6: Add management subsys changes
Add to management subsystem section of release notes:
- Fix image confirm for Direct XIP
- Support for finding registered command groups

Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
2024-02-13 09:28:45 +01:00
Fabian Blatz
f3e930ba11 doc: releases: 3.6: Add release notes for LVGL module
Adds release notes for LVGL module.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-02-13 09:28:22 +01:00
Eve Redero
97fce09392 fix: lvgl: modules: keypad input log module
Compilation error "undefined reference to log_const_lvgl"
happened in lvgl_keypad_input.c when trying to get logs with
lvgl keypad module. Fixed by adding log level parameter
in log module macro.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2024-02-13 09:03:08 +01:00
Jose Alberto Meza
3e65c94d7a drivers: espi: mec172x: Do not enable interrupt if VW is disabled
Do check if a VW is enabled before enabling interrupt

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-02-13 08:58:18 +01:00
Henrik Brix Andersen
8243429d7a doc: releases: release-notes: 3.6: add CAN release notes for v3.6.0
Add CAN release notes for v3.6.0.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-12 23:27:21 +01:00
Jordan Yates
f6c5091563 mbedtls: option for MBEDTLS_PLATFORM_ZEROIZE_ALT
Add a Kconfig option for enabling `MBEDTLS_PLATFORM_ZEROIZE_ALT`, which
is required if the mbed backend already provides an implementation.

For example, the Nordic cryptocell precompiled backends.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-02-12 23:26:23 +01:00
Abram Early
5dec4fcab8 scripts/requirements: bump imgtool to 2.0.0
Resolves incorrectly located `image_ok` tag in generated hex files when
CONFIG_MCUBOOT_GENERATE_CONFIRMED_IMAGE is used.

Fixes #64098

Signed-off-by: Abram Early <abram.early@gmail.com>
2024-02-12 23:26:04 +01:00
Christopher Friedt
5c455aae88 posix: pthread: ensure pthread_exit() has noreturn attribute
The function pthread_exit() does not return. It should be declared
with the noreturn attribute.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-12 11:11:37 -06:00
Laczen JMS
c0a72cfb11 nvs: add documentation about the crc in nvs
fixed nvs part of #68699

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
2024-02-12 11:10:16 -06:00
Alberto Escolar Piedras
66a4fe32ce boards native_posix: Detect attempt to configure not existing int
Prevent overrunning the irq vector table.
This is not happening today in tree, but coverity thinks it
may. Checking for it to prevent it is not a bad idea
anyhow, so let's do it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-12 11:08:11 -06:00
Fabio Baltieri
8ac651b10d doc: input: add two paragraphs about keymap and hid mapping
Add a paragraph about the input-keymap binding and one about the HID
mapping functions.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-12 11:07:06 -06:00
Henrik Brix Andersen
55db3a48ca doc: releases: release-notes: 3.6: no relevant EEPROM changes
Remove the EEPROM subsection from the v3.6.0 release notes.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-12 11:05:16 -06:00
Rodrigo Peixoto
08f163cdf6 doc: zbus: improve sensor-based illustration example
The sensor-based illustration example did not consider the HLP feature
and used the work queue to publish to the Trigger channel. With the HLP,
that is not necessary anymore. The timer ISR can publish to the channel
directly. So, this commit improves the example description by
considering the HLP feature.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-02-12 13:36:57 +01:00
Daniel Leung
575eb123e9 tests: mem_protect/obj_validation: fix check for heap size
Commit 3fbf12487c introduced a way
to add to CONFIG_HEAP_MEM_POOL_SIZE if, for example, subsystems
need more heap space. However, the size check in obj_validation
was still using the old kconfig, and was failing when extra
space was specified. So update the size check to use the updated
size.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-12 13:36:48 +01:00
Jamie McCrae
7567e7a627 samples: mgmt: mcumgr: smp_svr: Fix shell mgmt overlay
Fixes a wrong Kconfig selection in the overlay file

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-12 13:20:32 +01:00
Emil Gydesen
3e634268d6 Bluetooth: ISO: Introduce bt_iso_chan_send_ts
The bt_iso_chan_send function could take an optional
timestamp by using 0 as an indicator. The issue with
this approach was that a timestamp value of 0 is valid,
and could cause potential issue with syncing streams
in a group.

To fully support transmitting with and without timestamp,
bt_iso_chan_send_ts has been introduced, which is the only
function of the two (bt_iso_chan_send being the other) that
supports timestamps.

A new function, rather than adding a boolean to the existing,
was chosen as it simplifies the individual functions as well
as making it more explicit what the function does.

Since the bt_iso_chan_send function is used by LE audio, both
the BAP and CAP send functions have similarly been updated.
Likewise, all tests and samples have been updated to use the
updated function(s), and BT_ISO_TIMESTAMP_NONE has been
removed.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-12 13:13:10 +01:00
Krzysztof Chruściński
5db338c035 drivers: serial: nrfx_uarte: Fix misbehavior due to preemption
UART_RX_RDY event can be generated from UARTE interrupt or k_timer
handler. When ENDRX event occurs then k_timer is stopped (it can
be restarted if there is another buffer provided). However, if UARTE
interrupt priority is higher than k_timer priority (RTC is used
underneath) then k_timer handler may still be executed later.
K_timer notifies new bytes based on RXDRDY HW event which is
counter by the TIMER (using PPI). It may happen that RXDRDY
event arrives due to byte received into RX FIFO but since there is
not buffer provided it stays in that FIFO. Given all this, it
was possible that RX_RDY event was reported from ENDRX UARTE event,
timer was stopped but because UARTE interrupt had higher priority
timer handler is executed after UARTE interrupt is handled. In
timer handler TIMER counter reports more bytes and calls
UART_RX_RDY event with null buffer and non-zero amount of bytes.

Fixed by generating UART_RX_RDY event only if RX buffer is not
null.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-12 12:52:32 +01:00
Guillaume Gautier
24b9b60025 tests: drivers: adc_dma: add nucleo_f401re to the adc_dma test
Add Nucleo F401RE to the adc_dma test

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-02-12 12:19:56 +01:00
Guillaume Gautier
02219189d0 drivers: adc: stm32: add dma support for stm32f4 adc
Add ADC DMA support for STM32F4 (and similar series F2, F7 and L1)

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-02-12 12:19:56 +01:00
Gerson Fernando Budke
d97f3c9c08 doc: release: 3.6: Add notes about Gigadevices
Add 3.6.0 release notes for Gigadevices.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-12 09:13:39 +00:00
Gerson Fernando Budke
a50a529ddf doc: release: 3.6: Add notes about Atmel
Add 3.6.0 release notes for Atmel.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-12 09:13:39 +00:00
Anas Nashif
592a7cd6a7 tests: devmux: fix test identifiers
Fix test identifier, use correct component/sub-component.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-11 10:58:23 -05:00
Anas Nashif
9541677c86 tests: cmsis-dsp: rename tag to match west module name
Rename all tags to match module name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-11 10:58:23 -05:00
Tom Burdick
b4e66299cd imxrt1010_evk: Fix i2c pinctrl dts
i2c pads were incorrectly configured and failed to work when testing
against an external fram part. Correct the i2c pinctrl settings for
arduino i2c to match other boards in the mimxrt lineup.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-02-11 08:09:02 +01:00
Maureen Helm
076c0df3d8 release: Zephyr v3.6.0-rc2
Sets the version to v3.6.0-rc2.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-10 11:48:35 -06:00
Ian Wakely
9fca406511 doc: release: 3.6: Adding additional ARM boards.
This adds the Adafruit QTPy RP2040 and the Wiznet W5500 Evaluation Pico
boards to the 3.6 release notes.

Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
2024-02-10 16:36:08 +01:00
Emil Gydesen
de296a2d7f Bluetooth: BAP: Fix BASE_SUBGROUP_MAX_COUNT value
The calculation for BASE_SUBGROUP_MAX_COUNT was off by one.
The macro did not consider the non-subgroup parameters of
the BASE that take up space. This effectively modifies
BASE_SUBGROUP_MAX_COUNT to be 24 instead of 25.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-10 16:34:27 +01:00
Thomas Stranger
850382bfd2 drivers: led: lp50xx: brightness: don't check uint >= 0
No need to check if an uint8_t is greater or equal 0 in
lp50xx_set_brightness.
Fixes CID 322654

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-02-10 16:32:23 +01:00
David Leach
a0a2e9536b manifest: Update trusted-firmware-m to address LPC55S69 failure
A bug was introduced with the TF-M 2.0 update. Patches have been
submitted to the TF-M upstream and were also applied to the Zephyr
fork.

Details on the patches applied:

Platform: nxp: Add initialization flag to the CMSIS USART driver.
Avoid possible USART_Deinit() stuck found in Zephyr TFM MCUBoot.
From Upstream TFM:SHA: I1f6c19c3e7e5556423ddf3aec7555ff44ed7e562

Crypto: Add FPU flags for p256m
Fixes build error in #67751
From Upstream TFM:SHA: I4ed6f6ac7c1f52fb5ced18f0006dd3eb7a6a7359

Fixes #67751

Signed-off-by: David Leach <david.leach@nxp.com>
2024-02-10 08:56:06 +01:00
Declan Snyder
b6d9b3f923 boards: mimxrt1040_evk: Fix typo in CMakeLists.txt
Fix typo of board dir variable in CMakeLists.txt

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-02-09 17:28:11 -06:00
Eve Redero
f0ea359858 doc: drivers: mipi-dbi: detail write-only and duplex options
Add clarifications to mipi-dbi bindings to avoid the confusion
between two options, write-only and duplex.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2024-02-09 16:38:15 -06:00
Wojciech Slenska
6b1b8157cd wifi: shell: added NULL check to net_mgmt callback
By default variable context.sh is set to NULL. If any net_mgmt
event will be called when the variable has default value, there
will be a system exception.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2024-02-09 16:36:03 -06:00
Robert Lubos
7b6e7d6088 net: ipv6: Improve Neighbor Discovery thread safety
Currently, the only thread-safe part of the IPv6 Neighbor processing
implementation are stale_counter related operation.

Fix this, by extending the mutex protection over all of the module, so
that message handlers, timers and API functions do not interfere with
each other.

As IPv6 Neighbor cache is tightly coupled with the Routing module, use
the same mutex to protect both, neighbor and routing tables, to prevent
deadlocks.

Also, replace the semaphore used with a mutex, as it seems more fit for
this particular job.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-09 16:34:34 -06:00
Fin Maaß
3c5172acac mgmt: hawkbit: Add error handling for HTTP requests
This patch adds error handling for HTTP requests in hawkbit

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-09 16:33:11 -06:00
Jonathan Rico
f2d6cdfc00 Bluetooth: HCI: Add full opcode to hci_types.h
Mental arithmetic shouldn't be required to analyze logs.

With this, a user can just "grep" the Bluetooth tree for the opcode
reported in an HCI error.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-02-09 16:32:24 -06:00
Pavel Vasilyev
0ea8cef97a Bluetooth: Mesh: Disable randomization on Link Close in RPR server
Disable randomization at the access layer in the Remote Provisioning
server when sending Link Stauts message as a responce on Link Close
message and then sending Link Report message right after it. Because of
the randomization, the report message is sent before the status message
which makes MESH/SR/RPR/PDU/BV-03-C test to fail.

This fixes MESH/SR/RPR/PDU/BV-03-C test.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-09 16:29:12 -06:00
Pavel Vasilyev
44f86b81a3 Bluetooth: Mesh: Disable randomization in DFD model for canceling update
Disable randomization in the access layer when cancelling update in the
distribution server model. This is needed because the server sends 2
messages in a row and the gets reordered by the access layer
randomization feature making DFU/SR/FD/BV-43-C test to fail.

This fixes DFU/SR/FD/BV-43-C test.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-09 16:29:12 -06:00
Pavel Vasilyev
f0fc4c30da docs: bluetooth: mesh: Add note about reordering in randomization feat
Add a note to the access randomization feature that reordering can
happen and what should be done to avoid it.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-09 16:29:12 -06:00
Jonathan Rico
a066921745 Bluetooth: conn: document obfuscated function: send_buf()
It is unclear from a cursory glance at the code what the caller of
`send_buf(buf)` should do with `buf` based on the returned error codes.

Document when ownership is and isn't transferred to `send_buf()`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-02-09 16:27:50 -06:00
Jonathan Rico
18c3571145 Bluetooth: conn: check for disconnected earlier when sending
Verify the connection is active before popping the buffer from the TX
queue.

The current behavior enables a race condition between `create_frag` and
the connection being torn down, as `buf` can be popped from the TX queue
but not destroyed by `bt_conn_process_tx`.

In that case, `buf` will be leaked.

Original analysis and fix proposal by @watsug.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Reported-by: Adam Augustyn<watsug@gmail.com>
2024-02-09 16:27:50 -06:00
Łukasz Duda
838f33494e net: tcp: Rate-limiting of neighbor reachability hints
This commit implements simple rate-limiting for Neighbor Reachability
Hints in TCP module to prevent the potentially costly process of
frequent neighbor searches in the table, enhancing system performance.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2024-02-09 16:26:10 -06:00
Flavio Ceolin
36a497b5e4 tests: dynamic_thread_stack: Fix problems in multicore
When running it in a multicore and with incoherent cache environment it
is possible that the thread allocating dynamic stacks is switched to a
different cpu. In this situation further access to that memory (like
when releasing resources) will be invalid.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-09 14:23:14 -05:00
Flavio Ceolin
d622533ca7 kernel: thread: Allow stack in coherent memory
When allowing dynamic thread stack allocation the stack may come from
the heap in coherent memory, trying to use cached memory is over
complicated because of heap meta data and cache line sizes.
Also when userspace is enabled, stacks have to be page aligned and the
address of the stack is used to track kernel objects.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-09 14:23:14 -05:00
Andrei Emeltchenko
eef605d6cc tests: lib: acpi: Add test verifying assert on devscope overflow
Add test verifying we catch assert() when subsctrucure is too big.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko
a7afc87527 tests: lib: acpi: General header cleanup
Cleanup headers and definitions to make code more readable.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko
d89a274e7a tests: lib: acpi: Verify assert() on invalid size
Catch assert() when invalid unit size is bigger then actual
table or subtable size.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko
bffcd1de2a tests: lib: acpi: Add testing acpi_dmar_ioapic_get()
Add testing for acpi_dmar_ioapic_get() function.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko
9c7b952db5 tests: lib: acpi: Add testing for dmar_foreach_devscope()
Add unit testing for dmar_foreach_devscope() function.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko
9cf06173f7 tests: lib: acpi: Refactor DMAR structure and tests
Refactor DMAR structure to allow more tests. Use fake void function
for invalid size tests.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko
80c8e9736b lib: acpi: Add asserts catching overflow
Add asserts catching sub-sctructure overflow.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko
d90060aad7 lib: acpi: Add more ASSERT() in ACPI table parsing
Add more assert() to DMAR parsing functions.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Johann Fischer
7e99579c6c usb: device_next: fix buffer count configuration in CDC ACM pool
Multiple CDC ACM instances can block each other because there are only
buffers for a single instance. Fix this by configuring the number of
buffers in the pool based on the number of CDC ACM instances.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-02-09 17:38:52 +00:00
Tobias Röhmel
20f173773c drivers: Fix signs in max31865 temperature calculation
The reference document says that the formula for negative
temperatures has two minus signs missing.

fixes #68710

Signed-off-by: Tobias Röhmel <tobias.roehmel@rwth-aachen.de>
2024-02-09 17:38:31 +00:00
Johann Fischer
e3549ea28f usb: device_next: correct internal class API documentation
Correct documentation of the internal class API.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-02-09 10:52:16 -06:00
Markus Lassila
ca7e69523c net: sockets: tls: Timeout DTLS with poll
Changed poll to perform incoming data check with connected
DTLS connections. This allows the CONFIG_NET_SOCKETS_DTLS_TIMEOUT
to timeout the connections to server socket if there is no
incoming data.

Previously, if the remote client closed the DTLS connection without
close notify, the timeout of the ongoing connection only happened
when next connection was taken to the server socket. Depending on
the timeouts, this could prevent the next connection from succeeding.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
2024-02-09 10:25:46 -06:00
Laurentiu Mihalcea
41289dac06 drivers: dma: dma_nxp_edma: add function for channel filtering
The point of this commit is to allow users to request specific
channels. The following code snippet shows how this may now be
achieved:

	int requested_channel = 5;
	int ret = dma_request_channel(dev, &requested_channel);

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-09 16:20:34 +00:00
Laurentiu Mihalcea
4ff5e29cfe drivers: dma: dma_nxp_edma: switch to using DT_INST_IRQN_BY_IDX
After #63289, multi-level interrupts are now encoded using
macro magic. This means that using the generic DT_INST_IRQ_BY_IDX()
to fetch the INTID is no longer an option as the queried INTID
will be the one specified through the node's `interrupts`
properties. To fix this, switch to using DT_INST_IRQN_BY_IDX()
which will return the correctly encoded INTID.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-09 16:20:34 +00:00
Laurentiu Mihalcea
c07d987431 drivers: dma: dma_nxp_edma: query channel number from HAL config
Currently, the number of channels supported by the controlled
is computed based on the size of the channel array. This
works well only if there's no gaps (i.e: "dma-channels" property
is used or "valid-channels" property is used with contiguous
channels) but will break if there are any gaps. For instance,
if the user wants to use channels 16 and 17 and specifies them
through the "valid-channels" property, they won't be allowed
to do so because dma_request_channels() will stop at channel 1.
As such, to fix this, simply use the number of channels from
the HAL configuration which is the maximum number of channels.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-09 16:20:34 +00:00
Emil Gydesen
7cfc8b3340 Bluetooth: BAP: Reset _prev_seq_num on ISO connection
Once an ISO channel has connected, the sequence number
always starts at 0. This reset was missing in the implementation,
and the _prev_seq_num from a previous connection may have
been kept.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-09 14:39:40 +01:00
Thomas Ebert Hansen
b15452bd08 Bluetooth: controller: Fix Data Length Update
Before a LL_FEATURE_REQ is sent, verify that the Data Length Update
procedure is still supported as it could have been unmasked as the result
of a previously completed Feature Exchange procedure.

Add unit test to verify the case of enqueuing both a
Feature Exchange procedure and Data Length Update procedure, where the
Feature Exchange procedure would result in the unmasking of the Data
Length Update procedure.

Signed-off-by: Thomas Ebert Hansen <thoh@oticon.com>
2024-02-09 13:46:41 +01:00
Thomas Ebert Hansen
8c412971a9 Bluetooth: controller: Fix PHY Update TX Q
Resume the TX Data Q when a LL_UNKNOWN_RSP is recieved instead of a
LL_PHY_RSP.

Update PHY Update unit test with more coverage of the TX Data Q pause
state.

Signed-off-by: Thomas Ebert Hansen <thoh@oticon.com>
2024-02-09 13:46:41 +01:00
Grzegorz Chwierut
7fc0bcaa7c twister: pytest: update device id when testing with pytest harness
Updated the instance with the device id to have it in the summary
report also when using pytest harness.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2024-02-09 13:46:19 +01:00
Mike Szczys
e81acafe53 docs: update Golioth URLs
Update outdated links. This includes a new repository address for the
Golioth OTA sample and an updated path for the OTA documentation.

Signed-off-by: Mike Szczys <mike@golioth.io>
2024-02-09 09:55:37 +01:00
Alberto Escolar Piedras
40b53d5d77 Kconfig LTO: Prevent with native simulator based targets
LTO cannot be really used with the native simulator based
targets neither today.

When doing a partial link as we do for these targets
the linker will complain if we are mixing LTO and non LTO
built code, and fall back to only produce non-LTO output.
(The link warning will cause twister to fail the test)

Today not all inputs to this partial link are built
with LTO enabled (offsets.c and the app library are not).

Even if they were, the native targets are mostly
a test and debugging facility, so optimizations like
these are not beneficial in general.

Let's just prevent selecting LTO for these targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-08 22:21:39 +01:00
Daniel DeGrasse
04156bccff doc: migration-guide-3.6: update MIPI DBI display migration note
Update MIPI DBI display migration note to match the correct display
configuration settings for reset and MIPI DBI command pins after ILI9xxx
display was transitioned to this API.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-08 19:42:38 +01:00
Daniel DeGrasse
c73428062d drivers: mipi_dbi: mipi_dbi_spi: change reset pin polarity
Change reset pin polarity for MIPI DBI SPI controller, so that the board
devicetree is responsible for setting the GPIO to active low, and the
driver always sets the pin to a logic 1 to reset the display.

Fixes #68562

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-08 19:42:38 +01:00
TOKITA Hiroshi
801fbddfcc MAINTAINERS: Add myself as LED-strip collaborator
I am applying for Collaborator on the recommendation
of @simonguinot.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-02-08 17:35:05 +00:00
Peter Ujfalusi
84631ce17c drivers: dma: dma_dw_common: Disable channel even if draining times out
If the channel suspend with draining fails on stop because of reasons
outside of the scope of the DMA driver (the peripheral is powered off
before trying to drain for example) we must continue and disable the
channel.

The channel can be released by the client despite of it remained enabled.
A new DMA channel request can pick the channel (as it is released) but
re-configuration is going to be skipped and the use of the channel is going
to fail. Then we will see the same drain timeout on channel stop again
since the channel retained the configuration which resulted the first
timeout.

The drain timeout was made fatal by an earlier commit which fixed the
WAIT_FOR return value handling.

Fixes: 6226f9e6e4 ("dma: dw: fix the return value check")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2024-02-08 18:03:09 +01:00
Michal Smola
d2001a6fab doc: add how to run application in QEMU on Windows
Documentation does not describe how to run QEMU on Windows.
Add description of steps needed to run QEMU and use QEMU
with Twister on Windows in Beyond the Getting Started
Guide. Add a reference to it in Aplication Development
section.
Tested using Windows 11 and QEMU installer from
https://qemu.weilnetz.de/w64/

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-02-08 13:57:15 +01:00
Thomas Stranger
505cc19941 drivers: w1: fix return check in bit_read for w1-gpio
The driver masked the return value of a pin read operation before
checking the error.
Thus not detecting a potential error and leading to logically
dead code, which was detected by coverity in CID 340853.
Anther instance XORs 1 before returning, resulting in an unexpected
return value;

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-02-08 12:14:36 +00:00
Alexander Svensen
199487be54 Bluetooth: Host: Send status for terminated directed adv
- Fix bug where status was only sent for legacy adv

Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
2024-02-08 10:11:34 +00:00
Pavel Vasilyev
30ccd55f4c tests: bsim: bluetooth: mesh: Add advertiser suspend test
Add a test that checks that both advertisers, the legacy and the
extended behaves identically when the stack is suspended, in particular:
- `bt_mesh_send_cb.end` callback is called with error code `0` for the
  advertisement that the advertiser already pushed to the ble host
  (called `bt_mesh_send_cb.start`),
- `bt_mesh_send_cb.start` callback with error `-ENODEV` is called for
  every advertisement that was pushed to the mesh advertiser using
  `bt_mesh_adv_send` function before the stack was suspended,
- `bt_mesh_adv_create` returns NULL when attempting to create a new
  advertisement while the stack is suspended.

The `bt_mesh_adv_disable` is called from the work because calling it
from the `bt_mesh_send_cb.start` callback will cause a deadlock.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-08 10:11:19 +00:00
Pavel Vasilyev
9171ee24da Bluetooth: Mesh: Warn if trying to send adv while suspended
This will warn if any of the mesh module will try to send anything while
the stack is suspended. Not clear what to do here as both advertisers
(legacy and ext) behaves differently. The legacy advertiser has a
thread which is stopped after the `bt_mesh_adv_disable` call and any
sent advs after suspending the stack will stay in the pool until the
advertiser is resumed. The extended advertiser will schedule its work,
but then fail because `ext_adv->instance` value is NULL, but will call
`bt_mesh_send_cb.start` with error `-ENODEV`. What to do with these 2
behaviors is unclear at the moment. Ideally none of the mesh stack
modules should call `bt_mesh_adv_send` after the stack was suspended, so
if this warning appears, the faulty module wasn't stopped properly and
this should be fixed. If not to add the adv to the pool, then it kind
of gets lost as the implementation probably expects one
of `bt_mesh_send_cb` callbacks which will never be called. Leaving the
warning until clear customer request comes.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-08 10:11:19 +00:00
Pavel Vasilyev
b352301d80 tests: bsim: bluetooth: mesh: Change error code on timeout
This commit changes error code returned by `k_sem_take` when it times
out from `-EAGAIN` to `-ETIMEDOUT` because `bt_le_scan_start` also
returns `-EAGAIN` if bt device is not ready, which may lead to invalid
test behavior.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-08 10:11:19 +00:00
Diego Herranz
7551b85f22 doc: usb_device.rst: add PID for DFU in DFU mode
By default, the DFU sample uses 0x0005 as PID in the Run-Time descriptors,
and when detached to the "proper" DFU mode, it uses 0xFFFF (one of the
values suggested by the DFU 1.1 spec).

So, 0xFFFF added to the table as well as indications of Run-Time and
DFU mode on both DFU entries.

Signed-off-by: Diego Herranz <diegoherranz@diegoherranz.com>
2024-02-08 09:52:22 +00:00
Kapil Bhatt
2207fedbc8 net: l2: wifi: Fix Print of SSID in WIFI scan result
WIFI scan result shows junk character in SSID because of
the length of ssid is maximum(32 character) which leads
to buffer overflow. It required one character for null
terminator ‘\0’.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-02-08 09:49:10 +00:00
Ivan Iushkov
a3cbf8e2ac Bluetooth: fixing null-pointer dereference in l2cap channel destroyer
During local testing with UBSAN enabled, warning was reported:
bluetooth/host/l2cap.c:980:25: runtime error: member access
within null pointer of type 'struct k_work_q'

It turned out that le_chan->rtx_work.queue can be NULL.
Since null-pointer dereference is a UB, additional check
was added to ensure we don't access
`le_chan->rtx_work.queue->thread` when
`le_chan->rtx_work.queue == NULL`

The same changes applied to l2cap_br.c

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2024-02-08 09:48:02 +00:00
Ivan Iushkov
e8d090011b Bluetooth: fixing UBSAN warnings related to Codec Configuration
During local testing with UBSAN enabled, warning was reported:
bluetooth/host/iso.c:237:2: runtime error: null pointer passed
as argument 2, which is declared to never be null

It turned out that when datapath doesn't contain
codec information, cc_len is 0 and cc is NULL

In order to avoid UB,
now we call memcpy only when cp->codec_config_len > 0

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2024-02-08 09:48:02 +00:00
Ivan Iushkov
b1e9f86378 Bluetooth: Fixing UBSAN warning in CTE field parsing in adv.c/scan.c
during local testling, UBSAN reported the following warnings:
- bluetooth/host/adv.c:2067:19: runtime error: shift exponent
255 is too large for 32-bit type 'long unsigned int'
- bluetooth/host/scan.c:828:18: runtime error: shift exponent
255 is too large for 32-bit type 'long unsigned int'

It turned out that we can't use BIT() macro directly on
bt_hci_evt_le_per_advertising_report::cte_type field.
According to Core Spec, `cte_type = 0xFF` corresponds
to `No contstant tone extension`.

Added separate function to convert CTE bit field from
HCI format to bt_df_cte_type

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2024-02-08 09:48:02 +00:00
Flavio Ceolin
b30d088d37 xtensa: irq: Remove CURR_CPU
Use _current_cpu->id instead of CURR_CPU since that works
with/without multicore and contains additional checks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-08 09:05:14 +01:00
Pavel Vasilyev
548851ac7a Bluetooth: Mesh: Fix solicitation PDU tx dep on proxy
If `CONFIG_BT_MESH_GATT_SERVER` is disabled or the advertising set
doesn't support proxy adv, the solicitation PDU will not be sent.
However, solicitation PDU transmission doesn't depend on the proxy
feature of the device it sends. Therefore, solicatation PDU should be
sent regradless of `CONFIG_BT_MESH_GATT_SERVER` option and advertiser
tag.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-08 09:04:48 +01:00
Piotr Kosycarz
c8716f2793 tests: drivers: spi: wait more when polling
Extend timeout to perform coverage analysis when testing on HW.
Coverage mode makes execution slower.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2024-02-08 09:02:59 +01:00
Piotr Kosycarz
4f6fe99cdf tests: drivers: spi: allow to configure thread stack size
Used to perform coverage analysis when testing on HW.
Gathering coverage data require more stack,
so its needs to configurable.
There is used CONFIG_TEST_EXTRA_STACK_SIZE for that.
(with value depending on used HW).

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2024-02-08 09:02:59 +01:00
Håkon Amundsen
6e6f8ee846 doc: kernel: interrupts: remove concept of 'interrupt handler function'
This is an alias of ISR, which should be used instead.

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
2024-02-08 09:01:50 +01:00
Thomas Stranger
cbc75f8504 drivers: modem: ublox-sara-r4: freeaddrinfo mark unused param
The res param in offload_freeaddrinfo is not used.
Mark it as unused, to avoid static analysis complaining about
Parse warning (PW.PARAM_SET_BUT_NOT_USED)
Fixes CID 316235

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-02-08 07:03:48 +01:00
Ryan Erickson
b65ab5fe88 modem: hl7800: check sem take in event handler
Only execute event callbacks if the semaphore is successfully taken.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2024-02-08 07:03:30 +01:00
Ryan Erickson
34ec42b8f3 modem: hl7800: sock_read len arg is not used
The static function sock_read does not need a length arg, remove it.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2024-02-08 07:03:12 +01:00
Anas Nashif
df87e78dab tests: dma: rename DT node label for tested device
Use tst_dma0 to avoid conflict with how twister and ztest deal with
testcase names.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-07 18:51:38 -05:00
Patryk Kuniecki
52fd66bdfa tests: kernel/interrupt skip on ITE
After discussion in #63114 we should skip this test on ITE board.

Signed-off-by: Patryk Kuniecki <patryk.kuniecki@intel.com>
2024-02-07 22:08:22 +00:00
Luis Ubieda
f59eb2f1e9 Tests: Bluetooth: Host: Add ext-adv test to iterate reconnections
Where advertisement, connection and disconnection is iterated over 5
times, to verify the reestablishment of extended advertisements when
iterating over multiple times. Additionally, the connection
unreferencing has been decoupled from the disconnect event on both
sides, to demonstrate the dependency of the recycle event.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-02-07 22:50:16 +01:00
Luis Ubieda
1f0346c45a Tests: Bluetooth: Host: Split ext-advertisements in separate builds.
Split into two separate builds: advertiser and scanner to emphasize
clarity and robustness during reestablishment of advertisements and
scanning.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-02-07 22:50:16 +01:00
Fabio Baltieri
3ef20db756 doc: releases: 3.6: add input release notes
Add input release notes for 3.6.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-07 22:48:31 +01:00
Gerard Marull-Paretas
bf4a021fba dts: arm: nordic: nrf54l15: add missing easydma-maxcnt-bits
Unlike SPI nodes, I2C nodes (i2c20, i2c21, i2c22 and i2c30) did not have
this required property.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-07 12:54:53 -06:00
Andreas Anderberg
2b43c3b4a3 drivers: serial: emul: Make fifo_read() respect size
uart_emul_fifo_read() didn't regard the size arg, hence if the RX ring
buffer contained more data than the size of the input rx_data buffer
size, this could result in buffer overflow. This becomes more obvious
when configuring device tree property latch-buffer-size > 1.

Signed-off-by: Andreas Anderberg <andreas.anderberg@u-blox.com>
2024-02-07 12:52:43 -06:00
Kamil Piszczek
129b73ce26 bluetooth: gatt: remove operation infix from authorization callback API
Removed the "operation" infix from the bt_gatt_authorization_cb
callback structure in the Bluetooth GATT header.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2024-02-07 15:36:25 +00:00
Maciej Baczmanski
dbe74b3299 Revert "drivers: ieee802154: nrf: cache radio channel"
This reverts commit 780b12854c.
"drivers: ieee802154: nrf: cache radio channel"

Implementation affected RCP devices in openthread as MAC layer
does not call `Receive()` functions after transmit is done.

Additionally, after sending a frame to a new channel (for example
while discovery operation), radio switches to RX state immediately
after TX, but continues to listen on old channel for about 5ms,
until MAC layer calls `Receive` operation, forcing to change the
channel.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-02-07 15:35:29 +00:00
Wojciech Sipak
3bf19d9f03 boards: nrf54h20pdk_nrf54h20_cpuppr: use riscv32 instead of riscv
The yaml uses `arch: riscv` while other boards specify either
`arch: riscv32` or `riscv64`.
Unify this by changing the value to `riscv32`.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2024-02-07 15:26:55 +00:00
Emil Gydesen
df3fcc9b1f Bluetooth: CAP and HAP: Shell: Replace - with _ in commands
The dash (-) makes clang-format unhappy, and most other commands
use underscore (_) instead.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-07 15:26:29 +00:00
Tomasz Moń
7ed4c39b1e samples: usb: set UAC2 explicit feedback sample harness to TBD
UAC2 explicit feedback sample currently fails twister device testing
with timeout. It is not really clear what twister expects to see on the
serial output when running the sample. Because there is no meaningful
way of testing USB <-> I2S communication, mark the sample with TBD
harness to silence the timeout.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-02-07 15:26:01 +00:00
Pavel Vasilyev
e495876db6 Bluetooth: Mesh: Reset solicitation settings before calling reset cb
Trigger erasing solicitation settings before calling
`bt_mesh_settings_store_pending` and `bt_mesh_prov.reset` callback.
The `bt_mesh_settings_store_pending` flushes every settings that is
pending to be erased. The `bt_mesh_prov.reset` callback must be called
as the last step because a user is free to do anything from this
callback including rebooting or reprovisioning the device.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-07 15:25:18 +00:00
James Ogier
ffa49a8240 libc: newlib: Grant access to dynamic locks from all threads
Fixes: zephyrproject-rtos#67504

The following error is produced  when using the following configuration
```
CONFIG_USERSPACE=y
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_NANO=n
CONFIG_DYNAMIC_OBJECTS=y
CONFIG_HEAP_MEM_POOL_SIZE=256
CONFIG_THREAD_LOCAL_STORAGE=y
CONFIG_MAIN_STACK_SIZE=2048
```

```
os: thread 0x301a2950 (-1) does not have permission on k_mutex 0x301aaca4
os: permission bitmap
01 00 |..
os: syscall z_vrfy_k_mutex_lock failed check: access denied
os: r0/a1: 0x00000000 r1/a2: 0x00000000 r2/a3: 0x00000000
os: r3/a4: 0x00000000 r12/ip: 0x00000000 r14/lr: 0x00000000
os: xpsr: 0x00000000
os: s[ 0]: 0x00000000 s[ 1]: 0x00000000 s[ 2]: 0x00000000 s[ 3]: 0x00000000
os: s[ 4]: 0x00000000 s[ 5]: 0x00000000 s[ 6]: 0x00000000 s[ 7]: 0x00000000
os: s[ 8]: 0x00000000 s[ 9]: 0x00000000 s[10]: 0x00000000 s[11]: 0x00000000
os: s[12]: 0x00000000 s[13]: 0x00000000 s[14]: 0x00000000 s[15]: 0x00000000
os: fpscr: 0x00000000
os: Faulting instruction address (r15/pc): 0xee7fdb7d
os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
os: Current thread: 0x301a2950
```

This bug caused by a global mutex used by _vfprintf_r()
which is initialized in __sinit() and located in z_malloc_partition
not being granted access to be used my multiple user threads
despite each user thread being granted read and write permission
to the z_malloc_partition.

Here is a sample main.c to reproduce the bug
```

extern struct k_mem_partition z_libc_partition;
extern struct k_mem_partition z_malloc_partition;

static k_tid_t tids[TEST_THDS];
static struct k_thread tcbs[TEST_THDS];
static struct k_mem_domain domains[TEST_THDS];
static K_THREAD_STACK_ARRAY_DEFINE(thd_stacks, TEST_THDS, 2048);

static int forbidden_global_data = 2;

void thread_worker(void* a, void* b, void* c) {
    (void)b;
    (void)c;
    printf("thd %d started\n", (int)(intptr_t)a);
    k_sleep(K_MSEC(1000));
    forbidden_global_data++; /* This should cause an MPU Fault */
}

int main(void) {
    forbidden_global_data = 1;
    struct k_mem_partition* share_parts[2] = {
        &z_libc_partition,
        &z_malloc_partition,
    };

    for (int i = 0l; i < TEST_THDS; i++) {
        tids[i] = k_thread_create(
			&tcbs[i],
			thd_stacks[i],
			K_THREAD_STACK_SIZEOF(thd_stacks[i]),
			thread_worker,
			(void*)(intptr_t)i,
			NULL,
			NULL,
			5,
			K_USER,
			K_FOREVER);
        k_mem_domain_init(&domains[i], 2, share_parts);
        k_mem_domain_add_thread(&domains[i], tids[i]);
        k_thread_start(tids[i]);
   }

    for (int i = 0; i < TEST_THDS; i++) {
        k_thread_join(tids[i], K_FOREVER);
    }

   return 0;
}
```

Signed-off-by: James Ogier <jogier@meta.com>
2024-02-07 15:22:38 +00:00
Dominik Ermel
07c1e49f20 fs: Clarify description of fs_open when no access bits given
Add warning that file opened without R/W flags will have no read/write
access.
Remove suggestion for using fs_open to check if file exists.
Clarify -ENOENT return reason.

Fixes #64030

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-02-07 06:57:19 -06:00
Anas Nashif
c6123273c1 MAINTAINERS: associate more test to areas
Associate more tests to areas.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-07 07:37:32 -05:00
Anas Nashif
de2fbf3fa8 tests: move tests/lib/thrift to tests/modules/thrift
Put tests related to optional modules under tests/modules.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-07 07:37:32 -05:00
Alberto Escolar Piedras
189d4d4b06 manifest: Update nrf hw models to latest
* Update the HW models module to
52d0b4b7b7431d8da6222cc3b17a8afdcb099baf

Including the following:
* 52d0b4b UART: FIFO backend: Do not error out if other side disconnects Rx
* 3582b68 UART: FIFO backend: Avoid possible race
* 414f160 AAR: Fix UBSAN warnings
* 24f5d3d PPI: Fix UBSAN warning

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-02-07 10:42:21 +01:00
Tom Chang
d558b31af5 drivers: espi: npcx: update for espi reset level
This CL updates the event data returned by espi_reset.
Return 0 for eSPI bus in reset, and 1 for eSPI bus out-of-reset.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2024-02-07 10:20:27 +01:00
Jamie McCrae
ccdbe0627a doc: release: 3.6: Add release notes for MCUboot
Adds release notes for MCUboot for this release

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-07 10:19:55 +01:00
Christopher Friedt
ba639ed6a8 posix: semaphore: check return value of k_mutex_lock()
This fixes CID 340851.

This should never fail, but it's also something that can be
easily verified.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-06 17:51:56 -06:00
Anas Nashif
b320899663 ci: expand ignore list on PRs
Add more CI files to be ignored when determining change.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-06 15:39:23 -05:00
Anas Nashif
1881ed2a17 ci: remove footprint ci workflow that has no effect
This workflow runs in the background and does not report anything and
does emit failures. Remove for now until we have something that is
actionable.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-06 15:39:01 -05:00
Ben Marsh
2419274073 subsys/dfu/boot: Fix image confirm for Direct XIP
Previously the boot_write_img_confirmed() function used the MCUboot
public API function boot_set_confirmed(), but this function is hardcoded
to set the confirmed flag of slot 0. This works for MCUboot swap modes
but not for Direct XIP, where applications can execute out of secondary
slots.

This commit changes boot_write_img_confirmed() to instead use
boot_set_next() which sets the confirmed flag for a given flash area
and works with Direct XIP.

DT_CHOSEN(zephyr_code_partition) is used to get the current partition.
The zephyr,code-partition chosen node must be defined.

This commit also adds the zephyr,code-partition chosen node to the
native_sim devicetree to allow the tests under tests/subsys/dfu to
build for this target.

Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
2024-02-06 21:00:36 +01:00
Hou Zhiqiang
b985442829 dts: mimx93_evk_a55: avoid conflict with Ethos-U NPU reserved memory
The DRAM range 0xc0000000~0xcfffffff is reserved for the Ethos-U NPU,
so change the RAM base to 0xd0000000.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2024-02-06 19:36:03 +01:00
Abderrahmane Jarmouni
92a24ba4b4 shell: backends: fix for async shell selection
This patch modifies the way SHELL_BACKEND_SERIAL_API_ASYNC is selected.
The current logic causes conflicts (no console output) when the user tries
to use one of the UARTs in async mode, by setting CONFIG_SHELL_ASYNC_API,
while using Shell with a different UART (typically the Console's one).

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-02-06 19:34:15 +01:00
Gerard Marull-Paretas
b548a73e79 drivers: console: uart_mux: fix incorrect usage of configuration API
First, the API ops are available only if
CONFIG_UART_USE_RUNTIME_CONFIGURE=y, but the driver was not guarding the
code. Also, according to the API specs, these functions are optional,
and the interface already returns -ENOSYS if they are not implemented.
To solve both problems, just drop the dummy implementation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-06 19:33:42 +01:00
Wajdi ELMuhtadi
b8eceac77b doc: _scripts: redirects: fix redirect for google iot mqtt
fix incorrect redirect for google iot mqtt missing README

Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
2024-02-06 18:57:45 +01:00
Wajdi ELMuhtadi
e5351b0d10 samples: sensor: wsen_hids: remove example for wsen_hids
Remove example for wsen_hids to switch to
generic sensor driver examples.

Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
2024-02-06 18:57:45 +01:00
Wajdi ELMuhtadi
56b70bddcc samples: sensor: wsen_itds: remove example for wsen_itds
Remove example for wsen_itds to switch to
generic sensor driver examples.

Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
2024-02-06 18:57:45 +01:00
Jose Alberto Meza
b5a39b896b dts: arm: microchip: mec1501: mec172xnsz: Remove pinctrl from SoC dts
Remove pinctrl from device tree since it is not required
when internal oscillator is used.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-02-06 18:56:27 +01:00
Jose Alberto Meza
c909915cda dts: bindings: clock: pinctrl is not required for all clock options
Pinctrl is not required when internal oscillator is used

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-02-06 18:56:27 +01:00
Karthikeyan Krishnasamy
730e08405c samples: cellular_modem: add device specific config
enable uart async api for rak5010_nrf52840

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-02-06 18:55:19 +01:00
Karthikeyan Krishnasamy
b7799c1a2f boards: arm: rak5010_nrf52840: update modem dts changes
remove legacy modem properties and add modem node
compatible to modem subsystem, rak5010_nrf52840
has two variant, one with BG95-M3 and other is
BG96 modem, both are pin to pin compatible.

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-02-06 18:55:19 +01:00
Emil Gydesen
8fa312f015 doc: Bluetooth: Add broadcast assistant sample to audio stack status table
Mark the broadcast assistant as having a sample application
since that was recently implemented.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-06 18:06:54 +01:00
Guillaume Gautier
c1327db630 drivers: serial: stm32: always enable clock when exiting low power
Systematically enable the UART clock again when exiting a low power mode
before reading the UART register.
Even though the previous code worked on STM32WBA, for most series, it is
necessary to enable the clock to access the registers, otherwise they read
as 0.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-02-06 08:48:05 -06:00
Jonathan Rico
f24a01e6d1 ipc: Drain pending work items before deregistering endpoint
The work item will attempt to dereference pointers that have been nulled
by the backend.

To avoid that, wait until all items currently on the queue have been
processed.

The symptom is a busfault on ARM, and is "fixed" by adding a
`k_msleep(1)` right before `ipc_service_deregister_endpoint()`. This
will in effect do the same thing as this patch, and allow the scheduler
to run the work item on the ipc workqueue.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-02-06 14:22:36 +01:00
Carles Cufi
35022839f1 doc: releases: Clarify what belongs in relnotes vs migration
The intention of this commit is to clarify what belongs where, given
that recent contributions have made it unclear.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-02-06 14:20:36 +01:00
Parthiban Nallathambi
fd85021718 modem: change log level of events prints to debug
info level is printed always to console and it's noisy.
Change to debug level, which can be enabled with
CONFIG_MODEM_MODULES_LOG_LEVEL_DBG

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2024-02-06 13:00:05 +01:00
Flavio Ceolin
5b9f7b7b32 intel_adsp: ace: Remove dead code
ace/boot.c is ace specific file and RESET_MEMORY_HOLE symbol is never
defined for this target.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-06 12:59:42 +01:00
Konrad Derda
e46fbd9de8 docs: migration-guide-3.6: add note about changes in net buffer pools
Add point about moving maximum allocation size from fixed buffer pool's
internal structure to a common one.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-02-06 12:56:37 +01:00
Konrad Derda
28f37e07b6 tests: net: buf: additional verification of fixed buffer pool
This commit introduces two changes:
- veryfing fixed buffer's size and length after allocation to existing
  test case
- new test veryfing appending bytes to a network buffer from a fixed
  size pool

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-02-06 12:56:37 +01:00
Konrad Derda
b324e1e4d8 net: buf: add max allocation size to allocation info
Previously, there was no way to determine maximum number of bytes
that can be allocated using only net_buf structure. This commit
introduces such field.

Moreover, this commit fixes an issue where allocation of less than
maximum number of bytes from a fixed buffer pool would set buffer's
size to this number instead of the whole buffer size.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-02-06 12:56:37 +01:00
Konrad Derda
57cd012476 test: net: net_pkt: use var buffer pool for testing
From change 47eb592c28b9e7dfbdd25fedbf07a528ad240084 net_buf structures
allocated from pools defined with NET_BUF_POOL_FIXED_DEFINE() will keep
their `size` member set to the actual fixed size and not requested
size like before.

For this set of tests NET_BUF_POOL_FIXED_DEFINE() for several test
cases. These tests check the several values based on a fact that the
network buffer's size was set to the requested size.

This commit changes definition of the buffer pool to
NET_BUF_POOL_FIXED_DEFINE() in order to satisfy these expectations.
This change does not impact the tests themselves.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-02-06 12:56:37 +01:00
Krzysztof Chruściński
f6ecad20a1 drivers: serial: Fix async to interrupt driven adaptation layer
Whenever UART_RX_DISABLED event is received module attempts to
re-enable receiver since in interrupt driven API receiver is
always on. However, it is possible that there is no free buffers
and in that case attempt to enable the receiver will fail with
-EBUSY. That scenario shall be accepted since the receiver will
be re-enabled when at least one buffer will be freed.

Given that, -EBUSY return shall be accepted (no assert) and
number of pending RX buffer requests shall be reset only on
successful enabling.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-06 09:54:34 +01:00
Daniel Leung
627d3b2cb6 lib: cbprintf: do not blindly skip tags
When CONFIG_LOG_USE_TAGGED_ARGUMENTS is enabled, and
CONFIG_CBPRINTF_COMPLETE is also enabled, we should not be
blindly skipping tags when processing the tagged package
for output.  The issue is that if there is a "%%" in
the format string, the specifier is considered invalid but
the code blindly skips ahead in the argument list as if
it is a valid specifier (think "%s"), which resulting in
the next valid specifier using incorrect argument in
the list. So fix it by skipping ahead if and only if
the specifier is not invalid.

Fixes #68271

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-06 09:53:15 +01:00
Flavio Ceolin
7812e54e8a pm: device_runtime: Simplify runtime_enable
Move the check of PM_DEVICE_FLAG_RUNTIME_ENABLED to the beginning of
the function. With this we avoid taking/release the semaphore and also
we no longer need check it in runtime_enable_sync(), because it was
already checked in pm_device_runtime_enable().

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-06 09:52:38 +01:00
Flavio Ceolin
75fd75c227 pm: device_runtime: Fix tracing in runtime_enable
Move around SYS_PORT_FUNC_ENTER and change a early return
in a way that when this function is called it will generate
tracing for entering / leaving this function.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-06 09:52:38 +01:00
Flavio Ceolin
597024449c pm: device_runtime: Simplify runtime_disable
Move the check of PM_DEVICE_FLAG_RUNTIME_ENABLED to the beginning of
the function. With this we avoid taking/release the semaphore and also
we no longer need check it in runtime_disable_sync(), because it was
already checked in pm_device_runtime_disable().

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-06 09:52:38 +01:00
Flavio Ceolin
2261fae9d7 pm: device_runtime: Fix tracing in runtime_disable
Move around SYS_PORT_FUNC_ENTER and change a early return
in a way that when this function is called it will generate
tracing for entering / leaving this function.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-06 09:52:38 +01:00
Emil Gydesen
590d3e1114 Bluetooth: BAP: Broadcast source enabling state transition fix
Since we may go from enabling to qos-configured state if the
call to bt_iso_big_create fails, that is a valid transition.
If bt_iso_big_create currently fails, then the source ends in a
state where it cannot be recovered.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-06 09:51:16 +01:00
Emil Gydesen
f4b83415d6 Bluetooth: CAP: Fix uninitialized values in broadcast start
When CONFIG_BT_ISO_TEST_PARAMS is enabled then the
bt_bap_broadcast_source_param in
bt_cap_initiator_broadcast_audio_create had uninitialized values.

A general and future proof solution for this is to simply initialize
the entire struct to 0.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-06 09:50:53 +01:00
Maureen Helm
3c25bfefab release: Zephyr v3.6.0-rc1
Sets the version to v3.6.0-rc1.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-05 16:36:52 -06:00
Henrik Brix Andersen
14fa9f3e21 shell: modules: kernel: include EXTRAVERSION when printing version
Include the full version in the output of the "kernel version" shell
subcommand. Previously, EXTRAVERSION was not included, causing
e.g. "3.6.0-rc1" to be printed as "3.6.0".

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-05 23:06:19 +01:00
Jannis Ruellmann
1d9441c872 drivers: rpi_pico_pwm: Fix compilation warnings
return value of pwm_rpi_get_clkdiv contains implicit conversions
from 'float' to 'double', triggered by floating-point operations
involving mixed data types.

Signed-off-by: Jannis Ruellmann <j.ruellmann@kunbus.com>
2024-02-05 19:58:18 +00:00
Emil Gydesen
b9056de5d1 Bluetooth: ISO: Fix duplicate log statements for PDU check
Modifies two log statements so that it is clear whether it
is failing to validate broadcast or unicast PDU sizes.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 19:52:21 +00:00
Jose Alberto Meza
a0c64636e1 dts: arm: mec152x: Allow to use VCI pins as GPIOs
Allow to VCI pins to be used as GPIOS using zephyr user device
tree node entry.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-02-05 14:51:44 -05:00
Nikolay Agishev
9338c47f4b ARC: logging: Print exception info independent of CONFIG_LOG
Some applications turn logging off. It makes impossible to get information
about exceptions if it occures.
This PR restores correct behavior of Error_Dump messages, and
exception dump is printed anyway independent on CONFIG_LOG.

ARC_EXCEPTION_DEBUG added to default boards configs in addition to nsim.

CONFIG_FAULT_DUMP removed from ARC branch as it has been unused
since v1.8.0

Signed-off-by: Nikolay Agishev <agishev@synopsys.com>
2024-02-05 14:44:57 -05:00
Wilfried Chauveau
10bce9ddba manifest: update cmsis-dsp
Update cmsis-dsp revision to contain the fixes for:
- Buffer overflow in certain implementation of arm_conv_q31, q15 and q7
- Name conflicts with Zephyr macros SQ and ROUND_UP

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-02-05 13:26:25 -06:00
Juliane Schulze
1683f1913b drivers: Add support for TI TMAG5273 3D Hall sensor
Product Homepage:
https://www.ti.com/product/TMAG5273

Datasheet:
https://www.ti.com/lit/ds/symlink/tmag5273.pdf

Tested on a custom hardware with nRF52840.

Signed-off-by: Juliane Schulze <juliane.schulze@deveritec.com>
2024-02-05 13:23:24 -06:00
Francois Ramu
ba85dac6ff boards: arm: stm32 disco kit has ospi nor flash node
Define the reg and size property for the stm32 disco kits
which have an octospi instance
Refer to the dts/bindings/flash_controller/st,stm32-ospi-nor.yaml.
Also remove the <size> property for the stm362h750 disco kit.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-05 12:58:03 -06:00
Radoslaw Koppel
6aac89b683 doc: releases: Build system: Introduction of LTO
This commit adds documentation about added functionality
for now interrupt tables parser and Link Time Optimisation.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-05 12:49:46 -06:00
Emil Gydesen
97f7cdac84 docs: Bluetooth: Additional broadcast assistant shell documentation
Improves the broadcast assistant shell documentation
which updates the existing documentation and adds
documentation to commands not yet documented.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 12:40:23 -06:00
Emil Gydesen
27abc1d944 Bluetooth: BAP: Broadcast assistant shell treat PA sync as bool
Modify the broadcast assistant commands that take the PA sync argument
so that it is treated as a bool. This allows users to use
"true", "on", "1" or "0x01" for true values and "false", "off", "0"
for false values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 12:40:23 -06:00
Grant Ramsay
6865e2ab67 drivers: can: mcan: Fix off-by-one errors in asserts
Fix off-by-one errors in asserts.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2024-02-05 12:37:27 -06:00
Armando Visconti
80676825e1 samples/sensor: lsm6dsl: fix -Wdouble-promotion warning
Fix -Wdouble-promotion warning just using sensor_value_to_double()
routine.

Fixes #68284

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-02-05 18:51:38 +01:00
Troels Nilsson
8acca664d2 Bluetooth: Controller: Fix periodic adv data truncation
Advertising data has to be truncated at a PDU boundary

Similar to earlier fix for extended advertising reports

Found in several EBQ tests, including LL/DDI/SCN/BV-25-C,
LL/DDI/SCN/BV-21-C and LL/DDI/SCN/BV-46-C

Signed-off-by: Troels Nilsson <trnn@demant.com>
2024-02-05 18:18:57 +01:00
Lyle Zhu
4e7be1ecaa Bluetooth: Host: set valid SCO packet type
The SCO cannot be created if the eSCO is unsupported.
It is caused by the packet type cannot be set
correctly.

Set valid bitmap for SCO and eSCO packet type in
command "Accept Synchronous Connection Request".

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-02-05 17:46:49 +01:00
Emil Gydesen
017f59cb66 Bluetooth: BAP: Broadcast sink: Fix bis_sync in update_recv_state_base
In the update_recv_state_base function, we should update the
BASE with any new metadata that we have received (as that may
change while streaming). However, this function did not properly
keep the existing bis_sync values for the
subgroups, causing the bis_sync for all subgroups to be 0.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 17:46:31 +01:00
Emil Gydesen
43bc3200fa Bluetooth: BAP: Stop broadcast sink from removing receive state
The receive state may be added by the broadcast sink if not added
by the application, but even in that case when the broadcast sink
is deleted, we should not remove the receive state, as the receive
state may still container information about the PA sync that has a
lifetime not coupled with the broadcast sink.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 17:46:11 +01:00
Emil Gydesen
7643526086 Bluetooth: BAP: Do not send PA term request on local remove
If the receive state is locally removed, then we should not
request permission from the application, as that is implicit
when removing the source locally.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 17:45:45 +01:00
Fabio Baltieri
069cdffbc3 tests: display: fix the test so it actually builds
The test is configured to replace the config rather than extending,
resulting in a build with CONFIG_DISPLAY=n and the driver not being
actually built.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-05 17:45:25 +01:00
Flavio Ceolin
5f4210e499 west: mbedtls: Bump to 3.5.2
Bump mbedTLS to 3.5.2

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-05 10:10:30 -06:00
Emil Gydesen
5bb8ffb517 doc: releases: Add migration of the LC3 macro renames
Add a short migration guide for the LC3 macro renames.
Only a few examples are mentioned, as there are far too
many changes to describe them all.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 09:14:44 -06:00
Emil Gydesen
d6046b8b2f Bluetooth: Audio: Move assigned numbers from lc3.h to audio.h
The assigned numbers are not specific to LC3, so they should be
defined in the more general audio.h header file.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 09:14:44 -06:00
Emil Gydesen
cbc81b2a0f Bluetooth: Audio: Remove LC3 from the assigned numbers defines
The defines from the Bluetooth Audio assigned numbers are not
specific for LC3. This commit removes the LC3 infix and
the reference to LC3 in the documentation for them.

It also cleans up some of the documentation and
names of the enums.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 09:14:44 -06:00
Emil Gydesen
c2db67f997 Bluetooth: Audio: remove BT_HCI_CODING_FORMAT_LC3 from lc3.h
The BT_HCI_CODING_FORMAT_LC3 is defined in hci_types.h and
applications should use that value.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 09:14:44 -06:00
Christopher Friedt
4174ff119d posix: cmake: allow empty library
This change mitigates the following cmake warning

No SOURCES given to Zephyr library: lib__posix__options

without needing to have a separate interface library
(as we do not need private headers exposed).

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-05 15:35:09 +01:00
Dominik Ermel
5f31c15b1d tests/settings/file: increase main stack size
Increase ZTEST and MAIN stack to 4k.

Fixes #57324

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-02-05 14:50:52 +01:00
Kai Vehmanen
00d4661273 drivers: dma: intel-adsp-hda: modify stop dma logic
Commit b2eaa6448076 ("drivers: dma: intel-adsp-hda: add delay to stop
host dma") added a wait on GBUSY state to host DMA stop.

This is problematic as in some case (like SOF chain-DMA usage),
the host DMA side RUN bit is not cleared when intel_adsp_hda_dma_stop()
is called. It is not possible to wait on GBUSY bit as there are
valid cases where it can remain set.

Address the original problem described in SOF bug #8686 and add a
polling check for intel_adsp_hda_is_enabled(). As per the bug
description, in some cases the GEN/FIFORDY bits are not cleared
immediately and if a new call to intel_adsp_hda_dma_stop() is made, the
PM refcounting will go haywire.

Link: https://github.com/thesofproject/sof/issues/8686
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-02-05 14:50:14 +01:00
Joel Guittet
415cb65e3f drivers: input: cst816s: add alternative chip id
The CST816S chip ID have an alternative value. It seems that this
field represents in fact a version number of controller. Fix by adding
the new chip ID.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2024-02-05 14:49:33 +01:00
Grzegorz Swiderski
e5d14c6821 riscv: linker: Fallback to Kconfig when defining ROM region
With `CONFIG_XIP=y`, this linker script would derive the ROM region from
the chosen `zephyr,flash` DT node with "soc-nv-flash" or "jedec,spi-nor"
as its compatible. If the node was absent or had a different compatible,
then linking would fail with:

    undefined symbol `ROM_BASE' referenced in expression

Fix this by using `CONFIG_FLASH_BASE_ADDRESS` and `CONFIG_FLASH_SIZE`
for ROM base and size respectively. The existing DT logic is preserved
for compatibility with out-of-tree boards, so the flash Kconfigs serve
as a mere fallback.

In addition, use `CONFIG_FLASH_LOAD_OFFSET` and `CONFIG_FLASH_LOAD_SIZE`
if defined, to align with some other architectures' linker scripts. For
the existing in-tree RISC-V boards, this should not make a difference.

The alternative would've been making sure that all boards and SoCs have
the relevant Kconfigs set, and only using those in the linker script.
The downside is that `CONFIG_FLASH_SIZE` is given in units of 1 KiB,
while some existing boards - hifive1_revb, sparkfun_red_v_things_plus -
have more granular flash sizes, which would've been rounded down.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-02-05 14:05:57 +01:00
Gerson Fernando Budke
5903c7a669 drivers: watchdog: sam0: initialize GCLK2 in wdt_sam0_init
Initialize GCLK2 to output 1.024kHz required by watchdog timer.

Co-authored-by: Vlad Laba7 <vlad@laba7.com>
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-05 13:27:54 +01:00
Armando Visconti
277d649bda drivers: sensor: tmp108: fix coverity integer handling issue
Fix coverity integer handling issue (CWE-188).
Modifying a variable through a pointer of an incompatible type (other
than unsigned char) can lead to unpredictable results.

Fix: #67965
Coverity-CID: 248434

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-02-05 13:13:51 +01:00
Emil Gydesen
68ed2e019f Bluetooth: VCP: Fix missing guards for AICS and VOCS
Some places VCP accessed AICS and VOCS when it was not supported.
Also modify existing guards to be consistent with new guards.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 13:13:00 +01:00
Emil Gydesen
adb74f0f16 Bluetooth: MICP: Fix missing guards for AICS
Some places MICP accessed AICS when it was not supported.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 13:13:00 +01:00
Emil Gydesen
ab1b43ee1a Bluetooth: VCP/MICP: Fix VOCS and AICS instance counts
The VCP and MICP instances should use their respective
AICS and VOCS Kconfig options, rather than the overall
Kconfig options.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-05 13:13:00 +01:00
Radoslaw Koppel
08070fbf1f arch: arm, arm64: Remove zephyr prefix from linker includes
This fix removes the zephyr/ prefix from linker included files.
With this prefix the build works only for Ninja and not for
other build tools.

Linking in Zephyr / CMake:
 - Ninja invokes linking directly from <build>.
 - Make invokes linking form <build>/zephyr.

The linker default uses cwd for looking up INCLUDE directives if not found
in list of includes.
Zephyr always adds <build>/zephyr as link include using CMake,
and this is passed to ld as -L<build>/zephyr therefore using
INCLUDE isr_tables_swi.ld ensures it will be correctly found in all cases.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-05 12:32:46 +01:00
Radoslaw Koppel
adaacefc20 arch: arm, arm64: Disable swi_tables.ld file when not required
This commit removes the need of swi_tables.ld file if the
ISR table generator is not configured to use it.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-05 12:32:46 +01:00
Joel Guittet
e90613efb2 drivers: display: gc9x01x: fix bindings include
The GC9X01X driver relies on panel.h instead of gc9x01x.h (doesn't
exist).

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2024-02-05 09:38:57 +00:00
Joel Guittet
8f267065f2 dts: bindings: fix gc9x01x display documentation
The bindings documentation contains a deprecated pixel-format.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2024-02-05 09:38:57 +00:00
Ian Morris
826d67af91 drivers: serial: ra: reduce uart baud rate error
Using the 8 base clock cycles per bit period setting (instead of 16)
reduces the uart baud rate error when using a 12MHz crystal (found on
many RA Microcontroller development kits boards). This setting also
slightly reduces the error when using the internal 48MHz oscillator,
used by the Arduino UNO R4 Minima board currently support by Zephyr.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-02-04 19:55:45 -06:00
Daniel Leung
caacc27d37 kernel: smp: CPU start may result in null pointer access
It is observed that starting up CPU may result in other CPUs
crashing due to de-referencing NULL pointers. Note that this
happened on the up_squared board, but there was no way to
attach debugger to verify. It started working again after
moving z_dummy_thread_init() before smp_timer_init(), which
was the old behavior before commit
eefaeee061 where the issue
first appeared. So mimic the old behavior to workaround
the issue.

Fixes #68115

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-04 19:55:14 -06:00
Emil Gydesen
065253c173 Bluetooth: CAP: Make unicast stop more similar to unicast start
Modify the parameters for bt_cap_initiator_unicast_audio_stop
so that they are more similar to
bt_cap_initiator_unicast_audio_start.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-04 19:54:18 -06:00
Emil Gydesen
ec549cebd5 Bluetooth: CAP: Make unicast update more similar to unicast start
Modify the parameters for bt_cap_initiator_unicast_audio_update
so that they are more similar to
bt_cap_initiator_unicast_audio_start.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-04 19:54:18 -06:00
Emil Gydesen
f35e9871d5 Bluetooth: CAP: Remove unicast group param from unicast_audio_start
Since we can always lookup the group from the streams, the
group parameter had no purpose.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-04 19:54:18 -06:00
Andy Ross
840db7858e kernel/thread: Detect in-kernel "reserved" stack overflow
Traditionally, k_thread_create() has required that the application
size the stack correctly.  Zephyr doesn't detect or return errors and
treats stack overflow as an application bug (though obviously some
architectures have runtime features to trap on overflows).

At this one spot though, it's possible for the kernel to adjust the
stack for K_THREAD_STACK_RESERVED in such a way that the arch layer's
own stack initialization overflows.  That failure can be seen by
static analysis, so we can't just sweep it under the rug as an
application failure.

Unfortunately there aren't any good options for handling it here (no
way to return failure, can't be a build assert as the size is a
runtime argument).  A panic will have to do.

Fixes: #67106
Fixes: #65584

Signed-off-by: Andy Ross <andyross@google.com>
2024-02-04 10:23:25 -05:00
Anas Nashif
f6adaf55aa manifest: update sof sha in manifest
point to d40682678b7378fb930ca5535ccd2ce667ed5c27.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-03 13:42:33 -05:00
Anas Nashif
d7678f1694 xtensa: move to use system cache API support for coherency
Remove custom implementation and use system cache interface instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-03 13:42:33 -05:00
Anas Nashif
9183ceaf91 cache: introduce incoherent cache interface
Introduce a set of cache APIs used on architectures with cache incoherency.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-03 13:42:33 -05:00
Grant Ramsay
211ddf1c7e soc: arm: xilinx_zynqmp: Add "Execute Never" MPU flag to non-code RAM
Executing from RAM sections other than rom/code should cause a fault.
This is tested as part of the kernel mem_protect tests.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2024-02-02 17:05:01 -06:00
Grant Ramsay
c81eaff1d9 tests: kernel: mem_protect: Handle thumb instructions for Cortex-R
Check for COMPILER_ISA_THUMB2 rather than CPU_CORTEX_M when determining
if special handling is required for thumb instructions.

This prevents false negative results on Cortex-R devices that may
generate a fault (test pass) even if the MMU/MPU is not configured
correctly.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2024-02-02 17:05:01 -06:00
Gaetan Perrot
3409d0ab27 doc: posix: mark sched_getscheduler and getparam as supported
`sched_getscheduler()` and `sched_getparam()`
is now implemented, mark it so.
Was missing on the documentation before.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-02 17:07:08 -05:00
Jacob Siverskog
031f84dff5 manifest: bump hal_nxp revision
this brings in a newer version of the usb middleware.

see https://github.com/zephyrproject-rtos/hal_nxp/pull/316 for more
information.

Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
2024-02-02 22:36:10 +01:00
Manuel Schappacher
b5bf5a3cef net: gptp: Use local port identity when forwarding sync messages
As defined in IEEE802.1AS-2020 ch. 10.2.12.2.1, the port identity
of an MDSyncSend structure sent from a port shall be set to the
port identity of the sending port according to and ch. 8.5.2.

This commit replaces the port identity before forwarding a sync.

Fixes #68385

Signed-off-by: Manuel Schappacher <manuel.schappacher@hs-offenburg.de>
2024-02-02 22:35:20 +01:00
Guilherme Casa Nova
583f24e7e8 i2c_mcux_flexcomm: add transaction timeout option
With the device_sync_sem semaphore, there is the possibility of
the code not returning to give it back
(mcux_flexcomm_master_transfer_callback is never called),
causing it to get stuck in k_sem_take(&data->device_sync_sem, K_FOREVER)
in subsequent calls.

The i2c driver recovers by other means
(enabling FSL_FEATURE_I2C_TIMEOUT_RECOVERY)
but the callback might not return.

Adding a timeout option allows for this occurrence to be avoided.

Signed-off-by: Guilherme Casa Nova <guilherme.casa_nova@dell.com>
2024-02-02 15:24:26 -06:00
Daniel DeGrasse
9001512e1f dts: arm: nxp: nxp_rt1010: provide flexspi clock source
Add FlexSPI clock source to RT1010 devicetree definition for FlexSPI
node, to match FlexSPI clock source defined on standard FlexSPI dt node
that is removed in the RT1010 devicetree.

Fixes #68488

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-02 13:49:48 -06:00
Robert Lubos
c6f2f2cf53 tests: net: ip-addr: Fix compiler warning
Building with Zephyr SDK 0.16.5 revealed a minor bug with the buffer
size provided to snprintk():
  specified bound 38 exceeds destination size 20 [-Wstringop-overflow=]

As we provide the buffer to snprintk() with an offset, the actual
buffer size should be reduced by that offset value.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-02 19:54:52 +01:00
Abderrahmane Jarmouni
32fd2f57b1 drivers: display: stm32_ltdc: fix for stm32f429i_disc1
Display is not working on STM32F429i-DISC1 board because
display_blanking_off() needs to be sent to ILI9341 device, but it's sent
to LTDC instead which does not implement it.
This patch adds a LTDC DT property that provides the pHandle of the
display's own controller so that display_blanking_off/on are forwarded to
it when they are called by an application.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-02-02 19:54:45 +01:00
Keith Packard
c4d05b5f9e tests/c_lib: Remove define of _POSIX_C_SOURCE for newlib
This test does not use any APIs beyond those provided in the Zephyr
standard set, so it should not define _POSIX_C_SOURCE.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-02-02 19:54:33 +01:00
Keith Packard
e569a13d39 libc/newlib: Wrap <string.h> to define strnlen and strtok_r when needed
Newlib doesn't have Zephyr support, so we need to define these functions
when the application doesn't ask for the right level of POSIX support.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-02-02 19:54:33 +01:00
Jamie McCrae
1a7fb576e7 doc: release: 3.6: Add deprecation note for build type
Adds a note that build type has been deprecated in favour of
file suffix

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Jamie McCrae
0f94e5eab9 doc: release: 3.6: Add note on FILE_SUFFIX support
Adds a note with a link to the documentation pages for this
new feature

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Jamie McCrae
425ef8abd3 doc: Add documentation on FILE_SUFFIX build variable
Adds details to the application development page and sysbuild
page documenting the variable, how it works and how it should
be used

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Jamie McCrae
5bf056046a cmake: modules: extensions: Deprecate build type
Adds a deprecation notice if a file is found which has the build
type informing the user of the replacement

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Jamie McCrae
f7f320c494 sysbuild: Add support for FILE_SUFFIX
Adds supports for sysbuild loading project-specific Kconfiguration
fragments that are suffixed with the user-provided value

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Jamie McCrae
ef251048e4 cmake: Add support for file suffixes
Adds support for configuration files to use file suffixes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Jamie McCrae
5b6c585673 cmake: Add function for file suffix checking/appending
Adds a function that can be used to check if a file suffix is
supplied and, if so, will update a variable with these filenames

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Torsten Rasmussen
3eaab029ec cmake: extend zephyr_file(CONF_FILES ...) to take NAMES as argument
Extend zephyr_file(CONF_FILES ...) to take a NAMES list of file names
to find instead of creating file names based on board and revision.

This allows to unify lookup prj.conf and <board>/app.overlay for
application, as well as pave the way for future enhancements to
configuration file handling.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-02-02 19:54:21 +01:00
Radoslaw Koppel
53becb05bf tests: kernel: common: Enable tests with LTO
This commit enables some kernel tests with
Link Time Optimization enabled.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
26c8776c70 buildsystem: Add an option to enable LTO
This commit adds option to enable Link Time Optimization.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
3799b93689 tests: kernel: gen_isr_table: Add tests for local ISR tables declaration
This commit adds configurations to test local ISR tables declaration.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
8f98b8b574 bluetooth: nordic: lll: Use direct ISR when applicable
This commit updates nordic lll controller to use
IRQ_DIRECT_CONNECT where applicable instead of
using IRQ_CONNECT with ISR_FLAG_DIRECT.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
664319f9ef arch: arm: Upgrade IDT_LIST memory section size
Make IDT_LIST section bigger to fit bigger interrupt description.
Note: This section would be removed from final build.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
1ff24b34eb arch: arm: Update to support local ISR declaration
This commit updates the arm and arm64 architecture files
to support the new ISR handlers creation parser.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
8174c7e049 arch: irq: Use Z_ISR_DECLARE_DIRECT for direct ISR declaration.
This commit changes the way how ARCH_IRQ_DIRECT_CONNECT is defined.
Now it uses Z_ISR_DECLARE_DIRECT internally.
That is a requirement for local isr declaration.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
19bb21ef6d doc: kernel: interrupts: Description of the local isr declaration
This commit adds a documentation about the new parser of the
interrupt vectors tables that is using linker to construct
the arrays with all the runtime required data.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
13638a0351 arch: sw_isr_table: Implement local interrupt table entry creation
This commit implements the possibility to locally create an interrupt
table entry. This changes the way interrput table is created,
now it should not be created as an source file but rather it would be
constructed by the linker.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
0ae48ecb58 scripts: build: gen_isr_tables: Implement local ISR generation
This commit moves all the functionality related to the current
interrupt parser into gen_isr_tables_parser_carrays.py file.
The new parser file gen_isr_tables_parser_local.py file is
implemented with the new parser that.
Additional information added to the generated interrupt header
that contains data required by the new parser.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
b0c83f328c arch: sw_isr_table: Update shared interrupts structures
This commit updates the definition of z_shared_isr_table_entry
to use _isr_table_entry instead of specially created z_shared_isr_client.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
568cced14f scripts: gen_isr_tables: Break code into classes
This commit breaks the code into functional classes.
This way the functionality is visibly splitted into
functional parts and it is easier to replace the
specific parser part to implement new code generators.

There is also common functionality to handle multi level interrupts
moved to configuration class.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
4360acb27e scripts: gen_isr_tables: Code cleanup
This commit cleans up the gen_isr_tables code for better clarity
and easier modification.
Changes include:
- Separate functions to load intList section.
- Replace spurious handlers in internal data with None.
  Now it is the output generator work to choose right function.
- All the work to generate vt and swt separated into its own functions.
- Remove the need for internal shared array - all the information
  is here in swt array.
- The update_masks function - more functionality moved here.
- Simplify bit_mask function.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Radoslaw Koppel
717c5835d6 arch: isr_tables: Add __used attribute to int_list_header
This commit adds missing __used attribute it int_list_header,
preventing it from being optimized out.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2024-02-02 19:49:36 +01:00
Tom Burdick
84e883b611 llext: Support memory protection
Sets up memory partitions and allows for the partitions to be added to a
memory domain after loading an extension. This allows for applying
memory protection attributes to all of the needed memory regions an
extension requires to execute code correctly.

Currently only works when usermode is enabled as otherwise memory
protection APIs are unavailable.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-02-02 13:06:28 -05:00
Tom Burdick
172bc0c238 llext: Remove automatic include
clangd like to automatically add include directives, this one slipped by
and made its way in the tree. Remove it.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-02-02 13:06:28 -05:00
Daniel DeGrasse
b6feb567d1 drivers: display: ili9xxx: do not delay for reset unless supported
Check the return code of mipi_dbi_reset, and do not delay for the reset
wait time unless the mipi controller has issued a hardware reset to the
display.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-02 11:52:17 -06:00
Daniel DeGrasse
5b767a0dd2 drvers: display: ili9xxx: fix usage of MIPI buffer descriptor
Fix usage of MIPI buffer descriptor in ili9xxx driver. Previously, the
buffer descriptor size was being set to display buffer size. For cases
where the write height/width  was not equal to the size of the buffer, this
resulted in additional data being written that was not needed. To
resolve this, calculate the mipi descriptor buffer size in the driver

Also, remove the unconditional setting of mipi_desc.height, as this
would override the previous (correct) setting.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-02 11:52:17 -06:00
Daniel DeGrasse
f81ca136fe drivers: mipi_dbi: clarify write size for mipi_write_display
Clarify write size used by mipi_write_display, so that implementers of
MIPI drivers know to use the buf_size field of the display buffer
descriptor to determine write size.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-02 11:52:17 -06:00
Jukka Rissanen
aa546baf44 tests: net: sockets: udp: Add recvmsg test for checking msg_controllen
Make sure that msg_controllen is cleared if there is no
control data received.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-02 11:51:53 -06:00
Jukka Rissanen
692ebf404c net: sockets: Update msg_controllen in recvmsg properly
If recvmsg() does not update control data, then it must
set msg_controllen length to 0 so that the caller can
understand this.

Fixes #68352

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-02 11:51:53 -06:00
Armando Visconti
12017b8481 drivers/sensor: lps2xdf: Fix uninitialized variables
Fix some uninitialized variables calling the proper get()
routine prior the equivalent set() operation.

Fixes: #66791, #66778, #66772.
Coverity-CID: 338119, 338144, 338157.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-02-02 10:53:32 -06:00
Grzegorz Chwierut
8f18094c62 twister: pytest: Fix shell fixture
On the hardware, after booting up the device, on the
console might appear additional logs after receiving first
prompt. Wait and clear the buffer to avoid unexpected
messages when verifying output.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2024-02-02 10:52:46 -06:00
Juliane Schulze
34cb22e919 sensors: Add driver for Vischay VCNL36825T Proximity Sensor
Driver for the Vishay VCNL36825T including power management support.

Signed-off-by: Juliane Schulze <juliane.schulze@deveritec.com>
2024-02-02 10:51:10 -06:00
Robert Lubos
68bc981c52 net: zperf: Fix session leak
In case zperf session was aborted by the user (by for instance stopping
it from shell), or practically in case of any other
communication-related error, the zperf session could end up in a state
other than NULL or COMPLETED, with no way to recover. This made the
session no longer usable and eventually could lead to zperf being not
able to start a new session anymore.

Fix this by introducing zperf_session_reset() function, which resets the
session state back to defaults. The function is called when the zperf
receiver service is stopped.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-02 10:31:53 -06:00
Robert Lubos
4ce0352026 net: zperf: Fix TCP receiver start/stop operation
The issues found for UDP receiver were also identified for TCP receiver,
this commit applies practically the same set of changes as in case of
UDP.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-02 10:31:53 -06:00
Robert Lubos
139bc4e87e net: zperf: Fix UDP receiver start/stop operation
This commit fixes restarting of UDP receiver service, along with some
other minor cleanups:

* The core issue was udp_server_running flag not being cleared when
  service was stopped. Fix this by introducing udp_receiver_cleanup()
  which does all of the required cleanups when receiver service is
  stopped. The function is called either when the application stopped
  the service with zperf_udp_download_stop(), or when the service was
  stopped due to error.
* net_socket_service_unregister() was not called on
  zperf_udp_download_stop(), but only from the service callback - that
  would not work in case there's no active communication.
* at the same time, net_socket_service_unregister() would be called from
  the service callback in case of errors. Fix this, by making
  udp_recv_data() only return an error, and let the service callback to
  do the cleanup.
* Remove no longer used udp_server_run semaphore
* Remove udp_server_stop - with socket services it seems no longer
  needed.
* zperf_udp_receiver_init() now returns an error, so that we don't
  mark the service as running in case of socket/services error.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-02 10:31:53 -06:00
Jamie McCrae
1c70041dcb doc: develop: west: sign: Add details on signing
Adds details on how to do signing using sysbuild

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 10:08:27 -06:00
Jamie McCrae
605c854369 doc: release: 3.6: Add note on signing script addition
Adds a note about how the signing script can be set

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 10:08:27 -06:00
Jamie McCrae
d676234493 cmake: Add support for sysbuild-set signing script
Allows a sysbuild project to specify a signing script file to
use instead of the default zephyr one

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-02 10:08:27 -06:00
John Johnson
125a2bccaa net: net_pkt: add peer sockaddr member in net_pkt struct
Add sockaddr member in struct net_pkt to store peer address if offloaded
network inteface is used. This enables recvfrom() to fill in src_addr if
socket type is UDP and offloaded interface driver supports it.

Signed-off-by: John Johnson <john.filip.johnson@gmail.com>
2024-02-02 09:42:18 -06:00
Lars Knudsen
c460d285c0 MAINTAINERS: Add pin-zephyr to Bluetooth Audio
Ping is collaborating on Bluetooth Audio

and is attending the weekly LE Audio Zephyr meetings

Signed-off-by: Lars Knudsen <larsgk@gmail.com>
2024-02-02 09:41:10 -06:00
Gerard Marull-Paretas
117194ae22 boards: riscv: add nrf54h20pdk_nrf54h20_cpuppr
Add a board that allows to build for the nRF54H20 PPR RISC-V core.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
426bbf5649 soc: riscv: nordic_nrf: nrf54h: introduce PPR support
Add support for the nRF54H PPR (Peripheral Processor), based on the VPR
RISC-V core.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
ba16e3dd13 soc: riscv: nordic_nrf: add initial support for VPR core
Add initial support for the VPR RISC-V core found in the new nRF54 SoCs.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
1a6b88608e soc: arm: nordic_nrf: move Kconfig.peripherals to common folder
Because RISC-V cores also need to include this file, so it is no longer
ARM specific.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
d7dc942382 soc: common: nordic_nrf: move pinctrl_soc.h to a common dir
Because both, RISC-V and ARM cores share the same pinctrl driver. The
top level common folder will disappear with the introduction of HWMv2,
where multi-arch SoCs will be well supported.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
018cf08d8d scripts: kconfig: functions: add dt_chosen_partition_addr_int|hex
dt_chosen_partition_addr_int|hex allow obtaining the absolute address of
a partition, which is the result of the grandparent node address plus
the partition node address.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
270ae63036 modules: hal_nordic: add configuration for nRF54H PPR core
Add nrfx configuration file to make the nrfx HAL work for
nRF54H PPR core.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
d230542f1d drivers: serial: nrfx_uarte2: drop soc.h
As it is not required (e.g. RISC-V nRF54H port does not provide soc.h)

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
245da8aae6 snippets: add nordic-ppr
Add a new snippet that allows to build any application with the
capability to boot the PPR core found in some nRF54 SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
d1468b8484 drivers: misc: nordic_vpr_launcher: initial version
Add a custom driver that takes care of loading and launching RISC-V VPR
cores found on the new nRF54 SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
00566d64fa tests: lib: cpp: Exclude cpp98 test on nRF54H20
Similar to nRF54L15, the MDK files in HAL for this SoC are not
compatible with C++98, so currently the test cannot be performed
on this SoC.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
38520a93d3 boards: arm: Add initial support for nRF54H20 PDK
Add targets that allows building for the Application and Radio cores
in the nRF54H20 SoC on the nRF54H20 PDK board.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
6b987d3192 scripts: west: runners: nrfjprog: add basic support for nRF54H series
Add basic support to flash application and/or radio core for nRF54H
series. Note that features like merged hexes present in nRF53 series is
not supported.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
a99b5ca01b scripts: west: runners: nrfjprog: add erasepage op
Add a new operation that allows erasing pages.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
b2c8f7680d scripts: west: runners: nrfjprog: add option to not erase
On some new SoCs, the erase option is not required, so introduce a new
option that doesn't set any erase mode.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
1606f65972 dts: nordic: Include input-event-codes.h from nrf_common.dtsi
... so that there is no need to include that header individually
for every added board based on an nRF SoC.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
c50c4130a0 tests: arm_irq_vector_table: Add special handling for nRF54H20
Different set of IRQ lines need to be used for this SoC and the CLOCK
IRQ is not to be installed in the vector table.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
bb065262bc drivers: timer: nrf_grtc_timer: Add dependency on nRF clock control
... in the related parts, so that the driver can be used on nRF54H20
where the clock control is not present yet.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
976de4edbe drivers: serial: nrfx: Allow new UARTE instances to be used
Extend Kconfig definitions and nrfx_config translations so that UARTE
instances that are available in nRF54H20 can be used.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
784688a511 drivers: serial: Kconfig.nrfx: Filter out options unsupported on nRF54H20
On nRF54H20, only the new shim can be used and the enhanced poll out
cannot be enabled since there is no DPPI support for this SoC yet.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Grzegorz Swiderski
be8b2663c6 modules: hal_nordic: Integrate nrf-regtool
nrf-regtool is a Python utility from Nordic Semiconductor, which is used
for generating binary files with register values for given peripherals.
It sources the descriptions of peripheral registers from CMSIS-SVD files
(typically ones bundled with nRF MDK).

For some peripherals, such as UICR, nrf-regtool supports parsing values
from devicetree as well, based on the bindings already found in Zephyr.

Currently, this tool is not submitted as a script to Zephyr, but it can
be installed from PyPI.

Having nrf-regtool installed is recommended when working with nRF54H20.
Booting the Application or Radiocore CPU requires flashing not only its
firmware, but also its respective UICR instance. On this SoC, the UICR
is used to assign ownership of global hardware resources, including
memory and peripherals, to individual cores. The Zephyr build system can
call nrf-regtool to generate the UICR based on devicetree, to reflect
the boot-time hardware configuration required for a given application.
The generated `uicr.hex` is then merged with `zephyr.hex`, so that they
can be flashed together using west.

The build system integration takes the form of a CMake package, which
includes a version check and reusable components; over time, some of
these components can be reused by sysbuild. This package is located in
the `hal_nordic` module, because it depends on the `SOC_SVD_FILE` CMake
variable, which is defined there as well.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Grzegorz Swiderski
7740bcf670 modules: hal_nordic: Set SOC_SVD_FILE
This CMake variable contains a path to a CMSIS-SVD file from nRF MDK,
which describes the selected Nordic SoC.

Initially, this will be used as an argument to nrf-regtool.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
abb0934def soc: nordic: Add initial support for nRF54H20 EngA
Add nrfx and Kconfig related infrastructure plus SoC initialization
code to allow building for nRF54H20 targets (Application and Radio
cores).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
139b97a64a modules: hal_nordic: Use common nrfx_config section for GRTC
Move code that prepares `NRFX_CONFIG_GRTC_*` definitions based on
information from devicetree from the nRF54L15 nrfx_config header
to the global one, so that the code can be used by nRF54H20, too.

The checks that validate owned-channels and child-owned-channels
DT properties are moved to the nrf_grtc_timer driver so that
the global nrfx_config is not polluted unnecessarily.

The default values in nrfx_config_nrf54l15_enga_application.h
are restored to those from the corresponding template file.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
2efd34bda3 modules: hal_nordic: nrfx_glue: Include cmsis_core_m_defaults.h
... to cover missing __ICACHE_PRESENT and __DCACHE_PRESENT symbols that
should be defined in MDK files.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
50d56c9503 dts: Add initial support for nRF54H20 EngA SoC
Add definition of the nRF54H20 SoC revision EngA with its Application,
Radio, and Peripheral Processor (PPR) cores and basic peripherals:
GRTC, GPIOs, GPIOTE, and UARTs.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek
6bce789829 dts: Add and extend Nordic bindings needed for nRF54H20
Add a set of bindings that will be used in the nRF54H20 SoC definition.
Extend the existing GPIOTE binding with properties needed for this SoC.
Also do a tiny clean-up in the bindings added recently for nRF54L15
(HFXO and LFXO).

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas
928dbb58c2 dt-bindings: misc: add nordic,nrf-ficr helper definitions
Add definitions to access all FICR fields in the nRF54H20 EngA SoC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Grzegorz Swiderski
3cfa2296a6 dts: Move nrf_common.dtsi to the common directory
... so that it can be included by ARM and RISC-V cores. For the same
reason, SysTick can no longer be disabled in this common file.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Gerson Fernando Budke
78ee5b1d05 samples: net: echo_client: Decrease SRAM for atsamr21_xpro
This update the echo_client configurations for the atsamr21_xpro board
to match same configs defined at echo_server.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-02 09:35:51 -06:00
Gerson Fernando Budke
de56f0cce2 samples: net: echo_server: Decrease SRAM for atsamr21_xpro
In the Zephyr v3.5 to build the net samples pair echo-server/client the
SRAM requirements increased for the atsamr21_xpro board when passing
-DEXTRA_CONF_FILE=overlay-802154.conf argument. This adjusts example
features to free necessary SRAM to build and run the example.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-02 09:35:51 -06:00
Emil Gydesen
954f2a09fb tests: bsim: Bluetooth: Audio: Add additional testing of discovery
Expand the babblesim tests for LE audio to verify that all the
discovery functions can be called multiple times without error.

HAS is an exception as that has an existing separate check
that disallows discovery multiple times.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-02 09:34:52 -06:00
Emil Gydesen
ec41dd9ba6 Bluetooth: Audio: Use BT_GATT_SUBSCRIBE_FLAG_VOLATILE
The LE Audio implementations do not really support bonding yet,
and removing subs on disconnect is the most effective (and correct)
way of ensuring that we do not subscribe more than once when we
re-discover after reconnection.

The broadcast assistant and the media control client does not
support multiple connections as of this commit, so they needed
special treatment. In the case that we do discovery on multiple
ACL connections, it is important that the existing subscriptions
are removed correctly by calling bt_gatt_unsubscribe.

In order to implement this change properly on some of the clients,
thet had no proper connection references or support
for clearing the data on disconnects, they had to be updated
as well.

The csip_notify.sh test has been disabled, as that expected a
notification in the client, but since this commit removes that
(until bonding is properly supported in the clients), then the
test will fail.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-02 09:34:52 -06:00
Emil Gydesen
922ac3c7c1 Bluetooth: Audio: Add missing error checks for calls to bt_gatt_subscribe
Several places the LE Audio clients called bt_gatt_subscribe without
checking the return value, which could cause some issues in the worst
case, and in the best case, cause some unexpected behavior.

Some implementations had a bit more updating to handle the new
behavior.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-02 09:34:52 -06:00
Mateusz Holenko
ad89bf377d boards: arm: Enable mailbox in selected ARM boards
The mailbox peripheral is actively accessed by stm32_hsem functions,
so mark the device as enabled in DTS.

Signed-off-by: Mateusz Hołenko <mholenko@antmicro.com>
2024-02-02 09:32:10 -06:00
Tomas Galbicka
73d6c336ca samples: tests: mbox: Add lpcpresso55s69 support
This commit adds support for NXP board LPCXpresso55S69 for mbox.
 - samples/drivers/mbox/ - mbox signaling mode
 - samples/drivers/mbox_data/ - mbox data transfer mode
 - tests/drivers/mbox/mbox_data/ - mbox test to verify functionality.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-02-02 09:31:33 -06:00
Tomas Galbicka
069bcbcb7f drivers: mbox: Add NXP Mailbox driver for mbox
This adds new NXP mailbox driver for MBOX device.

NXP mailbox IP driver supports sending data between cores.
It uses 32 bit register to trigger irq to other core.
This driver implementation uses 4 bits for channel selection of
triggering mode, 4 bits for channel selection of data transfer and
rest 24 bits for data.

NXP mailbox IP Reference Manual UM11126, Chapter 52.
https://www.nxp.com/webapp/Download?colCode=UM11126

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-02-02 09:31:33 -06:00
Troels Nilsson
89ce3566c0 Bluetooth: Controller: Fix handling of CTEInfo in le_ext_adv_report()
Handling of CTEInfo being present was missing; Fixes test failure of
LL/DDI/SCN/BV-89-C

Signed-off-by: Troels Nilsson <trnn@demant.com>
2024-02-02 09:30:06 -06:00
Linus Isberg Martinsson
23d3114db3 dts: boards: stm32h562: Add missing UART7 and UART8
UART7 and UART8 instances were missing in the device tree for
STM32H562.

Signed-off-by: Linus Isberg Martinsson <isberg.linus@gmail.com>
2024-02-02 09:29:18 -06:00
Stephanos Ioannidis
36a593b29c SDK_VERSION: Use Zephyr SDK 0.16.5
This commit updates SDK_VERSION to point to the Zephyr SDK 0.16.5 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-02-02 08:37:35 -05:00
Stephanos Ioannidis
eb144c05fe ci: Switch to CI image v0.26.7
This commit updates the CI workflows to use the CI image v0.26.7, in order
to pull in the Zephyr SDK 0.16.5 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-02-02 08:37:35 -05:00
Lyle Zhu
d7328eac67 Bluetooth: Host: Set user data size for hfp tx pool
The user data size of hfp tx pool is zero.

There is not enough space to put tx_mate.

Use CONFIG_BT_CONN_TX_USER_DATA_SIZE to
set data size of hfp tx pool.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-02-02 14:09:38 +01:00
Yasushi SHOJI
50d8cd4c98 doc: develop: sca: Add Parasoft C/C++test
Add documentation for Parasoft C/C++test for Static Code Analysis.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2024-02-02 13:49:08 +01:00
Yasushi SHOJI
6a069e14e7 cmake: sca: Add Parasoft C++test
This commit adds Parasoft C++test as a Static Analyser using Zephyr's SCA
framework.

By specifing -DZEPHYR_SCA_VARIANT=cpptest to west build, a cpptestscan.bdf
file will be generated under builddir/sca/cpptest/.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2024-02-02 13:49:08 +01:00
Yasushi SHOJI
0ac2a0fce9 cmake: sca: Add "SCA" to the Found messages
This commit enhances the clarity of the build log by adding the "SCA"
prefix to the "Found" messages generated by sca/*/sca.cmake. This change
improves the readability of the `west build` log for users who may not be
familiar with these tools, providing more informative and understandable
output.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2024-02-02 13:49:08 +01:00
Francois Ramu
9059b6a62d doc: releases:; migration guide updated
Update the migration guide for release v3.6 to detail the change about
the bindings of `st,stm32-ospi-nor` and `st,stm32-qspi-nor` compatible

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-02 13:48:18 +01:00
Francois Ramu
9e13290f8b boards: arm: stm32 boards has qspi nor flash node
Define the reg and size property for the stm32 boards with qspi inside
Refer to the dts/bindings/flash_controller/st,stm32-ospi-nor.yaml.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-02 13:48:18 +01:00
Francois Ramu
b44f558059 drivers: flash: stm32 qspi drivers gets address and size from DTS
Address and size are given by the DTS register property
of the qspi nor : to be used by the qspi driver.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-02 13:48:18 +01:00
Francois Ramu
cd239bf8f1 dts: bindings: flash controller stm32 qspi nor flash reg property
Address and size are given by the DTS register property
of the qspi nor. The size Property becomes useless.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-02 13:48:18 +01:00
Francois Ramu
1567627f9c boards: arm: stm32 disco kit has ospi nor flash node
Define the reg and size property for the stm32u585 and stm32l562
disco kit.
Refer to the dts/bindings/flash_controller/st,stm32-ospi-nor.yaml.
The stm32l562 reads the sfdp table from the flash itself.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-02 13:48:18 +01:00
Francois Ramu
0bbd7bf977 drivers: flash: stm32 ospi drivers gets address and size from DTS
Address and size are given by the DTS register property
of the ospi nor : to be used by the ospi driver.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-02 13:48:18 +01:00
Francois Ramu
078e32fa37 dts: bindings: flash controller stm32 ospi nor flash reg property
Address and size are given by the DTS register property
of the ospi nor. The size Property becomes useless

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-02-02 13:48:18 +01:00
Ben Marsh
79bbe8f4b0 doc: kernel: Add message queue & pipe to poll docs
The polling API can be used to wait on data in a FIFO, message queue,
or pipe, but the docs were not clear that message queues and pipes
are supported.

Add to the docs to make it clear message queues and pipes
can be used with the polling API.

Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
2024-02-02 13:20:00 +01:00
Vinayak Kariappa Chettimada
10fece0c1e Bluetooth: Controller: Fix PA sync-ed ACL supervision timeout
Fix Periodic Advertising Synchronization leading to
Peripheral ACL connection supervision timeout, due to
direction finding related radio hardware registers being
updated in the implementation that is not built for
direction finding feature support.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:49:43 +01:00
Vinayak Kariappa Chettimada
83321eed41 Bluetooth: Controller: Fix coverity issue 340844
Fix coverity issue 340844, Uninitialized pointer read.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:49:30 +01:00
Vinayak Kariappa Chettimada
c5474085db Bluetooth: Controller: Fix coverity issue 340845
Fix coverity issue 340845, Uninitialized pointer read.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:49:19 +01:00
Vinayak Kariappa Chettimada
054dc35542 Bluetooth: Controller: Fix coverity issue 330027
Fix coverity issue 330027, Structurally dead code.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:49:07 +01:00
Vinayak Kariappa Chettimada
f214913e16 Bluetooth: Controller: Fix coverity issue 330043
Fix coverity issue 330043, Unsigned compared against 0.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:48:54 +01:00
Vinayak Kariappa Chettimada
f358243b26 Bluetooth: Controller: Enforce range for BT_CTLR_ADV_AUX_SYNC_OFFSET
Enfore a range for BT_CTLR_ADV_AUX_SYNC_OFFSET such that
it does not take negative integer values.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:48:54 +01:00
Vinayak Kariappa Chettimada
8e5c9c3b8a Bluetooth: Controller: Fix MFIFO_DEFINE to reduce FLASH usage
Fix MFIFO_DEFINE to reduce FLASH usage by moving the pool
outside the struct that is static initialized.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:48:42 +01:00
Fabio Baltieri
01be4aff40 input: gpio_qdec: add power management support
Add power management support to the gpio-qdec driver.

This is a bit complicated by the fact that the driver has two modes of
operation and the interrupt, timer and idle work ineract with each
other.

The suspend sequence is:
- set the suspended bit (inhibits the poll timer so that it does not
  resubmit the idle work)
- cancel the idle work (so that it does not schedule and re-set the
  interrupt or timers)
- disable interrupts (if used)
- stop the sampling timer
- disconnect the pins

The resume sequence is more or less the opposite.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-02 12:43:12 +01:00
Vinayak Kariappa Chettimada
550b16a04e Bluetooth: Controller: Fix missing ull_chan_reset call
Fix missing call to ull_chan_reset(), this fixes
uninitialized channel map being used after LL reset.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-02-02 12:43:07 +01:00
Manuel Argüelles
3dd014ef55 boards: arm: ucans32k1sic: enable RTC counter
Enable the Real Time Clock (RTC) counter on ucans32k1sic.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-02-02 12:43:00 +01:00
Manuel Argüelles
1b302f51ea soc: arm: nxp_s32: s32k1: add support for RTC
Add support for the Real Time Clock (RTC) counter.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-02-02 12:43:00 +01:00
Manuel Argüelles
ce647d17b4 drivers: counter: mcux_rtc: enable oscillator if supported
Some devices like S32K1xx don't feature an internal 32.768 KHz
oscillator. Also, updated the code to use the existing HAL API
for this purpose.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-02-02 12:43:00 +01:00
Ping Wang
2f138fad5f Bluetooth: Audio: MCC optional procedures actually optional
This change makes the optional procedures in the Media Control Client
optional and configurable through Kconfig.

Signed-off-by: Ping Wang <pinw@demant.com>
2024-02-02 12:42:55 +01:00
Gaetan Perrot
6fe676f4e8 posix: sched: Implement tests for sched_rr_get_interval
Implement tests for `sched_rr_get_interval()` .
Function is actually placeholders and just return `ENOSYS`
since Zephyr does not yet support processes or process scheduling.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-02 12:42:50 +01:00
Gaetan Perrot
3ded1c3c03 doc: posix: mark sched_rr_get_interval as supported
`sched_rr_get_interval()` is now implemented,mark it so.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-02 12:42:50 +01:00
Gaetan Perrot
a897c1c7d9 posix: sched: Implement sched_rr_get_interval
Implement `sched_rr_get_interval()` POSIX APIs
as a part of PSE53 `_POSIX_PRIORITY_SCHEDULING` option group.
Functions is actually placeholders and just return `ENOSYS`
since Zephyr does not yet support processes or process scheduling.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-02 12:42:50 +01:00
Robert Lubos
6d6d5b438d tests: net: dhcpv4_server: Add test case for ICMP probing
Add test case which verifies that ICMP probing work as expected for the
DHCPv4 server. Make sure we build tests with both, probing enabled
(default) and disabled (enforced in testcase.yml) to make sure the
server is functional regardless of the probing feature.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-02 12:42:44 +01:00
Robert Lubos
3c76ff9a8c net: dhcpv4_server: Implement ICMP probing of offered addresses
DHCPv4 server will send an ICMP probe (echo request) for the requested
address before replying with DHCP Offer, unless probing is disabled in
Kconfig.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-02 12:42:44 +01:00
Fabio Baltieri
131b97956f github: hello_world_multiplatform: run on macOS ARM
Seems like GitHub introduced a macOS on ARM runner, add it to the
multiplatform test, with this we are running all the SDKs minus the
Linux ARM64 one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-02 12:42:38 +01:00
Sateesh Kotapati
d1c887e20d gecko: doc: Update the copyright line in Licence | Update to GSDK 4.4.0
Update the copyright line in files to latest version as per gecko_sdk 4.4.0
Correction in location of se_manager in gecko/README

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2024-02-02 12:42:18 +01:00
Anas Nashif
5529241bc9 ci: pr stats: deal with trivial+hotfix PRs
deal wit the case of Trivial+Hotifx and mark it correctly in PR
dashboard.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-02 05:54:04 -05:00
Pieter De Gendt
0bc1a2b314 net: lib: coap: Reduce CoAP server stack usage
Declare the CoAP server receiving buffer as static to lower the
stack usage.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-02-02 10:51:32 +01:00
Petr Hlineny
a97c825d64 drivers: i2c: stm32: Disable suspend to idle during transaction
Suspend-to-idle stops I2C module clocks, which must remain active during
transaction

Signed-off-by: Petr Hlineny <development@hlineny.cz>
2024-02-02 10:07:59 +01:00
Chun-Chieh Li
bc1a988f9d drivers: usb: device: support Nuvoton NuMaker series USBD controller driver
1. Configure 'core-clock' to 192MHz to generate necessary 48MHz
2. Support workaround to disallowing ISO IN/OUT EPs to be assigned
   the same EP numbers

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2024-02-02 10:07:43 +01:00
Derek Snell
9260c5b6b2 doc: linkserver: update PATH
Added details to update PATH environment variable for linkserver

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-02-02 09:09:20 +01:00
Kshitij Shah
24ebebdcc9 drivers: sensor: bma4xx: Add bma4xx emulator
Add emulator for bma4xx sensor.

Signed-off-by: Kshitij Shah <tij@google.com>
2024-02-01 21:42:49 -06:00
Daniel DeGrasse
a8a0eb5243 MAINTAINERS: add danieldegrasse to display collaborators
Add myself to display collaborators list to aid in reviewing PRs, as I
have been working with SPI based and parallel displays within Zephyr

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 15:25:34 -06:00
Jordan Yates
84ce10658c tests: cmsis-dsp: request required features
Request the CMSIS DSP features required for each test.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-02-01 14:49:03 -06:00
Jordan Yates
5c849f8e2e modules: cmsis-dsp: re-add compilation control
Re-add finer grained compilation control that was lost in the CMSIS
split (#56957). CMSIS DSP is several hundred files and has a measurable
effect on compile times.

Only compiling features that are required improves this.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-02-01 14:49:03 -06:00
Anas Nashif
b64af4008f twister: deal with predicates and skipped tests
Using ztest predicate feature, testcases are skipped, however, the skip
is only reported as part of the summary and not through normal
execution. Until now such tests were reported as blocked or had a null
status in the twister json output.

This changes will look into summary results and use them to confirm
parsed results and add any missing results that either were not reported
or not captured through the serial console.

The issue can be observed with the drivers.can.api test for example on
the frdm_k64f board.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-01 14:31:05 -06:00
Anas Nashif
2a260a84c8 tests: CAN: change duplicate test name: get_capabilities
In twister, we do not include the ZTEST testsuite as part of the
identifier, something we should start doing especially for tests with
multiple suites. The issue happens with same testcase name in different
suites, where results get messed up.
Work around this for now by making the testcase names unqiue until we
have a better solution twister.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-01 14:31:05 -06:00
Sumit Batra
286a3ce37f drivers: eth: phy: tja1103: Handle link change
drivers: eth: phy: tja1103: Handle link change
These changes enable -
TJA1103 driver to gracefully handle Link connect or disconnect events
between Ethernet PHY and its link partner and notify it to the
upper network layers

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2024-02-01 14:29:43 -06:00
Sumit Batra
bbc1087e83 drivers: eth: s32 gmac: Handle link change
These changes enable -
1. S32 gmac driver to gracefully handle
net iface down and up net shell commands and
2. Link connect or disconnect events between
Ethernet PHY and its link partner.

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2024-02-01 14:29:43 -06:00
Laurentiu Mihalcea
6644fa9104 dai: nxp: sai: Disable data line on pause trigger
Currently, whenever performing TRIGGER_PAUSE operation, the
data line is not disabled. This works well if TX and RX don't
operate at the same time or they operate in ASYNC-ASYNC mode. This
is because sai_tx_rx_disable() will disable transmitter/receiver
all the time since there's no dependencies to take into consideration.
However, in the ASYNC-SYNC mode, sai_tx_rx_disable() may not disable
the current asynchronous side if the synchronous side is still enabled.
As a consequence, the asynchronous side will remain enabled, thus
leading to an underrun/overrun.

To fix this issue, sai_trigger_pause() should disable the data line
each time it's called. This way, even if sai_tx_rx_disable() doesn't
disable the current direction, the data line will be disabled, thus
stopping the consumption/production of frames.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-01 14:27:37 -06:00
Laurentiu Mihalcea
83283a04a1 manifest: update hal_nxp
Update hal_nxp revision to contain the fix for build error
when trying to use dma_nxp_edma.c DMA driver.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-01 14:26:21 -06:00
Patrick Wildt
f61bbad625 spsc_pbuf: fix cache invalidation in spsc_pbuf_free
In case the read index points to the end of the packet buffer and thus
wraps around, we must not invalidate the cache, otherwise we draw
outside of the lines and purge data outside of our responsibility.

Signed-off-by: Patrick Wildt <pwildt@google.com>
2024-02-01 13:10:28 -06:00
Daniel Leung
02baa658d2 xtensa: remove unneeded addi in xtensa_userspace_enter
There is no need to do a addi to a1 because it is
immediately overwritten anyway.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-01 13:09:53 -06:00
Daniel Leung
39d9d0a2fc xtensa: remove ARG_UNUSED from arch_syscall_oops
ssf is being passed to xtensa_arch_kernel_oops() so there is
no need to mark ssf with ARG_UNUSED.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-01 13:09:53 -06:00
Daniel Leung
5d8b43feff xtensa: only need ZSR_FLUSH if CONFIG_KERNEL_COHERENCE
The ZSR_FLUSH scratch register is only needed if kconfig
CONFIG_KERNEL_COHERENCE is enabled. So update gen_zsr.py
for that.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-01 13:09:53 -06:00
Daniel Leung
545cf8cd2f xtensa: print THREADPTR when dumping stack
Print THREADPTR when dumping stack just like other registers.
There is no need to guard that behind CONFIG_USERSPACE.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-01 13:09:53 -06:00
Andries Kruithof
38e0e6e555 Bluetooth: audio: BAP: fix Kconfig description
The description for BT_BAP_SCAN_DELEGATOR_BUF_TIMEOUT is a bit misleading.
Rewriting this to be more accurate

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2024-02-01 13:09:17 -06:00
Krzysztof Chruściński
8bc61e2b51 drivers: spi: Add missing retval to spi_read calls
spi_transceive returns number of received frames for slave mode.
This information was missing for spi_read type of functions.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-01 10:23:44 -06:00
Derek Snell
de5586d7ec boards: arm: lpcxpresso55s69_cpu0: enable DMA
The DMA is already enabled for this board, but updating the board doc
page to make that clear, and enabling the DMA loop_transfer test.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-02-01 10:23:11 -06:00
Jukka Rissanen
508a261286 log: net: Convert syslog network transmitter to use sockets
Convert the network log backend to use socket API instead of
net_context API. This allows the backend to be used also
with socket offloading network drivers.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-01 10:22:47 -06:00
Emil Gydesen
81a1826e13 tests: bsim: Bluetooth: CSIP: Increase EXECUTE_TIMEOUT to 30
Some of the CSIP tests take a while to run given the number of
devices, and some of them started to fail in CI because of a
timeout, so we increase the EXECUTE_TIMEOUT a bit.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-01 17:00:47 +01:00
huajiang zheng
3d9f76b8e5 Bluetooth: Host: add unregister connection callback function
[Description]
tests: shell: Restart bt will register the same connection callback twice.
Callback next node point to itself, when link established callback function
loop infinitely.
[Fix]
Unregister the previous callback to avoid register repeatedly.
[Test]
After bt init/disable times, create connection successfully.

Signed-off-by: huajiang zheng <huajiang.zheng@nxp.com>
2024-02-01 16:05:38 +01:00
Eve Redero
7f5b332b58 doc: fix index typo in sdl bindings
Label "key1" is used twice in the exemple, renaming to "key2".

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2024-02-01 14:32:03 +00:00
Fabio Baltieri
9c038c6c34 github: hello_world_multiplatform: update standard action version
Align the standard action versions with the other workflows, those have
been updated in 0dcb0518be but this file was merged after.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-01 14:31:35 +00:00
Fabio Baltieri
86568638fa github: hello_world_multiplatform: run on SDK_VERSION changes
Add the SDK_VERSION file to the pathlist for running the workflow on
pull requests.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-01 14:31:35 +00:00
Luis Ubieda
2745f6a885 samples: bluetooth: Added sample for Extended Advertisements
Both advertiser and scanner demonstrate the use of extended advertising
and scanning, and how to gracefully restart the extended advertisements
through the use of recycle() callback. In the sample, the advertiser
initiates a connectable advertisement set, which prompts the scanner to
connect. After the connection is established, the advertiser waits for
5 seconds to disconnect. After the connection is dropped, the advertiser
immediately restarts broadcasting, while the scanner cools-down for
5 seconds to restart its process.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-02-01 14:31:27 +00:00
Luis Ubieda
7e5b2a79fc Tests: Bluetooth: Host: Added Test for extended Advertisements
Where extended advertising is restablished through the use of
recycled() callback, registers over bt_conn_cb_register().

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-02-01 14:31:27 +00:00
Luis Ubieda
56e2e7608d doc: releases: release-notes: 3.6: bt: Added recycled cb info
Added on the bt_conn_cb set, used to notify listeners that a previously
allocated connection object has been freed. Used for e.g: restart
extended advertisements.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-02-01 14:31:27 +00:00
Luis Ubieda
efb5d8372d Bluetooth: Host: Added Recycled evt notifying conn object is available
- Which allow listeners to attempt to use the freed connection object to
perform actions as e.g: start connectable advertisements.
- Refactored bt_conn_unref() so it does not access conn struct after
decrementing its reference count.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-02-01 14:31:27 +00:00
Daniel Gaston Ochoa
4c88deaa82 drivers: spi: stm32h7: Ignore spurious interrupts
Supurious interrupts can be generated when the SPI device
is disabled. Ignore them within the SPI IRQ handler.

Co-authored-by: Georgij Cernysiov <geo.cgv@gmail.com>

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2024-02-01 14:31:12 +00:00
Daniel Gaston Ochoa
9991d2ba65 drivers: spi: stm32h7: Use SPI FIFO
Allow to use H7 SPI FIFO to improve performance.

SPI FIFO usage can be enabled/disabled from devicetree.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2024-02-01 14:31:12 +00:00
Daniel Gaston Ochoa
eb78d4dfde drivers: spi: stm32h7: Use transferSize and EOT
Set the transfer size in SPI H7 and check EOT instead of TXC
to be sure the transaction has finished. This is required to
enable the use of the SPI FIFO, as otherwise SPI seems to
operate in "continuous mode", which produces several SCK cycles
after the last frame has been sent/received. More details in the PR.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2024-02-01 14:31:12 +00:00
Daniel Gaston Ochoa
cc9c90c767 devicetree: spi: stm32h7: Allow to enable SPI FIFO from DT
Allow to enable/disable the STM32 SPI FIFO usage from
devicetree.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2024-02-01 14:31:12 +00:00
Gaetan Perrot
042b522506 tests: posix: add tests for pthread_testcancel()
Add tests for pthread_testcancel()

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-01 15:14:28 +01:00
Gaetan Perrot
fe5806aff0 doc: posix: mark pthread_testcancel as supported
`pthread_testcancel()` is now implemented, mark it so.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-01 15:14:28 +01:00
Gaetan Perrot
9cd7564ab0 posix: pthread_testcancel zephyrproject-rtos#59946
Implement posix pthread_testcancel()

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-01 15:14:28 +01:00
Tomasz Moń
f00f846fe3 samples: usb: add UAC2 explicit feedback sample
The sample illustrates how to calculate feedback value based on I2S
sample clock measurement or indirect I2S FRAMESTART and USBD SOF.
The sample is currently only supported on nrf5340dk_nrf5340_cpuapp
target because the feedback measurement uses target specific
peripherals.

While it should be possible to perform feedback value calculation
entirely in software (possibly with some additional filtering due
to software scheduling jitter), the I2S API does not provide necessary
timestamps.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-02-01 15:07:37 +01:00
Tomasz Moń
c83ad53442 usb: device_next: new USB Audio 2 implementation
Introduce new USB Audio 2 implementation written from scratch. Main goal
behind new implementation was to perform entity configuration with
devicetree bindings, hiding the descriptor complexity from application.

Initial implementation is working at Full-Speed only. High-Speed support
will come later, but even at Full-Speed only this is viable replacement
for old stack USB Audio 1 class (USB Audio 1 is limited to Full-Speed by
specification, i.e. it is explicitly forbidden for USB Audio 1 device to
work at High-Speed).

Implemented is only absolute minimum set of features required for basic
implicit and explicit feedback samples. Only one sample frequency is
currently supported. Optional interrupt notifications are not supported.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-02-01 15:07:37 +01:00
Tomasz Moń
31de122ec0 usb: device_next: broadcast SOF to classes
Start of Frame is not relevant for most classes, but it is crucial for
isochronous operation. The most prominent example where SOF is necessary
is USB Audio class.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-02-01 15:07:37 +01:00
Krzysztof Chruściński
ee13631362 pm: device_runtime: Extend existing API with ISR_SAFE mode
Extend macros from creating a PM device with an optional argument
which indicate whether type of device is ISR_SAFE or not.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-01 15:03:42 +01:00
Krzysztof Chruściński
5ce4348311 tests: pm: device_runtime_api: Extend with synchronous device
Extended test to support case when PM device is defined as
synchronous.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-01 15:03:42 +01:00
Krzysztof Chruściński
25173f71cd pm: device_runtime: Extend with synchronous runtime PM
In many cases suspending or resuming of a device is limited to
just a few register writes. Current solution assumes that those
operations may be blocking, asynchronous and take a lot of time.
Due to this assumption runtime PM API cannot be effectively used
from the interrupt context. Zephyr has few driver APIs which
can be used from an interrupt context and now use of runtime PM
is limited in those cases.

Patch introduces a new type of PM device - synchronous PM. If
device is specified as capable of synchronous PM operations then
device runtime getting and putting is executed in the critical
section. In that case, runtime API can be used from an interrupt
context. Additionally, this approach reduces RAM needed for
PM device (104 -> 20 bytes of RAM on ARM Cortex-M).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-01 15:03:42 +01:00
Andries Kruithof
b7078286d2 Bluetooth: audio: test: add test for long write
Added a test for long write, long read, and notifications

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2024-02-01 14:37:40 +01:00
Andries Kruithof
3ef1b045ce Bluetooth: audio: fix bug in scan delegator sync
In the scan delegator when modifying the source we only want to
send a sync request to the upper layers if we are not yet synced,
and not also on a state change

Note that without this change the babblesim test for long writes
will fail

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>

Scan del bugfix

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2024-02-01 14:37:40 +01:00
Andries Kruithof
c5dcc1a4ce Bluetooth: audio: bap: add support for long notifications
Add support for sending long notifications, coming
from a long read, back to the application

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2024-02-01 14:37:40 +01:00
Andries Kruithof
90a5d02710 Bluetooth: audio: bap: add support for long read
Make sure that buffers are large enough and add
semaphores so that we can do long reads

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2024-02-01 14:37:40 +01:00
Andries Kruithof
9887ebf471 Bluetooth: audio: bap: long write
Increase the buffer size to allow for long writes

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2024-02-01 14:37:40 +01:00
Daniel DeGrasse
5df4e513f7 drivers: mipi_dbi: mipi_dbi_spi: cleanup pin checks
Add cleanups to pin presence checks within the mipi_dbi SPI driver.
The cleanups now verify that GPIO and RESET pin devices are ready,
if they are present for the device instance.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 14:37:30 +01:00
Henrik Brix Andersen
1e60833836 tests: drivers: can: shell: verify can_get_core_clock() call count
Verify the call count of can_get_core_clock() after executing "can show"
shell subcommand.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-01 13:19:46 +00:00
Henrik Brix Andersen
927c7ba193 drivers: can: fake: use delegate for reporting core clock rate
Use a delegate for reporting the core clock rate of the fake CAN
driver. This allows overriding the delegate at run-time and inspecting its
call count.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-01 13:19:46 +00:00
Mateusz Holenko
516fc76f84 drivers: eth_stm32_hal: Fix compilation warnings
Promote clk_ratio_adj to double for internal calculations related to ratio
to avoid compilation warnings related to implicit conversion from float
to double.

Signed-off-by: Mateusz Hołenko <mholenko@antmicro.com>
2024-02-01 14:11:55 +01:00
Martin Åberg
f033f31728 soc/gr716a: Enable SPIMCTRL support on LEON GR716A
GR716A has two SPIMCTRL SPI controllers.

This adds the SPIMCTRL description to the DTS and makes the SPI
option available in the kernel configuration.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2024-02-01 14:06:38 +01:00
Martin Åberg
e13d4a14df drivers/spi: Add support for GRLIB SPIMCTRL
This adds support for the GRLIB SPIMCTRL SPI controller used in LEON and
NOEL-V systems. SPIMCTRL can operate in two different modes: In the
default mode it allows memory-mapped read access to the flash data. When
set in the user mode, it can be used to generate SPI bus transactions.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2024-02-01 14:06:38 +01:00
Flavio Ceolin
d4ba37739f drivers: modem/simcom: Unused variable
Make coverity happy and mark a variable as unused.

Fixes CID-248325
Fixes #58572

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-01 14:06:27 +01:00
Eve Redero
8aea0e75d2 fix: samples: lvgl: modules: add missing test case
Add missing test case for LVGL demo app "widgets".

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2024-02-01 13:29:30 +01:00
Alexander Kaiser
476a224dfa usb: host: use uint16_t for Language ID
usbh_req_desc() truncates the descriptor id. This problem is most
visible with string descriptor requests, as only then can wIndex be
greater than 0xFF. In particular, this affects commonly used language
IDs such as English (United States), which is 0x0409.

Signed-off-by: Alexander Kaiser <akaiser@urbansky.com>
2024-02-01 10:29:00 +00:00
Stine Åkredalen
fcb8fa7b02 tests: bluetooth: mesh: blob test bugfix
Added missing end marker to test instance

Signed-off-by: Stine Åkredalen <stine.akredalen@nordicsemi.no>
2024-02-01 10:28:53 +00:00
Jamie McCrae
835d78ec59 mcuboot: Use tweak version string
Replaces the default with a shorter variable of equal value

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-01 10:28:43 +00:00
Torsten Rasmussen
a306397818 version: cmake: kconfig: introduce extra <type>_VERSION_<x>_STRING
Fixes: #68360

This commit introduces <type>_VERSION_TWEAK_STRING which includes
the tweak field in the string, but without the extra version.
This format is used by MCUboot / imgtool, and thus makes it easier to
align code to the format used by MCUboot.

This commit also introduces <type>_VERSION_EXTENDED_STRING which
includes the tweak field in the string in addition to the extra version
field.

The new defines / variables is available in code, CMake, and Kconfig,
and it defined for KERNEL, APP, and custom types, such as MCUBOOT.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-01 10:28:43 +00:00
Torsten Rasmussen
738999e191 version: export tweak version in version.h
The commit export TWEAK version to code through version.h.
This aligns the symbols available in code with those available in
CMake and Kconfig.

The new define is available for both KERNEL, APP, and custom version
types (such as MCUBOOT).

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-02-01 10:28:43 +00:00
Christopher Friedt
dd33a8152a samples: philosophers: remove redundant items in prj.conf
The normal and posix philosophers samples seemed to have
a number of redundant choices in prj.conf.

Let's reduce to the minimum required for the sample. The
CONFIG_DEBUG_THREAD_INFO option is part of the
documentation, so leave it as-is.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-01 05:26:24 -05:00
Christopher Friedt
842fdbdea6 samples: posix: philosophers: fix off-by-one error
The number of forks should match the number of philophers, and
that is encoded via NUM_PHIL.

Change the build assert to match.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-01 05:26:24 -05:00
Christopher Friedt
9122e8530f samples: posix: philosophers: minor spacing corrections
Fix spacing and wrapping in the README.rst file.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-01 05:26:24 -05:00
Christopher Friedt
52b619cd2b samples: philosophers correct misspelled introduction tag
The tag 'introduction' was misspelled 'inroduction'.

Correct it both the samples/philosophers and the
samples/posix/philosophers directories.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-01 05:26:24 -05:00
Christopher Friedt
e8b178411c posix: remove unneeded option to link with posix subsys
The CONFIG_APP_LINK_WITH_POSIX_SUBSYS option was originally
present so that internal POSIX implementation headers would be
on the include path.

There is no implicit need for any app or library to include
private POSIX headers. Instead, the standard POSIX API should
be used.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-01 05:26:24 -05:00
Christopher Friedt
855b8bc6ca posix: separate shell utilities and posix api implementation
Previously, the POSIX shell utilities were intermixed with the
POSIX API implementation.

The POSIX shell utilities only depend on the public POSIX API,
so it makes sense to keep them in a separate subdirectory.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-01 05:26:24 -05:00
Daniel DeGrasse
5957da5830 dts: arm: nxp: rt1064: setup rx-clock-source for XIP flash
Setup rx-clock-source for XIP flash. When running from RAM, the FLEXSPI2
attached SIP flash will be reconfigured, so we must ensure the
configuration used for it is valid.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 10:57:35 +01:00
Daniel DeGrasse
b83d8b0707 samples: drivers: jesd216: support NXP FlexSPI NOR driver
Support NXP FlexSPI nor driver with jesd216 sample.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 10:57:35 +01:00
Daniel DeGrasse
9d7a3fb647 drivers: flash: flash_flexspi_nor: support SFDP probe
Support SFDP probe in flexspi nor driver. This probe will allow the
flash driver to dynamically configure quad spi flashes for 1-4-4 mode,
expanding the flash chips supported with this driver.

The following data is read from the SFDP header:
- quad enable method
- fast read command (1-4-4 is maximum supported)

Fixes #55379

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 10:57:35 +01:00
Daniel DeGrasse
a10fee2d5e drivers: clock_control: ccm_rev2: add support for reclocking FlexSPI
Add support for reclocking flexspi in ccm_rev2 driver. Clock update
functions are provided for the RT11xx.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 10:57:35 +01:00
Daniel DeGrasse
f81113e948 drivers: clock_control: add support for FlexSPI reclock on NXP iMX RT10XX
Add support for reclocking the FlexSPI on NXP iMX RT10XX. This
functionality requires an SOC specific clock function to set
the clock rate, since the FlexSPI must be reset directly
before applying the new clock frequency.

Note that all clock constants are defined in this commit, since the
memc flexspi driver now depends on a clock node being present.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 10:57:35 +01:00
Emil Gydesen
e92e4c249d Bluetooth: Audio: Update return value of {cfg,cap}_get_val
The get_val functions will now return -ENODATA in case that
a value isn't found, instead of 0.

This makes them more similar to the meta_get_val functions.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-01 10:55:31 +01:00
Fredrik Danebjer
c948f831e0 Bluetooth samples: Add USB Audio to Broadcast Sink sample
Added USB Audio output for the Broadcast Sink sample. In addition
offloading of the LC3 codec was also made. The sample supports only
mono, and a KConfig option was added to configure which audio
location to sync to.

Signed-off-by: Fredrik Danebjer <frdn@demant.com>
2024-02-01 10:55:24 +01:00
Angelo Dureghello
4fe3a8827f boards: add support for eval-adin2111ebz
Add support for ADI EVAL-ADIN2111EBZ.

Tested samples:
      * hello_world
      * blinky
      * dhcpv4_client

Co-developed-by: Philip Molloy <pmolloy@baylibre.com>
Signed-off-by: Philip Molloy <pmolloy@baylibre.com>
Signed-off-by: Angelo Dureghello <adureghello@baylibre.com>
2024-02-01 10:55:06 +01:00
Angelo Dureghello
6d387b3fd5 boards: add support for eval-adin1110ebz
Add support for ADI EVAL-ADIN1110EBZ.

Tested samples:
      * hello_world
      * blinky
      * dhcpv4_client
      * adt7420

Tested proper SPI detection of the ADIN1110 chip.

Co-developed-by: Philip Molloy <pmolloy@baylibre.com>
Signed-off-by: Philip Molloy <pmolloy@baylibre.com>
Signed-off-by: Angelo Dureghello <adureghello@baylibre.com>
2024-02-01 10:55:06 +01:00
Lars Knudsen
b77df76e98 samples: Add Broadcast Assistant sample
First version of Broadcast Assistant sample
with hard coded selection of sink and source.

Signed-off-by: Lars Knudsen <LAKD@demant.com>
2024-02-01 10:54:56 +01:00
Arkadiusz Cholewinski
9cd0ad0ae4 ci: codecov: stick with gcovr 6.0 for now
gcovr 7.0 has some incompatible format, stick with 6.0 for now.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2024-02-01 10:39:20 +01:00
Harshit Agarwal
15b4975386 boards: riscv: mpfs_icicle: enable system-controller spi flash
Microchip's PolarFire SoC interface with on-board spi
nor flash via system controller. This on-board spi nor flash can be
used to store FPGA design bitstream's.

Signed-off-by: Harshit Agarwal <harshit.agarwal@microchip.com>
2024-02-01 04:33:16 -05:00
Harshit Agarwal
785d349de2 drivers: fpga: add Microchip PolarFire SoC FPGA driver
Add FPGA driver support for Microchip PolarFire SoC.

Signed-off-by: Harshit Agarwal <harshit.agarwal@microchip.com>
2024-02-01 04:33:16 -05:00
Harshit Agarwal
f4a8ec3f93 dts: mbox: add PolarFire SoC mailbox interface
Add Microchip's PolarFire SoC mailbox node.

Signed-off-by: Harshit Agarwal <harshit.agarwal@microchip.com>
2024-02-01 04:33:16 -05:00
Harshit Agarwal
ccb2a0df04 dts: riscv: add PolarFire SoC system controller QSPI interface
Add support for Microchip's PolarFire SoC system controller QSPI
interface.

Signed-off-by: Harshit Agarwal <harshit.agarwal@microchip.com>
2024-02-01 04:33:16 -05:00
Flavio Ceolin
417c18c974 tests: posis/fs: close only valid descriptor
Only call close() if open() has not returned a negative
value.

Fixes CID 211585

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-01 02:54:19 -05:00
Daniel Leung
a053c55c40 boards: x86: more stack space for qemu_x86_tiny@768
qemu_x86_tiny@768 has coverage enabled by default. Because of
this, it requires more stack space for running tests.
The increases needed are verified via twister.

Fixes #68272

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-01 00:32:57 -06:00
Kevin Wang
03a2dcf4b1 drivers: dma: atcdmac300: Update driver for bug 68129
1. Remove redundant include, <soc.h> is not needed.
2. Fix some wrong MACRO defined

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2024-01-31 23:19:39 -06:00
Emil Gydesen
6c403da3cd Bluetooth: Audio: Shell: CAP change volume offset command
Add sthe change volume offset command to the CAP commander shell.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:35:17 -05:00
Emil Gydesen
e0f3524e3d tests: Bluetooth: CAP Commander Change Volume Offset unittests
Adds unittests for the CAP COmmander Change Volume Offset
procedure.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:35:17 -05:00
Emil Gydesen
8459560448 tests: bsim: Bluetooth: CAP Commander Change Volume Offset
Adds bsim test of the CAP Commander Change Volume Offset
procedure.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:35:17 -05:00
Emil Gydesen
4be42784ea Bluetooth: CAP: Commander change volume offset procedure
Adds the CAP Commander Change Volume Offset procedure.
This procedure changes the volume offset on one or more
CAP Acceptors, but not to the same value (unlike the
volume change procedure).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:35:17 -05:00
Emil Gydesen
562166b685 Bluetooth: MICP: Allow for multiple mic_ctrl cb registers
Modify the MICP microphone controller callbacks to support
multiple registers by making it into a linked list.

This allow for multiple applications to get the information
from procedures or notifications.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:35:00 -05:00
Aaron Massey
b3c643b7ee MAINTAINERS: Remove aaronemassey add GRobertZieba
Aaron Massey (aaronemassey - Google) doesn't have the cycles to remain a
maintainer on the charger subsystem. Robert Zieba (GRobertZieba - Google)
has been participating as a collaborator for the charger subsystem.

Remove aaronemassey as a maintainer of the charger subsystem and add
GRobertZieba as a collaborator.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2024-01-31 21:34:42 -05:00
Emil Gydesen
029afad6c1 Bluetooth: CSIP: Add bt_csip_set_member_unregister
Add support for unregistering a CSIS as the CSIP set member.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:34:27 -05:00
Emil Gydesen
1da84e99aa Bluetooth: MPL: Fix track position in playing and stopped state
In the playing state, we should still increment the track position,
but just avoid notifying it.

If the track is stopped, then we set the track position to 0, which
we should always notify, regardless of whether the current track position
is 0.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:34:12 -05:00
Emil Gydesen
01d0f1a566 Bluetooth: PBP: Fix parsing and return issue with bt_pbp_parse_announcement
bt_pbp_parse_announcement was defined as uint8_t return value function,
but returned errno values, so it was modified to return an int instead.
The return values are also now more granular and documented.

The function also triggered a coverity issue with the way that it
parsed the data->data, as it would be marked as tainted. This should
be fixed by using the net_buf_simple API, which also improves on
some other parts of the code.

Finally the meta argument for the function was changed from an
unknown sized buffer, where the caller somehow had to know the
size of the metadata before calling the parsing function, to
an output pointer. This also omits the requirement for the
caller to always copy the metadata, where now it just
gets a pointer to the metadata in the bt_data struct. The application
can now always decide whether to continue to parse the metadata or
to copy it, using the pointer and the return value of the function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 21:33:56 -05:00
Fabio Baltieri
044529d0cd charger: bq25180: implement online and status properties
Implement CHARGER_PROP_ONLINE and CHARGER_PROP_STATUS for the bq25180
driver.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-31 17:59:50 -06:00
Fabio Baltieri
63cdde10d3 charger: bq25180: reuse bq25180_set_charge_current for the initial set
Reuse bq25180_set_charge_current for the initial setting of the charging
current.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-31 17:59:50 -06:00
Emil Gydesen
13a357b019 Bluetooth: BAP: Update log for unicast iso recv without endpoint
Since we always set up the ISO data path for endpoints in both
directions (due to limitations in the ISO API), we can actually
receive valid (empty) SDUs on a CIS in a direction that has not
been configured.

This is not the ideal solution, but prevents unncessary LOG_ERR.
The ideal solution is to modify the ISO API to provide the
flexibility that BAP needs w.r.t. ISO data paths, but that is
a larger change for later.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 17:58:58 -06:00
Emil Gydesen
8b8569e1da Bluetooth: BAP: Add missing reset of client on disconnected
If we disconnect in the middle of e.g. a discovery, then
client-busy (and other values) were not correctly reset,
which effectively rendered the client useless.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 17:57:28 -06:00
Pisit Sawangvonganan
055ac61542 wifi: shell: replace print(...) with PR(...)
Additionally, replace the local print(sh, level, fmt, ...) macros
with PR, PR_ERROR, and PR_WARNING macros.

Then remove the print(sh, level, fmt, ...) macros.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-31 15:15:19 -06:00
Pisit Sawangvonganan
81342132fb wifi: shell: refactor to use PR(...) from "net_shell_private.h"
Replaced direct shell_fprintf calls with PR, PR_ERROR, PR_INFO
and PR_WARNING macros.

This change simplifies the code by using predefined macros.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-31 15:15:19 -06:00
Pisit Sawangvonganan
10939c7a02 wifi: shell: move "scan_result" variable into context struct
Moved 'scan_result' from a standalone variable into the 'context' struct
to enhance code optimization.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-31 15:15:19 -06:00
Pisit Sawangvonganan
a8a39231e7 wifi: shell: introduce local 'sh' variable
This commit introduces a local variable 'sh' to store 'context.sh' for
use with the 'shell_fprintf' function.

By doing so, we avoid the repeated dereferencing of 'context.sh',
thereby reducing the code footprint.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-31 15:15:19 -06:00
Kristoffer Rist Skøien
ace435d0d1 Bluetooth: Audio: Moved seq_num check
Moved seq_num check to after bt_iso_chan_send.
This prevents WRN prints if ISO send fails.

Signed-off-by: Kristoffer Rist Skøien <kristoffer.skoien@nordicsemi.no>
2024-01-31 15:13:10 -06:00
Marco Widmer
2e001dda6b rtio: Fix unused argument
When compiling with CONFIG_RTIO_SYS_MEM_BLOCKS=n, rtio.h causes unused
argument warnings. Align the implementation of rtio_block_pool_free with
rtio_block_pool_alloc and add ARG_UNUSED() statements for the arguments.

Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
2024-01-31 22:12:36 +01:00
Navinkumar Balabakthan
253003d737 doc: releases: shared_irq changes added in doc
shared_irq api changes updated in migration-guide-3.6.

Signed-off-by: Navinkumar Balabakthan <navinkumar.balabakthan@intel.com>
2024-01-31 13:47:39 -06:00
Navinkumar Balabakthan
a8490c3c3e drivers: interrupt_controller: changes in shared irq
Updated the shared IRQ handler function in the shared interrupt controller
drivers to include support for the 'irq_number' parameter. When a single
driver manages multiple shared IRQs, it becomes challenging to determine
which IRQ line is invoking the handler. Therefore, I've introduced an
option to share the IRQ number to address this issue.

Signed-off-by: Navinkumar Balabakthan <navinkumar.balabakthan@intel.com>
2024-01-31 13:47:39 -06:00
Anas Nashif
a1e03d079a console: winstream: define as a proper console
eb2e5de01c made this a console driver but without adding the needed
hooks. This adds the hooks to support the console interface.

Fixes #65987
Fixes #66264

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-31 19:19:19 +01:00
Anas Nashif
8b80a2fd04 drivers: dma: andes: remove soc.h inclusion
Not needed or present soc.h

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-31 18:22:10 +01:00
Anas Nashif
2dbd9e5ecf tests: dma: fix DT node label, avoid conflicts
Simple rename of node label from test_dma to tst_dma to avoid conflicts
and confusion about the test_ prefix when parsing test results in
twister.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-31 18:22:10 +01:00
Vinayak Kariappa Chettimada
2a6169e2fe Bluetooth: Controller: Fix coverity issue 340852
Fix coverity issue 340852, Uninitialized scalar variable.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-31 18:21:59 +01:00
Aleksander Wasaznik
9426309dbe Bluetooth: Host: Refactor bt_buf_get_evt
This is purely a syntactical refactor.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-01-31 17:50:35 +01:00
Aleksander Wasaznik
b6a10516b0 Bluetooth: Host: Remove bt_buf_get_cmd_complete
After the previous commit, this function no longer has any users.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-01-31 17:50:35 +01:00
Aleksander Wasaznik
1cb83a81f0 Bluetooth: Host: Remove use of bt_buf_get_cmd_complete
`bt_buf_get_cmd_complete` is broken due to
https://github.com/zephyrproject-rtos/zephyr/issues/64158, and fixing it
would require changing its signature and put even more complexity into
the HCI drivers, as it would require the drivers to perform an even
deeper peek into the event in order to observe the opcode.

Instead of the above, this patch removes the use of
`bt_buf_get_cmd_complete` and adds logic to allow the host to accept
command complete events in normal event buffers.

The above means performing a copy into the destination buffer, which is
the original command buffer. This is a small inefficiency for now, but
we should strive to redesign the host into a streaming architecture as
much as possible and handle events immediately instead of retaining
buffers.

This fixes https://github.com/zephyrproject-rtos/zephyr/issues/64158:
Like all command completed events, the completion event for
`BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS` is now placed in normal event
buffers. The the logic where the host discards this event is already
present. Since it's discarded, it will not interfere with the logic
around `bt_dev.cmd_send`.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-01-31 17:50:35 +01:00
Aleksander Wasaznik
df5548dddb Bluetooth: Host: Remove overspecifying test for bt_buf_get_evt
The next commit will change the behavior of `bt_buf_get_evt` to no
longer use `bt_buf_get_cmd_complete`. We have to remove the test that
would prevent this.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-01-31 17:50:35 +01:00
Jeff Welder
59a87038df drivers: veml7700: Add white channel
Add the white light channel to the
veml7700 sensor to allow for correction
of light sources with strong infrared
content.

Signed-off-by: Jeff Welder <Jeff.Welder@ellenbytech.com>
2024-01-31 10:44:33 -06:00
Dino Li
a059da947c soc/it8xxx2: add support for raising EC bus to 24MHz
This change was made to reduce read/write EC registers latency.
Without enabling CONFIG_SOC_IT8XXX2_EC_BUS_24MHZ:
- Read EC register 64 times takes 80us latency.
- Write EC register 64 times takes 60us latency.
With enabling CONFIG_SOC_IT8XXX2_EC_BUS_24MHZ:
- Read EC register 64 times takes 40us latency.
- Write EC register 64 times takes 30us latency.

Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
2024-01-31 16:43:46 +00:00
Dawid Niedzwiecki
d1ad180567 ec_host_cmd: improve handling IN_PROGRESS commands
Add the ec_host_cmd_send_in_progress_continue function which allows
continuing execution of a handler, while the ec_host_cmd thread is not
blocked and new commands can be handled.

That means some long command handlers can executed in the background
while the Host Command subsys is not frozen.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-01-31 10:34:47 -06:00
Stine Åkredalen
a1b9f0a7d6 Bluetooth: Mesh: fix SRPL always accepting sol pdus with sseq 0
Updated logic in srpl_entry_save.

Signed-off-by: Stine Åkredalen <stine.akredalen@nordicsemi.no>
2024-01-31 10:34:06 -06:00
Stine Åkredalen
d5b68bad12 tests: Bluetooth: Mesh: add proxy solicitation bsim test
* Test that beacon is received after solicitation
* Test for replay attack

Signed-off-by: Stine Åkredalen <stine.akredalen@nordicsemi.no>
2024-01-31 10:34:06 -06:00
Daniel DeGrasse
0fc0c0fe3f docs: migration-guide-3.6: Add note about migrating ILI9XXX displays
Add note describing required devicetree changes to migrate ILI9XXX based
displays to use new MIPI DBI SPI driver, instead of directly using the
SPI API.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-31 16:01:45 +00:00
Daniel DeGrasse
3dbbb73319 drivers: display: ili9xxx: convert to MIPI DBI API
Convert ili9xxx display drivers to use MIPI DBI API. Due to the fact
this change requires a new devicetree structure for the display driver
to build, required devicetree changes are also included in this commit
for all boards and shields defining an instance of an ili9xxx display.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-31 16:01:45 +00:00
Daniel DeGrasse
571de47e16 drivers: mipi_dbi: add SPI based MIPI DBI mode C driver
SPI controllers can easily implement MIPI DBI mode C, with the help of
GPIO pins for the reset and command/data signals. Introduce a MIPI DBI
compliant SPI driver, which emulates MIPI DBI mode C (SPI 3 and 4 wire).

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-31 16:01:45 +00:00
Daniel DeGrasse
1074fbd91e doc: hardware: add peripheral documentation for MIPI DBI
Add documentation for MIPI DBI peripheral class

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-31 16:01:45 +00:00
Daniel DeGrasse
3ab6572856 drivers: mipi_dbi: introduce MIPI DBI driver class
Introduce MIPI DBI driver class. MIPI DBI devices encompass several
interface types. All interfaces have a data/command, reset, chip select,
and tearing effect signal

Beyond this, MIPI DBI operates in 3 modes:

Mode A- 16/8 data pins, one clock pin, one read/write pin. Similar to
Motorola type 6800 bus

Mode B- 16/8 data pins, one read/write pin. Similar to Intel 8080 bus

Mode C- 1 data output pin, 1 data input pin, one clock pin.
Implementable using SPI peripheral, or MIPI-DBI specific controller.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-31 16:01:45 +00:00
Daniel DeGrasse
027549b824 include: drivers: mipi_dsi: split MIPI DCS values into separate header
Split MIPI DCS values into a separate header. This aligns with the way
that Linux handles MIPI DCS values, since these are not specific to DSI
hosts.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-31 16:01:45 +00:00
Manuel Schappacher
6fc6b30fb3 net: gptp: Fix double converted byte order of BMCA info steps_removed
Fixes #68320

Signed-off-by: Manuel Schappacher <manuel.schappacher@hs-offenburg.de>
2024-01-31 15:53:06 +00:00
Fabio Baltieri
354527f17b MAINTAINERS: drop few "area: Sensors" from modules
Few west areas are paired with the sensor labels right now, this causes
the issue assignee workflow to assign sensor issues to the maintainers
of these areas as well.

Drop those areas from the maintainer file, they should get some
different label if needed.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-31 15:52:56 +00:00
Vinayak Kariappa Chettimada
e3357ef271 Bluetooth: Controller: Minor indentation of RXFIFO_DEFINE
Minor indentation of RXFIFO_DEFINE.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-31 15:52:47 +00:00
Vinayak Kariappa Chettimada
eb5ce8bfe0 Bluetooth: Controller: Fix RXFIFO_DEFINE to reduce FLASH usage
Fix RXFIFO_DEFINE to reduce FLASH usage by moving the pool
outside the struct that is static initialized.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-31 15:52:47 +00:00
Andrzej Głąbek
eb78b71914 soc: arm: nordic_nrf: Clean up and unify a bit cmake code
Consistently use `zephyr_library*` cmake functions for all nRF Series
and set the Cortex-M linker script in a common place for all of them.
Remove no longer needed include directories.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-01-31 09:40:48 -06:00
Dominik Ermel
d30265b2cf doc/release: Add note on removed Flash Map API macros
Note on removal of deprecated Flash Map API macros:
 - FLASH_AREA_LABEL_EXISTS()
 - FLASH_AREA_LABEL_STR()
 - FLASH_AREA_ID()
 - FLASH_AREA_OFFSET()
 - FLASH_AREA_SIZE()

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-01-31 09:08:12 -06:00
Dominik Ermel
4521c8ec2b storage/flash_map: Retire macros deprecated in release 3.2
The commit removes macros:
 - FLASH_AREA_LABEL_EXISTS()
 - FLASH_AREA_LABEL_STR()
 - FLASH_AREA_ID()
 - FLASH_AREA_OFFSET()
 - FLASH_AREA_SIZE()

That have been marked deprecated in release 3.2, by commit:
 54db76b4cd storage/flash_map: Deprecate FLASH_AREA_ macros

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-01-31 09:08:12 -06:00
Armando Visconti
e26cd0ba91 sample/shield: x-nucleo-iks01a3: add support to lis2de12 on DIL24
The x-nucleo-iks01a3 shield is equipped with a DIL24 socket where
different compatible sensors may fit. This commit add support to
lis2de12 on DIL24 in such a way that, if sensor is not present, test
would just skip it and proceed. Other sensors may be added in future.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-31 15:39:45 +01:00
Armando Visconti
4828340b92 drivers/sensor: add support to LIS2DE12 accelerometer
The LIS2DE12 is an ultra-low-power high- performance three-axis
linear accelerometer belonging to the “femto” family with digital
I2C/SPI serial interface standard output.

This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/en/datasheet/lis2de12.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-31 15:39:45 +01:00
Armando Visconti
dadac5d0ce drivers/sensor: stmemsc: add new sets of i2c/spi APIs
Add APIs to:

    1. read/write sensor regs on i2c/spi bus enabling adrress
       auto-increment in a stmemsc specific way.
    2. read/write sensor custom APIs.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-31 15:39:45 +01:00
Armando Visconti
6d65738126 dts/bindings/sensor: lis2du12: fix macros typos
Fix few macros typos.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-31 15:39:45 +01:00
Gerard Marull-Paretas
ec9dc5d739 scripts: west: runners: nrf: fix UICR check
uicr_ranges dictionary entries did not contain the `_FAMILY` suffix, now
used by self.family variable, resulting in an always false check.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-31 15:38:06 +01:00
Kevin Wang
c181dcced4 drivers: spi: Support dma mode for atcspi200
1. Support the dma mode for andes_atcspi200
   and use board adp_xc7k_ae350 for testing.
2. Refine the function mechanism.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2024-01-31 15:03:28 +01:00
Kevin Wang
a02011bac6 drivers: spi: Refine some coding style for andes_atcspi200
1. Remove the redundant code.
2. Use sys_set_bits and sys_clear_bits instead of customized MACRO.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2024-01-31 15:03:28 +01:00
Najumon B.A
62b2af70ba tests: lib: acpi: add fake x86 acpi function
add fake x86 acpi function and config macros for acpi unit test

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
6e7f50d7aa docs: rename intel,pcie compatible id to pcie-controller
rename intel,pcie compatible id referance to pcie-controller in
header file comments and rst files

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
359e5839fe tests: lib: acpi: update test cases for dev and resource enum
update acpi test cases with device enumeration, mmio and irq
resources enumeration.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
f3d3be5297 tests: remove pci bus compatible id dependency from overlay files
remove pci bus compatible id dependency from qemu platforms overlay
files for disk and ivshmem test apps. This already provided as part of
respecitve board dts files and hence no need to duplicate here.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
8b3bd500cd dts: rtc: mc146818: add acpi hid support in yaml file
add acpi hid support for mc146818 yaml file. Currently this added
for acpi test case support.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
9d6a0ceeab lib: acpi: add resource enumeration shell command
add resource enumeration and acpi method shell commands such as
retrieve mmio and interrupt resources.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
34a2fbfba1 drivers: pci: update prt retrieve based on pnp id
update prt retrieve based on acpi pnp id instead of acpi device
path/name

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
940c66f82e boards: x86: add pci controller node with acpi pnp id
add acpi pnp/hw id for pcie node to enable support for retreive
interrupt routing information for pci legacy interrupt via acpi

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
2f3fb49d76 lib: acpi: add device resource enum support
add device resource enumaration support such as irq and mmio.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
dd9e0df06b arch: x86: add interface for encode irq flags
add interface for encode irq flags from acpica to arch specfic.
Currently enabled only for x86 archiecture.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
08c0b98eef manifest: update west point to latest acpica commit
update west to latest acpica commit for timer interface changes

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Najumon B.A
b5a9e8b031 arch: x86: add a sperate timer interface for acpica lib
add a separate timer interface for acpica lib instead of using
system timer which might use driver interface such as HPET and this
might cause init priority issue if a driver which need to init
before system timer driver instantiate.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-01-31 15:03:06 +01:00
Łukasz Duda
5273af6ba8 net: ipv6: nbr: Add IPv6 reachability confirmation API
This commit introduces a new IPv6 API for positive reachability
confirmation, as specified in RFC 4861, Section 7.3.1. This feature aims
to enhance the effectiveness of the Neighbor Discovery mechanism, by
enabling upper-layer protocols to signal that the connection makes a
"forward progress".

The implementation within TCP serves as a reference. Compliance with
RFC 4861, especially Appendix E.1, was ensured by focusing on reliable
handshake and acknowledgment of new data transmissions.

Though initially integrated with TCP, the API is designed for broader
applicability. For example, it might be used by some UDP-based protocols
that can indicate two-way communication progress.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2024-01-31 14:50:53 +01:00
Gerard Marull-Paretas
e57ad265fb dts: bindings: misc: add nordic-nrf-ficr-client
So that FICR clients can include this file instead of redefining FICR
properties every time.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-31 13:40:59 +00:00
Gerard Marull-Paretas
ed0fc03f67 dts: bindings: arm: nordic,nrf-ficr: add #nordic,ficr-cells
Add a new #nordic,ficr-cells property, so that we can specify a FICR
offset in a phandle-array, e.g.

  nordic,ficrs = <&ficr 0xff>;

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-31 13:40:59 +00:00
Gerard Marull-Paretas
6ec2dbf8ee dts: bindings: nordic,nrf-ficr: move to misc folder
It's not related to ARM.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-31 13:40:59 +00:00
Vinayak Kariappa Chettimada
daf7c80c15 tests: bsim: Bluetooth: CAP broadcast AC testing updates
Update testing of the Audio Configurations from the BAP
spec using the CAP API.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-31 13:45:23 +01:00
Anas Nashif
197336c83f ci: codecov: stick with gcovr 6.0 for now
gcovr 7.0 has some incompatible format, stick with 6.0 for now until we
have a compatible solution with gcovr 7.0 output.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-31 07:17:18 -05:00
Jukka Rissanen
b03c3c0c48 net: socket: Start service thread from initialization function
We cannot always start the service monitor thread statically
because the static threads are started after the application
level. This means that when config library wants to start
dhcpv4 server which uses socket services, there would be a
deadlock. Simplest solution is to start the service thread
directly from socket service init function.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-31 12:06:49 +00:00
Robert Lubos
5a08fea48e tests: net: dhcpv4_server: Add test to verify initialization
Add test that verifies that initialization fails if wrong arguments are
provided.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-31 12:06:23 +00:00
Robert Lubos
a147ac9a47 net: dhcpv4_server: Improve address pool range validation
Not only check if the address pool belongs to the same subnet as the
server, but also that it does not overlap with the server address -
otherwise the server might end up assigning its own address.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-31 12:06:23 +00:00
Mykola Kvach
a08604c631 boards: arm64: enable ARMV8_A_NS by default for R-Car boards
We need to enable this configuration for all R-Car ARM64 boards.
First and foremost, we definitely should run Zephyr on the boards
in the NS-EL1 state. The EL3 is used for TF-A, EL2 is used for
U-Boot, and Xen in the case when we run Zephyr as Dom-0. The S-EL1
is used for OP-Tee, and S-EL0 is used for OP-Tee apps.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-01-31 12:06:17 +00:00
Emil Gydesen
b173c21d9c Bluetooth: BAP: client: Add support for source ASEs disconnects
When the CIS of a source ASE disconnects, the server shall put
it into the QoS Configured state, which is not really part of the
state machine for source ASEs, but more like a hidden bonus state
change.

The state machine handler in the unicast client has been updated
to support this state change.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-31 12:05:47 +00:00
Naga Sureshkumar Relli
8db7178870 boards: riscv: Add spi flash to Polarfire SOC icicle board
On the Polarfire SOC Icicle Kit the SPI pins are routed to MikroBus.
Enable SPI by default.

Signed-off-by: Naga Sureshkumar Relli <nagasuresh.relli@microchip.com>
2024-01-31 06:36:21 -05:00
Naga Sureshkumar Relli
4d6a8bc65a drivers: spi: Add support for Polarfire SOC SPI
Add driver for the Microchip Polarfire SOC MSS SPI controller.
The interrupts of the MSS SPI are routed through PLIC(Platform level
interrupt controller).

Tested with generic spi-nor flash driver(spi_flash) with both Fixed
flash configuration and Read flash parameters at runtime(using SFDP).

Signed-off-by: Naga Sureshkumar Relli <nagasuresh.relli@microchip.com>
2024-01-31 06:36:21 -05:00
Naga Sureshkumar Relli
c5818d4b3f dts: riscv: introduce Polarfire SOC SPI interface
Add support for the Microchip Polarfire SOC SPI interface.

Signed-off-by: Naga Sureshkumar Relli <nagasuresh.relli@microchip.com>
2024-01-31 06:36:21 -05:00
Gaetan Perrot
19700040af doc: posix: mark sched_setparam & sched_setscheduler as supported
`sched_setparam()` and `sched_setscheduler()` is now implemented,
mark it so.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-01-31 11:16:26 +01:00
Gaetan Perrot
c6c99245f6 posix: sched: Implement tests for set APIs for scheduling parameters
Implement tests for `sched_setparam()` and `sched_setscheduler()` .
Both functions are actually placeholders and just return `ENOSYS`
since Zephyr does not yet support processes or process scheduling.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-01-31 11:16:26 +01:00
Gaetan Perrot
8a6c745e9f posix: sched: Implement set APIs for scheduling parameters
Implement `sched_setparam()` and `sched_setscheduler()` POSIX APIs
as a part of PSE53 `_POSIX_PRIORITY_SCHEDULING` option group.
Both functions are actually placeholders and just return `ENOSYS`
since Zephyr does not yet support processes or process scheduling.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-01-31 11:16:26 +01:00
Filip Kokosinski
e08a77c8fe dts/riscv/efinix: add the efinix,vexriscv-sapphire compatible string
This commit adds the `efinix,vexriscv-sapphire` compatible string. This
helps identify the core type from the final devicetree alone.

The VexRiscv core configuration is specific to the Efinix Sapphire SoC.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
0458ac064c dts/riscv/openisa: add compatible strings for the RI5CY cores
This commits adds two new compatible strings:
* `openisa,ri5cy`
* `openisa,zero-ri5cy`

Adding these two new compats help identify the specific core defined by the
cpu node from the devicetree alone.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
6297f3640f dts/riscv/andes: add andestech,andescore-v5 compatible string
This commit adds the `andestech,andescore-v5` compatible string. This helps
identify the core tpye form the final devicetree alone.

Andes doesn't define which core type from the v5 series the AE350 SoC uses,
so we're using the whole series name here.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
f80347ec95 dts/riscv/lowrisc: add lowrisc,ibex compatible string
The OpenTitan Earlgrey SoC has the lowRISC Ibex CPU core. This commits adds
the `lowrisc,ibex` compatible string to reflect that.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
b5859ece4d dts/riscv/microchip: add missing cpu nodes compats in mpfs.dtsi
The cores used in the `mpfs.dtsi` file are:
* 1x SiFive E51 (RV32)
* 4x SiFive U54 (RV64)

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
a3a4bf915b dts/riscv/litex: add litex,vexriscv-standard compatible string
This commit adds the `litex,vexriscv-standard` compatible string. This
helps identify the core type from the final devicetree alone.

The VexRiscv core version is defined in this repository:
https://github.com/litex-hub/zephyr-on-litex-vexriscv.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
28c7674c66 dts/riscv: add riscv compatible string where it's missing
This commit adds the `riscv` compatible string to cpu nodes where it is
currently missing. This is convention is already followed by some cpu
nodes.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
17670be2cc dts/riscv: remove the timebase-frequency property
The `timebase-frequency` is not defined by any of the YAML binding files.
There was a discussion in #37420 to add this property, but in the end it
was rejected. This resulted in the #37685 feature request being created.

As of now, this property is not documented anywhere so this commit removes
it from the RISC-V devicetrees, as RISC-V is the only architecture that is
currently defining it - and even in RISC-V not all platforms do that.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Filip Kokosinski
c592690649 dts/bindings: move RISC-V cores bindings to dts/bindings/cpu/
This commit moves the bindings of RISC-V cores from `dts/bindings/riscv` to
`dts/bindings/cpu`. This change aligns the bindings of RISC-V cores with
other architectures.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-31 10:41:49 +01:00
Sven Ginka
69d7c2a684 device-tree: sam_70_xplained: added config for qdec
the device tree offers a default config (qdec0) for 1x qdec at TC0,
however does not offer a default config for qdec1 - qdec3.
this will be added with this commit. Fixes #65610

Signed-off-by: Sven Ginka <sven.ginka@gmail.com>
2024-01-31 10:41:42 +01:00
Sven Ginka
11c83e7983 west.yml: update hal_atmel to include qdec SAME70b fix
This update fixes the qdec in SAME70b, which could not be compiled prior to
this fix, due to missing TC_CMR definitions. Moreover it fixes #65432.

Signed-off-by: Sven Ginka <sven.ginka@gmail.com>
2024-01-31 10:41:42 +01:00
Jonathan Rico
b3e67cf2a6 Bluetooth: L2CAP: document error values of bt_l2cap_chan_send()
They're still subject to change.
At least now the users have some idea of what's happening.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-31 09:06:08 +01:00
Abhinav Srivastava
52485876f0 posix: Add tests for stropts
Add tests, Fix config issues, Re-add Timer

Signed-off-by: Abhinav Srivastava <atg271@gmail.com>
2024-01-31 09:05:50 +01:00
Abhinav Srivastava
93e9491dd9 posix: putmsg implementation and configurations
Add needed KConfig, CMakeList and Stropts.c

Signed-off-by: Abhinav Srivastava <atg271@gmail.com>
2024-01-31 09:05:50 +01:00
Abhinav Srivastava
88568a3283 posix: add headers for stropts
Minimal header for stropts

Signed-off-by: Abhinav Srivastava <atg271@gmail.com>
2024-01-31 09:05:50 +01:00
Lukasz Mrugala
cdcb853a98 scripts: pylib: twister: Fix --save-tests help
As saving tests writes to file, rather than appending to it,
we should indicate that in the --save-tests help.
--load-tests help changed so its grammar is the same as --save-tests's.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-31 09:05:41 +01:00
Benjamin Cabé
69787dad17 doc: Clean up list of Fedora dependencies
Fixed several issues with the install instructions for Fedora:

- removed packages that are already pulled by "Development Tools" and "C
  Development Tools and Libraries" groups
- added missing "which" package needed for SDK installation script
- added python3-devel package (needed for some of the Python requirements)
  and install python3 instead of a fixed python38

Tested on a vanilla Fedora 39 Docker image.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-01-30 20:39:41 -05:00
Lukasz Mrugala
1826e22334 .github: workflows: Add test trigger for pytest harness
Pytest twister harness tests have been added to the
twister_tests.yml workflow some time ago.

However, the $ZEPHYR_BASE/scripts/pylib/pytest-twister-harness/**
has not been monitored by the automatic GitHub Action triggers
of that workflow.

This change adds monitoring for the relevant files.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-30 20:38:07 -05:00
Mykola Kvach
739ec3072b drivers: serial: add missed binding for xen dom0 consoleio driver
Add missed binding and appropriate changes for Xen Dom0/Dom0less
UART driver.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-01-30 18:52:13 -05:00
Jordan Yates
651ffb1d06 tests: build_all: modem: test compilation with connectivity
Ensure WiFi modems still build with the `CONNECTIVITY_WIFI_MGMT`
connectivity backend enabled.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-30 18:51:46 -05:00
Jordan Yates
ef21569ac9 wifi: conn_mgr connectivity bindings
Bind WiFi network devices to the generic WiFi connectivity backend if
the appropriate option is set.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-30 18:51:46 -05:00
Jordan Yates
9ff1fcf7e7 net: conn_mgr: generic wifi_mgmt connectivity backend
As connectivity backends need to be bound in the same file that the
`net_if` is created in, define a common backend type for WiFi modems.
All WiFi modems should be controllable through the `wifi_mgmt` API, so
there should be no need for dedicated context.

When enabled, the particular implementation to be used is chosen through
`CONNECTIVITY_WIFI_MGMT_IMPL`. For now, the only choice is an
application defined backend.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-30 18:51:46 -05:00
Jordan Yates
0dcb0518be ci: update Github actions versions
Update Github actions to their latest versions to fix the following
warnings on runs:
```
Node.js 16 actions are deprecated. Please update the following actions
to use Node.js 20: actions/checkout@v3, actions/cache@v3,
actions/upload-artifact@v3. For more information see:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
```

`actions/checkout` and `actions/cache` are straight Node version
upgrades, `actions/upload-artifact` and `actions/download-artifact` have
breaking changes, but don't appear to affect our usage.
https://github.com/actions/upload-artifact

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-30 18:51:12 -05:00
Alberto Escolar Piedras
ed2e7eaefe doc: releases: migration-guide: 3.6: Add note on SOURCE macros
Warn users about the SOURCE macros not being defined globally anymore
and them needed to set them if they need them.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-30 18:50:27 -05:00
Alberto Escolar Piedras
7d1b3bc083 doc: release-notes: native targets related updates
Add to the 3.6 release notes the native targets related
updates.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-30 18:50:27 -05:00
Alberto Escolar Piedras
7de2fadaa3 doc: release-notes: Mention removal of global SOURCE definitions
Mention that we do not define these macros globally anymore

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-30 18:50:27 -05:00
Pisit Sawangvonganan
d54e027a38 dts: bindings: more typo correction and wording enhancement
This change reflects further corrections and suggestions
from @ajarmouni-st.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
9888db155b dts: bindings: fix typo in (adc, arm)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/adc and arm.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
13f8cece6c dts: bindings: fix typo in (bluetooth, can, dac, display)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/bluetooth, can, dac and display.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
f0f1ba0610 dts: bindings: fix typo in (ethernet, gpio, i2c, interrupt-controller)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/ethernet, gpio, i2c and
interrupt-controller.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
cfa9eeb12c dts: bindings: fix typo in (net, power-domain, pwm, qspi)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/net, power-domain, pwm and qspi.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
31a82699a8 dts: bindings: fix typo in (retained_mem, rng, serial, spi)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/retained_mem, rng, serial and spi.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
22315d6a9d dts: bindings: fix typo in (timer, usb-c, usb, watchdog)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/timer, usb-c, usb and watchdog.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
9a28689375 dts: bindings: pinctrl: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/pinctrl directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
bbfdec4371 dts: bindings: dma: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/dma directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
250e6c0108 dts: bindings: sensor: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/sensor directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan
bdfcd30513 dts: bindings: clock: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/clock directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Magdalena Pastula
d7d254140d tests: lib: cpp: exclude nRF54L15
Exclude nRF54L15 from possible targets as its HAL
is incompatible with C++98.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
e4aebf9cea soc: arm: nordic_nrf: align soc_secure.h to nRF54L
In nRF54L15 FICR can be accessed also from non-secure code,
so it does not have NRF_FICR_S defined.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
5a32e6e21c drivers: hwinfo: update to be aligned to nRF54L15
Update hwinfo driver to be aligned to nRF54L15.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
361a5a11aa samples: add overlay files for nRF54L15
Add nRF54L15 overlays to samples that needed them.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
d8203d2e1f tests: drivers: add overlay files for nRF54L15
Add nRF54L15 overlay files for driver tests that need them.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
cac2990c04 tests: arch: arm: arm: align tests to nRF54L15
Changed _ISR_OFFSET to be 28 as specified in OPS.
Removed console ISR.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
13abdcccb3 scripts: west_commands: runners: nrf_common: add support for nRF54L
Add support for new Nordic family in west commands.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
6d3009ff2b drivers: cache: add Nordic cache driver
Add Nordic driver for cache.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
4a095bfb35 boards: arm: add Nordic nrf54l15dk_nrf54l15
Add board files for nRF54L15 DK.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
04e4e6e5e9 modules: hal_nordic: nrfx: add support for nRF54L15 SOC
Add config files for nRF54L15.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
1d9f702260 soc: arm: nordic_nrf: add support for Nordic nrf54l family
Add soc files for new Nordic family.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
a5eeb6d6db soc: arm: nordic_nrf: add source code for validating rram partitions
RRAM is a part of nRF54L15 SOC.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
0b2ed9888a dts: arm: nordic: add support for Nordic nRF54L15
Add dts files for nRF54L15 chip.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Gerard Marull-Paretas
32c7cd551a dts: bindings: clock: add nordic,nrf-hfxo:
Add bindings for the nRF HFXO present in some nRF SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-30 21:00:44 +00:00
Gerard Marull-Paretas
e65d4141e6 dts: bindings: clock: add nordic,nrf-lfxo
To describe the low frequency crystal oscillator present in some nRF
series.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
a6bd4dbc33 soc: arm: nordic_nrf: add nRF54L15 peripherals instances
Add support for nRF54L15 instances of UARTE, TIMER and WTD.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
7322abe588 modules: hal_nordic: nrfx: add nRF54L15 peripherals instances
Add new TIMER and UARTE instances for nRF54L15.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
b605c4219b drivers: timer: add GRTC driver
Add Nordic driver for GRTC.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
70b21845b2 soc: arm: nordic_nrf: add support for nRF54L15 GRTC instance
Add GRTC as possible clock source.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
d3fa931dfd modules: hal_nordic: nrfx: add nRF54L15 GRTC instance
Add GRTC instance in Nordic HAL configs.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
1d91a09bfe dts: binding: add binding for GRTC
Add dts bindings for Global Real-Time Counter.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
daa888c37b soc: arm: nordic_nrf: move NRF_RTC_TIMER not to be selected as default
NRF_RTC_TIMER will not be a default timer in the next
version of Nordic timer. It should be soc selection specific.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik
ae78cf017d drivers: timer: move SYSTEM_CLOCK_WAIT to Kconfig.nrf_xrtc
SYSTEM_CLOCK_WAIT will be a common part for a next
version of Nordic timer.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula
9b3b34f16e drivers: serial: align to nRF54L15
Align UARTE driver config to nRF54L15.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Ian Morris
b1a15718aa dts-bindings: pinctrl: renesas_ra: enabled config of i/o ports 4-7
The RA_PINCFG macro is used to generate a value that can be written
directly to the pin function select register. In addition to the pin
function this value also contains port and pin number information,
located in bit fields that are unused by the register. The bit field
used to store the port information consists of 3-bits. However, a typo in
the mask definition limited the field to two bits meaning only ports 0-3
could be configured. This patch resolves the issue, allowing ports 0-7 to
be configured. If the port is greater than 7 another field (port4) is used
to store an additional bit (allowing an additional 8 ports to be
supported). However, use of this field has not yet been implemented.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-01-30 15:38:51 -05:00
Tom Burdick
34f39800cf llext: Extend test coverage
The platform key using arch + simulation better provides coverage of
unique architectures. Adds a testcase for writable module builds and
loading which was uncovered previously and would've led to a failure on
xtensa as xtensa currently requires writable storage.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-01-30 15:08:22 -05:00
Anas Nashif
41f7294d06 MAINTAINERS: Cleanup CI area
Remove inactive user in this area and add new collaborators.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-30 19:07:56 +01:00
Eve Redero
8e92637754 doc: fix comma typo in lvgl bindings
Remove commas from dts array in lvgl bindings.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2024-01-30 19:07:05 +01:00
Andriy Gelman
254a2b10dd boards: xmc47_relax_kit: Add CAN node to devicetree
Adds CAN node to xmc47_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-30 19:06:06 +01:00
Andriy Gelman
c7dab3df08 drivers: can: Add xmc4xxx CAN support
Adds CAN drivers for XMC4xxx SoCs.

XMC4xxx has multiple CAN nodes. The nodes share a common clock and
a message object pool.

The CAN nodes do not have a loopback mode. Instead there is an
internal bus which can be used to exchange messages between
nodes on the SoC. For this reason tests/samples which rely on the
loopback feature have been disabled.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-30 19:06:06 +01:00
Jordan Yates
9e9913a4fd testsuite: ztest: fix doxygen warnings
Document missing parameters on `ztest_run_test_suite`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-30 18:42:30 +01:00
Jordan Yates
374d354d16 sensing: sensing_sensor: fix doxygen warnings
Add missing parameter information in `SENSING_SENSORS_DT_DEFINE` and
`SENSING_SENSORS_DT_INST_DEFINE`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-30 18:42:30 +01:00
Navinkumar Balabakthan
e3b9ecba5f CODEOWNERS: Add owner update
Code owner added for nandflash driver.

Signed-off-by: Navinkumar Balabakthan <navinkumar.balabakthan@intel.com>
2024-01-30 18:01:31 +01:00
Navinkumar Balabakthan
6a8d011c65 samples: drivers: Added Nand Test Application
Nand Test Application has added in sample/drivers folder.

Signed-off-by: Navinkumar Balabakthan <navinkumar.balabakthan@intel.com>
2024-01-30 18:01:31 +01:00
Navinkumar Balabakthan
966c4c37ab drivers: flash: Added cdns Nand Driver
Added Cadence NAND driver to support reading, erasing and writing data.

Signed-off-by: Navinkumar Balabakthan <navinkumar.balabakthan@intel.com>
2024-01-30 18:01:31 +01:00
Navinkumar Balabakthan
6048373bd2 dts: arm64: intel: dtsi support for cadence Nand driver for Agilex5
dtsi support for nand controller added to bring up nand driver on Agilex5

Signed-off-by: Navinkumar Balabakthan <navinkumar.balabakthan@intel.com>
2024-01-30 18:01:31 +01:00
Navinkumar Balabakthan
05c38cb2f5 soc: arm64: intel_socfpga: changes in system_manager
SOCFPGA_SYSMGR_REG_BASE base address now read from Device tree

This commit changes the way the SOCFPGA_SYSMGR_REG_BASE base address is
determined. Previously, the address was hard-coded in the system_manager
source file. This commit changes the code to read the address from the
Device tree. This makes the code more flexible and allows the base
address to be different for different boards.

Signed-off-by: Navinkumar Balabakthan <navinkumar.balabakthan@intel.com>
2024-01-30 18:01:31 +01:00
Jamie McCrae
b26a4bf31c mgmt: mcumgr: grp: img_mgmt: Add optional max image size reduction
Adds an optional feature that can be used to reduce the maximum
allowed image upload file size whereby an image could be uploaded
that would be too large to swap even if it could fit the partition

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-30 18:01:24 +01:00
Jamie McCrae
1989ac3712 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  a4eda30f5b0cfd0cf15512be9dcd559239dbfc91

Brings following Zephyr relevant fixes:
 - a4eda30f zephyr: Add estimated size of update trailer to
   sysbuild
 - 205d7e5b boot_serial: Adapt to zcbor 0.8.x

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-30 18:01:24 +01:00
Jamie McCrae
620d4828a9 dfu: Add support for MCUboot estimated update image overhead size
Adds support for an overhead size which MCUboot can set when using
sysbuild, this can be used to check the provided size of an
application being uploaded to ensure it will fit and swap without
being rejected

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-30 18:01:24 +01:00
Jamie McCrae
b236e5bd11 mgmt: mcumgr: grp: os_mgmt: Add firmware uploader boot type
Adds firmware uploader to the output of bootloader mode for
MCUboot

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-30 18:01:24 +01:00
Adam Wojasinski
9b30b7405e doc: posix: Update POSIX supported API documentation with sysconf()
Updates in documentation support for `sysconf` API
in the `POSIX_SINGLE_PROCESS` group option.

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2024-01-30 18:01:18 +01:00
Adam Wojasinski
31af5f8fe1 tests: posix: Add test case for sysconf()
Adds test cases for sysconf() basic implementation.
Test case does not cover scenario where invalid value is passed
to the name argument of the function.

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2024-01-30 18:01:18 +01:00
Adam Wojasinski
6f5626d1cf posix: Add basic sysconf() function implementation
The patch introduces basic implementation of sysconf() function.
It's based on macro - that means that every function call is resolved
at compile time - and is not fully complient with POSIX standard
(the errno value is not handled and passing invalid name argument
results in compilation error). Treat this commit as a starting point
for proper sysconf() implementation. The one introduced in the patch
could stay as a defult implementation.

sysconf() documentation:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/sysconf.html
https://man7.org/linux/man-pages/man3/sysconf.3.html

Fixes #56670

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2024-01-30 18:01:18 +01:00
Guillaume Gautier
05712250ea samples: boards: stm32: pm: suspend_to_ram: add wba standby sample
Add a sample for STM32WBA standby power management.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 18:01:00 +01:00
Guillaume Gautier
7ba1f2e6d8 dts: arm: stm32wba: add standby mode to device tree
Add standby mode to device tree

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 18:01:00 +01:00
Guillaume Gautier
6b681bcbcc soc: arm: stm32wba: add support for standby mode with ram retention
Add support for STM32WBA Standby low-power mode with RAM retention.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 18:01:00 +01:00
Guillaume Gautier
624139ad9a drivers: clock_control: stm32wba: remove disabling of backup access
Disabling Backup access prevents Suspend to RAM to work.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 18:01:00 +01:00
Guillaume Gautier
b097e3198f drivers: clock: wba: add get status function
Add a function to get the clock status on STM32WBA

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 18:01:00 +01:00
Alberto Escolar Piedras
ba81d439e4 doc coding_guidelines: Exclude host tooling from rule A.5
Rule A.5 is meant for code build with the embedded libCs and
which runs in embedded targets. Let's be more clear about this
and explicitly indicate that host tooling is not covered by it.
Otherwise, the current
"The "Zephyr codebase" in this context refers to all source
code files committed to the main Zephyr repository"
covers too much.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-30 18:00:48 +01:00
Chaitanya Tata
bff1b7487e wifi: shell: Add band support for STA
For a Wi-Fi station the connect API supports both band and channel
configuration, but for a shell command either channel or band makes
sense, so, overload the channel field to support band.

Rejig the band and channel validation to support all modes.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-30 18:00:26 +01:00
Wei-Tai Lee
ab97a44096 drivers: i2c: andes: Remove the inclusion of soc.h
Remove the inclusion of empty file which will cause
twister-build error.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-01-30 17:56:07 +01:00
Gerard Marull-Paretas
5ef7404c7c drivers: spi: ifx_cat1: drop non-existing DT properties
It looks like driver references quite a few non-existing properties in
devicetree (see dts/bindings/spi/infineon,cat1-spi.yml). This mistake
was hidden because of DT_INST_PROP_OR(), which expands to the default if
the property is not present. However, after
260fc89643, the issue became visible
because sme DT_INST_PROP_OR() were changed to DT_INST_PROP().

Note that only fields not initialized to 0 (or false) have been kept.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-30 17:44:18 +01:00
Joel Guittet
017b01659f samples: subsys: display: lvgl: add wio_terminal board
Add Wio Terminal configuration to the LVGL sample with button and
keypad overlay.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2024-01-30 10:35:32 -06:00
Joel Guittet
479c40c830 boards: arm: wio terminal: separate buttons and joystick definition
The purpose of this separation is to avoid conflict initializing
gpio-keys because button 0 and joystick up have a shared interrupt
source. Joystick is now configured using polling mode option.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2024-01-30 10:35:32 -06:00
Flavio Ceolin
3e5a593de9 intel_adsp/cavs: power: Fix INTLEVEL value
In pm_state_set we can't just call k_cpu_idle() because
this will clear out PS.INTLEVEL. Use k_cpu_atomic_idle instead
since Zephyr's expect interruptions to be locked after pm_state_set.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-30 10:28:57 -06:00
Flavio Ceolin
ff43667497 intel_adsp/ace: power: Restore PS after power gate
We are arbitrarily setting a value to PS after power gates and
losing valid information like OWB, CALLINC and INTLEVEL.

We need to properly save/restore them to avoid possible wrong behavior.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-30 10:28:57 -06:00
Abderrahmane Jarmouni
43b2f00c84 samples: modules: lvgl: demos: add test case for stm32h747i_disco
Add a test case for stm32h747i_disco that comes with a display shield.
This will make it easier to catch LVGL regressions on this board.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-01-30 10:27:57 -06:00
Abderrahmane Jarmouni
47f9ee405d samples: subsys: display: lvgl: add test case for stm32h747i_disco
Add a test case for stm32h747i_disco that comes with a display shield.
This will make it easier to catch LVGL regressions on this board.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-01-30 10:27:57 -06:00
Abderrahmane Jarmouni
b4191dd67e samples: drivers: display: add a general test case
Add a test case for boards that have a supported built-in display that is
enabled by default in DTS. This will make it easier to catch display
regressions on these boards in CI.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-01-30 10:27:57 -06:00
Benjamin Cabé
0282e7042d MAINTAINERS: fix incorrect files-exclude entry for NXP Drivers
Typo in a files-exclude entry is causing get_maintainer.py script to
error out under certain conditions

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-01-30 15:06:47 +00:00
Martin Jäger
60c58fe918 samples: subsys: lorawan: class_a: add multicast support
This is mainly to make sure that the multicast code is built in CI.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-01-30 14:14:05 +00:00
Martin Jäger
d833ab746b lorawan: services: add Remote Multicast Setup
This service is responsible for multicast session key exchange and
setting up a class C session.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-01-30 14:14:05 +00:00
Martin Jäger
a4c13fc584 lorawan: services: add Class C session handling
The new functions are required for Multicast Class C session setup.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-01-30 14:14:05 +00:00
Michal Smola
1f25531d7c twister: pytest: fix missing messages from hardware target
When pytest harness test is run on harware, messages sent from target
right after application start-up are lost, because connection to COM
port is not established yet. It can cause unexpected
behavior of a test. Fix it by flashing and running application after
connecting to COM port when testing on hardware.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-01-30 14:13:46 +00:00
Michal Smola
5c78b3d842 twister: pytest: fix pty import on Windows
Import of pty module causes exception when pytest harness is used
for device testing on Windows. Fix it by importing pty module
on non-windows hosts only. Add logger message for case pty
is used by mistake on Windows.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-01-30 14:13:46 +00:00
Guillaume Gautier
62f1105550 drivers: adc: stm32: do not disable adc after measurement
Do not disable the ADC after the end of the measurement to avoid systematic
enabling which is time-consuming in case the configuration is unchanged.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 14:13:28 +00:00
Emil Lindqvist
548fb97142 cache: stm32: add new cache API to display and i2s
Use sys_cache API to handle cache flush/invalidate.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2024-01-30 14:12:57 +00:00
Nikolay Agishev
b898541809 ARC: Disable TLS for some configurations
Disable Thread Local Storage for some configurations of ARC architecture.
For cores with more then one RGF_NUM_BANKS the parameter is disabled
by-default because banks syncronization requires significant time,
and it slows down performance.

Signed-off-by: Nikolay Agishev <agishev@synopsys.com>
2024-01-30 14:12:27 +00:00
Laczen JMS
50597b2e52 flash: correct userspace flash_handlers
fixes #68248

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2024-01-30 08:30:32 -05:00
Pisit Sawangvonganan
defab59dc4 drivers: can: mcp251xfd: reducing number of *reg pointer dereferences
Reducing the number of times the code dereferences the pointer *reg,
which points to SRAM. By using a local variable tmp for operations before
assigning it to *reg.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 08:29:52 -05:00
Johan Stridkvist
8943025471 doc: peripherals: Document limitation
Asynchronous and interrupt driven APIs can be used at the same time for
different hardware peripherals.

Signed-off-by: Johan Stridkvist <johan.stridkvist@nordicsemi.no>
2024-01-30 08:28:57 -05:00
Wilfried Chauveau
e840c9af01 samples: subsys: rpmsg_service improve terminology
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Co-authored-by: Jamie <40387179+nordicjm@users.noreply.github.com>
2024-01-30 13:42:02 +01:00
Wilfried Chauveau
f875cb6cc9 samples: subsys: ipc: switch rpmsg to sysbuild
rpmsg_service only loads the main application on the target. Switch to
sysbuild which is know to work as expected with the openamp sample.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-01-30 13:42:02 +01:00
Wilfried Chauveau
dfd758ea47 test: kernel: mem_protect: switch to an547 as the integration platform
AN521 does not have enough MPU region (8) to handle these tests.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-01-30 13:42:02 +01:00
Wilfried Chauveau
de7621596d boards: arm: mps2_an521: add pyocd runner
This allows to run tests & examples on the physical board with:
```
west twister -p mps2_an521 --device-testing --device-serial /dev/ttyUSB0
```

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-01-30 13:42:02 +01:00
Øyvind Rønningstad
3e41e68ce6 doc: Update release notes and migration guide for zcbor 0.8.1
No changes, but update version numbers

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-30 13:38:51 +01:00
Øyvind Rønningstad
3ad47d214a lwm2m: Regenerate zcbor files
with zcbor 0.8.1

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-30 13:38:51 +01:00
Øyvind Rønningstad
8396bf0d98 west.yml: Update zcbor from 0.8.0 to 0.8.1
Brings a few improvements and bugfixes, most notably:
- Adds a forward declaration of strnlen()
- Adds a ZCBOR_VERSION macro

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-30 13:38:51 +01:00
Lars Knudsen
a3c4d22e79 boards: bbc_microbit_v2: Add buzzer
Tie pwm1 to buzzer pin and adjust sample.

Signed-off-by: Lars Knudsen <larsgk@gmail.com>
2024-01-30 13:08:03 +01:00
Emil Gydesen
515ef17915 Bluetooth: Audio: Change samples and shell to use sinf
Change the samples and shell to use sinf instead of sin,
as that return the expect float data type, instead of
a double.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-30 12:45:26 +01:00
Evgeniy Paltsev
4e4a2e8d61 board: nsim: cleanup ARCv3 haps setup
Cleanup ARCv3 haps setup with new cluster accessors

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2024-01-30 12:36:24 +01:00
Evgeniy Paltsev
d2b5ac20d1 ARC: ARCv3: enable shared cache if available
In case of ARCv3 we have shared cache disabled after
reset (in ARCv2 it was enabled by default). Let's
enable it at early boot phase (if it's available in HW).

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2024-01-30 12:36:24 +01:00
Evgeniy Paltsev
4d86be26c7 ARC: ARCv3: enable HW prefetch on boot
ARCv3 processors have HW prefetch feature which is disabled
after reset. Let's enable it.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2024-01-30 12:36:24 +01:00
Yong Cong Sin
c9818d5eea cmake: modules: generated_file_directories: fix paths
The paths that got assigned to these variable don't quite match
the description, likely a typo, fix that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-30 12:36:11 +01:00
Oleksii Moisieiev
8bb40bbb8e arm: aarch32: cortex_a_r: Add MMU_ALIGN define to Linker script
cortex_a_r lacks of MMU_ALIGN definition. This define is added to the
target linker script when CONFIG_NOCACHE_MEMORY is enabled which
adds .nocache section where this define is used.

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
2024-01-30 10:09:00 +00:00
Guillaume Gautier
ffb581a552 drivers: counter: stm32 rtc: add basic pm support
Add basic PM support for STM32 RTC counter.
It is useful for Suspend to RAM support to reenable the RTC register clock
after wakeup from Standby.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 10:49:22 +01:00
Aymeric Aillet
3c1ad2eb9f MAINTAINERS: Update Renesas ranges area delimitations
Create RA & RZ Renesas areas to maintain from previous
"Renesas platforms" area.
Moved rzt2m dtsi from R-Car to RZ area.
Add @soburi as Renesas RA maintainer.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-30 09:59:54 +01:00
Aymeric Aillet
4b8c0559d6 dts: arm: renesas: Move rz dtsi to range folder
Create a folder for RZ Renesas range device tree to follow how it's
done for other renesas ranges.
It will also help to better delimit areas to maintain.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-30 09:59:54 +01:00
Szymon Janc
8873c07847 tests: Bluetooth: Update Host Launch Studio Project and ICS
This updates host Launch Studio Project and ICS to TCRL 2023-1.

BLS file is deliberately left with Windows CRLF line terminators
since otherwise Launch Studio silently fails to import such
project.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2024-01-30 08:52:59 +01:00
Armin Brauns
6a41a7abba drivers: mcp23xxx: explain more common causes for spurious interrupts
Interrupt handling in this chip is broken beyond repair, anyone unfortunate
enough to have to use it will probably come across this error and wonder
what's up.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2024-01-30 08:46:39 +01:00
Sharad Patil
82af470b60 boards: efr32_radio: Add Support for Silabs MG12 BRD4161A board
Added support in board directory for EFR32 MG12 BRD4161A board

Signed-off-by: Sharad Patil <p.sharad@capgemini.com>
2024-01-30 08:46:25 +01:00
Sharad Patil
517574ac90 dts: arm: silabs: Add Support for Silabs MG12 BRD4161A board
Added support in board directory for EFR32 MG12 BRD4161A board

Signed-off-by: Sharad Patil <p.sharad@capgemini.com>
2024-01-30 08:46:25 +01:00
Sharad Patil
296c1e4768 soc: Added Support for Silabs EFR32MG12P432F1024GL125
Added support in board directory for EFR32 MG12 BRD4161A board

Signed-off-by: Sharad Patil <p.sharad@capgemini.com>
2024-01-30 08:46:25 +01:00
Jordan Yates
1e1d2725a7 net: dns: option to disable auto context init
Adds an option to disable the automatic initialization of the default
dns_context. This lets applications use the default context, while also
managing the `init` and `close` functions.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-29 20:20:19 -06:00
Jordan Yates
e5f4fa0f4a net: dns: function to default initialize context
Adds a function that can be used to initialize a dns context to the
default Kconfig values.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-29 20:20:19 -06:00
Ayush Singh
ecd3b9cee6 boards: arm: beagle_bcf: Remove cc2538-bsl.py
- Remove hadcoded cc2538-bsl.py path
- Use cc1352-flasher program instead
- Add docs about how to install the program

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2024-01-30 00:34:48 +00:00
Roman Studenikin
260fc89643 drivers: use DT_INST_PROP over DT_INST_PROP_OR if possible
It might happens that DT(_INST)_PROP_OR is used with boolean properties.
For instance:

	.single_wire = DT_INST_PROP_OR(index, single_wire, false),	\
	.tx_rx_swap = DT_INST_PROP_OR(index, tx_rx_swap, false),	\

This is not required as boolean properties are generated with false
value when not present, so the _OR macro extension is superflous
and the above code can be replaced by:

	.single_wire = DT_INST_PROP(index, single_wire),		\
	.tx_rx_swap = DT_INST_PROP(index, tx_rx_swap),			\

Signed-off-by: Roman Studenikin <srv@meta.com>
2024-01-30 00:26:58 +00:00
Paszkiet Kamil
1799a2bf0c scripts: tests: twister_blackbox: Add test test_runner.py
- change name test_qemu.py to test_runner.py
- add test to test_runner.py:
  - build_only
  - runtest_only
  - ninja (dummy test)
  - dry_run (dummy test)
  - any_platform (dummy test)
  - cmake_only
  - pre_script (dummy test)
  - exclude_platform
  - device_flash_timeout (dummy test)
  - retry_failed
  - retry_interval
  - timeout_multiplier
  - quarantine_list
  - tag
  - only_failed
  - retry_build_errors

Made required changes to test_testplan.py tests

Signed-off-by: Paszkiet Kamil <kamilx.paszkiet@intel.com>
2024-01-29 17:43:59 -05:00
Sumit Batra
67474db716 drivers: sensor: qdec_s32k: fix double promotion warning
Fixing this "revealed" bug which got introduced when
a PR added the -Wdouble-promotion flag to GCC builds

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2024-01-29 20:24:52 +00:00
Francois Ramu
70809cc429 tests: drivers: flash: common stm32 flash testing on nucleo_f767zi
Add the nucleo_f767zi target to the list of stm32 boards to
execute the tests/drivers/flash/common

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-01-29 14:12:47 -06:00
Francois Ramu
7795558ad5 drivers: flash: stm32 flash base address from the DTS node
For the flash driver, the base address is the MCU internal flash
address (usually 0x8000000). This PR gets the that address
from the device tree node "st,stm32-nv-flash"
instead of relying on the CONFIG_FLASH_BASE_ADDRESS
which might differ when building for another flash memory.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-01-29 14:12:47 -06:00
Declan Snyder
a37bd8e7ba soc: rt5xx: Restore ISP pins state in soc init
ROM configures the ISP boot pins as gpio to determine what boot mode to
be in. But some ROM revisions have a bug where they do not restore the
reset state of these pins before booting application. This can cause
power leakage on these pins and is not an intended configuration from
Zephyr user/board point of view, so restore the reset state as part of
early SOC init (disable the pins). Configuration of pins should be
left up to app/board devicetree.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-01-29 17:15:01 +00:00
Mahesh Mahadevan
b8bdc60427 soc: nxp: rt5xx: Remove deepsleep pin changes
SOC level code should not be dynamically changing pin configurations.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-29 17:15:01 +00:00
Anas Nashif
ccaf8d1e79 doc: modules: dummy external module
placeholder to make ci happy.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-29 17:54:11 +01:00
Anas Nashif
7c7407849f doc: add template for external modules
Add template for external modules. Add a module file under external/
will list the module under

https://docs.zephyrproject.org/latest/develop/manifest/index.html#external-projects-modules

which then can be referenced from within the tree where it makes sense.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-29 17:54:11 +01:00
Benedikt Schmidt
5a2359332f drivers: gpio: fix build of BD8LB600FS on intel_adl_crb
Fix the build of the gpio driver BD8LB600FS on the
board intel_adl_crb.
Fixes #68219.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-29 10:26:08 -06:00
Ben Marsh
bef0dc065f doc: mqtt: Fix incorrect usage of poll()
The MQTT docs used K_MSEC() to provide the timeout parameter to poll().
Doing this causes a compilation error as poll() expects it's
third parameter to be of type int, not k_timeout_t.

Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
2024-01-29 10:25:32 -06:00
Robert Lubos
b8556d0d79 net: icmp: Don't report error on ICMP messages w/o handler
ICMPv4/6 modules print error when ICMP message handling fails, which
includes no message handler registered. This is a bit problematic, as
there are many ICMP messages that Zephyr does not process, and every
time such a message is received, an error log is printed (which wasn't
the case before ICMP rework).

Restore the old behavior (no log on unrecognized ICMP message) by
explicitly filtering out ENOENT error code from printing error. That
way, log will only be printed if an error occured within the actual
message handler.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-29 14:57:35 +00:00
Zhu Zhongjie
2545c747b8 boards: arm: change display driver to ltdc on stm32f429i_disc1
Change display driver to ltdc on stm32f429i_disc1 board.

Signed-off-by: Zhu Zhongjie <zhongjiezhu1@gmail.com>
2024-01-29 14:57:26 +00:00
Fabio Baltieri
f65f6e5279 github: add a multiplatform hello world workflow
Add a new workflow to build the hello world sample application on all
three supported platforms using the reusable setup action.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-29 08:31:53 -06:00
Alberto Escolar Piedras
346997f8be cmake: Apply COMPILER_WARNINGS_AS_ERRORS also to nativesim runner
When COMPILER_WARNINGS_AS_ERRORS is set, let's also have the
native simulator runner (and anything Zephyr requests built with it)
be built with the same option to treat warnings as errors.
Otherwise we will miss those by default in CI.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-29 14:27:27 +01:00
Alberto Escolar Piedras
084f3cfc51 tests/bsim build: User kconfig option to set warnings as errors
Use the kconfig option COMPILER_WARNINGS_AS_ERRORS instead
of passing the compiler option directly to the build.
That allows us to do whatever needs to be done in cmake to ensure
warnings are treated as errors.

Also handle better options and paths with spaces on them.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-29 14:27:27 +01:00
Tomasz Moń
76e12a33d9 drivers: i2s_nrfx: Generate master clock if pin is connected
The driver uses pinctrl to configure pins instead of nrfx I2S API.
Check whether MCK pin was actually connected by pinctrl instead of
comparing nrfx_cfg.mck_pin that is always NRF_I2S_PIN_NOT_CONNECTED.

This makes it possible for nRF I2S to provide master clock even when
operating in I2S Slave mode.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-01-29 14:03:20 +01:00
Robert Lubos
cefc391db3 net: dhcpv6: Move DHCPv6 files to lib directory
For consistency with DHCPv4.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-29 13:47:05 +01:00
Robert Lubos
19722aa8e8 net: dhcpv4: Move DHCPv4 files to lib directory
As discussed during DHCPv4 server integration, group DHCPv4 client files
with DHCPv4 server in a single lib directory.

Renamed internal "dhcpv4.h" header to "dhcpv4_internal.h" so that it's
not confused with the public "dhcpv4.h" header.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-29 13:47:05 +01:00
Pieter De Gendt
433de7d2e2 scripts: native_simulator: common: Fix typo in comment
Fix a typo in comment describing the naming convention for nsi_host.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-29 13:20:28 +01:00
Ping Wang
6dcde57952 Bluetooth: Audio: improve BASS state logging to be more readable.
When debugging it is hard to remember each state value (e.g. 0, 1, 2,
3) means. Therefore, make functions to improve logging for humans.

Fixes #59679

Signed-off-by: Ping Wang <pinw@demant.com>
2024-01-29 13:20:18 +01:00
Javad Rahimipetroudi
38da03a5d6 doc: stm32wb5mm_dk: Fix reported typos
This patch fix the reported typos and glitches
that was reported in PR 67819.

Signed-off-by: Javad Rahimipetroudi <javad.rahimipetroudi@mind.be>
2024-01-29 12:30:20 +01:00
Marc Desvaux
c7cc58ca77 drivers: usb_dc_stm32: Fix OUT transfer issue
The driver cannot handle OUT transactions for an endpoint with an
MPS smaller than 64 bytes. To solve the issue, we will not use one
fixed value, EP_MPS, but instead use the actual MPS of an endpoint,
ep_state->ep_mps.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2024-01-29 11:07:22 +00:00
Daniel DeGrasse
8596ee9337 samples: drivers: i2s: add output sample
Add simple I2S output sample. This sample is verified with the RT1060
EVKB, but can be ported to any board with I2S support. It simply
demonstrates how to write I2S output data using the I2S API. The output
can be verified using a signal analyzer, if the user desires.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-29 10:59:24 +00:00
Bjarki Arge Andreasen
98d95851c6 drivers: gnss: lcx7g: Add Kconfigs for configurable buffers
Added Kconfigs to define the size of:
- UART backend receive buffer
- UART backend transmit buffer
- Satellites array size

and increased the UART RX buffer size a default to 256 as 128
is just on the edge of to small at a baudrate of 115200.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-29 10:58:58 +00:00
Bjarki Arge Andreasen
41240f9fb1 drivers: gnss: lcx7g: Close pipe on suspend
The pipe should be closed when suspended, both to save ressources
and to flush it. Without flushing the pipe, the driver may fail
to either resume or suspend the GNSS as the chat module starts
processing old data, which can contain acks to commands, breaking
the scripts.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-29 10:58:58 +00:00
Bjarki Arge Andreasen
59b9a86f30 drivers: gnss: lcx7g: Refactor power management
The implementation of power management did not account for
being on a power domain when initializing, and handling being
powered on and off at runtime.

The GNSS requires time to start up, which it always does when
powered on, before accepting commands. It also requires time
after resuming and suspending before accepting commands.

This commit implements this timeout, and improves logging to
make the power management more transparent, and removes some
redundant parenthesis for better readability.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-29 10:58:58 +00:00
Bjarki Arge Andreasen
a9ffd91294 drivers: gnss: lcx6g: Remove left over from testing
The k_msleep() removed with this has no utility.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-29 10:58:58 +00:00
Jukka Rissanen
7da14d3129 net: shell: Clarify the name of the virtual interface
The net-shell printed virtual interface name so that it got
the impression it was the network interface name which is not
correct. Now the name is printed as "Virtual name" which is
unambiguous.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-29 10:58:33 +00:00
Jukka Rissanen
a45d66c478 net: if: Do not join multicast address if IPv6 is not enabled
If IPv6 is not enabled for the interface, then do not try to
join the IPv6 solicited multicast address.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-29 10:58:24 +00:00
Anas Nashif
4ae4217e58 ci: run assigner bot on collab branches
Get more reviewers added to make sure we have all relevant reviewers
looking at changes targeting collab branches.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-29 11:33:23 +01:00
Aymeric Aillet
ff4b9ebd65 drivers: clock: rcar: harmonize r8a7795 and r8a779f0 drivers
Based on edit done at r8a779f0 driver creation
(f5634a1a0e)
following comments on #56043.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:33:09 +01:00
Aymeric Aillet
d2e79866ad drivers: clock: rcar: r8a7795 driver cleanup
Remove old unused defines from header
Use clang-format to apply coding guideline to r8a7795 driver

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:33:09 +01:00
Krzysztof Chruściński
fdafbdb1c9 tests: unit: util: Extend FOR_EACH test
Extend test to check also no arguments.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-29 11:32:54 +01:00
Trond Einar Snekvik
aae51921df sys: util: Accept empty FOR_EACH
The ## part of ##__VA_ARGS__ in the Z_FOR_EACH_ENGINE macro technically
breaks the invocation of empty FOR_EACH sequences, as the empty
__VA_ARGS__ gets squashed with in the invocation of Z_FOR_LOOP_1() in
Z_FOR_LOOP_2(), which makes the macro only pass 4 arguments to
Z_FOR_LOOP_1.

This breaks IntelliSense in Microsoft's C/C++ extension for VS Code,
which is strict about the amount of arguments you can pass to a variadic
macro.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2024-01-29 11:32:54 +01:00
Aymeric Aillet
2a93e06fba doc: releases: migration-guide: 3.6: note on renaming RA kconfig options
Add a note about the renaming of several Renesas RA driver kconfig options.
These options have been renamed when renaming several driver file names.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:32:46 +01:00
Aymeric Aillet
bf30c2a3b3 doc: releases: 3.6: note on renaming RA drivers kconfig options
Add a note about the renaming of several Renesas RA driver kconfig options.
These options have been renamed when renaming several driver file names.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:32:46 +01:00
Aymeric Aillet
48dc603f0c drivers: serial: Rename renesas ra driver
Need this rename to be able to target this driver
in the "Renesas RA" maintainer area.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:32:46 +01:00
Aymeric Aillet
9db09d8dc0 drivers: pinctrl: Rename renesas ra driver
Need this rename to be able to target this driver
in the "Renesas RA" maintainer area.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:32:46 +01:00
Aymeric Aillet
1cd2ce1cc7 drivers: intc: Rename renesas ra driver
Need this rename to be able to target this driver
in the "Renesas RA" maintainer area.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:32:46 +01:00
Aymeric Aillet
fd04892322 drivers: gpio: Rename renesas ra driver
Need this rename to be able to target this driver
in the "Renesas RA" maintainer area.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:32:46 +01:00
Aymeric Aillet
fe02e32f86 drivers: clock: Rename renesas ra driver
Need this rename to be able to target this driver
in the "Renesas RA" maintainer area.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2024-01-29 11:32:46 +01:00
Fabio Baltieri
682f38fa36 tests: lib: devicetree devices: only run on native_sim
The test instantiate few vnd,i2c devices so it fails with boards with
devices that select I2C, as that causes i2c_test.c to be included with
the build that tries to redefine the same devices as well.

This is a library test anyway, so restricting to native_sim should be
good enough for it anyway.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-29 10:29:38 +01:00
Ping Wang
c7d1dc3b42 Bluetooth: Audio: Use utf8_lcpy to copy UTF8 strings with termination.
use the function utf8_lcpy to ensure that UTF8 encoded strings are
properly copied and NULL terminated.

Fixes #42128

Signed-off-by: Ping Wang <pinw@demant.com>
2024-01-29 10:28:18 +01:00
Christopher Friedt
b600e8a870 posix: timer: build timer.c using the correct kconfig option
Previously timer.c was only built with CONFIG_POSIX_CLOCK=y even
though it has had its own Kconfig symbol (CONFIG_TIMER) for a
very long time.

Make POSIX_CLOCK imply TIMER rather than control whether it is
built, and adjust Kconfig / CMake as necessary.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-29 10:28:10 +01:00
Fengming Ye
8cd61b6c66 doc: migration-guide: 3.6: zperf statistics changes
Add information about zperf ratio between mbps and kbps, kbps and bps
changes from 1024 to 1000, to align with iperf.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-01-29 10:05:35 +01:00
Fengming Ye
f61a0cb1fa net: zperf: fix the calculation ratio between mbps, kbps and bps
The ratio between mbps and kbps, kbps and bps should be 1000, instead of
1024, as common sense.
The wrong ratio will decrease the Zperf throughput result.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-01-29 10:05:35 +01:00
Ryan McClelland
4fb4f71f08 drivers: regulator: pca9420: implement active discharge api
Implement the api for controlling the active discharge setting within
the pca9420.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-29 09:43:39 +01:00
Ryan McClelland
0f8ab3cf2d drivers: regulator: add active discharge api to regulator shell
Add the active discharge functions that can be called from the
regulator shell.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-29 09:43:39 +01:00
Ryan McClelland
97efd21ce9 tests: drivers: regulator: add api test for active discharge
Add tests for active discharge apis not being implemented.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-29 09:43:39 +01:00
Ryan McClelland
5a125a619c regulator: add active-discharge api
Add an active discharge api for regulators. This uses the already
existing but previously unused regulator-active-discharge
property.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-29 09:43:39 +01:00
Jonathan Rico
2d9b56d713 Bluetooth: L2CAP: remove metadata allocation
The only thing we put in there is the CID and that fits comfortably into
the (at least) 4-byte void pointer `user_data`.

This removes the dependency between `CONFIG_BT_ATT_TX_COUNT` and
`CONFIG_BT_L2CAP_TX_BUF_COUNT` since previously there was still a need
for an L2CAP context for every TX'd buffer.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-29 09:41:23 +01:00
Jonathan Rico
3a4fd5e23d Bluetooth: L2CAP: remove cb/userdata from TX metadata
They were never used.
Only thing to remove is `cid`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-29 09:41:23 +01:00
Jonathan Rico
77d8c2768e Bluetooth: L2CAP: initialize servers slist
Somehow it slipped through the cracks and didn't crash before.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-29 09:41:23 +01:00
honglin leng
c9208b3864 arm64: smp: Fix cache operations in the SMP
The arm64_cpu_boot_params will be read on other cores

call sys_cache_data_flush_range flush the data from the cache to RAM.

This ensures that other cores can access the correct data.

Signed-off-by: honglin leng <a909204013@gmail.com>
2024-01-29 09:26:51 +01:00
Pavel Vasilyev
54c048989d Bluetooth: Mesh: Send provisioning PDUs with randomized delay
This implements the following statement from the section 5.3.3:
Each Generic Provisioning PDU shall be sent after a random delay between
20 and 50 milliseconds.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-29 09:26:22 +01:00
Pavel Vasilyev
fcfc99a21d Bluetooth: Mesh: Add error code for bt_mesh_adv_terminate
Return error code to let an implementation know if the adv was actually
stopped (was scheduled) or not.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-29 09:26:22 +01:00
Pavel Vasilyev
9af051e349 Bluetooth: Mesh: Call bt_mesh_send_cb.end cb by the end of adv
Before this change, the bt_mesh_send_cb.end callback was called when all
references to the adv were removed. If an implementation kept more
references to the adv buffer after calling `bt_mesh_adv_send`, the end
callback would not be called when the advertiser finished advertising
this adv.

With this change, the end callback is always called by the advertiser
when the advertisement is finished regardless of the number of
references. This allows an implementation to keep the adv buffer for the
future use. As an example, pb_adv.c keeps advs for retransmission.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-29 09:26:22 +01:00
Yasin Ustuner
6cb98162b7 scripts: ci: check_compliance.py: Add out-of-tree dts/bindings
This commit includes out-of-tree dts/bindings to
temporary Kconfig.dts for compliance checks.

Signed-off-by: Yasin Ustuner <yasin.ustuner@analog.com>
2024-01-28 22:04:16 -06:00
Jordan Yates
673009f665 drivers: power_domain: add missing dependency
The GPIO power domain driver needs device power management enabled
to compile if `PM_DEVICE_POWER_DOMAIN` is enabled.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-28 22:03:25 -06:00
Henrik Brix Andersen
64cedb5f35 drivers: can: stm32: bxcan: fix header order
Sort the included headers by name, remove unneeded includes and ensure
soc.h is included prior to the Zephyr CAN headers.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-28 20:03:34 +01:00
Christopher Friedt
a37254140b scripts: checkpatch.pl: fix constant comparison false positives
Comparisons that have constants on both side of the operator
were getting flagged incorrectly. Adjust the check so that
pure constant comparisons are not flagged, reducing false
positives.

WARNING:CONSTANT_COMPARISON: \
  Comparisons should place the constant on the right side of \
  the test
+BUILD_ASSERT(CONFIG_MAX_PTHREAD_COUNT == \
  CONFIG_MAX_PTHREAD_MUTEX_COUNT - 1);

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-28 13:01:36 -05:00
Christopher Friedt
248324b67a samples: posix: implement philosphers using pthreads
This sample takes a POSIX-y spin on the existing
Dining Philosophers sample application. The objects
used in the POSIX version are pthread_mutex_t, and
the threads are pthread_t.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-28 13:01:36 -05:00
Christopher Friedt
e357ba835d posix: internal: make priority / policy transforms available
Two functions can be used with relative ease to convert between
Zephyr and POSIX priorities and policies. Namely,

uint32_t zephyr_to_posix_priority(int32_t z_prio, int *policy)
int32_t posix_to_zephyr_priority(uint32_t priority, int policy)

These are not necessarily public API, but they helped with the
POSIX Philosophers Sample, which is in a subsequent commit.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-28 13:01:36 -05:00
Attie Grande
cf14d4f1fd samples: drivers: uart: Add a 'passthrough' example
This sample can be used as a "virtual wire", allowing direct access to
devices connected to the target processor - for example: GPS, Cellular,
etc...

This is also useful as a utility - no other connectivity options exist
for UART, where other interfaces like SPI and I2C have shell commands.

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2024-01-27 15:33:29 +01:00
Ryan McClelland
018dbcfd66 cmake: compiler: add double promotion warning
Too many times, code is pushed that includes floats that really
becomes doubles and C implicit promotion rules will want to make
floats into doubles very easily. As zephyr primarily targets
low-end process that may not have a double precision floating
point unit, enable this flag globally for now.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-26 21:37:24 -05:00
Tyler Ng
432f4a0b9a soc/riscv/opentitan: Kconfig.defconfig.series: Set NUM_IRQS to 256
The OpenTitan PLIC has support for up to 255 interrupt vectors, so
set it to that. Previously was set to number of IRQs used.

Signed-off-by: Tyler Ng <tkng@rivosinc.com>
2024-01-26 19:34:09 -06:00
Adam Wojasinski
dc90d6ccff doc: posix: Add missing entries in POSIX supported API doc
`mq_timedsend()` and `mq_timedreceive()` are implemented but
the information is missing in the documentation.

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2024-01-26 22:27:07 +00:00
Ren Chen
9dfd368165 it82xx2/usb: disable 15K-ohm default pull-down if device isn't enabled
There is default 15K-ohm pull-down for USB controller.
To disable the default pull-down to avoid signal contention in GPIO mode.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-01-26 22:26:55 +00:00
John Whittington
3f282da22d west: runners: blackmagicprobe: elf_file fallback
Building the HEX file is optional (CONFIG_BUILD_OUTPUT_HEX), so
`bmp_flash` will fallback to elf_file if missing. Additionally, to
maintain section names the HEX is only used if it is signed.

Signed-off-by: John Whittington <git@jbrengineering.co.uk>
2024-01-26 14:24:05 -05:00
John Whittington
10183797a1 west: runners: blackmagicprobe: flash hex_file
The cfg.elf_file is not signed, so `west flash` with a sysbuild will
not run the application if MCUboot image signature checking is on. Using
the cfg.hex_file for `bmp_flash` resolves since as the signed hex is
used when using sysbuild. Symbols are not required for flashing so the
switching from elf to hex is not an issue.

Signed-off-by: John Whittington <git@jbrengineering.co.uk>
2024-01-26 14:24:05 -05:00
Tim Lin
a0a599b54b ITE: drivers/pinctrl: Distinguish between func3-gcr and func3-ext settings
This PR separates the GCTRL settings from func3-gcr to func3-ext.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-01-26 14:21:34 -05:00
Daniel DeGrasse
5808018b05 drivers: i2s: i2s_mcux_flexcomm: Guard use of I2S_EnableSecondaryChannel
Guard use of I2S_EnableSecondaryChannel behind the SDK feature macro
that determines if this support is available, since when this macro is
not defined the SDK function is not implemented.

Fixes #68136

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-26 19:41:03 +01:00
Jukka Rissanen
a1d0764922 net: wifi: Make sure scan band string is null terminated
Make sure that scan band string is properly terminated when
parsing user supplied string.

Fixes: #67944
Coverity-CID: 342930

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 19:40:16 +01:00
Grzegorz Chwierut
cca78041f8 twister: pytest: Fix failing tests of mcumgr fixture.
Updated tests of mcumgr fixture in pytest-twister-harness
plugin.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2024-01-26 19:36:01 +01:00
Seppo Takalo
992936300b net: lwm2m: Use CID_SUPPORTED instead of CID_ENABLED
When ENABLED flag is used, we generate 32 byte DTLS
Connection Identifier and include that in our
DTLS Client HELO. This has no benefit as client only
has one connection toward the server, it does not need
any identification.

When SUPPORTED flag is used, we just include
zero length Connection Identifier in the handshake,
which tell server that we support Connection Identifier
and server can generate one for it.
We then use the CID in the packets that we send towards
server, but response packets don't contain any CID.
This gives all the benefit of CID as server is able to
identify us even when NAT mapping have changed.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-01-26 12:00:51 -06:00
Seppo Takalo
53705c062e samples: lwm2m: Clarify DTLS settings
Clarify some documentation regarding DTLS settings.
Set default QUEUE uptime to 30s, which would be same as
most cellular networks use, and  nRF SDK use.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-01-26 12:00:51 -06:00
Seppo Takalo
2deb3d5b0c samples: lwm2m: Set default bootstrap URI
Don't rely on just port number to select a bootstrap server.
Use full URI.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-01-26 12:00:51 -06:00
Jordan Yates
0ac5835c59 doc: release-notes: document spi_nor sleep changes
Document the changes to sleeping in `spi_nor_wait_until_ready`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-26 11:59:04 -06:00
Sateesh Kotapati
3391730512 gecko: Update BG22, BG27 and MG24 Device files | Update to GSDK 4.4.0
Update the EFR32BG22, BG27 and MG24 device files inside
gecko/Device/SiliconLabs/ from gecko_sdk to align the codebase of
hal_silabs with gecko_sdk 4.4.0.

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2024-01-26 11:57:44 -06:00
Jonathan Rico
d75b44327a Bluetooth: ATT: don't callback if bearer is invalid
If an att buf is destroyed during bearer teardown, we want to avoid
using and passing invalid references to the application.

Double-check that the current bearer, the ATT object and the ACL conn
objects it is attached to are not NULL before proceeding.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-26 11:57:10 -06:00
Francois Ramu
29b0cd4278 drivers: clock_control: stm32h5 driver input vco range
Set the correct VCO input range for the PLL frequency
with each bit PLL1RGE of the PLL1CFGR register
This get_vco_input_range is similar to the stm32h7 one.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-01-26 15:55:42 +00:00
Robert Lubos
154e415c36 tests: net: dhcpv4_server: Add test suite for DHCPv4 server library
Add test suite covering DHCPv4 server library functionality.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-26 15:55:36 +00:00
Robert Lubos
9f1e1b4c60 tests: net: dhcpv4: Move DHCPv4 client tests to subdirectory
Move DHCPv4 client tests to subdirectory, to make room for DHCPv4 server
tests.

Rename test project to dhcpv4_client to better reflect its purpose.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-26 15:55:36 +00:00
Peter Mitsis
7d762050ba tests: smp_suspend: Add configurable delay
Adds a configurable delay to the test threads. It exists to keep
thread0 from hogging the scheduler's spin lock and giving threads
on another core a better chance to obtain that lock and not starve.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-26 15:55:27 +00:00
Henrik Brix Andersen
ffa3e415a0 doc: releases: migration-guide: 3.6: list CAN transceiver API change
Add a note about the addition of a can_mode_t argument to the
can_transceiver_enable() API call.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 15:55:18 +00:00
Henrik Brix Andersen
5e9da13200 drivers: can: propagate CAN controller operation mode to CAN transceiver
Propagate the current CAN controller operation mode to the CAN transceiver
when enabling it.

Some more advanced CAN transceivers, especially those supporting Partial
Networking (CAN PN), require knowledge of the intended CAN operation mode
(e.g. normal mode vs. listen-only mode).

This commit simply prepares the CAN transceiver API for supporting such CAN
transceivers, although no in-tree drivers require this information yet.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 15:55:18 +00:00
Lukasz Mrugala
03bd8d0dd2 scripts: tests: Blackbox - make clear_log fixture autouse
clear_log is used to prevent a common pytest log error,
which makes logs unusable in testing.
Such a fix is useful for all tests,
 so it should be autouse by default.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-26 15:54:25 +00:00
Javad Rahimipetroudi
ce4cdd8d37 boards: arm: b_u585i_iot02a: add bluetooth support
This commits makes it possible to use the onboard bluetooth
module (STM32WB5MMG) with existing zephyr bluetooth samples.
Note that there was no hardware flow control wiring
available on the board, which is why it has been disabled
in the both main board and BLE module Device Tree. As the
board doesn't support HW flow control, users must set
CONFIG_BT_HCI_ACL_FLOW_CONTROL=n in project files.

Signed-off-by: Javad Rahimipetroudi <javad.rahimipetroudi@mind.be>
2024-01-26 15:54:04 +00:00
Javad Rahimipetroudi
67caa1c5ab boards: arm: stm32wb5mmg: add Bluetooth support
This patch introduces the Bluetooth Low Energy (BLE) feature to the board.
The board utilizes the STM32WB5MMG as the BLE module. However, As there
was no BLE controller available for this module. Therefore, a board
support package has been added to enable the STM32WB5MMG module to act as
a BLE controller. This is achieved by running Zephyr's hci_uart example on
the STM32WB5MMG module which enables communication with the main
microcontroller over the H:4 HCI transport protocol. So, users must first
build the BLE controller for the BLE module and upload it via on board
ST-Link,then they can uses Zephyr Bluetooth demos on the development board
Note that there was no hardware flow control wiring available on the
board, which is why it has been disabled in the both main board and BLE
module Device Tree.

Signed-off-by: Javad Rahimipetroudi <javad.rahimipetroudi@mind.be>
2024-01-26 15:54:04 +00:00
Mykola Kvach
413059df84 drivers: pinctrl: pfc_rcar: add mapping of memory for Spider ARM64
Add mapping of PFC device memory for Spider ARM64.
Make mapping code common for all RCar boards.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-01-26 15:53:41 +00:00
Paszkiet Kamil
0e2f19a564 scripts: tests: twister_blackbox: Add more tests to test_report.py
add tests to test_report.py:
 - log-file
 - coverage
 - enable-coverage

Signed-off-by: Paszkiet Kamil <kamilx.paszkiet@intel.com>
2024-01-26 15:53:15 +00:00
Jukka Rissanen
64423e269e hostap: Remove commented Kconfig options
Some crypto Kconfig options were commented out, so remove them.
These will be re-introduced later when adding crypto support
properly.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
0e51913a18 hostap: Temporary kconfig options to pass the compliance checker
Compliance checker does not allow compile definitions without
a Kconfig option. So add dummy values for time being. These should
be removed at some point and replaced with properly namespaced
options.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
6fdb6d5169 hostap: Replace the command line cmd macro
Zephyr compliance checker does not like macros that have control
structures like goto. So change the macro to align with this rule.
Also rename the macro and remove the __ prefix as it not needed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
bf58765b6c hostap: Change the name of the control api struct
Zephyr requires that the name of the variable is not the
same as the struct as seen by this warning:

modules/hostap/src/supp_api.c:64:WARNING:
  Violation to rule 5.7 (Tag name should be unique)
  tag: wpa_supp_api_ctrl

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
7fad50fe4c hostap: Avoid DHCPv4 related warnings if DHCPv4 is disabled
If the DHCPv4 is disabled, then avoid linking warning about
missing DHCPv4 functions. Also include dhcpv4.h so that the
DHCPv4 function prototypes are found by the zephyr supplicant
driver.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
d5ba20b9be hostap: Align to Zephyr coding style
Tweaked the code to be more readable and align to
Zephyr coding style.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
1f79c110a7 hostap: Various changes to the API to wpa_supplicant
Changed the names of the API functions between wpa_supplicant
and Zephyr upper layers. For example replaced the z_ prefix
by zephyr_ as the z_ is only meant for internal kernel
functions.

Changed the wpa_supplicant startup so that we do not poll
but wait the network interface add event which then adds
the network interfaces to the supplicant.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
e352a6e8e9 wifi: Have a separate wifi_drv_ops in wifi_mgmt_offload struct
There is no need to hide the wpa_supplicant interface
struct so add it directly to net_wifi_mgmt_offload struct.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Jukka Rissanen
9ef7ed0a79 manifest: Update hostap information
New hostap version available.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Chaitanya Tata
e2f4711629 hostap: Add Zephyr support
Add new files from hostap to Zephyr build.
Add wifi mgmt thread that communicates with supplicant.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 15:52:54 +00:00
Erwan Gouriou
b772e366c9 dts: stm32u5: Add SW/JTAG debug port node
Provide jtag port pins description, so they can be used to be set in
analog mode when not required to save power (around 40uA saved in total).

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-26 15:52:38 +00:00
Erwan Gouriou
3d0c391ff2 soc: stm32: PM: Disable jtag port pins if no debug
At chip startup, jtag pins are configured by default to enable
debug.
This configuration adds consumption and when using PM profile,
we can save ~40uA by resetting this configuration and setting pins
to analog mode.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-26 15:52:38 +00:00
Erwan Gouriou
9c7c63eb13 west.yml: hal_stm32: Use SW/JTAG signals description
SW/JTAG signals description are useful when we don't need them.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-26 15:52:38 +00:00
Erwan Gouriou
c9c9054bfd boards: nucleo_wba52cg: Enable flash and debug using OpenOCD
OpenOCD can now be used to flash and debug nucleo_wba52cg.
However it required use of STMicroelectronics OpenOCD fork.

Add instructions on how to use it.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-26 15:52:38 +00:00
Christopher Friedt
fc26fd5a15 posix: pthread: initialize t and c pointers to NULL
* initialize posix_thread and __pthread_cleanup ptrs to NULL
* check ret is zero before finalizing a thread in pthread_cancel()

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 10:12:21 -05:00
Patryk Kuniecki
032451994a scripts: tests: Harness
Adding more tests for twister harness.

Signed-off-by: Patryk Kuniecki <patryk.kuniecki@intel.com>
2024-01-26 14:30:31 +01:00
Jukka Rissanen
0d42006dd0 boards: mps2_an385: Re-enable networking tests
This reverts commit 6a3612666e
"boards: mps2_an385: Exclude platform from networking tests"

This would have found the issue described in #67762 where a
network test was failing because of wrong section placement.
All the simulated environments (qemu_x86 and native_sim) used
in network testing missed this problem, but could have easily
found if network tests would have been run in mps2_an385.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-26 14:30:00 +01:00
Sandip Dalvi
4c7eb600c6 net: wifi: add wifi driver version API
Add command to query to WiFi driver/firmware revision. The API is expected
to return the firmware revision and driver version as a string, and can be
used by the user to determine what revision of the WiFi driver is in use.

Signed-off-by: Sandip Dalvi <sandip.dalvi@nxp.com>
2024-01-26 14:29:39 +01:00
Henrik Brix Andersen
6cfbb544de doc: release-notes: 3.6: mention new CAN controller API system calls
Mention the new CAN controller API system calls in the release notes.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
bde074714e drivers: can: shell: print name of associated CAN transceiver if present
Print the name of the associated CAN transceiver in the "can show" shell
subcommand.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
6237e0482b tests: drivers: can: api: add test for can_get_transceiver()
Add test for the can_get_transceiver() system call.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
583d44d7d5 drivers: can: add can_get_transceiver() system call
Add system call can_get_transceiver() for getting the CAN transceiver
associated with a CAN controller.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
336d7ef7b4 drivers: can: shell: print current operation mode in show subcommand
Print the current operation mode in the "can show" shell subcommand.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
156c294c6f tests: drivers: can: api: verify operation mode changes
Verify changes in operation mode throughout the API tests using
can_get_mode().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
69d072ad2f drivers: can: add can_get_mode() system call
Add system call can_get_mode() for getting the current operation mode of a
CAN controller.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
bc8d69caa6 drivers: can: stm32: bxcan: store current operation mode
Store the current operation mode in the can_driver_data structure.

Fixes: 9051824fa3

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Alberto Escolar Piedras
1b90d29c89 modules/zcbor: Fix implicit function declaration warning
Both zcbor_encode.c & zcbor_decode.c use strnlen()
In general these 2 functions are only exposed by the C library
if _POSIX_C_SOURCE is set 200809L.
But neither of these files (or their build scripts), are setting
this macro, causing build warnings
 Implicit declaration of function ‘strnlen’
which turn into failures in CI with some libCs.
Let's set this macro to avoid this issue.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
ca68ef7e5a arch posix: Do not define standard SOURCE macros globally
Do not define these macros globally, but instead
define them only for this library and when needed.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
404db20877 drivers/entropy/native: Define required SOURCE macro
The srandom function is not available
unless _XOPEN_SOURCE is set > 500 or an equivalent
declaration is done.
Let's set it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
cc13643186 board native_posix: Define required source standard macros
Instead of relaying on those macros having been defined
somewhere else let's define them for this library.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Keith Packard
9dcbfa8bf2 libc/picolibc: Remove the global definition of _POSIX_C_SOURCE
This was necessary to get Picolibc to expose the whole Zephyr C library
API, but current versions of the SDK use a version of Picolibc with
built-in Zephyr support.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
4ff79cb74a subsys/net/lib/lwm2m: Define required source standard macros
Instead of relaying on those macros having been defined
somewhere else let's define them for this file.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
c9a1c25dcb tests/net coap_client: Define _POSIX_C_SOURCE
This test uses functions and types which are extensions to
the C library. Let's explicity select one of the extensions
which includes it instead of relaying on somebody having
set it for this file somewhere else.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
4e869ad9f8 tests/bluetooth/uuid: Define required source standard macros
strnlen is not a C standard API, but an extension.
Instead of relaying that the SOURCE macro was set somewhere else
of that the C library provides a prototype anyhow
let's explicitly define it for this library.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
10060c8891 tests/benchmarks/footprints: Define required source standard macros
strnlen is not a C standard API, but an extension.
Instead of relaying that the SOURCE macro was set somewhere else
of that the C library provides a prototype anyhow
let's explicitly define it for this library.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
68c3a9ba46 tests modem/backends/tty: Define _XOPEN_SOURCE
This test uses functions which are extensions to
the C library. Let's explicity select one of the extensions
which includes it instead of relaying on somebody having
set it for this file somewhere else.
(Note this test is exclusive to native targets)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
f53cf8f54c tests/lib/c_lib: Set standard source macro appropriately
strnlen() and strtok_r() are tested in this files
which are extensions to the the
std C library. Let's explicity select one of the extensions
also when building with the host C library,
instead of relaying on somebody having
set it for this file somewhere else.

Also, let's be nice and undefine them first in case they had
been defined somewhere else in the build scripts.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
7369bb56e3 drivers rtc: Do not treat the host libC differently
This code was using strptime from the C library in some cases,
but this function is an extension which many embedded libCs do
not provide, and which is not provided by default unless
_XOPEN_SOURCE or a similar macro is defined before the system headers
are included.

We could define _XOPEN_SOURCE for the libraries that provide it,
but instead of treating the host C library differently than
embedded libraries, let's just build the provided version always,
as that should provide better coverage of this code.

Note: It seems picolibc's strptime is broken,
until this very recent patch:
https://github.com/picolibc/picolibc/pull/657
so we should not select it when building for this library
for a while either.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
06f15fcc36 subsys shell devmem_service: Fix includes
* The include for the host libC should be guarded with
  using the host libC instead of the POSIX arch, as this
  supports other C libraries.
* This code uses getopt, which is an extension to the
  C library. Let's explicity select one of the extensions
  which includes it instead of relaying on somebody having
  set it for this file somewhere else.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
d4967b086a tests rtc_api: Define _POSIX_C_SOURCE
This test uses functions which are extensions to
the C library. Let's explicity select one of the extensions
which includes it instead of relaying on somebody having
set it for this file somewhere else.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Keith Packard
3cc4c5eb7a posix: Use _POSIX_C_SOURCE=200809L instead of 200809
This constant is supposed to be defined as a long instead of an int,
presumably to support systems where int isn't large enough.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
eb38e8db31 drivers uart_native_ptty: Set standard source macro appropriately
This file uses several functions which are extensions to the the
std C library. Let's explicity select one of the extensions
which includes it instead of relaying on somebody having
set it for this file somewhere else.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
1b94864a87 drivers epprom_simulator: Set standard source macro appropriately
This file uses several functions which are extensions to the the
std C library. Let's explicity select one of the extensions
which includes it instead of relaying on somebody having
set it for this file somewhere else.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
318f824d76 drivers flash_simulator: Set standard source macro appropriately
This file uses several functions which are extensions to the the
std C library. Let's explicity select one of the extensions
which includes it instead of relaying on somebody having
set it for this file somewhere else.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Alberto Escolar Piedras
2417599dc0 ztest native extensions: Set standard source macro appropriately
This file uses strtok_r which is an extension to the the
std C library. Let's explicity select one of the extensions
which includes it instead of relaying on somebody having
set it for this file somewhere else.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-26 07:48:55 -05:00
Keith Packard
07943eae86 drivers/wifi/esp32: Remove _POSIX_C_SOURCE define as unneeded
This driver doesn't use any APIs outside of the Zephyr C library list, so
it doesn't need this _POSIX_C_SOURCE define.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-26 07:48:55 -05:00
Pisit Sawangvonganan
512dc9ff38 doc: fix typo in multiple directories (build, hardware, kernel, project)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/build, hardware, kernel, project directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-26 13:16:18 +01:00
Pisit Sawangvonganan
accea5eb69 doc: services: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/services directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-26 13:16:18 +01:00
Pisit Sawangvonganan
0ee2927c32 doc: develop: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/develop directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-26 13:16:18 +01:00
Pisit Sawangvonganan
679cea1c06 doc: connectivity: networking: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/connectivity/networking directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-26 13:16:18 +01:00
Pisit Sawangvonganan
9a59e03225 doc: connectivity: bluetooth: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/connectivity/bluetooth directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-26 13:16:18 +01:00
Daniel DeGrasse
664e710b1c samples: net: zperf: relocate stack to RAM for iMX RT boards
Relocate network stack to RAM for iMX RT boards when running the zperf
sample. Relocating the network stack to ITCM greatly improves
performance on these platforms.

Also, remove overlays for the RT1050 and RT1060 setting the system timer
to systick. This is no longer required as this is the default timer for
these boards.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-26 12:57:02 +01:00
Daniel DeGrasse
68952095a5 samples: net: zperf: allow networking code to be relocated to RAM
Enable relocation of key networking stack functions to RAM when running
the zperf example. This will enable better performance on platforms with
fast code RAM.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-26 12:57:02 +01:00
Christopher Friedt
e4b3df53dd tests: posix: pthread: identify thread ids of detached threads
Previously, the number 2 seemed to be somewhat magical. This
removes some of the mystery by labeling it.

So threads >= DETACH_THR_ID will be detached (we should not
attempt to join detached threads).

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
dbf7003162 tests: posix + libc: qemu_x86*: use dynamic stack size of 4096
For qemu_x86 and qemu_x86_64, it would seem that
heap-allocated thread stacks, as well as thread stacks
defined via K_THREAD_STACK_ARRAY_DEFINE(), must be at least
4096 bytes in size.

Using those sizes will ensure that these tests do not
fail with stack overflows or MMU faults.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
23016f4589 posix: pthread: posix_thread_q_set() and posix_thread_q_get()
Create getter and setter functions for setting internal pthread
states to READY, RUN, or DONE queues.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
81f3777be1 posix: pthread: hold pool lock when calling to_posix_thread()
There may be race conditions when calling to_posix_thread()
from multiple threads.

Ensuing that the pthread pool lock is held when
to_posix_thread() is called will prevent those races.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
77135fcbc6 posix: pthread: embed posix_thread_attr inside of posix_thread
Rather than shadowing most of the fields from pthread_attr_t
(struct posix_thread_attr) inside of struct posix_thread, just
embed the structure itself.

Additionally, use pthread_attr_init() to allocate a thread
stack and pthread_attr_destroy() to destroy a thread stack,
dramatically simplifying pthread_create().

A fair bit of rework was needed already to mitigate bitrot
issues in the testsuite. More should probably be done later.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
dbcba2f46c posix: pthread: check canceltype before async cancel
The default pthread cancellation type is deferred.

Check that the canceltype is asynchronous (with
respect to cancellation points) before cancelling
a thread.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
301581a892 posix: pthread: wrapper to check attribute initialization
Add a small wrapper to check if a pthread_attr_t has been
properly initialized (i.e. ready to pass to
pthread_create()).

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
9f3d7776ab kernel: dynamic: reduce verbosity in degenerate case
k_thread_stack_free() is designed to be called with any pointer
value. We return -EINVAL when an attempt is made to free an
invalid stack pointer.

This change reduces the verbosity in the degenerate case, when
the pointer is not obtained via k_thread_stack_alloc(), but
otherwise does not affect functionality.

If debug log verbosity is not enabled, we save a few bytes in
.text / .rodata / .strtab.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
5ca0f28bb2 tests: posix: common: dedicated config for static thread stacks
The testsuite has been shifted to use dynamic thread
stacks (either statically allocated via a pool, or
dynamically allocated via the heap).

However, we definitely still need coverage for manually
specified thread stacks - but lets avoid duplicating
tests unnecessarily.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Christopher Friedt
5eb0bbeb54 tests: posix: pthread_attr: skip when large stack allocation fails
Rather than fail when attempting to set an extraordinarily large
pthread stack size (much larger than most Zephyr platforms have)
consider the test non-fatal and skip it.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-26 06:50:11 -05:00
Jan Bylicki
3ef7f2a511 boards: arm: mercury_xu: Add remaining UART pin definitions
Add remaining UART0 pin definitions and migrate UART1 to utilize the
pinmux api

Signed-off-by: Jan Bylicki <jbylicki@antmicro.com>
2024-01-26 12:47:11 +01:00
Jan Bylicki
3042cb877a boards: arm: mercury_xu: Define the pinctrl instance
Define the pinctrl-based pin controller instance
for the Mercury XU board and remove the old implementation

Signed-off-by: Jan Bylicki <jbylicki@antmicro.com>
2024-01-26 12:47:11 +01:00
Jan Bylicki
6400e3f437 drivers: pinctrl: Add ZynqMP / Mercury XU pinctrl support
Add a pinctrl driver for the ZynqMP SoC and the
Mercury XU board powered by it.

Signed-off-by: Jan Bylicki <jbylicki@antmicro.com>
2024-01-26 12:47:11 +01:00
Richard Wheatley
c6f21b2017 boards: arm: apollo4p_evb Shield Support
Correct pinctrl for rev2 board.
Rename IOM properly in ambiq_apollo4p.dtsi

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2024-01-26 12:36:40 +01:00
Jordan Yates
d2e090d1b1 boards: remove LOG_BUFFER_SIZE low defaults
Setting an extremely low value by default on two boards doesn't seem
like the right thing to do. The defaults were added with the v1 logging
subsystem in https://github.com/zephyrproject-rtos/zephyr/pull/8023.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-26 12:36:29 +01:00
Luca Burelli
5f2c6e58b0 ztest: export ztest_test_* symbols to llexts
Export the minimal set of ztest_test_* symbols to llexts so that the
zassert_* macros can be used by the extension code to affect test
execution. Calling these also requires vprintk() to be exported.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-01-26 12:36:23 +01:00
cyliang tw
37696829a9 drivers: watchdog: andes atcwdt200 remove soc.h
soc\riscv\andes_v5\ae350\soc.h was empty and deleted,so revise
 wdt_andes_atcwdt200.c to resolve
 'fatal error: soc.h: No such file or directory'.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-01-26 12:36:16 +01:00
Yong Cong Sin
d07d8082c9 doc: touch-up multi-level interrupt documentation
Some very minor touch-ups for multi-level interrupt
wordings and documentations to better reflects its current
state.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-26 11:47:36 +01:00
Greter Raffael
e78aacdf29 cmake: zephyr_linker_sources: Link each file only once
If an ld file is included multiple times using `zephyr_linker_sources`,
only the last occurrence is actually used. Everything else is removed
again from the generated snippet files.

This allows to relocate certain blocks, e.g. the vector table, in an
application-specific CMakeLists.txt (or for an arch or soc).

Fixes: #66315

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-26 11:26:06 +01:00
Marcin Niestroj
499edcdbc9 drivers: display: uc81xx: fix 16-bit 'tres'
Use 'struct uc81xx_tres16' for 16-bit 'tres' setup, instead of 'struct
uc81xx_tres8'. This fixes a regression when support for 'uc8175' was added
and 'struct uc81xx_tres' was replaced with 'struct uc81xx_tres16'.

Fixes: 7c46b0b898 ("drivers: display: uc81xx: add support for uc8175")

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-01-26 11:03:48 +01:00
Maciej Baczmanski
85bc24eb07 net: openthread: Add PSA implementation for PBDKF2 genkey
Add implementation of openthread pbkdf2 generate key using PSA
functions.

Co-authored-by: Joakim Andersson <joakim.andersson@nordicsemi.no>

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 11:03:42 +01:00
Maciej Baczmanski
0f1747e4e7 net: openthread: upmerge to 7761b81
additionaly, implement `otPlatRadioResetCsl` functionality

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 10:48:02 +01:00
Maciej Baczmanski
36b7f44c1d drivers: ieee802154: fix handling of struct ieee802154_config
`struct ieee802154_config config` is a struct containing an
union. Members of `config` were accessed incorrectly in
`otPlatRadioEnableCsl`. Fix by initializing `config` with `0`
and accessing one member at a time.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 10:48:02 +01:00
Maciej Baczmanski
d76bcd346c drivers: ieee802154: fix ACK header IE implementation
- In `set_vendor_ie_header_lm`, case when
`link_metrics_data_len == 0` has been ignored.
This commit fixes that by setting `header_ie->length = 0`
before returning.
- current implementation of enh ACK header IE returns
`-ENOTSUP` when `ack_ie.header_ie == NULL` or
`ack_ie.header_ie->length == 0`. This commit fixes that by
refactoring checks in `nrf5_configure`.

Co-authored-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 10:48:02 +01:00
Dawid Niedzwiecki
8ff447700b arm: mpu: clear mpu regions before initialization
Disabling the MPU doesn't clear regions configuration. There is a risk
in multi-image environment that there are some old region setting e.g.
stack guard. This may cause a memory fault, because of different images
layout e.g. RO/RW.

Just clear and disable all regions configuration before the new
initialization.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-01-26 09:33:09 +00:00
Bartosz Bilas
a4f004e654 drivers: adc: ad5592: add missing static keyword
Add the missing static keyword for driver data structure.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-26 09:32:49 +00:00
Vinayak Kariappa Chettimada
87aa53ccae Bluetooth: Controller: Fix BIS Encryption for first subevent PDU empty
Fix radio packet length configuration when first subevent
has empty PDU in the BIG event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-26 09:45:35 +01:00
Vinayak Kariappa Chettimada
4192f8a844 Bluetooth: Controller: Fix ISO Sync Receiver sequential BIS PDU drop
Fix ISO Synchronized Receiver sequential packing BIS PDU
being dropped in the first repetation just after previous
BIS subevents where skipped.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-26 09:45:24 +01:00
Vinayak Kariappa Chettimada
653d285210 Bluetooth: Controller: Fix Broadcast ISO Create Scheduling
Fix Broadcast ISO Create Scheduling to consider reducing
Host requested RTN value. And also use maximum overhead
calculation when Extended Advertising and Periodic
Advertising have not been started before BIG create.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-26 09:45:09 +01:00
Vinayak Kariappa Chettimada
818ae7acb0 Bluetooth: Controller: Fix incorrect HCI ISO Data length check
Fix incorrect HCI ISO data length check for Broadcast ISO
transmissions.

Removed initially added code when preliminary support for
Broadcast ISO was implemented.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-26 09:45:09 +01:00
Declan Snyder
9ca7e4e487 drivers: mdio: Include errno in header
MDIO driver header (mdio.h)is using errno values without including
errno header, this causes build errors depending on the order of inclusion
of this mdio header in other files, fix by including the errno header
in this mdio.h file.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-01-26 09:44:11 +01:00
Kai Vehmanen
19a33c7884 init: adjust the SYS_INIT dev field init to play nice with older compilers
Fix a build error with certain older Cadence XCC toolchains. These
are used e.g. for Intel Tiger Lake products for the audio DSP (thhe oldest
platform supported in Zephyr upstream for the audio DSP).

To keep all compilers happy, use C89 style initializers.

Error:
lib/os/p4wq.c:216: error: unknown field ‘dev’ specified in initializer
lib/os/p4wq.c:216: warning: missing braces around initializer
lib/os/p4wq.c:216: warning: (near initialization for
  ‘__init_static_init.<anonymous>’)

Compiler version XCC RG-2017.8-linux (xt-xcc version 12.0.8)

Fixes: 2438dbb613 ("init: add missing initialization of dev pointer
in SYS_INIT macro")
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-01-26 09:44:04 +01:00
Anas Nashif
9194a93d87 ci: compliance: exclude optional modules during compliance check
We should not have any dependencies on optional modules, for example on
Kconfigs from optional modules. Compliance has to pass without any
optional modules enabled.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-26 09:43:55 +01:00
Emil Gydesen
2b0e39dfa5 Bluetooth: Audio: Add bt_audio_codec unset functions
Add functions to unset, or remove, specific codec
LTV structure from codec_cfgs or codec_caps.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-26 09:43:30 +01:00
Magdalena Kasenberg
0d27dd5dd3 bluetooth: tester: Add support for CAP
Add support for CAP test cases.
Split btp_bap.c for better maintenance into unicast and broadcast.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2024-01-25 19:32:34 -05:00
Declan Snyder
dcedb649ca drivers: nxp_enet: Fix build error with PTP on
Fix build errors in nxp enet driver during case where PTP on,
and add coverage to CI.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-01-25 19:32:02 -05:00
David Leach
3ff78288a6 manifest: update hal_nxp
HAL update removes unneeded files to reduce the size of the NXP HAL.

Signed-off-by: David Leach <david.leach@nxp.com>
2024-01-25 19:31:39 -05:00
Pisit Sawangvonganan
f51c8ee739 doc: releases: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/releases directory.

The typo in the 'Issue Related Items' section will be left unchanged.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-25 18:14:31 -05:00
Pisit Sawangvonganan
4889c9ca17 sd: update comment to reference 'SD host controller specification'
In the code comments referring to section 3.6.1, changed the reference
from 'SD specification' to 'SD host controller specification'
for a clearer and more accurate context.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-25 20:13:25 +01:00
Pisit Sawangvonganan
1829fc33cb sd: omit zero-initialization for csd[4] and cid[4]
After a review of the usage of csd[4] and cid[4],
it has been determined that zero-initialization can be omitted.

It can be expected from successful operations that data will be
appropriately written back from the underlying layer.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-25 20:13:25 +01:00
Pisit Sawangvonganan
8534c38232 sd: omit zero-initialization for sdhc_command and sdhc_data structures
The decision to omit zero-initialization is driven by a desire to enhance
Zephyr's compactness and efficiency.

This is achieved by omitting zero-initialization, thereby reducing the
instruction count and, as a byproduct, the code size.

After a thorough review of the usage of struct sdhc_command and sdhc_data,
it has been determined that zero-initialization can be omitted.
Only a portion of the fields need to be manually initialized.
(e.g. cmd.retries, data.block_addr)

For the uninitialized fields, it can be expected from successful
operations that data will be appropriately written back from
the underlying layer.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-25 20:13:25 +01:00
Pisit Sawangvonganan
612aa7169a sd: add config SD_CMD_RETRIES
Introduced the config SD_CMD_RETRIES option as a build-time parameter.
This allows the assignment of a specific value to cmd.retries.
The default value has been set to 0 to preserve the previous setting.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-25 20:13:25 +01:00
Daniel Leung
cc25637126 soc: intel_adsp/ace: fix assert for uncached pointer
Only when CONFIG_MP_MAX_NUM_CPUS > 1, then .bss is put in
uncached region. Otherwise, .bss is in cached region.
So the assertion that g_key_read_holder must be in uncached
region must take into account how many CPUs are enabled on
build.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-25 20:12:28 +01:00
Adam Wojasinski
2e7a1f9702 doc: posix: Update POSIX supported API documentation
Updates in documentation support for `mq_notify` API
in `_POSIX_MESSAGE_PASSING` group option.

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2024-01-25 19:47:37 +01:00
Adam Wojasinski
dfb6e5aa96 tests: posix: Add test cases for mq_notify()
Adds test cases testing following features:
- function error handling
- basic notification type
- thread notification type
- adding notification to non-empty queue

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2024-01-25 19:47:37 +01:00
Adam Wojasinski
c1643f9701 posix: Add implementation of mq_notify() function
The function was the last missing piece of the `_POSIX_MESSAGE_PASSING`
option group. Due to lack of signal subsystem in the Zephyr RTOS
the `sigev_notify` member of the `sigevent` structure that describes
the notification cannot be set to `SIGEV_SIGNAL` - this notification
type is not implemented, the function will return -1 and set `errno`
to `ENOSYS`.

`mq_notify` documentation:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/mq_notify.html

Fixes #66958

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2024-01-25 19:47:37 +01:00
Armando Visconti
9f1c256e46 samples/shields: add samples to test x-nucleo-iks4a1 shield
Provide three basic examples to test the x-nucleo-iks4a1 shield:

    - Test shield in standard mode
        Acquire sensor data from shield with all MEMS sensors connected
        to micro-controller

    - Test shield in HUB1 mode
        Acquire sensor data from shield with lis2mdl and lps22df
        connected to LSM6DSV16X sensor hub

    - Test shield in HUB2 mode
        Acquire sensor data from shield with lis2mdl and lps22df
        connected to LSm6DSO16IS sensor hub

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-25 18:26:40 +00:00
Armando Visconti
cc3040aed6 boards/shields: add support for x-nucleo-iks4a1 shield
x-nucleo-iks4a1 shield is an arduino compatible companion board
which can be used on top of Nucleo standard boards for industrial
applications. Following MEMS sensor are currently supported:

    - LSM6DSO16IS: MEMS 3D accelerometer + 3D gyroscope
    - LSM6DSV16X: MEMS 3D accelerometer + 3D gyroscope
    - LIS2MDL: MEMS 3D magnetometer
    - LPS22DF: Low-power and high-precision MEMS pressure sensor

(https://www.st.com/resource/en/data_brief/x-nucleo-iks4a1.pdf)

The board exports three overlays:

    1. x_nucleo_iks4a1.overlay (standard mode)

       All MEMS sensors are connected to micro-controller.

    2. x_nucleo_iks4a1_shub1.overlay (HUB1 mode)

       LSM6DSV16X IMU sensor act as a sensor_hub with LIS2MDL and
       LPS22DF connected to it.

    3. x_nucleo_iks4a1_shub2.overlay (HUB2 mode)

       LSM6DSO16IS IMU sensor act as a sensor_hub with LIS2MDL and
       LPS22DF connected to it.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-25 18:26:40 +00:00
Manuel Argüelles
ed0ccbbc0b boards: arm: ucans32k1sic: enable watchdog support
Document support and enable testing for the watchdog
driver on this board.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-25 18:26:25 +00:00
Manuel Argüelles
f38b01c7ac soc: arm: nxp_s32: s32k1: enable watchdog driver
Enable on-chip watchdog driver support for S32K1 devices.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-25 18:26:25 +00:00
Kai Vehmanen
f6995feae9 soc: xtensa: intel_adsp: cavs: fix XCC build
Commit 3b99fb1b4a ("xtensa: do not imply atomic ops kconfig") removed
ATOMIC_OPERATIONS_ARCH at xtensa arch level. This triggers a bug in
intel_adsp cavs builds with XCC compiler as
CONFIG_ATOMIC_OPERATIONS_BUILTIN is not defined but neither is
CONFIG_ATOMIC_OPERATIONS_ARCH anymore, resulting in failed builds.

Fix the XCC build by defining CONFIG_ATOMIC_OPERATIONS_ARCH at
soc level.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-01-25 17:54:26 +01:00
Benjamin Lemouzy
5ff55630a3 drivers: audio: tas6422dac: fix codec_mute_output function
Mute GPIO mutes both channel 1 and channel 2.
So, only control it when all channels have to be muted.

Signed-off-by: Benjamin Lemouzy <blemouzy@centralp.fr>
2024-01-25 17:54:14 +01:00
Benedikt Schmidt
23ed31383e drivers: gpio: use gpio_is_ready_dt in TLE9104
Use gpio_is_ready_dt in the driver for the TLE9104 before
actually using the GPIO.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-25 17:52:06 +01:00
Benedikt Schmidt
f26da17723 drivers: gpio: make reset of TLE9104 optional
In some hardware designs it might happen that the reset signal
for the TLE9104 is not used only for this purpose, but instead for
instance to reset other devices at the same time. For such a hardware
design it is then necessary to make the reset GPIO optional. The reset
will have to be triggered earlier on.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-25 17:52:06 +01:00
Chaitanya Tata
c07d648304 wifi: shell: Remove duplicate argument count checks
Now that we are using the shell macro to enforce argument count check,
both mandatory and optional arguments, these additions checks are
unnecessary.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-25 11:50:59 -05:00
Chaitanya Tata
c53a1df138 wifi: shell: ap: Add a command to disconnect a station
The shell commands can be used to disconnect a connected station in AP
mode.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-25 11:50:59 -05:00
Chaitanya Tata
de667a7fae wifi: ap: Add support to disconnect a STA
In AP mode, this can be used to disconnect a connected station.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-25 11:50:59 -05:00
Benedikt Schmidt
5a618057de drivers: gpio: add missing check if GPIO is ready for BD8LB600FS
Add a missing call to gpio_is_ready_dt in the driver of
the BD8LB600FS.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-25 11:50:35 -05:00
Benedikt Schmidt
7b55b99cac drivers: gpio: implement daisy chaining for BD8LB600FS
This implements the daisy chain feature of the low side switch
BD8LB600FS. The daisy chaining is in hardware achieved via
connecting the MISO and MOSI lines of multiple instances of the IC
in a row. It is implemented in the driver through a variable number
of GPIOs on one instance. Therefore, one device tree instance of the
IC will handle multiple daisy chained physical instances.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-25 11:50:35 -05:00
Anas Nashif
2dc1cc712a manifest: optional: update SOF to latest from upstream
Update to latest commit with patches to align with zephyr tree.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-25 11:50:07 -05:00
Fabio Baltieri
a06b7a4676 input: keymap: use the non _OR_NULL DEVICE_DT_GET variant
This driver really needs a device associated with it for the
syncronization bit to make sense, and since the argument is DT_PARENT it
will get it all the time, so no changes in practice, but this should
have been using the normal macro anyway.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-25 16:02:16 +00:00
Adrien MARTIN
2d8f4d1899 boards: arm: nucleo_g0b1re: add fdcan2 support
The nucleo_g0b1re board is based on stm32g0 that supports 2 can
controllers. This commit adds support for the second can controller.
Add also can label in yml board file.

Signed-off-by: Adrien MARTIN <adrienmar@kickmaker.net>
2024-01-25 16:01:40 +00:00
Adrien MARTIN
c1ae6e5b4e soc: stm32g0: add fdcan2
The STM32G0 soc has 2 CAN controllers. The 2nd on was not working
with zephyr yet as both controllers shares the same IRQ. Recently, the
shared irq system was integrated on now, both can controllers can work
on this chip. Shared interrupts must be enabled only if both can
controllers are enabled.

Signed-off-by: Adrien MARTIN <adrienmar@kickmaker.net>
2024-01-25 16:01:40 +00:00
Daniel DeGrasse
c8dfdda027 drivers: i2s: i2s_mcux_flexcomm: support additional channels and formats
Add support for more than 2 I2S channels to the I2S Flexcomm driver.
Additionally, remove comment stating I2S PCM and Left justified formats
are not supported, as these formats are now validated to function
correctly.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-25 16:01:14 +00:00
Jean Nanchen
80f7d518c6 modbus: Remove mode reset in modbus_disable function
Remove reset mode in modbus_disable.

Signed-off-by: Jean Nanchen <jean.nanchen@gmail.com>
2024-01-25 16:00:38 +00:00
Øyvind Rønningstad
0176a27474 doc: Add release notes and migration guide for zcbor 0.8.0
A short release note referring to the official release notes,
and a migration guide with the most likely changes that need to be made.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-25 15:09:16 +00:00
Øyvind Rønningstad
223b4c372f tests: mgmt: Adapt to API changes in zcbor 0.8.0
zcbor_new_state and zcbor_tstr_put_term

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-25 15:09:16 +00:00
Øyvind Rønningstad
527af809f8 mgmt: Adapt to API changes in zcbor 0.8.0
zcbor_new_state and zcbor_tstr_put_term

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-25 15:09:16 +00:00
Øyvind Rønningstad
1bbb0a9ddb lwm2m: Adapt to zcbor 0.8.0
Regenerate from CDDL, update patch, fix references in code.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-25 15:09:16 +00:00
Øyvind Rønningstad
ea4c12df82 modules: zcbor: Add config CONFIG_ZCBOR_MAX_STR_LEN
For use with zcbor_tstr_put_term() which needs a maximum string
length.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-25 15:09:16 +00:00
Øyvind Rønningstad
5d95776514 scripts: requirements-extra.txt: Update zcbor from 0.6.0 to 0.8.0
If people are using the zcbor script for code generation, it needs to be
at the latest version

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-25 15:09:16 +00:00
Øyvind Rønningstad
0786e523da west.yml: Update zcbor to 0.8.0 as well as uoscore-uedhoc and MCUboot
Highlights of zcbor 0.8.0:
- Add support for unordered maps
- Performance improvements
- Naming improvements for generated code
- Bugfixes

Update MCUboot and uoscore-uedhoc to bring in changes related to
zcbor 0.8.0.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-25 15:09:16 +00:00
Hang Fan
b3d2891e16 Bluetooth: Classic: Add support for class of device
Add `CONFIG_BT_COD` for class of device.

< HCI Command: Write Class of Device (0x03|0x0024) plen 3
        Class: 0x200408
          Major class: Audio/Video (headset, speaker, stereo, video, vcr)
          Minor class: Hands-free Device
          Audio (Speaker, Microphone, Headset)
> HCI Event: Command Complete (0x0e) plen 4
      Write Class of Device (0x03|0x0024) ncmd 1
        Status: Success (0x00)

Signed-off-by: Hang Fan <fanhang8@gmail.com>
2024-01-25 15:09:01 +00:00
Patryk Duda
73396f9f86 flash: Add program/erase parallelism support for STM32F4x
The implementation uses the same approach as STM32F1x.

Program/erase speed can be set by setting 'write-block-size' flash
property to 1, 2, 4 or 8.

Signed-off-by: Patryk Duda <patrykd@google.com>
2024-01-25 14:45:32 +01:00
Nicolas Pitre
7c21df641d multi_heap: keep number of heaps as an unsigned value
Although very unlikely for this value to ever be negative in practice,
this would make Coverity happy.

Fixes #67969

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2024-01-25 11:36:23 +00:00
Alberto Escolar Piedras
571b647825 subsys/net/lib/lwm2m: Change how we seed the random generator
Instead of seeding the random generator from the test
itself calling into a host API, let's use the
entropy generator option to be seeded from /dev/urandom

This avoids trouble with the srandom() and time() calls
not existing depending on the chosen C library.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-25 12:28:51 +01:00
Alberto Escolar Piedras
c6ed39e3ad drivers entropy fake_native: Add option to seed generator randomly
Add a command line option which will seed the random generator
from /dev/urandom.
This can be usefull for some particular tests in which we are
interested in having different random numbers in each run,
but we cannot provide a different random seed from command line.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-25 12:28:51 +01:00
Flavio Ceolin
3fc5d971fe security: Add compiler static analysis support
Enable GCC builtin static analysis in Zephyr's static code analysis
(SCA) infra.

When this option is enabled GCC performs a static analysis and
can point problems like:

sample.c

+	int *j;
+
+	if (j != NULL) {
+		printf("j != NULL\n");

output:

${ZEPHYR_BASE}/samples/userspace/hello_world_user/src/main.c:30:12:
warning: use of uninitialized value 'j' [CWE-457]
[-Wanalyzer-use-of-uninitialized-value]

   30 |         if (j != NULL) {
      |            ^
  'main': events 1-2
    |
    |   25 |         int *j;
    |      |              ^
    |      |              |
    |      |              (1) region created on stack here
    |......
    |   30 |         if (j != NULL) {
    |      |            ~
    |      |            |
    |      |            (2) use of uninitialized value 'j' here

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-25 12:07:27 +01:00
Keith Packard
b27494b7ed lib/libc: Update picolibc to 1.8.6
* Reduces memory usage for ctype while fixing an 'isblank'
   related compatibility issue.

 * Resolves compatibility issues with GCC 13

 * Removes explicit _POSIX_C_SOURCE definition when building
   as a module.

 * Fix some _FORTIFY_SOURCE issues.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-25 12:07:19 +01:00
Keith Packard
4f40dd1f95 tests/strerror: Remove test for non-standard strerror_r function
Zephyr does not include this function under Rule A.4: C Standard Library
Usage Restrictions in Zephyr Kernel, hence a conforming C library need not
provide it.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-25 12:07:19 +01:00
Christopher Friedt
57057b141c posix: add a top-level menu
Add a top-level menu to prevent POSIX API options from
cluttering the menuconfig view under
"Additional libraries".

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-25 05:54:06 -05:00
Bjarki Arge Andreasen
d801e697dd modem: chat: Implement TRANSMIT_IDLE event
Refactors modem chat module to use TRANSMIT_IDLE event instead
of polling when transmitting, cleaning up the transmit handler
by combining duplicate code and using an internal state instead
of multiple iterators to track send state.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-25 11:22:42 +01:00
Bjarki Arge Andreasen
27b0d4e3fe modem: chat: remove receive and transmit timeouts
Remove receive and transmit timeouts which are no
longer useful as the RECEIVE_READY and
TRANSMIT_IDLE events will be used to efficiently
manage timeouts between transmit/receive calls.

Then update the the in-tree drivers using the
modem_chat module to omit the process timeout
parameter.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-25 11:22:42 +01:00
Magdalena Kasenberg
62809d7581 bluetooth: tester: Enable BT_CTLR_ISOAL_PSN_IGNORE
Temporarily ignore the Tx ISO Data Packet Sequence Number use
as the tester app does not have yet a synchronization mechanism for
the sequence number and it constantly fails to send ISO data on time.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2024-01-25 09:04:02 +01:00
Guillaume Gautier
5aff88ab93 drivers: entropy: stm32: reinit rng when exiting suspend to ram
With PM, when resuming from low power mode, reenable the RNG register
clocks and check the health register. If it is not set to the desired
value, it means we exit Suspend to RAM mode, and that the RNG needs to be
reinitialized.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Guillaume Gautier
b8fdcbb59e drivers: entropy: stm32: prevent suspend to ram when operation in progress
Prevent the system to enter Suspend to RAM state while RNG operation is
in progress.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Guillaume Gautier
276fc569d6 drivers: adc: stm32: prevent suspend to ram while measure in progress
Prevents the system to go in Suspend to RAM low power mode while ADC
measurement is in progress.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Guillaume Gautier
0792a85f77 drivers: serial: stm32: add reinit after standby
When resuming from low power mode, if UART is disabled, this means that
we come from a mode that reset the registers, so we redo a full init of
the driver.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Guillaume Gautier
be26c71fd4 drivers: serial: stm32: prevent suspend to ram when operation in progress
Prevent the system to enter Suspend to RAM state while UART operation is
in progress.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Guillaume Gautier
02ef0c5fb9 drivers: gpio: stm32: do not resume device when flag is DISCONNECTED
Fix a bug where after a standby, it was impossible to reenable a GPIO
clock.

A counter is incremented each time pm_device_runtime_get is called, and
decremented each time pm_device_runtime_put is called. The
clock is only enabled if this counter equals 1.
When configuring a GPIO (as input or output), the timer is incremented, and
when disconnecting it, it is both incremented and decremented. Thus the
next time we try to configuring it, the clock is not enabled (since the
counter will now be equal to 2).

This causes a problem when using low power standby mode: after wakeup all
clocks are disabled and the GPIO clock can not be reenabled.

This commit fixes this bug by not incrementing the counter when disconnect
is asked (or in other words incrementing it only when configuring either
an input or an output).

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Guillaume Gautier
58c296b30f drivers: timer: stm32 lptim: add support for backup standby timer
Add support for a backup standby timer in STM32 LPTIM driver for cases
when the LPTIM is not available (ie standby low power mode).
A counter (typically RTC) is used for such a case.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Guillaume Gautier
e541666d90 drivers: timer: stm32: lptim: remove init to 0 of static
Remove initialization of static variable to 0 to prevent resetting the
value when reinitializing the driver after resume from standby.
This has no impact since static variables are initialized to 0 by default.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-25 08:55:02 +01:00
Mykola Kvach
09fbd4c2cd drivers: pinctrl: renesas: add definitions of missed IPSR macros
Add missed definitions of IP[0-3]SR[67] macros.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-01-25 08:54:52 +01:00
Mykola Kvach
caf9a53330 drivers: pinctrl: renesas: fix ipsr generation for S4
Avoid unexpected memory access in cases where the IPSR has an odd
register index. In the scenario where an odd register index is present
in IPSR, the LSB of the register index is utilized as MSB of the bank
number. Observe how we pack reg/bank:
    'IPSR(((reg) << 4U) | (bank), shift, func)' (macro IPnSR)
and how it is read from the device tree source:
    '(RCAR_IPSR(node_id) >> 10U) & 0x1FU' (macro RCAR_PIN_FUNC).

 Finally, this bank is used to obtain the required IPSR offset:
    'PFC_RCAR_IPSR + rcar_func->bank * sizeof(uint32_t)'
in the 'pfc_rcar_set_ipsr' function. For example, if we have the 1 as
a reg index and the 3-rd bank, the resulting offset would be 19,
which is beyond the IPSR range.

Align the IPSR comment with the definition of the 'rcar_pin_func'
structure.

Note: we can omit the usage of the register index entirely since this
information is obtained from the pin number inside the
'pfc_rcar_get_reg_index' function.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-01-25 08:54:52 +01:00
Timm Knape
019fbefa0f doc: Clarified usage of STL with Minimal C++ Library
STL is not available, so the applications should *not* rely on it.

Signed-off-by: Timm Knape <timm@knp.de>
2024-01-25 08:54:38 +01:00
Jordan Yates
4019d17746 flash: spi_nor: different wait_until_ready delays
Provide different loop delays to `wait_until_ready` based upon the
operation that we are waiting for.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-24 22:15:33 -06:00
Jordan Yates
a7ba06bedb flash: spi_nor: don't hard loop in wait_until_ready
Don't monopolise the CPU in `spi_nor_wait_until_ready`. For slow flash
chips, operations can take minutes (Full chip erase on MX25R is listed
as 120s typical, 240s max).

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-24 22:15:33 -06:00
Jędrzej Ciupis
88c4362ef7 manifest: update hal_nordic revision
This commit updates revision of hal_nordic repo.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-24 22:13:40 -06:00
Greter Raffael
81022fae79 linker: Only use itcm and dtcm snippets if regions exist
This tests whether there actually is an itcm or dtcm in the device tree.
Otherwise a FATAL_ERROR is generated.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-24 22:10:11 -06:00
Greter Raffael
33ffe001f8 linker: Generate snippets files for dtcm and itcm
This allows to link code and data blocks, e.g. the vector table, into
tightly coupled memory using `zephyr_linker_sources`.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-24 22:10:11 -06:00
Yong Cong Sin
acfb87dca3 devicetree: reuse DT_CAT* instead of pasting manually
Reuse `DT_CAT*` macros to paste these things together instead
of pasting manually.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-24 19:56:42 -05:00
Yong Cong Sin
f64af1aecb devicetree: use DT_CAT* wherever possible
Use `DT_CAT*` macros to paste simple things together instead
of `UTIL_CAT` wherever possible. This should reduce the amount
of error messages from the compiler when something goes wrong.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-24 19:56:42 -05:00
Christopher Friedt
2236e57e42 samples: thrift: update doc to include optional modules
Update the Thrift sample to include instructions on
fetching optional modules. Without this, user builds
will fail.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-24 19:35:33 -05:00
Flavio Ceolin
4e39f79eeb drivers: power_domain/intel_adsp: Init priority option
Add a Kconfig option to customize initialization priority of
Intel ADSP power domain.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-24 18:20:17 -05:00
Flavio Ceolin
e80ea1e129 drivers: power_domain/gpio: Init priority option
Add a Kconfig option to customize initialization priority of
gpio power domain.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-24 18:20:17 -05:00
Flavio Ceolin
9506720bd8 drivers: power_domain/gpio_monitor: Init priority option
Add a Kconfig option to customize initialization priority of
gpio monitor power domain.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-24 18:20:17 -05:00
Pisit Sawangvonganan
e7875de3f9 drivers: sdhc: set 'sdhc_driver_api' as 'static const'
This change marks each instance of the 'api' as 'static const'.
The rationale is that 'api' is used for declaring internal
module interfaces and is not intended to be modified at runtime.
By using 'static const', we ensure immutability, leading to usage of only
.rodata and a reduction in the .data area.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-24 21:25:06 +00:00
Alberto Escolar Piedras
cf6a3824a0 tests/bsim host/privacy/peripheral: Minor fixes to allow equality check
Minor fixes in this test script to:
* Start with an empty flash even if there was a left over flash file
  on disk
* Not overwrite the simulation activity from the first part of the test
  in the second part of the test, to allow looking into the
  traffic and to allow rerunning the test in check mode, to ensure
  there is no radio activity changes when another change is done.
* Set the simulation id to something more unique (it was just
  "peripheral" before which is too easy to be repeated in another
  test)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-24 21:19:57 +00:00
Peter Mitsis
4c5a96ec65 tests: latency_measure: Configurable iterations
Updates the latency_measure benchmark to make the number of
iterations for which each test executes to be configurable.
This allows someone to make a tradeoff between accuracy
and execution time (can be useful for simulators).

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-24 21:48:56 +01:00
Tim Lin
8317f9ea4f ITE: drivers/gpio: Add keyboard-controller property
When set, this GPIO controller has pins associated with the
keyboard controller. In this case the reg_gpcr property is
overloaded and used to write the keyboard GCTRL register

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-01-24 21:48:12 +01:00
Dominik Ermel
43d57ce1c2 doc/releases: Add note on update of LittleFS
The LittleFS is now at version 2.8.1.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-01-24 21:47:35 +01:00
Johan Hedberg
c1dfa97960 doc: coding_guidelines: Update reference to Bluetooth language document
Update the reference to the Bluetooth Appropriate Language Mapping
Tables document. The link is now the same as the Bluetooth SIG website
uses.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2024-01-24 18:02:38 +01:00
Daniel DeGrasse
c1b7b817cc sd: modify sdmmc_wait_ready to always decrement timeout
As described in issue:
https://github.com/zephyrproject-rtos/zephyr/issues/65027,
sdmmc_wait_ready can enter an infinite loop if the card is removed while
waiting for it to report an idle status. Fix this by always decrementing
the timeout in sdmmc_wait_ready, regardless of whether the SD card is
busy.

Fixes #65027

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-24 16:37:21 +00:00
Hake Huang
d744719eb8 test: dma: fix dma code-data_relocation failure on nxp rt platforms
NXP RT series DMA need use buffer in nocached area,
so only use memory region relocated is not enough.

fixing: #67053

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2024-01-24 17:07:29 +01:00
Talha Can Havadar
4ce0555d90 drivers: bmp581: Add BMP581 driver
This commit adds source and header files required for bmp581 I2C driver.
I have used bmp581_user.h to add more usage related definitions
but bmp581.h to add hardware related definitions.

Signed-off-by: Talha Can Havadar <havadartalha@gmail.com>
Signed-off-by: Gerhard Jörges <joerges@metratec.com>
2024-01-24 09:32:34 -05:00
Javad Rahimipetroudi
8534767aed boards: arm: stm32wb5mm-dk: add basic board support
This patch add the basic board support for the
STM32WB5MM-DK Discovery Kit. At the moment only
debug UART Debug is ported. Other peripherals will be added
in the following patches.

Signed-off-by: Javad Rahimipetroudi <javad.rahimipetroudi@mind.be>
2024-01-24 14:56:31 +01:00
Marco Widmer
32b4388ba8 drivers: dma: stm32: do not clear busy flag in cyclic mode
The STM32 DMA driver supports cyclic mode by setting source_reload_en
and dest_reload_en. This causes the dma_callback to be called twice per
buffer run-through, at half-time and when wrapping back to the start of
the buffer.

However, the current implementation only calls dma_callback twice. When
wrapping the first time, it sets stream->busy to false and ignores
subsequent interrupts.

With this change, the busy flag is only cleared in non-cyclic mode.

Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
2024-01-24 14:56:24 +01:00
Jonathan Rico
6fa5d1e6a5 Bluetooth: L2CAP: fix net buf frags handling
Fix the handling of buffers with fragments. What seems to have been
broken is the metadata reference that was not passed to the next frag in
the chain.

Add a test to regression too.

The main user of this is IPSP.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-24 14:56:16 +01:00
Jonathan Rico
9d5217f68b Bluetooth: L2CAP: call bt_l2cap_send_cb once
Small refactor to improve readability.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-24 14:56:16 +01:00
Guillaume Gautier
7228642c72 tests: drivers: adc: adc_api: boards: st: use different acquisition time
Use different acquisition time for a board (WB55) that has individual
sampling register, and for another (WBA52) that have two common registers.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-24 12:44:59 +00:00
Guillaume Gautier
14839e80d5 drivers: adc: stm32: add support for two sampling time common channels
For series that have two sampling time common channels, only one was used.
This commit add the support for the second one. The first two different
acquisition time values are used for the sequence and all further values
must match either of them, otherwise generating an error.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-24 12:44:59 +00:00
Dominik Ermel
92ed610cd2 west.yaml: Update LittleFS to version 2.8.1 from upstream
The commit shifts sha of Zephyr LittleFS fork to revision
that includes merge of tag v2.8.1 from upstream:
https://github.com/littlefs-project/littlefs/releases/tag/v2.8.1

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-01-24 13:38:55 +01:00
Gerhard Jörges
e832a87e1c include: usb: include usb_ch9.h
In usb_hid.h `struct usb_setup_packet` is used. This is defined in
usb_ch9.h but not included in usb_hid.h which leads to build errors when
you include the usb header files in the wrong order. This commit fixes
this behaviour.

Signed-off-by: Gerhard Jörges <joerges@metratec.com>
2024-01-24 13:38:12 +01:00
Cong Nguyen Huu
97f8ce83ef tests: drivers: can: api: wrap the code belong to CAN FD mode
To avoid build warnings when building non CAN FD mode

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2024-01-24 12:28:00 +00:00
Cong Nguyen Huu
cc9d0d1c12 tests: drivers: can: api: add testcase for testing CANXL non RX FIFO
Add testcase for testing CANXL non RX FIFO

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2024-01-24 12:28:00 +00:00
Cong Nguyen Huu
7e5c260708 drivers: nxp_s32_canxl: remove support CAN FD mode for non-RX_FIFO
This is driver limitation after removing CAN_FILTER_FDF flag #65108.
CANXL driver need to know CAN_FILTER_FDF for configuring Rx filter
so that it receives CAN classic or CAN FD frames when using non RX_FIFO.
So update driver that just supports CAN classic for non RX_FIFO.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2024-01-24 12:28:00 +00:00
Erwan Gouriou
f2bafa4844 boards: nucleo_wba55cg: Document BLE support and blobs fetching
In order to build a BLE application nucleo_wba55cg fecthing controller
blobs is required. Document the command.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-24 12:27:50 +00:00
Sateesh Kotapati
a03c1ace6b gecko: service files updated | Update to GSDK 4.4.0
Updated the files present in device_init, hfxo_manager, power_manager
and sleeptimer folder as per latest version of gecko_sdk.
Added SL_DEVICE_INIT_HFXO_PRECISION in sl_device_init_hfxo_config.

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2024-01-24 13:23:00 +01:00
Pieter De Gendt
71d8213ef9 doc: develop: modules: Add entry for ZEPHYR_CURRENT_MODULE_NAME
A new cmake variable is added for zephyr modules, namely
`${ZEPHYR_CURRENT_MODULE_NAME}`. Add it to the documentation.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-24 10:54:17 +01:00
Pieter De Gendt
b0150d3ac3 cmake: modules: extensions: Add function to verify binary blobs
Add a cmake helper function to verify if blobs have a valid checksum.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-24 10:54:17 +01:00
Pieter De Gendt
fcaed380cd cmake: Introduce ZEPHYR_CURRENT_MODULE_NAME
Add a cmake variable for the current module's name.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-24 10:54:17 +01:00
Marius Scholtz
8f0ae3b3a2 west.yml: update hal_atmel to include samx7x pa21 fix
This update fixes a mistake in the pinctrl where pa21 was mapped to
afe1_ad1 instead of afe0_1 as it ought to be.

Signed-off-by: Marius Scholtz <mariuss@ricelectronics.com>
2024-01-24 10:46:01 +01:00
Andriy Gelman
12bc02031e drivers: can_mcp251xfd: Fix setting data phase parameters
Commit eeec09eb9a unintentionally modified
can_calc_timing_data() to be called with the nominal phase parameters
instead of the data phase parameters.

Before the change, the parameters were properly initialized in the macro
MCP251XFD_SET_TIMING_MACRO(inst, _data).
After the commit, can_calc_timing_data() gets called with the parameters
pointing to dev_cfg->common.sample_point instead of
dev_cfg->commom.sample_point_data.

This PR creates a separate function mcp251xfd_set_timing_data()
which calls can_calc_timing_data with the correct data parameters.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-24 10:45:00 +01:00
Luca Burelli
938d3547d0 llext: move current test to a hello_world subdir
In preparation for multiple tests, move the current hello_world test
to its own subdirectory. Also, merge the llext compilation in the
parent CMakeLists.txt.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-01-24 10:44:48 +01:00
Luca Burelli
92a5e3ace7 llext: rework testcases to share common config
This patch reworks the YAML files for the llext samples and tests to
share a common restriction list. Also, using an arch-specific config
to disable the MPU for the ARM architecture only, there is no need
to duplicate the test cases per architecture.

Use this to enable the "writable" test case for the ARM architecture
and separate the "modules_enabled" case to test building as a module.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-01-24 10:44:48 +01:00
Luca Burelli
5697d25901 llext: fix test Kconfig module conditions
Make it so LLEXT_TEST_HELLO is enabled by default, and it is actually
compiled only when the config is enabled.

The check for MODULES==y and LLEXT_TEST_HELLO!=m is redundant, as the
Twister machinery already causes an error when Kconfig flags specified
in the YAML file are coerced to different values.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-01-24 10:44:48 +01:00
Fabio Baltieri
297faf71d0 input: add two input to hid code translation functions
Add a pair of functions to translate from input events to hid codes,
mapping most of the current hid codes defined in zephyr/usb/class/hid.h.
Use a sparse table for the mapping, which takes advantage of the fact
that code 0 is reserved. Inspired by the linux equivalent hid to input
map:

https://elixir.bootlin.com/linux/latest/source/drivers/hid/hid-input.c#L27

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-24 10:44:40 +01:00
Fabio Baltieri
c51a18f851 input: input-event-codes: add few codes used by HID devices
Add few input codes used in HID tables.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-24 10:44:40 +01:00
Seppo Takalo
ec3ec8cd2a net: lwm2m: Add LWM2M_ON_INIT() macro
Add macro that allows registration of initialization functions that
are called when LwM2M engine starts.

On LwM2M engine starts up, it first executes all initialization
functions in following priority order:
1. LWM2M_PRIO_ENGINE
2. LWM2M_PRIO_CORE, this is where all LwM2M core objects are initialized
3. LWM2M_PRIO_OBJ, this is where all other objects are initialized
4. LwM2M_PRIO_APP, application initialization.

Now on the initialization phase, we could rely that certain objects have
already been registered.
For example custom objects can register callbacks to core objects.
On application phase, we can initialize sensor objects and register
their callbacks because objects have already been initialized.

This LWM2M_ON_INIT() should replace all use of SYS_INIT()
with the default CONFIG_KERNEL_INIT_PRIORITY_DEFAULT.

Priority order is actually just alphabetical order of names, so
the order is set on a linkin phase, and we don't need any
runtime checking for it.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-01-24 10:44:28 +01:00
Vinayak Kariappa Chettimada
d1e4c17e6d tests: bsim: Bluetooth: Mesh: Adjust timeout for Adv Extensions use
Adjust mesh test timing and timeout value for Advertising
Extensions use/fix in Zephyr Controller. The scanning in
Zephyr Controller is delayed when using extended scanning.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-24 10:44:12 +01:00
Vinayak Kariappa Chettimada
ac39ad7249 Bluetooth: Controller: Fix extended scanning assertion
Fix extended scanning assertion after long duration.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-24 10:44:12 +01:00
Alberto Escolar Piedras
98e9dd7398 boards nrf52_bsim: Don't avoid new UART driver
Let's not treat this driver differently for simulation
than for real HW.
There is a few cases which are not yet working,
but the driver is disabled by default for all platforms.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-24 10:43:50 +01:00
Alberto Escolar Piedras
6447b1c4fd drivers/serial/uart_nrfx_uarte2: Fix for simulation
Just like for the old driver, for simulation, we cannot
get the UART regiter address for the pinctrl config structure
from DT, as that cannot match the one allocated at build time.
So let's override it at runtime with the correct address
which is stored in the UART config structure.

Also, do improve the condition for the busy wait during the poll_out,
for simulation, so we only busy wait if we will loop/the
Tx was busy.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-24 10:43:50 +01:00
Alberto Escolar Piedras
a4ed3994b7 hal_nordic: Take latest including UART driver fixes for simulation
Point to the latest nordic hal module
which includes UART driver fixes needed for simulation.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-24 10:43:50 +01:00
Laurentiu Mihalcea
033d87d53f soc: mimx9: Remove SAI and EDMA static mappings
With the introduction of the SAI and EDMA drivers, there's
no longer a need to map the MMIOs using the mmu_regions.c
method since this is taken care of by the drivers via
device_map(). As such, remove entries for EDMA and SAI from
mmu_regions.c.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-24 10:43:19 +01:00
Zhang Lixu
5058355c1b sensing: add rtio implement for sensing subsys
1. add function sensing_iodev_submit and defined struct
   sensing_submit_config
2. fix the issue of phy_3d_sensor

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
da5118001e sensing: using the single sensing_connections for the same device
The sensing_connections can be shared between sensing_sensors under the
same device.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Tom Burdick
e69ce68d40 sensing: Fix initializer compile-time constant
Initializers must be compile time constants (not expressions!) for clang
to be happy. Clang rightfully pointed out that the callback_list member
of sensing_connection was being initialized using an expression that was
not compile-time constant.

The macros passed along a pointer created by taking the address of a
global constant and then at initialization time attempting to
dereference it using the * operator. So in the end the compiler has
identifier its trying to first take the address of and then later
dereference in an initializer. Clang didn't appreciate this, though gcc
seemed to be just fine.

Actually clang 17 might work just fine with this as well, but clang 16
(the clang I tried) didn't like it at all.

Instead store the pointer to the callback list rather than copying the
struct. This could be done the other way and not passing a
pointer through the macros perhaps.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-01-24 10:32:10 +01:00
Tom Burdick
fe4056a7e3 sensing: Code formatting fixups
Fixes a few small code formatting issues in sensor_mgmt.c adding
brackets where needed for an if and droping a line continuation slash
that failed one of the CI lints.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-01-24 10:32:10 +01:00
Tom Burdick
92bd7b5123 sensing: Simplify and correct some docstrings
Some doc comments were making doxygen unhappy and the doc build fail.
The description of the sensor connection was also updated slightly to
simplify the description a bit.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
f5595b4b9c sensing: support multiple sensor types in one device
Many sensors have multiple functions, for example, icm42688 supports
accel, gyro and temperature, and the sensor streaming api always mixes
the multiple functions in one function call. So we need add a layer in
sensing subsystem to dispatch the result returned from sensor streaming
api for each function.
I changed the sensor-type(int) to sensor-types(array) in sensing sensor
device bindings, so that one device can map to multiple instances of
sensing sensor.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
91774cb0eb samples: sensing: add more sample code
1. add sensing_set_config/sensing_get_config in sample code
2. add hinge_angle sensor in sample code.

Build and test:
  west build -p -b native_sim samples/subsys/sensing/simple/ -t run

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
18a257cbe4 sensing: add hinge angle sensor
Add hinge angle virtual sensor for sensing subsystem, hinge angle sensor
takes both base accel and lid accel as reporter.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
f2bbfc8613 sensing: add stream mode property for sensing sensor
Add stream-mode property to indicate sensing sensor working stream mode or
poll mode.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
593dab8218 sensing: implement the phy_3d_sensor
This patch is to implement the phy_3d_sensor in sensing subsystem. It's a
wrapper layer of AGM sensor driver for sensing subsystem. It supports
the accelerometer and gyrometer now.
This has been tested with bmi160 on native_posix simulator.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
7675f3acbe sensor: add helper functions to convert milli/micro to sensor_value
Add two helper functions as the couple functions of sensor_value_to_milli
and sensor_value_to_micro.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
7b6e1a32d0 sensing: implement sensor data dispatching
Create the dispatch thread to send sensor data to its client by
checking time.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
b73eafcc61 sensing: implement set/get interval and sensitivity
1. set/get interval sensitivity is implmented in sensor management module.
2. add the runtime thread to handle the sensor configuration.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu
46eb27cf73 sensing: unified the sensing sensor api
1. use the sensor_driver_api instead of the sensing_sensor_api.
2. clean up the sensing_sensor.h after using the unified api.
3. select RTIO while CONFIG_SENSING is enabled.
4. remove the sensing_sensor_post_data and sensing_sensor_xxx_data_ready by
introducing the RTIO

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Guangfu Hu
b9b714c8bd sensing: refine sensing API
1) move variable shift behind struct sensing_sensor_value_header in
struct sensing_sensor_value_q31
2) add pointer checking for sensing API
3) add context sensing_callback_list and sensing_data_event_t
4) add macro SENSING_SENSITIVITY_INDEX_ALL
5) rename zephyr,sensing-phy-3d-sensor.yaml

Signed-off-by: Guangfu Hu <guangfu.hu@intel.com>
2024-01-24 10:32:10 +01:00
Yong Cong Sin
2166a6f92f doc: release: migration guide: 3.6: add note on DT IRQ macros changes
Add a note on the Devicetree IRQ macros changes, especially for
multilevel interrupt platforms.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-24 09:22:38 +00:00
Miika Karanki
8b86645108 fs: Add Kconfig key for init priority
Non-configurable init priority POST_KERNEL/99 might
be too late for certain uses cases (e.g. fetching data from
the file system in driver initialization). Chabge it to
be configurable so that applications can mount the
file systems earlies if they want.

Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
2024-01-24 09:22:23 +00:00
Miika Karanki
89d4f06c17 fs: remove not needed SYS_INIT function
fs_init was just initializing mutex and dlist. Those can be
done statically. Not having the SYS_INIT function helps
in ordering the init functions in case e.g. file system
mounts are wanted to happen early stage on the system
startup.

Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
2024-01-24 09:22:23 +00:00
Caspar Friedrich
8a2a44f9e9 drivers: adc: tla2021: Raise default initialization priority
The TLA2021 driver depends on it's i2c controller and therefore needs
to be initialized later. ADC_INIT_PRIORITY by default equals
KERNEL_INIT_PRIORITY_DEVICE which should be used by independent devices.
Using this by default causing projects to fail where this driver is
enabled implicitly through board configuration and the priority is not
explicitly set.

Signed-off-by: Caspar Friedrich <c.s.w.friedrich@gmail.com>
2024-01-24 08:22:33 +01:00
Vivekananda Uppunda
7eb0aa0468 net: wifi_shell: Remove TX-Injection and Promiscuous mode from Wi-Fi mode
Remove TX-Injection and Promiscuous mode setting from Wi-Fi mode shell
command. These commands are being moved to ethernet l2 layer

Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
2024-01-24 00:08:38 -05:00
Vivekananda Uppunda
db4bf8d409 net: l2: ethernet: bring in TX-Injection mode to l2 ethernet
This set of changes brings in raw packet tx injection mode
feature to ethernet and removes it from being a Wi-Fi only feature.

It was earlier envisaged as Wi-Fi net management feature only.

Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
2024-01-24 00:08:38 -05:00
Paszkiet Kamil
114548ef60 scripts: twister_blackbox: Added the ability to clear log from the code
clear_log is used as a fixture by pytest. We need to be able to call
it from the code level. Example of use in the file
test_harwaremap.py line 157.

Signed-off-by: Paszkiet Kamil <kamilx.paszkiet@intel.com>
2024-01-23 23:03:56 -05:00
Derek Snell
117dc55233 doc: linkserver: update installer link
Updates link to MCUXpresso Installer

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-23 22:11:02 -05:00
Andriy Gelman
b302308e5f drivers: eth_sam_gmac: Use CONFIG_PTP_CLOCK_INIT_PRIORITY to init ptp
Use dedicated Kconfig symbol to set init priority.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-23 17:51:01 -05:00
Armando Visconti
72b3c3ea3a drivers: i2c: rv32m1: Fix build error
This fixes following build error when rv32m1_vega_zero_riscy
board gets compiled:

    implicit declaration of function 'INST_DT_CLOCK_IP_NAME'

Fixes #68012

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-23 18:14:16 +00:00
Toon Stegen
1d23ac5577 boards: arm: stm32h750b_dk: add support for sdram
128 Mbit sdram devicetree definition

Signed-off-by: Toon Stegen <toon@toostsolutions.be>
2024-01-23 12:27:53 -05:00
Øyvind Rønningstad
33c84d8af0 west.yml: Update uoscore-edhoc
from 2.2.1 to 3.0.2

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2024-01-23 16:59:23 +00:00
Laurentiu Mihalcea
6abc5921e1 drivers: dma: Introduce driver for NXP's eDMA IP
This commit introduces a driver for NXP's eDMA IP.

The main reasons for introducing a new driver are the following:

	1) The HAL EDMA wrappers don't support well different
	eDMA versions (e.g: i.MX93 and i.MX8QM). As such, a new
	revision had to be introduced, thus requiring a new Zephyr
	driver.

	2) The eDMA versions found on i.MX93, i.MX8QM, and i.MX8QXP
	don't use the DMAMUX IP (instead, channel MUX-ing is performed
	through an eDMA register in the case of i.MX93).

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-23 10:54:21 -05:00
Laurentiu Mihalcea
c3a185f4ee manifest: Bump up hal_nxp revision
Bump up hal_nxp revision to contain the EDMA REV2-related
changes from NXP HAL.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-23 10:54:21 -05:00
Bjarki Arge Andreasen
592647cf0b tests: flash: Add erase_blocks test for flash controllers
Add test suite which tests writing to and erasing all pages,
of any size defined by the page layout.

If the test is built with MCUBOOT, the test will jump into the
application, then run write/erase/boundary tests on the
bootload partition. If MCUBOOT is not selected, the test will
target the slot1 partition instead, performing the same tests.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-23 15:22:26 +00:00
Bjarki Arge Andreasen
b6c1bf8225 drivers: flash: sam: Use interrupt to sync
Use interrupt to wait for flash controller to finish
its command and become ready.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2024-01-23 15:22:26 +00:00
Bjarki Arge Andreasen
efa4727296 drivers: flash: sam: Add logging
Add log messages to help diagnose and understand flash
driver behavior.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2024-01-23 15:22:26 +00:00
Bjarki Arge Andreasen
ed854f008a flash: sam: Rewrite driver to dyncamically adapt to pages
This commit updates the driver to use the flash layout pages,
rewriting it to utilize the flash_page_layout.c driver to
avoid duplicate code.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2024-01-23 15:22:26 +00:00
Bjarki Arge Andreasen
6f28ea08a5 atmel: sam: flash: Add flash pages property
This commit adds layput page cells to the atmel sam flash
controller and the flash node. These allow for describing
the actual flash page layout of each soc, allowing the
flash driver to fully utilize the capabilities of the
flash.

With this update, we unlock the following capabilties:
  - utilize 2048 erase block size for small sectors
  - utilize 16384 erase block size for large sectors

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2024-01-23 15:22:26 +00:00
Michael R Rosen
193ad777f4 driver: adc: stm32: combine shared and separate irqs
Several STM32 variants include both shared IRQs for some ADCs and
separate IRQs for others (for example, STM32G473 has 5 ADCs, ADC1 and
ADC2 share one IRQ while ADC3, ADC4 and ADC5 each have unique
IRQs). The STM32 ADC driver however previously only supported either
separate IRQ lines for each operational ADC in the devicetree or a
single shared IRQ for all operational ADCs in the devicetree which
prevented all ADCs from being usable at the same time when the variant
contained a mix of both shared and separate ADC IRQ lines (only either
all the shared or all the separate and one of the shared might be used
at most for one application).

To allow for all ADCs in an STM32 variant to be usable in a single
application, generate an ISR and initialization function for each
unique IRQn as defined in the devicetree and give the task of
initialization to the first ADC which connects to that particular
IRQ. Each ISR function will generate code to call the ISR for each ADC
associated with that IRQn as was previously done for
CONFIG_ADC_STM32_SHARED_IRQS, allowing an ISR to be shared for the
ADCs sharing an IRQ while simultaneously providing separate ISRs for
each IRQ. Thus, the only information required to have ADCs either
share an ISR or not is provided by the devicetree.

Signed-off-by: Michael R Rosen <mrrosen@alumni.cmu.edu>
2024-01-23 15:21:55 +00:00
Benedikt Schmidt
2141bb4561 drivers: spi: fix unreliable SPI busy flag for some STM32 devices
Extend the workaround for the unreliable SPI busy flag
to all F7 and L4 devices, which are affected by the same
erratum.

Fixes  #67739

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-23 09:46:57 -05:00
Toon Stegen
8ae315764c boards: arm: stm32h750b_dk: add support for QPSI flash
devicetree definition for quad spi

Signed-off-by: Toon Stegen <toon@toostsolutions.be>
2024-01-23 09:46:25 -05:00
Fabio Baltieri
1dd2307b3f input: gpio_qdec: add optical encoder support
Change the gpio_qdec driver to support optical encoders.

Add a property to use for defining an arbitrary number of GPIOs for the
sensing devices (typically infrared LEDs, but could also be the
biasing for the phototransistor), and one for adding a delay between
turning those on and reading the pin status.

The infrared LEDs typically consume a non negligible amount of power, so
there's also a new idle-poll-time-us property that enables two possible
modes of operation:

- if idle-poll-time-us is zero (default) the LEDs are enabled all the
  time and the driver enters polling mode using the GPIO interrupt as
  with mechanical encoders. This is usable for mains powered devices and
  has the lowest overhead on the CPU.

- if idle-poll-time-us is non zero, then the driver polls the encoder
  all the time, turning on the LEDs just before reading the state and
  shutting them off immediately after, but when the encoder is idle it
  switches the polling rate to idle-poll-time-us to save power, and only
  polls at sample-time-us when some movement is detected.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-23 09:45:57 -05:00
Fabio Baltieri
91ee5c4db2 input: gpio_qdec: rename gpio to ab_gpio
Rename gpio to ab_gpio, this is in preparation for adding another gpio
pointer.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-23 09:45:57 -05:00
Grzegorz Chwierut
3e234966dc twister: pytest: Update MCUmgr helper method
Update helper method used by pytest fixtures. Extended upload
method with 'slot' parameter. Added searching of uploaded images
that can be tested or confirmed.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2024-01-23 09:45:27 -05:00
Vinayak Kariappa Chettimada
585d98e0d8 Bluetooth: Controller: Fix prepare overhead in scheduling ISO
Fix double prepare overhead considered in scheduling
extended, periodic and ISO broadcast radio events when using
LOW LAT variant.

ticks_slot maintained in ticker includes the overhead, the
ticks_slot stored in role/state context exclude the overhead
hence take care to include ticks_slot_overhead when value is
used from context and not when value used from ticker nodes.

Add jitter due to ticker resolution unit between scheduled
radio events. This will allow the synchronizing side too to
not overlap due to ticker resolution related jitter.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-23 14:45:29 +01:00
Vinayak Kariappa Chettimada
4a51f68bcc Bluetooth: Controller: Fix ISO Sync Receiver subevent Rx window
Fix ISO Synchronized Receiver subevent Rx window timing and
PDU address receive timeout to consider the +/- 2us active
clock jitter.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-23 14:45:16 +01:00
Vinayak Kariappa Chettimada
83174ef7dc Bluetooth: Controller: Fix ISO Sync Receiver sequential subevent skip
Fix ISO Synchronized Receiver sequential packing subevent
skip to next BIS subevent, so that radio channel is
correctly calculated.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-23 14:45:02 +01:00
Vinayak Kariappa Chettimada
6e51950cd8 Bluetooth: Controller: Use EVENT_OVERHEAD_RESERVE_MAX in Periodic Sync
Use EVENT_OVERHEAD_RESERVE_MAX conditional compile in
Periodic Advertising Sync implementation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-23 14:44:41 +01:00
Yong Cong Sin
8cfff4b48f tests: devicetree: api: align DT_IRQN test
Not sure why the `DT_IRQN` tests are tabbed, fix that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-23 06:48:16 -05:00
Yong Cong Sin
734a7db5c4 devicetree.h: rework multilevel interrupt encoding macros
Now that we have a very easy way to get the interrupt
controller and the interrupt level of a node, we can
simplify the multilevel interrupt encoding macros.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-23 06:48:16 -05:00
Yong Cong Sin
170c659292 tests: devicetree: api: test DT_IRQ_LEVEL and DT_INST_IRQ_LEVEL
Added new test for `DT_IRQ_LEVEL` and `DT_INST_IRQ_LEVEL`.

Introduced a new `vnd.cpu-intc` compatible so that we have a
root level interrupt controller that acts as level 1
aggregator, and modified `test_intc` to be level 2 aggregator,
updated test of `DT_IRQN(TEST_I2C_BUS)` accordingly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-23 06:48:16 -05:00
Yong Cong Sin
0b43699366 devicetree.h: add macros to get the interrupt level of a node
Added new DT macros to get the interrupt level of a node.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-23 06:48:16 -05:00
Yong Cong Sin
450a66fa36 gen_defines: output the interrupt level of a node
Currently it is tedious to know the level of an interrupt for
a node in C. One would have to go through a very complex and
error prone macros to check if there's a parent interrupt
controller & if the controller has an interrupt number and thus
not a pseudo interrupt controller like the one found in
`rv32m1`. The level of a node is required to encode the
Zephyr's multi-level interrupt number

Since it is easier to do it in the `gen_defines` script, let's
do the heavy lifting there so that we can introduce new DT
macros to get the interrupt level very easily later.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-23 06:48:16 -05:00
Yong Cong Sin
89fb8f8b98 gen_isr_tables: print index number at the end of each entry as comment
Make it easier to debug by printing the index number at the
end, this is especially helpful when there's a lot of
interrupts.

Before:

```c
/* build/zephyr/isr_tables.c */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)},
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)},
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)},
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)},
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)},
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)},
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)},
```

After:

```c
/* build/zephyr/isr_tables.c */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)}, /* 0 */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)}, /* 1 */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)}, /* 2 */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)}, /* 3 */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)}, /* 4 */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)}, /* 5 */
{(const void *)0x0, (ISR)((uintptr_t)&z_irq_spurious)}, /* 6 */
```

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-23 06:40:32 -05:00
Christopher Friedt
8556ae5afe samples: posix: change Subsystem to API
The POSIX API in Zephyr is considered more of a library than a
Subsystem.

Adjust the samples doc to reflect that.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-23 10:03:13 +00:00
Christopher Friedt
f6373d6918 samples: portability: link to posix samples
POSIX API Samples live in another directory, but they should
still be easy to find from Portability Samples.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-23 10:03:13 +00:00
Peter Mitsis
7c5a57b87b tests: latency_measure: Fix MPU fault
Fixes an MPU fault that was occurring on some ARM platforms when
executing the events portion of the latency_measure benchmark. The
fault was tracked to an attempt by a user thread to read an MMIO
register that it did not have permissions to access.

The solution was to move the printing of the stats averages out of
the test thread and into the main thread as the main thread always
executes at kernel/supervisor level and will always have permissions
to read that MMIO register.

Fixes #67438

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-23 10:02:46 +01:00
Benjamin Cabé
de21b50002 doc: guidelines: drop mentions of Parasoft Codescan
Drop the section of the coding guidelines that's referring to Parasoft
Codescan as it's not used by the project anymore.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-01-23 10:02:39 +01:00
Ayush Singh
ef04b5226e MAINTAINERS: Add BeagleBoard Platforms
- Due to the incresing support for ZephyrRTOS in BeagleBoard boards, it
  would be good to have this entry.
- Was discussed in Discord when asking for help for PR review

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2024-01-23 10:02:32 +01:00
Sean Madigan
a9a3b808e8 samples: bluetooth: iso_receive: Allow syncing any subevent number
When using softdevice controller on iso_broadcast sample, the BIG
created uses more than 1 subevent. This means that when you try to
use the iso_receive sample to sync it does not work.

So update the sample to use mse=0 and allow any number of subevents,
making the sample more flexible and work with SDC without any changes.

Signed-off-by: Sean Madigan <sean.madigan@nordicsemi.no>
2024-01-23 10:02:26 +01:00
Przemyslaw Bida
a6184b9be3 net: openthread: Fix key import in case of ECDSA.
According to PSA specification in case of `PSA_KEY_TYPE_ECC_KEY_PAIR`
function `psa_import_key` takes private key from key pair as argument.
This commit adds extraction of Private key from ECDSA key pair.

Also removes not needed `otPlatCryptoEcdsaGetPublicKey`.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-01-23 10:02:17 +01:00
Przemyslaw Bida
f661aa7641 net: openthread: Regular openthread upmerge to 00076af
Regular upmerge.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-01-23 10:02:17 +01:00
Anders Storrø
93a6ee501a Bluetooth: Mesh: Add artificial beacon delay
After removing 20ms in advertiser, all subnetwork beacons are sent as high
dense packet of frames with minimal distance between them. That might
cause collisions if beacon interval on devices will coincide.

This commit adds an artificial delay between each subnet advertsing
beacons.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2024-01-23 10:02:00 +01:00
Gerard Marull-Paretas
68799d507d arch: riscv: make __soc_is_irq optional
It looks like all SoCs in tree check if an exception comes from an IRQ
the same way, so let's provide a common logic by default, still
customizable if the SoC selects RISCV_SOC_ISR_CHECK.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-23 09:57:57 +01:00
Gerard Marull-Paretas
49e2bc69a2 arch: riscv: add RISCV_HAS_(C|P)LIC from soc/riscv
Because these are general RISC-V options, not soc specific.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-23 09:57:57 +01:00
Gerard Marull-Paretas
2dcbb0ee3f soc: riscv: make RISCV_HAS_(C|P)LIC promptless
These options are meant to be selected by SoC series supporting
(C|P)LIC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-23 09:57:57 +01:00
Gerard Marull-Paretas
00904c4267 boards: riscv: beaglev_fire|mpfs_icicle: drop redundant options
CONFIG_RISCV_SOC_INTERRUPT_INIT=y and CONFIG_RISCV_HAS_PLIC=y are both
defaulted to y by the board SoC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-23 09:57:57 +01:00
Anas Nashif
6df6935b67 intel_adsp: ace: do not use external kconfigs in code
use CONFIG_SOC_INTEL_ACE15_MTPM instead of CONFIG_ACE_VERSION_1_5.

CONFIG_ACE_VERSION_1_5 leaked from SOF.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-22 17:02:47 -05:00
Declan Snyder
e4b761aafb MAINTAINERS: Create NXP Drivers group
Create NXP Drivers group separate from the platforms.
The idea being that currently there are two problems:

- All the Drivers drivers are falling under the responsibility
of the MCUX platforms' maintainers, some of whom do not have the
cycles or interest to maintain these things.

- The maintainers of the other platform groups do not get counted
as reviewers of the Drivers drivers that their platforms use.

So, separate all the driver files from the MCUX platforms, and add the
relevant people who have an interest in maintaining the Drivers, including:

- At least one maintainer of each platform group, and
- The NXP contributors who are highly active in maintaining
  and reviewing the NXP drivers in upstream Zephyr.

Another two problems this PR fixes:

- The platforms of the other NXP groups are still falling under the MCUX
  group. Exclude the platforms of the other NXP groups from MCUX group.
  MCUX group will still be the default group for unsorted NXP platforms.

- Add a few file paths to some of these groups to cover a few missed
  files, and add description properties of the NXP groups.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-01-22 15:25:53 -05:00
Anas Nashif
5df0cf1701 MAINTAINERS: add wildcard for ITE drivers
Include ITE drivers in ITE platforms area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-22 14:48:01 -05:00
Jonathan Rico
52a44eb19b MAINTAINERS: Add HoZHel to "Bluetooth HCI"
They are actively contributing to Bluetooth HCI drivers.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-22 13:26:34 -06:00
Jonathan Rico
cbdc91f7a3 MAINTAINERS: Add "Bluetooth HCI" section
Split out the HCI drivers from the main Bluetooth sections.
The contributors to those are usually silicon vendors.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-22 13:26:34 -06:00
Dawid Niedzwiecki
ea630294d3 logging: add flag to skip source info
Add a flag to skip printing the source info.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-01-22 14:05:11 -05:00
Seppo Takalo
bf872870ea net: lwm2m: Fix segfault on failed bootstrap
If bootstrap fails, RD client will call lwm2m_engine_stop()
which will close the context.
The socket loop, however still contains a call to
hint_socket_state(context, NULL) which has a null pointer now.

Fix the segfault by allowing nullpointer on hint_socket_state().

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-01-22 17:25:02 +00:00
Seppo Takalo
f96c766fd8 tests: lwm2m: Rename engine to observation
"engine" directory contained tests for observation
so rename it.
There is separate "lwm2m_engine" directory that contains
tests for the engine itself.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-01-22 18:22:43 +01:00
Markus Swarowsky
54a938a67a doc: services: tfm: Update version 2.0.0 in overview
Update the mention of the "currently integrated" version of TFM to match
the latest upgrade.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-22 18:22:33 +01:00
Vinayak Kariappa Chettimada
4158d9523e Bluetooth: Controller: Fix extended scanning data length assertion
Fix assertion due to LLL scheduling of auxiliary PDU
reception was not considered in the ULL when checking for
accumulated data length exceeding the supported maximum scan
data length. This caused the auxiliary context to be release
while LLL was still active with scheduled PDU reception.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-22 16:55:09 +01:00
Yong Cong Sin
8262766a0a tests: lib: devicetree: api: fix reg addr mismatch for test-mtd@ffeeddcc
Fix unit address and first address in 'reg' (0x0) don't match
for /test/test-mtd@ffeeddcc.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-22 15:49:53 +00:00
Greter Raffael
7bcd0699e6 gen_isr_tables: Add meaningful error message
When using direct isrs, a vector table is needed. However, if none is
present , i.e. `CONFIG_GEN_IRQ_VECTOR_TABLE=n`, this script failed. The
given error message was not helpful (`'NoneType' has no len()`).
This change makes it clearer, where to look for the problem.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-22 15:28:39 +01:00
Pisit Sawangvonganan
78faf5eb8e drivers: gnss: quectel_lcx6g: fix compilation error when CONFIG_PM_DEVICE=y
Fixes a compilation error in quectel_lcx6g driver when CONFIG_PM_DEVICE=y.
Corrects the function call in quectel_lcx6g_suspend from
'modem_chat_run_script_run' to 'modem_chat_run_script'.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-22 14:08:58 +00:00
Mustafa Homsi
e51c47bf43 Bluetooth: Controller: Fix regression in BT_CTLR_USED_PPI_CHANNELS
Fix regression in BT_CTLR_USED_PPI_CHANNELS introduced
in commit e39d98302d ("Bluetooth: Controller: nRF53:
Cleanup dppi and dppi resources file").

Signed-off-by: Mustafa Homsi <mustafa.homsi@rivieh.com>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-22 14:31:12 +01:00
Fabian Blatz
7cc46e6948 modules: lvgl: Update CMakeLists for 8.3.11
Update CMakeLists to include new files, sort existing ones.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-01-22 14:02:40 +01:00
Fabian Blatz
2a11c64876 manifest: update LVGL to v8.3.11
Related to zephyrproject-rtos/lvgl#47

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-01-22 14:02:40 +01:00
Sandip Dalvi
68bea80111 net: ipv6: Add APIs to check ipv6 address is site local and global
Add APIs to check the IPv6 address is site local or is global.

Signed-off-by: Sandip Dalvi <sandip.dalvi@nxp.com>
2024-01-22 13:09:23 +01:00
Emil Gydesen
aef39f6923 Bluetooth: BAP: Fix issue with setting invalid iso data path
BAP would always set up the ISO data path in both directions,
even for unidirectional CIS. This meant that in the
unconfigured direction, the data path configuration data
would all be 0, which causes issues on some controllers.

The new refactored approach implemented by this commit
will always ensure that the data path is setup correctly,
and that we only set the data path in one direction for
unidirectional CIS. The unset path will use the default
ISO path of HCI and transparant format, which should always
be allowed by a controller.

This is building on the requirement in BAP that all streams in
a unicast group shall be QoS configured at the same time. This
ensures that before any streams in the CIG has been connected,
they have all been configured.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-22 13:09:16 +01:00
Henrik Brix Andersen
e4c3f30feb doc: releases: migration-guide: 3.6: list removal of can_get_max_bitrate_t
Add a note about the removal of the optional can_get_max_bitrate_t callback
from the CAN controller driver API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-22 13:09:09 +01:00
Henrik Brix Andersen
4340724fd0 drivers: can: use common accessor for getting maximum supported bitrate
Use a common accessor for getting the maximum supported bitrate of a CAN
controller.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-22 13:09:09 +01:00
Henrik Brix Andersen
0875a752c1 tests: drivers: can: api: fix uninitialized variable warning.
Fix a warning about unitialized variable. The test will be skipped in this
code path.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-22 13:09:09 +01:00
Henrik Brix Andersen
766ce3c1e2 drivers: can: fake: add common configuration and data structures
Add common configuration and data structures to the fake CAN driver.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-22 13:09:09 +01:00
Henrik Brix Andersen
fb639ab81b drivers: can: loopback: add common configuration structure
Add the common configuration structure to the CAN loopback driver.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-22 13:09:09 +01:00
Bjarki Arge Andreasen
140a510030 tests: build_all: modem: Remove net tag and clean up
Remove the net tag, allowing the modem driver tests to be built
for PRs, and limit the scope of the test suite to only build
for select emulated 32 and 64 bit boards.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-22 12:59:59 +01:00
Yves Vandervennet
441b1b7de8 boards: frdm_kl25z: enable support for linkserver
- adds the definitions in the board.cmake file
- updates documentation

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-22 12:59:53 +01:00
Peter Mitsis
5573b20ec6 tests: latency_measure: tweak frdm_k64f config
The FRDM K64F board runs at 120 MHz and has a 24 bit timer.
According to its timer driver, its MAX_TICKS (which comes into
play for a tickless kernel) is calculated as ...
     CYC_PER_TICK = 120 MHz / ticks per second
     MAX_TICKS = (COUNTER_MAX / CYC_PER_TICK) - 1

To achieve a minimum value of MAX_TICKS=1, ticks per second must
be set to at least 15. Experimentation has shown that setting the
number of ticks per second below this threshhold on a tickless
kerenl leads to unreliable timestamps.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-22 12:59:45 +01:00
Peter Mitsis
070b07efc1 tests: latency_measure: Remove prj_user.conf
Moves the enablement of userspace from the project configuration
file to testcase.yaml.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-22 12:59:45 +01:00
Peter Mitsis
d3a3d63afb tests: latency_measure: Increase verbosity of summary lines
Feedback from the previous summary line change has been that it
had become more difficult for people to parse and understand what
is being tested/benchmarked when the description consisted of
just using a terse tag. To improve the situation a more human
oriented description has been added to follow that tag so that
not only can tools still parse on the tag, but people can use
both tag and the extra description to understand the test/benchmark.

Summary lines for each test now consist of the following:
    1. A terse tag (for tools to parse)
    2. A more human oriented description.
    3. Number of cycles.
    4. Number of nanoseconds.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-22 12:59:45 +01:00
Rubin Gerritsen
db58810492 Bluetooth: ISO: Fix CIS peripheral disconnection during setup
When the central aborts the CIS setup during the CIS Creation
procedure after it has accepted the CIS request, the peripheral
will receive the HCI LE CIS Established event with an error code.
It does not receive a disconnection event.
See the message sequence chart in Core_v5.4, Vol 6, Part D,
Section 6.23.

This commit ensures that the perirpheral disconnected callback gets
called for this particular scenario.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-01-22 12:59:38 +01:00
Sylvio Alves
ce1be0e121 boards: esp32xx: decrease Wi-Fi minimum heap size
Decrease total RAM usage when Wi-Fi is enabled, specially after
`config HEAP_MEM_POOL_ADD_SIZE_BOARD` was added. This allows application
to handle additional HEAP as required.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-01-22 12:59:23 +01:00
Emil Gydesen
b857ef7f83 Bluetooth: BAP: Add ISO state callbacks
Add callbacks to the stream objects that reflects the
state of the isochronous channel. The connected callback
is called when the isochronous channel is connected, and
similarly the disconnected callback is called when it is
disconnected.

There is a special case for unicast, where if the ACL
disconnects first, then we won't get a ISO disconnect
callback. It should be assumed that the isochronous channel
is no longer valid when the BAP stream enters the idle state,
i.e. when the "released" callback is called.

The purpose of the new callbacks is to provide additional
information to the application. Especially the unicast client
can use this to determine when the stream_start function
can be called again, as there can only ever be 1 outstanding
CIS connection request at a time, but there can be multiple
GATT requests.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-22 12:59:11 +01:00
Robert Lubos
8ad0e5763f net: socket_service: Fix iterable section location
The iterable section should be located in ROM and not RAM, this caused
crashes on multiple platforms running socket services.

Fixes #67762

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-22 12:53:33 +01:00
Robert Lubos
3111b801d9 net: socket_service: Add underscore in the idx variable name
Nothing critical, but it just looks better if the service name is
separated from the prefix, i.e:
    _z_net_socket_service_idx_udp_service_async
vs current:
    _z_net_socket_service_idxudp_service_async

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-22 12:53:33 +01:00
Christopher Friedt
7f57d5d6eb tests: posix: timer: run tests for realtime as well
Ensure that the realtime clock may also be used with
timer_create().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-22 06:48:55 -05:00
Christopher Friedt
3ff7c04f30 posix: timer: use async pthread cancellation
Previously, Zephyr's POSIX API did not differentiate between
deferred and asynchronous pthread cancellation. In fact all
pthread cancellation was asynchronous. According to the spec,
all pthreads should be created with deferred cancellation by
default.

Note: PTHREAD_CANCEL_ASYNCHRONOUS means cancel asynchronously
with respect to cancellation points (but synchronously with
respect to the thread that callse pthread_cancel(), which is
perhaps unintuitive).

The POSIX timer relied on this non-standard convention.

Oddly, this change prevents what would have otherwise been a
regression that would have been caused by fixing pthread
behaviour (in a separate commit).

We are effectively uncovering bugs which were probably always
present in the pthread.c and timer.c implementations going
back quite a few years.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-22 06:48:55 -05:00
Christopher Friedt
689dc4a45b posix: timer: support other clocks
There is no requirement that says e.g. CLOCK_REALTIME cannot be
used for timer_create(). In fact, the spec explicitly requires
it. It might not be ideal, but users should still be able to
use it.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-22 06:48:55 -05:00
Christopher Friedt
0d6dc0ca53 posix: signal: reduce padding in sigevent sigval
The sigevent struct and sigval union members were previously not
ordered in a way that produces optimal alignment / reduces
padding on 64-bit systems.

Reorder members so that pointers come first.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-22 06:48:55 -05:00
Fabio Baltieri
23714980b0 input: utils: fix kbd_matrix_state_log types
Change row and col static types to unsigned, this should prevent really
bad things from happening if a negative number ends up there for
whatever reasons without having to explicitly check for < 0.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-22 11:20:50 +00:00
Bjarki Arge Andreasen
a9779eca40 modem: ppp: Implement TRANSMIT_IDLE event
Implement TRANSMIT_IDLE event for modem_ppp module. This addition
optimizes the sys workque CPU time when performing a throughput
test from 36% to 5%, while only reducing the throughput by 12%.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-22 10:35:37 +00:00
Yves Vandervennet
e5fe1c1625 boards: mimxrt1015_evk: enable support for linkserver
- adds the definitions in the board.cmake file
- updates documentation

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-22 10:35:04 +00:00
Kamil Piszczek
c16d9699a3 tests: bsim: bluetooth: host: gatt: general: improve conn ref handling
Improved the connection reference handling in the BabbleSim test
project in the Bluetooth Host category.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2024-01-22 10:32:41 +00:00
Christopher Friedt
0bed5dd459 tests: posix: semaphore: speed up named semaphore test
Reduce N_LOOPS from 999 to 32 by default and use a Kconfig
to encode it as CONFIG_TEST_SEM_N_LOOPS.

Running TESTSUITE semaphore
===============================================================
START - test_named_semaphore
 PASS - test_named_semaphore in 5.685 seconds
===============================================================
START - test_semaphore
 PASS - test_semaphore in 5.010 seconds
===============================================================
TESTSUITE semaphore succeeded

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-22 09:49:39 +00:00
Attie Grande
003d2090b2 cmake: version: stop using to_hex() in favour of CMake's math()
Since v3.13, CMake has supported math(... OUTPUT_FORMAT <format>), which
will perform the same functionality as to_hex().

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2024-01-22 09:48:33 +00:00
Attie Grande
20e2318b9f cmake: hex: deprecate use of to_hex() and from_hex() utility functions
Since v3.13, CMake has supported math(... OUTPUT_FORMAT <format>) and 0x
prefixes on numbers, which together provides the same functionality as
to_hex() and from_hex() that we've previously maintained.

Users should switch to using math() instead, and our functions are now
marked as deprecated.

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2024-01-22 09:48:33 +00:00
Attie Grande
902751a19e cmake: hex: fix conversion of zero to hex
Previously, `to_hex(0 output)` would have placed `0x` into the `output`
variable, which is undesirable... this fix ensures that `0x0` is placed
into this variable if the input is zero.

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2024-01-22 09:48:33 +00:00
Tomas Galbicka
554f2ba08e tests: mbox: Add test for mbox with data transfer
This commit adds extended test for mbox driver with
data transfer to verify correct mbox functionality.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-01-22 09:48:09 +00:00
Tomas Galbicka
e776051cad samples: mbox: Add mbox sample with data transfer
This commits add mbox sample which supports transfering of
4 bytes of data between cores.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-01-22 09:48:09 +00:00
Tomas Galbicka
a689228eb8 drivers: mbox: fix nxp mbox data read channel
This commit repairs reading of data from other
channels than 0.

Refactors irq handler outside of DT define.

Trigger registered callback only when proper flag is set.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-01-22 09:48:09 +00:00
Ian Morris
5fd3f658ff drivers: clock_control: clock_control_ra.c: protect register fix
Protection for clock control and power mode registers was not being
re-enabled.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-01-22 09:47:43 +00:00
Pieter De Gendt
1c190045b3 soc: arm: atmel_sam: samv71: Rework clock_init
Update clock_init for the Atmel SAMV71 SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt
23edb87cab soc: arm: atmel_sam: same70: Rework clock_init
Update clock_init for the Atmel SAME70 SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt
5bba8dd101 soc: arm: atmel_sam: sam4e: Rework clock_init
Update clock_init for the Atmel SAM4E SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt
89f23f7947 soc: arm: atmel_sam: sam3x: Rework clock_init
Update clock_init for the Atmel SAM3X SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt
a69d611de8 soc: arm: atmel_sam: sam4s: Rework clock_init
Update clock_init for the Atmel SAM4S SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt
20f1f44120 soc: arm: atmel_sam: common: Add PMC API for clock management
Add functions to Atmel SAM SoC PMC API. This is an effort to hide
most of the internal registers used in different SAM families.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Jakub Rzeszutko
04de43b1a1 shell: Fix shell init procedure when configured as inactive on startup
The previous behavior of the CONFIG_SHELL_AUTOSTART option, where setting
it to 'n' disabled shell interaction at startup but kept the logger
active as a shell backend, was inconsistent.
Now, when CONFIG_SHELL_AUTOSTART is set to 'n', both the shell and the
logger are inactive at startup. Calling the shell_start function will
activate them and print any pending logs. This change ensures a more
consistent and logical behavior regarding shell and logger activity at
startup.

Additionally, now when the shell_stop function is called, both the shell
and the logger are halted. This enhancement ensures that stopping
the shell also effectively stops the associated logger.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
2024-01-21 16:01:36 +01:00
Henrik Brix Andersen
53da5f6f87 doc: releases: migration-guide: 3.6: removal of run-time CAN RTR filter
Add a note about the removal of the CAN_FILTER_DATA and CAN_FILTER_RTR
flags from the CAN controller driver API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
Henrik Brix Andersen
3436c93387 drivers: can: remove run-time RTR filtering, add build-time RTR filter
A growing number of CAN controllers do not have support for individual RX
hardware filters based on the Remote Transmission Request (RTR) bit. This
leads to various work-arounds on the driver level mixing hardware and
software filtering.

As the use of RTR frames is discouraged by CAN in Automation (CiA) - and
not even supported by newer standards, e.g. CAN FD - this often leads to
unnecessary overhead, added complexity, and worst-case to non-portable
behavior between various CAN controller drivers.

Instead, move to a simpler approach where the ability to accept/reject RTR
frames is globally configured via Kconfig. By default, all incoming RTR
frames are rejected at the driver level, a setting which can be supported
in hardware by most in-tree CAN controllers drivers.

Legacy applications or protocol implementations, where RTR reception is
required, can now select CONFIG_CAN_ACCEPT_RTR to accept incoming RTR
frames matching added CAN filters. These applications or protocols will
need to distinguish between RTR and data frames in their respective CAN RX
frame handling routines.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
Luca Burelli
c5b7aabc06 llext: move all flags to compiler specific cmake files
Minimize the amount of flags that are hardcoded in the llext.cmake
module by moving them to the compiler specific cmake files.

The llext.cmake module will now use the new LLEXT_REMOVE_FLAGS and
LLEXT_APPEND_FLAGS global variables to adjust the set of flags used
to compile the llext code. This will make it easier to add support
for new architectures and compilers.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-01-21 10:59:49 +01:00
Luca Burelli
feee017767 llext: rework add_llext_target() to use standard compile step
Separate the compilation of the source file from the conversion to an
llext file. This allows to reuse the include directories and macro
definitions of the current Zephyr build while compiling the llext source.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-01-21 10:59:49 +01:00
Luca Burelli
0747cd3358 llext: define add_llext_target() for llext compilation
This patch defines a generic function that encapsulates all the
architecture-specific machinery needed to compile llexts from source
files. Current tests are updated to use this function.

Output and source files must be specified using the OUTPUT and SOURCES
arguments. Only one source file is currently supported.

Arch-specific flags will be added automatically. The C_FLAGS argument
can be used to pass additional compiler flags to the compilation of
the source file.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-01-21 10:59:49 +01:00
Tom Rothamel
3f65552446 boards: arm: atsamd21_xpro: Change sercom0 tx pad and control.
According to the documentation and pinctrl file, sercom0 tx should
be available on PA10C/SERCOM_PAD[2]. However, and somewhat confusingly,
txpo 2 meant SERCOM_PAD[0] with RTS/CTS flow control.

Changing this to txpo 1 uses SERCOM_PAD[2], which allows sercom0
to work as documented.

Signed-off-by: Tom Rothamel <tom@rothamel.us>
2024-01-20 19:14:54 +01:00
Tom Rothamel
d1bfea0e4e dts: atmel sam: Document what rxpo and txpo mean.
The meaning of txpo is was a bit confusing, as it's an enumeration
rather than a pad number. This confusion extended to the atsamd21_xpro
board using the wrong pins.

This commit adds ASCII-art tables that explain the meaning of rxpo
and txpo on different platforms.

Signed-off-by: Tom Rothamel <tom@rothamel.us>
2024-01-20 19:14:54 +01:00
Gerson Fernando Budke
e9b26b5eb6 soc: sam0: samd: Fix switching between clocks
The clock z_arm_platform_init hangs switching between clocks when using
MCUboot. This fixes the issue using the 8MHz internal clock as gclk_main
source when configuring PLL/DFLL.

Fixes: #67220

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-01-20 14:36:30 +01:00
Ryan McClelland
83c298cd32 drivers: spi: dw: define max-xfer-size
The max size was determined by looking at the ARCH of the cpu. This really
comes from the ip configuration when generated. Add `max-xfer-size`
property to the devicetree.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-20 13:11:42 +01:00
Ryan McClelland
ff99687862 drivers: spi: dw: fix hw cs and slave return rx len
Only toggle the hw cs if the cs is not set as a gpio. SPI trancieve
should also return the rx len when in slave configuration.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-20 13:11:42 +01:00
Ryan McClelland
909da582c5 drivers: spi: dw: cleanup instantiation macro
This cleans up the instantiation macro. DBG_COUNTER was also removed
as that appears to be unnecessary. This also allows for if it is a
serial target to be configured from the devicetree.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-20 13:11:42 +01:00
Ryan McClelland
330dba0861 drivers: spi: dw: fix naming convention of aux-reg
aux-reg should be defined with a hyphen in the bindings

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-20 13:11:42 +01:00
Ryan McClelland
2ee2b6ac08 drivers: spi: dw: remove HAS_SPI_DW Kconfig
The HAS_SPI_DW Kconfig is rather unncessary. If the synopsys designware
spi is to be included. It should come from the devicetree.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-20 13:11:42 +01:00
Daniel DeGrasse
429188723e drivers: sdhc: sdhc_spi: wait for card response until cmd timeout
In sdhc_spi_response_get, the logic for slow cards previously only
retried reads 16 times. Instead of using this approach, read from the
card every 10 ms until the command timeout is reached or it responds.
This way, the command timeout will be respected for cards that do not
respond.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-20 12:44:02 +01:00
Jai Arora
ba7b7ffff2 posix: Adds test to check getpid() is not NULL
Adds test to check getpid() function is not NULL

Signed-off-by: Jai Arora <infolinesoni@gmail.com>
2024-01-20 12:41:28 +01:00
Jai Arora
b103dece67 posix: Adds test for clock_getcpuclockid()
Adds test for clock_getcpuclockid() to
make sure clock_id is equal to CLOCK_PROCESS_CPUTIME_ID
after a successful call

Fixes #59954

Signed-off-by: Jai Arora <infolinesoni@gmail.com>
2024-01-20 12:41:28 +01:00
Martin Kiepfer
5a3f53551f drivers: display: gc9a01a: Add support for SPI display controller gc9a01a
Adding driver for GC9A01A 240x240 based LCD displays.
Should be working with GC9C01 as well (untested).

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2024-01-20 12:40:15 +01:00
Christopher Friedt
18c23dec5f tests: posix: common: free resource in after() for timer suite
Create a separate ZTEST_SUITE() to properly manage resources
that are shared between test cases. Add some assertions where
they were missing.

Additionally, we don't need verbose printing in this testsuite,
so change `printk()` to `LOG_DBG()`

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-19 13:14:56 -05:00
Peter Mitsis
d8108369bc tests: smp_suspend: Tweak duration and timeouts
Reduces the number of seconds that the test runs to 15 seconds
(down from 30 seconds). This should still be sufficient time
to determine if there is anything amiss with the synchonous
thread suspend/resume. Furthermore, the test itself has been
tagged as being slow and its timeout increased to 10 minutes
(600 seconds) as some simulators are rather slow.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-19 12:13:30 -05:00
Parthiban Nallathambi
db429004fd drivers: modem: gsm fix rssi range
rssi 31 will be -51dBm or greater, where -51 is valid. Fix the
range by allowing until -51.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2024-01-19 15:15:03 +00:00
Fabio Baltieri
5f989e4378 input: add a keymap driver
Add a "input-keymap" driver to translate keyboard matrix event into key
events.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-19 15:14:25 +00:00
Fabio Baltieri
8a313c152a input: event-codes: define 0 as reserved
Define code 0 as INPUT_KEY_RESERVED, same as linux.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-19 15:14:25 +00:00
Tanmay Kathpalia
d267298af2 CODEOWNERS: Update codeowners for SDHC Cadence
Updated codeowners for SDHC Cadence Driver files.

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@intel.com>
2024-01-19 15:14:17 +00:00
Tanmay Kathpalia
aeb25e3da1 drivers: sdhc: Cadence SDHC driver bug fixes and other improvements
* Internal Clock not getting stable during initialization
* SD clock was not enabled
* Removed duplicate file.
* Removed write to readonly registers
* Moved function pointer structure from data section to RO section
* Wrong macro names
* Refactoring of lower layer header file.

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@intel.com>
2024-01-19 15:14:17 +00:00
Gerard Marull-Paretas
48dbcf5479 soc: riscv: remove empty soc.h files
Because they're just not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
e7cc2fafb4 arch: riscv: remode redundant soc.h includes
They are just not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
788fda525a soc: riscv: virt: reduce the scope of SIFIVE_SYSCON_TEST
It was used nowhere else, there's no need to expose it publicly.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
874513439b soc: riscv: sifive_freedom: move PRCI base address to prci.h
Instead of soc.h. This likely needs to be DT-ized at some point.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
cce467034f soc: riscv: opentitan: reduce the scope of some definitions
Some definitions were only used in soc.c, there's no need to expose them
in a public header like soc.h.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
95c573f02e soc: riscv: openisa_rv32m1: add missing includes
<soc.h> is needed to pull some APIs defined in soc.h.
<fsl_device_registers.h> is needed to access EVENT0/1 addresses.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
0c5a2b1fe4 soc: riscv: microchip_miv: miv: move MIV_UART_0_LINECFG to driver
Instead of soc.h, since it's not used by anything else.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
c5699fac7f soc: riscv: ite_ec: add missing soc_common.h include
File uses some API declared in soc_common.h.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
3765b90c77 soc: riscv: ite_ec: it8xxx2: reduce the scope of some definitions
Do not expose them in soc.h, just move them to the module making use of
them.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
68a0f0a377 soc: riscv: andes_v5: ae350: remove redundant include
<soc.h> is not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
13e02a00f0 soc: riscv: andes_v5: include soc_v5.h
Instead of catch-all soc.h (which was now just being a proxy for
soc_v5.h).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
636a5990b5 manifest: update hal_espressif
Pull an include fix (missing soc.h).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
a63591c5cb drivers: timer: litex: add missing include
<soc.h> is needed to access IO R/W functions like litex_read8.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
ed166915bb drivers: spi: rv32m1_lpspi: add missing include
Add <soc.h>, for INST_DT_CLOCK_IP_NAME.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
893a338f05 drivers: serial: opentitan: remove redundant include
<soc.h> is not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
5e17b89804 drivers: serial: liteuart: add missing include
soc.h was missing to access custom IO read/write functions, e.g.
litex_read8.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
183dd20424 drivers: serial: neorv32: add missing include
<soc.h> is needed for some NEORV32_SYSINFO_* definition.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
7e3b3dd258 drivers: pinctrl: sifive: use DT ngpios property
Instead of hardcoded definitions from soc.h.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
3381fb4b3d drivers: intc: plic: remove redundant include
<soc.h> is not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
436a9f2211 drivers: intc: nuclei_eclic: remove unnecessary include
soc.h is empty for this platform.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
1a0c13d4ae drivers: i2c: mchp_mss: remove redundant include
<soc.h> is not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
0e9084ff9c drivers: i2c: litex: add missing include
soc.h was missing for some IO r/w functions, e.g. litex_write8.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
9e8bd2f976 drivers: gpio: sifive: remove unnecessary check
The API already asserts for invalid pin based on DT `ngpios` property.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
0363b74b38 drivers: gpio: mchp_mss: remove redundant include
<soc.h> is not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
d17405f255 drivers: gpio: atcgpio100: remove redundant include
<soc.h> is not needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
8edd33bf27 drivers: clock_control: litex: add missing include
Drivers uses custom IO read/write API defined in soc.h.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
c42ef7117d dts: riscv: sifive: fu540: add missing ngpios property
FU540 SoC has 16 GPIOs, this way, the GPIO API can perform correct
asserts when a pin is provided. Note that default is 32, correct for eg
FE310.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
27f14eb3a8 bluetooth: controller: ll_sw: RV32M1: add missing include
cntr.c accesses some registers defined in fsl_device_registers.h.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
a5ded8aa9f arch: riscv: smp: define MSIP_BASE
Instead of relying on definitions included indirectly.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
Gerard Marull-Paretas
7af4f7eb8a arch: riscv: offsets: fix header race condition
It looks like some soc_offsets.h files need to be included before
kernel_offsets, otherwise there are some header race conditions due to
the infamous soc.h. This problem is exposed if all soc.h are removed
from RISC-V arch header files (see the upcoming commits). It can be
reproduced by building rv32m1_vega_ri5cy board after applying all the
patches in this series (excluding this one, of course).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-19 15:13:53 +00:00
TOKITA Hiroshi
3578a9e646 tests: drivers: display: add read() and write() test
Add test for `display_read()` and `display_write()` api.

Note: The CI environment has no display device, which makes it fail
the tests. So, I make this test case `build_only`. But it can run in
a display device available environment.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-19 15:13:25 +00:00
TOKITA Hiroshi
6489255648 drivers: display: sdl: add SDL_DISPLAY_MONO_MSB_FIRST option
Added config for specifying bit order when using monochrome format.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-19 15:13:25 +00:00
TOKITA Hiroshi
321389df92 drivers: display: sdl: Correcting display_read()
Fixed an issue where `display_read()` in the SDL driver was not working.

In the current implementation, use texture to represent screen images.
To read this, draw it once on another surface and then read it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-19 15:13:25 +00:00
TOKITA Hiroshi
a4de15ba1c drivers: display: sdl: Add config for switch hardware accelerator
Add SDL_DISPLAY_USE_HARDWARE_ACCELEREATOR to be able to switch
enable/disable hardware accelerator.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-19 15:13:25 +00:00
Maksim Salau
119f647426 boards: arm: nucleo_f042k6: fix pwm output
Changes:
* Fixed typo in the PWM channel number (32 -> 3)
* Added a prescaler to make the board compatible
  with the blinky_pwm sample

Output of the sample before the fix:

PWM-based blinky
Calibrating for channel 32...
[00:00:00.010,000] <err> pwm_stm32: Invalid channel (32)
[00:00:00.016,000] <err> pwm_stm32: Invalid channel (32)
[00:00:00.022,000] <err> pwm_stm32: Invalid channel (32)
[00:00:00.028,000] <err> pwm_stm32: Invalid channel (32)
[00:00:00.034,000] <err> pwm_stm32: Invalid channel (32)
[00:00:00.040,000] <err> pwm_stm32: Invalid channel (32)
Error: PWM device does not support a period at least 31250000

After the fix:

PWM-based blinky
Calibrating for channel 3...
Done calibrating; maximum/minimum periods 1000000000/7812500 nsec

Presence of PWM signal after the fix
has been confirmed using a logic analyzer.

Signed-off-by: Maksim Salau <maksim.salau@gmail.com>
2024-01-19 15:11:13 +00:00
Philip Molloy
1eb074ea0c MAINTAINERS: add ARM boards to ADI platform
Currently this just includes the ADI SDP-K1

Signed-off-by: Philip Molloy <philip@philipmolloy.com>
2024-01-19 15:09:53 +00:00
Philip Molloy
ee36d9659f boards: add initial support for adi_sdp_k1
Add board configuration, dts and pinmux based on the stm32f469i_disco
board.

Signed-off-by: Philip Molloy <philip@philipmolloy.com>
2024-01-19 15:09:53 +00:00
Kamil Piszczek
a369eb7b36 tests: bsim: bluetooth: host: gatt: add authorization callback API test
Added a new BabbleSim test that validates the authorization callback API
from the Bluetooth GATT header.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2024-01-19 16:08:46 +01:00
Kamil Piszczek
6852abf521 bluetooth: gatt: add authorization callback API for gatt operations
Added the GATT authorization callback API that allows the user to
define application-specific authorization logic for GATT operations.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2024-01-19 16:08:46 +01:00
Jonathan Rico
68316ace22 Bluetooth: L2CAP: remove l2cap_chan_create_seg()
Remove the logic for adding the SDU length when allocating segments. That
section was dead code after the recent patches.

Inline the remainder of the logic into `l2cap_chan_le_send()`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-19 16:59:11 +02:00
Ioannis Karachalios
2e91d01c80 Renesas: Smartbond: HAL bugfixes
Update west.yaml

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2024-01-19 14:39:40 +01:00
Jonathan Rico
d019474766 MAINTAINERS: Add Bluetooth Classic section
This is the "legacy" Bluetooth protocol.

lylezhu2012 (NXP) recently volunteered to maintain it.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-19 07:26:59 -06:00
Jędrzej Ciupis
8f9a86cf5e drivers: ieee802154: fix nRF5 Rx error handling
The current implementation implicitly assumes that if the device is
configured to have the capability of acting as a CSL endpoint then in
case a delayed reception with matching ID finishes with a timeout no
action is needed. This assumption is correct when RxOnWhenIdle mode is
disabled because the transition to sleep is done automatically by the
driver below. However, it's wrong when RxOnWhenIdle is enabled. This
commit fixes that case by adding a call to event handler that notifies
the higher layer about the event and allows it to transition to RxOff if
needed.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-19 07:25:43 -06:00
Alberto Escolar Piedras
e770128c20 boards native_sim: Detect attemtp to configure not existing int
Prevent overrunning the irq vector table.
This is not happening today in tree, but coverity thinks it
may. Checking for it to prevent it is not a bad idea
anyhow, so let's do it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-19 14:04:29 +01:00
Alberto Escolar Piedras
923d4fbad8 boards nrf*_bsim: Detect attemtp to configure not existing int
Prevent overrunning the irq vector table.
This is not happening today in tree, but coverity thinks it
does. Checking for it to prevent it is not a bad idea
anyhow, so let's do it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-19 14:04:29 +01:00
Mike J. Chen
e56c89eb0c sensor_shell: add CONFIG to support trigger for more than one sensor device
Before, only one sensor device was supported. It
was possible to set a trigger on a second sensor
device, but the filtering of the channel data
would cause no channels from the new sensor
device to be read.

Also in trigger handler log of sampled data, print
the sensor name and channe name (instead of channel
number).

Signed-off-by: Mike J. Chen <mjchen@google.com>
2024-01-19 13:51:48 +01:00
Flavio Ceolin
2590ea280c xtensa: mmu: Optimize autorefill invalidation
There is no need to sync in every xtlb invalidation. Sync only
after all tlb autofill ways invalidation.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-19 13:50:02 +01:00
Flavio Ceolin
b9d4b9d9ab pm: Remove CURRENT_CPU macro
Just use _current_cpu that works with/without multicore.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-19 13:49:54 +01:00
Fabio Baltieri
e11bbb829f input: longpress: move constant entries pointer to the config struct
The entries pointer does not change, no need to have it in RAM, 4 bytes
saved. Refactor the init macro a bit while at it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-19 13:49:43 +01:00
Balthazar Deliers
bea34c599d drivers: sensor: Aosong AGS10 TVOC sensor
Added support for Aosong AGS10 TVOC sensor

Signed-off-by: Balthazar Deliers <bdeliers@bdeliers.com>
2024-01-19 06:06:02 -06:00
Krzysztof Chruściński
3cdce5b1de tests: drivers: uart: Adapt nrfx_uarte test configuration
Adapt configuration after changing the default setting for
CONFIG_UART_NRFX_UARTE_LEGACY_SHIM.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-19 13:04:07 +01:00
Krzysztof Chruściński
fb185fb5bd drivers: serial: nrfx_uarte: Use legacy shim by default
New shim takes more flash and is causing some tests to overflow the
ROM memory. Switching to the legacy shim as default until it is fixed.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-19 13:04:07 +01:00
Tomasz Lissowski
042cb6ac4e soc: intel_adsp: enable DfTTS-based time stamping on ACE platforms
This patch enables time stamping controlled by DSP Timers / Time Stamping
logic on ACE1.5 / ACE2.0 platforms.

Signed-off-by: Tomasz Lissowski <tomasz.lissowski@intel.com>
2024-01-19 12:59:00 +01:00
Pavel Vasilyev
83b7513937 Bluetooth: Mesh: Move beacons Kconfiguration under separate submenu
Collect beacons Kconfiguration under own submenu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
bb75d1f813 Bluetooth: Mesh: Move Solicitation Kconfig options
Move Solicitation Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
343fa6d044 Bluetooth: Mesh: Move OdProxy models Kconfig options
Move OdProxy models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
168af2324d Bluetooth: Mesh: Move PRB models Kconfig options
Move PRB models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
84febe83a9 Bluetooth: Mesh: Move LCD models Kconfig options
Move LCD models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
5156f78386 Bluetooth: Mesh: Move OpAgg models Kconfig options
Move OpAgg models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
5b0a1bb165 Bluetooth: Mesh: Move SAR models Kconfig options
Move SAR models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
f89effbe75 Bluetooth: Mesh: Move RPR models Kconfig options
Move RPR models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
c2299e2120 Bluetooth: Mesh: Move DFU models Kconfig options
Move DFU models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
11986a29d8 Bluetooth: Mesh: Move MBT models Kconfig options
Move MBT models Kconfig options under the models menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
dcdbb4bceb Bluetooth: Mesh: Move CDP 1.1 Kconfig options
Move CDP 1.1 Kconfig options to the access layer menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
b94b9c7759 Bluetooth: Mesh: Move provisioning 1.1 Kconfig options
Move provisioning 1.1 Kconfig options to the provisioning menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
6060dfbc7f Bluetooth: Mesh: Move mesh-1.1 transport sar configuration
Move mesh 1.1 transport sar configuration under transport menu

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Pavel Vasilyev
981c79b7ce Bluetooth: Mesh: Drop explicit support for Bluetooth Mesh 1.0.1
Bluetooth Mesh Protocol 1.1 is backward compatible with Bluetooth Mesh
Profile 1.0.1, therefore the stack can still be qualified for 1.0.1 if
needed. But explicit support for both versions requires additional
maintenance efforts and doubles the CI time. To make the stack
qualifiable for 1.0.1, the one needs to remove Private Beacons reception
and compile out SHA256 algorithm support.

What is changed:
- Removed `CONFIG_BT_MESH_V1d1` option.
- Removed `transport_legacy.c` which was using 1.0.1 implementation. The
  new transport layer has new SaR logic that should still be possible to
  qualify for 1.0.1.
- Removed the legacy transport Kconfig options. They are superseded by
  the new transport Kconfig options.
- Tester app: `overlay-mesh-v1d1.conf` is merged into
  `overlay-mesh.conf`.
- Removed BabbleSim tests for 1.0.1.
- Updated documentation.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Michal Smola
c772234e43 twister: fix build dir path for mklink
When twister is run on Windows with --short-build-path option, mklink
fails to create link, because path to build dir contains forward
slashes, which are not handled correctly by mklink.
Fix it by using os.path.normpath in mklink call.
Added os.path.join mock in twister unit test to handle path join
consistently.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-01-19 06:54:17 -05:00
Michał Barnaś
2438dbb613 init: add missing initialization of dev pointer in SYS_INIT macro
When the -Werror=missing-field-initializers is enabled, the compiler
complains about missing initialization of dev pointer in the
init_entry struct when using the SYS_INIT[_NAMED] macro.
This commit adds explicit assignment of NULL to it.

Signed-off-by: Michał Barnaś <barnas@google.com>
2024-01-19 10:30:08 +00:00
Robert Lubos
2c70c5d74a net: shell: Implement DHCPv4 server shell commands
Implement DHCPv4 shell module, which allows to start/stop DHCPv4 server
operation, and print server status (address leases).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-19 10:15:23 +00:00
Robert Lubos
3bc50871bc net: socket_services: Increase default stack size for DHCPv4 server
Increase socket services thread default stack size when DHCPv4 server is
enabled, as it uses synchronous processing.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-19 10:15:23 +00:00
Robert Lubos
1e08bbd543 net: dhcpv4: Implement DHCPv4 server
Add basic socket-based implementation of DHCPv4 sever.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-19 10:15:23 +00:00
Robert Lubos
db80ed3e8d net: if: Add function to obtain IPv4 netmask
Add a helper function to obtain IPv4 netmask configured on an interface.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-19 10:15:23 +00:00
Robert Lubos
1d14f13d75 net: arp: Make arp_update() function externally visible
So that it's possible to register ARP entries manually. Needed for DHCP
server implementation, which in unicast mode needs to reply to an IP
address that is not registered on the peer interface yet (hence no ARP
reply will be sent). It's needed to add an ARP entry manually in that
case, as hardware address is already known at that point.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-19 10:15:23 +00:00
Dawid Niedzwiecki
efe92870c8 ec_host_cmd: spi_stm32: prevent accessing null pointer
There is a possibility that the SPI STM32 Host Command backend is being
suspended, without earlier initialization.

Make sure we are not accessing uninitialized pointer, namely the cs
structure.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-01-19 10:33:51 +01:00
Andrej Butok
a019cc2c9f test: mcuboot: enable test on lpc55s platforms
Enable mcuboot test for lpcxpresso55s06/16/28/36/69 boards.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-19 10:33:44 +01:00
Alberto Escolar Piedras
9d267b91e2 boards native: Add extra arguments through kconfig
Add a new way of passing extra command line arguments
to native simulator based boards using kconfig.
If this new kconfig option is set, its content will be treated
as extra command line arguments/options which will
be parsed before the other command line options.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-19 10:33:30 +01:00
Alberto Escolar Piedras
5a2641b1d7 native_simulator: Get latest from upstream
Align with native_simulator's upstream main
3eae4374db5984a5defcefdeda254b37e72e2ca8

Which includes:
* 3eae437 cmdline parsing: Allow providing more arguments progammatically
* d148a28 Host trampolines: Add realloc

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-19 10:33:30 +01:00
Doug Foster
6a1f48bd4e doc: posix: Update services/portability/posix doc
Update index.rst located in doc/services/portability/posix/overview
to include link to POSIX samples.

Signed-off-by: Doug Foster <dougwfost@gmail.com>
2024-01-19 10:32:23 +01:00
Doug Foster
9fe370ef36 samples: doc: Added/Updated README and Makefile for POSIX samples
Added README.rst for eventfd and uname samples. Updated README for
gettimeofday to align with other READMEs.Updated Makefile.host
file for samples to store output file in 'build' directory.

Signed-off-by: Doug Foster <dougwfost@gmail.com>
2024-01-19 10:32:23 +01:00
Andrej Butok
a691280b12 boards: nxp: Switch MCUBoot FW Update mode to Swap & Move
Switch the default MCUBoot FW Update mode from Swap & Scratch
to more preferable Swap & Move for the rest of NXP MCUs.
Other NXP MCU platforms have been already switched.
Delete the scratch partition. Save RAM & ROM.
Slot 0 has one additional sector, for use with
the swap move algorithm.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-19 10:31:57 +01:00
Henrik Brix Andersen
93551a4a95 doc: releases: migration-guide: 3.6: note on removal of CAN_FILTER_FDF
Add a note about the removal of the CAN_FILTER_FDF flag from the CAN
controller driver API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:55:43 +01:00
Henrik Brix Andersen
75117a0deb drivers: can: remove CAN_FILTER_FDF flag
Remove the CAN_FILTER_FDF flag for filtering on classic CAN/CAN FD frames
as it is not supported natively by any known CAN controller.

Applications can still filter on classic CAN/CAN FD frames in their receive
callback functions as needed.

Fixes: #64554

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:55:43 +01:00
Daniel DeGrasse
aac43a2748 drivers: pwm: pwm_mcux_sctimer: support reconfiguring period
Add support for reconfiguring the period of an active PWM channel with
the SCTimer driver. Due to the design of the SCTimer IP, the period can
only be reconfigured when one channel is in use. Otherwise, only the
duty cycle of each channel can be updated.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-19 09:55:20 +01:00
Lukasz Mrugala
c405d8d68f scripts: tests: Blackbox test expansion
Adds five new tests, covering six more flags:
* -s, --test
*     --sub-test
* -G, --integration
*     --test-config
*     --level
*     --filter

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-19 09:53:36 +01:00
Daniel DeGrasse
60a9929aff boards: update generation comments for NXP board pinctrl files
Update generation comment for NXP board pin control files, to point
users to the current pin control scripting files in NXP's HAL. Note that
these files have not been regenerated- the script name simply has
changed, so update these references to avoid confusion.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-19 09:51:16 +01:00
Juha Ylinen
c84dc7ee2e tests: lwm2m: Update lwm2m_engine tests
Fix lwm2m_message initialization. Pending struct was NULL.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2024-01-19 09:48:46 +01:00
Juha Ylinen
9eee8d2be5 net: lwm2m: Allow send operations when sleeping
Add new kconfig CONFIG_LWM2M_QUEUE_MODE_NO_MSG_BUFFERING.

When enabled and device is sleeping, Reqistration Update
message is skipped and messages from send operation and
notifications are sent right away.

Reqistration update message is also skipped when
lwm2m_engine resumes from pause state.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2024-01-19 09:48:46 +01:00
Eduardo Montoya
822e8d4cc4 net: openthread: remove unneded call to otLinkMetricsInit
Platforms calculate Link Metrics values internally after using
`otPlatRadioConfigureEnhAckProbing`.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2024-01-19 09:48:03 +01:00
Bjarki Arge Andreasen
52be26a8e3 net: l2: ppp: Patch carrier lost and L2 enable/disable
L2 PPP is not able to handle the carrier being lost gracefully,
nor is it able to gracefully close the PPP connection when
net_if_down() is called.

This patch refactors the L2 PPP module to use the carrier state
to either properly close or simply terminate the PPP connection.

Additionally, it ensures that the PPP session is closed properly
before calling ppp->stop().

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-19 09:47:33 +01:00
Thomas Gagneret
c62dbb1386 cmake: zephyr_module: Remove useless 'west_arg' variable
8cc716792a renamed this variable to lower
case to indicate it's only used locally however WEST_ARG is used as a
parameter of zephyr_module.py in CMakeLists.txt when
CONFIG_BUILD_OUTPUT_META is enabled.
This variable was used when west had some limitation. It does not
really make sense now, so it has been removed and content of west_arg
variable has been added by default.

Signed-off-by: Thomas Gagneret <tgagneret@witekio.com>
2024-01-19 09:47:09 +01:00
Henrik Brix Andersen
eeec09eb9a drivers: can: mcp251xfd: flexcan: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
639085b614 drivers: can: mcp2515: flexcan: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
b55051ca9e drivers: can: native_linux: flexcan: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
2c7970d875 drivers: can: nxp: flexcan: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
fbe90f993b drivers: can: nxp: canxl: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
dfafe4c161 drivers: can: rcar: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
9051824fa3 drivers: can: stm32: bxcan: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
b41714b1a6 drivers: can: sja1000: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
c71ae7d7c5 drivers: can: mcan: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
38565a18fa drivers: can: loopback: use common config and data structures
Use the common CAN controller driver configuration and data structures.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Henrik Brix Andersen
e19533382d drivers: can: add structs for common configuration and data fields
Add structs and initializers for common CAN controller driver configuration
and data fields.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:45:29 +01:00
Kapil Bhatt
c22ce801e7 net: wifi_shell: Add help for maximum channels in scan
Add a line for scan's -c parameter which specify
to take care of maximum channels.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-01-19 09:44:22 +01:00
Alberto Escolar Piedras
c9d489d38b manifest: Update nrf hw models to latest
* Update the HW models module to
d17c9d749c817d2522468fa3c0eee3705feb8951

Including the following:
* d17c9d7 UART: Bugfix: Support STARTRX while Rx is stopping
* d982e76 UART: Minor bugfix: Fix 2 warning messages
* eda7af9 UART: Bugfix: Handle task STOPTX while stopping
* b8ea63b UART: BugFix: Support STARTTx even if Tx is not Off
* c0d28cc nrf_common: Add replacement for nrf_dma_accessible_check()
* feb91bb nrfx_common replacement: nrfx_get_irq_number() Add missing peri
* c95d9af Makefile: By default lets build both 52833 and 5340 targets
* cf41110 UART: FIFO backend: Check for failure of fcntl

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-19 09:42:57 +01:00
Markus Lassila
681330aaf0 net: sockets: tls: Fix crashes in get DTLS CID socket options
Get TLS_DTLS_CID_STATUS and TLS_DTLS_PEER_CID_VALUE utilize
mbedtls_ssl_get_peer_cid, which expects that mbedtls_ssl_setup
has been done.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
2024-01-19 09:41:34 +01:00
Dmitrii Golovanov
b6e48d04f6 doc: posix: Fix internal links
Fix several links to other Zephyr doc sections as internal.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-01-19 09:32:29 +01:00
Flavio Ceolin
5eca596d5f tests: dynamic_thread_stack: Use app defined heap
Instead of using the system heap, we define our own heap in incoherent
memory because stacks should be in cached memory.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-18 19:54:31 -05:00
Anas Nashif
69522b8694 MAINTAINERS: add arch/Kconfig
Add file to common arch area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-18 18:02:35 -05:00
Seppo Takalo
a1d33f62ff tests: net: lwm2m: Increase stack on all, not just X86
Increase stack size on all test platforms, not just
qemu_x86.

Stack overflow was seen on HW tests as well, so
it might happen on many platforms.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-01-18 20:18:21 +01:00
Anas Nashif
3f4cb96f80 tests: benchmark: fix scenario identifier
Always use `benchmark.kernel.latency` as the main test identifier,
variants should extend that.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-18 20:16:19 +01:00
Jamie McCrae
aa523a4bde doc: release: 3.6: Add note on fixed MCUmgr UDP error code
Adds a note about a fixed error code

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-18 20:16:11 +01:00
Jamie McCrae
63c21bb383 mgmt: mcumgr: transport: smp_udp: Fix error when message too large
Fixes an issue whereby a message which is too large was attempted
to be sent via the UDP transport would wrongly give an error in
value error

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-18 20:16:11 +01:00
Jukka Rissanen
5a933299bb net: socket: Change the printf modifier to print size_t correctly
The argument is size_t, so change the printf modifier to %zd
to avoid warning prints.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-18 20:13:31 +01:00
Jukka Rissanen
84ff0e8cdf net: socket: Allow user to tweak service dispatcher thread priority
User is able to tweak the socket service dispatcher thread
priority in order to get better performance from the system
if needed. By default the dispatcher thread runs in lowest
application thread priority (K_LOWEST_APPLICATION_THREAD_PRIO).

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-18 20:13:31 +01:00
Jukka Rissanen
38cacc7f63 net: shell: Make the thread name longer for sockets command
The thread name output field was a bit too short in "net sockets"
command, so make it 25 char long.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-18 20:13:31 +01:00
Jukka Rissanen
d3bfef8399 net: shell: Do not crash if no sockets are found
The "net sockets" command was not checking if there is any
sockets in the system before trying to access them.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-18 20:13:31 +01:00
Jukka Rissanen
1dc8249fcd samples: net: zperf: Increase the polled fd count
We need more polled fd count so that socket services work ok.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-18 20:13:31 +01:00
Jukka Rissanen
1e8cbd5d43 net: zperf: Convert UDP receiver to use socket services
Use socket services API for UDP receiver.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-18 20:13:31 +01:00
Jukka Rissanen
07823f7710 net: zperf: Convert TCP receiver to use socket services
Use socket services API for TCP receiver.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-18 20:13:31 +01:00
Laurentiu Mihalcea
f14c3e06f4 xtensa: nxp_adsp: common: Remove soc.c
The soc.c interrupt-related definitions are supposed to
provide support for multi-level interrupts. At the moment,
the way the functions work is they only process the LEVEL 1
interrupt from the encoded INTID and treats the provided INTID
as if it were simply a LEVEL 1 interrupt, which is wrong. Another
issue with soc.c is the fact that the definitions from it clash
with the ones provided by the IRQSTEER driver. To fix this, remove
the soc.c file altogether and change the corresponding CMakeLists.txt
to only contain the necessary statements.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-18 20:12:13 +01:00
Emil Gydesen
d26ba10640 Bluetooth: GATT: Add missing busy check for auto discover CCC
When using the auto discover CCC, and the function is called
more than once with the same parameters before the previous
discovery has completed, then that may cause issues when we
reset the parameters when we get the response.

This commit adds a small check for the callback function
which is only set to the specified function when the
discovery is in progress. This way we can return an error
if the application calls bt_gatt_subscribe multiple times
before the previous discovery has completed, rather
than asserting.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-18 20:11:08 +01:00
Ian Morris
640e70c9ce drivers: clock_control: clock_control_ra.c: clock divider fix
The clock divider value is not being applied as the address of the
register to which it is being written is incorrect. A check of all RA MCU
datasheets confirms that, in all cases, the SCKDIVCR register is at an
offset of 0x20 (and not 0x21).

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-01-18 20:08:36 +01:00
Attie Grande
a97b61e7ed include: sd: revise the minimum alignment of card_buffer to 4-bytes
Since a85ffa8, `struct sd_card.card_buffer` has naturally fallen at an
offset that is unaligned. This meant that on systems without support for
unaligned access (e.g: Cortex-M0), a hard fault would present when
executing code that casts the buffer to `uint32_t` (such as
`sdmmc_spi_read_cxd()`, `card_query_written()`, etc...)

Historically, it appears that the alignment of the `card_buffer` member
was good and operational only by chance.

Altering the default value of `CONFIG_SDHC_BUFFER_ALIGNMENT` was
rejected, as this has wider implications.

Fixes #62619

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2024-01-18 20:04:50 +01:00
Daniel Leung
3b99fb1b4a xtensa: do not imply atomic ops kconfig
Xtensa's arch level atomic implementation requries S32C1I
support which may not exist as Xtensa cores are highly
configurable. Implying CONFIG_ATOMIC_OPERATIONS_ARCH at
arch level has a side effect that it is enabled
regardless if the other options are enabled. Given how
the header file's #ifdef is structured, only C atomic
ops can override this, which means enabling
CONFIG_ATOMIC_OPERATIONS_BUILTIN has no effect at all.
So let the SoC or board decide which atomic ops are
being used instead.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-18 11:29:11 -05:00
Lukasz Mrugala
8bcec18e25 scripts: tests: blackbox noclearout mark warning removal
Currently, the noclearout pytest mark generates warnings because
it is not registered.
This commit adds its registration in the relevant conftest.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-18 09:23:20 -05:00
Christopher Friedt
b0a83a9177 posix: rwlock: make pthread_rwlock_t a pooled ipc type
Like mutex, barrier, cond, spinlock, etc, make
pthread_rwlock_t a pooled ipc type.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-18 09:22:35 -05:00
Tim Lin
9948c29885 ITE: drivers/i2c: Adjust the prescale of I2C SCL low and high period
When adjusting the prescale to increase the I2C SCL low period,
the high period must also be subtracted to maintain a consistent
frequency.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-01-18 07:22:55 -05:00
Tim Lin
ba11dc8065 ITE: drivers/i2c: Add the property of I2C data hold time
Add a property to adjust the I2C data hold time which will pass
the SI test.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-01-18 07:22:55 -05:00
Gerard Marull-Paretas
1d128f13b6 samples: modules: tflite-micro: remove incorrect check
sensor cannot be null because it is initialized with DEVICE_DT_GET_ONE,
which always resolves to a device. The deleted check triggered a
compiler warning ("warning: the address of '__device_dts_ord_23' will
never be NULL").

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-18 12:09:53 +00:00
Ben Wolsieffer
37352d3d29 soc: nrf53: fix building anomaly 168 workaround
With GCC 12.3 and binutils 2.40, the build fails with:

<...>/zephyr/arch/arm/core/cortex_m/cpu_idle.S: Assembler messages:
<...>/zephyr/arch/arm/core/cortex_m/cpu_idle.S:51: Error: junk at end of line, first unrecognized character is `n'
<...>/zephyr/arch/arm/core/cortex_m/cpu_idle.S:133:   Info: macro invoked from here

Because the SOC_ON_EXIT_CPU_IDLE macro puts all the statements on a
single line, there must be a semicolon after .rept

Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
2024-01-18 12:53:12 +01:00
Filip Kokosinski
18deb582ef boards/riscv: use the same board name convention for ITE platforms
This commit unifies the board name convention used by ITE RISC-V platforms.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-01-18 06:40:34 -05:00
Fabio Baltieri
979e7a6c56 github: footprint: set ZEPHYR_SDK_INSTALL_DIR after the rebase
The ZEPHYR_SDK_INSTALL_DIR currently tries to read the SDK_VERSION at
the PR base ref, but this has only been introduced recently. Move the
ZEPHYR_SDK_INSTALL_DIR settings down as part of the build step after the
rebase so the file will always be found from now, even on old PRs.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 11:29:07 +00:00
Fabio Baltieri
1c9be802bc usbc: fix shadowed declaration build error
Fixes:

/__w/zephyr/zephyr/subsys/usb/usb_c/usbc_tc_src_states.c:260:21: error:
declaration of 'ret' shadows a previous local [-Werror=shadow]

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 11:28:54 +00:00
Krzysztof Chruściński
e2dccab4d5 boards: posix: nrf_bsim: Use legacy UART shim
New UART shim must be adapted to work in the simulated environment.
Use legacy version until it is fixed.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Krzysztof Chruściński
2ebf83176c tests: drivers: uart: uart_pm: Use legacy nrf driver
New nrf uart shim requires addiotional work around PM. Use legacy
version for those tests until it is fixed.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Krzysztof Chruściński
e47bdb2555 tests: drivers: uart: async_api: Add configuration for legacy nrf driver
Add configuration which tests legacy nrf uart driver.
Prevent tests on nrf52_bsim of the new driver (it is requiring
adjustments for the simulation). It will be fixed by another
patch.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Krzysztof Chruściński
b8c9aad728 tests: drivers: uart: uart_mix_fifo_poll: Align the the new nrfx driver
Align test configurations to the new uart driver based on nrfx_uarte.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Krzysztof Chruściński
4cc213bc8d drivers: serial: nrfx: Add new shim based on nrfx_uarte
Add new shim which is based on nrfx driver.

Legacy shim is kept for transition period. It can be used after
setting CONFIG_UART_NRFX_UARTE_LEGACY_SHIM.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Krzysztof Chruściński
4fcf8e0630 modules: hal_nordic: nrfx: Add new UARTE options to Kconfig
Add Kconfig options to new configuration flags for nrfx_uarte.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Krzysztof Chruściński
a0382bd0f3 soc: arm: nordic_nrf: Disable UART runtime configuration
Since it takes 400 bytes of code and it is rarely used disable
by default this feature.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Krzysztof Chruściński
2854fc18fd drivers: serial: Add async to interrupt driven adaptation
Add adaptation layer which allows to provide interrupt driven
API for drivers which exposes only asynchronous API.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Alexander Kozhinov
5db55b01af drivers: can: can_stm32h7_fdcan: add device fail on invalid fed clock value
Fail on wrong FDCAN clock in can_stm32h7_clock_enable() stage.

Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2024-01-18 11:03:21 +01:00
Chaitanya Tata
df6d4e7717 wifi: shell: Log errors for validation
Handy in giving feedback to the user rather than silent failure.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-18 10:55:45 +01:00
Chaitanya Tata
c9363a9c71 wifi: shell: Fix the channel extraction
The channel extraction from string directly uses the end variable with
limited data type, this causes issue if an invalid channel that exceeds
the data is given as an input e.g., 300, which would end up as a valid
channel 44.

Use an intermediate variable with type that can hold all possible
combinations (valid and invalid) and only after validation assign that
to the end type.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-18 10:55:45 +01:00
Chaitanya Tata
2f88df9cef wifi: shell: Add channel validation
Validate the channel for both STA and AP modes.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-18 10:55:45 +01:00
Chaitanya Tata
2f99379dd5 wifi: utils: Move channel helpers to public API
These can be used for channel validation outside the utils.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-18 10:55:45 +01:00
Chaitanya Tata
c6f2152348 wifi: shell: Add a sanity check for MFP
For none and WPA-PSK MFP isn't applicable, it was only introduced in
WPA2-PSK (RSN) and later.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-18 10:55:45 +01:00
Chaitanya Tata
4a1847eb22 wifi: shell: Make channel mandatory for AP
For starting an AP mode, channel is mandatory, so, fix the arguments and
the help text.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-18 10:55:45 +01:00
Yves Vandervennet
2a8b25660a boards: mimxrt1020_evk: enable linkserver support
- adds the definitions in the board.cmake file
- updates documentation

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-18 10:55:39 +01:00
Dominik Ermel
8ecda0418d tests/flash: Fix test assuming erase value to be 0xff
Test assumed non-writen flash to contain 0xff while it is
supposed to check for erase_value.
The "random" buffer has also been updated to skip values that
are equal to erase value.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-01-18 10:55:32 +01:00
Pavel Vasilyev
7a41a9d864 Bluetooth: Mesh: Fix processing SegAcks to wrong destination
Do not process SegAcks which were not targeted to the node.

They were rejected in the next if statement always, but generated
the annyoing warning "No matching TX context for ack".

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-18 10:55:24 +01:00
Bjarki Arge Andreasen
1bc8490c6c drivers: gnss: match: Change RMC/GGA sync from timeout to UTC
Change the synchronization of RMC and GGA NMEA messages from a
timeout to matching their UTC timestamps.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-18 10:55:17 +01:00
Vit Stanicek
f0b4e4c88d drivers: gpio_mcux_lpc: Fix xt-clang error
Remove gpio_clock_names and gpio_mcux_lpc_config->clock_ip_name from
drivers/gpio/gpio_mcux_lpc.c.

The drivers/gpio/gpio_mcux_lpc.c file did not compile with xt-clang
RI-2021.8-win32, as the gpio_clock_names was initialised with a
reference to a static const array. The clock_ip_name member was
initialised from this variable, but it isn't used anywhere else.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2024-01-18 10:55:05 +01:00
Ian Wakely
715dc68b22 boards: Enabling neopixel on Adafruit Qt Py RP2040
Using the recently added WS2812 PIO driver, this enables the LED on the
QT PY to work with the built in RGB LED examples.

Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
2024-01-18 10:54:55 +01:00
Yong Cong Sin
7c42c01f10 posix: pthread: use is_posix_policy_prio_valid to check POSIX priority
Use the existing `is_posix_policy_prio_valid()` function to
verify the POSIX's priority in the conversion functions.

Changed the `priority` arg of `is_posix_policy_prio_valid` to
`int` since that is the output of `sched_get_priority_min` &
`sched_get_priority_max`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:47 +01:00
Yong Cong Sin
c3cc2e4e6d posix: pthread: test the priority conversion functions
Made the conversion functions non-static and added ztests for
them to make sure that they work across the full range of
Zephyr priorities.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:47 +01:00
Yong Cong Sin
5ad7f4b314 posix: pthread: priority should be of int type
Changed the variable type of the priority in the args and the
return type of the conversion functions to `int`, as both
Zephyr's priority & POSIX's `sched_priority` has type `int`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:47 +01:00
Yong Cong Sin
b2caec8601 posix: pthread: fix typos
- 'piority' should be 'priority'
- COOP should start from `-CONFIG_NUM_COOP_PRIORITIES`

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:47 +01:00
Yong Cong Sin
66fdd39ec5 posix: pthread: fix zephyr_to_posix_priority assert test
If `z_prio` is negative and we want to make sure that it is
within `[-CONFIG_NUM_COOP_PRIORITIES, -1]`, we should invert
its sign and make sure that it is `<=`
`CONFIG_NUM_COOP_PRIORITIES` instead of `<`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:47 +01:00
Yong Cong Sin
45c554d082 posix: shell: introduce top level posix command
Added a top level `posix` shell command for other POSIX
commands. Currently only `uname` is supported.

New POSIX commands can be added by including the
`posix_shell.h` header and use the `POSIX_CMD_ADD` helper
macro.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:32 +01:00
Yong Cong Sin
2cd0265f7e samples: posix: uname: add Makefile to compile on POSIX OS
Previously the sample was using some headers that aren't
available to the host, now we can add a `Makefile.host` to
compile the example on a POSIX OS like Linux:

```
# Go to the sample dir
cd ${ZEPHYR_BASE}/samples/posix/uname

# Compile the sample
make -f Makefile.host

# Run the binary
./build/uname

sysname[65]: Linux
nodename[65]: LAPTOP-YC
release[65]: 5.10.16.3-microsoft-standard-WSL2
version[65]: #1 SMP Fri Apr 2 22:23:49 UTC 2021
machine[65]: x86_64
```

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:32 +01:00
Yong Cong Sin
635dabf07a posix: uname: shell: update help message with more information
Populate the help message with more information when an error
occurs.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:32 +01:00
Yong Cong Sin
48c16f9052 posix: uname: move uname shell from sample
Relocate the `uname` shell implementation from uname sample, so
that it can be reused by other application and the uname sample
only uses POSIX APIs.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:32 +01:00
Yong Cong Sin
cf13057c8d samples: posix: uname: convert to use printf
Convert to `printf` from `printk` to be more POSIX-y.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:54:32 +01:00
Jun Lin
d34cd3e311 driver: I2C: npcx: re-enable interrupts after bus error
When the I2C is in the target mode and encounters the bus error, the
driver has to reset the bus to recover the I2C hardware. However, when
the hardware is disabled, the interrupt enable bits are also cleared
automatically by design. As a result, we need to enable the interrupts
after resetting the I2C hardware.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-01-18 10:54:25 +01:00
Fabio Baltieri
6529e316a5 workflows: find the SDK version from the top level SDK_VERSION file
Drop all hardcoded ZEPHYR_SDK_INSTALL_DIR settings, set the variable
automatically from the SDK_VERSION file instead.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 10:54:20 +01:00
Fabio Baltieri
24cf2f6548 doc: use substitutions to replace all current harcoded SDK versions
This creates a set of substitution rules to replace all current usages
of SDK versions in the documentation, apart from a few that were not
meant to be copy-pastable anyway and the version has just been swapped
with a <version> placeholder.

Since code-block does not parse the content, these have all been
replaced with parsed-literal. That one though parses URLs, which cannot
be broken, so a series of URL substitutions are provided too.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 10:54:20 +01:00
Fabio Baltieri
53f01807f6 SDK_VERSION: add a SDK_VERSION file
Add a SDK_VERSION file pointing to the current SDK version.
This is meant to be used by upstream and downstream CIs to automatically
determined the current version of SDK based on the upstream checked out
version, as well as the documentation references, and intended to stay
in sync with the version used in the main CI.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 10:54:20 +01:00
Michał Barnaś
77187548ff usbc: add driver for nx20p3483 PPC chip
Add driver for NXP nx20p3483 power path controller that can be used
to control and protect sink and source path of USB-C connector.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2024-01-18 10:53:53 +01:00
Michał Barnaś
551c7654f5 usbc: integrate the PPC with the USB-C stack
Add calls to the PPC API that enables and disables the sink and source
paths in the appropriate USB-C stack states.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2024-01-18 10:53:53 +01:00
Michał Barnaś
6bd26a0575 usbc: add shell commands for PPC manipulation
Add support for ppc shell command with subcommands that can print
the status of PPC (dead battery, sinking, sourcing, vbus detected),
dump registers and request the PPC to exit dead battery mode.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2024-01-18 10:53:53 +01:00
Michał Barnaś
85219ed13c usbc: add API for the Power Path Controllers
This commit adds an API to the Power Path Controllers (PPC) that
may be used with USB-C subsystem to control the current paths,
enabling and disabling sourcing and sinking VBUS and protect against
shorts, overvoltage and overcurrent.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2024-01-18 10:53:53 +01:00
Greter Raffael
08a2ca5b9b riscv: irq: Correct interrupt handling in clic non-vectored mode
According to the clic specification
(https://github.com/riscv/riscv-fast-interrupt), the mnxti register has
be written, in order to clear the pending bit for non-vectored
interrupts. For vectored interrupts, this is automatically done.

From the spec:
"If the pending interrupt is edge-triggered, hardware will automatically
clear the corresponding pending bit when the CSR instruction that
accesses xnxti includes a write."

I added a kconfig `RISCV_SOC_HAS_CUSTOM_IRQ_HANDLING` to allow custom
irq handling. If enabled, `__soc_handle_all_irqs` has to be implemented.

For clic, non-vectored mode, I added a `__soc_handle_all_irqs`, that
handles the pending interrupts according to the pseudo code in the spec.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
Greter Raffael
9c955ce869 test: gen_isr_table: Adjust test for clic
The CLIC has different software-triggerable irqs than the PLIC. I
adjusted them.

Additionally, in a clic the the irq flag 0 would mean triggering on a
positive level. To work with software-triggering, the irqs have to
trigger on a positive edge, i.e. 1.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
Greter Raffael
5b19fcd7e8 riscv: irq: Add trigger_irq function for clic
In a clic the mip register does not exist and software irq are triggered
in the clicintip register.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
Greter Raffael
899ee686d8 riscv: irq: Adjust initialization of mtvec in non-legacy CLIC
If CONFIG_LEGACY_CLIC is disabled, i.e. we adhere to the current CLIC
spec, the mode bits of mtvec have to be 0x3. Everything else is
reserved. Therefore if CONFIG_RISCV_VECTORED_MODE is enabled, the
current implementation is correct. If CONFIG_RISCV_VECTORED_MODE is
disabled, the mode bits have to be set, too.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
Greter Raffael
ef5c28cab2 riscv: irq: Set selective hardware vectoring
The mechanism for hardware vectoring has changed in the clic spec
(https://github.com/riscv/riscv-fast-interrupt) in 2019. Before
vectoring was enabled via `mode` bits in `mtvec`. Support for this was
added in fc480c9382.

With more current clic implementations, this does not work anymore.
Changing the `mode` bits is reserved. Vectoring can be enabled
individually in the `shv` bit of `clicintattr[i]`.

Since the old mechanism is still used, I added a new Kconfig for it.

If this Kconfig is not set, we use the `shv` bit for harware vectoring.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
Greter Raffael
bc2e157cba riscv: irq: Correct CLIC_INTATTR_TRIG_Msk
The trig field of clicintattr is indeed in bits 2:1. However, the mask
`CLIC_INTATTR_TRIG_Msk` is only applied directly to the bitfield
`INTATTR.b.trg`. Therefore it doesn't have to be shifted additionally.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
Greter Raffael
1217656a24 riscv: irq: Set prio for dynamic and direct irqs on clic
The irq priority has to be called for dynamic and direct irqs, too. For
direct isrs, this was missing completely, for direct irqs just for the
clic.

For dynamic irqs, I replaced the current implementation with
`z_riscv_irq_priority_set`. For the plic, this is exaclty the same.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
Mykola Kvach
72758f96d1 drivers: pinctrl: pfc_rcar: add support of voltage control to pfc driver
Add support of voltage control to Renesas PFC driver. Voltage register
mappings have been added to r8a77951 and r8a77961 SoCs.

Allow 'power-source' property for 'renesas,rcar-pfc' node. This property
will be used for configuring IO voltage on appropriate pin. For now it
is possible to have only two voltages: 1.8 and 3.3.

Note: it is possible to change voltage only for SD/MMC pins on r8a77951
      and r8a77961 SoCs.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-01-18 10:53:17 +01:00
Yong Cong Sin
b8008c4727 shell: shell_uart: improve macro compatibility with previous version
The `SHELL_UART_DEFINE` macro was previously
`SHELL_UART_DEFINE(_name, _tx_ringbuf_size, _rx_ringbuf_size)`,
before it got removed in #63967 and then reinstated in #66218 as
`SHELL_UART_DEFINE(_name)`.

However its current form isn't compatible with previous Zephyr
version, and would cause compilation error when an application
migrates from to v3.6, let's modify it to accept variable
arguments for now.

Added documentation for this public API and updated the
migration guide accordingly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:52:08 +01:00
Dino Li
b09cd03085 soc: it8xxx2: Disable EGAD pin output of external gpio control
Setting IT8XXX2_EGPIO_EEPODD bit will disable EGAD pin output driving
to avoid leakage when GPIO E1/E2 on it82002 are set to alternate
function.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
2024-01-18 10:51:19 +01:00
Tim Lin
71271307fe ITE: drivers/i2c: Extended setting required to use i2c5
In addition to setting SMB5PS, PMER1 also needs to be set when
using i2c5.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-01-18 10:51:19 +01:00
Dino Li
d5026c6c6b drivers/pinctrl: it8xxx2: Modify the sequence of pinctrl setting
Modify the sequence of pinctrl setting. Default setting as input mode
prevents leakage during changes to extended setting.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
2024-01-18 10:51:19 +01:00
Erwan Gouriou
b98c7942ca pm: console: Use async runtime put to minimize resumption/suspension
When device runtime pm is enabled on console device, do not suspend
device synchronously on each char transmission, but rather use asynchronous
suspension request.
This will save useless and costly suspension/resumption procedure, which
can involve uart device clock suspension but also pin configuration
to sleep state (which itself involves gpio clock activation ...).

On STM32, using asynch device suspension allows to divide by 3 the
transmission time of a character chain.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-18 10:51:10 +01:00
Martí Bolívar
9569e44104 MAINTAINERS: retire myself as DT maintainer
Unfortunately, I don't have the cycles to do this job well at the
moment.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2024-01-17 17:13:41 -08:00
Jordan Yates
8f7e3b8123 scripts: twister: snippet roots from modules
Automatically populate the snippet roots from Zephyr modules, instead of
only looking in `ZEPHYR_BASE`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-17 13:02:22 -05:00
Armin Brauns
2b2e6bad36 drivers: allow changing max31865 three-wire mode at runtime
Instead of only through static devicetree config at boot.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2024-01-17 13:01:24 -05:00
Emil Gydesen
490c5e3b20 Bluetooth: Audio: Shell: CAP change volume command
Add sthe change volume command to the CAP commander shell.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 12:00:09 -05:00
Emil Gydesen
6e52f384c8 tests: Bluetooth: CAP commander volume_change unit tests
Adds unit tests for the CAP Commander volume_change
procedure.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 12:00:09 -05:00
Emil Gydesen
c999e4600d tests: Bluetooth: CAP: Add test of change volume procedure
Add testing of the CAP Commander Change Volume procedure
in BSIM.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 12:00:09 -05:00
Emil Gydesen
b09ce2fade Bluetooth: CAP: Commander set volume support
Add support for setting volume on one or more CAP
acceptors using the CAP Commander API.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 12:00:09 -05:00
Emil Gydesen
09a3483b4e Bluetooth: Audio: Fix coverity for BT_AUDIO_METADATA_TYPE_IS_KNOWN
Coverity is unhappy about using IN_RANGE ending with
BT_AUDIO_METADATA_TYPE_VENDOR on uint8_t values, as uint8_t
values are always <= 255.

Fixed by modifying it into a specific value check which is
also slightly more efficient.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 11:59:35 -05:00
Emil Gydesen
1faa5a2aa2 Bluetooth: BAP: Add support for transparent coding format
Add support for controlling whether the local controller
should transcode, or whether it will be done by another
module (e.g. the host).

By default when using the macros,
controller transcoding will be disabled.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 11:59:14 -05:00
Emil Gydesen
476e7b3fa3 Bluetooth: Audio: Ensure that read callbacks can handle conn == NULL
The read callbacks may be called with conn == NULL if the device
does a local read of the attributes. This commit ensures that all
the read callbacks can handle the case where conn == NULL.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 11:58:44 -05:00
Rander Wang
6a0b1da158 soc: intel_adsp: call framework callback function for restore
When exiting power gated state, call the CPU start function
passed to arch_start_cpu().

Signed-off-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
2cdd44801e kernel: move z_init_cpu to private kernel headers
z_init_cpu() is a private kernel API so move it under
kernel/include.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
35a1814c4d kernel: smp: remove z_smp_thread_init/_swap
This removes z_smp_thread_init() and z_smp_thread_swap() as
SOF has been updated to use k_smp_cpu_custom_start() instead.
This removes the need for SOF to mirror part of the SMP
power up code, and thus these two functions are no longer
needed.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
f7bd449c52 modules: sof: use k_smp_cpu_custom_start for core power up
This updates the SOF to use the newly introduced
k_smp_cpu_custom_start() for secondary core power up.
This removes the need to mirror part of the SMP power up
code from Zephyr kernel into SOF tree. Also removes the need
to expose private kernel code to SOF.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
ea797f28b6 tests: smp_boot_delay: extend to test custom CPU start func
This extends the smp_boot_delay test to test the newly
introduced function k_smp_cpu_custom_start().

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
eefaeee061 kernel: smp: introduce k_smp_cpu_resume
This provides a path to resume a previously suspended CPU.
This differs from k_smp_cpu_start() where per-CPU kernel
structs are not initialized such that execution context
can be saved during suspend and restored during resume.
Though the actual context saving and restoring are
platform specific.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
fe66e35db0 kernel: smp: put comment on SMP code
Adds some comments to the SMP code to, hopefully, make it
a bit more clear to future readers.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
89b231e7e2 kernel: smp: introduce k_smp_cpu_start
This renames z_smp_cpu_start() to k_smp_cpu_start().
This effectively promotes z_smp_cpu_start() into a public API
which allows out of tree usage. Since this is a new API,
we can afford to change it signature, where it allows
an additional initialization steps to be done before a newly
powered up CPU starts participating in scheduling threads
to run.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
ad87d2667c tests: kernel/smp_boot_delay: make test more generic
This makes the test a bit more generic so it can run on
other SMP enabled platforms. Though, we don't need CI
running this on every SMP platforms as this is not
testing the mechanism of bringing up a CPU. That is
being tested on the other SMP test. Therefore, only
enable qemu_x86_64 to be testing in CI so that this
feature will still be tested on CI.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
803e0e452f kernel: amend wording on CONFIG_SMP_BOOT_DELAY
This extends the wording so that not only architecture code can
start secondary CPUs at a later time. Also adds a missing 'to'.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
f3bcf48590 boards: qemu_x86_64: amend DTS to have 2 CPU nodes
qemu_x86_64 has default of 2 CPUs but the device tree only
has 1. For correctness, add another CPU node to the tree.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Daniel Leung
991523f462 x86: add CODE_UNREACHABLE to z_x86_cpu_init
For some reason, unrelated code change triggered compiler
warning about this function returns even though it is
marked nonreturn. So add CODE_UNREACHABLE to silence
the warning, possibly to catch any errors.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-17 11:57:20 -05:00
Emil Gydesen
77c76fd7aa doc: Bluetooth: Update audio status table
Put CAP Commander into WIP.
Put PBP source and sink into done.
Put GMAP into done (minus samples).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 11:56:29 -05:00
Ajay Parida
4d854a193e net: mgmt: Print correct TWT teardown status message
Print success message for TWT teardown successful case.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2024-01-17 16:11:37 +00:00
Laurin Wolf
f59ab74ba8 docs: lwm2m: fix example x509 CA certificate resource id
The resource ID of the CA certificate in the Security Object should
be 0/0/4 instead of 0/0/5

Signed-off-by: Laurin Wolf <laurin@l5w.de>
2024-01-17 16:11:04 +00:00
Alberto Escolar Piedras
33d4b6d148 manifest: Update nrf hw models to latest
* Update the HW models module to
6b6ae3652c92c95edd945dce6ad9ef9892aab89b

Including the following:
* 6b6ae36 UART: Minor optimization
* afe84c1 fake timer: Minor speed optimization for nrf52
* a5a4dfd RTC: Fix counter value when CLEAR after STOP

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-17 16:10:17 +00:00
Jukka Rissanen
3a37c5d987 net: shell: Require float printf support from libc
Various network shell commands like ping need floating
point support from libc so select the CONFIG_REQUIRES_FLOAT_PRINTF
option for it.

Fixes #67601

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-17 16:09:17 +00:00
Pisit Sawangvonganan
ab2c9437d9 drivers: i2c: set 'i2c_driver_api' as 'static const'
This change marks each instance of the 'i2c_driver_api' as 'static const'.
The rationale is that 'i2c_driver_api' is used for declaring internal
module interfaces and is not intended to be modified at runtime.
By using 'static const', we ensure immutability, leading to usage of only
.rodata and a reduction in the .data area.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-17 16:09:01 +00:00
Joakim Andersson
3a830433be tfm: Provide properties for selected TF-M toolchain for NS application
Provide properties for selected TF-M toolchain so that the NS
application will use the same toolchain as TF-M.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
ad9cdf06c4 samples: tfm_psa_test: Adapt to TF-M split build
The sample now builds the psa-arch-tests itself and doesn't rely anymore
on the TF-M module CMakeFile.
Additionally it will not run the zephyr main.c anymore but therefore only
uses the tf-m non-secure application.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
cac7f4058f modules: tf-m: Remove building of PSA arch tests
This removed the CMake code that builds the TF-M arch tests within the
TF-M CMakeFile. It will be moved to the tfm_integration/tfm_psa_test
sample CMakeFile.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson
f48467a2a6 tfm: Update TF-M regression tests sample to build NS app
Update the TF-M regression tests sample to build the NS app
in the tf-m-tests repository as an external project.

The regression tests need to provide test configurations to both
TF-M an NS app.
Duplicate configuration done in the spe/CMakeLists.txt to configure
TF-M image for the regression tests.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson
f49cbf13ca tfm: Remove TFM_BUILD_NS and update TFM_USE_NS_APP for NS build folder
TF-M no longer builds the NS app, but exports build files to api_ns
folder and expects the user to build the rest themselves.
Remove the option to build the NS app, and update the TFM_USE_NS_APP
to look for an output hex file in the tfm_ns folder.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson
6c927490d0 tfm: Add NS build support for zephyr out-of-tree nordic_nrf platform.
Add build of the NS application in the zephyr defined out-of-tree board
support for the nordic_nrf platform.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
e8eeecddcf sample: tfm_secure_partition: Change tfm_partition_defs to tfm_config
The target tfm_partition_defs got removed and  tfm_config gets used now so
updating it

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson
3398c98743 modules: mbedtls: Use TF-M PSA API headers
Use TF-M PSA API headers when compiling with TF-M enabled.

Fixes: #43249

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
dc7613865d modules: mbedtls: Add a mbedtls_ms_time implementation
MbedTLS 3.5.0 requires a implementation of mbedtls_ms_time giving a
time in ms for TLS 1.3
Therefor adding an alternative implementation using zephyrs
k_uptime_get

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
fbee1c61ed modules: mbedtls: Rename of psa_crypto_driver_wrappers
psa_crypto_driver_wrappers.c got changed to
psa_crypto_driver_wrappers_no_static.c

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson
f5eecd500d tfm: nordic_nrf: Remove include of tfm_api.h, update install path
Update install path of tfm_ioctl_api.h, remove include of tfm_api.h

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson
d931dded11 tfm: Use PSA error codes instead of TFM error codes
The TFM error codes are no longer in the interface headers.
All TF-M functions return PSA status codes, so use this here as well.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson
a14f42a817 modules: Update source, lib and include path for TF-M interface files
Update source lib and include path for TF-M interface files.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
8b257c058d modules: tf-m: Remove platform_ns target
The platform_ns library is no longer build with the split build anymore
so removing it.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
11175c3ad3 tf-m: Change NS include path for TF-M 2.0.0
The place where TF-M places its non-secure api header files has changed
Therefore changing it for for all applications that use it.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
78fd53fae7 modules: tf-m: nrf9160: Change to cpuarch.cmake
The preload.cmake was renamed to cpuarch.cmake in TF-M so change

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
132bfc45b7 modules: tf-m: nrf9120: Change to cpuarch.cmake
The preload.cmake was renamed to cpuarch.cmake in TF-M so change

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
21098acdec modules: tf-m: nrf5340_cpuapp: Change to cpuarch.cmake
The preload.cmake was renamed to cpuarch.cmake in TF-M so change

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
85ecdd70e4 modules: mbedtls: Adapt source list to 3.5.0
remove hash_info.c and add ecp_curves_new.c

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
e53485c012 modules: mbedtls: Sort base src
Sort the list of source files for the mbedTLSBase library

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky
917bec37d0 manifest: TF-M v2.0.0 update
Update TF-M to version 2.0.0 including
MbedTLS to v3.5.0
TF-M-Tests to v2.0.0
PSA-Arch_Tests to v23.06_API1.5_ADAC_EAC

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Pisit Sawangvonganan
b8105c1408 drivers: bluetooth: ambiq: fix the naming of rx message buffer
This change renames the RX message buffer from g_hciRxMsg to rxmsg,
as it does not follow the Zephyr coding style.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-17 16:51:53 +01:00
Pisit Sawangvonganan
61e301a059 bluetooth: hci: place tx/rx message buffer in .noinit section
This change relocates the tx/rx message buffer from the .bss section
to the .noinit section. This adjustment is aimed at reducing boot time by
lowering the size of the .bss section, without impacting the operational
functionality of the buffer.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-17 16:51:53 +01:00
Bjarki Arge Andreasen
358f1ff934 tests: modem: cmux: Implement TRANSMIT_IDLE into test suite
Use transmit idle event to synchronize with data transmitted
through DLCI pipes to test TRANSMIT_IDLE implementation.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-17 09:20:50 -06:00
Bjarki Arge Andreasen
c114627853 modem: cmux: Implement TRANSMIT_IDLE event
Implement transmit idle event both for transmitting data to the
bus, and for the individual DLCI channels.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-17 09:20:50 -06:00
Armando Visconti
06edc37521 samples: sensor: lps22hb: fix sample document
The LPS22HB is a pressure and temperature sensor, but
this sample document is wrongly mentioning "humidity".

Fix #66117

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-17 08:28:35 -06:00
Morten Priess
056d5a354b Bluetooth: controller: Handle peripheral CIS creation latency
Instead of asserting, handle CIS creation latency for the peripheral by
finding next valid ISO event at which to start the CIG ticker.

Refactored calculations of the cig_offset to separate functions, to be
used also when calculating a new start offset.

Signed-off-by: Morten Priess <mtpr@oticon.com>
2024-01-17 14:44:34 +01:00
Daniel DeGrasse
c4e48b66bd tests: drivers: audio: add dmic API test
Add DMIC API test, intended to verify DMIC drivers are functioning
correctly within the DMIC API.

The test verifies the following:
- Mono channel audio
- Stereo channel audio
- Using maximum number of channels supported by DMIC IP
- Pausing/restarting channels
- Checks to make sure invalid channel maps are rejected by the DMIC.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-17 14:43:52 +01:00
Daniel DeGrasse
ff4143acfb boards: arm: mimxrt595_evk_cm33: enable DMIC0 channels 0 and 1
Enable L/R channel pair for DMIC0 on the RT595 EVK. The RT595 EVK has a
pair of MEMS microphones wired to PDM channel 0 and 1, so these channels
are configured with appropriate gain and filter settings for the MEMS
microphones.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Co-authored-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-17 14:43:52 +01:00
Daniel DeGrasse
9a14bece20 dts: arm: nxp_rt5xx: add definition of the DMIC to devicetree
Add definition of the DMIC to the RT5xx devicetree, including all
PDM channels.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Co-authored-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-17 14:43:52 +01:00
Daniel DeGrasse
6d562f1750 soc: arm: nxp_imx: rt5xx: clock DMIC0
Clock DMIC0 from the audio PLL when DMIC driver class is enabled.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Co-authored-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-17 14:43:52 +01:00
Daniel DeGrasse
6fbd76bef3 drivers: audio: dmic: add driver for NXP DMIC peripheral
Add driver for NXP DMIC peripheral. This peripheral is present on the
iMX RT5xx and iMX RT6xx parts, as well as some LPC SOCs. The following
features are supported:
- up to 2 simultaneous channels of L/R PCM data (4 channels are not
  supported due to limitations of the DMA engine)
- individual configuration of gain and filter parameters for each DMIC
  channel input

The driver has been tested with up to 4 PCM data streams (2 L/R channels),
as well as the MEMS microphones present on the RT595 EVK.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Co-authored-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-17 14:43:52 +01:00
Daniel DeGrasse
a5ef1a296a drivers: clock_control: mcux_syscon: add definition for DMIC clock
Add definition for DMIC clock source to LPC SYSCON clock control driver.
This constant allows drivers to get the DMIC bit clock frequency.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-17 14:43:52 +01:00
Daniel DeGrasse
b7e028b31c include: audio: dmic: add DMIC_STATE_ERROR enum
Add DMIC_STATE_ERROR enum. This can be used by DMIC drivers for
instances in which a significant error has occurred (typically when the
DMIC cannot allocate additional buffers for PCM data and starves)

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-17 14:43:52 +01:00
Daniel DeGrasse
bedb611549 include: audio: dmic: fixup parse_channel_map implementation
Fixup parse_channel_map implementation. The previous implementation of
this function did not use the "channel_map" values passed in by the
user, and would not return correct values for the PDM hardware
controller or L/R value. This function is not being used in tree, so
correcting the implementation to align with documentation should have
minimal affect.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-17 14:43:52 +01:00
HaiLong Yang
be2700a8d9 boards: update stm32h747i_disco display
This update stm32h747i_disco board display config to use ltdc frame
buffer config feature.

For lvgl, by default ltdc frame buffer number set to 0.

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2024-01-17 14:43:20 +01:00
HaiLong Yang
39d74f1fd4 drivers: display: stm32 ltdc frame buffer number config
This add frame number config to stm32 ltdc. Line interrupt is enabled
to load new frambe buffer.

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2024-01-17 14:43:20 +01:00
HaiLong Yang
83f89da24e drivers: memc: stm32 fmc add clock source select
FMC default clock is hclk, it may affected by sys_ck change.

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2024-01-17 14:43:20 +01:00
HaiLong Yang
08cd5eb91d drivers: display: update otm8009a config
OTM8009A_MCS_NO_DOC2(0xCFD0U) only write buf[0], but write length
set to 3.

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2024-01-17 14:43:20 +01:00
Gerhard Jörges
2a0e5e93f3 logging: net: update hostname
This commit adds a function that updates the hostname displayed by the
net backend. It is called by the network stack when the hostname is
updated.

Signed-off-by: Gerhard Jörges <joerges@metratec.com>
2024-01-17 14:42:58 +01:00
Gerhard Jörges
13740696c7 tests: net: hostname: add test for net_hostname_set
Add test that sets the hostname.

Signed-off-by: Gerhard Jörges <joerges@metratec.com>
2024-01-17 14:42:58 +01:00
Gerhard Jörges
72a51c7ec4 net: add set hostname function
This commit adds a function to set the hostname on runtime.

Signed-off-by: Gerhard Jörges <joerges@metratec.com>
2024-01-17 14:42:58 +01:00
Yong Cong Sin
98a631b5bc posix: pthread: allow oldstate & oldtype to be NULL
The POSIX standard doesn't specify if the argument to store
previous state/type in
`pthread_setcancelstate`/`pthread_setcancelstate` can be
`NULL`, but threading implementations in Linux & Apache NuttX
permit the arguments to be `NULL`.

This commit changes Zephyr's implementation to mimic that of
Linux & NuttX, so that user do not get caught off-guard by
NULL pointer dereferencing when porting code over from those
OSes.

Updated test accordingly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-17 14:42:50 +01:00
Jonathan Rico
81d524d081 Bluetooth: L2CAP: always send from workqueue
Always pull from the channel queue from the system workqueue context.
This simplifies debugging.

This also allows us to remove `sent` from the metadata struct.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-17 14:42:40 +01:00
Jonathan Rico
2dcb91ab46 Bluetooth: L2CAP: extract LE part of bt_l2cap_chan_send
Separate most of the param checking in `bt_l2cap_chan_send()`, with the
logic in `bt_l2cap_dyn_chan_send()`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-17 14:42:40 +01:00
Vinayak Kariappa Chettimada
60c0087555 Bluetooth: Controller: Fix ISO Sync Receiver time reservation calc
Fix missing ISO Synchronized Receiver radio event time
reservation that did not calculate for all the subevents.

Introduce BT_CTLR_SYNC_ISO_RESERVE_MAX Kconfig option to
allow using a minimal time reservation if needed to allow
other role to pre-empt ISO Synchronized Receiver in
pre-transmission and control subevents.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-17 14:42:32 +01:00
Jordan Yates
7e7ab495c3 wifi: esp_at: compile without NET_NATIVE_IPV4
Allow the driver to compile without `CONFIG_NET_NATIVE_IPV4`. This can
happen if the driver is only desired for SSID scanning.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-17 14:42:19 +01:00
Anas Nashif
abef8bde4e twister: reuse test schema in common section
Rather than duplicating the same schema, define it only once and reuse
for both common section and tests section.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-17 14:42:10 +01:00
Bjarki Arge Andreasen
4403d8f4c6 tests: lib: devicetree: api: Add tests for IRQ_INTC_* macros
Extend api test suite to cover the new devicetree macros. This
includes extending the devicetree overlay with two new bindings:

- GPIO device which is also an interrupt controller
- interrupt holder using interrupts-extended to point to both
  existing interrupt controller test_intc, and the newly added
  GPIO device

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-17 13:18:00 +01:00
Bjarki Arge Andreasen
6516e7fac2 devicetree.h: Add macros for interrupt specifiers intc
Add the following macros to devicetree.h to get an interrupt
specifier's interrupt controller:

DT_IRQ_INTC_BY_IDX(node_id, idx)
DT_IRQ_INTC_BY_NAME(node_id, name)
DT_IRQ_INTC(node_id)

and their INST variants

DT_INST_INTC_BY_IDX(inst, idx)
DT_INST_INTC_BY_NAME(inst, name)
DT_INST_IRQ(inst)

which use the newly generated _CONTROLLER output from the
previous commit.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-17 13:18:00 +01:00
Bjarki Arge Andreasen
08d6ff059e scripts: dts: gen_defines: Generate interrupt-controller macro
Extend the gen_defines.py write_interrupts(node) function to
generate macros to get the interrupt controller for an
interrupt specifier by idx and by name.

The information is already generated by edtlib.py and stored in
node.interrupts[].controller. This addition uses the node pointed
to by the controller member to generate the following example output

define DT_N_S_device1_IRQ_IDX_0_CONTROLLER \
       DT_N_S_gpio_800

define DT_N_S_device1_IRQ_NAME_test4_CONTROLLER \
       N_S_device1_IRQ_IDX_0_CONTROLLER

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-17 13:18:00 +01:00
Sateesh Kotapati
cbc9439bc0 gecko: se_manager files updated | Update to GSDK 4.4.0
Updated the files present in gecko/se_manager folder in Silabs HAL
as per latest version of gecko_sdk.

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2024-01-17 11:45:57 +01:00
Yong Cong Sin
d4c2d4140b tests: posix: common: turn the fdtable init test into a testsuite
As there isn't any ZTEST under the `posix_apis` testsuite, its
the testsuite is skipped and its setup function never ran,
let's convert the fdtable initialization setup function into a
test of `posix_apis`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-17 05:41:37 -05:00
Yong Cong Sin
498529ea76 tests: posix: common: split posix_apis into multiple testsuites
Currently all components live under the `posix_apis` testsuite,
this commit split them into a testsuite of their own.

This commit also prefixed a few local functions/variables with
the `static` keyword.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-17 05:41:37 -05:00
Yong Cong Sin
73e20a8967 posix: clock: add ztest rule to reset clock base
Make sure that the POSIX clock base is reset after every
testsuite so that the initial time is the same for every test.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-17 05:41:37 -05:00
Christopher Friedt
e223d01b67 tests: posix: shorten the filter in testcase.yaml
CONFIG_NATIVE_LIBC can be used in place of
CONFIG_NATIVE_BUILD and CONFIG_EXTERNAL_LIBC

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-17 04:59:16 -05:00
Christopher Friedt
574e641297 samples: cpp: add a Hello, world! C++ app
Create a separate hello world C++ app for Zephyr.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-17 09:56:34 +01:00
Martin Jäger
db24a8b461 boards: arm: lora_e5_dev_board: add flash partitions
Add flash partitions required to use the board with MCUboot.

Also fix the chosen zephyr,code-partition devicetree node and point it
to slot0_partition.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-01-17 09:56:10 +01:00
Martin Jäger
8a3ba22f79 boards: arm: nucleo_wl55jc: add flash partitions
Add flash partitions required to use the board with MCUboot.

Also fix the chosen zephyr,code-partition devicetree node and point it
to slot0_partition.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-01-17 09:56:10 +01:00
Mustafa Abdullah Kus
3135a4cd0b drivers: spi: spi_ll_stm32: add midi and mssi impl
Master Inter-Data Idleness and Master SS Idleness
can configure with STM32 low level spi driver apis.

Signed-off-by: Mustafa Abdullah Kus <mustafa.kus@sparsetechnology.com>
2024-01-17 09:56:03 +01:00
Mustafa Abdullah Kus
0f9ebbded3 dts: bindings: st,stm32h7-spi: add mssi and midi property
add Master Inter-Data Idleness and
Master SS Idleness field. That fields
are integers.

Signed-off-by: Mustafa Abdullah Kus <mustafa.kus@sparsetechnology.com>
2024-01-17 09:56:03 +01:00
Peter Mitsis
5c18a00d37 arch: xtensa: Use wsr.lowercase over wsr.UPPERCASE
wsr.UPPERCASE can lead to compiler errors when UPPERCASE matches
a macro defined in the special register header file.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-17 09:55:57 +01:00
Peter Mitsis
2075a1b770 arch: xtensa: Use rsr.lowercase over rsr.UPPERCASE
rsr.UPPERCASE can lead to compiler errors when UPPERCASE matches
a macro defined in the special register header file.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-17 09:55:57 +01:00
Guennadi Liakhovetski
e7217925c9 ace: use a 'switch' statement in pm_state_set()
Use 'switch' to emphasise that we're handling different values of
'state' in pm_state_set().

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-17 09:55:48 +01:00
Guennadi Liakhovetski
c99a604bbf ace: remove superfluous variable initialisation
'ret' in pm_state_set() is always set before it's used, no need to
initialise it.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-17 09:55:48 +01:00
Guennadi Liakhovetski
a1fd8cd078 runtime-pm: remove a superfluous k_is_pre_kernel() test
If runtime_suspend() is called early during Zephyr initialisation,
while k_is_pre_kernel() returns 'true,' 'async' is set to 'false,' so
if 'async' is 'true,' Zephyr initialisation is definitely complete,
so there is no need to check k_is_pre_kernel() again.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-17 09:55:48 +01:00
Guennadi Liakhovetski
ac71dfae90 intel-adsp: use proper error codes
Use proper errno.h error codes in pd_intel_adsp_set_power_enable()
instead of -1.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-17 09:55:48 +01:00
Jukka Rissanen
16a54f251a net: sockets: Refactor accept() to support objcore better
If user has not supplied address pointer when calling accept(),
then we would not be able to figure out the used socket domain
properly. But as there is now SO_DOMAIN option supported, use
that to get the correct socket domain.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-17 09:55:40 +01:00
Jukka Rissanen
4c88169d03 tests: net: sockets: Add tests for SO_DOMAIN socket option
Make sure that the SO_DOMAIN is a read only value and it
returns correct socket domain (AF_INET or AF_INET6) in the
tests.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-17 09:55:40 +01:00
Jukka Rissanen
298ab2c95d net: socket: Add support for SO_DOMAIN option
The getsockopt() will return the address domain of the given
socket like AF_INET or AF_INET6.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-17 09:55:40 +01:00
Eduardo Montoya
fe9e306a83 net: openthread: fix otLinkMetricsInit usage
Remove usage of `otPlatRadioGetReceiveSensitivity` without the
`otInstance` parameter.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2024-01-17 09:55:34 +01:00
Ibe Van de Veire
ba5bcb14ba net: ip: igmp: removed compiler warning when igmpv3 is enabled
Made the definition of in_addr all_routers conditional to remove
compiler warning:
warning: 'all_routers' defined but not used [-Wunused-const-variable=]
The warning occurs when igmpv3 is enabled.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2024-01-17 09:55:28 +01:00
Abderrahmane Jarmouni
c55593cca3 board: arm: stm32h747i_disco: flashing
Add the possibility to flash stm32h747i_disco board using west
STM32CubeProgrammer runner, for both cores.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-01-17 09:54:29 +01:00
Miika Karanki
7c0047263a shell: telnet: Don't close the connection on ENOBUFS error
If there's not enough networking buffers at certain moment,
they might become available later. So instead of closing connection
(and failing assertation) sleep and retry. This avoid the following
assertion failure when there's much of data to send:

    net_pkt: Data buffer (1500) allocation failed.
    net_tcp: conn: 0x20076024 packet allocation failed, len=1460
    shell_telnet: Failed to send -105, shutting down
    ASSERTION FAIL [err == 0] @ .../subsys/shell/shell_ops.c:416
    os: r0/a1:  0x00000004  r1/a2:  0x000001a0  r2/a3:  0x00000004
    os: r3/a4:  0x20044380 r12/ip:  0x00001958 r14/lr:  0x080c9027
    os:  xpsr:  0x41000000
    os: Faulting instruction address (r15/pc): 0x0811ed26
    os: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
    os: Current thread: 0x20045100 (shell_telnet)
    os: Halting system

Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
2024-01-17 09:54:15 +01:00
Tom Burdick
897553af17 logging: Remove hda log backend
The HDA log backend has been buggy for some time, and the fixes are well
understood. The issue with HDA log as it is implemented today means
there are concurrency and ISR issues where it can deadlock.

The fixes are effectively dropping the usage of ipc to communicate
status, using polling on the hda stream, and having a formatter per call
context (cores + isr) when log mode immediate is enabled to fix log
mangling. However it was found this had a lot of unintentional side
effects that made it difficult to make progress on when it came to
changes of the host side python tooling.

Meanwhile the feature has sat unused for nearly a year. Remove it, and
it can always be revisited in the future if something like it happens to
be needed.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-01-17 09:52:48 +01:00
Anas Nashif
a0ac2faf9b intel_adsp: ace: enable power domain
Enable power domain drivers for this soc series as it is now needed in
the boot process.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-16 21:12:40 -08:00
Ian Morris
923201abc5 drivers: pinctrl: ra: fix write-protect register access
The write protect register (PWPR) found on RA Microcontrollers is an 8-bit
register at an odd address. It was being accessed using a pointer to a
uint32_t which causes a fault on some devices in the series.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-01-16 20:51:30 -05:00
Cong Nguyen Huu
9eb0a554f9 drivers: nxp_s32_canxl: add support RX FIFO
Driver supports both CAN classic and CAN FD frames
when using RX FIFO mode

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2024-01-16 20:50:49 -05:00
Chekhov Ma
c78f583ed7 tests: drivers: gpio_basic_api add board mimx93_evk_a55
Add mimx93_evk_a55.overlay to tests: drivers: gpio_basic_api

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-16 20:50:11 -05:00
Chekhov Ma
97fabefa34 board: mimx93_evk_a55: add led and button definitions and alias
Tested with zephyr example project "samples/basic/blinky" and "samples/
basic/button". These examples can run out-of-the-box. No modification
needed.
for "samples/basic/blinky", the red LED inside RGB LED on board will
blink every 2 seconds.
for "samples/basic/button", the red LED inside RGB LED on board will
turn on once BTN1 on board is pressed down. An log will be present in
uart console as well.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-16 20:50:11 -05:00
Chekhov Ma
969792bc18 board: mimx93_evk_a55: enable rgpio
Add RGPIO 1,2,3,4 to mimx93_evk_a55 board dts

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-16 20:50:11 -05:00
Chekhov Ma
4e59679ce5 soc: imx93: enable rgpio driver
Add HAS_MCUX_RGPIO to Kconfig.soc
Add gpio1 ~ gpio4 dts node and pinctrl node in nxp_mimx93_a55.dtsi

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-16 20:50:11 -05:00
Chekhov Ma
e1d495be81 driver: add new gpio driver "gpio_mcux_rgpio"
Add RGPIO gpio driver. This driver is used for i.MX93 and i.MX8ULP.
GPIO pinctrl, read/write and interrupt is supported. Runtime mmio
configuration is enabled, so no need for region definition in
mimx9/mmu_region.c

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-16 20:50:11 -05:00
Martin Jäger
2effad3b11 drivers: rtc: pcf8563: fix ifdef for alarm_set_callback
The callback should only be available when CONFIG_RTC_ALARM is defined.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-01-16 20:49:19 -05:00
Martin Jäger
1fafa94a35 dts: bindings: rtc: pcf8563: remove unused wakeup-source
The wakeup-source is not used by the driver. Most probably this was
inadvertently left when copying the binding from pcf8523 driver.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-01-16 20:49:19 -05:00
Alberto Escolar Piedras
53c121381f CI bsim workflow: Add UART tests to the bsim workflow
Add new workflow steps to the babblesim workflow to run
also the UART tests on the nrf52_bsim.
This commit:
* Enables the single device tests (which we may
move to the normal twister workflow once we fix the
requirement for a fixture)
* Adds as a placeholder the infra for multidevice tests.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 14:55:07 -05:00
Alberto Escolar Piedras
9af74504dd tests/drivers uart_mix_fifo_poll: Filter out repetitive tests
Do not run in CI all tests, as they have very similar configuration
and provide little extra coverage to justify the extra CI time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 14:55:07 -05:00
Alberto Escolar Piedras
7d590a9d3d boards nrf*_bsim: Add tag to filter slow tests
Add a tag to filter slow bsim tests in CI
(or tests which do not provide much extra coverage and
are not worth running all the time in CI)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 14:55:07 -05:00
Alberto Escolar Piedras
e6140f5422 tests/drivers uart_mix_fifo_poll: Allow configuring test length
This test is quite heavy and long in simulation,
but its length is meant to find unlikely issues which
may be triggered only very rarely.
Let's provide a kconfig value to chose how long the
test is, and set it to a lower value when running in simulation
(in CI) to save time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 14:55:07 -05:00
Alberto Escolar Piedras
a6ea4490a9 drivers serial nrfx: Speed up for simulation
Increase the busy wait time granularity while runing in simulation
for poll mode. In this mode, the driver spends a *lot* of time
waiting for the UART to be done. The smallest frame time is
~10µs @ 1Mbps, so busywaiting in very small increments
is very wastefull as we keep shuting down and turning on the simulated
MCU.
Let's increase the busy wait time increments of the driver to 3 micros,
which should not change much the behaviour.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 14:55:07 -05:00
Alberto Escolar Piedras
685c88308d tests/drivers uart_mix_fifo_poll: Speed up for nrf52_bsim
Increase the UART speed to 1Mbps for the simulated nrf52
to reduce the amount of time spent busy waiting, and
therefore the real time duration of the test.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 14:55:07 -05:00
Bi Jian
06fa287d45 Bluetooth: Audio: Update audio location definitions
The meaning of bit0 in the audio location bitmap will change to
mono audio, so we update the audio location macro and releated
test cases.

Refer to BT SIG ES-22266.

Signed-off-by: Bi Jian <bi_jian@qq.com>
2024-01-16 14:27:40 -05:00
Chaitanya Tata
dc9d5d9321 wifi: shell: Fix typo in comparison
The length should be 3 for WMM not 4.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-16 14:25:37 -05:00
Fabio Baltieri
49e8e11a77 scripts: set_maintainer: fix author == maintainer fallback logic
The "Submitter is same as Assignee" is comparing strings to <Area> and
always failing the condition, fix it by dropping the ".name".

Tested with ./scripts/set_assignees.py -v -y -P 67526 (now falls back to
the other maintainer as it should).

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-16 14:24:05 -05:00
Konrad Derda
982fc416f8 tests: net: buf: add tests for data matching
Add new test case for veryfing matching between net_bufs' contents and
a given data buffer.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-01-16 09:40:04 -06:00
Konrad Derda
a5b868d94a net: buf: add function to match buffer's content with a given data
This commit adds a new function the net_buf's API that allow an user
to match the net_buf's content with a data without copying it to a
temporary buffer.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-01-16 09:40:04 -06:00
Emil Gydesen
f4cbf403e8 Bluetooth: BAP: Fix uninitialized variable in source_reconfig
The stream_in_subgroup variable in bt_bap_broadcast_source_reconfig
may have been uninitialized.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-16 09:37:28 -06:00
Emil Gydesen
bf37784dea Bluetooth: PACS: Fix logical dead paths
In pac_notify and pac_notify_loc coverity found logical dead
paths since if both sink and source notify was disabled,
the functions would still be compiled, but would
never get past the default case.

This is not a real issue as the functions were never called
in that case, but to make coverity happy, and to prevent
any future issues where the functions may be called
incorrectly, the static functions are now fully guarded.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-16 09:35:37 -06:00
Emil Gydesen
9fc630d303 Bluetooth: CSIP: Use bt_crypto_aes_cmac instead of own
Instead of reimplementing the aes_cmac function, CSIP
will now use the bt_crypto_aes_cmac function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-16 09:33:58 -06:00
Emil Gydesen
64adf0b065 Bluetooth: BAP: Add log of err in bt_bap_stream_detach
We can't really do anything about it if it fails, so we
simply log the value.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-16 09:32:22 -06:00
Emil Gydesen
fd3e334539 tests: Bluetooth: Audio: Fix channel allocation
The channel allocation was incorrect when setting up multiple
streams to a single device, in which case we should apply
individual bits to each stream.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-16 09:31:12 -06:00
Emil Gydesen
f9c116ec73 Bluetooth: CAP: Shell: Fix channel allocation
The channel allocation was incorrect when setting up multiple
streams to a single device, in which case we should apply
individual bits to each stream.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-16 09:31:12 -06:00
Anas Nashif
ead02284f0 tests: uart: filter by CONFIG_SERIAL_HAS_DRIVER
filtering by CONFIG_SERIAL always matches, we need a different filter
and be able to enable the driver if supported.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-16 10:29:39 -05:00
Anas Nashif
54d177a3e7 tests: uart: do not filter if we know which platforms to use
No need for filtering in one of the tests, since we have platform_allow.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-16 10:29:39 -05:00
Tomas Galbicka
d161d05e33 samples: mbox: Add support for NXP RT boards
This commit adds mbox sample support for these NXP boards:
 - MIMXRT1160-EVK
 - MIMXRT1170-EVK
 - MIMXRT1170-EVKB

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-01-16 09:29:28 -06:00
Laurentiu Mihalcea
c82789c5ff drivers: serial: uart_mcux_lpuart: Switch to using DT_INST_IRQN_BY_IDX
After #63289, multi-level interrupts are now encoded using macro
magic. This means that using the generic DT_INST_IRQ_BY_IDX() to
fetch the INTID is no longer an option as the queried INTID will
be the one specified through the node's `interrupts` properties.
To fix this, switch to using DT_INST_IRQN_BY_IDX() which will
return the correctly encoded INTID.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-16 09:27:38 -06:00
Erwan Gouriou
af126d010a include: pinctrl.h: Make PINCTRL_SKIP_SLEEP available with CONFIG_PM
In some cases, PINCTRL_STATE_SLEEP may be required even when
CONFIG_PM_DEVICE is not defined.
One example is the possibility/need to put JTAG pins to analog when
CONIG_PM=y and CONFIG_DEBUG=n.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-16 15:20:15 +00:00
Amrith Venkat Kesavamoorthi
879e3a42b0 drivers: gpio: PCF857x: Modify PCF8574 driver
Modify existing PCF8574 driver as PCF857x for:
PCF8574 - 8 channel I/O expander
PCF8575 - 16 channel I/O expander

Signed-off-by: Amrith Venkat Kesavamoorthi <amrith@mr-beam.org>
2024-01-16 15:19:14 +00:00
Emil Lindqvist
342e10b0b8 modem_cellular: add RSRP & RSRQ to U-blox SARA-R5 modem
This commit implements parsing of the CESQ extended signal quality AT
command, extracting RSRP and RSRQ which is relevant for LTE connections.
It's used in the U-blox SARA-R5 modem instance. Furthermore, the IMEI,
IMSI is extracted in the same modem.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2024-01-16 14:15:56 +00:00
Guennadi Liakhovetski
4204ca9bcb ace: fix DSP panic during startup
pm_device_runtime_get() must be called after pd_intel_adsp_init() is
called for each device, because the latter calls
pm_device_runtime_enable(), which sets the device runtime PM use
count to 0. The current wrong calling order causes a DSP panic
because of an unbalanced pm_device_runtime_put(). Fix this by
delaying pm_device_runtime_get() until the POST_KERNEL initialisation
step.

Fixes commit c3a6274bf5 ("intel_adsp: ace: power: Prevent HST
domain power gating")

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-16 07:31:24 -05:00
Alberto Escolar Piedras
1fc6550a25 native_simulator: Get latest from upstream
Align with native_simulator's upstream main
880eea00abf0191f3d986559876359a5422c9618

Which includes:
* 880eea0 HW scheduler: Minor optimization
* 37c0d86 Minor: Comment fix: Remove out of date reference

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 11:29:54 +00:00
Alberto Escolar Piedras
a18cae9838 boards native_sim: Optimize irq handler
Speed up the interrupt handler when the MCU is woken
due to a phony interrupt (while busy waiting).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 11:29:54 +00:00
Alberto Escolar Piedras
cd2ac64e8b boards nrf_bsim: Optimize irq handler
Speed up the interrupt handler when the MCU is woken
due to a phony interrupt (while busy waiting).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 11:29:54 +00:00
Jonathan Rico
38c39af4df Bluetooth: L2CAP: Prepend SDU header immediately
Previously it was not always possible to prepend the header.

It was not possible if the application neglected to reserve the space
for headers.  This is bad because it forces a buffer segment allocation
even if the buffer had enough room for the headers. E.g. a payload of 10
bytes in a netbuf of 30 bytes would have been segmented.

We now explicitly reject the buffer if it does not have the headroom.

This allows us to do a nice thing; simplify L2CAP segmentation.

We convert the SDU from the application into a PDU payload, by
prepending the SDU header, i.e. the SDU length in the original buffer.

This PDU payload is ready to be chunked into PDUs without having to keep
track of where in the SDU we are. This has the effect of removing a
bunch of logic in the segmentation machine.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-01-16 11:29:43 +00:00
Henrik Brix Andersen
6e8c8a1435 dts: bindings: sensor: move nRF comparator bindings to correct folder
Move the nRF comparator devicetree bindings from ADC to sensors, where the
rest of the comparator bindings are placed.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-16 11:29:29 +00:00
Aleksandr Khromykh
4e7d64b1b4 Bluetooth: Mesh: enable access responses randomization
Enable by default the access layer responses random delays.
Commit also adapts all mesh models, samples and
babblesim tests to use random delay functionality correctly.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2024-01-16 11:29:20 +00:00
Erwan Gouriou
0a2876de26 drivers: timer: stm32: Clean up related to STM32_LPTIM_CLOCK
Now that STM32_LPTIM_CLOCK choice symbol is defined from device tree,
remove the prompt which was defining it as a user selectable entry.

Remove the warning related to possible symbol misalignment with
device tree setting.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-16 10:07:02 +00:00
Erwan Gouriou
19cc4779e5 boards: stm32: Remove manual definition of CONFIG_STM32_LPTIM_CLOCK_LSE
CONFIG_STM32_LPTIM_CLOCK_LSE definition is now defined directly from
device tree, remove from boards definition.

Solving systematic warning about CONFIG_STM32_LPTIM_CLOCK_LSE being
selected with unsatisfied dependencies.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-16 10:07:02 +00:00
Erwan Gouriou
7a2e74604f soc: stm32: common: Define STM32_LPTIM_CLOCK from device tree inputs
Now that:
1 - LS Clocks sources values are identical accross series
2 - We're able to extract this value from device tree

define STM32_LPTIM_CLOCK choice symbol from device tree

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-16 10:07:02 +00:00
Erwan Gouriou
b677ed0b69 include: dt-bindings: stm32_clocks: Rework definitions
Rework clock definitions in order to be able to make global assumptions
on some specific clocks values such as STM32_SRC_LSE and STM32_SRC_LSI.
As such, introduce stm32_common_clocks.h

Complete that change by reworking values definition by doing a manual
enum (as enum is not possible in dt-bindings header files).

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-16 10:07:02 +00:00
Erwan Gouriou
a59e01d297 scripts: kconfigfunctions: Add dt_node_ph_array_prop_int/hex
Add dt_node_ph_array_prop_int/hex function to query value of cells
from a phandle-array property of a node at a given index of the array.

Based on dt_node_array_prop_int/hex.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-16 10:07:02 +00:00
Jaro Van Landschoot
a897005b98 drivers: serial: sam u(s)art: correct interpretation of RXRDY flag
The receiver ready flag of the (channel) status register
for the sam controller was not being interpreted correctly
for both the uart and usart implementation,
according to the uart api.
Tested and confirmed using the sam4sa16ca.

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2024-01-16 10:01:17 +01:00
Flavio Ceolin
640a4586c0 pm: device_runtime: Fix domain mgmt in async put
The asynchronous put is not checking if the device was successfully
suspended before suspending its domain and it is not checking if the
domain was claimed. This patch adds these two checks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-16 10:01:08 +01:00
Yuval Peress
9381e86cbe bmi160: fix value calculation
As an example, when the gyro range is set to 250 deg/sec the scale
was set to 133 where it really should be 133.160058662. This leads
to a 0.12% error in the value returned. By separating the numerator
and denominator, we're able to drastically reduce the error.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-16 10:01:00 +01:00
Yuval Peress
c743e72756 bmi160: Fix gyro range map
The range map was sorted wrong since the function
bmi160_range_to_reg_val() that uses it checks for the user value less
than the range component of the bmi160_range struct. This means that
no matter what range is set, the value will always end up 2000dps.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-16 10:01:00 +01:00
Yuval Peress
2d09f1f566 test: bmi160: rename test directory
Rename the test directory to more accuratly reflect what's being
tested.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-16 10:01:00 +01:00
Yuval Peress
b58b03196b bus: emul: Update i2c/spi emulators with mock transport
Adding a hook for tests to inject a mock transport and migrating the
accel test to test bmi160 specific things. The old version of the test
which checks for read values is now covered by the generic test in
the sensor build_all target.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-16 10:01:00 +01:00
Yuval Peress
fd07f8ce69 bmi160: Implement attr_get
Add support for getting the following attribute values:
- SENSOR_ATTR_OFFSET
- SENSOR_ATTR_SAMPLING_FREQUENCY
- SENSOR_ATTR_FULL_SCALE

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-16 10:01:00 +01:00
Yuval Peress
9898b2fc3f bmi160: Make changes to align driver to datasheet
The logic in the driver was not aligned to the datasheet. Also,
temperature reading was not being done in fetch, but in channel_get.
There was also some extra conversions from SI->register->SI when
setting the range, this was causing the register value calculation to
produce an incorrect scale in some cases.

Tests were added to cover these cases.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-16 10:01:00 +01:00
Yuval Peress
be563239c8 sensor: testing: Update sensor emul backend
Update the backend for sensor emulators to include a function for
setting the offset as well as a function to query an attribute's
metadata such as bounds and increment size. Additionally, add
backend support for setting the _xyz channel values.

Make the appropriate test changes to accomodate.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-16 10:01:00 +01:00
Jukka Rissanen
6033161216 net: shell: Avoid gcc warning print with string catenation
gcc prints this warning message

'strncat' specified bound 1 equals source length [-Wstringop-overflow=]
   58 |                 strncat(fd, "C", 1);

There was no error in the code but avoid the warning by not using
strncat().

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-16 10:00:45 +01:00
Jukka Rissanen
eb22110365 tests: net: socket: Add correct path to socket.h for POSIX_API
If CONFIG_POSIX_API is enabled, then the socket.h is found under
zephyr/posix/sys/socket.h etc. This allows one to compile the
socket test applications without error prints.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-16 10:00:45 +01:00
Jukka Rissanen
f5e95852ce net: shell: Add sockets services prints
The socket services users to "net sockets" command.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-16 10:00:45 +01:00
Jukka Rissanen
f4373709e7 samples: net: sockets: Add echo-service sample
The echo-service sample demostrates how to use the socket
service API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-16 10:00:45 +01:00
Jukka Rissanen
6ea6326e79 tests: net: socket: service: Add tests for socket service API
Simple tests that verify that the socket service API works
as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-16 10:00:45 +01:00
Jukka Rissanen
eff5d02872 net: sockets: Create a socket service API
The socket service provides a similar functionality as what
initd provides in Linux. It listens user registered sockets
for any activity and then launches a k_work for it. This way
each application does not need to create a thread to listen
a blocking socket.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-16 10:00:45 +01:00
Greter Raffael
87916d7af3 soc: gd32vf103: Correct vector table alignment
For a CLIC the vector table has to be aligned by 512 bytes, if there are
between 65 and 128 interrupts, which is the case for the gd32vf103.

`isr_wrapper` has to be aligned to 64 bytes, s.t. the lower 6 bits of
mtvec are 0.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-16 10:00:36 +01:00
Greter Raffael
8460ed093e soc: gd32vf103: Link soc-specific before common code
For a proper initialisation,  the soc-specific `__nuclei_start` has to
be executed before the common `__start`. To ensure that `__nuclei_start`
is linked first, I added the linker section init.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-16 10:00:36 +01:00
Greter Raffael
43490289ff soc: gd32vf103: Remove redundant code from entry.S
A lot of the entry.S is again implemented in common/vector.S.
I removed everything redundant and changed the jump to the common
symbol __start at the end.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-16 10:00:36 +01:00
Benedikt Schmidt
cb2e3a86b4 drivers: gpio: ignore communication faults of TLE9104 during startup
Ignore communication faults of the TLE9104 which are reported
before the communication watchdog is configured.

Fixes #67370

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-16 10:00:13 +01:00
Emil Gydesen
68f8c8ff29 Bluetooth: Audio: Fix off-by-one error in codec.c:ltv_set_val
The function did not move data correctly when increasing
or decreasing the size of a value that was not the last value
in the LTV array.

Added a few tests to verify the fix, using the CCID list as the
main way of verifying it.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-16 10:00:04 +01:00
Christopher Friedt
9074feabf6 tests: posix: separate suite for pthread_t and pthread_attr_t
In order to make state more manageable among the other
posix api tests, create a separate ZTEST_SUITE() called pthread
and another ZTEST_SUITE() called pthread_attr.

The tests in the pthread suite mainly operate on the pthread_t
type, while tests in the pthread_attr suite mainly operate on
the pthread_attr_t type.

The pthread_attr testsuite is moved to a separate file
(pthread_attr.c).

Having separate test suites allows us to narrow the scope of
the tests and have a better degree of control over the state.

Some effort went in to highlighting undefined behaviour at the
API level. This was quite intentional, as we will need to be
be able to test / verify that we do in fact have deterministic
outcomes when users attempt operations that result in undefined
behaviour (e.g. assert).

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-16 00:35:45 -05:00
Christopher Friedt
a2a3140a74 tests: posix: common: move barrier test to barrier.c
Move the one barrier test to its own file and create
a ZTEST_SUITE() for barrier.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-16 00:35:45 -05:00
Christopher Friedt
414868aace tests: posix: common: move condattr test to cond.c
Move posix_apis.test_pthread_condattr to cond.c .

Create a separate cond ZTEST_SUITE().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-16 00:35:45 -05:00
Christopher Friedt
a6dab1a85e posix: pthread: additional null checks on parameters
Instead of relying on a fault occurring when NULL
parameters are passed in, explicitly check and return
EINVAL.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-16 00:35:45 -05:00
Anas Nashif
c2b16d7403 ci: pr stats: count hours open since moving out of draft
if a PR was made ready for review from draft, calculate based on when it
was moved out of draft.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-16 10:28:44 +09:00
Anas Nashif
38690800b8 MAINTAINERS: remove inactive collaborator from area
Remove inactive collaborator from Intel ADAP area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-15 18:18:15 -05:00
Jukka Rissanen
11f7fa2782 drivers: eth: phy: Remove syscall from phy API
No point marking the phy API to be callable from usermode,
the device cannot be accessed from usermode anyway so this
is pointless. User can call the phy API from supervisor mode
thread just fine.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-15 15:48:03 -06:00
Yuval Peress
9f096e9816 bma4xx: Optimize calculation
Reduce some of the arithmetic required to decode a sample. Math is
documented in bma4xx_convert_raw_accel_to_q31.

This improved the accuracy from roughly 0.865mm/s2 to 0.001mm/s2 when
stationary and using a range of 4g.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-15 15:41:58 -06:00
Alberto Escolar Piedras
5c06d60cce drivers eth_native_linux: Avoid using ssize
ssize is a POSIX.1-2001 extension, which may or may
not be provided by the C library, or may be defined
to a different size in the host and embedded C library.

Two internal functions were returning ssize.
As these functions were just trampolines
into the same host API, which are already provided
by the native simulator let's just use those.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-15 21:59:56 +01:00
Alberto Escolar Piedras
5382f827d6 drivers can_native_linux: Avoid using ssize
ssize is a POSIX.1-2001 extension, which may or may
not be provided by the C library, or may be defined
to a different size in the host and embedded C library.

Two internal functions were returning ssize, but
one of them was a trampoline into the same host API,
which is already provided by the native simulator
so let's just use that instead.

The other is only carrying data that fits into an
int and is anyhow being cast in/to ints, so let's just
avoid the trouble by defining it as returning int.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-15 21:59:56 +01:00
Paulo Santos
92af172159 drivers: adc: iadc_gecko: fix sample bits reading
The current driver initializes the IADC with the default configuration
(IADC_INITSINGLE_DEFAULT), which aligns the data to the right.
To correctly read the 12-bit sample, it should be masked from the right
instead.

Signed-off-by: Paulo Santos <pauloroberto.santos@edge.ufal.br>
2024-01-15 14:08:11 -05:00
Emil Gydesen
400cdcaca4 Bluetooth: BAP: Fix invalid GATT error codes in scan delegator
There was a few places where the scan delegator returned an
errno value instead of a valid GATT error codes when rejecting
write request. These have been modified to send
BT_ATT_ERR_WRITE_REQ_REJECTED to the client instead.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-15 14:07:15 -05:00
Emil Gydesen
e2b271fbc4 Bluetooth: ASCS: Add additional dbg info in state changes
Add additional debug information in some ASCS debug statements,
so it is easier to follow the state when there is a potentional
state change.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-15 13:59:08 -05:00
Piotr Narajowski
13b0052cfa Bluetooth: MPL: Add notification to track change
This adds notifications to do_first_track only when changing group.
Before the change was made, client was never notified about
track change when changing group in Media Player.

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2024-01-15 13:57:21 -05:00
Joel Guittet
93b6a06bd1 samples: add Wio Terminal overlay to blinky pwm
Add overlay to the blinky pwm sample to run the application on the
Wio Terminal. The USER LED on PA15 is used to setup the PWM LED.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2024-01-15 13:56:51 -05:00
Emil Gydesen
a72da864e0 Bluetooth: BAP: Restrict application ASCS response codes
Some of the ASCS response codes should not be used by the
unicast server, as those will be checked and validated by the
stack.

They are kept in the enum, as the enum is also used by the
unicast client.

Besides updating the documentation, this commit also adds
a function to validate the response codes as well as the
combination of response codes and reason/metadata values,
and log a warning if the application does not adhere to the
documented behavior.

A warning is used instead of an error/assert/modification
of the response codes, as there may be unforseen reasons
why an application provide a non-approved response code,
and since it may be spec-valid, we should not fully
prevent it.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-15 13:56:22 -05:00
Emil Gydesen
234b322dc3 Bluetooth: Audio: Fix len check in ltv_set_val
The length check in ltv_set_val did not consider the size of
the length or type fields.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-15 13:55:55 -05:00
Andrzej Kuros
728f0ec7be dts: nrf5340: add missing easydma-maxcnt-bits for nrf5340_cpunet
The required property `easydma-maxcnt-bits` was missing for
nrf5340_cpunet.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2024-01-15 13:55:06 -05:00
Flavio Ceolin
d2be3c05dc tracing: sysview: Fix API name
s/k_thread_usermode_enter/k_thread_user_mode_enter/

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-15 13:53:44 -05:00
Xuyang Shen
6f6fc4e25c drivers: sensors: icm42688: fix bug in Kconfigfile
Fix Bug in Kconfig file of icm42688 driver

Signed-off-by: Xuyang Shen <shenyi97@hotmail.com>
2024-01-15 10:22:38 -06:00
Mirko Covizzi
998e839d67 net: sockets: prevent null pointer dereference
According to the POSIX specification, null pointer
is a valid value for the `address` argument
of the `accept` function.
This commit adds a check to prevent a null pointer
dereference inside `z_impl_zsock_accept`.

Signed-off-by: Mirko Covizzi <mirko.covizzi@nordicsemi.no>
2024-01-15 15:11:57 +01:00
Bjarki Arge Andreasen
325bc953a8 tests: modem: pipe: mock: Implement TRANSMIT_IDLE event
Implements TRANSMIT_IDLE event notification for mock
modem_pipe.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-15 15:11:50 +01:00
Bjarki Arge Andreasen
7c9f2872e1 modem: chat: Start waiting for response after request is sent
This PR makes the modem_chat wait until a chat script chat
request has been sent before accepting responses to said
request.

This helps ensure that an unsolicitet response is not mistaken
for a response to a request, which is especially problematic
if the chat script chat is using an any match.

For example, start chat script sending AT+CGMI, expecting the
modem name as a response followed by OK

> start script, waiting for response immediately
> start sending "AT+CGMI"
> receive "+CEREG 1,0" while sending
> script accepts "+CEREG 1,0" as the response to "AT+CGMI"
> "AT+CGMI" sent
> receive "QUECTEL BG95"
> receive "OK"

script handler got "+CEREG 1,0" instead of "QUECTEL BG95"

After this PR:

> start script
> start sending AT+CGMI
> receive "+CEREG 1,0" while sending
> "AT+CGMI" sent
> start waiting for response
> receive "QUECTEL BG95"
> script accepts "QUECTEL BG95" as response to "AT+CGMI"
> receive "OK"

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-15 15:11:42 +01:00
Ali Hozhabri
85995e5688 boards: shields: Add support for X-NUCLEO-BNRG2A1 shield
Add support for X-NUCLEO-BNRG2A1 which is a BLE expansion board based on
the BLUENRG-M2SP.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-15 15:10:48 +01:00
Guillaume Galeazzi
d02f86a754 boards: arm: stm32u5a9j-dk: fix switch gpio config
The user switch on the board require a pull down on mcu side and
is active high.

Signed-off-by: Guillaume Galeazzi <guillaume.galeazzi@gmail.com>
2024-01-15 15:10:41 +01:00
Emil Gydesen
ec43b64c16 Bluetooth: host: Add documentation for OPT_EXT_ADV and bt_le_adv_start
The bt_le_adv_start function can (currently) not be used
together with BT_LE_ADV_OPT_EXT_ADV, and it will
return an -EINVAL error if attempted, but this behavior
is not documented, and several people have asked about
why it does not work.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-15 15:10:34 +01:00
Tomasz Moń
07d9e521b8 drivers: i2s_nrfx: Support less than block size writes
Calling I2S write with less bytes than I2S TX memory block size makes it
possible to synchronize the time when next block is used against some
other, possibly externally sourced, signal. Example use case includes
USB Audio where audio sink and/or source has to be synchronized against
USB SOF. In Asynchronous synchronization type the rate matching is
achieved by varying the number of samples sent/received by 1 sample
(e.g. for 48 kHz audio, 47 or 49 samples are transmitted during frame
instead of 48).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-01-15 13:54:13 +01:00
Tomasz Moń
2dee952a95 modules: hal_nordic: nrfx: update API version to 3.3.0
Update i2s nrfx driver to pass buffer size alongside buffer pointers.
No functional changes.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-01-15 13:54:13 +01:00
Grzegorz Swiderski
0b7fb57d09 cmake: code_relocation: Re-run when relocation_dict.txt changes
Fix an issue where updating a `zephyr_code_relocate()` call in CMake
didn't trigger regeneration of `code_relocation.c` and linker scripts.
The generation command was missing a dependency on the aforementioned
input text file, where the outcome of each call is cached.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-01-15 13:20:17 +01:00
Grzegorz Swiderski
460b6ef122 code_relocation: Add NOKEEP option
When using the code and data relocation feature, every relocated symbol
would be marked with `KEEP()` in the generated linker script. Therefore,
if any input files contained unused code, then it wouldn't be discarded
by the linker, even when invoked with `--gc-sections`.

This can cause unexpected bloat, or other link-time issues stemming from
some symbols being discarded and others not.

On the other hand, this behavior has been present since the feature's
introduction, so it should remain default for the users who rely on it.

This patch introduces support for `zephyr_code_relocate(... NOKEEP)`.
This will suppress the generation of `KEEP()` statements for all symbols
in a particular library or set of files.

Much like `NOCOPY`, the `NOKEEP` flag is passed to `gen_relocate_app.py`
in string form. The script is now equipped to handle multiple such flags
when passed from CMake as a semicolon-separated list, like so:

   "SRAM2:NOCOPY;NOKEEP:/path/to/file1.c;/path/to/file2.c"

Documentation and tests are updated here as well.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-01-15 13:20:17 +01:00
Fabian Pflug
bccec3cccd doc: twister: fix spelling errors
Fis spelling errors in twister doc

Signed-off-by: Fabian Pflug <fabian.pflug@grandcentrix.net>
2024-01-15 11:33:06 +00:00
Marc Herbert
d4b0273ab0 cmake: sparse.template: add COMMAND_ERROR_IS_FATAL
There are some situations like #67035 where sparse aborts and returns an
error code before the compiler has generated the .obj file; without any
clear indication that the .obj is missing (in normal situations sparse
prints warnings and _does_ creates the .obj file)

Also, builds are parallel by default and sparse runs tend to be massive
walls of text which all conspires to make it totally impossible to find
the relevant error message. Instead, we get an link-time error.

The only clear indication is the exit code. So catch it and abort the
build ASAP thanks to COMMAND_ERROR_IS_FATAL.

More generally speaking, the default behavior of execute_process() to
ignore errors is crazy. How frequently does a build system run commands
that do NOT matter?

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-01-15 11:32:44 +00:00
Aaron Ye
ca8ee0e029 boards: arm: apollo4p_blue_kxr_evb: Move the bt-spi instance to soc dts
Since the pins of bt-spi instance are wired internally in the chip, it will
make sense to move the definition to soc dts so no need for every board
using the chip to redefine the same.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2024-01-15 09:34:40 +00:00
Marc Herbert
8042e73915 dai: intel: dmic: demote spurious LOG_ERR in dai_nhlt_get_clock_div()
Fix the log level of two LOG_ERR() statements which should have always
been LOG_INF(). As confirmed by the author Adrian in #60172

Fixes commit 3fbaed4de9 ("dai: intel: ace: dmic: Refactor of
dai_nhlt_dmic_dai_params_get function")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-01-15 09:59:29 +01:00
Nick Ward
00cfab6cfc mgmt: mcumgr: use delayed workqueue for reset
Same behaviour, less code, smaller code size.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2024-01-15 09:59:23 +01:00
Pisit Sawangvonganan
70c7ac704d drivers: i2c: correct spelling
Employ a code spell checking tool to scan and correct spelling errors
in all files within the drivers/i2c directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-15 09:59:17 +01:00
Guennadi Liakhovetski
ca12fd13c6 xtensa: intel_adsp: fix a cache handling error
.bss and .data are uncached in Zephyr builds for intel_adsp. No need
to try to manipulate cache of objects in those sections.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-15 09:59:07 +01:00
Jonathan Rico
75c2aeb8bd Bluetooth: L2CAP: stop stealing buffers from SDU pool
It seems like a nice idea at first, but leads to hard-to-debug
situations for the application.

The previous behavior can be implemented by the app by defining
`alloc_seg` and allocating from the same pool as `buf`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-15 09:58:58 +01:00
Damian Krolik
7b42e36c68 net: openthread: Print the actual assert location
When OpenThread application is built with CONFIG_ASSERT
and CONFIG_ASSERT_NO_MSG_INFO, OT_ASSERT() prints a location
that points to the otPlatAssertFail() function instead of
the code that actually failed an assertion.

This is confusing and CONFIG_ASSERT_NO_MSG_INFO sometimes
cannot be disabled because of flash size limitations.

Make otPlatAssertFail() always print the actual assert
location.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-01-15 09:58:48 +01:00
Krzysztof Chruściński
5bafa25e13 logging: Use strings stripping for dictionary backends
Enabled by default strings stripping for dictionary based
backends.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-15 09:58:39 +01:00
Krzysztof Chruściński
b9bf596b34 logging: Fix LOG_FMT_SECTION_STRIP Kconfig dependency
Strings stripping was disallowed when LOG_OUTPUT was used. However,
there is a dictionary log_output module which could work with stripped
strings. Dependency is changed to LOG_DICTIONARY_SUPPORT.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-15 09:58:39 +01:00
Alberto Escolar Piedras
972a4d9f6f tests/kernel/context: Improve to resist parallel threads interrupting
This test assumes that nothing will wake the CPU apart from
the timer set by the test.
But that is not necessarily the case.
Some other platform thread started at boot
may be waking the CPU every now and then.

Let's allow for some spurious wakes while we are testing k_cpu_idle,
while at the same time ensuring we are not just busy waiting
all the way.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-15 09:58:26 +01:00
Gerard Marull-Paretas
6876f9eea1 soc: riscv: riscv-privileged: drop soc_common.h
The header file is no longer needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
3ed16b38e5 drivers: serial: b91: add missing RISC-V PLIC header
Driver was using PLIC without including necessary headers.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
87bb281a9f drivers: ieee802154: b91: add missing PLIC include
Driver was using RISC-V PLIC API without including the necessary
headers.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
992f25b0c9 drivers: gpio: b91: add missing PLIC header
Driver is using the RISC-V PLIC interrupt controller without including
the necessary headers.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
36069b6c9a drivers: gpio: sifive: add missing PLIC header
Driver is using the PLIC API without including the right header.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
6252e8576c arch: riscv: irq_manage: add missing PLIC header
Module uses RISC-V PLIC interrupt controller API without including the
necessary headers.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
0addc80d10 arch: riscv: define local soc_interrupt_init prototypes
Instead of relying on messy soc.h files which are included via a fragile
chain of includes.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
c725c91d95 arch: riscv: define RISC_IRQ_MSOFT/MEXT
Instead of relying on spread definitions within SoC files.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
452a2f67cd arch: riscv: use CONFIG_RISCV_MCAUSE_EXCEPTION_MASK
Instead of custom SOC_MCAUSE_EXP_MASK definition. Note that SoCs
selecting RISCV_PRIVILEGED already used such config indirectly (see
changes in soc_common.h).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
ee60977958 arch: riscv: remove SOC from RISCV_SOC_MCAUSE_EXCEPTION_MASK
Just to stay consistent with other RISC-V related settings.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
6edb0624d8 soc: riscv: gd32vf103: simplify MCAUSE exception mask handling
The exception mask needs to cover MCAUSE bits 11:0, there's no need to
overengineer this setting using DT properties.

Ref. https://doc.nucleisys.com/nuclei_spec/isa/core_csr.html#mcause

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
a364420b30 soc: riscv: cleanup usage/definition of MCAUSE IRQ flag
The MCAUSE register has the "Interrupt" flag defined defined at XLEN-1
position (31 for 32-bit, 63 for 64-bit). This is not an SoC specific
option, and there's no need to expose it publicly.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Gerard Marull-Paretas
fcbfe74df1 arch: riscv: define some RISC-V exception codes
As defined in Table 3.6 of "The RISC-V Instruction Set Manual, Volume
II: Privileged Architecture". Delete all spread definitions of the same,
weirdly prefixed with "SOC".

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-15 09:58:03 +01:00
Krzysztof Chruściński
f1ef55ec5a samples: shell: shell_module: Enable logging commands
Enabling commands for the sample. They were disabled by c0c8952739 but
should be enabled in the sample.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-15 09:57:54 +01:00
Krzysztof Chruściński
5062cef1f0 samples: logging: dictionary: Add support for runtime filtering
Extend sample with configuration which has shell on one UART and
UART dictionary based frontend on another. Shell commands can be used
to control runtime filtering of logging messages for the frontend and
shell backend.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-15 09:57:54 +01:00
Krzysztof Chruściński
dc99da6a4f tests: logging: log_api: Extend to cover frontend runtime filtering
Extend test to cover runtime filtering for frontend.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-15 09:57:54 +01:00
Krzysztof Chruściński
c9e2975a96 logging: log_cmds: Add support for frontend runtime filtering
Add support for controlling runtime filtering for frontend.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-15 09:57:54 +01:00
Krzysztof Chruściński
b819b51fe7 logging: Add support for runtime filtering in frontend
So far frontend supported only compile time filtering. Adding
support for runtime filtering. From runtime filtering perspective
frontend is treated similar to any other backend but since
it is a singleton it has fixed ID.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-15 09:57:54 +01:00
Dmitrii Golovanov
68d1a52417 posix: sched: Implement get APIs for scheduling parameters
Initial implementation of `sched_getparam()` and `sched_getscheduler()`
POSIX APIs as a part of PSE53 `_POSIX_PRIORITY_SCHEDULING` option group.
Both functions are actually placeholders and just return `ENOSYS`
since Zephyr does not yet support processes or process scheduling.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-01-15 09:57:44 +01:00
Dmitrii Golovanov
b184fc3a62 posix: sched: Add CONFIG_POSIX_PRIORITY_SCHEDULING
Add `CONFIG_POSIX_PRIORITY_SCHEDULING` Kconfig option to select
APIs from PSE53 `_POSIX_PRIORITY_SCHEDULING` option group.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-01-15 09:57:44 +01:00
Manuel Schappacher
bff6054cb8 net: gptp: Always use GM PRIO root system id for announce messages
A problem occurred while running PTP on a multi-port target
(RENESAS RZT2M) with two ports enabled. Announce messages on the
switched devices master port always contained local clock information
instead information from received on the slave port from the better
GM clock. Depending on the BMCA config this turned into having more
than one GM in the system.

Sending always the locally stored GM information helped to overcome
this issue.

Signed-off-by: Manuel Schappacher <manuel.schappacher@hs-offenburg.de>
2024-01-15 09:57:34 +01:00
Daniel Mangum
0a8d03b95f docs: posix: fix typo in description
Fixes a minor typo in description of the POSIX architecture.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2024-01-14 00:38:11 +01:00
Daniel Leung
5fc96ff9d7 sys: atomic_c: skip syscall tracing
This skips syscall tracing on atomic_c.h, as the compiler
does not like "({ ... tracing code ... })" and complains:

  error: expected identifier or '(' before '{' token

Even though there is already a '(' before '{'.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-13 06:02:18 -05:00
Anas Nashif
7fedc81666 ci: merged_pr stats: fix a bug an minor tweaks
We are not setting the review rule value correctly and default to 'no'
for all prs, even if they were correctly reviewed by assignees.

Minor other cleanups.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-12 21:35:04 -05:00
Anas Nashif
0a50cb9179 ci: pr stats: define elasticsearch index as a repo variable
Add flexibility to change and modify index using a variable.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-12 21:35:04 -05:00
Pisit Sawangvonganan
b4567fa551 drivers: serial: correct spelling
Employ a code spell checking tool to scan and correct spelling errors
in all files within the drivers/serial directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-13 00:24:36 +00:00
Pisit Sawangvonganan
6a50bbdb3a drivers: spi: correct spelling
Employ a code spell checking tool to scan and correct spelling errors
in all files within the drivers/spi directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-13 00:24:19 +00:00
Pisit Sawangvonganan
6a815d47e2 drivers: gpio: correct spelling
Employ a code spell checking tool to scan and correct spelling errors
in all files within the drivers/gpio directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-13 00:24:04 +00:00
Henrik Brix Andersen
fc694f39c4 dts: bindings: adc: nxp,vf610-adc: move binding to correct folder
Move the nxp,vf610-adc.yaml binding file to the correct folder.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-13 00:23:34 +00:00
Declan Snyder
43e34e95d4 MAINTAINERS: Add decsny as ETH/MDIO collaborator
Add myself (decsny) as ethernet/mdio collaborator.

I have taken an interest in ethernet and am currently
maintaining and writing some ethernet/mdio drivers for NXP,
and would like to use the collaborator role to monitor the
zephyr activity of the ethernet/mdio subsystems.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-01-13 00:23:07 +00:00
Lucas Tamborrino
4a7ba2fa94 samples: drivers: ipm: esp32: Add ESP32S3 support
Add support for ESP32S3 in the IPM sample.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-01-13 00:22:24 +00:00
Lucas Tamborrino
9f77808678 boards: xtensa: esp32_app_cpu: change bin name
Change bin name to esp32_appcpu_firmware instead of
esp32_net_firmware to keep naming coherence.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-01-13 00:22:24 +00:00
Lucas Tamborrino
11fc182315 soc: esp32: refactor esp32_net
SOC_ESP32_NET is now SOC_ESP32_APPCPU, following espressif's
naming convention in the same manner as ESP32S3 app cpu.

SOC_ESP32_APPCU is now a subset of SOC_SERIES_ESP32.

This commit also changes the necessary files, samples and tests
for bisect purposes.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-01-13 00:22:24 +00:00
Martin Kiepfer
38ed830f91 boards: m5stack_atoms3_lite: add support for M5Stack AtomS3 Lite
Add support for M5Stack AtomS3 Lite development board.

The AtomS3 Lite is a smaller version of the AtomS3 that
features only a StatusLED and no LCD display.

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2024-01-13 00:21:50 +00:00
Andrej Butok
a21076bbf3 doc: pyocd: Add CMSIS DAP Onboard Debug Probe support
Add the CMSIS DAP Onboard Debug Probes to the list
of supported probes by pyOCD.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-12 15:57:32 -05:00
Ajay Parida
fc959fce47 net: shell: Early wake up for TWT power save
Provision of configurable parameter for generating unblock event
ahead of TWT slot. Host application depending upon latencies can
configure this to wakeup rpu ahead of the TWT slot.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2024-01-12 15:56:56 -05:00
Rander Wang
e021ccfc74 drivers: dma: intel-adsp-hda: add delay to stop host dma
According to hardware spec, host dma needs some delay to completely stop.
In the bug the host dma is disabled in different path in a few microseonds.
The first setting disabled the host dma and called pm_device_runtime_put
to power off it. The second setting found the host dma was still alive
and calle pm_device_runtime_put again. This results to pm->usage
checking failed.

BugLink: https://github.com/thesofproject/sof/issues/8686
Signed-off-by: Rander Wang <rander.wang@intel.com>
2024-01-12 15:56:30 -05:00
Yves Vandervennet
3848fb82b8 boards: mimxrt1050_evk: enable linkserver support
- adds the definitions in the board.cmake file
 - updates documentation

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-12 15:40:53 -05:00
Pavel Vasilyev
27b1f4eb7f Bluetooth: Mesh: Fix dereferencing before null pointer check
Don't dereference pointer until it is checked on NULL.

Fixes: #66805
Coverity-CID: 338098

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-12 11:28:59 -06:00
Alberto Escolar Piedras
cee40d1d49 tests/drivers/uart/uart*: Allow on nrf52_bsim
Add the nrf52_bsim to the platform_allow list
for tests which had such a filter.

Note that for this test to pass, you need
to connect the uart in loopback, passing the command
line option `-uart0_loopback` to zephyr.exe

Note this tests do not run right now by default in CI
as the fixture is preventing it.
They can be run with:

twister -T tests/drivers/uart/ -v -p nrf52_bsim \
  --fixture gpio_loopback -- -uart0_loopback

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
cf54f9acf9 boards nrf52_bsim: Allow running uart tests in this board
Let's allow the uart tests to run in this board

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
f82f6cdeae tests uart/uart_async_api: Improve filter
These tests were filtering by CONFIG_UART_CONSOLE,
but that does not seem a strick requirement.
It seems the requirement would just be CONFIG_SERIAL,
but that is implicit if CONFIG_SERIAL_SUPPORT_ASYNC,
which is required for all these tests, so let's
just remove CONFIG_UART_CONSOLE.

(The simulated nrf5x boards do not set CONFIG_UART_CONSOLE
by default, as by default the console is routed to the
process stdout instead)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
7ef23e1573 tests uart/uart_pm: Fix kconfig warning
The option CONFIG_NATIVE_UART_0_ON_STDINOUT
is only usable for the native_sim/posix(_64) targets,
but this test is only allowed for the nrf52840dk_nrf52840.
Building with this option set causes a kconfig warning.
Let's just remove it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
51f9af86e4 tests/drivers uart_pm: Fix for too fast targets
On the async configurations, the first part of the test
(test_uart_pm_in_idle) can interfere with the second part
of the test, if the device has a fast enough CPU.
This is due to the first part of the test ending
as soon as it queues the last byte for transmission.
If the device is fast enough (and the simulated
nrf52 is), the 2nd part of the test will start executing
enabling the UART Rx, which can result in either
the Rx being enabled mid frame, which can result in a frame
error or even before the Tx HW started pushing the byte
in the line (resulting in that byte being received).
Neither of these cases are handled by the 2nd test,
which sees a spurious error or received byte
and fails.

Let's just add a small delay at the end of the first test
to allow the Tx of the last byte to be done.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
992c04c471 manifest: Update nrf hw models to latest
* Update the HW models module to
a08acc7d3a853f890df2bf82167c02ab2153ffe7

Including the following:
* a08acc7 UART(E): Duty cycle warnings due to Rx while Rx Off
* aa1f38d UART(E): FIFO backend Minor bugfix
* 8b0819f UART(E): Add Loopback backend
* bc648f2 UART(E): Update RTS pin level as soon as the conf is changed
* b39e448 UART(E): Detect receiver opening mid frame

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Damian Krolik
36b7a3e701 net: openthread: Remove PSA crypto backend workarounds
Remove two workarounds in OpenThread's PSA crypto backend
that were required when Zephyr used pre-1.5 TF-M version:
1. psa_open_key() is no longer needed to reference
   a persistent key
2. psa_cipher_encrypt() can be used to simplify AES
   encryption

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-01-12 11:26:41 -06:00
Toon Stegen
c860542cf1 boards: suppress dtc warning for SPI bridge on ST
Get rid of warnings

Signed-off-by: Toon Stegen <toon@toostsolutions.be>
2024-01-12 11:25:19 -06:00
Charles Dias
8b96814676 dts: bindings: Add vendor prefix fanke
Add vendor prefix fanke FANKE Technology Co., Ltd.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2024-01-12 16:03:01 +00:00
Charles Dias
13671813fe boards: arm: Add support for FK7B0M1-VBT6 board
Adds the device trees, Kconfig, and documentation files.

The following features have been confirmed working on hardware:
* LED
* Button
* UART

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2024-01-12 16:03:01 +00:00
Jonathan Rico
3e1a82226d tests: Bluetooth: use unique IDs for l2cap bsim tests
If $BASH_SOURCE is the empty string, then those two tests end up with
the same simulation ID. That's not a good time.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-12 09:33:44 -06:00
Stephan Linz
162a8f00c1 samples: drivers: display: support small displays
With extremely small displays (much smaller than 64x24), the
calculation of the blocks in the four corners fails. These
might then be too large and no longer fit into the available
area of the small displays.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2024-01-12 09:32:33 -06:00
Stephan Linz
2fdea6b2b9 samples: drivers: display: distinguish mono pixel format
In exceptional cases, monochrome displays can deviate from the
general interpretation (PIXEL_FORMAT_MONO01) of a logical 1 as
pixel on (white) and 0 as pixel off (black) and instead set the
capability to PIXEL_FORMAT_MONO10. This small but significant
difference has been ignored so far, resulting in an inverse
display for those displays. In order to be technically correct
here, the buffers for a "white" background should be set to 0
instead of 1 and for "black" to 1 instead of 0.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2024-01-12 09:32:33 -06:00
Stephan Linz
e46265669f samples: drivers: display: fix mono buffer size
Rounding errors due to the division of non-integrally divisible
buffer sizes lead to the loss of one byte. This can be avoided
with the DIV_ROUND_UP() macro.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2024-01-12 09:32:33 -06:00
Manuel Argüelles
6d53c2aed2 soc: arm: nxp_s32: s32k3: select CONFIG_CACHE_MANAGEMENT
Commit 447a492 switched to `sys_cache*` to enable caches at SoC init. To
preserve the old behavior of enabling caches at init, is missing to
select `CONFIG_CACHE_MANAGEMENT`.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-12 09:21:58 -06:00
Nick Ward
7f41696a93 dts: binding: sensor: bq274xx: improve desc.
Improve descriptions of taper-current and terminate-voltage.
Also fixes units of taper-current.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2024-01-12 09:00:33 -06:00
Nick Ward
e9b56bd1ec drivers: sensor: bq274xx: remove float use
Remove float usage in calculation of
SENSOR_CHAN_GAUGE_TEMP

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2024-01-12 09:00:33 -06:00
Wojciech Sipak
12f4f4dc86 samples: hello_world_user: fail in compilation if userspace is not enabled
The sample depends on CONFIG_USERSPACE.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2024-01-12 08:32:54 -05:00
Mahesh Mahadevan
37158ebf15 tests: counter: Add LPC RTC 1KHZ counter
Add counter test support for the RTC 1KHz counter

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Mahesh Mahadevan
008b5027a6 dts: nxp: Add support for 1Kz RTC counter
A 1KHz counter is present in the LPC RTC.
Add support for this counter to get better
resolution for certain applications.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Mahesh Mahadevan
08705f51f2 drivers: mcux_lpc_rtc: Add support for 1KHz counter
Add support for the 1KHz counter. Update the RTC
driver to allow the 1Hz and high resolution counters
to exist together.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Mahesh Mahadevan
0b72debabc dts: counter: Add binding for 1KHz counter in NXP LPC RTC
A 1KHz counter is also available inside the NXP LPC RTC
block. Add a binding to support that counter.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Henrik Brix Andersen
24b68fa67f drivers: adc: shell: update list of compatibles
Update the list of ADC compatibles based on the compatibles from
dts/bindings/adc/*.yaml.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-12 12:09:53 +00:00
Henrik Brix Andersen
0cd776e7dd drivers: adc: shell: sort the list of compatibles
Sort the list of supported ADC compatibles alphabetically.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-12 12:09:53 +00:00
Armando Visconti
765519ea92 drivers/sensor: fix some ST drivers dependency to HAL_ST module
In order to avoid build failures as described in issue #67242,
make all ST drivers using HAL_ST module dependent to HAL_STMEMSC
and HAS_STLIB libs, which need to be configured in all samples
referring to them.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-12 12:55:46 +01:00
Daniel DeGrasse
76f547e763 net: l2: wifi: wifi_utils: Resolve build warning with strncpy function
ARM GCC version 12.2.0 (Zephyr SDK 0.16.4) generates the following build
warning from the strncpy call in "wifi_utils_parse_scan_bands":

warning: '__builtin_strncpy' output truncated before terminating nul
copying as many bytes from a string as its length

To resolve this warning, pass the maximum length of the temporary
parse_str buffer to strncpy. This also has the benefit of correctly null
terminating parse_str, since we already verify the
scan_bands_str is properly null terminated with the strlen() check in
this function. We can therefore remove the line adding a null terminator
to parse_str as well.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-12 12:55:35 +01:00
Vinayak Kariappa Chettimada
7f99677aa6 Bluetooth: Controller: Add support for DYNAMIC_INTERRUPTS
Add support for DYNAMIC_INTERRUPTS and ARM specific
DYNAMIC_DIRECT_INTERRUPTS.

Co-authored-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-12 11:16:08 +01:00
Vinayak Kariappa Chettimada
2b30259e9f Bluetooth: Controller: Fix ull_prepare_dequeue for skipped events
Fix ull_prepare_dequeue to not skip events when preempt
does not match the event in the head of the prepare queue.
The head of the prepare queue does not match when
ull_prepare_dequeue has put the head of the queue to the
last of the queue when it is calling lll_resume interface.
This happens when there is already an active event which
needs a preempt timeout to be setup and there is another
non-resume event in the pipeline which now becomes the
head. The fix ensure to restore the order of the events
if a preempt timeout was to be setup.

Currently ull_prepare_dequeue loops through all events
before stopping at the original way the queue was. This is
not efficient and is a scope for improvement in future.

This reverts commit 91781306e9 ("Revert "Bluetooth:
Controller: Fix ull_prepare_dequeue for skipped events"").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-12 10:03:07 +01:00
Derek Snell
8d8d3a53c0 boards: arm: mimxrt595_evk_cm33: add power profiles
Power profiles enable the app to dynamically switch modes and support
DVFS.  These profiles leverage the PCA9420 PMIC to change the VDDCORE
voltage, and optimize power consumption.  Two runtime profiles are
provided for the application:
* main_clk sourced from FRO192M, VDDCORE at 0.9 V
* main_clk sourced from FRO96M,  VDDCORE at 0.8 V

Both profiles use the FRO, and the FRO is retrimmed with the target
frequency when switching profiles.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-12 10:00:00 +01:00
Derek Snell
11d52f71e5 soc: arm: nxp: increase NUM_IRQS for RT5xx series
This enables the PVT Sensor IRQ.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-12 10:00:00 +01:00
Andrej Butok
6b84d29c0c cmake: mcuboot: set align to 1 for overwrite only mode
Set align to 1 for CONFIG_MCUBOOT_IMGTOOL_OVERWRITE_ONLY,
used by non-swap update modes.
Fix imgtool error message for device with write size > 32B.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-12 09:59:51 +01:00
Martin Kiepfer
51e5ecf829 board: m5stack_stamps3: Add support for M5Stack StampS3 development board
Adding support for M5Stack StampS3 development board, featuring an ESP32
MCU

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2024-01-12 09:59:41 +01:00
Martin Kiepfer
b7a1ff7b18 devicetree: led: Add timing definitions for WS2812C RGBs
Timing parameters for WS2812C variant of digital RGB.

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2024-01-12 09:59:41 +01:00
Yuval Peress
4efa11ebf7 bbram: Add tests
Add emulation testing for it8xxx2, npcx, and mcp7940n. The test is made
to be generic and uses the backend API in order to verify both read and
write functionality. Additional tests are made for the API's limits when
reading/writing out of bounds.

Fixes #65018

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
2772843cf1 bbram: npcx: Add emulator
Add an emulator for the NPCX BBRAM which supports reading and writing

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
69dfb2fee3 bbram: mcp7940c: Add emulator
Add an emulator for the mcp7940c BBRAM that supports reading and writing.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
59675bf682 bbram: it8xxx2: Add emulator implementation
Add an emulator that supports reading and writing to the it8xxx2 bbram.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
af5ea66c99 bbram: emul: Add backend API
Add a backend API which allows us to set and get data

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
a9afc5a7b8 emul: Add support for non-bus emulators
Adds a stub API for a non bus emulators. The stub is used to keep the
rest of the emulation consistent.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Ajay Parida
56de0a347e net: mgmt: Provide Regulatory channel info
Updated to provide regulatory channel information along with country
code.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2024-01-12 09:59:19 +01:00
Mahesh Mahadevan
0a26da9b08 Revert "modules: hal_nxp: usb: enable sof notifications"
This reverts commit 2b91d62c0e.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 09:59:02 +01:00
Mahesh Mahadevan
5bda339058 Revert "drivers: usb: device: add start of frame notifications to nxp mcux driver"
This reverts commit 21c9c4abfe.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 09:59:02 +01:00
Gerard Marull-Paretas
f885763b50 arch: riscv: drop RISCV_HAS_CPU_IDLE
Because it was exclusively used by the "common" RISC-V privileged code
to build CPU idle routines that are now handled by arch level code.
Also, all platforms defaulted to "y", making it pointless in practice.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Gerard Marull-Paretas
7631e0ddfa soc: riscv: riscv-privileged: remove redundant idle implementation
Default RISC-V arch level implementation is equivalent.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Gerard Marull-Paretas
1dbcef9d3c soc: riscv: espressif_esp32: use arch idle
It is equivalent to the provided custom implementation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Gerard Marull-Paretas
5fb6e267f6 arch: riscv: idle: trace idle and call wfi
While going to idle may require SoC specific implementations, provide a
more sensible default implementation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Krzysztof Chruściński
04edca7a9f tests: unit: util: Add test for CONCAT macro
Add test for CONCAT.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-12 09:57:57 +01:00
Krzysztof Chruściński
fe4ea0f326 sys: util: Rework CONCAT to support variable length arguments
Rework CONCAT to accept multiple arugments which are concatenated
together. Number of arguments is limited to 8.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-12 09:57:57 +01:00
Daniel Leung
0ee1e28a2f xtensa: polish doxygen and add to missing doc
This polishes doxygen to, hopefully, make it better looking
on the API doc. Also adds missing doc to various functions
and macros.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Daniel Leung
035c8d8ceb xtensa: remove sys_define_gpr_with_alias()
This is not being used in Xtensa anywhere, so remove.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Daniel Leung
a64eec6aae xtensa: remove XTENSA_ERR_NORET
It is not being used anywhere, so remove.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Daniel Leung
bd3c76c88d doc: force include interface header files first
Force include interface header files first before other files
under include. This is due to doxygen always using the first
found item during linking. Because of this, without forcing
the interface definitions first, almost all of these would
link to the same named items, for example, under ARC header
files instead. Hence the need to manually shuffle the items
so linking would actually link to the correct items.

Note that this only works with functions and macros that are
actually defined in the interface file. A simple doc section
with @def would not work as this is not an actual definition.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Daniel Leung
94291a0c75 cache: make arch cache interface parsable by doxygen
This adds the defined(__DOXYGEN__) to arch/cache.h so
the doxygen doc there can be seen.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Daniel Leung
206e1d5b0e sys: atomic: move doxygen doc to atomic.h
This moves the doxygen doc from atomic_builtin.h to
atomic.h, as the doc should not have been inside
a particular implementation.

Also add an alias @atomic_api to replace the repetitive
wordings in the doc.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Anas Nashif
0d7d39d441 scripts: set_maintainer: do not re-add self-removed reviewers
If a collaborator removes themselves from the reviewer list, do not
attempt to re-add them on changes to the PR.

Fixes #67214

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-11 15:46:20 -06:00
Ajay Parida
3053484dcb net: mgmt: Update app of TWT teardown status
Update user/app status of TWT teardown sessions.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2024-01-11 15:42:50 -06:00
Anisetti Avinash Krishna
62c8b066c0 tests: drivers: uart: uart_async_api: Enable test for adl_crb
Enable uart_async_api test for ADL_CRB

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2024-01-11 15:41:42 -06:00
Anisetti Avinash Krishna
0e87de0a10 dts: x86: intel: alder_lake: Added UARTs DMA instances
Added UARTs DMA instances to enable Async operations on
ADL platform

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2024-01-11 15:41:42 -06:00
Przemyslaw Bida
0018204091 net: openthread: Add new key and algorithm in PSA.
This commit adds new types of keys and algorithm to crypto_psa backend
of openthread.

Added options:
- `OT_CRYPTO_KEY_TYPE_ECDSA`
- `OT_CRYPTO_KEY_ALG_ECDSA`
- `OT_CRYPTO_KEY_USAGE_VERIFY_HASH`

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-01-11 15:40:55 -06:00
Sateesh Kotapati
c8c91c7ba5 gecko: emlib files updated | Update to GSDK 4.4.0
Updated the files present in gecko/emlib folder and gecko/common
folder in Silabs HAL.

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2024-01-11 15:39:53 -06:00
Chaitanya Tata
2ce295b71e wifi: shell: Fix missing case sensitivity
This was missed in earlier that tried to fix all string comparisons to
use case insensitive comparison.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-11 15:38:42 -06:00
Maciej Baczmanski
f32e686511 net: openthread: implement otPlatResetToBootloader
This commit implements `otPlatResetToBootloader` in two ways:

- trigger reset to bootloader using boot mode retention API
- trigger reset to bootloader by triggering GPIO pin (applicable
for nRF52840 Dongle)

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-11 15:37:58 -06:00
David Leach
c2f0a7a5a3 maintainers: Split up NXP maintainer group
Split the NXP maintainer group into NXP S32, NXP Xtensa, and NXP.

Signed-off-by: David Leach <david.leach@nxp.com>
2024-01-11 12:42:45 -06:00
Alberto Escolar Piedras
30c660162f tests/kernel/context: Fix for nrf5340bsim_nrf5340_cpunet
This test assumes nothing else is running in the background
but when the logger is on, this board will by default
start the RTC sync mechanism, which will awake the CPU
every now and then.
Let's disable this mechanism to avoid disturbing the test.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-11 11:44:09 -05:00
Jordan Yates
7557756b86 scripts: twister: testplan: search for requested snippets
Search for the snippets requested by the test, not for snippets found
in the snippet roots.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-11 11:40:32 -05:00
Henrik Brix Andersen
b7854c08be tests: drivers: build_all: adc: add build test for the mcp320x driver
Add build-only test of the mcp320x ADC driver.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 17:32:28 +01:00
Henrik Brix Andersen
1b0ea02ffb boards: shields: mikroe_adc_click: use board with mikroBUS as example
Use a board with a mikroBUS as example in the shield documentation and
update the example application since the board_shell sample was removed in
commit 7c85f4b2f5.

Fixes: #67134

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 17:32:28 +01:00
Henrik Brix Andersen
53217b980c doc: release: migration-guide: 3.6: mention change in mcp320x bindings
Mention the change in the microchip,mcp320x bindings to use the common
io-channel-cells name "input" instead of "channel".

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 17:32:28 +01:00
Henrik Brix Andersen
8291cc322d dts: bindings: adc: microchip: mcp320x: use common io-channel-cells name
Use the common io-channel-cells name "input" instead of "channel" to make
this binding work with the various ADC DT macros.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 17:32:28 +01:00
Henrik Brix Andersen
1798a7b5a2 boards: shields: mikroe_adc_click: include zephyr/dt-bindings/adc/adc.h
Include zephyr/dt-bindings/adc/adc.h in the shield DTS overlays to simplify
using this shield in application overlays.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 17:32:28 +01:00
Henrik Brix Andersen
d2c6fcfd32 boards: shields: mikroe_adc_click: fix lpcxpresso55s16 overlay
Remove the correct nodelabel in the overlay for the lpcxpresso55s16 board.

Fixes: 07b642d94f

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 17:32:28 +01:00
Daniel DeGrasse
55fe95a5f6 soc: arm: nxp_imx: enable CONFIG_CACHE_MANAGEMENT for RT1xxx M7 cores
Since d992683db5 (soc: arm: replace redundant config option for
caches for nxp_imx), RT1xxx series will not have cache enabled at boot
unless CONFIG_CACHE_MANAGEMENT=y. Since this will improve performance,
enable CONFIG_CACHE_MANAGEMENT by default.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-11 16:17:03 +00:00
Kapil Bhatt
d8c362253d net: wifi_shell: Add example of scan option
Add an example of the scan's -c parameter
to help with understanding.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-01-11 16:14:46 +00:00
Emil Gydesen
baf8c47473 tests: bsim: Bluetooth: GMAP broadcast AC testing
Add testing of all GMAP broadcast audio configuration with
GMAP broadcast presets.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-11 16:13:00 +00:00
Emil Gydesen
79af154ae7 tests: bsim: Bluetooth: CAP broadcast AC testing
Add testing of the Audio Configurations from the BAP spec using
the CAP API.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-11 16:13:00 +00:00
Emil Gydesen
9310b34b44 tests: bsim: Bluetooth: BAP: Refactor bap_test_stream
Refactor the bap_test_stream struct and rename to audio_test_stream
so that it can be used by CAP as well.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-11 16:13:00 +00:00
Pisit Sawangvonganan
1270bce4d8 modem: modem_cmux: optimize modem_cmux_transmit_frame to save ROM
This optimization aggregates frame headers before adding to the ring buffer
and computes the FCS of the frame header in one operation.
This approach improves execution efficiency and reduces memory footprint.
This code adjustment aligns with the changes proposed in https://github.com/zephyrproject-rtos/zephyr/pull/67062.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-11 16:10:37 +00:00
Bjarki Arge Andreasen
9176e5c568 modem: pipe: Add test suite
Add test suite for the modem_pipe module.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-11 16:09:44 +00:00
Bjarki Arge Andreasen
4d99c69e4a modem: backend: tty: Implement transmit idle event
Implement transmit idle notification for TTY backend. Since TTY
has an "infinite" transmit buffer, we invoke transmit idle
immediately after writing the data to the TTY file.

The test suite for the TTY backend has been updated to match the
new behavior.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-11 16:09:44 +00:00
Bjarki Arge Andreasen
8c6a9ee594 modem: backend: uart: Implement transmit idle event
Make async and interrupt driven UART backends notify transmit
idle when transmit is idle.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-11 16:09:44 +00:00
Bjarki Arge Andreasen
516af3cb84 modem: pipe: Add TRANSMIT_IDLE event
Add transmit idle event to modem_pipe_event enum. This will
allow modules to await transmit idle before trying to transmit
more data, instead of blindly calling modem_pipe_transmit in
a loop until all data has been accepted.

This will reduce the time spent trying to transmit data while
the backend is blocked.

Similarly to the RECEIVE_READY event, backends will call
modem_pipe_notify_transmit_idle() to indicate that transmit
is idle, and the TRANSMIT_IDLE event will be reinvoked when
the modem pipe is attached to synchronize the state of the
pipe with the user of it.

Additionally, the TRANSMIT_IDLE event is also invoked when the
modem is opened to further help synchronization with the user
of the pipe.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-11 16:09:44 +00:00
Tristan Honscheid
0f95b6fbb0 sensors: Add Bosch BMA4xx-series driver
This is a driver targetting the Bosch BMA 4-series accelerometers. It
has been specifically developed for the BMA422 but should be compatible
with others in that line, excepting the BMA400. Supports key attributes
and async RTIO one-shot operation. I2C operation is supported, with
stubs for a SPI implementation provided for future improvement.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2024-01-11 09:58:29 -06:00
Jukka Rissanen
aeb1e41c22 doc: net: Add network configuration guide
Add a simple document describing various network related
configuration options and how they affect the available
resources in the system.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-11 10:26:47 -05:00
Jukka Rissanen
b8708ee781 net: tcp: Fix the CONFIG_NET_TCP_RETRY_COUNT help text
The help text was incorrect, we return -ETIMEDOUT instead
of -ECONNRESET when retransmission timeout occurs.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-11 10:26:47 -05:00
Guennadi Liakhovetski
aee2d1a677 llext: provide an example of tristate Kconfig option
Add a tristate Kconfig option to the llext hello-world twister test.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-11 10:26:04 -05:00
Guennadi Liakhovetski
b53a792ff0 llext: enable tristate Kconfig options
kconfiglib.py has a hard dependency on CONFIG_MODULES to support 'm'
values for tristate Kconfig options. It's a logical companion for
but can also be used with other configurations.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-01-11 10:26:04 -05:00
Bjarki Arge Andreasen
7d7f7aaf03 tests: subsys: modem: cmux: Update resync unit test
Update the unit test to expect the new simplified resync
behavior, and validate that new resync is working.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-11 13:53:25 +01:00
Bjarki Arge Andreasen
3debfc8c8d modem: cmux: Simplify resync mechanism
Some modems don't start sending resync flags as described in
3G TS 27.010 V2.0.0 5.2.5, which results in the CMUX being
stuck in resync mode for said modems.

This patch simplifies the resync mechanism to simply drop
invalid frames, and wait for atleast two consequtive frame
flags (stop+start).

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-11 13:53:25 +01:00
Brian Juel Folkmann
06b57926a2 drivers: adc: stm32: Fix race condition with internal channels
When using one of the internal channels (die_temp, vbat, vref) the
channels are enabled in the individual drivers and disabled again
whenever an adc conversion is complete.

This creates a race condition if the ADC is used from multiple threads.

This commit moves the disabling of the channels to the individual
drivers.

Signed-off-by: Brian Juel Folkmann <bju@trackunit.com>
2024-01-11 13:53:17 +01:00
Yong Cong Sin
768ed26010 doc: posix: signal: fix sigsuspend typo
The `sigsuspend` is currently `igsuspend`, fix that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-11 07:49:26 -05:00
Yong Cong Sin
f82b64504c doc: posix: signal: mark sigprocmask as supported
`sigprocmask()` is now implemented, mark it so.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-11 07:49:26 -05:00
Yong Cong Sin
b42e362fa8 tests: posix: pthread: add test for sigprocmask()
Refactor the existing `pthread_sigmask` test function to
get its function-under-test via arg and test `sigprocmask` with
that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-11 07:49:26 -05:00
Yong Cong Sin
73da1e80f4 posix: signal: implement sigprocmask()
Implement `sigprocmask()` by simply redirecting call to the
`pthread_sigmask()` as they are identical.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-11 07:49:26 -05:00
Henrik Brix Andersen
735c9e23ec boards: arm: nucleo_g474re: list FDCAN1 as supported in the docs
List FDCAN1 as supported in the board documentation.

Fixes: #67087

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 12:52:00 +01:00
Henrik Brix Andersen
fcef0607ca boards: arm: nucleo_g0b1re: list FDCAN1 as supported in the docs
List FDCAN1 as supported in the board documentation.

Fixes: #67087

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 12:52:00 +01:00
Ettore Chimenti
3557bfeb60 boards: stm32f3_seco_d23: update name and refs
Due to board name change (JUNO -> SBC-3.5-PX30), it is necessary to
update board names, links and references in files and documentation.

Signed-off-by: Ettore Chimenti <ek5.chimenti@gmail.com>
2024-01-11 11:17:18 +00:00
Flavio Ceolin
8356ec21e5 xtensa: mmu: Fix mmu initialization
The constant used to calculate TLB entries for the way six was wrong
and causing an integer overflow. Consequently only the first 512MB where
being unmapped from the TLB.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-11 10:05:22 +01:00
Tomasz Leman
1c0c900cbb intel_adsp: ace15: Enhance HST domain power-down sequence
This patch enhances the power-down sequence for the HOST (HST) domain
within the Intel ADSP ACE 1.5 architecture. It introduces a check to
ensure that a specific condition, represented by a magic key value, is
met before disabling the HST domain. This additional verification step
ensures that the HST domain is only powered down when it is safe to do
so, thereby maintaining the stability and reliability of the system.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-01-11 10:05:12 +01:00
Tomasz Leman
c3a6274bf5 intel_adsp: ace: power: Prevent HST domain power gating
This patch introduces power management for the HOST (HST) domain within
the Intel ADSP ACE IP. It adds macros to access the node identifier and
device pointer for the HST power domain and integrates power management
calls into the system initialization and power state transition
functions.

The patch ensures that power gating of the HST domain is prevented when
the primary core of the audio DSP is active. Preventing power gating is
crucial for maintaining the functionality of the HST domain while the
primary DSP core is performing critical tasks.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-01-11 10:05:12 +01:00
Peter Mitsis
9852e8e15b tests: Add thread suspend-resume SMP stress test
Adds a test to stress k_thread_suspend() and k_thread_resume() on
an SMP system. The test should take about 30 seconds.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-11 10:05:02 +01:00
Jonathan Rico
1e6ff5ff05 Bluetooth: L2CAP: separate BR/EDR and LE internal headers
Extract BR/EDR definitions from `l2cap_internal.c` into its own headers:
one for the interface with l2cap.c and one for the rest of the BR/EDR
stack.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-11 10:04:53 +01:00
Jonathan Rico
19da13313d Bluetooth: L2CAP: remove usage of bt_l2cap_send_cb by BR/EDR
Isolates BR/EDR's l2cap use from LE (most of l2cap.c).

Why? Because I'm refactoring l2cap.c and don't want to accidentally
break BR/EDR support, as there are very few tests in CI.

This way, once `bt_l2cap_chan_send` hands control to l2cap_br.c, it will
not call back into l2cap.c, it will instead be a parallel layer going
directly to conn.c.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-11 10:04:53 +01:00
Gerard Marull-Paretas
9e5e8e8c40 doc: extensions: zephyr-domain: make Breathe inserts optional
So that external users of the domain only interested in e.g. referencing
roles, can skip tweaks made to Breathe's directives.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-11 10:04:44 +01:00
Gerard Marull-Paretas
9f4a7ba0f5 doc: extensions: zephyr-domain: fix object descriptions
Zephyr's domain code-sample object description was incorrectly yielded,
making Sphinx inventory (objects.inv) unusable on other projects that
need to use the domain via Intersphinx.

Ref. https://www.sphinx-doc.org/en/master/extdev/domainapi.html

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-11 10:04:44 +01:00
Lucas Tamborrino
2ca4ed205f tests: pwm: esp32s3: add internal loopback
Add internal loopback for testing purposes

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-01-11 10:04:34 +01:00
Lucas Tamborrino
76997374c3 tests: pwm: esp32: add internal loopback
Add internal loopback for testing purposes and
change wroom for wrover, which is default board
for testing.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-01-11 10:04:34 +01:00
Mykola Kvach
bc90724de4 drivers: serial: uart_rcar: fix reading of SCFRDR register
Fix the read size of the SCFRDR register, which has an 8-bit size
for both Gen3 and Gen4 boards.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-01-11 10:04:27 +01:00
Jun Lin
833495675a test: spi_loopback: add npcx evbs to the spi_loopback test suite
This commits adds the npcx4/npcx9/npcx7 evaluation boards to the
spi_loopback test suite.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-01-11 10:04:21 +01:00
Jun Lin
a897b8a09c drivers: spi: npcx: add driver for the SPI peripheral
This commit adds the driver support for the NPCX SPI peripheral.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-01-11 10:04:21 +01:00
Jacob Siverskog
0b74aa0831 manifest: bump hal_nxp revision
this revision contains an usb fix that allows
tests/subsys/usb/device/usb.device to pass on lpcxpresso55s69_cpu0.

see https://github.com/zephyrproject-rtos/hal_nxp/pull/315 for more
information.

Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
2024-01-11 10:04:13 +01:00
Bryan Zhu
aac9b66185 west.yml: hal_ambiq: Update stimer HAL
Update stimer HAL from latested AmbiqSuite.

Signed-off-by: Bryan Zhu <bzhu@ambiq.com>
2024-01-11 10:03:58 +01:00
Chaitanya Tata
918e08fda8 wifi: shell: Add a shell command to list stations
In AP mode maintain the database of connected stations based on the
Wi-Fi management events and dump the list.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-11 10:03:02 +01:00
Chaitanya Tata
725c13bafb wifi: ap: Add client side events
These are helpful to track clients being added and deleted.
Applications can actions based on these events.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-11 10:03:02 +01:00
Chaitanya Tata
2703955aee wifi: ap: Add status events
These events communicate the status of AP mode operations (enable or
disable) with few pre-defined enumerations.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-11 10:03:02 +01:00
Chaitanya Tata
09e1ed039a wifi: Fix duplication
Use a common set of events and then add specific ones as per the
configuration.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-11 10:03:02 +01:00
Laurentiu Mihalcea
265554b873 drivers: dai: sai: Add fix for i.MX93 SAI errata 051421
ERRATA 051421 states that if the SAI is FSYNC/BCLK master,
one of the directions is SYNC with the other, and the
ASYNC direction has the BYP bit toggled, the SYNC direction's
BCLK won't be generated properly.

This commit fixes this issue by enabling BCI for the SYNC
direction. What this does is it makes the SYNC direction use
the BCLK from the ASYNC direction's pad, which, if the BYP
bit is toggled, will be the undivided MCLK. Without this fix,
the SYNC direction will use the ASYNC direction's BCLK obtained
by dividing the MCLK via the following formula: MCLK / ((DIV + 1) * 2).
This is wrong because the ASYNC direction will use an undivided
MCLK while the SYNC direction will use a divided MCLK.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-11 10:02:50 +01:00
Laurentiu Mihalcea
0db2d17b48 drivers: dai: sai: Add support for all SYNC modes
With the introduction of the "rx_sync_mode" and "tx_sync_mode"
properties, the user may choose which synchronization mode the
SAI should use. To support this, the code had to be changed a
bit such that the software reset and the disable operations
work on all synchronization modes.

What this commit does, is it changes the software reset and
disable sequences such that they work with any of the
supported synchronization modes. Also, the syncMode field
of sai_transceiver_t structure is set to the value passed
from the DTS during sai_config_set().

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-11 10:02:50 +01:00
Laurentiu Mihalcea
6127535b1d drivers: dai: sai: Introduce the rx_sync_mode/tx_sync_mode properties
In preparation for supporting all synchronization modes, this
commit introduces the rx_sync_mode/tx_sync_mode DTS properties.
Using these, the user will be able to specify which synchronization
mode the SAI should use.

At the moment, the driver does nothing with the values from
said properties but still checks if their values are sane
(i.e: it checks if the directions are both in SYNC mode which
is forbidden). By default, if "rx_sync_mode" or "tx_sync_mode"
is not specified, the direction will be set to ASYNC mode.
As such, below one may find a couple of valid examples
depicting this idea:

	tx_sync_mode = <0>;
	rx_sync_mode = <0>;

is the same as not specifying any of the properties,

	tx_sync_mode = <1>;
	rx_sync_mode = <0>;

is the same as:

	tx_sync_mode = <1>;

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-01-11 10:02:50 +01:00
Henrik Brix Andersen
d7873e25fd boards: arm: stm32h735g_disco: enable CAN suppport
Enable support for FDCAN1, FDCAN2, and FDCAN3 on the stm32h735g_disco
board.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-10 20:59:55 -05:00
Henrik Brix Andersen
1fa11bd038 doc: release: migration guide: 3.6: add note on stm32h7 CAN domain clk
Add a note describing the new default for the STM32H7 FDCAN CAN controller
domain/kernel clock and how to override it.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-10 20:59:55 -05:00
Henrik Brix Andersen
bc69500b0e drivers: can: stm32h7: fdcan: add support for domain clock and divider
Add support for specifying the domain/kernel clock along with a common
clock divider for the STM32H7 CAN controller driver via devicetree.

Previously, the driver only supported using the PLL1_Q clock for
domain/kernel clock, but now the driver defaults to the HSE clock, which is
the chip default. Update existing boards to continue to use the PLL1_Q
clock.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-10 20:59:55 -05:00
Gerard Marull-Paretas
0f73e8fd3e dts: arm/riscv: gigadevice: s/gigadevice/gd
To stay consistent with other vendors, use vendor prefix (gd).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 20:59:21 -05:00
Gerard Marull-Paretas
b3d8fc5e82 soc: arm: gigadevice: s/gigadevice/gd_gd32
Gigadevice was inconsistent with the convention established by other SoC
families, that is, use <vnd_prefix>_<family>. For example, ST STM32 uses
st_stm32. Note that GD32VF103, under soc/riscv, has already been
adjusted.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 20:59:21 -05:00
Mateusz Holenko
e3deb44bc4 boards: arduino_portenta_h7: enable mailbox
The mailbox peripheral is actively accesses by stm32_hsem functions,
so it should be marked as enabled in DTS.

Signed-off-by: Mateusz Hołenko <mholenko@antmicro.com>
2024-01-10 20:57:24 -05:00
Kapil Bhatt
773ebe9c41 net: wifi_shell: Update scan argument shell
Update the example of scan -c argument.
Default value for max channels is set to 3,
So, update the example according to that.
Add closing bracket in -s.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-01-10 20:56:32 -05:00
Kapil Bhatt
3e8dbaf75f net: wifi_utils: Fix max channels allow for scan
Fix the maximum channels allow for scan command
input.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-01-10 20:56:32 -05:00
Andrzej Kuros
c4ce235973 modules: hal_nordic: remove NRF_802154_ENERGY_DETECTED_VERSION
The macro `NRF_802154_ENERGY_DETECTED_VERSION` is no longer required
because transition of nrf 802154 API is done.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2024-01-10 20:55:05 -05:00
Andrzej Kuros
a15c24ad75 manifest: update hal_nordic revision
This commit updates revision of hal_nordic to bring the latest changes
in the nRF IEEE 802.15.4 driver.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2024-01-10 20:55:05 -05:00
Bartosz Bilas
e8f223dbe8 drivers: charger: bq24190: fix api and init functions references
There is no need to use & as a function reference, so remove it.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-10 20:54:04 -05:00
Jeeva Kandasamy
2a4794e98a drivers: pwm: fix esp32-s3 ledc pwm low frequency
ESP32 - S2,S3 and C3 variants have only 14 bits counter.
where as the plain ESP32 variant has 20 bits counter.
application failed to set low frequency(1Hz) in S2, S3 and C3 variants.
to get very low frequencies on these variants,
frequency needs to be tuned with 18 bits clock divider.
so select the slow clock source (1MHz) with highest counter resolution.
this can be handled on the func'pwm_led_esp32_timer_set' with 'prescaler'.

Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
2024-01-10 20:53:07 -05:00
Keith Packard
cdc686eecc compiler/gcc: _FORTIFY_SOURCE=1 doesn't mean compile-time only checks
_FORTIFY_SOURCE=1 differs from _FORTIFY_SOURCE=2 only in the bounds
checking mode that it uses.

With _FORTIFY_SOURCE=1, bounds checks are 'loose', allowing access to the
whole underlying object, not just the subset referenced in the expression
(e.g, the bounds of a struct member is the whole struct, not just the
member).

With _FORTIFY_SOURCE=2, bounds checks are strict, meaning that the bounds
of an expression are limited to the referenced value.

Both of these perform their checks at runtime, calling _chk_fail if the
bounds check fails. That's done in the __*_chk functions included in the C
library. These are always called when _FORTIFY_SOURCE > 0, unless the
compiler replaces the call with inline code.

GCC already does all of the compile-time bounds checking for string and mem
functions when not using -ffreestanding, so there's nothing we need to add
for that to work. That means the security_fortify_compile_time property
should be empty.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-10 20:50:51 -05:00
Keith Packard
97f8b8b6ee scripts/footprint: Avoid fpdiff failure when data changes lots
Bounds check the array access in case the input data changes so that the
number of entries in the 'children' array is not the same. The tool output
with this change isn't terribly useful, but at least it doesn't crash.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-10 20:50:51 -05:00
Anas Nashif
29a4e04143 ci: update elasticsearch index with merged PR data
A simple workflow that runs when a PR is merged and updates the
elasticsearch index with merged PR info.
The dashboard for displaying the information can be found here:

https://kibana.zephyrproject.io/

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-10 16:39:04 -05:00
Bartosz Bilas
c1a1e4524d drivers: regulator: max20335: add support for ship mode
Allows the user to disable PMIC.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-10 16:29:30 -05:00
Dawid Niedzwiecki
10e66dc9fc boards: google_dragonclaw: limit frequency of an unused clock
I2S is unused on the dragonclow board. Increase the R division factor
(used for I2S), to reduce the clock frequency, which saves some power.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-01-10 18:24:05 +00:00
Simon Walz
38aa4d5169 net: lwm2m: add gateway callback to handle prefixed messages
Adding a callback for handling lwm2m messages with prefixed paths defined
by the gateway object. If CONFIG_LWM2M_GATEWAY_OBJ_SUPPORT is set,
each path is checked for the prefix stored in the object instances of the
gateway object 25. If prefixes match the msg is passed to the gw_msg_cb.

Signed-off-by: Simon Walz <simon.walz@autosen.com>
2024-01-10 18:22:21 +00:00
Fabio Baltieri
e5974b2aac input: gpio_keys: implement polling mode support
Some MCU have limitations with GPIO interrupts. Add a polling mode to
the gpio-keys driver to support those cases.

This required a bit of a refactoring of the driver data structure to add
a instance wide data, and move the pin specific pointer in the config
structure.

For polling, reuse the button 0 delayed work so we minimize the resource
waste, the two work handler functions are only referenced when used so
at least those are discarded automatically if no instance needs them.

Fix a bug in the PM structure instantiation as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-10 18:21:49 +00:00
Pisit Sawangvonganan
c65b1bb241 drivers: flash: spi_nor: ensure paired calling of acquire/release_device
Adjusted the code to guarantee resource release irrespective of operation
success or failure.
Fixes #67336

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-10 18:17:31 +00:00
Christopher Friedt
b85b7a3490 doc: posix: overview: clarification on conformant implementations
Any C library with conformant implementations of POSIX features,
options, or option groups can be used in place of the versions
provided with Zephyr's POSIX implementation as long as there is
no source licensing compatibility or linking clause violation.

Implementations of such features, options, or option groups can
be used in whole or in part, as long as there is no conflict
with the rest of Zephyr or the application.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Christopher Friedt
5bbec7a45d docs: posix: option groups: add _POSIX_THREAD_SAFE_FUNCTIONS
The _POSIX_THREAD_SAFE_FUNCTIONS option was mentioned in
aep/index.rst but not expanded.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Christopher Friedt
ce42bf3820 doc: posix: option groups: add C_LANG_JUMP and C_LANG_MATH
Add POSIX_C_LANG_JUMP and POSIX_C_LANG_MATH option groups
with links to specification details on opengroup.org .

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Christopher Friedt
283d813c88 doc: posix: option groups: abbreviate POSIX_C_LANG_SUPPORT
In order to reduce verbosity on the primary Option Groups page,
simply add a note that the POSIX_C_LANG_SUPPORT is considered
supported with newlib, picolibc, or any other libc conforming to
the ISO C standard.

Add a link to the language support page that details C, C++, ..

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Håvard Reierstad
1b49059237 MAINTAINERS: Add HaavardRei as BT Mesh collaborator
Add myself as a Bluetooth Mesh collaborator

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-01-10 13:15:53 -05:00
Jonathan Rico
4d7b7c89a6 MAINTAINERS: Remove inactive collaborators from Bluetooth host
They have been inactive for more than a few months.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-10 13:15:12 -05:00
Jonathan Rico
a147c8814b MAINTAINERS: Add myself as Bluetooth host co-maintainer
As discussed in the Bluetooth host weekly meeting.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-10 13:15:12 -05:00
Jonathan Hamberg
9c1a45cc00 posix: Fix name collision with __bswap
__bswap_ in zephyr/sys/byteorder.h conflicts with __bswap_ in host's
byteswap.h. byteswap.h from host compiler used in posix_native_64 boards
causes a compilation issue.

This commit renames __bswap_ to BSWAP_ to prevent collision.

Before this commit a compilation error can be created by adding #include
<byteswap.h> to samples/net/sockets/echo/src/socket_echo.c

This does not change external API to byteorder.h, but does change
internal implementation which some other source files depend on.

Replaced manual byteswap operations in devmem_service.c with APIs from
byteorder.h which automatically converts to CPU endianess when necessary.

Fixes #44324

Signed-off-by: Jonathan Hamberg <jonathanhamberg@gmail.com>
2024-01-10 18:13:44 +00:00
Anas Nashif
4e7269669b twister: hotfix for unimplemented harnesses
Harness is freeform right now in the yaml file and if the harness is not
implemented in class, things fail. While we cleanup and enforce
implementations, this should serve as a quick fix dealing with such
unimplemented harnesses.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-10 11:44:04 -05:00
David Leach
d33f8c7f27 drivers: i2c: i2c_mcux_lpi2c: fix unused variable warning
With commit 1d7476af, it fixed a build error with config
structure no longer having a base address field but left
the local variable defined. This resulted in a build warning
of an unused variable 'config' in two places.

Signed-off-by: David Leach <david.leach@nxp.com>
2024-01-10 09:22:54 -06:00
Daniel Leung
78790a85aa tests: net: lwm2m_engine: workaround stack overflow on qemu_x86
When running on qemu_x86, the test test_socket_state failed on
stack overflow. Setting CONFIG_TEST_EXTRA_STACK_SIZE to 1024
seems to fix the issue. So add a board specific config for
qemu_x86 so this test would pass.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-10 10:09:18 -05:00
Lukasz Mrugala
23b3e5741e scripts: tests: Removal of straggling folders
Current blacbox tests leave two folders,
OUT_DIR and TEST_DIR after they are finished.
Unit tests create two further folders,
mock_testsuite and demo_board_2.
This change deletes them appropriately.

Additionally, the created twister-out* folders in blackbox tests are
moved to a temp directory and removed after every test.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-10 09:23:06 -05:00
Gerson Fernando Budke
b8188e54a4 kernel: Implement k_sleep for Single Thread
The current z_tick_sleep return directly when building kernel for Single
Thread model. This reorganize the code to use k_busy_wait() to be time
coherent since subsystems may depend on it.

In the case of a K_FOREVER timeout is selected the Single Thread the
implementation will invoke k_cpu_idle() and the system will wait for
an interrupt saving power.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2024-01-10 15:10:16 +01:00
James Zipperer
273165c3bb usb: device: audio: fix compiler warning for usb audio microphone
audio_receive_cb is only used by headphones and headset, it is unused in
microphone-only configurations.  Gate compilation based on the device
tree.

Signed-off-by: James Zipperer <jzipperer@fb.com>
2024-01-10 15:08:06 +01:00
James Zipperer
975208209b usb: device: audio options for polling-interval and sample-rate-hz
These descriptor values can now be configured via the device tree

Signed-off-by: James Zipperer <jzipperer@fb.com>
2024-01-10 15:08:06 +01:00
James Zipperer
21c9c4abfe drivers: usb: device: add start of frame notifications to nxp mcux driver
When usb middleware sends a start of frame notification to this driver,
call status_cb with USB_DC_SOF.

Signed-off-by: James Zipperer <jzipperer@fb.com>
2024-01-10 15:08:06 +01:00
James Zipperer
2b91d62c0e modules: hal_nxp: usb: enable sof notifications
When building with CONFIG_USB_DEVICE_AUDIO, enable start of frame
notifications from the mcux sdk usb middleware

Signed-off-by: James Zipperer <jzipperer@fb.com>
2024-01-10 15:08:06 +01:00
Ali Hozhabri
a87a42dec7 drivers: bluetooth: hci: Add support for ST Proprietary extended event
Add support for handling ST Proprietary extended event.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-10 15:07:36 +01:00
Ali Hozhabri
af76d061f8 boards: arm: Update dts files for ST BlueNRG-based boards
Update dts files to use ST vendor specific HCI SPI Bluetooth driver.

Remove unnecessary GPIO bias for output pins.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-10 15:07:36 +01:00
Ali Hozhabri
8b8be3c7aa drivers: bluetooth: hci: Remove ST vendor code from spi.c
Remove ST vendor code from spi.c.

Update CMakeLists to select ST vendor file for ST BlueNRG devices.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-10 15:07:36 +01:00
Ali Hozhabri
98d6dbf787 drivers: bluetooth: hci: Add Bluetooth driver for ST HCI SPI protocol
Copy ST specific SPI protocol code from spi.c to a vendor specific file.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-10 15:07:36 +01:00
Ali Hozhabri
f74c14537a dts: bindings: bluetooth: Include zephyr,bt-hci-spi.yaml
Include zephyr,bt-hci-spi.yaml in both ST HCI SPI yaml files.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-10 15:07:36 +01:00
Gerard Marull-Paretas
5b3dd2288e boards: gd32f403z_eval: remove redundant Kconfig
Board does not have any init code, so BOARD_INIT_PRIORITY is redundant.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 15:05:54 +01:00
Gerard Marull-Paretas
d4838ed57e boards: gd32f450i_eval: remove unused Kconfig
Board no longer has init code.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 15:05:54 +01:00
Gerard Marull-Paretas
ba52701630 drivers: counter: gd32: depend on !SOC_SERIES_GD32VF103
Because SOC_FAMILY_GD32_ARM is going to be dropped soon.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 15:05:54 +01:00
Gerard Marull-Paretas
81dbe94a16 boards: gd32*: reduce board image file size
Some GD32 board pictures exceed the maximum allowed limit (100K), so
reduce them.

Automated using `cwebp path/to/board.jpg -o path/to/board.webp`

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 15:05:54 +01:00
Gerard Marull-Paretas
067f32731e modules: hal_gigadevice: use CONFIG_${ARCH} to select components
Instead of using custom SoC definitions. The selected components (e.g.
CMSIS), depend on the architecture selected by the SoC Kconfig options.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 15:05:54 +01:00
Fabio Baltieri
bd8cee8683 drivers: input: add an analog-axis driver
Add an input driver to read data from an analog device, such as a
thumbstick, connected to an ADC channel, and report it as an input
device.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-10 15:05:35 +01:00
Nicolas Pitre
e5b3231354 tests: posix: semaphore: assorted adjustments
- Adjust refcount checks with regards to previous commit.

- Remove redundant zassert_not_null() on local pointers after a
  sem_close(). There is no implicit reference passing in C.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2024-01-10 07:18:19 -05:00
Nicolas Pitre
cf74f22524 posix: semaphore: optimize named semaphore implementation a bit
- Regroup refcount decrement and semaphore destruction by making the
  linked state into a counted reference for it. This allows for
  simplifying the code and cleanly adding a few assertions in a common
  location.

- Remove redundant initialization to NULL on memory about to be freed
  and local pointer in nsem_cleanup().

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2024-01-10 07:18:19 -05:00
Yong Cong Sin
b8662b97f2 tests: posix: semaphore: run normal semaphore test with named semaphore
Run the normal semaphore test with a named semaphore.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-10 07:18:19 -05:00
Yong Cong Sin
3bfcf123a7 tests: posix: semaphore: refactor test_semaphore
Localize a few public variables and refactor the test and
functions so that they are reusable.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-10 07:18:19 -05:00
Yong Cong Sin
9016cec150 doc: posix: mark sem_open, sem_close & sem_unlink as supported
The `sem_open()`, `sem_close()` & `sem_unlink()` functions are
now implemented, so mark them as supported.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-10 07:18:19 -05:00
Yong Cong Sin
abb21d48d9 posix: semaphore: implement sem_open(), sem_unlink() & sem_close()
Implements `sem_open()`, `sem_unlink()` & `sem_close()`
functions and added tests for them.

Updated existing tests and POSIX docs.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-10 07:18:19 -05:00
Yong Cong Sin
25b0083ee9 MAINTAINERS: add myself as a POSIX collaborator
Add myself as a collaborator in the POSIX subsystem.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-10 07:18:19 -05:00
Piotr Golyzniak
a27ae686d3 tests: bsim: add testcase.yaml to bsim bis test
For better manageability of tests building, add possibility to build
BabbleSim Bluetooth BIS tests by Twister.

Signed-off-by: Piotr Golyzniak <metody159@gmail.com>
2024-01-10 12:10:58 +01:00
Piotr Golyzniak
8831aa60eb scripts: twister: add copying of bsim exe
To make possible to build bsim tests by Twister, it is necessary to
copy executables to BabbleSim bin directory.

Signed-off-by: Piotr Golyzniak <metody159@gmail.com>
2024-01-10 12:10:58 +01:00
TOKITA Hiroshi
665d216b6f samples: drivers: led_ws2812: add configure for adafruit_kb2040
Add configuration to use PIO driver for adafruit_kb2040.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-10 12:10:36 +01:00
TOKITA Hiroshi
4266a7e17a boards: arm: adafruit_kb2040: add led-strip configuration
Adafruit KB2040 has one NeoPixel(WS2812) LED that
attaches to GPIO17 pin.
Add configuration for it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-10 12:10:36 +01:00
TOKITA Hiroshi
6699d4d4f9 drivers: led_strip: add rpi_pico's PIO based ws2812 driver
Add driver that based on RPI-PICO's PIO feature for ws2812.

This driver can handle WS2812 or compatible LED strips.
The single PIO node can handle up to 4 strips.
Any pins that can be configured for PIO can be used for strips.

I verified the samples/driver/led_ws2812 sample
working with WS2812(144 pcs) led strip using following patches.

- samples/drivers/led_ws2812/boards/rpi_pico.overlay

```
/ {
        aliases {
                led-strip = &ws2812;
        };
};

&pinctrl {
        ws2812_pio0_default: ws2812_pio0_default {
                ws2812 {
                        pinmux = <PIO0_P21>;
                };
        };
};

&pio0 {
        status = "okay";

        pio-ws2812 {
                compatible = "worldsemi,ws2812-rpi_pico-pio";
                status = "okay";
                pinctrl-0 = <&ws2812_pio0_default>;
                pinctrl-names = "default";
                bit-waveform = <3>, <3>, <4>;

                ws2812: ws2812 {
                        status = "okay";
                        output-pin = <21>;
                        chain-length = <144>;
                        color-mapping = <LED_COLOR_ID_GREEN
                                         LED_COLOR_ID_RED
                                         LED_COLOR_ID_BLUE>;
                        reset-delay = <280>;
                        frequency = <800000>;
                };
        };
};

```

- samples/drivers/led_ws2812/boards/rpi_pico.conf

```
CONFIG_WS2812_STRIP_RPI_PICO_PIO=y
```

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-10 12:10:36 +01:00
Jukka Rissanen
b0dd9a2980 doc: net: ppp: Fix the point-to-point documentation
The ppp doc was still referring to gsm-modem sample which
is no longer there. Also removed old information that is no
longer relevant.

Fixes #67171

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-10 12:06:19 +01:00
Shane Snover
e49d174be9 driver: usb: change function parameter name from class to base_class.
Change function parameter name in function usbd_device_set_code_triple
from `class` to `base_class` as `class` is a keyword in C++.

Signed-off-by: Shane Snover <ssnover95@gmail.com>
2024-01-10 11:08:11 +01:00
Maximilian Huber
47e4728604 doc: add note that some versions of displays are not supported
This adds a hint that for stm32h747i_disco just some display shields are
supported.

Signed-off-by: Maximilian Huber <gh@maxhbr.de>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
2024-01-10 11:07:41 +01:00
Lukasz Madej
1ed51885d3 drivers: mfd: mfd_ad5592: fix reset magic sending
Use proper register mask for software reset register so
reset magic value sent to device is not malformed.

Co-authored-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-01-10 10:01:52 +01:00
Lukasz Madej
c69ddc1018 drivers: mfd: mfd_ad5592: fix typo
Fix a typo in `AD5592_REG_VAL_MASK` macro name.

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-01-10 10:01:52 +01:00
Lukasz Madej
a5b467646a drivers: mfd: mfd_ad9952: fix reset magic value
Reset magic value equal 0xDAC is invalid. According to device
specification [1] a valid value is 0x5AC.
Use proper value to make driver aligned with the spec.

[1] https://www.analog.com/media/en/technical-documentation/data-sheets/ad5592r.pdf

Signed-off-by: Lukasz Madej <l.madej@grinn-global.com>
2024-01-10 10:01:52 +01:00
Jamie McCrae
7e07ea0435 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  b994ba2ce29425587957dcbb6c96d4e1872b5737

Brings following Zephyr relevant fixes:
 - 4d75fc8e bootutil: Fix compatible sector checking
 - 35e9931c bootutil: Add debug logging for boot status write
 - db9a7f58 boot: zephyr: cmake: Fix issue with missing dts
   entries
 - 8cee3550 zephyr: kconfig: make MBEDTLS_PROMPTLESS depend on
   MBEDTLS

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-10 10:01:43 +01:00
Alberto Escolar Piedras
892e8ef47a tests/drivers uart_async_*: Provide overlays for nrf52_bsim
For uart_async_api, uart_mix_fifo_poll & uart_pm:
These test can be run fine in the simulated nrf52_bsim board,
just connecting the UART Tx and Rx in loopback,
but we need an overlay just like for the real boards.
Let's provide it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
c7d179f895 tests/drivers uart_async_api: Fix build error with host gcc
For some reason the host gcc (11 & 12) does not believe
rx_buf_size is constant. Let's work around it by using the
sizeof() expression it is initialized to instead.

This fixes a build error when targetting native targets
which use the host gcc:

tests/drivers/uart/uart_async_api/src/test_uart_async.c:236:34:
error: expression in static assertion is not constant
  236 |         BUILD_ASSERT(rx_buf_size <=
  sizeof(tdata.rx_first_buffer), "Invalid buf size");

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
37f26174ea tests/drivers uart_async_rx: Fix for integration_platforms
The test was actually filtered out in the integration platforms
(native_sim) as SERIAL was not enabled in its prj.conf
and that is not enabled by default for this target.
Let's just enable it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
bd9836be8c subsys logging: Enable native backend if possible
Let's always enable the native_posix backend even
if the serial is used.
Both can be used at the same time, and:
a) users expect the logger output in the invoking shell even if they
enable the UART
b) Since printk is routed to the logger twister actually needs it
for tests to pass as for native platforms it looks into the stdout
of the process.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
009fcd70e5 tests bsim bt: Add basic connection test with HCI UART async controllers
Add a basic connection test between two devices,
in which the controllers are in separate nrf52_bsim devices
connected over UART to the devices running the host+app.
The controllers are running the HCI UART async sample.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
398e4b121a tests bsim bt: Add basic connection test with HCI UART controllers
Add a basic connection test between two devices,
in which the controllers are in separate nrf52_bsim devices
connected over UART to the devices running the host+app.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
2f25cd5851 boards nrf52_bsim docs: UART is now supported
Add the UART to the list of supported peripherals

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
0aa0bc9af0 boards nrf*bsim: Move common kconfig selection to common place
Reduce a bit the amount of boilerplate by placing common
Kconfig selections in common options.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
6fee105b1d boards nrf52_bsim: Provide default UART configuration
Provide a good enough UART configuration, but do not
select it as backend by default, let apps do that.

The UART and its driver are very heavy compared to
other backends it may replace, so let's avoid
enabling it by default.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
0bdf943900 boards nrf*_bsim: Do not use the UART for logging by default
Even if the UART is enabled, let's not use it by default,
in this platform, as this UART is not meant for user
interaction, but to connect other devices
(for ex. BT controller).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
f84ef2d6ee boards nrf5*_bsim: Allow using the UART
Now the HW models include the UART(E) models.
So let's allow selecting it, but let's
not default to it, or enable it by default,
as it is only in very rare cases uses will want it,
and some may already be using the native ptty
instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
85d3ad1117 manifest: Update nrf hw models to latest
* Update the HW models module to
c744f2c762aad79e59bd7e99002f2fcab0a2f288

Including the following:
* docs: UART: several minor fixes
* UART(E): Add peripherals and connect to (D)PPI

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
572ba26b1f boards nrf5*_bsim: Provide more common headers
Provide some more common headers some nRF drivers
expect.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
14bc4aeec8 drivers uart_nrfx: Break infinite loops for simulation
While waiting for the UART to be ready in ISR
mode, for simulation only, add a tiny delay per
iteration of the busy wait loops to allow
time to pass.
This Z_SPIN_DELAY is an empty macro for any
other target than simulation.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
9a27906e38 drivers counter_nrfx_timer: Get peripheral address from HAL
Instead of getting the hardcoded address from the DT structure
use its symbolic name which will be resolved by the nRF HAL
definitions to the same value.

This allows the TIMER peripherals' addresses to be redefined
for the simulated targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
83af2d7f3c drivers counter nrfx: Fix ISR prototype
The ISR prototype is not matching the
signature for interrupt handlers, which results in
build warnings.
Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
efca307d35 drivers uart_nrfx: Correct pinctrl reg address for simulation
For simulation, we cannot get the UART regiter address
for the pinctrl config structure from DT, as that
cannot match the one allocated at build time.
So let's override it at runtime with the correct address
which is stored in the UART config structure.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
4efd08bfd8 drivers uart_nrfx: Get peripheral address from HAL
Instead of getting the hardcoded address from the DT structure
use its symbolic name which will be resolved by the nRF HAL
definitions to the same value.

This allows the GPIO peripherals' addresses to be redefined
for the simulated targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Alberto Escolar Piedras
5b993b070a drivers uart nrfx: Fix ISR prototype
The ISR prototype used when building without the
interrupt driven UART was not matching the
signature for interrupt handlers, which results in
build warnings.
Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-10 10:01:37 +01:00
Weiwei Guo
eac50e318f drivers: intc_plic: fix plic PLIC_TRIG_LEVEL define mistake
Interrupt trigger type register each bit indicate the configured interrupt
type. bit value is 0 indicate level trigger interrupt, 1 indicate edge
trigger interrupt.

The level trigger defined to ~BIT(0) equal 0xfffffffe not equal 0.

Signed-off-by: Weiwei Guo <guoweiwei@syriusrobotics.com>
2024-01-10 10:01:23 +01:00
Abe Kohandel
83ca2a04a0 drivers: usb_dc_native_posix: do callback for ZLPs
A Zero Length Packet can be used by higher layer stack to discover when
an endpoint is being processed by the host. An example of this was
introduced as part of 0127d000a2 ("usb: device: cdc_acm: Use ZLP to
detect initial host read") in the CDC ACM class.

Not invoking the callback for ZLPs results in the higher layer stack not
being informed when the packet is consumed. This manifests as a CDC ACM
USB-IP device that cannot transmit to the host while being able to
receive from the host.

Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
2024-01-10 10:01:14 +01:00
Benedikt Schmidt
70c8df7724 arch: arm: core: cortex_m: fix cache disabling in init_arch_hw_at_boot
Use the arch-cache functions instead of the sys-cache-functions
in z_arm_init_arch_hw_at_boot to ensure that the caches are
disabled even when CONFIG_CACHE_MANAGEMENT is disabled.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-10 09:59:58 +01:00
Benedikt Schmidt
10c0b86f83 soc: arm: use sys_cache* to enable caches for stm32f7 and stm32h7
Use sys_cache* functions to enable the caches for stm32f7 and
stm32h7. This ensures that CONFIG_CACHE_MANAGEMENT is
considered correctly.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-10 09:59:58 +01:00
Benedikt Schmidt
8b4516226b soc: arm: use sys_cache* for enabling the caches on same70 and samv71
Use the sys_cache* functions to enable the caches on same70 and
samv71. This will ensure that CONFIG_CACHE_MANAGEMENT is
considered correctly.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-10 09:59:58 +01:00
Benedikt Schmidt
2a2919946f arch: arc: use sys_cache instead of arch-function for enabling the cache
Use sys_cache_data_enable instead of arch_dcache_enable to enable
the cache. This will ensure that CONFIG_CACHE_MANAGEMENT
is considered correctly.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-10 09:59:58 +01:00
Benedikt Schmidt
1f1b430d88 soc: arm: remove redundant cache config options for kv5x
Remove the redundant cache config options for kv5x and use
the sys_cache* functions to enable the caches. This will automatically
consider CONFIG_CACHE_MANAGEMENT.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-10 09:59:58 +01:00
Benedikt Schmidt
d992683db5 soc: arm: replace redundant config option for caches for nxp_imx
Replace the redundant cache config options for the nxp_imx and
use sys_cache* functions to enable the caches. These will automatically
consider CONFIG_CACHE_MANAGEMENT.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-10 09:59:58 +01:00
Benedikt Schmidt
49d3244798 soc: arm: use sys_cache* for enabling the caches in nxp_s32
Use sys_cache* for enabling the caches in nxp_s32. This automatically
considers CONFIG_CACHE_MANAGEMENT and will activate the
cases only if this is active.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-01-10 09:59:58 +01:00
Ricardo Rivera-Matos
7d51b7cdc1 charger: Adds input current notifier properties
Some charger devices (such as BQ25710 and ISL9241) issue
notifications to the system via a dedicated line (such as
the PROCHOT signal on x86 platforms) to almost instantly
throttle the system load to prevent a brownout event.

This patch introduces two properties to configure two
distinct input current notification events of different
severity.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2024-01-10 09:59:41 +01:00
Ricardo Rivera-Matos
f7d6c4f439 charger: Adds CHARGER_PROP_INPUT_REGULATION_VOLTAGE_UV prop
Adds support for setting a falling input voltage limit regulated
by an analog loop. Under heavy loads the analog loop will throttle
the charge current to prevent the power source from crashing.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2024-01-10 09:59:41 +01:00
Ricardo Rivera-Matos
45232aeaa2 charger: Adds CHARGER_PROP_INPUT_REGULATION_CURRENT_UA prop
Adds support for setting the target threshold for an input current
limit regulated by an analog loop. The analog loop responds by
throttling the charge current limit as necessary.

These are distinct from comparator based overcurrent protection
thresholds that isolated the charger from the power source when
triggered.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2024-01-10 09:59:41 +01:00
Anisetti Avinash Krishna
14c68c9438 drivers: serial: ns16550: Add IOPORT_ENABLED check condition
io_map check to enable LPSS DMA initialization is kept under
condition IOPORT_ENABLED.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2024-01-09 15:52:10 -06:00
Daniel DeGrasse
1c0b114bf8 sd: add timeout when taking SD card lock for data operations
Previously, if an SD I/O operation was attempted while another thread
held the mutex for the SD card, the I/O operation would simply fail. Add
a timeout to k_mutex_lock calls within the SD subsystem, so that
multithreaded access to the SD card instead blocks until the SD card is
available for I/O

Fixes #66211

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-09 15:46:54 -06:00
Henrik Brix Andersen
8785438d31 drivers: can: nuvoton: numaker: fix init function reference
Fix the reference to the init function.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 18:28:30 +01:00
Henrik Brix Andersen
e24a3f5975 drivers: can: nuvoton: numaker: use named IRQs
Switch to using named IRQs as index-based access makes no guarantees about
devicetree interrupt order.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 18:28:30 +01:00
Henrik Brix Andersen
b1cf5f0ffc drivers: can: nxp: mcan: use named IRQs
Switch to using named IRQs as index-based access makes no guarantees about
devicetree interrupt order.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 18:28:30 +01:00
Henrik Brix Andersen
074303cb7a dts: bindings: can: require interrupt-names for drivers using named IRQs
Make the "interrupt-names" property mandatory for drivers using named IRQs.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 18:28:30 +01:00
Henrik Brix Andersen
c9263db28f drivers: can: bosch: mcan: use int0 and int1 as interrupt names
Consistently use "int0" and "int1" as interrupt names for CAN controllers
based on the Bosch M_CAN IP core. This aligns with the upstream Linux
bindings.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 18:28:30 +01:00
Manuel Aebischer
25753fef13 drivers: usb_dc_rpi_pico: starting read on transfer EPs
This commit partially reverts a change which was introduced in the
previous commit 5b9a0e5456.
usb_dc_ep_start_read() should also be called on transfer endpoints
like it has been before, otherwise the endpoint will not be armed
after it has been reconfigured.

Signed-off-by: Manuel Aebischer <manuel.aebischer@netmodule.com>
2024-01-09 18:27:44 +01:00
Paszkiet Kamil
a9ea0fe420 scripts: tests: twister_blackbox: Add more tests test_printouts.py
add tests to test_printouts.py:
  -timestamps
  -broken_parameter
  -help (dummy check)
  -force_color (dummy check)

Signed-off-by: Paszkiet Kamil <kamilx.paszkiet@intel.com>
2024-01-09 18:26:41 +01:00
Anas Nashif
37560fefea ci: use kitaware ninja with job server support
Needed for full functionality of the job server in twister
which only works with kitware supplied ninja version.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 11:52:15 -05:00
Jamie McCrae
7ff715b848 doc: release: 3.6: Add note on sysbuild shield fix
Adds a note that the sysbuild shield fix has been applied

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-09 10:37:38 -06:00
Michael Arnold
240bd8e16a runners: jlink: Add support for J-Link over IP
Add support for J-Link over IP and J-Link remote server.
If the "--dev-id" is a valid ip, the transport over ip is selected.
Otherwise usb is selected.

Signed-off-by: Michael Arnold <marnold@baumer.com>
2024-01-09 14:49:03 +01:00
Sateesh Kotapati
d9c0d6981a gecko: sl_assert, sl_common files updated | Update to GSDK 4.4.0
Added the sl_assert, sl_common, em_core_generic, em_system_generic files
and updated related files in gecko/common and gecko/emlib to include
the mentioned files.

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2024-01-09 14:43:31 +01:00
Anas Nashif
91841587d6 ztest: fix ztest_run_test_suite usage and macros
Fix usage of ztest_run_test_suite that was missed when introducing shell
support.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 08:15:22 -05:00
Fabio Baltieri
8ca40e5ebf drivers: input: depend on multithreading on drivers using a thread
These all require threads support to function, add a "depends on
MULTITHREADING" accordingly.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-09 11:27:44 +00:00
Andrzej Głąbek
6d67b95a18 samples: boards: nrfx: Remove redundant inclusions
This is a follow-up to commit c7e4d23c5d.

After all calls to `nrfx_dppi_*` and `nrfx_ppi_*` functions were
replaced with corresponding `nrfx_gppi_*` calls, it is no longer
needed to include the `nrfx_dppi.h` and `nrfx_ppi.h` headers.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-01-09 12:06:51 +01:00
Andrzej Głąbek
e8d3bf5ff6 samples: boards: nrfx: Do not require (d)ppi node to be enabled
The sample needs to check in Kconfig whether PPI or DPPI is present
on the target platform in order to enable the proper allocator in nrfx.
It should not use the `HAS_HW_NRF_*` symbols for this as those take
into account also the status of the corresponding DT node, not only
its presence.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-01-09 12:06:51 +01:00
Andrzej Głąbek
56b6e6eb58 samples: boards: nrfx: Use absolute pin numbers
This sample makes calls to the nrfx_gpiote driver functions that
require absolute pin numbers, not relative to a given GPIO port,
so instead of getting the numbers with the `DT_GPIO_PIN` macro,
it should use `NRF_DT_GPIOS_TO_PSEL`.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-01-09 12:06:51 +01:00
Andrzej Głąbek
db4344b659 drivers: spi: nrfx: Deactivate CS from thread context
... so that it is possible to use a GPIO expander pin as the CS line.
Communication with the expander may involve an operation that cannot
be done from the interrupt context (e.g. an I2C transaction).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-01-09 12:06:35 +01:00
Andrzej Głąbek
3f6373eb36 drivers: nrf_qspi_nor: Deactivate QSPI peripheral after initialization
This is a follow-up to commit ea1be7f242.

After the driver performs its initialization, it needs to deactivate
the QSPI peripheral. Otherwise, the peripheral would unnecessarily
consume power until some QSPI operation is performed (and only then
it will get deactivated), what depending on the application may take
a significant amount of time.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-01-09 12:06:19 +01:00
Anas Nashif
72c6ffb2d0 doc: ztest: remove reference to non-existing test
custom_output test does not exist anymore.

Fixes #67168

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 10:27:15 +01:00
Tristan Honscheid
0198b7d5f7 emul: Add stub release impl. for emulated SPI driver
`release` is a mandatory method in the `struct spi_driver_api` API but
is not implemented in the SPI emulator. This can cause a test calling
`spi_release()` to segfault. Add a stub implementation that just returns
zero.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2024-01-09 10:27:06 +01:00
Daniel DeGrasse
7ef2744e2f drivers: i2c: i2c_mcux_lpi2c: fix base address declarations
With commit 734adf52c6, the MCUX LPI2C config structure no longer
contains a direct base address pointer. The base address must be
accessed via DEVICE_MMIO_NAMED_GET. Some declarations in the LPCI2C
target mode handler still used the old method of accessing the base
address, causing a build failure. Fix these accesses to use the local
declaration of the "base" variable.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-09 10:26:59 +01:00
Pieter De Gendt
b4a059df75 drivers: mdio: nxp_enet: Fix "expected statement" clangsa error
clangsa reports the error

mdio_nxp_enet.c:245:10: error: label at end of compound statement:
expected statement

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-09 10:26:50 +01:00
Aaron Ye
754f7ac1fb MAINTAINERS.yml: Update the Ambiq platform covered files
Current setting missed some necessary files which should be
covered by Ambiq platforms. Add them in this commit.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2024-01-09 10:04:24 +01:00
Henrik Brix Andersen
d856ed73f4 samples: shields: lmp90100_evb: rtd: convert to devicetree configuration
Convert the sample for the lmp90100_evb shield to use devicetree for
configuring the ADC channel.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 10:04:18 +01:00
Henrik Brix Andersen
df83fffc7c boards: shields: lmp90100_evb: include relevant dt-bindings headers
Include zephyr/dt-bindings/adc/adc.h and zephyr/dt-bindings/gpio/gpio.h in
the shield DTS overlays to simplify using this shield in application
overlays.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 10:04:18 +01:00
Henrik Brix Andersen
527383f9b1 doc: release: migration-guide: 3.6: mention change in lmp90xxx bindings
Mention the change in the ti,lmp90xxx bindings to use the common
io-channel-cells name "input" instead of "positive" and "negative".

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 10:04:18 +01:00
Henrik Brix Andersen
1ebaa293a1 dts: bindings: adc: ti: lmp90xxx: use common io-channel-cells naming
Use the common io-channel-cells name "input" instead of "positive" and
"negative" to make this binding work with the various ADC DT macros.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-09 10:04:18 +01:00
Philip Molloy
b007bbb54f boards: arm: doc: fix small typo
Replace the accidently typed letter "d" with "r"

Signed-off-by: Philip Molloy <philip@philipmolloy.com>
2024-01-09 10:04:11 +01:00
Alberto Escolar Piedras
1be87446b1 docs boards native_sim: Mention the SocketCAN driver
Add a small paragraph about the native SocketCAN Linux driver.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-09 10:04:03 +01:00
Alberto Escolar Piedras
893b59b4aa docs boards native_sim: Mention the input SDL touch driver
Add a small paragraph about the input SDL touch driver,
clarifying the evdev driver is not the only input one.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-09 10:04:03 +01:00
Alberto Escolar Piedras
b89399ff40 docs boards native_sim: Add mention about the EEPROM simu
Add a small paragraph about the EEPROM simulator,
and improve slightly the flash simulator section

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-09 10:04:03 +01:00
Alberto Escolar Piedras
a2ad1b64a7 docs boards native_sim: Capitalize consistently peripherals table
Capitalize all acronyms and the begining of each entry consistently

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-09 10:04:03 +01:00
Jamie McCrae
bde23945fe doc: release: 3.6: Add note on shield processing change
Adds a note that shields are now processed in order

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-09 10:03:15 +01:00
Jamie McCrae
1e72643b61 cmake: modules: shields: Process shields in order
Changes shield processing order from being on a root-by-root
basis to being order they were supplied to cmake

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-09 10:03:15 +01:00
Jukka Rissanen
b18442bc0d samples: net: dumb_http_server: Sleep after accept error
If accept() returns an error, it typically means that the
system is running out of resources. In this case sleep
some time in order the system to cool down a bit.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Jukka Rissanen
cef8da0ecf samples: net: dumb_http_server_mt: Sleep after accept error
If accept() returns an error, it typically means that the
system is running out of resources. In this case sleep
some time in order the system to cool down a bit.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Jukka Rissanen
59a7915d11 tests: net: tcp: Add tests for last FIN handling
Make sure the connection is closed by the timer if the final
fin is lost.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Jukka Rissanen
d94914d315 tests: net: tcp: Shorten the test execution
Make the retransmission timer much shorter so that the test
is run faster (about 50% faster test run in qemu_x86).

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Jukka Rissanen
35e1df6bb4 tests: net: tcp: Add support for close callback
Add a function callback that is called when the TCP connection
is closed. This is only available if doing network tests.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Jukka Rissanen
9b11fbd54c tests: net: tcp: Verify termination at closing state
Make sure the connection is closed by the timer if the final
ack is lost in closing state.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Jukka Rissanen
b214207d91 net: tcp: Reschedule FIN timer when entering FIN state
The FIN timer was not set when we entered the FIN_WAIT_1 state.
This could cause issues if we did not receive proper packets
from peer. With this fix, the connection is always terminated
even if peer does not respond.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Jukka Rissanen
40215e07a3 net: tcp: Install a last ack timer in passive close
If we are in a passive close state, then it is possible that
the ack we are waiting is lost or we do not accept the one peer
sent to us because of some earlier out of memory issue.
So install a timer (using by default the FIN timer value) to
close the connection if the last ack is not received on time.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-09 10:03:08 +01:00
Kelly Helmut Lord
abafe9bbe2 drivers: qspi: added operation timeout
Added Kconfig assignment of qspi timeout.
Per nrfx v3.2 addition of qspi timeout in config
struct.

Signed-off-by: Kelly Helmut Lord <kellyhlord@gmail.com>
2024-01-09 10:00:57 +01:00
Andriy Gelman
4c080d4de5 boards: xmc47_relax_kit: Add ethernet/mdio to the devicetree
Add ethernet/mdio to the devicetree.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-09 10:00:47 +01:00
Andriy Gelman
2391ff7767 boards: xmc45_relax_kit: Add ethernet/mdio to the devicetree
Adds ethernet/mdio into to the devicetree.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-09 10:00:47 +01:00
Andriy Gelman
2837f4f182 drivers: ethernet: Add xmc4xxx ethernet/PTP drivers
Adds ethernet/PTP drivers for xmc4xxx SoCs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-09 10:00:47 +01:00
Andriy Gelman
d540407fc8 drivers: mdio: Add xmc4xxx mdio drivers
Add mdio drivers for xmc4xxx SoCs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-09 10:00:47 +01:00
Andriy Gelman
201167bdb1 dts: xmc4700_F144x2048: Merge dsram regions and use it as RAM
This is in preparation for xmc4xxx mdio/ethernet patch set. In the
ethernet drivers, the DMA memory (including descriptor and buffers)
must live in dsram1 or dsram2.

Currently, in xmc47_relax_kit the RAM is the psram1 region meaning
that DMA transfers will not work. Switch to using dsram regions instead.
Also, merge dsram1 and dsram2 into a single region since they are
contiguous.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-09 10:00:47 +01:00
Anas Nashif
dac942a245 arch: x86_64: split irq.c into multiple files
We had too much going in irq.c, split code into multiple files similar
to how we do everywher else.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 10:00:17 +01:00
Anas Nashif
7d3b6c6a40 arch: smp: make flush_fpu_ipi a common, optional interfaces
The interface to flush fpu is not unique to one architecture, make it a
generic, optional interface that can be implemented (and overriden) by a
platform.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 10:00:17 +01:00
Anas Nashif
3f75373584 arch: introduce arch_secondary_cpu_init
Different architecture are doing this in custom ways and using different
naming conventions, unify this interface and make it part of the arch
implementation for SMP.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 10:00:17 +01:00
Anas Nashif
2f3b7fa9bf arch: arc rename arc_smp.c -> smp.c
We know this is SMP for arc, no need for the arc_ prefix.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 10:00:17 +01:00
Anas Nashif
17080d0215 arch: ipi_handler -> sched_ipi_handler
unifiy naming for ipi handler call and use the same signature
everywhere.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 10:00:17 +01:00
Anas Nashif
37f427a5c7 arch: introduce arch_smp_init
Introduce a new arch interface for intializing smp.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 10:00:17 +01:00
Thomas Gagneret
7bde51bccf scripts: zspdx: Include modules as packages in zephyr.spdx
The current zephyr.spdx does not contain the modules included in the build.
This commit split the zephyr-sources package into multiple packages, one
for each modules found by zephyr_module.py.

Signed-off-by: Thomas Gagneret <tgagneret@witekio.com>
2024-01-09 09:59:57 +01:00
Emil Gydesen
3099520921 tests: bsim: Bluetooth: BAP Broadcast update to 2 bis
Update the bsim test for the BAP broadcast to use 2 bis.
This tests a larger part of the code, and also verifies
that we can send and receive on 2 BIS without any ISO errors.

This requires the ADV interval to be a multiple of ISO interval
- 10ms, so the advertising interval has been set to 80ms.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-09 09:59:42 +01:00
Daniela Andreea Dumitrache
3bfb2e3ab2 Bluetooth: Audio: Add implementation for PBP and dedicated sample apps.
PBP API allows sources to create a Public Broadcast Announcement.
PBP API to parse a Public Broadcast Announcement.

public_broadcast_source application starts extended advertising and
includes a Public Broadcast Announcement. The advertised broadcast
audio stream quality will cycle between high and standard quality.

public_broadcast_sink application scans for broadcast sources and
synchronizes to the first found source which defines a Public Broadcast
Announcement including a High Quality Public Broadcast Audio Stream
configuration.

Add bsim tests for Public Broadcast Profile APIs.

Add shell implementation for Public Broadcast Profile APIs.

Signed-off-by: Daniela Andreea Dumitrache <danielaandreea.dumitrache@nxp.com>
2024-01-09 09:59:23 +01:00
Anas Nashif
afc319e3fa ztest: shell: add shell support
- Support for listing both testcases and testsuites
- Support for running single suites or single test cases
- Support shuffling tests and repeating execution based on command line
  arguments.

For example, build with

west build -p  -b qemu_cortex_m3  tests/kernel/sleep   -t run -- \
-DCONFIG_ZTEST_SHUFFLE=y -DCONFIG_ZTEST_SHELL=y

Following commands are available:

uart:~$ ztest
ztest - Ztest commands
Subcommands:
  run-all          :Run all tests
  shuffle          :Shuffle tests
  list-testsuites  :List all test suites
  list-testcases   :List all test cases
  run-testsuite    :Run test suite
  run-testcase     :Run testcase

shuffle accepts two arguments --suite_iter and --case_iter which allows
repeated exercution of testcases or suites.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 09:58:57 +01:00
Anas Nashif
6ba0e9c797 tests: sleep: reduce verbosity
Reduce verbosity and debug messages on the screen.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 09:58:57 +01:00
Anas Nashif
37529505ad ztest: remove old file
This c file is not being used anymore, so remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 09:58:57 +01:00
Gerard Marull-Paretas
14ff171411 soc: riscv: drop RISCV_PRIVILEGED_STANDALONE
This option is no longer needed, all SoCs have been moved out from
soc/riscv/riscv-privileged folder.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
724a967c1a soc: riscv: renove_virt: reorganize SoC folder
Move out from riscv-privileged, and convert to a standalone SoC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
8729a782f9 soc: riscv: niosv: reorganize SoC folder
Move out of riscv-privileged, create new family for it.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
b5fb00bdc8 soc: riscv: opentitan: reorganize SoC folder
Remove from riscv-privileged, and create a standalone SoC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
38a44e683e soc: riscv: sifive-freedom: reorganize SoC folder
Reorganized as follows:

- Created a new SiFive Freedom family
- Created 3 new series: E300/E500/E700
- Created Socs within each series (e.g. E340)

Also moved out of riscv-privileged folder.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
b2b86556a7 soc: riscv: miv/mpfs: reorganize SoC folder
Merge both series into a new family: microchip_miv [1], moving them out
of riscv-privileged. Updated naming to stay closer to what vendor
announces on their website.

[1]: https://www.microchip.com/en-us/products/fpgas-and-plds/
     fpga-and-soc-design-tools/mi-v

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
4c4beabecc soc: riscv: efinix-sapphire: reorganize SoC folder
Move things out from riscv-privileged, and convert to single SoC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
7da6342dff soc: riscv: virt: reorganize SoC folder
Move out of riscv-privileged, and convert to single SoC (no
family/series).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
b7b19b8b05 soc: riscv: neorv32: reorganize SoC folder
Move out of riscv-privileged and convert to a standalone SoC. Note
that the family/series structure has been dropped in favor of a single
SoC (what NEORV32 seems to be).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
7a44806a53 soc: riscv: s/litex-vexriscv/litex_vexriscv
To be consistent with other SoCs in the same folder.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
4a0d880350 soc: riscv: ite: reorganize SoC folder
Follow the vendor structure [1]:

- Family: ITE Embedded Controller SoCs
- Series: IT8XXX2
- SoCs: IT81202BX, IT81202CX, etc.

[1]: https://www.ite.com.tw/en/product/category?cid=1

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
8027689392 soc: riscv: andes_v5: reorganize SoC folder
Split out from riscv-privileged folder, and create a new family.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
87f3b07292 soc: riscv: starfive_jh71xx: reorganize SoC folder
Move it out from RISC-V privileged folder, and create a standalone
family.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
5a98d87335 soc: riscv: gd32vf103: reorganize SoC folder
Move things out from riscv-privileged, and create the new RISC-V GD32
family. New family folder follows the <vnd>_<family> naming convention.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
72e52a06aa soc: riscv: telink_b91: reorganize SoC folder
Reorganize following the hierarchy found in the vendor website [1]:

- SoC Family: Telink TLSR
- SoC series: TLSR951X
- SoC: TLSR9518

Also split out from riscv-privileged folder. Note that B91 was the name
of a starter kit [2].

[1]: http://wiki.telink-semi.cn/wiki/chip-series/TLSR951x-Series/
[2]: https://wiki.telink-semi.cn/wiki/Hardware/
     B91_Generic_Starter_Kit_Hardware_Guide/

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
d8c0cc2e35 soc: riscv: introduce temporary RISCV_PRIVILEGED_STANDALONE
So that SoCs can be ported outside of riscv-privileged folder, setting
their own family name. This will be removed once all SoCs are ported.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
0106e8d14c arch: riscv: introduce RISCV_PRIVILEGED
Introduce a new arch level Kconfig option to signal the implementation
of the RISCV Privileged ISA spec. This replaces
SOC_FAMILY_RISCV_PRIVILEGED, because this is not a SoC specific
property, nor a SoC family.

Note that the SoC family naming scheme will be fixed in upcoming
commits.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
9a35ad858c soc: riscv: gd32vf103: move nuclei CSR header
The header is common to all Nuclei based cores (not strictly related to
RISCV privileged spec). Since only GD32VF103 uses a Nuclei core, move
the file to its SoC folder.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Gerard Marull-Paretas
6443c50bd0 soc: riscv: move privileged code to common folder
Add a new riscv/common directory where to store common code between
SoCs, e.g. those implementing the privileged spec.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-09 09:40:07 +01:00
Adrien Ricciardi
4824e405cf drivers: i2c: i2c_dw: Fixed integer overflow in i2c_dw_data_ask().
The controller can implement a reception FIFO as deep as 256 bytes.
However, the computation made by the driver code to determine how many
bytes can be asked is stored in a signed 8-bit variable called rx_empty.

If the reception FIFO depth is greater or equal to 128 bytes and the FIFO
is currently empty, the rx_empty value will be 128 (or more), which
stands for a negative value as the variable is signed.

Thus, the later code checking if the FIFO is full will run while it should
not and exit from the i2c_dw_data_ask() function too early.

This hangs the controller in an infinite loop of interrupt storm because
the interrupt flags are never cleared.

Storing the rx_empty empty on a signed 32-bit variable instead of a 8-bit
one solves the issue and is compliant with the controller hardware
specifications of a maximum FIFO depth of 256 bytes.

It has been agreed with upstream maintainers to change the type of the
variables tx_empty, rx_empty, cnt, rx_buffer_depth and tx_buffer_depth to
plain int because it is most effectively handled by the CPUs. Using 8-bit
or 16-bit variables had no meaning here.

Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
2024-01-08 20:57:05 -06:00
Daniel Leung
2ab367d149 x86: ia32/gdbstub: remove dead code
There is logically dead code which will never run. So remove.

Fixes #66848

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-08 20:54:16 -06:00
Fabio Baltieri
a006ad5399 ci: do_not_merge: check for dev and arch review labels as well
Add "Architecture Review" and "dev-review" to the list of labels that
block a PR from merging, less chances to merge these before discussion
unintentionally.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-08 15:03:04 -05:00
Reto Schneider
698f3b1a58 doc: Fix sentence
Before this commit, the sentence did not make sense.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-01-08 14:06:40 -05:00
Flavio Ceolin
3267bdc4b7 fs: fuse: Avoid possible buffer overflow
Checks path's size before copying it to local variable.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-08 13:29:19 -05:00
Håvard Reierstad
9c3ca4573a bsim: Bluetooth: Mesh: Add gatt suspension test
Adds two test-cases to `test_suspend.c`, both checking that gatt
advertisement is stopped when suspending Mesh, and that is started again
when Mesh is resumed.

The first test-case involves suspending and resuming Mesh, and
the second test-case involves suspending Mesh and disabling Bluetooth,
then re-enabling Bluetooth and resuming Mesh.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-01-08 13:21:58 -05:00
Håvard Reierstad
6c5fc658ef Bluetooth: Mesh: suspend/resume gatt advs
Disables pb gatt- and gatt proxy advs when suspending Mesh, and
enables them again when resuming Mesh.

Adds `bt_mesh_adv_gatt_send` to `bt_mesh_resume` to make sure that
GATT advs start after resumption.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-01-08 13:21:58 -05:00
Håvard Reierstad
9285ea3238 Bluetooth: Mesh: fix proxy srv return value
Previously, `bt_mesh_proxy_gatt_enable` returned the return value from
`k_work_schedule`, which could be a positive (non-error) message.
Now, it only returns negative error codes (else 0).

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-01-08 13:21:58 -05:00
Håvard Reierstad
0480367d77 bsim: Bluetooth: Mesh: refactor suspend test
Renames tx to DUT and rx to Tester to clarify roles in test.

Re-uses the same body for suspend/resume and suspend/disable/resume
for DUT with a parameter to toggle disabling BT.

Re-uses the same Tester config in both existing test-cases as the
previous configs were duplicates.

Updates the dut suspension status in the message handler.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-01-08 13:21:58 -05:00
Håvard Reierstad
ee337087fa bsim: Bluetooth: Mesh: extract common adv logic
Extracts logic related to waiting for packets from
`test_advertiser.c` and `test_beacon.c` to use in a sync mechanism.
Introduces a sync mechanism in bsim with the functions
`bt_mesh_test_send_over_adv` and `bt_mesh_test_wait_for_packet`

Extracts gatt-related logic from `test_advertiser.c` into a separate
file so it can be re-used.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-01-08 13:21:58 -05:00
Marc Herbert
4aa0e7af68 west: sign.py: add "REM" support to pass comments through cpp
Generated outputs can be difficult to read, preserving comments helps a
lot and they often provide good `git grep` search keywords.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-01-08 13:20:41 -05:00
Marc Herbert
a27e8f9a19 west: sign.py: explain why -P is passed to cpp
Zero-functional change.

Also move it to a separate line so it's more convenient to temporarily
comment it out.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-01-08 13:20:41 -05:00
Marc Herbert
2ee6c26d15 west: sign.py: rename new generated/platf.toml to rimage_config.toml
CMake-based build systems like Zephyr's use separate build directories;
one for each build configuration. Even Zephyr's multi-build system
"sysbuild" (which is not relevant here) uses separate subdirectories.

So there is only one pre-processed, .toml file generated by build
directory and no need to vary its filename based on the platform name or
any other configuration parameter. It can and should keep the same
filename across build directories as zephyr.elf and all other build
artefacts do.

Moreover, when building a collection of configurations (as for instance
`sof/scripts/xtensa-build-zephyr.py` does), keeping all build
directories consistent with each other simplifies installation,
checksumming and any other post-processing.

"Fixes" recent commit 15336045af ("west: sign.py: generate platf.toml
from platf.toml.h with cc -E")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-01-08 13:20:41 -05:00
Chun-Chieh Li
fe75bb950f shields: esp_8266: support Nuvoton numaker_pfm_m467 board
1. Support H/W reset pin
2. Support UART flow control (CTS/RTS)

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2024-01-08 16:18:38 +00:00
Yong Cong Sin
c7ce871a04 tests: exclude renode from tests requiring unsimulated peripherals
Physical boards work on these tests but some of the required
peripherals are not simulated by `renode`, executing the tests
with renode-simulated board in CI will fail.

Exclude `renode` simulation from these tests.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 16:17:43 +00:00
Yong Cong Sin
fa5cb1afa8 boards: hifive_unmatched: add renode simulation
Changes to this file were missed out from the original
PR #65564 that added Renode support for this board, add them
here so that it gets ran in CI.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 16:17:43 +00:00
Jun Lin
34b9b3aaca dts: npcx: sha: fix the incorrect unit address
Fix the incorrect unit address of sha node from 13C to 148 to avoid
the build warning.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-01-08 16:17:17 +00:00
Fabio Baltieri
e0c24c8842 doc: input: few minor fixes
Few documentation fixes that got caught post merge.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-08 16:16:26 +00:00
Manuel Argüelles
c68564bc93 boards: arm: ucans32k1sic: enable FlexCAN
Enable FlexCAN peripheral driver for ucans32k1sic board. The GPIO-based
CAN transceiver driver is used to control the on-board CAN transceivers.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-08 08:30:49 -06:00
Manuel Argüelles
fa0b1b5fe8 drivers: can: flexcan: add support for S32K1xx
Add message buffer allowed values for S32K1xx devices. Except S32K14xW
parts which supports 64 MBs, the rest of the parts support a maximum of
32 MBs.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-08 08:30:49 -06:00
Manuel Argüelles
58f5720eb4 dts: arm: nxp: add FlexCAN support for S32K1xx
S32K1xx devices have a maximum of 3 FlexCAN peripherals. Each part may
define a different maximum number of instances and message buffers,
hence the interrupt lines are defined in the part specific dts.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-08 08:30:49 -06:00
Karol Gugala
133d8c7817 boards: efm32pg_stk3401a: uart: switch to new pinctrl API
The board uses pinctrl API. This commit updates pin USART pin definition
to be compliant with new API.

Signed-off-by: Karol Gugala <kgugala@antmicro.com>
2024-01-08 15:10:03 +01:00
Karol Gugala
57238057f0 boards: efm32gg_sltb009a: uart: switch to new pinctrl API
The board uses pinctrl API. This commit updates pin USART pin definition
to be compliant with new API.

Signed-off-by: Karol Gugala <kgugala@antmicro.com>
2024-01-08 15:10:03 +01:00
Sylvio Alves
617b45ab59 west.yml: update hal_espressif to fix libc calls
Make sure some ROM libc calls are weak to allow
Zephyr's libc implementation instead.

Fixes #66351

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-01-08 15:09:48 +01:00
Sylvio Alves
b19c164e7b soc: espressif: add common linker tls entry
Adds common thread-local-storage.ld provided
by Zephyr. This also fixes a wrong xtensa_core entry
that should be riscv_core.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-01-08 15:09:48 +01:00
Yuval Peress
5edc45421a icm42688: Capture the spi return value
Handle the return value of the spi transaction.

Fixes #58582

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-08 15:09:42 +01:00
Yuval Peress
3f2d6efc9c icm42688: Remove unnecessary locks
The entire switch statement is already wrapped in a lock which is
acquired just before configuring the gpio pin.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-08 15:09:42 +01:00
Bartosz Bilas
9618b761ec dts: bindings: max20335: add regulator-init-microvolt/microamp to allowlist
This PMIC can handle those features, so let's add them.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-08 15:09:35 +01:00
Bartosz Bilas
0b5ffac8af dts: bindings: max20335: adjust properties order
Match it to the order of the regulator.yaml.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-08 15:09:35 +01:00
Marcin Niestroj
8caaea2f00 boards: arm: lora_e5_mini: new board support
This board is similar to 'lora_e5_dev_board', but with smaller form-factor,
which makes it better suited as low volume prototype device.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-01-08 15:09:10 +01:00
Dmitrii Golovanov
3bbd34d1b6 twister: coverage: Fix device handler coverage collection mode
Twister DeviceHandler now checks `--enable-coverage` command line argument
instead of `--coverage` when it deals with device output.
This resolves potential problem when only `--enable-coverage` argument
is given and the coverage report is not needed. In this case the test image
which is built for code coverage works slower also producing additional
console output, so the additional DeviceHandler timeout still have to be
applied and the output with coverage data correctly processed by Harness.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-01-08 09:02:47 -05:00
Piotr Pryga
cb8d623506 samples: Bluetooth: periph_hr: add use of HRS nofitication changed cb
Add example usage of the HRS notification callback to peripheral_hr.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2024-01-08 15:34:20 +02:00
Piotr Pryga
4d0ef142f3 Bluetooth: services: Add HRS notification changed app callback
It is useful for an application to be informed when there is
a subscriber waiting for HRS service notification.
Extend HRS service API and add required code to service implementation.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2024-01-08 15:34:20 +02:00
Bartosz Bilas
fcb9f41259 boards: xtensa: add Kincony KC868-A32 module suppport
Add support for the KC868-A32 ESP32 home automation relay module.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2024-01-08 14:21:30 +01:00
Tomasz Gorochowik
b64915e616 docs: Fix rzt2m starterkit docs formatting
Add additional new lines before bullet points. Otherwise they are not
rendered as bullets.

Signed-off-by: Tomasz Gorochowik <tgorochowik@antmicro.com>
2024-01-08 14:18:58 +01:00
Aleksandr Khromykh
b4dc12b42b tests: Bluetooth: Mesh: optimize proxy beacon test
Emitting network beacons in parallel to proxy functionality
causes collisions. The commit disables network beacons and
allows the test scenario to be more precise.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2024-01-08 14:17:04 +01:00
Bartosz Bilas
7213e8e1f5 drivers: regulator: max20335: allow current limit operations only for BUCKs
LDOs don't have such possibility so add the extra checks.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-08 14:16:55 +01:00
Bryan Zhu
6f84f34647 tests: counter: counter_basic_api: Add support for ambiq_counter device
Update counter test to test ambiq_counter devices

Signed-off-by: Bryan Zhu <bzhu@ambiq.com>
2024-01-08 14:16:13 +01:00
Bryan Zhu
6a64bf6b4f drivers: counter: counter_ambiq_timer: Enable interrupt in set_alarm
Alarm interrupt is disabled in cancel_alarm, we should re-enable it
in set_alarm, at meanwhile, should reset the compare register in
cancel_alarm to avoid the contention condition in
cancel_alarm & set_alarm in short time.
This change fixes the test case failure at
zephyr\tests\drivers\counter\counter_basic_api.

Signed-off-by: Bryan Zhu <bzhu@ambiq.com>
2024-01-08 14:16:13 +01:00
Nikodem Kastelik
c8d22cf13a manifest: hal_nordic: update revision to have nrfx 3.3.0 release
New hal_nordic revision contains nrfx 3.3.0 which adds support
for nRF54H20 EngA and nRF54L15 EngA devices.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-01-08 13:10:26 +01:00
Jai Arora
5c34726ab1 posix: patch to implement get_pid function
patch to implement get_pid function

Signed-off-by: Jai Arora <infolinesoni@gmail.com>
2024-01-08 12:44:45 +01:00
Jai Arora
a7c1a5f9d6 posix: Adds test case for clock_getcpuclockid function
Adds ZTEST for clock_getcpuclockid function

Signed-off-by: Jai Arora <infolinesoni@gmail.com>
2024-01-08 12:44:45 +01:00
Jai Arora
a3573a9e30 posix: implement clock_getcpuclockid function
Implements clock_getcpuclockid function

Fixes #59954

Signed-off-by: Jai Arora <infolinesoni@gmail.com>
2024-01-08 12:44:45 +01:00
Hudson C. Dalpra
410684c7b0 drivers: w1: add zephyr-gpio driver
The zephyr-gpio w1 driver introduced in this commit implements
all routines for the w1 api on top of the zephyr gpio driver.
W1 bit read, write, and reset operations are executed by
bit-banging the selected gpio.

Signed-off-by: Hudson C. Dalpra <hudson@bduncanltd.com>
2024-01-08 12:43:52 +01:00
Yong Cong Sin
8f6be9661e tests: build_all: plic: add test for PLIC_SHELL build
Add a build-only test for the `PLIC_SHELL` configuration.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 12:35:52 +01:00
Yong Cong Sin
dd7193e491 drivers: intc: plic: simplify the handling of the irq_count array
Store the compile-time computed length of the `irq_count` into
a variable so that we have less to do in runtime.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 12:35:52 +01:00
Yong Cong Sin
310c4539e9 drivers: intc: plic: fix compilation warning
Change the index variable type to `int` from `size_t` to compile
across 32bit and 64bit platforms without generating warnings.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 12:35:52 +01:00
Yong Cong Sin
7fac758bdb boards: riscv: add RISCV32 Virtual board made with Renode
The RISCV32 Virtual board is a virtual platform made with
Renode as an alternative to QEMU. Contrary to QEMU, the
peripherals of this platform can be easily configured by
editing the `riscv32_virtual.repl` script and the devicetree
files accordingly, this allows certain hardware configurations
that only exist in proprietary boards/SoCs to be tested in
upstream CI.

Added another entry for this board to the excluded platform in
`kernel.timer.timer` test.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 12:35:10 +01:00
Yong Cong Sin
c328a38a94 soc: riscv: add support for Renode Virt RISCV32 SoC
Add a beef-ed up version of Renode's `riscv_virt` SoC

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 12:35:10 +01:00
Yong Cong Sin
d0a3a50fbe dts: riscv: add a SoC dtsi for Renode RISC-V Virt SoC
RISCV32 simulation dtsi for Renode.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 12:35:10 +01:00
Yong Cong Sin
2f515d26f2 dts: bindings: vendor-prefixes: add renode prefix
Add renode binding prefix.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-08 12:35:10 +01:00
Steffen Jahnke
a5c8fbf0d9 maintainers: Added Panasonic boards to the MAINTAINERS.yml file
Added maintainer for the pan17*_evb evaluation boards.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2024-01-08 12:35:03 +01:00
Steffen Jahnke
37520006f3 boards: arm: add PAN1783A-PA evaluation board
The PAN1783A-PA evaluation board is a development tool for the
nRF5340 from Nordic Semiconductor and the third evaluation
board variant for the PAN1783 Module. The power amplifier (PA)
version includes FEM support.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2024-01-08 12:35:03 +01:00
Bjarki Arge Andreasen
95c5f9b6f3 soc: arm: stm32f4 increase IDLE stack in case of PM
When Power Management is enabled (CONFIG_PM=y),
the CONFIG_IDLE_STACK_SIZE of 320 is not enough :
Increase its size to 512.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-08 12:34:30 +01:00
Bjarki Arge Andreasen
01e94e0766 soc: arm: stm32: Fix invalid Kconfig PM entry in defconfig file
The defconfig.series file for the stm32f4 incorrectly redefines
the PM Kconfig in order to select two dependencies, COUNTER and
COUNTER_RTC_STM32_SUBSECONDS, instead of setting a default for
them if PM is included.

This commit fixes the error described above.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-08 12:34:30 +01:00
TOKITA Hiroshi
4b889e9e01 boards: riscv: stamp_c3: Update sys_timer configuration
The esp32c3 systimer has been fixed in PR #53453, but stamp_c3 was
not included, so we will update it to catch up with this fix

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-01-08 12:34:23 +01:00
Dawid Niedzwiecki
164e4b6fa3 clock_control: stm32f4: add PLLR division factor
Some STM32F4xx chips have an R division factor in PLL. Add possibility
to configure that.

Even though the output from the R division is not used, it can be
increased to reduce power consumption.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-01-08 12:33:36 +01:00
Alexander Kozhinov
2307228442 boards: arm: nucleo_h745zi_q: nucleo_h745zi_q_m7.dts
Change div-q to fulfill FDCAN clock requirements

Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2024-01-08 12:33:24 +01:00
Chamira Perera
0d4b46f51c drivers: ethernet: stm32: Enabling HW checksum offloading for STM32H7.
This change adds support for enabling ethernet MAC hardware checksum
offloading for STM32H7 based devices.

In Section 58.5.9 of the STM32H7 reference manual it mentions that
the STM32H7 ethernet MAC supports a Checksum Offload Module (COE).

I have tested the changes on my end where I enabled
CONFIG_ETH_STM32_HW_CHECKSUM and ensured that an application that
runs Zephyr on the STM32H7 can interoperate with a device with a
completely different implementation. Also, I deliberately made
the software not populate the IPv4 and UDP header checksum fields
in their respective headers and the COE was able to populate the
IPv4 and UDP header checksums.

Given that CONFIG_ETH_STM32_HW_CHECKSUM is not enabled by default
application developers have the option to either enable it or
disable it.

Signed-off-by: Chamira Perera <chamira.perera@audinate.com>
2024-01-08 12:33:17 +01:00
Abderrahmane Jarmouni
54539b2590 board: arm: nucleo-l4r5zi: flashing
Add the possibility to flash nucleo-l4r5zi board using west
STM32CubeProgrammer runner.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-01-08 12:33:09 +01:00
Francois Ramu
974bb50044 boards: arm: stm32h573i_dk is connected to a 512Mbit octoflash
Corrects the size of the external octoFlash connected to the
mcu of the stm32h573i disco kit from STMicroelectonics

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-01-08 11:49:54 +01:00
Alexander Kozhinov
d6ebf1efa8 drivers: clock_control: clock_stm32_ll_h7.c
Reduce code-complexity of stm32_clock_control_init() function, which is
used and exists for both M4/M7 cores.
Replace dublicated code by proper preprocessor guarding.
This change shall reduce code-errors and copy-paste errors since same
functional code is present only once now.
Identify even more common code

Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2024-01-08 11:49:04 +01:00
Dawid Niedzwiecki
1c0302d2fc drivers: gpio: stm32: fix init power state
Set suspended as initial power state, only when the
CONFIG_PM_DEVICE_RUNTIME config is enabled.

The initial state was incorrect, when CONFIG_PM_DEVICE=y and
CONFIG_PM_DEVICE_RUNTIME=n. In that case, the power state was SUSPENDED,
but the device was actually enabled.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-01-08 11:48:58 +01:00
Jakub Zymelka
ade49f081d modules: hal_nordic: nrfx: update API version to 3.2.0
Updated API version enables multi-instance GPIOTE driver.
Additionally obsolete symbol that was used to specify
API version in the past was removed.
Affected drivers have been adjusted and appropriate changes
in affected files have been made.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-01-08 11:19:37 +01:00
Jakub Zymelka
c546c8b96b boards: arm: set gpiote status to okay as default
After adding new GPIOTE instances, there is a need
to enable the instance for individual boards.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-01-08 11:19:37 +01:00
Jakub Zymelka
dfbcc8911a dts: arm: add new gpiote instances definition
Added GPIOTE0, GPIOTE1 instances for legacy devices,
GPIOTE20, GPIOTE30 for Moonlight and GPIOTE130,
GPIOTE131 instances for Haltium.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-01-08 11:19:37 +01:00
Jakub Zymelka
7441ff0e7e boards: arm: nrf5340_audio_dk_cpunet_reset: switch to HAL
Change the GPIOTE driver to HAL to prevent instantiation
issues with a multi-instance GPIOTE driver.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-01-08 11:19:37 +01:00
Francois Ramu
fff24fee14 drivers: usb: stm32U5 usb device controller
Like the stm32H5, stm32u5 usb device has an independent
power supply, but control bit is PWR_SVMCR_USV.
The control bit for the stm32H5 is PWR_USBSCR_USB33SV (no change)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-01-08 10:58:42 +01:00
Fabio Baltieri
79e10f0d0f doc: input: add a dedicated GPIO keyboard documentation
This driver supports few different hardware configurations, add a
document page showing some of them next to some schematics snippets

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-08 10:23:53 +01:00
Fabio Baltieri
bba517fa14 input: tweak actual-key-mask description
Tweak the actual-key-mask description, apply some leftover feedback from
the prevoius PR.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-08 10:23:53 +01:00
Mathieu Choplain
991a85361e llext: use generic attributes instead of GCC's
Replace the GCC-syntax attributes used for LL_EXTENSION_SYMBOL
with the toolchain-independent versions provided in toolchain.h

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-01-08 10:10:28 +01:00
Mathieu Choplain
5993192ec1 llext: fix incorrect elf64_sym structure
The elf64_sym structure was defined as having the members order
as the elf32_sym structure, which is incorrect.

Use the correct layout as defined by the ELF specification
(see https://refspecs.linuxfoundation.org/elf/gabi4+/ch4.symtab.html)

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-01-08 10:10:28 +01:00
Peter Mitsis
8d40d3ba30 tests: latency_measure: Update sample output
Updates the sample output in the latency_measure benchmark's
README file to cover events.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-08 10:10:21 +01:00
Peter Mitsis
a8914c56d2 tests: latency_measure: Add events
Adds events to the latency_measure benchmark.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-08 10:10:21 +01:00
Bjarki Arge Andreasen
de855162a7 doc: emul: Adjust reference to emulated RTC docs
Add reference to section in RTC peripheral documentation which
covers the emulated RTC.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-08 10:10:13 +01:00
Bjarki Arge Andreasen
5f4545d9dd doc: peripherals: Add emulated RTC doc to docs
Adds documentation of emulated RTC behavior.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-08 10:10:13 +01:00
Henrik Brix Andersen
7940c728ab doc: hardware: peripherals: can: add CAN shell documentation
Add documentation for the CAN shell module.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-08 10:09:53 +01:00
Marcin Jelinski
5752a8f3be samples: ipc: multi_endpoint: Fix synchronisation of data receiving
The incorrect semaphore was used for the ipc1 instance to synchronise
the data receiving.
This commit fixes it.

Signed-off-by: Marcin Jelinski <marcin.jelinski@nordicsemi.no>
2024-01-08 10:09:22 +01:00
Maciej Baczmanski
d0283f9b15 net: openthread: add missing cmake option
Added `OT_PLATFORM_POWER_CALIBRATION` and set to always off
as in Zephyr power calibration is handled by Radio Driver.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-08 10:09:13 +01:00
Yves Vandervennet
929d551b02 boards: mimxrt685_evk: enable linkserver support
- board.cmake is augmented for LinkServer (now the default runner
  for this board)
- the board's doc file is updated as well

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-08 10:08:38 +01:00
Yves Vandervennet
71b846fab6 boards: frdm_k64f: enable linkserver support
- board.cmake is augmented for LinkServer (now the default runner
   for this board)
 - the board's doc file is updated as well

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-08 10:08:29 +01:00
Bryan Zhu
a417392f76 timer: ambiq_stimer: Correct set_timeout's delta clock calculation
In sys_clock_set_timeout(), input "ticks" is used to compute next
timeout point, Ambiq's STimer API used to sets next timeout has input
parameter as ui32Delta, which inside the API is using
"this value to add to the STimer counter and load into the comparator
register" according to its spec, thus the this delta clock is
almost equivalent to input "ticks"'s concept, and is not related to
last_count, it should be computed directly from input "ticks".
This correction fixes the test case failure at
zephyr\tests\kernel\tickless\tickless_concept.

Signed-off-by: Bryan Zhu <bzhu@ambiq.com>
2024-01-08 10:07:46 +01:00
Jamie McCrae
46b0d036e2 doc: release: 3.6: Add note on deprecating Kconfig
Adds a note that CONFIG_BOOTLOADER_SRAM_SIZE has been deprecated

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-08 10:06:24 +01:00
Jamie McCrae
d548a7f083 kconfig: Deprecate BOOTLOADER_SRAM_SIZE
This Kconfig is seemingly unused with exception to a single board,
whose maintainers have been unresponsive for a long time. It is
not useful to any other board and can be set in dts, therefore
deprecate it and schedule removal after the Zephyr 3.7 release

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-08 10:06:24 +01:00
Jamie McCrae
6f226eb153 various: Remove BOOTLOADER_SRAM_SIZE overrides
Removes settings this Kconfig to 0, because the default already
is 0

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-08 10:06:24 +01:00
Mike Szczys
7382dbd13a boards: xtensa: m5stack_core2: swap-xy touch input
Swap the lvgl X/Y touch input coordinates to match the orientation of the
screen.

Signed-off-by: Mike Szczys <szczys@hotmail.com>
2024-01-07 20:09:37 -05:00
Jakob Krantz
ccd843ecbd driver: display: sdl: Fix input together with SDL_DISPLAY_ZOOM_PCT
Using SDL_DISPLAY_ZOOM_PCT would cause mouse pointer/touch input
to not click at the correct position.

Signed-off-by: Jakob Krantz <mail@jakobkrantz.se>
2024-01-07 20:08:13 -05:00
Grzegorz Ferenc
ae0ad38e6b doc: contribute: fix heading formatting
Fixed several headings in the contribute section that were not following
the documentation guidelines for headings.

Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
2024-01-07 18:41:16 +01:00
Flavio Ceolin
96c20d831e doc: roles: Remove ambiguity for static analysis
Remove possible ambiguity in the static analysis audit team
rights and responsabilities.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-06 11:57:36 -05:00
Tomasz Leman
d7af6f3710 intel_adsp: ipc: pm action in busy state
Currently SOF has disabled CONFIG_PM_DEVICE_RUNTIME_EXCLUSIVE option and
use pm_suspend_devices() to suspend and resume IPC device during D3
power flow. The pm_suspend_devices() function skips suspending devices
that are busy. In very rare cases, the IPC device is busy during the
power state transition, which results in the device not being restored
during reboot. This happens when FW sends a message to the HOST and
waits for ACK, and the HOST simultaneously sends a SET_DX message to the
DSP. This suspend/resume logic in IPC driver does not work well when the
system enters the D3 state because it is not a suspend state, but rather
a power-off. IPC does not require suspending, only reinitialization when
exiting D3. We cannot avoid this one missing ACK and it cannot block the
DSP from turning off.

When FW receives a SET_DX message it checks whether it can enter the D3
state and then returns an error (via IPC) or calls the pm_state_force
function. Success response is sent directly from power_down assembly and
not via ipc driver. This is because after receiving the response, the
HOST will turn off the DSP.

In order for the transition to D3 to take place, only the primary core
can be active, all pipes must be stopped (and therefore all modules in
FW). The only active thread at this time is the Idle thread. Driver on
the host will not send another ipc because is still waiting for
response. FW can try to send only two notification:

- FW exception: from this place there is no return to continue the power
  transition,
- log buffer status: skipped, they remain in the queue without being
  sent.

I'm moving pm_device_busy_clear(dev) from IRQ handler to
intel_adsp_ipc_send_message function so the pending ACK does not block
power transition.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-01-06 14:17:15 +01:00
Jamie McCrae
747991d528 samples: drivers: uart: native_tty: Remove superfluous cmake lines
Removes some lines that appear to have been used for debug that
are not needed

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-06 14:09:44 +01:00
Flavio Ceolin
7d3eee7b27 doc: vuln: Add CVEs under embargo
Add placeholders for CVEs under embargo.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-05 23:57:30 +01:00
Arkadiusz Cholewinski
b3e1cc9f4f PM: Add testing pm_device_state_str function.
Add testing pm_device_state_str function in device_driver_init testcase.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2024-01-05 14:47:14 -05:00
Henrik Brix Andersen
e2788525e0 doc: Update copyright notice in the documentation
Update copyright notice to reflect current year.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-05 14:43:47 -05:00
Chaitanya Tata
9e6542b0cc wifi: shell: Use case insensitive comparison
The help text uses the capital case as its an acronym, but passing
capital case fails. Also extend that to others as well.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
66f63455ea shell: Add a space after colon
Just a cosmetic change, but IMHO the help looks much better now :).

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
352ee50af7 wifi: shell: Fix the inconsistency in commands separation
For better readability, below rules will help:

 * Each command should be separated by a newline
 * Each command should end with a full stop (intermediate statements
   shouldn't have full stops)

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
7e7dc76296 wifi: shell: Remove the unnecessary text
The parameters heading is implied and doesn't have the newline, so, just
remove it.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
352f63c909 wifi: shell: Fix the help for reg domain
Separate the two optional parameters and add help.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
467a89e6a4 wifi: shell: Remove the unnecessary text in scan
We are using standard notation to differentiate optional and mandatory,
so, no need for a heading.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
30c492d5de wifi: shell: Fix help for PS command
Clearly mark the args as optional.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
9b55802d98 wifi: shell: Fix optional arg count for connect
Fix an extra optional arg.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Chaitanya Tata
0044640be6 wifi: shell: Fix the arg count for reg domain
Missed accounting for "-f" option.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-01-05 14:43:21 -05:00
Piotr Narajowski
cf174804fb bluetooth: tester: Add CCP Tests
Adding support for remaining CCP test cases.
Also removing callback descriptions from btp files not to get confused
with header files.

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2024-01-05 14:41:52 -05:00
Lukasz Mrugala
97757e48d6 scripts: tests: twister: Platform module test expansion
Added a unit test for the platform.py module.
It covers 99% of the code. The 1% is unreachable.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-05 14:41:13 -05:00
Lukasz Mrugala
56625fc887 scripts: tests: twister: Testplan unit test expansion
All functions/methods except apply_filters() covered explicitely.
86% coverage achieved.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-05 14:40:33 -05:00
Lukasz Mrugala
8ce15abb60 scripts: tests: twister: TestPlan unit test refactoring
TestPlan test file renamed and shortened before expansion.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-05 14:40:33 -05:00
Lukasz Mrugala
3b8a326dc0 scripts: tests: twister: TestInstance test expansion
TestInstance unit tests were added.
The module is now 100% covered by them.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-05 14:39:58 -05:00
Lukasz Mrugala
6140948ffb scripts: tests: twister: TestInstance tests refactor
Prepares the test_testinstance.py for expansion of its tests

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-05 14:39:58 -05:00
Alberto Escolar Piedras
b802e42c6f posix kconfig: Improve depends on host libC
Improve a depends on the host libC.
It is technically correct, but NATIVE_LIBC
is shorter and clearer than "ARCH_POSIX && EXTERNAL_LIBC"

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-05 11:38:57 -06:00
Alberto Escolar Piedras
c58710c602 lib/posix getopt: Fix include
Let's try to use the host unistd.h when building with
the host library only, instead of assuming
that the native boards are always built with it.
This fixes a build error when building for native boards
using minimal libc.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-05 11:38:57 -06:00
Jacob Siverskog
9784bd06b6 boards: lpcxpresso55s69: fix crystal frequency
this corresponds to soc/arm/nxp_lpc/lpc55xxx/soc.c:129. also, 16MHz is
used on the lpc55s69-evk.

Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
2024-01-05 11:38:08 -06:00
Hake Huang
9853bf7c98 boards: doc: align board ram usage with dts settings
the ram size is used in twister for case filter, so need align them with
real setting.

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2024-01-05 11:32:10 -06:00
Ali Hozhabri
d211284c20 boards: arm: sensortile_box_pro: Add BLE support to SensorTile_box_pro
Add BLE feature to SensorTile.box PRO board.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-05 16:03:19 +00:00
Peter Marheine
0a9728f87e twister: support parallel coverage with lcov >=2.0
lcov 2.0 added support for processing coverage data in parallel, which
provides a large speedup when processing many files, at the cost of some
additional overhead. When running the Chrome EC tests with coverage,
parallel reporting on a 36C72T machine reduces the time spent generating
coverage reports by 40 minutes (from approximately 1 hour to 20 minutes
total runtime), at the cost of about 3x greater CPU time overall
(assumed to be overhead for parallel processing, likely from spawning
much larger numbers of subprocesses).

The level of lcov parallelism is taken from the --jobs option passed to
twister, allowing lcov to choose if unspecified.

Signed-off-by: Peter Marheine <pmarheine@chromium.org>
2024-01-05 16:23:01 +01:00
Peter Marheine
2b20f01d86 twister: move lcov version handling to helpers
This moves handling of changed lcov arguments in lcov 2.0 into helper
functions, significantly simplifying Lcov._generate() to reduce the
visual noise of extra arguments that are required but unimportant to the
task at hand.

Signed-off-by: Peter Marheine <pmarheine@chromium.org>
2024-01-05 16:23:01 +01:00
Peter Mitsis
38010c111e test: latency_measure: Update sample output
Updates the sample output in the latency_measure benchmark's
README file.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-05 14:35:53 +01:00
Peter Mitsis
7103b0cdeb tests: latency_measure: Add FIFO support
Adds FIFO support to the latency_measure benchmark. This covers
both k_fifo_put() and k_fifo_get() with and without context switches
as well as variations for userspace support.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-05 14:35:53 +01:00
Peter Mitsis
c2d2cf6d2b tests: latency_measure: Add LIFO support
Adds LIFO support to the latency_measure benchmark test. This covers
both k_lifo_put() and k_lifo_get() with and without context switches
as well as variations for userspace support.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-05 14:35:53 +01:00
Peter Mitsis
911182c6b9 tests: latency_measure: Change reporting strings
Changes the summary lines used in the latency_measure benchmark
so that they follow a consistent pattern.

    OBJECT  action.<brief details about action>

This makes it easier to locate results belonging to a particular
object group. It also has the benefit to keep results colocated
should the output be sorted by an external tool.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-05 14:35:53 +01:00
Peter Mitsis
6291a57e67 tests: latency_measure: Tidy up header inclusions
Moves the inclusion of the app_memdomain header file into the
tests' utils.h so that any file that includes this can make
use of the BENCH_BMEM macro.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-01-05 14:35:53 +01:00
Bjarki Arge Andreasen
b3971d0112 modem: cmux: Add DLCI receive buffer overrun LOG WRN
DLCI receive buffer may overrun if data is not processed fast
enough. This error was not reported before this patch, resulting
in unexplained missing bytes.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-05 14:30:56 +01:00
Jonathan Rico
79e86472c3 Bluetooth: L2CAP: clarify BT_L2CAP_STATUS_OUT
Makes it clearer what that bit means:
If set, the channel has capacity to send at least one PDU.

If unset, the channel ran out of credits and won't be able to send
anything until the peer sends credits back.

Also add debug logs.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-05 14:30:18 +01:00
Jonathan Rico
61f834ee67 Bluetooth: L2CAP: don't use bt_l2cap_send internally
Prevents confusion, as the similarly-named `l2cap_send()` also unrefs the
buffer if it fails to send.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-05 14:30:18 +01:00
Jonathan Rico
7127c2a733 tests: Bluetooth: Add debug options to host/l2cap/stress
Enable quality-of-life kconfig options.
Add destroy callbacks to track lifetime of app buffers.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-05 14:30:18 +01:00
Yves Vandervennet
8aaf40ab7f linkserver: nxp: enable linkserver to be the default runner
This commit sets linkserver as the runner, if none was set in the
board's board.cmake file. This change will enable NXP to make linkserver
the default runner for the NXP boards.

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-05 14:29:18 +01:00
Fang Huang
37305fa06b logging: mipi_syst: Add CONFIG_LOG_MIPI_SYST_DISABLE_TIMESTAMP
This adds user configurable CONFIG_LOG_MIPI_SYST_DISABLE_TIMESTAMP
Kconfig option to use it for macro MIPI_SYST_PCFG_ENABLE_TIMESTAMP.
Moving macro definition of MIPI_SYST_PCFG_ENABLE_TIMESTAMP from
mipi-sys-t library to platform.h which defaulted to undef.
CONFIG_LOG_MIPI_SYST_DISABLE_TIMESTAMP gives flexibility to users
when needn't use mipi-sys-t protocol timestamp.

Signed-off-by: Fang Huang <fang.huang@intel.com>
2024-01-05 06:40:09 -05:00
Bartosz Bilas
7ef10d0f71 drivers: regulator: add regulator-init-microamp property
It allows setting regulator current value during driver
initialization automatically.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-05 09:07:10 +01:00
Emil Gydesen
87c8b897b3 include: util: Add mem_xor functions
Add functions to do XOR on arrays of memory, with one that
takes arbitrary sizes and one for 32 bits and 128 bits as
those are common sizes for this functionality.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-05 09:06:36 +01:00
Juha Ylinen
7c53fa86ff net: lwm2m: Fix deadlock when calling lwm2m_engine_pause()
lwm2m_engine_pause() caused deadlock if it was called within
engine thread.

Remove while loop from lwm2m_engine_resume().

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2024-01-05 09:06:27 +01:00
Juha Ylinen
85dfe3df14 net: lwm2m: Delay triggering registration update
Add short delay before triggering registration update. This allows
postponing the update from application side if needed.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2024-01-05 09:06:27 +01:00
Alberto Escolar Piedras
71c549e908 CI bsim workflow: Update changed-files action version
Dependabot has foud in a fork that we are using
a too old GitHub action version, which contains this
vulnerability:
https://www.cve.org/CVERecord?id=CVE-2023-51664
https://github.com/tj-actions/changed-files/security/advisories/GHSA-mcph-m25j-8j63

We do not use the output listing all changed files,
so we should not be exposed, but nonetheless,
let's update it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-05 09:05:58 +01:00
Erik Brockhoff
5f99c36ca1 Bluetooth: controller: fix procedure collision handling
If an instant based remote procedure 'overtakes' a local ditto
the local procedure will be 'completed' by remote rejection
but collision flag would not get set ensuring that a new local
conflicting procedure cannot be started before the remote is completed.
This can thus lead to invalid local initiation.

Added unittest to cover case

Fix by ensuring collision flag is set also in the above mentioned
scenario.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2024-01-05 09:05:26 +01:00
Pisit Sawangvonganan
3ffcd75469 drivers: spi: set 'spi_driver_api' as 'static const'
This change marks each instance of the 'spi_driver_api' as 'static const'.
The rationale is that 'spi_driver_api' is used for declaring internal
module interfaces and is not intended to be modified at runtime.
By using 'static const', we ensure immutability, leading to usage of only
.rodata and a reduction in the .data area.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-05 09:04:51 +01:00
Pisit Sawangvonganan
80e1482ddd drivers: ieee802154: set 'ieee802154_radio_api' as 'static const'
This change marks each instance of the 'api' as 'static const'.
The rationale is that 'api' is used for declaring internal
module interfaces and is not intended to be modified at runtime.
By using 'static const', we ensure immutability, leading to usage of only
.rodata and a reduction in the .data area.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-05 09:04:28 +01:00
Eduardo Montoya
586eca8ad2 drivers: ieee802154: nrf5: add IEEE802154_RX_ON_WHEN_IDLE capability
Add `IEEE802154_RX_ON_WHEN_IDLE` capability.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2024-01-05 09:04:17 +01:00
Eduardo Montoya
780b12854c drivers: ieee802154: nrf: cache radio channel
Cache configured radio channel and apply them only when a relevant
radio task is requested.

This allows to configure the channel in the transmit metadata, thus
avoiding unneeded `nrf_802154` API calls in some scenarios.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-05 09:04:17 +01:00
Eduardo Montoya
5767998d4f drivers: ieee802154: nrf: make selective tx power the default
Remove `IEEE802154_SELECTIVE_TXPOWER` option.

Cache the tx power value in nRF5 driver and make use of it on each
operation.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-05 09:04:17 +01:00
Jędrzej Ciupis
1bbaaeffb0 manifest: update hal_nordic revision
This commit updates revision of hal_nordic to bring the latest changes
in the nRF IEEE 802.15.4 driver.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-05 09:04:17 +01:00
Marc Desvaux
f6235e03cf boards: arm: enable CONFIG_USB_DC_HAS_HS_SUPPORT
enable CONFIG_USB_DC_HAS_HS_SUPPORT when we use only OTG_HS
and not OTG_FS.
in that case TEST_BULK_EP_MPS	(Endpoint max packet size)
equal 512 and not 64
it is the case for nucleo_h723zg and for nucleo_h7a3zi_q


Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2024-01-05 09:03:06 +01:00
Manuel Argüelles
7e2600d309 tests: drivers: pwm: add overlays for ucans32k1sic
Enable pwm tests on ucans32k1sic board.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-05 09:03:00 +01:00
Manuel Argüelles
a38eb9b210 boards: arm: ucans32k1sic: enable FlexTimer/PWM support
Enable FlexTimer (FTM) as a PWM controller for this board. Use the RGB
LED controlled by FTM0 as PWM-LEDs for the samples and tests.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-05 09:03:00 +01:00
Manuel Argüelles
aeebe484f2 soc: arm: nxp_s32: s32k1: add FlexTimer support
Add support for FlexTimer (FTM) module on S32K1xx devices.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-05 09:03:00 +01:00
Manuel Argüelles
35e267d649 drivers: pwm: mcux_ftm: support multiple interrupts
Rework the interrupt handlers of the FTM driver to support SoCs on
which FTM channels and overflow are routed through individual
interrupts, as opposed to a single OR'ed interrupt.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-05 09:03:00 +01:00
Andrej Butok
747aacbf1c boards: lpcxpresso55s: Set CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY
Set CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY=y
for lpcxpresso55sxx boards.
Synchronize with their default MCUBoot configuration.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-05 09:02:51 +01:00
Derek Snell
44885cbca5 boards: mimxrt595: add CONFIG_MIPI_DPHY_CLK_SRC
Give option in soc.c to initialize the MIPI DPHY clock from the default
AUX1_PLL, or from the FRO using CONFIG_MIPI_DPHY_CLK_SRC_FRO.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-05 09:02:25 +01:00
Derek Snell
3f2ded3455 soc: arm: nxp_imx: r5xx: add Kconfig to clock FC0 from FRO
Flexcomm0 has option to clock from FRO.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-05 09:02:25 +01:00
Andrej Butok
b2626faced boards: mimxrt1040_evk: add LinkServer and Pyocd
Add LinkServer and Pyocd runners for the MIMXRT1040-EVK board.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-05 09:02:10 +01:00
Chekhov Ma
8cc0777237 boards: mimx93_evk_a55: enable lpspi
- Enable LPSPI 3 in i.MX93 EVK board dts.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-05 09:01:55 +01:00
Chekhov Ma
81cf8db0ed soc: imx93: enable lpspi
- Add LPSPI1 ~ LPSPI8 instances to soc dtsi.
- Expand clock dt-bindings for LPSPI to instance 7 & 8.
- Add LPSPI driver in imx9 Kconfig.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-05 09:01:55 +01:00
Chekhov Ma
0ce4399a03 driver: mucx_lpspi: enable runtime mmio configuration
Enable runtime mmio configuration in mcux_lpspi driver. The fsl_lpspi
driver relies on physical address to determine instance number.
So mmap flag 'K_MEM_DIRECT_MAP' is required.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-05 09:01:55 +01:00
Chekhov Ma
13ba5316de boards: mimx93_evk_a55: enable lpi2c
- Enable LPI2C 1,2,4 in i.MX93 EVK board dts.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-05 09:01:55 +01:00
Chekhov Ma
4a82128c69 soc: imx93: enable lpi2c
- Add LPI2C1 ~ LPI2C8 instances to soc dtsi.
- Expand clock dt-bindings for LPI2C to instance 7 & 8.
- Add LPUART and LPI2C driver in imx9 Kconfig.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-05 09:01:55 +01:00
Chekhov Ma
734adf52c6 driver: mucx_lpi2c: enable runtime mmio configuration
Enable runtime mmio configuration in mcux_lpi2c driver. The fsl_lpi2c
driver relies on physical address to determine instance number.
So mmap flag 'K_MEM_DIRECT_MAP' is required.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-01-05 09:01:55 +01:00
Jeppe Odgaard
ef867e4c7e drivers: spi: align dspi and lpspi spi_mcux_transfer_next_packet
Add return code to lpspi spi_mcux_transfer_next_packet and print the
kStatus_* return code since it information is lost when translated to
errno.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-01-05 09:01:35 +01:00
Fabio Baltieri
e517af4cff charger: add a driver for bq25180
Add a driver for the TI BQ25180. Implement enable/disable and current
set/get.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-05 09:00:21 +01:00
Robert Lubos
312e000a5f tests: net: socket: tls: Fix race on TCP socket close
One of the tests closed the underlying TCP connection right after
establishing one. This caused a certain race between incoming TLS
handshake data and entering FIN1 state (experienced on nrF52840), where
the TLS handshake data could be received after the FIN1 state was
entered, causing the server side to send RST packet. This disrupted the
test flow, as graceful TCP connection teardown was expected.

Fix this, by adding a small delay for such case to avoid the race.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-04 17:10:15 -06:00
Alberto Escolar Piedras
5cc190228d docs: Bus emulators: Misc fixes
* Convert png figures to svg
* Remove app.png and the paragraph which elaborated on it.
  (It was very specific to some particular
  user case, and having it did not improve understanding)
* Correct all references to "native_posix drivers" to
  the be just "emulated drivers"
  (they are not native_sim specific)
* Correct path for a file which was moved

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-04 17:08:19 -06:00
Alberto Escolar Piedras
4f41a34f12 docs: Bus emulators: Limit content to only bus emulation
Limit the content of this page to only cover the bus
emulators and their peripherals.
Until now, there was some out of place references to
emulators of a completely different type which did
not match the descriptions in this page.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-04 17:08:19 -06:00
Alberto Escolar Piedras
a75f441efa docs: emulators: Created new emulators page
Created new emulators page, and moved the
current page to be a page dedicated to bus emulators.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-04 17:08:19 -06:00
Ian Morris
74468ebc09 dts: arm: renesas: ra: fix incorrect node name for sci devices
The sci devices described in the device tree source for RA MCUs are
incorrectly specified as being UARTs when they should be SCIs (serial
communication interfaces) which can not only operate as UARTs but also
as I2C, SPI etc.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-01-04 21:51:35 +00:00
Christopher Friedt
80e3f4aee6 tests: posix: common: rwlock: remove overspecified pthread_attr_t
Much of tests/posix/common still overspecifies pthread_attr_t
options.

Default thread attributes are perfectly fine for the vast
majority of spawned threads in this testsuite, so simply use
a NULL pthread_attr_t* argument.

This fixes piles of bugs because we have not properly used
pthread_attr_destroy() appropriately.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 15:13:47 -05:00
Christopher Friedt
e14f362547 tests: posix: common: sem: remove overspecified pthread_attr_t
Much of tests/posix/common still overspecifies pthread_attr_t
options.

Default thread attributes are perfectly fine for the vast
majority of spawned threads in this testsuite, so simply use
a NULL pthread_attr_t* argument.

This fixes piles of bugs because we have not properly used
pthread_attr_destroy() appropriately.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 15:13:47 -05:00
Christopher Friedt
90021b81d5 tests: posix: common: pthread: do not overspecify pthread_attr_t
Much of tests/posix/common still overspecifies pthread_attr_t
options.

Default thread attributes are perfectly fine for the vast
majority of spawned threads in this testsuite, so simply use
a NULL pthread_attr_t* argument.

This fixes piles of bugs because we have not properly used
pthread_attr_destroy() appropriately.

This is only a partial cleanup for pthread.c

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 15:13:47 -05:00
Christopher Friedt
d9cffcfc36 tests: posix: common: mutex: remove overspecified pthread_attr_t
Much of tests/posix/common still overspecifies pthread_attr_t
options.

Default thread attributes are perfectly fine for the vast
majority of spawned threads in this testsuite, so simply use
a NULL pthread_attr_t* argument.

This fixes piles of bugs because we have not properly used
pthread_attr_destroy() appropriately.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 15:13:47 -05:00
Christopher Friedt
bfb4a5141c tests: posix: common: mqueue: remove overspecified pthread_attr_t
Much of tests/posix/common still overspecifies pthread_attr_t
options.

Default thread attributes are perfectly fine for the vast
majority of spawned threads in this testsuite, so simply use
a NULL pthread_attr_t* argument.

This fixes piles of bugs because we have not properly used
pthread_attr_destroy() appropriately.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 15:13:47 -05:00
Christopher Friedt
aefbbe2788 tests: posix: common: key: remove overspecified pthread_attr_t
Much of tests/posix/common still overspecifies pthread_attr_t
options.

Default thread attributes are perfectly fine for the vast
majority of spawned threads in this testsuite, so simply use
a NULL pthread_attr_t* argument.

This fixes piles of bugs because we have not properly used
pthread_attr_destroy() appropriately.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 15:13:47 -05:00
Fabio Baltieri
2a99432695 input: kbd_matrix: fail gracefully if changing an undefined key mask
Add a check to input_kbd_matrix_actual_key_mask_set() to return an error
if trying to change a key mask but the device does not define a keymask
in the first place.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-04 18:40:10 +00:00
George Beckstein
603c3af895 drivers: flash : stm32: STM32L4P5xx fix page calculation from offset
This fix adds the STM32L4P5xx to the list of devices that have an
offset-to-page shift calculation of 12 bits. Previously, the driver
would only shift the offset by 11 bits when calculating the page to
erase.

This would prevent the driver from erasing the correct page.

Signed-off-by: George Beckstein <george.beckstein@ampaworks.com>
2024-01-04 15:33:42 +01:00
Petr Hlineny
0ed8f10d8a drivers: rtc: stm32: Updated scope of hsem
This commit updates the scope of  hsem.

Signed-off-by: Petr Hlineny <development@hlineny.cz>
2024-01-04 15:32:47 +01:00
Petr Hlineny
784a5b82e7 drivers: rtc: stm32: Replaces Enter init mode function with LL function
Use LL_RTC_EnterInitMode and LL_RTC_DisableInitMode instead
of rtc_stm32_enter_initialization_mode and
rtc_stm32_leave_initialization_mode.

Signed-off-by: Petr Hlineny <development@hlineny.cz>
2024-01-04 15:32:47 +01:00
Petr Hlineny
4a4543569e drivers: rtc: stm32: Fixes RTC issues related to device runtime pm
When device runtime pm is enabled, Backup Domain protection is active
most of the time. RTC driver need this protection to be disabled in
order to set the time or calibration. This fix disable the protection in
set time and set calibration functions.

Fixes: 62843
Signed-off-by: Petr Hlineny <development@hlineny.cz>
2024-01-04 15:32:47 +01:00
Henrik Brix Andersen
21e37498e3 Bluetooth: Audio: fix doxygen warnings
Fix doxygen warnings ("warning: found </em> tag without matching <em>")
from building the Bluetooth Audio API documention.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-04 13:55:12 +01:00
Bartosz Bilas
cafe9a5632 drivers: regulator: max20335: fix unused-const-variable warnings
There can be a case where not all regulators are being used,
resulting in an unused-const-variable warning,
so let's add a __maybe_unused keyword to suppress it.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2024-01-04 13:52:02 +01:00
Emil Lindqvist
ed6da68f5b i2s: stm32h7: add i2s support for stm32h7 mcu family
This commit modifies the I2S driver to work for STM32H7
family of MCU's. Currently only TX is working.

Tested on nucleo_stm32h743zi. Requires dma1 & dmamux1 to be enabled.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2024-01-04 13:48:28 +01:00
Aaron Ye
c3e8b731ef soc: arm: ambiq: Remove the redundant configurations.
These non-cached SRAM size and base address configurations
are not needed now.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2024-01-04 11:06:37 +00:00
Jamie McCrae
d142958fb6 doc: release: 3.6: Add retained memory changes
Adds a note about a new backend and API status upgrade

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-04 09:42:57 +01:00
Jamie McCrae
dd48c2c240 doc: api: Change retained memory status to unstable
Changes the API support level of retained memory from experimental
to unstable, now that there are 3 drivers

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-04 09:42:57 +01:00
Ali Hozhabri
ccc97125f8 drivers: bluetooth: hci: Fix uninitialized array index, issue #66806
Fix issue #66806, caused by PR #65172.

Return -EINVAL from bt_spi_get_header if op is neither SPI_READ nor
SPI_WRITE.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-01-04 09:42:50 +01:00
Hake Huang
3d783166f8 dts: fix frdm_kw41z ram size issue
frdm_kw41z ram size is 96k not 128k(starting from 0x20000000)

fixing: #66154

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2024-01-04 09:42:39 +01:00
Gaetan Perrot
68581caa74 kernel: need_swap zephyrproject-rtos#66299
Enhancement on void z_reschedule_irqlock(uint32_t key)
to avoid useless context switch

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-01-04 09:42:12 +01:00
Tomas Galbicka
89bd024a1c drivers: mbox: Add nxp mbox multi-channel support
Current implementation of NXP mbox driver mbox_nxp_imx_mu
is using only one channel 0.
This commit adds support for multiple mbox channels as is
indented by mbox drivers.

Change done in .send api signaling mode leveraging provided
channel id to select correct General Purpose Interrupt.
Another change done in IRQHandler to check and handle all
channels.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-01-04 09:42:04 +01:00
Rodrigo Peixoto
690460a06a doc: zbus: add priority boost documentation
Add priority boost documentation. Replace the ISR limitation since it is
not valid anymore.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-01-04 09:41:54 +01:00
Rodrigo Peixoto
01981910ec samples: zbus: add priority boost sample to zbus
This sample illustrates how to properly use zbus priority boost feature.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-01-04 09:41:54 +01:00
Rodrigo Peixoto
2cfd28e5ca tests: zbus: add HLP priority boost tests
Add the dedicated tests for HLP priority boost.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-01-04 09:41:54 +01:00
Rodrigo Peixoto
fb7515e27b samples: zbus: fix samples to work with priority boost
Adjust the sample to work with the priority boost. It illustrates zbus
being used inside an ISR instead of into the main function.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-01-04 09:41:54 +01:00
Rodrigo Peixoto
73f0bcc7fc tests: zbus: fix unit tests to work with priority boost
The test considers using zbus inside ISR.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-01-04 09:41:54 +01:00
Rodrigo Peixoto
c992707251 zbus: add priority boost feature
Replace mutexes with semaphores to protect the channels in conjunction with
a priority boost algorithm based on the observers' priority.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-01-04 09:41:54 +01:00
Sebastian Bøe
c25ac487af tests: crypto: rand32: Check return code of sys_csrand_get
Check the return code of sys_csrand_get when testing the function.

Ignoring it is bad practice and can also be a security issue if users
copy-paste this test code.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2024-01-03 23:57:13 -06:00
Christopher Friedt
67a74e4350 tests: posix: test_realtime: improve test reliability
Previously posix_apis.test_realtime was failing (very)
frequently in CI, and in particular, when running on Qemu,
POSIX, or SMP targets.

We are using CLOCK_REALTIME for this test, which incurs an
additional syscall overhead above CLOCK_MONOTONIC. The act
of sleeping itself also incurs a syscall overhead.

The latency from one iteration to the next of the internal
loop is a bit of a random process due to scheduler or clock
noise (although the noise itself is still bounded).

In order to make this test robust against such noise, assert
only on the average time from one iteration to the next,
rather than the instantaneous time.

Rather than calculating a sample mean, use a running average
(aka Cumulative Moving Average) to save some bytes.

Report results, including low and high watermarks before
asserting that the average iteration time within expected
range.

==============================================================
START - test_realtime
I: n: 20, sleep: 100, margin: 10, lo: 110, avg: 110, hi: 110
 PASS - test_realtime in 2.198 seconds
==============================================================

Expect to see the low and high watermarks change more on
Qemu and POSIX platforms when running several jobs in parallel
with twister (such as in CI).

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 08:27:29 +09:00
Christopher Friedt
95a22b1217 posix: clock: clock_gettime() should not be a syscall
We try to implement Zephyr's POSIX API as regular library
functions, so remove the __syscall annotation from
clock_gettime() and implement the syscall portion of it under
the hood.

This also adds a bit of a micro-optimization in that
we can do a lot of processing outside of the system call.

In fact, processing CLOCK_MONOTONIC likely does not
require any syscall other than k_uptime_ticks().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 08:27:29 +09:00
Christopher Friedt
e0383a6f9d posix: clock: check for invalid ns in clock_settime()
The clock_settime() function should not accept an input timespec
with nanosecond values < 0 or >= NSEC_PER_SEC.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 08:27:29 +09:00
Christopher Friedt
1695b5a0b2 tests: unit: util: add array for-each tests
Add tests for the following two macros

* ARRAY_FOR_EACH(array, idx_var)
* ARRAY_FOR_EACH_PTR(array, ptr_var)

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 08:27:29 +09:00
Christopher Friedt
42335036b7 include: util: add array for-each macros
AFAIK, we do not have array for-each loops. Seemed like an
obvious gap to fill, so introduce two variants:

* ARRAY_FOR_EACH(array, idx_var)
* ARRAY_FOR_EACH_PTR(array, ptr_var)

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-04 08:27:29 +09:00
Maciej Baczmanski
11613e08e7 net: openthread: increase TCAT stack size
Running TCAT with PSA crypto API  causes stack overflow.
Increased stack size.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-03 19:01:05 +00:00
Torsten Rasmussen
9981e69b91 cmake: update description of board_runner_args() function
Update description of board_runner_args() function so that it is
described that app_set_runner_args macro must be defined before the call
to `find_package(Zephyr)`.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-01-03 19:00:49 +00:00
Jukka Rissanen
fa0e04e2ed tests: net: dhcpv6: Adjust the source address of test pkt
We would drop the received packet if the source address is our
address so tweak the test and make source address different.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-03 19:00:33 +00:00
Jukka Rissanen
155e2149f2 tests: net: ipv6: Adjust the source address of test pkt
We would drop the received packet if the source address is our
address so tweak the test and make source address different.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-03 19:00:33 +00:00
Jukka Rissanen
8d3d48e057 net: ipv6: Check that received src address is not mine
Drop received packet if the source address is the same as
the device address.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-03 19:00:33 +00:00
Robert Lubos
48601fde96 tests: net: socket: tls: Make sure sockets are closed on test failure
Add after() function for the test suite, which does cleanup on still
open sockets. Otherwise, an individual test case failure affects all
other test cases, blurring the test suite results.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-03 19:00:15 +00:00
Robert Lubos
f70715eeb3 tests: net: socket: tls: Add more tests covering poll()
Add new test cases, covering TLS/DTLS socket poll() functionality.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-03 19:00:15 +00:00
Robert Lubos
898aa9ed9a net: sockets: tls: Align DTLS connect() behavior with regular TLS
DTLS socket is not really connection-less as UDP, as it required the
DTLS handshake to take place before the socket is usable. Therefore,
align the DTLS connect() behavior with regular TLS.
The change is backward compatible. connect() call is still optional for
DTLS socket (the handshake can still take place from send()/recv()) and
a socket option was provided to disable DTLS handshake on connect().

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-03 19:00:15 +00:00
Robert Lubos
c0d5d2fbd5 net: sockets: tls: Allow handshake during poll()
When using DTLS socket, the application may choose to monitor socket
with poll() before handshake has been complete. This could lead to
potential crash (as the TLS context may have been left uninitialized)
and unexpected POLLIN reports (while handshake was still not complete).
This commit fixes the above - POLLIN will only be reported once
handshake is complete and data is available

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-03 19:00:15 +00:00
Robert Lubos
0a1bee48bf net: sockets: tls: Improve POLLERR error reporting
In case a socket error was caused by TLS layer, it was not reported with
POLLERR. This commit fixes this.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-03 19:00:15 +00:00
Robert Lubos
5b3b462eed net: sockets: tls: Add flag indicating that session is closed
In case TLS session is closed at the TLS level (and thus recv() reports
0 to the application) a certain race occurs between consecutive recv()
call, and TCP session teardown. As mbedtls_ssl_read() only reports
session close upon receiving CLOSE alert, consecutive non-blocking
recv() calls would report EAGAIN instead of connection closed, if called
before underlying TCP connection was closed.

Fix this, by storing the information that TLS session has ended at TLS
socket level. The new flag will be checked before attempting further
mbed TLS actions, so that connection status is reported correctly.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-03 19:00:15 +00:00
Robert Lubos
1dc9028316 net: sockets: tls: Add function to obtain underlying ssl context
For test purposes only. Should not be used in regular applications.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-01-03 19:00:15 +00:00
Tomasz Lissowski
61cb7d4358 adsp: hda: accept 16 byte alignment for HDA buffer size
HDA DMA driver uses an excessive value of 128 bytes as required alignment
for DMA buffer size. This may result in the correct buffer size (e.g.
32-byte aligned, which is DT-compliant) being silently truncated before
writing it into DGBS register. This patch changes the requirement to the
value implied by DGBS register format (effectively reduces to 16 bytes).

Signed-off-by: Tomasz Lissowski <tomasz.lissowski@intel.com>
2024-01-03 18:59:55 +00:00
Ryan McClelland
4d9ad941d7 manifest: zscilib: update revision for double promotion fix
Update zscilib, this is needed for the double promotion fix

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-01-03 18:59:32 +00:00
Andy Sinclair
b3fdb7477b drivers: regulator: fixed: Removed pin state setting from init
The setting of initial state in handled by the common driver,
which calls the enable function for any regulator that has
regulator-boot-on set, and is not already enabled.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-01-03 18:59:12 +00:00
Bjarki Arge Andreasen
48fa603da3 modem: cmux: Patch resync mechanism
The CMUX resync mechanism can get stuck between states
MODEM_CMUX_RECEIVE_STATE_RESYNC_0 and
MODEM_CMUX_RECEIVE_STATE_RESYNC_1 if the resync flags, which are
sent only once in state MODEM_CMUX_RECEIVE_STATE_SOF, are not
responded to, or the response is lost.

This patch ensures resync flags are sent from states
MODEM_CMUX_RECEIVE_STATE_SOF, MODEM_CMUX_RECEIVE_STATE_RESYNC_1
and MODEM_CMUX_RECEIVE_STATE_RESYNC_2 if its determined that the
resync flags are not being responded to.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-03 18:58:39 +00:00
Bjarki Arge Andreasen
3ebe814294 modem: chat: Patch invalid dereference
The chat module contains an array of three lists of matches,
one of which are static, two of which are contained within the
currently running script. The current match, which is an
object stored in one of the three lists, is stored in its own
pointer in the chat module context.

A memory error occurs when the script is stopped, while the
chat module is using one of the matches stored withing the
script. This commit clears the match pointer when the script
is stopped if the match is stored within the script.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-03 18:57:55 +00:00
Bjarki Arge Andreasen
ed8578d566 pm: device_runtime: Add missing include to header
The device_runtime header includes references to struct device
and k_timeout_t, but only zephyr/device.h is included. k_timeout_t
is in zephyr/kernel, so it must also be included.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-03 17:24:42 +00:00
Fabian Pflug
3c0a6058b5 drivers: pwm: stm32: Catch overflows in 2-channel capture
When not using 4 channel capture, overflows were never reported
to the application, because the check was in the
four_channel_capture_support branch.

Signed-off-by: Fabian Pflug <fabian.pflug@grandcentrix.net>
2024-01-03 12:55:50 +01:00
Jukka Rissanen
ec42d825ec net: context: Fix the v4 mapped address handling in sendto
If we receive a IPv4 packet to v4 mapped address, the relevant
net_context is bound to IPv6. This causes issues if we try
to get the family from the context struct in sendto.
Fix this by checking if the destination address is IPv4 but
the socket is bound to IPv6 and v4 mapping is enabled.
If all these criterias are set, then set the family of the
packet separately and do not get it from net_context.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-03 12:55:14 +01:00
Jan Müller
8f0abaf87f Doc: Clearify bt_conn_set_security documentation
Clearify the sec parameter in the documentation of bt_conn_set_security.

This should make the API documentation easier to understand.

Signed-off-by: Jan Müller <jan.mueller@nordicsemi.no>
2024-01-03 10:21:48 +01:00
Henrik Brix Andersen
bc2826c1cb drivers: gpio: pca953x: check return values from I2C API functions
Check the return values from the I2C API functions called in init() and
fail driver initialization if unsuccessful.

Fixes: #66827

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-03 10:21:28 +01:00
Bjarki Arge Andreasen
1ee092673a modem: modem_cellular.c: Remove non standard QCCID handler
The QCCID handler is Quectel specific and as such may not be part
of the modem cellular driver which only supports commands defined
in 3GPP TS 27.007

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-03 10:21:18 +01:00
Bjarki Arge Andreasen
572c5e6d5a modem: modem_cellular: Rework cellular_get_signal implementation
The modem_cellular.c driver now uses a common script to get
signal strenght, which is run on demand. This is more efficient
than polling it, and simpler since every modem doesn't have to
define their own variant of the script.

Additionally, the CSQ handler now stores the "raw" rssi value
returned from AT+CSQ to be parsed by the cellular_modem_get_signal
implementation.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-03 10:21:18 +01:00
Bjarki Arge Andreasen
f9491034be modem: modem_cellular: Update driver to implement cellular API
Move the implementations of the cellular API in modem_cellular.c
to an cellular_driver_structure, and implement this API structure
withing the device drivers.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-03 10:21:18 +01:00
Bjarki Arge Andreasen
6f55309659 modem: cellular: Restructure cellular API to fit device driver model
The current cellular API header is not written to conform with
the device driver model. This commit fixes that.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-03 10:21:18 +01:00
Chun-Chieh Li
173e4983fd drivers: wifi: esp_at: fix last rx data loss in Passive Receive mode
In Passive Receive mode, ESP modem will buffer rx data.
This fix makes the data still available to user,
even though the peer has closed the socket.
Otherwise, user will fail to get the last rx data,
when the socket is closed by the peer.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2024-01-03 10:21:09 +01:00
Junfan Song
4ae558c505 kernel: work: Fix race in workqueue thread
After a call to k_work_flush returns the sync variable
may still be modified by the workq.  This is because
the work queue thread continues to modify the flag in
sync even after k_work_flush returns.  This commit adds
K_WORK_FLUSHING_BIT, and with this bit, we moved the
logic of waking up the caller from handle_flush to the
finalize_flush_locked in workq, so that after waking up
the caller, the workqueue will no longer operate on sync.

Fixes: #64530

Signed-off-by: Junfan Song <sjf221100@gmail.com>
2024-01-03 10:20:19 +01:00
Pisit Sawangvonganan
b8184ca3b7 lib: crc: address absence of crc4, crc4_ti in crc_types array
Added CRC4 and CRC4_TI to the supported crc_types[] array.
On some SoCs, like ESP32-S3, missing values can cause hardfaults
due to attempts to access the zero address.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-03 10:20:14 +01:00
Jukka Rissanen
8f97c1c2ee net: lib: sockets: Initialize iovec to 0 at start of func
Make sure iovec is initialized to a value so that there
is no possibility that it is accessed uninitialized.

Fixes: #66838
Coverity-CID: 334911

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-03 10:19:50 +01:00
Jukka Rissanen
4e5ef76b15 net: lib: mdns_responder: Fix interface count check
The original idea was to check that we have enough network
interfaces in the system. The check needs to verify max IPv4
and IPv6 supported interfaces instead of always checking
IPv6 one.

Fixes: #66843
Coverity-CID: 334899

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-03 10:19:38 +01:00
Jamie McCrae
5f8dabf44c boards: deprecated: Remove boards deprecated pre-Zephyr 2.7
Removes deprecated boards that were added in/before September
2021, which would be prior to the release of Zephyr 2.7.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-03 10:19:06 +01:00
Jędrzej Ciupis
57ee911891 modules: hal_nordic: new nrf_802154 configuration option
This commit adds a new Kconfig for the nRF 802.15.4 radio driver that
allows the user to specify the number of encryption keys the driver can
simultaneously store.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-03 10:18:56 +01:00
Jędrzej Ciupis
054353a75d modules: hal_nordic: reorganize nrf_802154 Kconfig
There are multiple Kconfig symbols that are only available when the
radio hardware is present. As a result, the nRF 802.15.4 radio driver
is more difficult to configure on multicore architectures. Also, such
solution goes against the principle of hiding the details of the
platform behind the driver's interface.

This commit moves all the Kconfig options that correspond to settings
present in common nRF 802.15.4 configuration header so that they're
available no matter if the API is serialized.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-03 10:18:56 +01:00
TOKITA Hiroshi
89982b711b drivers: serial: ra: minor cleanups
- Corrected indentation with clang-format

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-01-02 19:12:46 +00:00
TOKITA Hiroshi
e6486bf598 drivers: interrupt_controller: ra_icu: minor cleanups
- Corrected indentation with clang-format

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-01-02 19:12:46 +00:00
TOKITA Hiroshi
b1172d812d drivers: serial: ra: adding support interrupt driven mode
Add support interrupt driven mode for Renesas RA UART driver.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-01-02 19:12:46 +00:00
TOKITA Hiroshi
2de161ce4e drivers: interrupt_controller: ra_icu: Don't enable on irq connecting
Don't execute `irq_enable` in process of the `ra_icu_irq_connect_dynamic`.

The caller of `ra_icu_irq_connect_dynamic` is only `gpio_ra_pin_configure`
at this time. `gpio_ra_pin_configure` calls `irq_enable` just after called
`ra_icu_irq_connect_dynamic`.
So removing 'irq_enable' from 'ra_icu_irq_connect_dynamic' has no effect
on behavior.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-01-02 19:12:46 +00:00
TOKITA Hiroshi
bccd281b3d drivers: interrupt_controller: ra_icu: Adding disconnect_dynamic
Adding `ra_icu_irq_disconnect_dynamic()` corresponds with
`ra_icu_irq_connect_dynamic()`.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-01-02 19:12:46 +00:00
TOKITA Hiroshi
75ac40e6d8 drivers: serial: ra: Cleaned up useless initialization and bad naming
DEVICE_MMIO_MAP() is an unnecessary process, so delete it.

I created uart_ra.c based on uart_rcar.c, but
I forgot to correct the name. I fixed it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-01-02 19:12:46 +00:00
Krzysztof Chruściński
c0bb064d4e tests: unit: util: Fix compliance check warnings
As code is moved from test.inc to main.c a compliance check is
run for the first time on that code. Fixing warnings.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-02 16:01:11 +00:00
Krzysztof Chruściński
7b872d11ba tests: unit: util: Rework test structure for C++ testing
Rework test structure to handle C++ test in a better way. Similar
approach already applied in other tests which are executed for C
and C++. Getting rid of test.inc which due to non-standard extension
was not covered by complience check.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-02 16:01:11 +00:00
Krzysztof Chruściński
e90d69f979 scripts: checkpatch.pl: Add exceptions for FOR_EACH_NONEMPTY_TERM macro
Add exception for macro which is not terminated with semicolon.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-02 16:01:11 +00:00
Bjarki Arge Andreasen
c6cb2d6942 drivers: retained_mem: Add generic retained register driver
Devices like the ATSAM series chips have retained registers
which are used to store memory. The memory is accessed just
like RAM, but since they are registers, their size and
address is used directly.

This commit adds a near complete copy of the generic retained
ram driver and bindings file, adding the reg property to
the bindings file, and updating the init macro in the driver
to use the reg address and size.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-02 15:49:34 +00:00
Jamie McCrae
49f9d8e19c sysbuild: kconfig: Unset shield config value variable
Fixes an issue with shields that have Kconfig file fragments when
being used with sysbuild, they would be loaded into sysbuild
itself which would then fail because it does not have the Kconfig
tree that zephyr applications have

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-02 12:02:21 +00:00
Keith Packard
04437376aa boards/posix: Handle SDL2 compile vars with multiple values
When transforming SDL2_LIBRARIES and SDL2_INCLUDE_DIRS into compile
options, each member needs to be preceeded by -l or -I. Use the cmake
list(TRANFORM) operation to prepend the flag to each list element instead
of just prepending the flag to the entire list.

Signed-off-by: Keith Packard <keithp@keithp.com>
2024-01-02 11:02:00 +00:00
Tomi Fontanilles
6564e8b756 modem: cmux: fix frame data length encoding
In cases where the data is bigger than 127 bytes,
the first bit of the second byte of the data length field
used to always be set.

This is wrong as according to the 3GPP 27.010 spec
only the first bit of the first byte is the EA bit;
all the others denote the data length.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-01-02 10:10:55 +01:00
Fabio Baltieri
a3e39cb0e5 logging: make CONFIG_LOG_ALWAYS_RUNTIME build check less ambiguous
When these fails the compiler just prints "Option must be enabled" with
no reference to what option, so one has to look at the code to find out.
Mention the actual option in the error to make these unambiguous.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-02 10:10:49 +01:00
Jeremy Bettis
5a727a382a drivers: Add level intrs in gpio_ite_it8xxx2_v2
Implement level based gpio interrupts, by using a worker queue to
repeatedly call the gpio callbacks until the gpio is no longer active.

Update unit test for new interrupts.

Bug #66401

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2024-01-02 10:10:39 +01:00
Jeremy Bettis
6c567d4899 tests: Add unittest for gpio_ite_it8xxx2_v2
Add a unittest for 100% of the lines in gpio_ite_it8xxx2_v2. The test
fakes the registers by overriding the ECREG macro to call a function
provided by the test.

Does not test the code guarded by
CONFIG_SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN

Bug #66401

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2024-01-02 10:10:39 +01:00
Jeremy Bettis
5ceea4fbdd drivers: Use #if
Use #if instead of IS_ENABLED for
CONFIG_SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN, otherwise DTS files
are required to provide gpiok and gpiol even if they are not used.

Bug #66401

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2024-01-02 10:10:39 +01:00
Jeremy Bettis
864b1c57f6 drivers: Wrap register accesses in ECREG
Similar to other ITE drivers, wrap register accesses in ECREG. This will
allow mocking out the registers in tests.

Bug #66401

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2024-01-02 10:10:39 +01:00
cyliang tw
d00125875c tests: drivers: adc: adc_api: support numaker_pfm_m467
Add support for Nuvoton numaker board numaker_pfm_m467.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-01-02 10:10:27 +01:00
cyliang tw
9ad8e1ab74 drivers: adc: support Nuvoton numaker series
Add Nuvoton numaker series adc controller, including async read feature.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-01-02 10:10:27 +01:00
Mariusz Skamra
4a77bdb4e8 tests: Bluetooth: tester: Add initial support for HAP
This adds initial support for Hearing Aid Profile BTP service commands.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2024-01-02 10:10:15 +01:00
Mariusz Skamra
b79a3415a9 Bluetooth: audio: has_client: Move bt_has_client structure to header
This moves bt_has_client instance structure to has_internal.h header
file to be able to access to the instance members in tests.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2024-01-02 10:10:15 +01:00
Erwan Gouriou
47d3d9f448 boards: Add support for stm32h750b_dk
Basic support added:
- gpio
- uart

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-02 10:10:06 +01:00
Francois Ramu
c18808950a drivers: flash: stm32 ospi flash driver erase large size
Erase operation with block of 64KByte
larger size than the default 4K sector size
if the flash supports.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-01-02 10:09:51 +01:00
Kai Meinhard
70ae47587a LOG: DICT: Forward the User Context Void pointer to backend
The dictionary logging passed the full log_output structure
to the backend instead of the user context void pointer.

Signed-off-by: Kai Meinhard <meinhard@gessler.de>
2024-01-02 10:09:27 +01:00
Flavio Ceolin
dd58f80fe2 doc: Static Analysis requirement
Sets static analysis  an indispensable requirement for our project
releases.

Static analysis is not merely a tool but a proactive
strategy to unearth and address potential issues in the early stages
of development, long before they mature into critical
vulnerabilities. By scrutinizing code at rest, static analysis unveils
latent defects and potential security risks, thus bolstering the
resilience of our software against future threats.

Fixes: #64591

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-02 10:09:14 +01:00
Martin Åberg
fdacddda08 posix: timer: Fix timer_obj alignment
This makes sure the heap posix_timer_slab provides objects aligned
compatible with the type timer_obj. It was previously set to align at 4
bytes. One example where this failed was on the SPARC which requires
access to int64_t to be 8-byte aligned.

In particular, struct timer_obj contains fields of type k_timer_t and
struct _timeout.

With this commit we now get the information on required alignment for
struct timer_obj from the compiler by using __alignof__().

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2024-01-02 10:09:00 +01:00
Armin Brauns
fdea851878 task_wdt: start feeding hardware watchdog immediately after init
Without this, the hardware watchdog would expire if no task watchdogs were
registered within one hardware watchdog period after init. Start the
background channel immediately after init to avoid this.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2024-01-02 09:52:13 +01:00
Christopher Friedt
10156f5f1d posix: mqueue: pop mode as int with va_arg()
There was some discussion about whether it was suitable to have
an architecture-specific workaround in mqueue.c after that
workaround was copied to a different source file in a PR.

The original issue was that newlib and picolibc declare mode_t
to be unsigned short instead of unsigned long when __svr4__
is not defined along with __sparc__. This is specifically
impactful, because va_arg() deals (mainly) with 32-bit and
64-bit values that are all naturally aligned to 4 bytes.

#if defined(__sparc__) && !defined(__sparc_v9__)
#ifdef __svr4__
typedef unsigned long __mode_t;
#else
typedef unsigned short __mode_t;
#endif

A uint16_t is naturally aligned to 2 bytes, so not only would
a 16-bit mode_t be corrupted, it would also generate a warning
with recent gcc versions which is promoted to error (rightfully
so) when run through CI.

mqueue.c:61:35: error: 'mode_t' {aka 'short unsigned int'} is
  promoted to 'int' when passed through '...' [-Werror]
   61 |                 mode = va_arg(va, mode_t);

Instead of using an architecture-specific workaround, simply
add a build assert that the size of mode_t is less than or
equal to the size of an int, and use an int to retrieve it
via va_arg().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Fri Dec 29 10:06:44 2023 -0500
#
# On branch posix-mqueue-always-use-int-for-mode-t-va-arg
# Changes to be committed:
#	modified:   lib/posix/mqueue.c
#	modified:   tests/posix/common/testcase.yaml
#
2024-01-01 16:36:31 -05:00
Fabio Baltieri
e67b12e636 lib: posix: tag the fallthrough case as __fallthrough
Use the __fallthrough directive on the switch fallthrough case and drop
the comment instead. This informs the compiler that the fallthrough is
intentional and silence any possible warning about it.

Drop the not reached case as I think that that part can actually be
reached since there are breaks in some of the cases.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-30 14:35:41 -05:00
Anas Nashif
aa4416624d twister: coverage: cleanup how we set gcov tool
Make sure we set the gcov tool in a consistent way and avoid issues
where path is set as Path instead of a string.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-29 10:50:14 +00:00
Alberto Escolar Piedras
c05a483ba4 lib posix: Allow building the POSIX_API library without the host libC
In theory one may want to build the POSIX compability shim
with a different C library than one provided with Zephyr,
so let's not prevent it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-28 09:58:23 -05:00
Alberto Escolar Piedras
23ad1177a2 Revert "lib: support linking to POSIX API with 3rd-party libc"
This reverts commit 6342aa3cc0.

This commit should never have been merged.
Apart from the fact that this change was rejected in previous
review,
this change is wrong, for 2 reasons:
1. The POSIX_API (POSIX compatibility shim) cannot be
built if the host libC is used.
2. The Zephyr libC CMake files were guarded so they
would not be dragged when CONFIG_EXTERNAL_LIBC was selected.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-28 09:58:23 -05:00
Christopher Friedt
e8ba19e0ee docs: posix: aep: correct some typos
* use _POSIX_AEP_REALTIME_DEDICATED instead of CONTROLLER
* use _POSIX_AEP_REALTIME_DEDICATED instead of MINIMAL in
  comment

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-28 12:19:26 +00:00
Christopher Friedt
ec69e64d4c posix: pthread_setspecific: fix for coverity issue cid 334906
* return EINVAL if pthread_self() is not a valid pthread

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-28 12:19:10 +00:00
Christopher Friedt
3458527a2c posix: pthread_getspecific: fix for coverity issue cid 334909
* remove unneeded line of code that duplicated the first part
  of the SYS_SLIST_FOR_EACH_NODE() expansion.
* return NULL if pthread_self() is not a valid pthread

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-28 12:19:10 +00:00
Krzysztof Chruściński
c48d61a4b4 lib: os: cbprintf: Fix size miscalculation in cbprintf_convert
When package contained RO string positions and flag indicates that
they shall not be kept, length was miscalculated which could lead
to failures (e.g. memory corruption).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-12-28 12:18:50 +00:00
Krzysztof Chruściński
b46d961abf tests: lib: cbprintf_package: Add test case for cbprintf_convert
Add test case for converting statically generated package which
contains RO and RW indexes. Converting shall append RW string
and discard RO index.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-12-28 12:18:50 +00:00
Gaetan Perrot
82cd7ad9b6 drivers: dac: sam: Add max value check
Add max size check to dac sam and sam0
There is no size check in dac_sam_write_value and dac_sam0_write_value.
Besides, the ret value should also be different.
Fixes #65021

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2023-12-28 12:08:27 +00:00
Andrei Emeltchenko
fc8b53bf10 drivers: pcie: Read register before actual usage
Move reading PCIE_CONF_CMDSTAT before actual usage. There are four
return branches before value is used.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-28 12:07:30 +00:00
Andrei Emeltchenko
4a17446636 drivers: pcie: Remove magic number
Use definitions instead of magic numbers.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-28 12:07:30 +00:00
Pieter De Gendt
cc920696ed tests: unit: util: Add tests for IF_DISABLED
Add a testcase for the IF_DISABLED macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-28 12:06:28 +00:00
Pieter De Gendt
b4cd9c462a sys: util_macro: Add IF_DISABLED
Add the opposite for IF_ENABLED macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-28 12:06:28 +00:00
Jaro Van Landschoot
be6cf5c268 soc: arm: atmel_sam: Sys_arch_reboot using RSTC
The previous implementation of the sys_arch_reboot function
for the Atmel SAM series was using NVIC_SystemReset.
This caused a reboot time of around 20 seconds on a SAM4SA16CA,
which is now reduced by directly writing to the
reset controller control register (RSTC_CR).

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
Co-authored-by: Gerson Fernando Budke <nandojve@gmail.com>
2023-12-28 12:05:53 +00:00
Christopher Friedt
6342aa3cc0 lib: support linking to POSIX API with 3rd-party libc
Previously it was not possible to link to Zephyr's
POSIX API under lib/posix when building with
`CONFIG_EXTERNAL_LIBC=y`.

This small change allows that to work as expected.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-28 06:14:22 -05:00
Flavio Ceolin
0bf5cbc1c8 syscall_handler: Fix warnings in K_SYSCALL_MEMORY
Put parenthesis around parameters in K_SYSCALL_MEMORY_SIZE_CHECK
to avoid possible warnings during the macro expansion.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-28 09:52:15 +01:00
Christopher Friedt
1f67dcbd89 posix: remove deprecated non-standard PTHREAD_MUTEX_DEFINE, etc
Remove the previously deprecated and non-standard macros
* PTHREAD_MUTEX_DEFINE()
* PTHREAD_COND_DEFINE()

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-28 03:40:57 -05:00
Flavio Ceolin
87d056bd31 syscall: Fix static analysis compalins
Since K_SYSCALL_MEMORY can be called with signed/unsigned size types, if
we check if size >= 0, static anlysis will complain about it when
size in unsigned.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-27 21:14:31 +01:00
Fabio Baltieri
ff8970318d input: define optional functions when generating documentation
Add a defined(__DOXYGEN__) condition for the optional APIs so that they
get included in the documentation.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-27 16:50:21 +00:00
Fabio Baltieri
4307882dd1 input: kbd_matrix: add actual key mask runtime control
Add an option to enable a input_kbd_matrix_actual_key_mask_set API to
enable or disable keys dynamically in the mask. This can be useful if
the exact key mask is determined in runtime and the device is using a
single firmware for multiple matrix configurations.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-27 16:50:21 +00:00
Pisit Sawangvonganan
250d50e8b6 drivers: rtc: set 'rtc_driver_api' as 'static const'
This change marks each instance of the 'rtc_driver_api' as 'static const'.
The rationale is that 'rtc_driver_api' is used for declaring internal
module interfaces and is not intended to be modified at runtime.
By using 'static const', we ensure immutability, leading to usage of only
.rodata and a reduction in the .data area.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2023-12-27 16:12:06 +00:00
Dmitrii Golovanov
7525cc7943 twister: coverage: Remove dead code at BinaryHandler
BinaryHandler.hanlde() method was trying to call GCOV and fails
silently because of incorrect call parameters. Moreover, even
being fixed, this call is not needed here as it attempts to
find and process .gcno and .gcna files (using wrong paths)
to create .gcov coverage text reports.
Currently the CoverageTool class does all data processing
and report generation using GCOVR or LCOV tools instead of
direct calls to GCOV.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-27 16:10:46 +00:00
Chekhov Ma
d1c6bb5cb4 imx8m: auto generate mmu_regions array from dt compatiable
Adopt the "MMU_REGION_DT_FLAT_ENTRY" macro to automatically generate
elements in "mmu_regions" according to devicetree "compatible" and
"status".

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-12-27 16:09:42 +00:00
Chekhov Ma
81c5a093f3 imx93: auto generate mmu_regions array from dt compatiable
Adopt the "MMU_REGION_DT_FLAT_ENTRY" macro to automatically generate
elements in "mmu_regions" according to devicetree "compatible" and
"status".

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-12-27 16:09:42 +00:00
Chekhov Ma
3f148d6bb4 arch: arm: mmu: generate mmu region entry from devicetree
Many peripherals have multiple instances, whether each of them
are enabled are not known. Adding all available instances into
"mmu_regions" array may not be the best choice.
This commit adds a macro to generate mmu region entry in "mmu_regions"
from devicetree. Used with "DT_FOREACH_STATUS_OKAY_VARGS", it generates
mmu region entry for all nodes enabled and compatiable to a certain
driver.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-12-27 16:09:42 +00:00
Seppo Takalo
dc6e7aa4b1 net: lwm2m: Add transmission state indicator to RX as well
Refactored the socket state indication into its own function
that checks the state of TX queues as well as number of
pending CoAP responses.
Check the state after receiving a packet, as it might
have been a last Ack packet we have been waiting.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-27 16:07:59 +00:00
Théo Battrel
ba80bc7134 Tests: Bluetooth: Fix conn_stress compilation warn
On newer GCC version warnings were emitted because of a `memcpy`. The
size parameter was larger than the source's size because it was using
the size of the destination, which was a `bt_uuid_128` when the source
is a `bt_uuid_16`.

Fix the issue by creating a new variable for CCC UUID in both the
central and peripheral code. The variable need to be static because the
discover parameters must remain valid until the start of the discover
attribute callback.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2023-12-27 16:07:46 +00:00
Andrei Emeltchenko
c771a66c6c boards: intel_rpl: Update documentation for Raptor Lake
Update documentation to include Raptor Lake P and update link to
the correct online datasheet.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-27 16:06:19 +00:00
Andrei Emeltchenko
c62e371b3c samples: bme280: Fix indentation for ADL-N overlay
Fix indentation in the intel_adl_crb board overlay file.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-27 16:06:19 +00:00
Andrei Emeltchenko
5d0ba230b8 tests: samples: watchdog: Add intel_rpl_p_crb overlay
Add overlay to enable watchdog for build test and sample.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-27 16:06:19 +00:00
Bindu S
f806c04abe samples: sensor: Enable bme280 sensor using I2C driver for RPL-P
Added overlay to enable bme280 sensor
using i2c on intel_rpl_p_crb board.

Signed-off-by: Bindu S <bindu.s@intel.com>
2023-12-27 16:06:19 +00:00
Bindu S
3974882b42 tests: drivers: spi: spi_loopback: Enabled SPI in RPL-P
Added overlay and conf to enable SPI tests on RPL-P board.

Signed-off-by: Bindu S <bindu.s@intel.com>
2023-12-27 16:06:19 +00:00
Anisetti Avinash Krishna
b14feec6c4 boards: x86: rpl_crb: rpl_p_crb: Enabled GPIO in RPL-p
Enabled GPIO basic api test for RPL-P platform

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-27 16:06:19 +00:00
Anisetti Avinash Krishna
b7609ff5a8 soc: x86: raptor_lake: soc_gpio : Modified to support RPL-P
Added Modifications to support RPL-P platform.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-27 16:06:19 +00:00
Andrei Emeltchenko
465c34ef58 boards: Add Raptor Lake P board configuration
Add board configuration for Intel Raptor Lake P board.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-27 16:06:19 +00:00
Andrei Emeltchenko
0bbd834e14 raptor_lake: Rename raptor_lake.dts to raptor_lake_s
Rename old rpl_crb to rpl_s_crb, which is needed for adding other
Raptor Lake boards. Main changes should be in the board device tree
configuration raptor_lake_p vs raptor_lake_s.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-27 16:06:19 +00:00
Ian Wakely
2a647c81cf board: Fixing ADC API tests for W5500_EVB_PICO.
When duplicating the rpi_pico board, I had missed this test file.

Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
2023-12-27 16:04:26 +00:00
Ian Wakely
c2266dd3a0 board: Adding support for W5500 Eval Board.
The W5500_EVB_PICO is an evaluation board for the Wiznet W5500
ethernet mac/phy based on the Raspberry Pi Pico.

Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
2023-12-27 16:04:26 +00:00
Dawid Niedzwiecki
d64ce2531d mgmt: ec_host_cmd: add PM for SPI STM32 backend
The SPI STM32 Host Command backend doesn't use general SPI driver, so it
has to implement Power Management on its own.

The suspend procedure includes: setting pins to the sleep state,
disabling device clock and disabling CS pin interrupt.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-12-27 15:59:32 +00:00
Daniel Leung
debb9f6352 xtensa: dc233c: force invalidating TLBs during page table swap
QEMU MMU tracing showed that there might be something wrong with
its Xtensa MMU implementation, which result in access violation
when running samples/userspace/hello_world_user.

Here is the MMU trace from QEMU from failed runs:

  get_pte: autorefill(00109020): PTE va = 20000424, pa = 0010c424
  get_physical_addr_mmu: autorefill(00109020): 00109000 -> 00109006
  xtensa_cpu_tlb_fill(00109020, 1, 0) -> 00109020, ret = 0
  xtensa_cpu_tlb_fill(00109028, 1, 0) -> 00109028, ret = 0
  xtensa_cpu_tlb_fill(00109014, 0, 2) -> 00103050, ret = 26

The place where it fails is during reading from 0x109014.
From the trace above, the auto-refill maps 0x109000 correctly
with ring 0 and RW access with WB cache (which should be correct
the first time under kernel mode). The page 0x109000 is the libc
partition which needs to be accessible from user thread.
However, when accessing that page, the returned physical address
became 0x103050 (and resulting in load/store access violation).
We always identity map memory pages so it should never return
a different physical address.

After forcing TLB invalidation during page table swaps, the MMU
trace is:

  get_pte: autorefill(00109020): PTE va = 20000424, pa = 0010c424
  get_physical_addr_mmu: autorefill(00109020): 00109000 -> 00109006
  xtensa_cpu_tlb_fill(00109020, 1, 0) -> 00109020, ret = 0
  get_pte: autorefill(00109028): PTE va = 21000424, pa = 0010e424
  get_physical_addr_mmu: autorefill(00109028): 00109000 -> 00109022
  xtensa_cpu_tlb_fill(00109028, 1, 0) -> 00109028, ret = 0
  get_pte: autorefill(00109014): PTE va = 21000424, pa = 0010e424
  get_physical_addr_mmu: autorefill(00109014): 00109000 -> 00109022
  xtensa_cpu_tlb_fill(00109014, 0, 2) -> 00109014, ret = 0
  xtensa_cpu_tlb_fill(00109020, 0, 0) -> 00109020, ret = 0

Here, when the same page is accessed, it got the correct PTE
entry, which is ring 2 with RW access mode (but no cache).
Actually accessing the variable via virtual address returns
the correct physical address: 0x109014.

So workaround that by forcing TLB invalidation during page swap.

Fixes #66029

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-27 15:59:05 +00:00
Daniel Leung
fa25c0b0b8 xtensa: mmu: invalidate mem domain TLBs during page table swap
This adds a kconfig to enable invalidating the TLBs related to
the incoming thread's memory domain during page table swaps.
It provides a workaround, if needed, to clear out stale TLB
entries used by the thread being swapped out. Those stale
entries may contain incorrect permissions and rings.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-27 15:59:05 +00:00
Mateusz Junkier
949e5120d3 pm: increase coverage - add missing api tests
add missing api tests reported by codecov

Signed-off-by: Mateusz Junkier <mateusz.junkier@intel.com>
2023-12-27 15:57:39 +00:00
Mateusz Junkier
501e67acd2 pm: increase coverage - add missing test assert
cover missing lines reported by codecov

Signed-off-by: Mateusz Junkier <mateusz.junkier@intel.com>
2023-12-27 15:57:39 +00:00
Jerzy Kasenberg
4e7950e4bd drivers: hwinfo: implemented hardware info support for Smartbond
Only reset cause is supported as there is no common unique id
present on those chips.
Unique ID can be put in OTP but there is no single specification for this.

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2023-12-27 15:56:44 +00:00
Hang Fan
915f0fd74c Bluetooth: Shell: Fix coverity issue in cmd_adv_data
Fix wrong parameter type to avoid Unsigned compared against 0

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/65578

Signed-off-by: Hang Fan <fanhang8@gmail.com>
2023-12-27 12:36:23 +02:00
Lucas Tamborrino
ff62faac07 soc: xtensa: esp32s2/s3: remove HEAP_MEM_POOL_ADD_SIZE_SOC
There is no need for this config here and it is messing
with total sys heap calculation.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-12-27 10:08:47 +02:00
Rodrigo Peixoto
2312897055 Build System: clang-format: add K_SPINLOCK to FOR_EACH
The K_SPINLOCK is been indented wrongly by clang-format. It fixes that
adding the K_SPINLOCK to the FOR_EACH section rule tells the formatter
to follow the rule to indent the code.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-12-26 19:36:01 +00:00
Christopher Friedt
b702c8e8f0 tests: posix: pthread: test that big stacks can be allocated
In some cases, users want to allocate (comparatively) massive
thread stacks.

Add a test to ensure we can allocate such a stack by default.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-23 22:29:41 -05:00
Christopher Friedt
fcd139d7af posix: pthread: support stack sizes larger than 65k
A previous size optimization capped the pthread_attr_t stacksize
property at 65536. Some Zephyr users felt that was not large
enough for specific use cases.

Modify struct pthread_attr to support large stack sizes by
default with the flexibility to allow users to vary the number
of bits used for both stacksizes and guardsizes.

The default guardsize remains zero sinze Zephyr's stack
allocators already pad stacks with a guard area based on other
config parameters, and since Zephyr is already designed to
support both SW and HW stack protection at the kernel layer.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-23 22:29:41 -05:00
Daniel DeGrasse
beb43bdf20 soc: arm: nxp: add MK22F12 definition
Add SOC definition for MK22F12 series, larger LQFP-144 K22 series
parts that feature additional peripheral instances.

Additionally, these parts differ from the standard MK22 in the following
ways:
- SYSMPU peripheral is present, so an MPU definition is required
- No external oscillator divider is present

This commit also updates the NXP HAL to include pin control files for
these SOCs.

Signed-off-by: Daniel DeGrasse <daniel@degrasse.com>
2023-12-23 10:00:36 +00:00
Fabio Baltieri
66a06d955a input: use K_KERNEL_STACK_SIZEOF to set the thread stack size
Use K_KERNEL_STACK_SIZEOF instead of the config directly to set the
stack size in k_thread_create() calls.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-23 09:59:28 +00:00
Keith Short
f6a7895496 twister: Fix exception when running coverage
Fix an exception when running coverage using gcov or llvm-cov.

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/66897

Signed-off-by: Keith Short <keithshort@google.com>
2023-12-22 16:36:40 -05:00
Anas Nashif
8ad22f7df4 twister: coverage: verify existence of tools before trying to use them
Verify we have the coverage tool we want to use, otherwise we will end
up with many warnings and errors during coverage data collection.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-22 14:30:18 -05:00
Emil Gydesen
547ffdab6e Bluetooth: MICP: Add mic_ctlr_get_by_conn
Add function to get a MICP microphone controller
instance from a connection pointer. This is effectively
the reverse of bt_micp_mic_ctlr_conn_get, and works similar to
bt_vcp_vol_ctlr_get_by_conn.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-22 14:41:17 +00:00
Mariusz Skamra
2bb8855467 Bluetooth: audio: tbs: Add call_alloc/call_free helper functions
This removes duplicated code by adding helper functions to allocate
and free bt_tbs_call objects.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-22 14:41:00 +00:00
Mariusz Skamra
1894fa1979 Bluetooth: audio: tbs: Simplify bt_tbs_set_signal_strength function
Simplify the function flow, by sending the signal strength notification
in one place, the reporting_interval_work handler.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-22 14:41:00 +00:00
Mariusz Skamra
b728ff9ed3 Bluetooth: audio: tbs: Factor out GTBS and TBS common code
This refactors the code to remove code duplicates by creating common
tbs_inst object.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-22 14:41:00 +00:00
James Anderson
6bf63b252a boards: arm: add usb_otg_hs instance to stm32f429i_disc1
This adds the pins for the board's USB Micro-B connector to the device
tree as zephyr_udc0, allowing USB examples to run natively on the board

Signed-off-by: James Anderson <jrsa@jrsa.co>
2023-12-22 14:40:47 +00:00
Dmitrii Golovanov
f688532412 twister: coverage: Add command line options check for reporting
Additional checks for Twister command line options `--coverage-tool`
and `--coverage-formats`.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-22 09:54:19 +01:00
Dmitrii Golovanov
8e3a3b4845 twister: coverage: GCOVR as defautlt coverage reporting tool
Twister now uses GCOVR by default as the more reliable code
coverage reporting tool instead of LCOV.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-22 09:54:19 +01:00
Anas Nashif
0b999c0943 lib: move utilities into own folder
Move various utilities out of lib into own folder for better assignement
and management in the maintainer file. lib/os has become another dumping
ground for everything and it the Kconfig and contents in that folder
became difficult to manage, configure and test.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-22 09:54:12 +01:00
Anas Nashif
e710c9ce9e MAINTAINERS: Cover as many files as possible
Gone through orphaned files and added those to relevant areas and
created new areas. Initially, some of the areas have the minimal
required data, i.e. without maintainers or collaborators which can be
filled in later.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-22 09:54:12 +01:00
Anas Nashif
8ade97c1d2 MAINTAINERS: add related tests to areas
Add a reference to related tests in each area.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-22 09:54:12 +01:00
Anas Nashif
cf640fef61 MAINTAINERS: add 2 new keys: tags, tests
Add two new keys: tags, tests.

tags for aligning with what we use in tests and samples and tests to
associate areas and components with tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-22 09:54:12 +01:00
Anas Nashif
e86b44751c tests: usb: move bc12 tests under tests/drivers/usb
Move bc12 under usb, this is not a standalone driver subsystem.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-22 09:54:12 +01:00
Anas Nashif
f296ea58a3 tests: ieee802154: fix test identifier
Fix test identifier and use correct component.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-22 09:54:12 +01:00
Seppo Takalo
071cad2e76 net: lwm2m: Deprecate lwm2m_get/set_u64
Deprecate lwm2m_set_u64() and lwm2m_get_u64 as only
LWM2M_RES_TYPE_S64 exist. Unsigned variant is not defined.

Technically these might have worked OK, but it is undefined
what happens to large unsigned values when those are
converted to various payload formats (like CBOR) that might
decode numbers differently depending of their signedness.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-22 09:54:07 +01:00
Sylvio Alves
f68fbd6984 driver: ble: esp32: implement deinit function
Current ESP32 BLE interface does not allow disabling
BLE. This PR adds proper deinit call.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-12-22 09:54:00 +01:00
Francois Ramu
82bace6e0d tests: drivers: dma test on stm32f7 requires nocache memory
Config the sram0 to be non-cachable to PASS the DMA testcases
chan_blen_transfer and loop_transfer
on the stm32f746zg and stm32f767zi nucleo boards.

The CONFIG_NOCACHE_MEMORY is useless as the memory region
gets the NOCACHE ATTRibutes for stm32H7 or stm32F7 as well.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-22 09:53:39 +01:00
Francois Ramu
800edb2b69 dts: arm: stm32f7 declares sram0 as zephyr, memory-region
Declare the SRAM0 region as memory-region
for the stm32f745 serie. Will be included for the stm32f746
for the stm32f765 serie. Will be included for the stm32f767
for the stm32f722 serie. Will be included for the stm32f723

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-22 09:53:39 +01:00
Erwan Gouriou
0a3b601ace boards: nucleo_wba55cg: Provide sleep configuration to usart1
Useful to achieve minimum consumption in stop mode.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-22 09:53:33 +01:00
Erwan Gouriou
3f61150d0a drivers: clock_control: stm32wba: set regu voltage after clk configuration
Call to set_regu_voltage() is required also after the clock configuration
has been performed.


Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-22 09:53:33 +01:00
Erwan Gouriou
79599a15d4 soc: stm32: stmw32wba: Get stop mode compatible with BLE
Supporting Stop1 mode while BLE RF is enabled requires some specific
adaptation and usage of STM32WBA Cube BLE controller scm API.

scm (Secure clock manager) is in charge of switching clock depending
on RF status and should be informed of PM stop modes scheduling.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-22 09:53:33 +01:00
Jukka Rissanen
1a0b6745bd net: shell: Print more Ethernet statistics
Various Ethernet error statistics values were not printed
by the shell.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-22 09:53:26 +01:00
Ian Wakely
9835957df0 board: adafruit_qt_py_rp2040: Adding test overlay.
Adding a board overlay for the ADC API driver test.

Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
2023-12-22 09:53:21 +01:00
Kelly Helmut Lord
eb12e5454f board: Add support for Adafruit QT PY RP2040
Adding support for the Adafruit QT PY RP2040.

Signed-off-by: Kelly Helmut Lord <helmut@helmutlord.com>
Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
2023-12-22 09:53:21 +01:00
Anisetti Avinash Krishna
2052e9f19b dts: bindings: dma: intel_lpss: remove parent-node
Remove parent node to make a common interface for LPSS DMA.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-22 09:52:59 +01:00
Anisetti Avinash Krishna
6bc401f30a dts: x86: intel: raptor_lake: update DMA and I2C instance
Update DMA and I2C to support latest LPSS DMA interface.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-22 09:52:59 +01:00
Anisetti Avinash Krishna
53b717edd6 drivers: i2c: i2c_dw: update DMA node access in I2C dw
Update DMA node access from paren-node to dmas property in dts instance.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-22 09:52:59 +01:00
Anisetti Avinash Krishna
a0ce427848 drivers: dma: intel_lpss: enable reload API for 32bit DMA address
Enable dma_reload API for DMA 32bit address transfer.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-22 09:52:59 +01:00
Anisetti Avinash Krishna
096635b212 drivers: dma: intel_lpss: update LPSS DMA init interface
Update LPSS DMA init interface which is common and
independent of parent-node.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-22 09:52:59 +01:00
TOKITA Hiroshi
2f2d8143f4 dt-bindings: interrupt-controller: ra-icu: Correct event numbers
The 64 is a missing entry in this event number table.
All after the 64th entry have shifted one before.

https://www.renesas.com/jp/ja/document/mah/renesas-ra4m1-group-users-manual-hardware?r=1054146#G17.2544398

I corrected the after of the 64th entry to the correct number.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-12-22 09:52:50 +01:00
TOKITA Hiroshi
4dde6dc0f1 dts: arm: renesas: ra: Enable built-in clock by default
The hoco, moco, and loco are always available.
Enable these by default.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-12-22 09:52:50 +01:00
TOKITA Hiroshi
32276bc2c1 drivers: clock_control: ra: fix initialization of the clock_hw_cycles
We should set the z_clock_hw_cycles_per_sec as the value of
the system clock frequency.

There was a mistake in referencing the clock source set before
initialization.
I corrected it to reflect the clock value after initialization.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-12-22 09:52:50 +01:00
Najumon B.A
c146833fc8 drivers: pcie: fix for mmio size region calculation
I/O or memory decoding should be disabled via the command register
before sizing BAR for calculation MMIO size

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-12-22 09:52:40 +01:00
Jonas Woerner
2842f206eb Bluetooth: Host: add hci error to errno translation for INVALID_PARAM
now returns -EINVAL if invalid parameters a are supplied

Signed-off-by: Jonas Woerner <github@bolake.de>
2023-12-22 09:52:29 +01:00
Henrik Brix Andersen
6d5d06689b drivers: can: native_linux: leave room for null termination of string
Only copy up to IFNAMSIZ - 1 number of characters of the interface name to
leave room for null termination of string.

Fixes: #66777

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-22 09:49:39 +01:00
Henrik Brix Andersen
c067f4d263 drivers: can: native_linux: add missing return value check
Check return value from linux_socketcan_set_mode_fd() function call.

Fixes: #66798

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-22 09:49:39 +01:00
Manuel Aebischer
8cf199fb04 drivers: usb_dc_rpi_pico: previosuly used endpoint may remain locked
When reconfiguring a previously used endpoint, it may still be locked
when a write was taking place when e.g. the host application crashed.
The call to udc_rpi_cancel_endpoint seems to do a proper cleanup of
the endpoint, i.e. the write semaphore will be released.
Fixes #66723.

Signed-off-by: Manuel Aebischer <manuel.aebischer@netmodule.com>
2023-12-21 17:18:49 +00:00
Magdalena Kasenberg
e05d964b46 bluetooth: audio: broadcast: Fix missing update of meta_len
The length of the updated metadata was not updated.
Fixes the CAP/INI/BST/BV-13-C test case.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-12-21 17:18:09 +00:00
Marc-Antoine Riou
8e1bc2b058 samples: ipc: Update openamp rsc table documentation
This change follow the recent commit that update openamp rsc table logs.
Add the logs for both samples sample client & TTY responder,
as well as for both sides Linux & Zephyr.
Remove the serial connection to Zephyr because it is board specific.

Signed-off-by: Marc-Antoine Riou <marc-antoine.riou@iot.bzh>
2023-12-21 17:17:36 +00:00
Marc-Antoine Riou
71138d4001 samples: ipc: Add logs in openamp rsc table loops
Add logs in both of the openamp rsc table loops to stick with
what is shown in Zephyr documentation. Prefix each message with the loop
name and unify logs with those from rpmsg_client_sample module.

Signed-off-by: Marc-Antoine Riou <marc-antoine.riou@iot.bzh>
2023-12-21 17:17:36 +00:00
Marc-Antoine Riou
d470f464eb samples: ipc: Fix length of message to send in openamp rsc table sample
Sample openamp_rsc_table was sending too many characters to master.
It was displayed as unrecognised character when reading message on master.

Signed-off-by: Marc-Antoine Riou <marc-antoine.riou@iot.bzh>
2023-12-21 17:17:36 +00:00
Aaron Ye
5f83c3fe4d dts: arm: ambiq: Use DT_FREQ macro for frequency configuration.
This commit updates the Ambiq Apollo4x series soc clock frequency
of defined instances to align with context of these dts files.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-21 17:17:11 +00:00
Aaron Ye
6c4751220a boards: arm: apollo4p_evb: Update the support feature.
This commit updates the support features in document and yaml files
of Ambiq apollo4p_evb and apollo4p_blue_kxr_evb.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-21 17:17:11 +00:00
Fabio Baltieri
8c83185f6e tests: add an kbd_matrix test suite
Add an initial test suite for the keyboard scanning input library.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-21 10:12:33 +00:00
Fabio Baltieri
978b0bb5ea tests: input: add a gpio-kbd-matrix test suite
Add an initial test suite for the gpio-kbd-matrix driver.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-21 10:12:17 +00:00
Benjamin Cabé
109c53dae8 doc: kconfig: redirect: Add redirects for some old URLs
Documentation pages around Kconfig have moved around on a couple of
occasions in the past [1] [2] and current redirects were dysfonctional
(leading /) and incomplete, while an entire set of redirects was also
missing. This notably fixes the "browse latest development version of
this page" link on
https://docs.zephyrproject.org/2.7.5/guides/build/kconfig/tips.html or a
link to the "Kconfig tips" page as found in Kconfiglib's current README
(https://pypi.org/project/kconfiglib/)

[1] commit 5342bc64dd [2] commit
5c88418428

Fixes #66701

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-21 10:02:58 +00:00
Benedikt Schmidt
4c731f27c6 shell: modules: do not use k_thread_foreach with shell callbacks
Always use k_thread_foreach_unlocked with callbacks which print
something out to the shell, as they might call arch_irq_unlock.
Fixes #66660.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-21 10:01:08 +00:00
Benjamin Cabé
ed5352ffce coc: Update Code of Conduct to latest Contributor Covenant
As per the changelog of the Contributor Covenant between versions 1.4
and 2.1, the main changes are:

2.0
- Emphasizes 'community' over 'project' scope, effectively merging the
  Community Covenant into the Contributor Covenant
- Adds expectation about accepting responsibility and apologizing to
  those affected by mistakes, and learning from the experience to the
  list
- Adds sexual attention and advances of any kind as unacceptable
  behavior example
- Moves enforcement responsibilities from project maintainers to
  community leaders
- Adds responsibility to communicate reasons for moderation decisions
  when removing, editing, or rejecting contributions not aligned to the
  Code of Conduct
- Requires community leaders to respect privacy and security of the
  reporter of any incident, not just confidentiality
- Provides a template for code of conduct enforcement

2.1
- Adds 'caste' and 'color' to the preamble

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-21 09:38:23 +00:00
Erwan Gouriou
098df08bbc drivers: bluetooth: stm32wba: Configure flash manager
Configure flash manager at BLE init.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-21 09:19:24 +01:00
Erwan Gouriou
c81e2ff68a boards: nucleo_wba52cg: Add a user flash partition
This partition could be used by application.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-21 09:19:24 +01:00
Erwan Gouriou
f6555aa95e drivers: flash: stm32wba: Use STM32WBA Flash manager for RF coexistence
When Bluetooth is enabled, it is required to arbitrate flash accesses
between RF and write accesses (for user activity).
A dedicated flash manager is provided as part of STM32WBA BLE lib.

Implement a dedicated driver using FM Apis to handle RF activity.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-21 09:19:24 +01:00
Erwan Gouriou
7c09139d6f west.yml: Use STM32WBA BLE lib with Flash manager
Flash coexistence facility is provided by a dedicated BLE controller
driver added in hal_stm32 WBA lib.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-21 09:19:24 +01:00
Erwan Gouriou
2908458554 soc: stm32wba: hci_if: Implement HW_RNG_EnableClock API
STM32WBA controller uses a PKA driver to perform cyphering operations
on keys. Since PKA hardware block requires RNG clock to be enabled, a
synchronization with zephyr RNG driver is needed.

Use RNG enable status to check if RNG could be switched off or needs to
be switched on.
Similarly in entropy driver, don't cut RNG clock if PKA is enabled.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-21 09:18:53 +01:00
Anas Nashif
0175f9627b ci: codecov: increase stack size for tests
Increase stack size for tests and exclude nono libc scenarios causing
some issues with coverage collection.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Anas Nashif
2b43582236 tests: add a tag for nano libc tests
tag nano libc tests with nano so we can exclude them if needed. Now they
cause issues when collecting coverage information from tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Anas Nashif
8bfa8556b0 ci: codecov: add mps2_an385 as a coverage platform
Add one more ARM based platform to get more code coverage.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Anas Nashif
05315ea6af kernel: fatal: remove LCOV exclusion
line is already excluded as part of the function.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Anas Nashif
f772bd1106 ci: codecov: use gcovr and upload cobertura style file
Use gcovr to generate reports and upload cobertura style file instead of
previously lcov info file.

We have been seeing issues with lcov format and code being reporting as
not covered although by inspecting the generate output files, they
should be.

The XML format we generate is otherwise easier to parse and deal with.

Also reduce frequency to twice a day.

Fixes #66656

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Jordan Yates
1ef0ec55c9 net: ip: dhcpv4: remove address on interface down
Any received address is no longer valid once the interface goes down.
Leaving the address assigned results in the L4 interface transitioning
through the following on reconnection:
 UP: Interface is connected
 DOWN: Old address is removed by DHCP
 UP: New address is re-added by DHCP

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-21 09:18:32 +01:00
Jordan Yates
434c93ddfb net: conn_mgr: output events as hex
Networking events are masks of bits, which are almost impossible to read
as decimal, and trivial to read as hex. Also unifies the format string
across multiple outputs for some flash savings.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-21 09:18:32 +01:00
Jukka Rissanen
19392a6d2b net: ipv4: Drop packet if source address is my address
If we receive a packet where the source address is our own
address, then we should drop it.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-21 09:18:24 +01:00
Jukka Rissanen
6d41e68352 net: ipv4: Check localhost for incoming packet
If we receive a packet from non localhost interface, then
drop it if either source or destination address is a localhost
address.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-21 09:18:24 +01:00
Aleksander Wasaznik
700f640948 Bluetooth: ATT: Reject read-by-uuid rsp outside range
A bad peer responding to read-by-uuid can return handles outside the
requested range. This confuses the stack. In particular, the "continue"
and "end" logic in the same function relies on this assumption.

This bad peer was a real issue at UPF, and it caused an infinite loop
during discovery.

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/50686

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-21 09:18:14 +01:00
Fabio Baltieri
c0e6629b7b input: npcx_kbd: setup the interrupt to falling edge only
The driver works on active low signals only, change the interrupt
configuration to trigger on falling edges only.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-20 18:07:43 +00:00
Daniel Leung
a7dccc4475 kernel: mmu: mitigate range check overflow issue
It is possible that address + size will overflow the available
address space and the pointer wraps around back to zero. Some
of these have been fixed in previous commits. This fixes
the remaining ones with regard to Z_PHYS_RAM_START/_END,
and Z_VIRT_RAM_START/_END.

Fixes #65542

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-20 11:37:17 -05:00
Grzegorz Chwierut
e9aa3e36a9 twister: second fix for hardware map detection
When scanning ports the manufacture field is not always
filled. It must be checked before using.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-12-20 10:19:19 -05:00
Lars Knudsen
95f8c2666a samples: WebUSB: Fix MS OS 2.0 descriptor
The sample did not correctly select the WinUSB
driver for the WebUSB interface as required
on Windows when CDC ACM was included in the
build configuration (the case for e.g. nRF52840
Dongle).

Introduce correct function subset header in the
MS OS 2.0 descriptor.

Signed-off-by: Lars Knudsen <larsgk@gmail.com>
2023-12-20 14:35:35 +00:00
Christopher Friedt
dbd4b82f1c doc: posix: support pthread_getguardsize pthread_setguardsize
Mark pthread_getguardsize() and pthread_getguardsize() as
supported.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-20 14:20:58 +00:00
Christopher Friedt
5c78c66fc2 tests: posix: headers: check for pthread get / set guardsize
Add checks to ensure that pthread_getguardsize() and
pthread_setguardsize() are callable.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-20 14:20:58 +00:00
Christopher Friedt
5e245bd42e tests: posix: tests for pthread_getguardsize() pthread_setguardsize()
Add tests for pthread_getguardsize() and pthread_setguardsize().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-20 14:20:58 +00:00
Christopher Friedt
a7d2c5cb32 posix: implement pthread_getguardsize() pthread_setguardsize()
Implement pthread_getguardsize() and pthread_setguardsize().

pthread_getguardsize() and pthread_setguardsize() are required
by the POSIX_THREADS_EXT Option Group as detailed in Section
E.1 of IEEE-1003.1-2017. However, they were formerly part of
XSI_THREADS_EXT.

The XSI_THREADS_EXT Option Group was required for PSE51, PSE52,
PSE53, and PSE54 conformance.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-20 14:20:58 +00:00
Christopher Friedt
eb7e4bed98 posix: pthread_attr: use space in struct more efficiently
This change reduces the space occupied by struct pthread_attr
which is the internal type used for pthread_attr_t.

We cap the stack size at 16 bits (so up to 65536 bytes) and
since a stack size of 0 is invalid, we can encode the stack
size by simply subtracting 1 or adding 1 when setting or
getting.

The schedpolicy is capped at 2 bits and initialized,
cancellable, and detached are given 1 bit.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-20 14:20:58 +00:00
Christopher Friedt
746a3b943d tests: posix: use consistent min stack sizes
* Use PTHREAD_STACK_MIN as provided by the specification
  instead of a hard-coded value of 1024
* add extra stack size to semaphore tests

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-20 14:20:58 +00:00
Sylvio Alves
ecda72079e esp32: overlays: remove unused dt-binding headers
All overlay headers are not necessary to be included.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-12-20 14:17:49 +00:00
Sylvio Alves
2f2ee91947 pinctrl: esp32: move files from hal_espressif to main
ESP32 family pinctrl files are currently placed in hal_espressif.
Move to main branch as part of pinctrl dt-bindings.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-12-20 14:17:49 +00:00
Yong Cong Sin
d1f3f863f1 soc/xtensa/intel_adsp: fix interrupts typo
Hex should be `0x` instead of `0X`

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-20 09:16:45 -05:00
Carles Cufi
d053b8bf3b doc: Rename stable API change to breaking change
It is often confusing for users and developers alike to see the sentence
"stable API change" in a label or in the release notes. Stable APIs can
change in at least two ways (retaining compatibility or not), and so it
is preferrable to use a term that clearly describes the change as
incompatible, by using the common term "breaking".

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-12-20 09:12:44 -05:00
Anisetti Avinash Krishna
a6fda00254 drivers: spi: pw: Fix SPI Receive FIFO set
Fixes SPI Receive FIFO register set operation.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-20 11:58:56 +00:00
Seppo Takalo
6161fbdf21 net: lwm2m: Transmission state indications
Allow engine to give hints about ongoing CoAP transmissions.
This information can be used to control various power saving
modes for network interfaces. For example cellular networks might
support release assist indicator.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-20 11:57:48 +00:00
Seppo Takalo
0d650ffd26 net: lwm2m: Update TX timestamp on zsock_send()
In slow networks, like Nb-IOT, when using queue mode,
there might be significant delay between the time we
put the packet into a transmission queue and the time
we actually start transmitting.
This might cause QUEUE_RX_OFF state to be triggered earlier
than expected. Remedy the issue by updating the timestamp on the
moment where packet is accepted by zsock_send().

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-20 11:57:48 +00:00
Seppo Takalo
01568b573a net: coap: Add API to count number of pending requests
Add coap_pendings_count() that return number of waiting
requests on the pendings array.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-20 11:57:48 +00:00
Anas Nashif
a4356da484 ci: version_mgr: minor cleanups
- store downloaded version file in a temporary file.
- list weekly builds

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-20 11:57:36 +00:00
William Leara
12c51f8937 style: fix misspelling in "precededs"
Should be "precedes".

Signed-off-by: William Leara <william.leara@dell.com>
2023-12-20 11:55:46 +00:00
Erwan Gouriou
b17b496ec7 boards: nucleo_wba52cg: Enable HSI16 clock
By default rng source is using HSI16 clock.
It has to be enabled on as part of board support.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-20 11:12:39 +00:00
Anders Storrø
7d373c7c28 Bluetooth: Mesh: Fix broken proxy adv test
Relaxes test requirements for proxy_adv_multi_subnet_coex
to resolve failing test on CI.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-12-20 11:48:18 +01:00
Ren Chen
5762d022dc drivers: usb: usb_dc_it82xx2: optimize the basic/extend endpoints control
This commit refactors the basic and extended endpoint control functions to
enhance readability.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2023-12-20 11:15:38 +01:00
Ren Chen
40fa61213e drivers: usb: usb_dc_it81xx2: refactor transaction complete isr function
This commit refactor transaction complete callback function.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2023-12-20 11:15:38 +01:00
Ren Chen
5846412167 drivers: usb: usb_dc_it82xx2: correct the extend endpoint control
There are some issues with the extended endpoint settings. The incorrect
setting leads to the chip being unable to respond with NAK when the host
polls the extended endpoint for data transfers. Additionally, the controls
for the extended endpoint's ISO and PID data sequence are also incorrect.
This commit addresses these issues to properly support extended endpoint
transactions.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2023-12-20 11:15:38 +01:00
Ren Chen
d6cc083c2c drivers: usb: usb_dc_it82xx2: usb driver cleanup
Cleans up the it82xx2 usb driver.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2023-12-20 11:15:38 +01:00
Ren Chen
1c48b77ffa drivers: usb: usb_dc_it82xx2: remove unused code and debug msg
This change remove unused code and debug messages.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2023-12-20 11:15:38 +01:00
Ren Chen
13788d4649 drivers: usb: usb_dc_it82xx2: correct the FIFO control
There are two registers that control the selection of one FIFO as data
buffer for 15 endpoints (ep1-ep15). Both registers should be configured
before sending and receiving data. Additionally, there was an issue with
the corresponding FIFO index setting in the 'usb_dc_ep_read_continue'
function, which has been addressed in this commit.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2023-12-20 11:15:38 +01:00
Ren Chen
e23ae3b678 drivers: usb: usb_dc_it82xx2: refactor usb driver with macros
Refactor the code using macros to enhance readability.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2023-12-20 11:15:38 +01:00
Laurentiu Mihalcea
52deadd420 clock_control: imx_ccm: Add support for i.MX93's SAI clocks
This commit introduces support for querying
i.MX93's SAI clocks.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-12-20 11:15:13 +01:00
Laurentiu Mihalcea
fe64d840cc drivers: dai: Add driver for NXP's SAI
This commit introduces a new DAI driver used for NXP'S SAI IP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-12-20 11:15:13 +01:00
Laurentiu Mihalcea
897897970b include: dai.h: Add definitions for parsing dai_config's format field
This commit introduces some macros and enums which can
be used to parse struct dai_config's format field. This is
required by the SAI driver since it uses dai_config's format
field to select the protocol, clock configuration and clock
inversion. This is added to the dai.h header to avoid having
to define these macros/enums in each of the DAI drivers.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-12-20 11:15:13 +01:00
Laurentiu Mihalcea
f4eb77f76b manifest: Bump up hal_nxp revision
Bump up hal_nxp revision to contain the latest SAI-related
changes from NXP HAL side.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-12-20 11:15:13 +01:00
TOKITA Hiroshi
2b24a5c90c modules: hal_rpi_pico: Remove unused drivers
Remove drivers that not been referenced.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
bd44338dd3 boards: arm: sparkfun_pro_micro_rp2040: Added counter support in docs
Added counter in supported hardware features.
It forgot in the commit when introducing the counter driver.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
3b28890d7c boards: arm: adafruit_kb2040: Added counter support in docs
Added counter in supported hardware features.
It forgot in the commit when introducing the counter driver.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
7d5f3d0b9a boards: arm: rpi_pico_w: Added counter support in docs
Added counter in supported hardware features.
It forgot in the commit when introducing the counter driver.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
aad251ecb5 boards: arm: sparkfun_pro_micro_rp2040: Added clock support in docs
Added clock in supported hardware features

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
2c3943355d boards: arm: adafruit_kb2040: Added clock support in docs
Added clock in supported hardware features

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
cca5e3c0a4 boards: arm: rpi_pico: Added clock support in documentation
Added clock in supported hardware features

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
00d1cecedd driver: spi: spi_rpi_pico_pio: Change to use clock controller
Since clock_control has been introduced, use it to obtain the frequency.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
a34210d669 drivers: counter: rpi_pico: Turn on clock and reset device on init
Turning on clock via clock controller and
resetting PIO device via reset controller on initializing.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
8891f734ec drivers: usb: rpi_pico: Turn on clock on initializing
Turning on clock via clock controller on initializing.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
4e36854148 drivers: misc: pio_rpi_pico: Turn on clock and reset device on init
Turning on clock via clock controller and
resetting PIO device via reset controller on initializing.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
90976db5a3 drivers: adc: rpi_pico: Turn on clock and reset device on init
Turning on clock via clock controller and
resetting ADC device via reset controller on initializing.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
6ad894eb99 drivers: pwm: rpi_pico: Reset device on init
Resetting PWM device via reset controller on initializing.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
e905483bd0 driver: pwm: rpi_pico: Change to use clock controller
Since clock_control has been introduced, use it to obtain the frequency.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
57641875c3 drivers: spi: pl022: Reset device on initializing
Reset the device on initializing via reset controller.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
Andrei-Edward Popa
c448866042 drivers: spi: Changed how to get clock frequency for PL022
Changed how to get clock frequency for PL022

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
Andrei-Edward Popa
0f41a2da1c drivers: serial: Removed all function calls from Raspberry Pi Pico SDK
Removed all function calls from Raspberry Pi Pico SDK
Added functions for setting uart baudrate and format

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
Andrei-Edward Popa
5f927cfc3b drivers: watchdog: Changed how to get xtal frequency for Raspberry Pi Pico
Changed how to get xtal frequency for Raspberry Pi Pico

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
TOKITA Hiroshi
99a9b995d3 drivers: clock_control: rpi_pico: Configure GPOUT/GPIN pins
Configure GPOUT/GPIN pin for external clock in/out via GPIO.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
Andrei-Edward Popa
ea1cafbee7 drivers: clock_control: Added clock driver for Raspberry Pi Pico
Added clock driver for Raspberry Pi Pico platform

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
Robert Lubos
0bc8de8444 tests: net: socket: tls: Disable vmu_rt1170 platform
Due to unresolved bug (see #61129 for details) building TLS tests fails
on vmu_rt1170 platform. Therefore disable this platform for this test
suite.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-20 11:10:57 +01:00
Robert Lubos
a416553dba tests: net: socket: tls: Add more tests covering socket behaviors
A first batch of tests for TLS sockets, covering expected socket
behaviors:
  * Verify that blocking/non-blocking tx/rx work as expected
  * Verify that timeouts on tx/rx are calculated properly
  * Verify proper behaviors when interacting with a socket from
    different threads (close/shutodown/send).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-20 11:10:57 +01:00
Robert Lubos
be4400e80d tests: net: socket: tls: Add helper for TLS connection establishment
Move the code responsible for TLS connection establishment to a helper
function, as it'll be needed as well in other test cases.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-20 11:10:57 +01:00
Robert Lubos
833d565c36 tests: net: socket: tls: Remove unnecessary delay from test cases
SO_TYPE and SO_PROTOCOL test cases does not really establish connection,
so teardown delay at the end is not needed.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-20 11:10:57 +01:00
Robert Lubos
9aba4e8f3d net: sockets: tls: Read the actual error on interrupted wait
In case a waiting TLS socket reports an error in the underlying poll
call, try to read the actual error from the socket, instead of blindly
returning -EIO in all cases.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-20 11:10:57 +01:00
Johan Hedberg
d8cc04f596 doc: migration-guide-3.6: Add a note about system heap size changes
Add a note about the new K_MEM_POOL_HEAP_SIZE define and the mechanism
for specifying custom system heap size requirements.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
12b5adf3e8 manifest: Update libmetal revision to support system heap changes
This is needed so that module uses K_HEAP_MEM_POOL_SIZE for determining
the availablility of the k_malloc family of functions.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
3bd364d392 manifest: Update espressif revision to support system heap changes
This is needed so that module uses K_HEAP_MEM_POOL_SIZE for determining
the availablility of the k_malloc family of functions.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
7bb16c779b posix: mqueue: Remove custom default for HEAP_MEM_POOL_SIZE
Use the new HEAP_MEM_POOL_ADD_SIZE_ prefix to construct a minimum
requirement for posix message queue usage. This way we can remove the
"special case" default values from the HEAP_MEM_POOL_SIZE Kconfig
definition.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
ec23622b07 soc: xtensa: Use HEAP_MEM_POOL_ADD_SIZE KConfig options
Kconfig options with a HEAP_MEM_POOL_ADD_SIZE_ prefix should be used to
set the minimum required system heap size. This helps prevent
applications from creating a non-working image by trying to set a too
small value.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
95b1d586b9 soc: arm: Use HEAP_MEM_POOL_ADD_SIZE KConfig options
Kconfig options with a HEAP_MEM_POOL_ADD_SIZE_ prefix should be used to
set the minimum required system heap size. This helps prevent
applications from creating a non-working image by trying to set a too
small value.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
c6c1d462a0 boards: xtensa: Use HEAP_MEM_POOL_ADD_SIZE KConfig options
Kconfig options with a HEAP_MEM_POOL_ADD_SIZE_ prefix should be used to
set the minimum required system heap size. This helps prevent
applications from creating a non-working image by trying to set a too
small value.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
1afc0a16c5 boards: riscv: Use HEAP_MEM_POOL_ADD_SIZE KConfig options
Kconfig options with a HEAP_MEM_POOL_ADD_SIZE_ prefix should be used to
set the minimum required system heap size. This helps prevent
applications from creating a non-working image by trying to set a too
small value.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
1fb4cbbb48 boards: posix: Use HEAP_MEM_POOL_ADD_SIZE KConfig options
Kconfig options with a HEAP_MEM_POOL_ADD_SIZE_ prefix should be used to
set the minimum required system heap size. This helps prevent
applications from creating a non-working image by trying to set a too
small value.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
2b83dd72d8 boards: arm64: Use HEAP_MEM_POOL_ADD_SIZE KConfig options
Kconfig options with a HEAP_MEM_POOL_ADD_SIZE_ prefix should be used to
set the minimum required system heap size. This helps prevent
applications from creating a non-working image by trying to set a too
small value.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
9bc1a2fca2 boards: arm: Use HEAP_MEM_POOL_ADD_SIZE KConfig options
Kconfig options with a HEAP_MEM_POOL_ADD_SIZE_ prefix should be used to
set the minimum required system heap size. This helps prevent
applications from creating a non-working image by trying to set a too
small value.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
0594d29f4e lib: acpi: Introduce HEAP_MEM_POOL_ADD_SIZE_ACPI option
All x86 boards have so far set a custom heap memory pool size because of
their dependency on ACPI. It makes more sense to introduce a new
ACPI-specific option, utilizing the recently added
HEAP_MEM_POOL_ADD_SIZE_ Kconfig option prefix, and adjust the default
value as necessary for each board.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
35854391c8 scripts: compliance: Add HEAP_MEM_POOL_ADD_SIZE_ to undef whitelist
The HEAP_MEM_POOL_ADD_SIZE_ is used as a prefix for matching specific
Kconfig option names, i.e. it's not a real option in itself.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Johan Hedberg
3fbf12487c kernel: Introduce a way to specify minimum system heap size
There are several subsystems and boards which require a relatively large
system heap (used by k_malloc()) to function properly. This became even
more notable with the recent introduction of the ACPICA library, which
causes ACPI-using boards to require a system heap of up to several
megabytes in size.

Until now, subsystems and boards have tried to solve this by having
Kconfig overlays which modify the default value of HEAP_MEM_POOL_SIZE.
This works ok, except when applications start explicitly setting values
in their prj.conf files:

$ git grep CONFIG_HEAP_MEM_POOL_SIZE= tests samples|wc -l
     157

The vast majority of values set by current sample or test applications
is much too small for subsystems like ACPI, which results in the
application not being able to run on such boards.

To solve this situation, we introduce support for subsystems to specify
their own custom system heap size requirement. Subsystems do
this by defining Kconfig options with the prefix HEAP_MEM_POOL_ADD_SIZE_.
The final value of the system heap is the sum of the custom
minimum requirements, or the value existing HEAP_MEM_POOL_SIZE option,
whichever is greater.

We also introduce a new HEAP_MEM_POOL_IGNORE_MIN Kconfig option which
applications can use to force a lower value than what subsystems have
specficied, however this behavior is disabled by default.

Whenever the minimum is greater than the requested value a CMake warning
will be issued in the build output.

This patch ends up modifying several places outside of kernel code,
since the presence of the system heap is no longer detected using a
non-zero CONFIG_HEAP_MEM_POOL_SIZE value, rather it's now detected using
a new K_HEAP_MEM_POOL_SIZE value that's evaluated at build.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-12-20 11:01:42 +01:00
Francois Ramu
6e678e3bae drivers: usb stm32H5 and stm32U5 have an independent power supply
The stm32H5 mcu has an independent USB supply to be enabled
at init with LL_PWR_EnableVDDUSB function like the stm32U5 serie.
Both series have PWR_USBSCR_USB33SV bit in their USBSCR POWER reg.
and other series all have PWR_CR2_USV bit in their CR2 POWER reg.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-19 22:53:26 +00:00
Mario Paja
98336b2811 Revert "net: gptp: Fix announce message len"
This reverts commit 6b644dff67.

Reason: breaks Peer-to-Peer gPTP connection. A better solution should be
found to handle the optional TLV on the announce message (chapter 10.5.1
IEEE 802.1AS-2011)

Signed-off-by: Mario Paja <mario.paja@zal.aero>
2023-12-19 22:51:52 +00:00
Lucas Denefle
a5e5c1d00a drivers: cellular: add ldenefle to copyright
Add Lucas Denefle to copyright of the cellular API.

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2023-12-19 22:51:17 +00:00
Jordan Yates
60a9f33f37 drivers: flash: spi_nor: boot into DPD
Boot into the deep power down state when `SPI_NOR_IDLE_IN_DPD` is not
enabled. DPD is the correct hardware state for the `SUSPENDED` software
state. Without this change, it takes a cycle of
`SUSPENDED->ACTIVE->SUSPENDED` to get to the low power state.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-19 16:53:27 +01:00
Jordan Yates
f82c2f9b14 doc: _extensions: support build-dir-fmt option
Support `zephyr-app-commands` being provided with a `build-dir-fmt`,
option, which assumes that `west config build.dir-fmt` has been run
previously.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-19 16:53:12 +01:00
Aleksandr Khromykh
ac4cfe9880 Bluetooth: Mesh: remove 20ms tx delay in adv bearer
The recommendation to have 20ms is fair for two
consecutive messages over a single bearer. When mesh
sends two messages it can be interpreted as two
bearers working in parallel. No need to keep
an artificial 20ms delay for that. Delay was
removed and all related bsim tests were fixed.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-12-19 16:20:36 +01:00
Aleksandr Khromykh
8d51a1dac5 tests: Bluetooth: Mesh: relax beacon test time conditions
Some beacon tests have strict time conditions and depend
on randomization interval that doesn't guarantee test pass.
This change fixes strict conditions.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-12-19 16:20:36 +01:00
Dmitrii Golovanov
fbe95e4a73 tests: unit: Fix Power-of-Two test build issue
Fix linker error for the PoT test build with code coverage.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-19 10:03:47 -05:00
Nikolay Agishev
04601aedad ARCMWDT: Add headers for POSIX compatibility
Add ENODATA errno code, wich is not presented in ARCMWDT headers
Add PATH_MAX define

Signed-off-by: Nikolay Agishev <agishev@synopsys.com>
2023-12-19 08:53:51 -06:00
Dmitrii Golovanov
947c9dc1b4 twister: coverage: Fix LCOV full path prefixes
In some cases genhtml incorrectly built reports from LCOV
coverage data using full path for some of the source files
and relative paths for other files.
This fix adds `--prefix` parameter to shorten paths explicitly
relative to the ZEPHYR_BASE directory.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-19 08:52:20 -06:00
Yong Cong Sin
a1042c4079 tests: kernel: timer_behavior: exclude renode instead of boards
We just need to exclude renode simulation and not the physical
boards, let's do just that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-19 07:33:39 -05:00
Yong Cong Sin
9d314ff86d twister: implement simulation_exclude filter
This gives us the flexibility to exclude certain platforms'
simulator that's known to fail from running in Twister, but
allows real hardware to be tested.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-19 07:33:39 -05:00
Yong Cong Sin
1b16d3d3ec twister: fix a minor typo
Should be 'related' instead of 'realted'.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-19 07:33:39 -05:00
Yong Cong Sin
2bd0c8c552 twister: change schema of platform_type to follow type
The `platform_type` was created to filter `type` so they
should have the same schema.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-19 07:33:39 -05:00
Piotr Kosycarz
a3acc425a9 scripts: twister: coverage: deal with multiple function definitions
Keep definitions instead of abort report creation.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2023-12-19 07:17:01 -05:00
Manuel Aebischer
5b9a0e5456 drivers: usb_dc_rpi_pico: handling of data toggle after endpoint setup
The previous behaviour led to an issue where we already expected data1
on the first transfer instead of data0. The DesignWare USB DC actually
implements the same behaviour. Also, the next_pid flag has to be reset
on setting up the endpoint.
Fixes #66283.

Signed-off-by: Manuel Aebischer <manuel.aebischer@netmodule.com>
2023-12-19 12:45:52 +01:00
Fabio Baltieri
0442fe3bbf input: npcx_kbd: clear pending interrupts before reenabling detection
The driver right now re-enters polling mode a couple times after the
matrix has been detected as stable as the key interrupt is still pending
and fires again once detection is reenabled.

Clear pending WUI interrupts before reenabling key press detection to
avoid that.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-19 10:57:38 +00:00
Andrei Emeltchenko
0223fe897f tests: lib: acpi: Convert to FFF
Convert fake functions to FFF.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
751f871b20 tests: acpi: Add unit test for ACPI table parsing
Initial unit test for ACPI table parsing.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
24b58ecc51 lib: acpi: Add ASSERT() for wrong length
Add ASSERT() for length.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
abbbc43be8 tests: acpi: Rename acpi to integration test
Rename test to integration and allow to include unit tests for ACPI.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
c78bff954e drivers: intc_ioapic: Fix get ioapic_id
Information about IOAPIC can be located not in the first
DMAR Hardware Unit Definition subtable. Iterate them all.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
28ac21330d lib: acpi: Implement acpi_dmar_ioapic_get()
Implement get IOAPIC id from DMAR table.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
2a49611ab0 boards: alder_lake: Enable VTD
Enable VTD for Alder Lake board.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
8924feb960 tests: Refactor ACPI info sample
Take into account multiple DMAR HARDWARE_UNIT tables.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
4c3eda827a acpi: Add acpi_dmar_foreach helpers
Add function walking though all DMAR subtables, at the moment only
first subtable is taking into account, which causes bugs for some
boards.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Anisetti Avinash Krishna
eb2cd31407 drivers: sdhc: intel_emmc_host: Fix return value
Fixes uninitialized variable return by returning zero
at the end of function.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-12-19 08:52:00 +01:00
Anisetti Avinash Krishna
fcc572e040 drivers: dma: intel_lpss: Fix channel count condition
Fixes channel count comparison by using connect const.

Signed-off-by: Anisetti Avinash Krishna	<anisetti.avinash.krishna@intel.com>
2023-12-19 08:51:54 +01:00
Andrej Butok
abcfd0cbd8 soc: lpc55xxx: Fix TFM
TFM is using flash, so sys. clock must be decreased.
Fixes #65957

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-19 08:51:45 +01:00
Pieter De Gendt
276ae6c573 mcumgr: transport: smp_udp: Start socket on interface UP
The implementation waited for a NET_EVENT_L4_CONNECTED event to be
emitted. However we can start the receiving thread in case the interface
is up.

This allows for IPv6 Link Local addresses to be used with mcumgr.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-19 08:51:34 +01:00
Lukasz Majewski
eccc64fc49 drivers: ethernet: lan865x: Trigger IRQ routine when rca>0 read from TX ftr
This code fixes following issue:

The TX data chunk (with NORX set) is send to chip (via SPI) and at the
same time a frame is received (by the LAN8651 chip), there will be no IRQ
(the CS is still asserted), just the footer will indicate this with the
rca > 0.

Afterwards, new frames are received by LAN865x, but as the previous footer
already is larger than zero there is no IRQ generated.

To be more specific (from [1], chapter 7.7):
----->8-------
RCA – Receive Chunks Available
Asserted:
The MAC-PHY detects CSn deasserted and the previous data footer had no
receive data chunks available (RCA = 0). The IRQn pin will be asserted
when receive data chunks become available for reading while CSn is
deasserted.

Deasserted:
On reception of the first data header following CSn being asserted
------8<------

Doc:
[1] - "OPEN Alliance 10BASE-T1x MAC-PHY Serial Interface"
OPEN_Alliance_10BASET1x_MAC-PHY_Serial_Interface_V1.1.pdf

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-19 08:51:27 +01:00
Lukasz Majewski
f426ad16e1 drivers: ethernet: Update ETH_LAN865X_TIMEOUT Kconfig description
The description is a bit misleading as the packet is not even read in
the mentioned case by the OA TC6 Zephyr driver.

When the timeout occurs the data (packet) received by LAN865x may be:
- Read latter if still in the RX buffer of LAN865x
or
- Is (probably) dropped by LAN8651 itself as the RX buffer gets overrun

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-19 08:51:27 +01:00
Lukasz Majewski
4903ec7478 drivers: ethernet: tc6: Check footer parity before updating struct oa_tc6
The parity of the received footer from data transfer (also including the
NORX) shall be checked before members of struct tc6 are updated.

This prevents from updating the driver's crucial metadata (i.e. struct
oa_tc6) with malformed values and informs the upper layers of the driver
that error has been detected.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-19 08:51:27 +01:00
Lukasz Majewski
d2e864f17b drivers: ethernet: lan865x: Don't wait on semaphore if no memory for pkt
With the current approach, the driver prevents from TX transmission
when waiting on timeout (standard 100ms) for available memory to be
able to allocate memory for RX packet.

It is safe to just protect the part of reading chunks. In that way
pending TX transmission can be performed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-19 08:51:27 +01:00
Emil Gydesen
8df987935b Bluetooth: MPL: Add track position notifications during seeking
When seeking the media player should notify clients about the
track position change.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-19 08:51:21 +01:00
Michal Smola
096e95898b twister: fix hardware map hardware detection
NXP boards with CMSID-DAP are not detected by twister
--generate-hardware-map, because serial device name 'mbed' is compared
with upper case 'MBED' in a list of supported manufacturers.
Fix it by making the comparison case-insensitive.
Tested using mimxrt1020_evk.

Fixes #63765

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2023-12-19 08:51:14 +01:00
Declan Snyder
410990825a drivers: mdio_nxp_enet: Support MDC freq prop
If the DT node for mdio of nxp enet has a mdc freq specified,
use this when configuring the module.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-19 08:51:05 +01:00
Declan Snyder
7688e5efb1 dts: mdio-controller: Add MDC frequency property
Add a property to the mdio controller binding to describe the MDC
frequency generated by the controller.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-19 08:51:05 +01:00
Emil Gydesen
cda5e58aa5 Bluetooth: CAP: Commander discovery support
Implement the CAP Commander discovery function.

Adds support for it in the shell.

This includes initial babblesim and unit testing as well.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-19 08:50:40 +01:00
Manuel Loew
2876dcabbf boards: Corrects RAM size of CY8CPROTO-062-4343W PSoC6 eval board.
This PR corrects the RAM size specification of
the Infineon CY8CPROTO-062-4343W PSoC6 eval board.

Fixes #60876

Signed-off-by: Manuel Loew <manuel.loew.infineon@gmail.com>
2023-12-19 08:49:28 +01:00
Anas Nashif
52b8858e82 ci: upload merged coverage file as artifact
Upload merged coverage file as artifact for verification and inspection.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-18 16:51:23 -05:00
Yong Cong Sin
170531eb2d tests: kernel: gen_isr_table: rework multi_level_bit_masks tests
Reworked and combined the multi-level interrupt bit masks tests
to work on any configuration of bits in every level.

Updated the bits configuration in the testcase to use
non-symetric numbers so that shifting a level with the wrong
number of bits will certainly cause the test to fail.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-18 15:09:36 -05:00
Yong Cong Sin
0884a33ee3 scripts: build: gen_isr_tables: add some debug prints
Add some debug prints for the interrupts bits and bitmasks
in each level.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-18 15:09:19 -05:00
Yong Cong Sin
b4db285c1f scripts: build: gen_isr_tables: change naming of bitmask variables
Rename the bitmask variables from `*_LVL_INTERRUPTS` to
`INTERRUPT_LVL_BITMASK[]` array to be consistent with
`INTERRUPT_BITS`, making it easier to loop over the bitmasks.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-18 15:09:19 -05:00
Yong Cong Sin
56570cc8c1 scripts: build: gen_isr_tables: fix calculation of THIRD_LVL_INTERRUPTS
The calculation of `THIRD_LVL_INTERRUPTS` bitmask in the
`update_masks()` function is wrong, the number of bits to shift
should be the sum of the first two levels.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-18 15:09:19 -05:00
Arnaud Pouliquen
dadd16996a west.yml: Update libmetal and open-amp for v2023.10 release
Update to the last relase of open-amp library
The libmetal is updated to a more recent commit to integrate
2 zephyr commits on top of the v2023.10 release.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2023-12-18 19:27:30 +01:00
Erwan Gouriou
44af61b865 west.yml: Point to hal_stm32 version compatible with STM32WBA BLE
Update west manifest to point to hal_stm32 PR containing changes
which allow to build a zephyr bluetooth application on STM32WBA.

Prior building such application, user should run 'west blobs fetch stm32'
to install binary blobs providing the BLE controller support.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-18 17:31:08 +00:00
Erwan Gouriou
aa8c9322df boards: nucleo_wba55cg: Update clock configuration to be BLE compatible
To be compatible with BLE operation and BLE Controler configuration,
update board clock configuration to work using a fixed core clock at
16MHz.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-18 17:31:08 +00:00
Erwan Gouriou
79e55c2a04 dts: wba: configure HSI16 as RNG clk source
We might have to do this differently:
Configure rng default clock in .dtsi
Set board specific config in .dts

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-12-18 17:31:08 +00:00
Erwan Gouriou
2c88daab3b dts: stm32wba: Define SRAM6 as RAM_NOCACHE
SRAM6 is used by RF and should be defined as RAM_NOCACHE
to allow unaligned access reads.
"IO" might be a better match but is not available on this arch.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-12-18 17:31:08 +00:00
Erwan Gouriou
6f6410061d soc: stm32wba: Implement BLE controller lib APIs over Zephyr
In order to enable BLE support on STM32WBA, following APIs are implemented:
- HostStack_: BLE Controller scheduling
- ll_sys_: Link layer API required for scheduling
- UTIL_TIMER_: BLE Controller timer utility
- LINKLAYER_PLAT_: BLE controller utilities

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-18 17:31:08 +00:00
Erwan Gouriou
6ed002ddae modules: Kconfig.stm32: Add Kconfig symbol for RAMCFG
RAMCFG will be required for STM32WBA BLE support.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-18 17:31:08 +00:00
Erwan Gouriou
54d7793e82 drivers: bluethooth: stm32wba: Add HCI driver for STM32WBA
Add HCI Driver for STM32WBA devices.
Based on B91 HCI driver.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-18 17:31:08 +00:00
Fabio Baltieri
e51a877a90 bluetooth: shell: match cmd_conn_phy_update conditions
The condition for channel-map are CONFIG_BT_CENTRAL ||
CONFIG_BT_BROADCASTER, change the corresponding handler ifdef so that
it's included in the build if CONFIG_BT_BROADCASTER is enabled but
CONFIG_BT_CENTRAL is not.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-18 17:29:02 +00:00
Chaitanya Tata
6152e64aa0 wifi: shell: Fix arg count for regulatory domain
Regulatory domain supports both get and set, so, fix the argument
counts.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-18 17:46:12 +01:00
Bryan Zhu
67099d2bba timer: ambiq_stimer: fixing disabling tickless not working issue
In init function, start timer with period CYC_PER_TICK if tickless is
not enabled, This change is for fixing the issue that disabling
CONFIG_TICKLESS_KERNEL the OS tick is not work issue, this
causes the OS not starting scheduling correctly.

Signed-off-by: Bryan Zhu <bzhu@ambiq.com>
2023-12-18 15:03:35 +01:00
Murlidhar Roy
d11c65db07 CODEOWNERS: Update codeowners for SDHC Cadence
Updated codeowners for SDHC Cadence Driver files.

Signed-off-by: Murlidhar Roy <murlidhar.roy@intel.com>
2023-12-18 15:00:38 +01:00
Murlidhar Roy
1ddb931fa8 samples: subsys: fs: fs_sample: adding support for fat_fs app
adding support for fat_fs application agilex5 platform

Signed-off-by: Murlidhar Roy <murlidhar.roy@intel.com>
2023-12-18 15:00:38 +01:00
Murlidhar Roy
3426eab29c samples: subsys: shell: shell_module: adding support for shell app
adding support for shell application for agilex5 platform

Signed-off-by: Murlidhar Roy <murlidhar.roy@intel.com>
2023-12-18 15:00:38 +01:00
Murlidhar Roy
bc8e09d4ec boards: arm64: intel: intel_socfpga_agilex5_socdk: Enable sdmmc
Enable SDMMC and add MMC child node

Signed-off-by: Murlidhar Roy <murlidhar.roy@intel.com>
2023-12-18 15:00:38 +01:00
Murlidhar Roy
d16a80d2e8 dts: arm64: intel: add dts node for sdhc in agilex5
adds dts support for cdns sdhc driver bringup on agilex5

Signed-off-by: Murlidhar Roy <murlidhar.roy@intel.com>
2023-12-18 15:00:38 +01:00
Murlidhar Roy
eb006b992f drivers: sdhc: add cdns sdhc/combophy driver files
Add SDHC driver files with new SD framework changes
SDHC driver includes combophy configurations.

Added mmc binding yaml file

Signed-off-by: Murlidhar Roy <murlidhar.roy@intel.com>
2023-12-18 15:00:38 +01:00
Aaron Ye
9a642caebb west.yml: hal_ambiq: Add Bluetooth support.
Imported the original Cooper (Apollo4x BLE controller) device files
from AmbiqSuite SDK 4.4.0 and adapts them to support the new
implemented HCI driver for Apollo4 Blue Plus.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-18 14:54:53 +01:00
Aaron Ye
a95cbfb0dd boards: arm: apollo4p_blue_kxr_evb: Enable BT HCI.
The BT HCI uses internal IOM4 (SPI4) for communication bus.
Set the default configuration for BT based on the controller supported
capability and HCI driver dependency.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-18 14:54:53 +01:00
Aaron Ye
d385150bb0 drivers: bluetooth: Add Ambiq HCI driver for Apollo4 Blue Plus.
This commits create the dts binding for Ambiq BT HCI instance.
And create the SPI based common HCI driver for Ambiq Apollox
Blue SoC and the extended soc driver for HCI.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-18 14:54:53 +01:00
Fabio Baltieri
ecce235322 input: kbd_matrix: fix possible race condition
Fix a possible race condition in the keyboard matrix library where a key
would get pressed between the last read and reenabling the (edge
sensitive) interrupt and the even would be lost.

The window for this to happen is very narrow and had to artificially add
a sleep to reproduce it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-18 12:25:19 +01:00
Fabio Baltieri
ffbd0397dd input: gpio_kbd_matrix: use edge-to-active interrupt
Change the interrupt setup from both edge to edge to active. Edge to
active is all was needed anyway and it makes this compatible with gpio
controller that only support single edge interrupt.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-18 12:25:19 +01:00
Przemyslaw Bida
b6d8d2715c net: openthread: Add cmake makro to openthread cmake lists.
This commit introduces `kconfig_to_ot_option` to simply fye the way of
adding openthread related kconfigs.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-12-18 12:25:12 +01:00
Daniel Leung
d59e7be1ec soc: xtensa/dc233c: turn on i-cache and d-cache
The DC233C core has support for both i-cache and d-cache.
So mark it as such so we can test caching of Xtensa in QEMU.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-18 12:25:04 +01:00
Daniel Leung
48349351a9 tests: kernel/cache: skip i-cache range tests if Xtensa MMU
With MMU enabled on Xtensa, user_buffer is not marked as
executable. Invalidating the i-cache by region will cause
an instruction fetch prohibited exception. So skip all
i-cache tests, instead of just the range ones to avoid
confusions of only running the test partially.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-18 12:25:04 +01:00
Daniel Leung
dab6f665ca xtensa: fix build errors with cache functions
() arch_icache_line_size_get() needs to be inlined or else
   compiler would complain that it is not being used.
() arch_icache_flush_all() returns -ENOTSUP not as there is
   no xthal_icache_all_writeback() in HAL.
() Fix typo vid -> void in arch_icache_disable().

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-18 12:25:04 +01:00
Andrei Emeltchenko
9d3a3e96e1 kernel: threads: Do not use string compare instead of bit ops
Remove converting bit to string and comparing the string instead of
ready helpers. The "Check if thread is in use" seems to check only
that parameters state_buf and sizeof(state_buf) not zero.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-18 12:24:53 +01:00
Ryan Woodward
7ed7a8c272 mgmt/osdp: Update ReadMe.rst
Updated Link to the LibOSDP Library Respository in the ReadMe for mgmt/osdp
Signed-off-by: Ryan Woodward <ryanjwoodward@outlook.com>
2023-12-18 12:24:37 +01:00
Fabio Baltieri
f9313b1745 input: add a linux-evdev device
Add a device driver to read events from a Linux evdev device node and
inject them back as Zephyr input events.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-18 12:23:59 +01:00
Ruben Völl
2b83e91a43 mgmt: fs_mgmt: clear lock before return
Not clearing that lock lead to the fs_mgmt commands being useless, after
the mgmt callback returned `MGMT_CB_ERROR_RC` once, since the lock is now
occupied and never cleared.

Fixes #66581

Signed-off-by: Ruben Völl <ruben.voell@grandcentrix.net>
2023-12-18 11:17:00 +00:00
Ryan McClelland
9804c60a4e tests: lib: c_lib: fix double promotion error
Fix double promotion warnings

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-18 09:21:12 +00:00
Daniel Mangum
987eb10faf soc: posix: fix kconfig description
Fixes a small typo in kconfig description for the posix port.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2023-12-18 10:11:18 +01:00
Johann Fischer
ad25668313 samples: usb shell: add DT overlay to support snps,dwc2 on nucleo_f413zh
Add DT overlay to be able to support and test UDC DWC2 driver
(snps,dwc2) on nucleo_f413zh board. This disables STM32 shim
driver described and configured on the SoC and board level.

Obviously,it should work with other STM32F4 boards as well and we
could have a mechanism to apply it generically using snippets.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-18 09:48:58 +01:00
Johann Fischer
cc2fdf2053 drivers: udc: add initial support for DWC2 controller
The driver currently supports only dedicated FIFO mode (with
dynfifosizing if enabled). Control, bulk and interrupt transfers are
supported, isochronous transfers are not yet supported. The driver
accesses controller registers using sys_io.h, but for debugging purposes
one can get a register map from the driver's config, similar to the
usb_dc_dw.c driver.

Initial support also has vendor quirks for the STM32F4 SoC family.
Tested on NUCLEO-F413HG.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-18 09:48:58 +01:00
Johann Fischer
ffbe257c76 drivers: usb: use common usb_dwc2_hw.h header
Use new common header and remove usb_dw_registers.h.
No functional changes, only renaming of registers and field identifiers.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-18 09:48:58 +01:00
Johann Fischer
ef124718aa drivers: usb: add common DWC2 register header
This header is based on drivers/usb/device/usb_dw_registers.h and
describes registers of the DWC2 controllers IP and is intended for use
in both device controller drivers and a host controller driver. The
difference to usb_dw_registers.h is that this header does not confuse
offsets with bit positions, contains all the definitions required for
device mode, has register and bit field names identical to the databook
and no annoying underscores.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-18 09:48:58 +01:00
Marek Vedral
93a4287115 arm: debug: Add GDB stub for aarch32
This commit adds implementation of GDB stub for 32-bit ARM. It has been
tested only on the Zynq-7000 SoC and I would like to get any feedback
from others.

The stub still has these issues:

- To implement single stepping, it uses instruction address mismatch
  breakpoint, as recommended in ARMv7 reference. The breakpoint control
  register is configured (the state control fields) for the "PL0,
  Supervisor and System modes only" option. Otherwise the breakpoint
  would also halt the processor in abort mode, in which the stub loop
  runs. Zephyr kernel runs in the system mode. This works well until the
  kernel enables interrupts, as interrupt handlers typically run in
  Supervisor mode. Single stepping therefore sometimes "catches" a
  handler instead of the next application instruction. I have not tried
  User mode, because Cortex-A SoCs do not appear to have the
  ARCH_HAS_USERSPACE flag.

Cc: Michal Sojka <michal.sojka@cvut.cz>
Signed-off-by: Marek Vedral <marek.vedral@gmail.com>
2023-12-18 09:31:42 +01:00
Marek Vedral
0d304b9223 samples: debug: Add support for qemu_cortex_a9 in GDB stub sample
This commit adds a devicetree overlay file and an extra condition in the
CMakeLists.txt file to allow remote debugging for the qemu_cortex_a9
board.

Signed-off-by: Marek Vedral <marek.vedral@gmail.com>
2023-12-18 09:31:42 +01:00
Marek Vedral
6068255512 drivers/timer/arm_arch_timer: Fix cycles overflow with GDB stub
If GDBSTUB is enabled and the kernel runs in tickless mode, the timer
must not convert the delta cycles to a 32-bit data type (cycle_diff_t in
this case). The delta_ticks variable would overflow and the next timeout
would be set before the current timestamp, thus generating an interrupt
right after leaving the handler. As a result, the system would receive
tens of thousands of interrupts per second and would not boot.

Cc: Michal Sojka <michal.sojka@cvut.cz>
Signed-off-by: Marek Vedral <marek.vedral@gmail.com>
2023-12-18 09:31:42 +01:00
Adrien Bruant
9e8c00f28c drivers: stm32-rtc: return -ENODATA when RTC is uninitialized
rtc_get_time() on STM32 does not implement the -ENODATA return code.
This prevents testing the initialisation status of the RTC.

Fixed by reading INITS flag and adding a error path in
rtc_stm32_get_time().

Signed-off-by: Adrien Bruant <adrien.bruant@aalberts-hfc.com>
2023-12-18 09:31:23 +01:00
Daniel Gaston Ochoa
5781b6a05f Revert "drivers: spi: stm32h7: Use FIFO"
This reverts commit bffa0c6bdd.

This FIFO implementation causes a regression by which the SPI
peripheral generates several spurious SCK cyles after the last
data has been sent.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2023-12-18 09:31:00 +01:00
Ian Morris
26577a18b0 dt-bindings: pinctrl: renesas: fix r7fa4m1 pin config numbering
Pin configuration value generated by RA_PINCFG_xxx macro is incorrect if
pin number is greater than 9 due to a mistake in the pin numbering.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2023-12-18 09:30:19 +01:00
Tom Chang
4dc7c89f40 drivers: espi: npcx: introduce espi taf driver
This CL implements espi taf read/write/erase function for NPCX.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2023-12-18 09:30:01 +01:00
Mahesh Mahadevan
6cb1ff6560 pm: Move settting timeout to after suspending devices
pm_suspend_devices() could return an error. Set timeout using
sys_clock_set_timeout() to after this error is handled so that
we have the accurate power state when calling the timeout function.
This is useful in cases where we wish to compensate the
system timer for certain power modes.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-18 09:29:49 +01:00
Anders Storrø
f70929a8f1 tests: Bluetooth: Mesh: Add proxy adv coex test.
Adds test that verifies correct Proxy advertisement behavior for
a device where the Proxy adv requirements changes over time,
both for single and multiple subnets.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-12-18 09:29:41 +01:00
Anders Storrø
6c67ab3a63 Bluetooth: Mesh: Refactor proxy adv
Refactors proxy advertising implementation to allow fair sharing of
advertising resources between all subnets.

In the new implementation, each subnet is agnostic to any other subnet
that might have active proxy advertisement work. When proxy
advertisement is triggered, the implementation will first check how
many subnets that has active work. If there are more than one active
subnet, a maximum timeslot will be calculated to ensure that all active
subnets get access to the medium. The implementation will then poll
the next eligible subnet for a proxy advertising request. If the
duration of this request exceeds the maximum timeslot, the duration
for the next advertisement will be set to the maximum value.

If a proxy advertisement for a subnet is interrupted by other
advertising activity, the implementation will now ensure that the
interrupted proxy adv continues from the point where it was
interrupted so that the subnet gets to utilize the entire allocated
timeslot.

This PR also alters the priv_proxy_net_id_multi Bsim test to align
with the refactored proxy advertising scheme.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-12-18 09:29:41 +01:00
Pavel Vasilyev
fe70e50d41 Bluetooth: Mesh: Added support for randomly delaying publications
The section 3.7.3.1 of the mesh specification recommends to delay
a message publication in certain cases:
- at power-up or upon state change for a time between 20 to 500 ms
- for periodic publications for a time between 20 to 50 ms

This change implements this recommendation by adding the
`CONFIG_BT_MESH_DELAYABLE_PUBLICATION` Kconfig option which enables
the randomization code and by adding the `bt_mesh_model_pub.delayable`
bit field which allows each model decide whether the publications
should be delayed for this model or not.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-12-18 09:29:24 +01:00
HaiLong Yang
640a493c1d drivers: adc: stm32 adc support h7 dual core lines
For STM32H7 dual core lines, M4 can not access to linear calib addr
ADC_LINEAR_CALIB_REG_1_ADDR.

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2023-12-18 09:29:17 +01:00
Tomi Fontanilles
490a02fda7 drivers: net: ppp: improve CONFIG_NET_PPP_ASYNC_UART_TX_TIMEOUT
Its default value (100 ms) resulted in PDUs big enough to never make it
through on a slow enough UART (e.g. ~1152-byte PDUs on a UART@115200).
The UART TXs were silently aborted.

A no-timeout value is now allowed and made the default.
Additional warnings are logged when it is likely that a UART TX
was aborted due to a too low timeout for the used baud rate.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2023-12-18 09:29:07 +01:00
Tomi Fontanilles
9b78b4e894 drivers: net: ppp: various fixes
- Disable UART when the PPP interface is brought down.
  This prevents an error when it is next brought up.
- Change the level of certain logs to be less concerning
  and less verbose.
- Fix warnings regarding the passed parameter types of %p conversions.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2023-12-18 09:29:07 +01:00
Alberto Escolar Piedras
ad4544fd0f native_sim docs: Miscellaneous fixes
* Add a subsection linking to the emulators section.
* Added more internal links
* Fixed EPROM simulator/emulator mix, and added link
  to simulator
* For the RTC peripheral, mention there is no driver for
  it yet.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-18 09:28:57 +01:00
Robert Lubos
b7e3ae2521 net: ipv6_mld: Silently drop MLDv1 queries
Zephyr does not support MLDv1 (which has a shorter header than MLDv2),
and this resulted in log errors being printed on header access if MLDv1
queries were received. Since receiving such packet is not really an
error, just drop it silently.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-18 09:28:42 +01:00
Andrej Butok
25cb4683d2 test: mcuboot: enable test on rt1010/1015/1040 and k22f/82f platforms
Enable mcuboot test for mimxrt1010/1015/1040 and frdm_k22f/82f boards

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-18 09:28:34 +01:00
Pieter De Gendt
dee2fe27f6 doc: migration-guide: 3.6: Add CoAP service send functions update.
Add an entry to indicate the changes to the coap_service_send and
coap_resource_send API functions.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-18 09:28:25 +01:00
Pieter De Gendt
4807ada01e net: lib: coap: Use coap_transmission_parameters in coap_server
Update coap_service_send and coap_resource_send to take an optional
pointer argument to the newly introduced coap_transmission_parameters.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-18 09:28:25 +01:00
Chaitanya Tata
eaba47445a wifi: shell: Display RSSI only for station mode
RSSI makes sense only for modes that have a single peer, so, add a
station mode check.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-18 09:28:16 +01:00
Chaitanya Tata
9736cc7f29 wifi: shell: Fix AP argument checks and help
AP enable takes the same parameters as connect, so, update the help and
also fix the optional parameter count when security is involved.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-18 09:28:16 +01:00
Peter Mitsis
4e37071f57 tests: disable timeslicing on app_kernel
Updates the app_kernel benchmark so that its default configuration
does not enable timeslicing. As it is still valuable to know what
kind of performance overhead is incurred by enabling timeslicing,
new test configurations have been added.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-18 09:28:08 +01:00
Peter Mitsis
d84598256c tests: disable timeslicing on latency_measure
Updates the latency_measure benchmark so that its default
configuration does not enable timeslicing. As it is still
valuable to know what kind of performance overhead is
incurred by enabling timeslicing, new test configurations
have been added.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-18 09:28:08 +01:00
Joakim Andersson
51c54b1eae MAINTAINERS: Remove joerchan
Remove joerchan, put SebastianBoe instead.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-18 09:28:01 +01:00
Fabio Baltieri
38d5c0a8ac input: kbd_matrix: make the thread priority configurable
Add a config entry for the keyboard matrix thread priority. This
changes the current default, but that was pretty much an arbitrary numbe
anyay and the exact one should be picked the application so it should be
alright to do so.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-18 09:27:53 +01:00
Fabio Baltieri
cc5cef8179 input: gpio_keys: add power management support
Add power management support to the gpio keys driver. When in suspend,
disable all the button gpios and interrupts.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-18 09:27:42 +01:00
Peter Mitsis
ee977dee47 kernel: Remove obsolete _mailbox field
Removes the _mailbox from the k_mbox_msg structure. This field
is not used and only existed for legacy API support while Zephyr
was transitioning from the split microkernel/nanokernel to the
current unified kernel design.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-17 20:28:44 -05:00
Peter Mitsis
94829f444c tests: Initialize array in pipe test
As the pointer to the data buffer passed to k_pipe_put() is now a
'const', that buffer must be initialized before calling k_pipe_put()
to avoid a compiler warning.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-15 14:51:35 -05:00
Peter Mitsis
4b2bf5abcc kernel: Apply const to k_pipe_put() parameter
The pointer parameter 'data' in the function 'k_pipe_put()' ought to
use the const modifier as the contents of the buffer to which it
points never change. Internally, that const modifier is dropped as
both 'k_pipe_get()' and 'k_pipe_put()' share common code for copying
data; however 'k_pipe_put()' never takes a path that modifies those
contents.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-15 14:51:35 -05:00
Jonathan Rico
b83b9bede3 Bluetooth: ATT: call-back on buffer destroy
This is just as arbitrary as what was before, but simpler.

Before this change, the callback were invoked upon receiving the num
complete packets event.
This did not necessarily work with all spec-compliant controllers.

Now the callback is invoked as soon as the lower layer destroys the
buffer. ATT shouldn't care whether L2CAP sends it over RFC1149 or
something else after that point.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Co-authored-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-15 17:14:56 +02:00
Jonathan Rico
a05a47573a Bluetooth: ATT: Internalize ATT PDU TX pool
Why?
- metadata is easier to manage as an array + index
  - less error-prone -> less memory-management bugs
- we can. because of the previous refactor
- PDU allocations are more predictable
- ATT buffer size can be optimized by app
- isolates ATT from the rest of the ACL users
  - decouples ATT PDU size from e.g. SMP w/ LESC

Drawbacks:
- higher memory usage
- kconfig change

The higher memory use is only temporary, as this will be followed-up
with more refactors that should bring it back down.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Co-authored-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-15 17:14:56 +02:00
Simon Hein
47ec4359b9 doc: Clean up wrong c function links
Resolve wrong documentation c function links for
irq: z_shared_isr, rtio: rtio_cqe_get_mempool_buffer
and sensor: sensor_read

Signed-off-by: Simon Hein <Shein@baumer.com>
2023-12-15 08:51:34 -06:00
Sigurd Hellesvik
ed040f1873 cmake: Show executable for memory report
Firstly, COMMENT does not work for ninja.
Therefore, change COMMENT to echo.

With the addition of sysbuild, several memory reports can be printed
for one build.
Because of this, it is useful to know which executable each memory
report is printed for, so adding full path to elf file.

Signed-off-by: Sigurd Hellesvik <sigurd.hellesvik@nordicsemi.no>
2023-12-15 15:32:37 +01:00
Flavio Ceolin
8977784afe settings: shell: Fix possible buffer overflow
Checks the size of the given string before copying it to internal
buffer.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-15 14:43:50 +01:00
Abderrahmane Jarmouni
e70a1a0c48 board: arm: stm32f429i_disc1: flashing
Add the possibility to flash stm32f429i_disc1 board using
STM32CubeProgrammer & patch the OpenOCD cfg.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-12-15 14:41:52 +01:00
Marc Herbert
15336045af west: sign.py: generate platf.toml from platf.toml.h with cc -E
Allow using the C pre-processor to generate a
`rimage/config/platform.toml` file from a "source"
`rimage/config/platform.toml.h` file.

This is optional and fully backwards compatible.

To use, do not use `-c` and point west sign at a configuration directory
instead or let it use the default `rimage/config/` directory and change
the files there.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-15 14:41:36 +01:00
Marc Herbert
a65b8d40fb west: sign.py: always log the rimage command
rimage is very verbose by default and has no -q(uiet) option, so saving
one line out of more than 100 lines is pointless.

RimageSigner.sign() was already very complex and suffering from
combinatorial explosion of parameters. With .toml
pre-processing (#65411) it's getting worse, so we really need all build
logs to show the complete rimage command.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-15 14:41:36 +01:00
Marc Herbert
c13cf99f2a west: sign.py: recommend separator -- tool_args always
In the following command, the first argument `for_rimage` is passed to
`rimage` whereas `--for west` goes to west.

```
west sign  for_rimage --for west
```

This is somehow valid but we really don't want anyone to do that.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-15 14:41:36 +01:00
Marc Herbert
dbc4b2ed4e west: sign.py: extract new method RimageSigner.rimage_config_dir()
Zero functional change, preparation for the .toml modularization.

RimageSigner.sign() is also way too long and too complex and this helps.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-15 14:41:36 +01:00
Marc Herbert
039e5ef1b8 intel_adsp: remove rimage sign() from west flash
`west sign` has been invoked by `west build` (through CMake) since
commit fad2da39aa, almost one year ago. During that time, this new
workflow has been refined and successfully used by at least two vendors,
multiple CIs across both SOF and Zephyr and many developers.

At the time, the ability to sign from `west flash` was preserved for
backwards compatibility. This means rimage parameters can come from many
different places at once and that rimage can be invoked twice during a
single `west flash` invocation!

Now that Zephyr 3.5 has been released, we need to reduce the number of
rimage use cases and the corresponding validation complexity and
maintenance workload to simplify and accelerate new features like
splitting rimage configuration files (#65411)

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-15 14:41:36 +01:00
Ryan McClelland
6bb610581e manifest: hal_openisa: update revision for double promotion fix
Update hal_openisa, this is needed for the double promotion fix

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-15 14:40:35 +01:00
Ryan McClelland
b3e8b1f12b manifest: wurthelektronik: update revision for double promotion fix
Update wurtheletronik, this is needed for the double promotion fix

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-15 14:39:54 +01:00
Ryan McClelland
b4768d5d42 drivers: i3c: cdns: run clang-format
Run the clang-formatter. This just changes white-space on defines.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-15 14:39:38 +01:00
Ryan McClelland
9c22c82604 drivers: i3c: cdns: handle controller aborts
Some targets do not give EoD at the end of a register read. They will
auto increment their address pointer on to the next address, but that
may not be of interest to the application where the buffer size will
only be set to the size of only that register. If the target, does
not give an EoD, then the Controller will give an Abort... but this
should not be treated as an error in this case.

There is still however a case where an abort Error shall still be
considered as an error. Athough the driver does not support it yet,
threshold interrupts are to be used if the length of the buffer
exceeds the size of the fifo. There could be the case where the
cpu can not get around fast enough to pop out data out of the rx
fifo and it will fill up. The controller will just give an abort
as it can not take any more data.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-15 14:39:38 +01:00
Conor Paxton
f0495d4d47 boards: riscv: introduce support for Beagleboard BeagleV-Fire
The BeagleV-Fire is a SBC powered by Microchip's PolarFire SoC MPFS025T.

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-15 14:39:19 +01:00
Jordan Yates
ac78b97820 scripts: ci: guideline_check: support other repos
Support running this check against other repositories.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-15 14:38:02 +01:00
Richard Wheatley
a40a8a5f49 boards: arm: apollo4p_evb add connector to apollo4p_evb
Generic Connector for the apollo4p_evb
Ran tests/drivers/gpio/gpio_basic_api
Ambiq does not support DUAL Edged Interrupts.
Added Connector Usages as defined by the Ambiq BSP.

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2023-12-15 14:35:32 +01:00
Emil Gydesen
62ab25e3f5 Bluetooth: MPL: Make internal functions static
Several internal functions were not static.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-15 14:35:15 +01:00
Emil Gydesen
a8fbab6b1a Bluetooth: MPL: Simplify control point ops
Simplify how control point operations are handled, and
reduce code duplication.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-15 14:35:15 +01:00
Emil Gydesen
984e4213c1 Bluetooth: MPL: Simplify track and group changes
Simplify track and group changes by moving the
notifications into the functions that changes the states.

This removes some code duplication, and makes the code easier
to read, as well, as ensuring that notifications are always
sent.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-15 14:35:15 +01:00
Emil Gydesen
f138f7dd3e Bluetooth: MPL: Add mpl_set_state
Add the static function, mpl_set_state, to help set the playing
state of the media player.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-15 14:35:15 +01:00
Emil Gydesen
9616b3b182 Bluetooth: MPL: Use set_track_position more excessively
The set_track_position handles both correct clamping of the
position, as well as the notification, so use that instead
of setting the value and sending notifications manually.

Also adds a new function, set_relative_track_position,
to help set relative positions.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-15 14:35:15 +01:00
Fang Huang
15640611cf scripts: logging/dictionary/sys-t: remove escape between CDATA
This removes escape from generate XML_CATALOG_EACH string, because
the string between CDATA tag need to be treated as normal text.

Signed-off-by: Fang Huang <fang.huang@intel.com>
2023-12-15 14:34:15 +01:00
Tomasz Moń
3e7368829b usb: device_next: uac2: interface descriptor macros
Add macros to initialize full set of descriptors required for USB Audio
Class 2 instance. Descriptors start with Interface Association
Descriptor that binds together the AudioControl interface and all
AudioStreaming interfaces.

AudioStreaming interfaces have alternate setting 0 without any endpoints
and alternate setting 1 with isochronous endpoint with max packet size
calculated on maximum sample frequency, number of channels, subslot size
and clock synchronization (asynchronous endpoints require +1 sample).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-12-15 14:24:44 +01:00
Tomasz Moń
a825147d0c tests: usb: uac2: test descriptor macros
Compare devicetree generated class specific descriptors for headset
example against reference hex values.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-12-15 14:24:44 +01:00
Tomasz Moń
4f1b5b11b2 usb: device_next: uac2: devicetree descriptor macros
Initial set of macros to generate class specific descriptors based on
devicetree nodes. Descriptors are generated as uint8_t array initializer
list because there is variable number of entities in between standard
USB interface and endpoint descriptors. Because the descriptors are
automatically generated there is no real point in trying to generate
corresponding C structures (especially that some entity descriptors have
variably sized fields in the middle of descriptor, e.g. Clock Selector).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-12-15 14:24:44 +01:00
Tomasz Moń
d76934daeb dt-bindings: usb: initial USB Audio Class 2 support
USB Audio Class 2 (UAC2) includes a method to describe audio device
topology to host using a set of class specific descriptors. The audio
device description includes complete sample clock topology and audio
processing organization.

Zephyr specific bindings are supposed to allow user to create reasonably
simple audio device description using devicetree syntax. The bindings
currently include only the absolute minimum set required for headset
example. Bindings for other entities (Clock Selector, Clock Multiplier,
Mixer Unit, Selector Unit, Feature Unit, Sample Rate Converter,
variuos Effect Units, various Processing Units, Extension Unit) can be
added later together with the actual USB class implementation.

The main idea is that user does create one zephyr,uac2 compatible node
for every USB Audio 2 class instance. Note that in majority of cases
just one USB Audio 2 class is necessary because the number of streaming
interfaces is virtually unlimited (USB Audio 2 class can have up to 255
entities). The zephyr,uac2 node includes child nodes with compatibles
set to desired entity or audiostreaming interface. The parent-child
relationship is necessary to allow grouping entities to correct audio
class instance.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-12-15 14:24:44 +01:00
Benjamin Cabé
c2dae16a6a doc: remove explicit libpython3.8-dev from Ubuntu deps
Having libpython3.8-dev explicitly mentioned causes issues if
"python3-dev" pulls a Python version that's not 3.8. What's more,
python3-dev already pulls the correct "versionless" libpython3-dev
anyway.

Fixes #66461

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-15 14:08:04 +01:00
Joakim Andersson
cb13e21eae tests: net: socket: tcp: Fix build for nrf5340dk_nrf5340_cpuapp_ns
Fix build for nrf5340dk_nrf5340_cpuapp_ns.
Test takes up almost all of the flash, leaving no room for the image
to be signed. Disable the bootloader to free up flash-usage.

Fixes: #66469

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-15 14:05:55 +01:00
Mahesh Mahadevan
d77c706f94 drivers: dma_lpc: Suppport dest_scatter and source_gather
Process dest_scatter_interval and source_gather_interval
configurations and accordingly set the source and destination
increment values.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-15 14:04:52 +01:00
Bartosz Bilas
2f4cf25c39 dts: bindings: ethernet: esp32: remove default phy conn type
That's already harcoded in the driver so there is no need
to do that in the bindings.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-12-15 14:04:36 +01:00
Gustavo Silva
f684e299b9 drivers: stm32: use IF_ENABLED() macro in config structs
Use the IF_ENABLED() macro to increase readability in some of
the STM32 drivers.

Fixes #62962

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2023-12-15 14:04:12 +01:00
Vudang Thaihai
cf5781a148 drivers: gpio: gpio_pca953x: Adding input latch and interrupt mask
The gpio_pca953x gpio driver doesn't have
the input latch and interrupt mask
configuration which causes a lack of accessing
and using those features on an gpio expander
device. Fix it by adding input latch and
interrupt mask configurations in this driver.

Signed-off-by: Vudang Thaihai <vudang.thaihai@brillpower.com>
2023-12-15 12:22:39 +00:00
Jamie McCrae
a48a594f13 mgmt: mcumgr: callback: Add op to receive callback
Adds the operation supplied by the client to the MCUmgr command
received callback

Signed-off-by: Jamie McCrae <spam@helper3000.net>
2023-12-15 11:48:59 +00:00
Robert Lubos
0c095898fb net: shell: Prevent deadlock with net arp command
In case one of the networking shell backends is enabled, net arp command
could potentially trigger a deadlock, as it locks the ARP mutex before
TCP connection mutex, while TCP stack could do this in reverse order
(for instance when sending ACK or retransmission).

Mitigate this, by forcing a separate TX thread in such case, so that ARP
mutex is no longer accessed with TCP mutex locked.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-15 11:42:40 +00:00
Fredrik Danebjer
37e1a116ef bluetooth: shell: Fix stream_start_sine for single stream
Fixed the stream_start_sine function when omitting the all argument.
The verification of the sine checked reversed return value, and was
placed in incorrect order.

Signed-off-by: Fredrik Danebjer <frdn@demant.com>
2023-12-15 11:42:26 +00:00
Peter Mitsis
6b1a3207dd tests: Fix bias adjustment in latency_measure
Updates the non-blocking semaphore and mutex benchmark sub-tests in
the latency_measure benchmark to remove the timestamp bias adjustment.
As the timestamps are not sampled during each iteration of those
sub-tests, there is no need to correct for any bias from the sampling.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-15 11:42:06 +00:00
Daniel DeGrasse
c9404e0174 drivers: usb: usb_dc_kinetis: fix k_heap_alloc wait duration
Change k_heap_alloc wait duration to K_NO_WAIT in kinetis USB driver,
since the usb_dc_ep_configure function may be called from an ISR
context, where only K_NO_WAIT would be allowed as a duration for this
function.

Fixes #66507

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-12-15 11:41:56 +00:00
Mariusz Skamra
6e6311ebfb tests: Bluetooth: shell: Use BT_LE_CONN_PARAM_DEFAULT for connection
This basically reverts changes made by
9c8ec58beb.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-15 11:41:34 +00:00
Mariusz Skamra
d2745d6dba tests: Bluetooth: shell: Fix connection reference leak
This fixes regression introduced in recently.
Redundant connection reference is taken twice in connected()
callback. The redunant reference was then not returned, and
as a result we had a leak.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-15 11:41:34 +00:00
Juha Ylinen
f9fa2ae77c tests: net: coap: Add test case for transmission parameters
Add new test case.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-12-15 11:41:27 +00:00
Juha Ylinen
d09d3d82ef net: lib: coap: Change coap_pending_init()
Replace function parameter 'retries' with pointer to structure
holding coap transmission parameters. This allows setting the
retransmission parameters individually for each pending request.

Add coap transmission parameters to coap_pending structure.

Update migration guide and release notes.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-12-15 11:41:27 +00:00
Rubin Gerritsen
dc9ad42ffb Bluetooth: Clarify when the sent callback is issued
The timing of the sent callback shouldn't be used to determine
when something is sent on air. The callback is issued after the
controller has raised the HCI event "Number Of Completed Packets".
The timing of this event is dependent on the implementation.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2023-12-15 11:41:14 +00:00
Adam Wojasinski
a7a6b5654a modules: hal_nordic: Add possibility to specify own source of the nrfx
Introduce possibility to override `NRFX_DIR` sybol from hal_nordic's
CMakeLists.txt file that specifies source dir for the nrfx drivers.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-15 11:41:02 +00:00
Sateesh Kotapati
044299a7c4 gecko: EFR32BG22 Device files updated | Update to GSDK 4.3.2
Update the EFR32BG22 device files inside gecko/Device/SiliconLabs/EFR32BG22
from gecko_sdk to align the codebase of hal_silabs with gecko_sdk 4.3.2

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2023-12-15 12:33:35 +01:00
Fabio Baltieri
c0b103bfb1 input: ft5336: add suspend and resume support
Add power management support to ft5336. The chip can go to hibernate and
reduce power consumption to a minimum, the only way to wake it up though
is by pulsing the reset or wake signal. Only reset is implemented in the
driver right now so only allow this functionality if the reset pin is
defined.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-15 11:32:56 +00:00
Kai Vehmanen
c7e3ccd51a drivers: dma: intel_adsp_gpdma: fix issue with stop and PM refcounts
The DMA interface allows start and stop to be called multiple
times and driver should ensure nothing bad happens if the calls
are not balanced.

Fix an issue where after a start-stop sequence the DMA would be
powered down, and then a subsequent stop would result in a crash
as driver accesses registers of a powered down hardware block.

Fix the issue by handling stop without actually reading the hw
registers to check channel status.

Link: https://github.com/thesofproject/sof/issues/8503
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-12-15 11:32:41 +00:00
Lukasz Mrugala
f473bd9be1 twister: testplan: Platform key checking rationalisation in apply_filters
Fixes #65477
Platform key checking seemed to be erroneous;
now the variable names, comments and code seem in line with each other.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-12-15 11:32:15 +00:00
Patryk Koscik
b22bb172f2 samples: blinky: add verbose printf output
Add console output to the sample, with the LED status upon a GPIO toggle.

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2023-12-15 11:20:03 +00:00
Benjamin Cabé
7e253ff937 doc: Make search engine configurable
Add UI to select preferred search engine when Google Programmable Search is
enabled. The user's preference is saved using local storage.

This also makes the search input field of type "search" for better UX (in
particular on mobile).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-15 04:34:48 -05:00
Benjamin Cabé
7688f4859c doc: Add Google Programmable Search Engine
Add Google Programmable Search engine to the documentation, while
leaving it possible to easily revert to the built-in Sphinx search
engine. As the styling of the search results is apparently not thought
to be easy to tweak, the gcs.css stylesheet might require further
improvements.
Fixes #55173.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-15 04:34:48 -05:00
Benjamin Cabé
fc0a9c5655 doc: exclude some HTML DIVs from search engine "snippets"
Some portions of the documentation do not make sense when shown as
"snippets" in search engines' results. Use "data-nosnippet" attribute to
instruct search engines (Google for sure, hopefully others in the
future) to exclude them.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-15 04:34:48 -05:00
Benjamin Cabé
66fbf35435 doc: remove readthedocs-sphinx-search CSS rules
The "Sphinx search extension" CSS rules are not needed as we are not
using this extension since we are not hosting on readthedocs.io.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-15 04:34:48 -05:00
Benjamin Cabé
1453e26b21 doc: update doxygen awesome to v2.3.1
Update to a more recent version of Doyxgen Awesome for better
compatibilty with recent versions of Doxygen.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-15 04:33:16 -05:00
Anas Nashif
7d2b3302eb twister: support lcov > 2.0
Support lcov > 2.0 tool which has strict error checking and some new
configuration options deprecating syntax used in 1.4 versions.

Fixes #62202

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-15 04:27:28 -05:00
Benjamin Cabé
29b19bcf8b doc: sphinx: Tweak page scroll behavior to maximize real estate
This picks up custom javscript from Godot documentation and uses CSS
rules we already had in place (only they were not used) to tweak the
page scroll behavior. As folks scroll down the page, the Zephyr logo in
the top right corner gradually disappears, leaving more room for the
navigation menu.

Also, when scrolling in the navigation pane, the UI there is slightly
adapted to make it more clear that the search box is "fixed", plus,
when one reaches the bottom of the navigation tree and continues
scrolling, the "main" page scrolls down.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-14 14:38:03 -05:00
Flavio Ceolin
b16110587c pm: device_runtime: Avoid unnecessary work
Similar to what is done in pm_device_runtime_get,
we don't need to wait the device be suspended if
the work is still in the work queue. In this case
we just cancel the work and update the device state
to active.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-14 19:07:48 +00:00
Flavio Ceolin
dca352bfa3 tests: arm64_high_addresses: Remove unused build option
This test does not define any syscall. It does not need to set
CONFIG_APPLICATION_DEFINE_SYSCALL.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-14 19:07:39 +00:00
Flavio Ceolin
438e8a4cb0 samples: syscall_perf: Remove unused build option
This sample does not define any syscall. It does need to set
CONFIG_APPLICATION_DEFINE_SYSCALL.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-14 19:07:39 +00:00
Mariusz Skamra
daa7a99b8c tests: bsim: has: Change printk to LOG
Replace combination of printk() to LOG_DBG() to fix the order of the
test execution logs. The printk() is printed immediately, while logs are
buffered, thus the messages from test are printed out before the stack
logs.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-14 19:07:28 +00:00
Mariusz Skamra
0b8b67e346 tests: bsim: has: Clean up the #ifdef
Use if(IS_ENABLED(...)) {...} instead.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-14 19:07:28 +00:00
Dawid Niedzwiecki
b0753d9c10 entropy: stm32: enable interrupt when RNG is resumed
Enable the RNG module interrupt every time it is resumed.

It is done to make sure the interrupt is always enabled. The CR register
may not persist when the device clock is disabled on some chips.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-12-14 19:07:19 +00:00
Dawid Niedzwiecki
87f2486e1c entropy: stm32: enable rng module if needed
Move enabling/disabling the RNG module to acquire/release functions.
It causes enabling the RNG module for the get_entropy_isr function.

It fixes hanging in the get_entropy_isr function.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-12-14 19:07:19 +00:00
Luca Burelli
4d86162989 llext: merge llext_mem and llext_section enums
The only difference in the two enums are some entries related to
relocation sections. However, these entries are not used in the
code, so they can be safely removed, along with the mapping function.

Use LLEXT_MEM_* to avoid confusion with low-level "section" names.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-14 19:06:55 +00:00
Weifeng Li
93869605eb drivers: flash: flash_stm32l5x: fix the STM32U5X flash bank issue
STM32U5X has 128k/256k/512k/1M/2M dual bank Flash.
The address of the 2 bank are continuous, so it's no need a "Dummy page"
in "stm32_flash_layout", which cause wrong slot1 section (for secondary
image), and the BANK2_OFFSET is not right either, which cause
"flash_stm32_valid_range" return a failure.
To fix the issue, just set CONFIG_FLASH_SIZE to STM32_SERIES_MAX_FLASH
Tested on NUCLEO-U545RE with mcuboot.

Signed-off-by: Weifeng Li <weifeng.li@aofrio.com>
2023-12-14 19:06:36 +00:00
Jamie McCrae
4b1f2da9f7 doc: release: 3.6: Add note on increase retention variable size
Adds a note that the buffer variable size has increased

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-14 19:05:22 +00:00
Jamie McCrae
bfb4794c36 retention: Increase read size variables to 16-bit
Increases 2 variables to be 16-bits instead of 8-bits to allow
for target read sizes, this would only be an issue if someone
changed the default retention block size from the default value
of 16 to a value over 256

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-14 19:05:22 +00:00
Arnaud Pouliquen
bf2bdcf6f7 ipc_service: open-amp: Fix libmetal shared memory registration
When using multiple instances of IPC static vring, each instance
should register its shared memory with a unique name.
Instead of a predefined default name, the name of the ipc instance
is reused for the metal device name.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2023-12-14 16:18:55 +02:00
Fabiola Kwasowiec
28d5d23a23 intel_adsp: lnl: add missing definition for lnl
Definition of ADSP_FORCE_DECOUPLED_HDMA_L1_EXIT_BIT,
which is used in the intel_adsp_force_dmi_l0_state function,
is missing.

Signed-off-by: Fabiola Kwasowiec <fabiola.kwasowiec@intel.com>
2023-12-14 22:22:22 +09:00
Jukka Rissanen
b6aea97dc7 net: l2: dummy: Add start/stop API functions
The dummy L2 layer does not implement any L2 functionality
but it does not mean that it should not implement start/stop
functions that are called when the related network interface
is brought up or taken down.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 14:21:31 +01:00
Jukka Rissanen
67d21c8b1d tests: net: if: Add test to check device readiness
Add tests that check if device is ready or not, and
then verify the functionality of net_if_up() in that case.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 14:21:31 +01:00
Jukka Rissanen
d8ec9118b4 net: if: Interface stays down if device is not ready
It is pointless to take net interface up if the underlaying
device is not ready. Set also the interface status properly
in this case.

Fixes #65423

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 14:21:31 +01:00
Zoltan Havas
e7039bc37f zephyr: Kconfig: SOC_GECKO_CUSTOM_RADIO_PHY option for RAIL for proprietary
Currently on zephyr, RAIL library is used only by Bluetooth applications,
with this update, it will be able to be used for sample applications
for custom radio phys.
All files were copied from Silicon Labs GSDK v4.2.4.

Signed-off-by: Zoltan Havas <zoltan.havas@silabs.com>
2023-12-14 14:21:21 +01:00
Jukka Rissanen
af0336ed19 net: socket: Remove "ignored" comment from supported symbols
Some socket symbols were marked as "ignored" even when they
are in fact supported.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 10:14:50 +01:00
Jukka Rissanen
43c1b8917f net: socket: Add missing doxygen documentation
Add doxygen comments to those APIs where they were missing
and were relevant.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 10:14:50 +01:00
Jukka Rissanen
124f874bed net: socket: Update socket option documentation
Remove redundant information from socket option documentation.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 10:14:50 +01:00
Jukka Rissanen
bbd029a087 net: socket: TLS doc group was missing defines
Couple of TLS defines were not in correct documentation group.
Add also missing doxygen comments for TLS defines.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 10:14:50 +01:00
Jukka Rissanen
c6b6f74510 net: socket: Group various defines together for documentation
Groupped various defines in socket.h together based on their
usage. This groupping is only for documentation.

Fixes #66081

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-14 10:14:50 +01:00
Adam Wojasinski
c88b492842 drivers: spi: nrfx: Update doc for RAM_BUFFER_SIZE Kconfig symbol
Update documentation for SPI_NRFX_RAM_BUFFER_SIZE Kconfig symbol
to reflect new usage of it. Now the symbol specifies size of RX buffer.
The change introducing support for RX buffer placed by a linker in
memory region defined in SPIM devicetree node is in a parent commit
of that one.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-14 10:14:26 +01:00
Adam Wojasinski
ae75a8f73a drivers: spi: spi_nrfx_spim: Add support for RX buffer from RAM region
This patch adds support for RX buffer placed by a linker in
memory region defined in SPIM devicetree node. The buffer is placed
in memory region defined as devicetree node. The memory region node's
reference is then stored in `memory-regions` property of SPIM node.

Added build time assertion to check if `CONFIG_SPI_NRFX_RAM_BUFFER_SIZE`
Kconfig symbol has value greater than 0 when given SPIM node has
`memory-region` property.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-14 10:14:26 +01:00
Piotr Golyzniak
5ae567499b samples: pytest: add README
Add README.rst file with description of sample which shows how to use
pytest and Twister together.

Signed-off-by: Piotr Golyzniak <piotr.golyzniak@nordicsemi.no>
2023-12-14 10:12:21 +01:00
Piotr Golyzniak
5a3b9799aa doc: test: improve pytest documentation
Improve documentation about pytest integration with Twister. Add
examples of usage, improve description of available options and
introduce automatic doc generation of two plugin classes (DeviceAdapter
and Shell) basing on their docstrings from source code.

Signed-off-by: Piotr Golyzniak <piotr.golyzniak@nordicsemi.no>
2023-12-14 10:12:21 +01:00
Christopher Friedt
04c9903055 posix: pthread_once: simplify and reduce size of pthread_once_t
Since pthread_once() is both the initializer and executor of
pthread_once_t, it can have maximally two states. Since the
implementation in Zephyr previously aimed to maximize libc
compatibility, we opted to use the definition of pthread_once_t
from newlib, which is a structure with two ints.

It does not make sense to use 64 bits to manage 2 possible
states. The control for that should effectively be a bool.

We maintain compatibility with newlib by asserting (at build
time), that newlib's pthread_once_t is larger than Zephyr's
new struct pthread_once (which just contains a bool).

This allows us to delete the non-standard pthread_key.h
header file (finally).

Reuse the pthread_pool_lock in order to synchronize the related
init function (so that it is only called maximally once from any
thread). The spinlock is only used to test the state and the
init function is not called with the spinlock held.

The alternative was to use an atomic inside of
struct pthread_once. But again, that could be up to 64-bits with
Zephyr's atomics implementation.

Ideally we would use C11 generics or something to support atomics
on 8, 16, 32, and 64-bit primitives.

Lastly, also update declarations for C11 threads as they mostly
mirror our pthread implementation.

This needed to be done as a single commit in order to ensure
continuity of build.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-14 09:32:58 +01:00
Daniel DeGrasse
3091ddc4fe net: lib: lwm2m: use correct format specifier for LOG_ERR
Use correct format specifier for LOG_ERR in lwm2m_obj_device.c. The
previously used format specifier of %u was correct for 32 bit systems
but would produce a build warning for 64 bit systems.

Fixes #66441

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-12-14 09:32:43 +01:00
Marc Desvaux
4dc0bd1800 drivers: ethernet: remove sections.ld for SOC_SERIES_STM32H5X
remove section(".eth_stm32_desc") and
section(".eth_stm32_desc") for SOC_SERIES_STM32H5X


Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-12-14 09:32:35 +01:00
Anas Nashif
21561e4e03 tests: coredump: no need for special xtensa entry
We use the same code flow now on all architectures, so no need for a
special entry for xtensa.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-14 09:32:27 +01:00
Anas Nashif
dddc5687a9 arch: mips: use LOG_ERR to print exceptions
Change exception code to use LOG_ERR and align with all other
architectures when CONFIG_EXCEPTION_DEBUG is enabled.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-14 09:32:27 +01:00
Anas Nashif
e25f31ab78 arch: guard more code with CONFIG_EXCEPTION_DEBUG
It should be possible to disable exception debug, which is enabled by
default to reduce image size. Add missing guards now that the option is
cross architecture.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-14 09:32:27 +01:00
Anas Nashif
a7e8391e31 debug: coredump: handle xtensa coredump like everyone else
There should not be any special handling for coredump with xtensa.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-14 09:32:27 +01:00
Anas Nashif
044e2d6bff arch: make CONFIG_EXCEPTION_DEBUG cross arch config
Define CONFIG_EXCEPTION_DEBUG globally and remove architecture specific
definition of config.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-14 09:32:27 +01:00
Mariusz Skamra
1cb80d3282 Bluetooth: audio: has_client: Use CONTAINER_OF to get client instance
This starts using CONTAINER_OF macro instead of inst_by_conn function
wherever possible. It's better approach as the client instance is
a container for parameters passed to the callbacks.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-14 09:31:59 +01:00
Alessio Lei
733b81d2c7 drivers: modem: remove dependency of modem_socket
Fixed Kconfig to remove dependency between modem_socket and
modem_context, the two do not depend on each other and
should be possible to use independently

Signed-off-by: Alessio Lei <alelei94@yahoo.it>
2023-12-14 09:31:51 +01:00
Anas Nashif
7da7768095 cmake: remove deprecated XCC_USE_CLANG
This was deprecated in 3.0, so remove it now and remove all docs related
to it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-14 09:31:45 +01:00
Andrej Butok
cc4ffb2a54 kernel: cmake: fix k_sleep compilation error for single thread
Fix k_sleep compilation error:
[build] ... syscalls/kernel.h:135: undefined reference to `z_impl_k_sleep'
for single thread applications (CONFIG_MULTITHREADING = n).
The shed.c contains source code which must be present also
in single thread applications.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-14 09:31:38 +01:00
Anas Nashif
28445d62c6 soc: intel_adsp: share adsp_imr_layout.h across SoC generations
This header is shared across all ace intel_adsp platforms, so move it to
a common place.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-14 09:30:13 +01:00
Declan Snyder
1011acd4d7 drivers: nxp_enet: Improve code readability
Improve code readability of this driver by simplifying and reworking
some of the source code, formatting and comments.
This commit is not meant to cause any functional difference.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-14 09:30:05 +01:00
Declan Snyder
e913ccc753 net: Add Kconfig for net buf alignment
Add a NET_BUF_ALIGNMENT kconfig to make net buffer alignment configurable.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-14 09:29:47 +01:00
Andrej Butok
263846dd67 boards: mimxrt1040_evk: add boot and slot partitions
Add boot and slot partitions for mimxrt1040_evk.
Enable MCUBoot support for it.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-14 09:29:35 +01:00
Armando Visconti
3fe0ffb9dc sample: board: sensortile_box_pro: extend with lis2du12 accelerometer
Extend sensor sample reading also lis2du12 accelerometer data.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-14 09:28:52 +01:00
Armando Visconti
23110dcfae boards: arm: sensortile_box_pro: extend with lis2du12
Extend sensortile_box_pro with lis2du12 accelerometer.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-14 09:28:52 +01:00
Armando Visconti
1badec4bfd drivers/sensor: add support to LIS2DU12 accelerometer
The LIS2DU12 is a linear 3-axis accelerometer with advanced digital
functions whose MEMS and ASIC have been expressly designed to build
an outstanding ultralow-power architecture in which the anti-aliasing
filter operates with a current consumption among the lowest in the
market.
This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/en/datasheet/lis2du12.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-14 09:28:52 +01:00
Armando Visconti
858007dc93 drivers/sensor: add Kconfig.trigger_template
Add Kconfig.trigger_template to allow an extensive re-use of
trigger configuration inside all sensor drivers.

This template must be included as in the following example:

    module = LSM6DSO
    thread_priority = 10
    thread_stack_size = 1024
    source "drivers/sensor/Kconfig.trigger_template"

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-14 09:28:52 +01:00
Mahesh Mahadevan
3535732580 drivers: dma: Return DMA_STATUS_BLOCK or DMA_STATUS_COMPLETE
Use intA and intB fields of the DMA descriptor to decide when
the interrupt is per block versus when the transfer is complete.
This allows us to return the correct flag to the user.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-14 09:28:38 +01:00
Mahesh Mahadevan
7d12d654db drivers: i2s: Set DMA complete_callback flag
The MCUX LPC DMA driver now recognizes the compelete_callback
flag. Set this flag so we receive an interrupt after completion
of every block.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-14 09:28:38 +01:00
Mahesh Mahadevan
0dbbc3cc77 drivers: spi: Set the complete_callback flag
The MCUX LPC driver now recognizes the complete_callback
flag. We need to set this flag so we receive a callback
after every block.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-14 09:28:38 +01:00
Mahesh Mahadevan
4e14f73216 drivers: dma_lpc: Process complete_callback flag
Add code to recognize the complete_callback flag
and issue the callback accordingly.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-14 09:28:38 +01:00
Adam Wojasinski
861ccddb92 drivers: counter: counter_nrfx_rtc: Change HAL to HALY in RTC counter
NRFX has introduced HALY software layer which is a superset of HAL
and aggregates some hardware registers manipulations in a single
function calls.

Quote from nrfx changelog:

"HALY is an extension of the HAL layer that aggregates basic hardware
use cases within single functions. Now it is used instead of HAL
in the corresponding drivers."

This commit zephyr's driver to be aligned with the approach used
in nrfx, where drivers has been switched to use HALY instead of HAL.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-14 09:28:15 +01:00
Adam Wojasinski
b7949766e6 drivers: timer: nrf_rtc_timer: Change HAL to HALY in RTC timer driver
NRFX has introduced HALY software layer which is a superset of HAL
and aggregates some hardware registers manipulations in a single
function calls.

Quote from nrfx changelog:

"HALY is an extension of the HAL layer that aggregates basic hardware
use cases within single functions. Now it is used instead of HAL
in the corresponding drivers."

This commit zephyr's driver to be aligned with the approach used
in nrfx, where drivers has been switched to use HALY instead of HAL.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-14 09:28:15 +01:00
Maureen Helm
5ff4f46d9e tests: drivers: dma: Refactor tests to use data relocation
Eliminates dma tests' dependency on CONFIG_NOCACHE_MEMORY=y for
configuring dma data linker sections. This allows optionally relocating
dma source and destination data to sram or other custom linker section
on boards that don't support dma access to flash.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-12-14 09:27:43 +01:00
Anas Nashif
246ec224e2 lib: heap: move heap stats to own file
heap stats are split out from heap_validate.c into own file.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
d4c881da04 lib: mem_block: move to own folder
Move mem_block into own folder and seperate from lib/os and heap
configuration.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
740d0c3b50 lib: heap: make multi-heap feature configurable
Make multi-heap configurable via Kconfig and adapt existing tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
d398e9631b lib: heap: build heap_info conditionally
Only build when needed and adapt existing users to pull this in when
needed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
00680bd23a lib: heap: rename with files and use _
be consistent with other files in the same folder.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
2e24e9da9e tests: shared_multi_heap: fix identifier
Adapt identifier and be consistent with other heap tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
11365fc4f8 tests: move shared_multi_heap to tests/lib
Move shared_multi_heap test under lib alongside all other heap tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
44381f957a tests: multi_heap: adapt test identifiers
Change identifier to match with other heap related tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
dd2dcbed54 tests: move mheap_api_concept into tests/lib/multi_heap
Move multi-heap tests out of kernel folder along side all other heap
related tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
b9f2ac0270 lib: heap: make heap_print_info static
This should be declated static as it is being only called in this file.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
d6d716b32a lib: heap: build heap utilities only on demand
Build the heap features only when needed and based on Kconfigs being
set.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
4cd9c11692 lib: heap: split heap-validate.c
Split heap-validate.c into smaller chunks. We have been adding all kind
of new APIs under this file and building it unconditionally whether
those APIs are needed/used or not. Many of those APIs have nothing to do
with the validation part.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
6cb588820f lib: os: move heap to own folder
consolidate all heap related files and implementation into one folder.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Simon Hein
64462657c9 doc: irq: fix function link
fix not correct shown function link for irq_connect_dynamic.

Signed-off-by: Simon Hein <Shein@baumer.com>
2023-12-13 20:13:46 +01:00
Jukka Rissanen
477a4a5d34 net: shell: Rename the common.h to be more unique
As the common.h is only meant to be used by the network
shell files, rename it to be more descriptive in order to
avoid possible conflicts with any other common.h file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-13 20:13:39 +01:00
Jukka Rissanen
37c18ddcb1 net: if: Init also dhcpv6 when interface is init
Do dhcpv6 state initialization same way as how dhcpv4 is done
when initializing network interface structure.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-13 20:13:31 +01:00
Jukka Rissanen
f4974ca82a net: if: Cleanup network interface init macros
Avoid using #ifdefs when declaring macros twice. This way
there is only one macro that does the initialization.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-13 20:13:31 +01:00
Jukka Rissanen
9bc2815c59 net: buf: Define only one pool initializer macro
Use the IF_ENABLED() macro to define the net_buf pool initializer
macro only once. This way the initializer is only defined in
one place.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-13 20:13:24 +01:00
Adam Wojasinski
2457a942ed boards: arm: nrf5340dk_nrf5340: Add SPI to supported peripherals
The target has board configuration for spi_flash sample but bacause
of the lack of SPI mentioned in supported peripherals Twister
is filtering out the target for sample.drivers.spi.flash test.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-13 20:13:16 +01:00
Florian La Roche
fdcfec0328 drivers: entropy: entropy_esp32.c: remove not necessary cast
This cast already has the correct type on both sides, so it
can be removed.

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2023-12-13 20:12:54 +01:00
Florian La Roche
6621e780c9 lib: libc: minimal: proper cast to "(char *)" from "(const char *)"
The string "" is of type '(const char *)', so add a cast over to
'(char *)' to clean up source code.

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2023-12-13 20:12:45 +01:00
Johann Fischer
9566419300 samples: usb: use common sample USBD initialization
Use the common USBD sample initialization helper where new USB device
support has already been added.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-13 17:52:00 +01:00
Johann Fischer
b00a998cf1 samples: usb: add common USB device instantiation and initialization
There is common code for the new USB device support in the samples to
instantiate USB device, descriptors, configuration and initialize USB
device. Add common code that can be used for the simple usecase with a
single USB device and single configuration.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-13 17:52:00 +01:00
Johann Fischer
52686a8308 usb: device_next: simplify way to set/change triple code
Usually we want set all values of code triple Base Class, SubClass, and
Protocol at once. Merge existing functions to set code, subcode,
protocol into just one helper to set code triple.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-13 17:52:00 +01:00
Luca Burelli
2c7ea1dde5 llext: autoselect CACHE_MANAGEMENT on supported targets
Targets that have a data cache must enable CACHE_MANAGEMENT to allow the
llext API to flush it when loading an extension. This patch forces the
flag to be enabled when the target has a data cache.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-13 15:22:07 +00:00
Luca Burelli
8887402290 llext: fix: use proper global #define for cache flush
The arch_* functions are architecture-specific and may not be defined in
all targets. Use the global alias defined in the Cache API instead.

Fixes #66382.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-13 15:22:07 +00:00
Georgij Cernysiov
9f3d9f7594 drivers: spi: stm32: disable cs when spi is done
Deassert CS after SPI is done.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
Co-authored-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2023-12-13 13:58:03 +01:00
Evan Perry Grove
6df4576249 tests: drivers: Add nucleo_f722ze board support
Add overlays for the adc_api and counter_basic_api tests. Support
Nucleo F722ZE in the dac_api test.

Signed-off-by: Evan Perry Grove <evan@4grove.com>
2023-12-13 13:57:55 +01:00
Evan Perry Grove
f93ea05895 boards: arm: Add support for ST NUCLEO F722ZE
Introduce support for ST Nucleo F722ZE, an evaluation board based on
the STM32F722ZET6U microcontroller.

Signed-off-by: Evan Perry Grove <evan@4grove.com>
2023-12-13 13:57:55 +01:00
Evan Perry Grove
a54a52b085 dts: arm: Add support for STM32F722 SoC
The STM32F722 is similar to the STM32F723, but lacks the latter's
more advanced USB PHY. Otherwise, they are virtually identical.

Signed-off-by: Evan Perry Grove <evan@4grove.com>
2023-12-13 13:57:55 +01:00
Anders Storrø
25d44a828d Bluetooth: Mesh: Rename prov_dev->provisionee
Renames "prov device" references and options to
"provisionee" to align implementation with Mesh
Protocol specification v1.1, section 5.4.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-12-13 13:57:46 +01:00
Jędrzej Ciupis
00f7c0e445 modules: hal_nordic: nrf_802154: remove magic number
This commit replaces a magic number in the definition of serialization
ring buffer length with a macro provided by the 802.15.4 driver.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2023-12-13 13:57:24 +01:00
Jędrzej Ciupis
7afeb62e20 drivers: ieee802154: support Key Identifier Mode > 1
IEEE 802.15.4-2020 defines four possible values for Key Identifier Mode
field of the Auxiliary Security Header. The current ieee802154 driver
API only supports two of them: b00 and b01. This commit adds support for
the two remaining Key Identifier Mode values. It's done by replacing a
field that can only hold Key Index into a field that can holds a pointer
to the entire Key Identifier field.

See IEEE 802.15.4-2020, sections 9.4.2.3 and 9.4.4 for further reference.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2023-12-13 13:57:24 +01:00
Marc Herbert
13df15845e cmake: drop ERROR_QUIET in python.cmake
ERROR_QUIET should be used only when the command is actually expected to
fail, otherwise discarding stderr can be extremely time-consuming. See
recent example of time lost in commit 40c2e08e82 ("xcc/cmake: don't
discard stderr; don't (ever!) use ERROR_QUIET")

If some Python interpreter cannot even evaluate `sys.version_info[:2]`,
then we definitely don't want to hide what its stderr says about that.

Fixes commit 94de3e9f60 ("cmake: FindPython3: Adjust python3 program
search")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-13 13:56:59 +01:00
Kevin ORourke
fbfd36e81e drivers: clock_control: stm32: Add HSE CSS support
Add support for enabling the clock security system, which can detect
failures of the HSE clock.

Includes tests for nucleo_h743zi and nucleo_g474re.

Signed-off-by: Kevin ORourke <kevin.orourke@ferroamp.se>
2023-12-13 13:56:43 +01:00
Marc Desvaux
c758f1cc14 drivers: usb: device: usb_dc_stm32 issue USB drivers
Isochronous endpoint issue with USB drivers on STM32G491
we setup an isochronous endpoint and are having an issue
where every other frame sends the desired data sandwiched
between garbage data.

For isochronous the parameter ep_kind into the fonction :
HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd, uint16_t ep_addr,
uint16_t ep_kind, uint32_t pmaadress) must be PCD_DBL_BUF.

The parameter pmaadress (EP address in The PMA) is like that:
EP address in The PMA: In case of single buffer endpoint
this parameter is 16-bit value providing the address
in PMA allocated to endpoint.
In case of double buffer endpoint this parameter
is a 32-bit value providing the endpoint buffer 0 address
in the LSB part of 32-bit value and endpoint buffer 1 address
in the MSB part of 32-bit value.


Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-12-13 10:40:23 +01:00
Fabiola Kwasowiec
431da79dfa hda: separation of l1 settings to new function
Separating two new functions force and allow l1
to have the current state with separated functions
in the ipc file so that SOF can call these
functions via IPC DMI_FORCE_L1_EXIT. Change related
to the addition of a new parameter to force
DMI L1 exit on IPC request.

Signed-off-by: Fabiola Kwasowiec <fabiola.kwasowiec@intel.com>
2023-12-13 10:39:17 +01:00
Robert Lubos
8cb4f09a28 net: tcp: Remove pointless recv callback calls
Calling the registered receive callback when releasing TCP context
doesn't make sense, as at that point the application should've already
closed the associated socket (that's one of the conditions for the
context to be released). Therefore, remove the pointless receive
callback call, while keeping the loop to unref any leftover data packets
(although again, I don' think there should be any packets left at that
point, as they're all consumed in tcp_in()).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-13 10:39:03 +01:00
Robert Lubos
6b00b537aa net: tcp: Fix deadlock with tcp_conn_close()
While improving thread safety of the TCP stack I've introduced a
possible deadlock scenario, when calling tcp_conn_close() in tcp_in().
This function shall not be called with connection mutex locked, as it
calls registered recv callback internally, which could lead to deadlock
between TCP/socket mutexes.

This commit moves the tcp_conn_close() back where it was originally
called. I've verified that the thread safety is still solid with the
test apps used originally.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-13 10:39:03 +01:00
Jeremy Bettis
e268a6ce7d gpio: Add lock around registers and data
Added a spinlock to accesses of registers and struct gpio_ite_data,
except for gpio_ite_isr() function.

Bug #66401

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2023-12-13 09:56:31 +01:00
Jason Kridner
547a75d4d0 Revert "boards: arm: Fix sensor shell sample for beagleconnect_freedom board"
This reverts commit 3769938e78.

Now that gpio_i2c_switch is upstream, this hack should be removed. This
had the unintended effect of disabling the on-board sensors. The issue
was that the board was merged before this driver was upstream, resulting
in the issue this commit "fixed".

This revert also does not move the bus driver under the controller used
by the driver as the sensor bus I2C driver is not an I2C peripheral.

See:
* https://github.com/zephyrproject-rtos/zephyr/pull/64881
* https://github.com/zephyrproject-rtos/zephyr/pull/64693
* https://github.com/zephyrproject-rtos/zephyr/pull/65031

Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
2023-12-13 09:42:36 +01:00
Armando Visconti
72620baefe tests: drivers: build_all: add die_temp test case
Add test case for all drivers that are supporting the die temperature
feature, and fix right away all the yet undiscovered issues.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-13 09:42:23 +01:00
Jukka Rissanen
f9b5dc20f7 drivers: net: loopback: Do not change the original pkt
When we are sending a network pkt, do not tweak the original
packet but the cloned one. The original behavior is ok too, but
logically we should adjust the cloned packet only that is being
received by the stack. This also means that we avoid one extra
copy to tmp variable when sending the packet.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-13 09:42:12 +01:00
Mariusz Skamra
d3d46a6d80 Bluetooth: has: Fix control point error return code
This fixes the return error code for Preset Write operation that shall
be returned when preset is not writable (or disabled via Kconfig like in
this case).

As per HAS_v1.0; 3.2.2.3 Write Preset Name operation
"If the Writable bit in the Properties field of the preset record which
is identified by the Index parameter is set to 0b0, then the server
shall return an ATT_ERROR_RSP PDU to the ATT_WRITE_REQ PDU with
the Error Code parameter set to Write Name Not Allowed."

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-13 09:42:04 +01:00
Alexis LECOQ
7c3853537e dts: boards: stm32h562: Adding USART11
This commit is enabling the USART11 for STM32H562/563 boards.

Signed-off-by: Alexis LECOQ <alexis.lecoq@hidglobal.com>
2023-12-13 09:41:57 +01:00
Daniel Leung
0636e52eff xtensa: rename xtensa_asm2.c to vector_handlers.c
Rename xtensa_asm2.c to have a more meaningful name to actually
reflect the content of the file. This file is mostly about
handling interrupts and exceptions (via the predefined vectors
in Xtensa core).

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
b2f20d65b3 xtensa: remove z_arch_get_next_switch_handle
Fold z_arch_get_next_switch_handle() into return_to(). This is
not exactly an arch interface, and is simple enough to be
moved into return_to().

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
a819bfb2d5 xtensa: rename z_xtensa to simply xtensa
Rename the remaining z_xtensa stuff as these are (mostly)
under arch/xtensa.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
6d5e0c25a6 xtensa: rename z_xtensa_irq to simple xtensa_irq
This gets rid of the z_ prefix.

Note that z_xt_*() are being used by the HAL so they cannot be
renamed.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
8bf20ee975 xtensa: mmu: rename prefix z_xtensa to xtensa_mmu
This follows the idea to remove any z_ prefix. Since MMU has
a large number of these, separate out these changes into one
commit to ease review effort.

Since these are no longer have z_, these need proper doxygen
doc. So add them too.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
711622cbba xtensa: remove get_sreg macro from fatal.c
There is no in-file user. So remove it.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
004e68ccea xtensa: move exception handling func to arch internal header
z_xtensa_dump_stack() and z_xtensa_exccause() are both arch
internal functions that should not be exposed in public API.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
86b7210dc7 soc: xtensa: dc233c: no need to include xtensa_mmu_priv.h
It does not use anything inside xtensa_mmu_priv.h so remove
the include.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
43b0b48de7 xtensa: move files under core/include/ into include/
Header files under arch/xtensa/include are considered internal
to architecture. There is really no need for two places to
house architecture internal header files.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
d9b34c6108 xtensa: move irq management stuff into irq_manage.c...
... from xtensa_asm2.c. Other architectures have
z_irq_spurious() and *_irq_is_enabled() test in irq_manage.c.
So follow the trend here.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
264391fe88 xtensa: refactor thread related stuff into its own file...
... from xtensa_asm2.c.

Everything has been stuffed inside xtensa_asm2.c where
they are all mangled together. So extract thread related
stuff into its own file.

Note that arch_float_*() may not be thread related but
most other architectures put them into thread.c. So we
also do it here.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
aa64b1f98e xtensa: move arch_spin_relax into smp.c
arch_spin_relax() does not really fit into the scheme of
xtensa_asm2.c as it is mainly about handling interrupts
and exceptions. So move it into smp.c, similar to other
architectures which arch_spin_relax() defined.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
106061b307 xtensa: rename files with hyphens to underscores
Simply to provide some consistencies on file naming under
arch/xtensa.

These are all internally used files and are not public.
So there is no need to provide a deprecation path for
them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
43990d1c0e xtensa: remove xtensa-asm2.h
xtensa-asm2.h only contains the function declaration of
xtensa_init_stack() which is only used in one file. So
make the actual implementation a static function in that
file. Also there is really no need to expose stack init
function as arch public API. So remove xtensa-asm2.h.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
6694390ac8 xtensa: cleanup Kconfig file
* Wording on CONFIG_SIMULATOR_XTENSA
* Remove "default n" as default is no anyway.
* Remove some tabs as we almost never indent inside a if block
  in Zephyr.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
fc7ef47ed5 xtensa: remove CONFIG_XTENSA_NO_IPC
There is no in-tree user. Also, it is misleading as we use
SCOMPARE1 for spinlock too, not just IPC.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
d17524b86c xtensa: remove CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC from arch
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC should be defined at the SoC
or the board level since Xtensa cores are high configurable.
The default is just for ISS (Instruction Set Simulator). So
remove it from the arch level.

The xt-sim board is the only one in tree that is targeting
the ISS, so add it there.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Daniel Leung
3af390f6ed xtensa: doxygen: add groups for public and internal APIs
This adds two groups for Xtensa public and internal APIs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-13 09:41:24 +01:00
Jonathan Rico
2dab5dd0a0 tests: Bluetooth: add babblesim connection stress test
This is supposed to stress the host buffer and metadata handling.

It is not really testing any particular thing, ie. the pass criteria is
just that each peripheral can send and receive a fixed number of GATT
notifications without any device crashing or locking up.

Original version by Ahmed Moheib (from cloud2ground).

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-12-12 21:43:45 +02:00
Anas Nashif
8e5c3ce616 arch: xtensa: check for xt-clang instead of xcc-clang
Check against new variant name. xcc-clang usage is deprecated.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-12 18:48:14 +00:00
Anas Nashif
e29452da64 arch: arm: remove aarch32 from include header guards
We follow the path of the header to define the guard, aarch32 was
removed some time ago and the guards still had AARCH32 in them, just
remove it and keep the guard consistent and short.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-12 18:47:57 +00:00
Francois Ramu
82613c2e30 boards: arm: Add RTC clock source for az3166_iotdevkit
The `az3166_iotdevkit` board doesn't have its RTC node enabled,
and is failing the following test:
`tests/benchmarks/footprints/benchmark.kernel.footprints.pm`
Enabled RTC node for that platform.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 18:47:24 +00:00
Francois Ramu
acf0fe82d4 boards: arm: Add RTC clock source for 96b_aerocore2
The `96b_aerocore2` board doesn't have its RTC node enabled,
and is failing the following test:
`tests/benchmarks/footprints/benchmark.kernel.footprints.pm`
Enabled RTC node and lsi clock source for that platform.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 18:47:24 +00:00
Daniel Leung
c6773403b1 kernel: mm: fix some doxygen issues
Fix misplaced in,out in @param. If any parameters are output,
mark the others as input for clarity.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-12 18:46:21 +00:00
Daniel Leung
fa561ccd59 kernel: mmu: no need to expose z_free_page_count
z_free_page_count is only used in one file, so there is
no need to expose it, even to other part of kernel.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-12 18:46:21 +00:00
Tomasz Bursztyka
dc49dad7e0 tests/kernel: Exlude bogus platforms on cache test
Until these get fixed.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-12-12 19:11:13 +01:00
Tomasz Bursztyka
a2be813d99 tests/kernel: Add qemu_x86/x86_64 to cache test and enable cache
How cache test could be ran without CONFIG_CACHE_MANAGEMENT?

Adding qemu_x86/x86_64 as cache related API in x86 has proven to be
very brittle against changes recently: no test was at least verifying
it builds properly, not to mention running it.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-12-12 19:11:13 +01:00
Tomasz Bursztyka
9be3b8490b boards/x86: Adding clflush CPU capability to qemu_x86
Without this, cache manipulation cannot work in x86.
clflush was introduced with SSE2 extension, but may be implemented
without this extension and it seems that qemu made this choice a
adding sse2 CPU capability does not include clflush. It enabled by
default in 64 bits, so let's take care of this capability only for
the 32bits version of the board.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-12-12 19:11:13 +01:00
Tomasz Bursztyka
daf42fe77a arch/x86: CPUs expose an unimplemented feature
Instruction cache related functions (see include/zephyr/arch/cache.h)
are not implemented in x86, thus let's not set CONFIG_CPU_HAS_ICACHE
which may end up in build failure if one sets CONFIG_ICACHE.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-12-12 19:11:13 +01:00
Tomasz Bursztyka
b1cc7312cf arch/x86: Fixing dcache enable/disable code
It did not build in x86_64 due to the fact that cr0 is a 64bits
register in such architecture, instead of being a 32bits one originaly
so the place holder has to follow that size. Such place holder must be
initialized to 0 to make sure no upper 32 bits ends up set which would
conclude in a general protection error.

Operand size specifier (l, q ...) is useless as well in this context.

Clearing up the masks by using proper macros.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-12-12 19:11:13 +01:00
Daniel Leung
6421c7a5fe os: timing: polish doxygen
() Moves the architecture specific timing measurement APIs
   under the timing measurement APIs group.
() Add SoC and board specific API groups.
() Document each SoC and board specific API so the doc shows up
   for them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-12 19:10:33 +01:00
Xudong Zheng
545a3973a8 bluetooth: bas: remove select SENSOR
Bluetooth battery service does not use sensor.

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2023-12-12 19:10:17 +01:00
Lucas Denefle
b287db8fd3 samples: net: cellular_modem: polls cellular info
Adds an example of polling cellular info to the modem sample

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2023-12-12 19:09:33 +01:00
Lucas Denefle
d1ba79a070 drivers: cellular: add signal and modem_info API
Implement modem info pulling using the init and periodic chat scripts

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2023-12-12 19:09:33 +01:00
Bjarki Arge Andreasen
ad011695ab drivers: Add cellular API for network configuration
Adds two APIs which allow for configuring the cellular
network configuration of a cellular network device. like
a cellular modem. The first allows for configuring which
access technology to use, and optionally, which bands to
use. The second allows for getting all supported access
technologies are supported, and which bands for each tech
are supported.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-12-12 19:09:33 +01:00
Maciej Perkowski
2f7364fa0a twister: Refactor "skip to error" method
Use filter statuses instead of string matching in case of quarantine.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-12-12 19:09:01 +01:00
Maciej Perkowski
61dc683b71 twister: fix typo in filters.QUARANTINE
Fix typo filters.QUARENTINE to filters.QUARANTINE

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-12-12 19:09:01 +01:00
Joakim Andersson
2687376eff tfm: Enforce initial attestation with required key provisioned
Enforce that the initial attestation partition has the required
initial attestation key provisioned.

If the initial attestation key (IAK) is not present during boot of
TF-M the system will panic during initialization.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-12 19:08:46 +01:00
Joakim Andersson
25787e2df6 tfm: Harded build against TF-M built with unsecure keys
Introduce Kconfig option in zephyr build system that reflects the TF-M
cmake config variable with the same default value for dummy provisioning
and have it satisfy the IAK present requirement.
This configuration is not suitable for production, and by having this
in zephyr configuration we can have this as part of the hardened
configuration check.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-12 19:08:46 +01:00
Ricardo Rivera-Matos
16519a5b3c drivers: charger: Updates drivers to use charge_enable handler
Updates existing drivers to make use of the charge_enable handler.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-12-12 10:49:39 -06:00
Ricardo Rivera-Matos
d4ed6bacf0 drivers: charger: Adds charge_enable handler
Adds a charge_enable handler to facilitate enabling and disabling
a charge cycle. This deprecates enabling and disable the charge
cycle via the CHARGER_PROP_STATUS property.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-12-12 10:49:39 -06:00
Steffen Jahnke
a451db4981 boards: arm: Fix UART tx/rx pinctrl pan1780_evb/pan1770_evb
Changed the tx/rx pins in pinctrl *.dtsi files to match the
evaluation board circuit diagram for UART1.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2023-12-12 10:46:54 -06:00
Mateusz Holenko
cb677febb1 dts: riscv: Fix a typo in riscv,isa for mpfs
The RISC-V ISA extension is called `Zifencei` instead of `Zfencei`.

Signed-off-by: Mateusz Hołenko <mholenko@antmicro.com>
2023-12-12 16:26:17 +01:00
Sebastian Schlupp
b504932ae9 drivers: can_sam0: added clock configuration for SAME5x devices
Added clock source configuration depending on SAM SoC series.

Signed-off-by: Sebastian Schlupp <sebastian.schlupp@gmail.com>
2023-12-12 16:25:46 +01:00
Sebastian Schlupp
c2c05ff7e7 dts: arm: atmel: same5x: added CAN(0 and 1) peripheral description
Added default parameters for CAN peripherals according to the datasheet.

Signed-off-by: Sebastian Schlupp <sebastian.schlupp@gmail.com>
2023-12-12 16:25:46 +01:00
Sebastian Schlupp
0462cc060d soc: same51 and same54: added DFLL48 frequency information
Specified the value 48000000 for the DFLL48 clock source

Signed-off-by: Sebastian Schlupp <sebastian.schlupp@gmail.com>
2023-12-12 16:25:46 +01:00
Johann Fischer
aad6a81a3b drivers: udc_nrf: submit resume event after RWUP is initiated
Submit resume event after remote wakeup (resume) signalling is
initiated. Handle it same way as in the usb_dc_nrfx driver.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-12 15:34:11 +01:00
Mariusz Skamra
874e724492 tests: Bluetooth: ascs: Add expect_bt_bap_stream_ops_released_called
This adds the expect_bt_bap_stream_ops_released_called function that
takes an array of streams to verify as an argument. It's more versatile
approach than having expect_bt_bap_stream_ops_released_called_twice
erc. functions, that scales bad.
The function ignores the arhument list order, so that the user does not
have to predict the exact order of function calls.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
cb6c856d76 tests: Bluetooth: ascs: Limit the default number of ASEs
This limits the default number of ASEs available to 1.
The value can be overwritten in test case specific parameters
in testcase.yaml file.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
92d5cdec75 tests: Bluetooth: ascs: Remove duplicated config setting
This removes duplicated CONFIG_BT_ISO_MAX_CHAN config setting and leaves
the default value set to 1.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
09e376068e Bluetooth: audio: bap_stream: Fix potential NULL pointer dereference
This fixes potential NULL stream pointer dereference.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
025ba06c32 Bluetooth: ascs: Avoid possible unexpected assert
This avoids unexpected assert that may happen when the client tries to
QoS configure ASE that is in state which does not allow to be configured.
In such case the assert shall not be not be triggered, as it's not stack
fauly. The assert check has been moved after the state check, so the ASCS
implementation will just return an error code to the client.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
f58f74a091 tests: Bluetooth: ascs: Fix minor comment issue
This fixes opcode comment.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
e3e567ad82 tests: Bluetooth: ASCS: Add tests for invalid operations in Releasing state
This adds missing tests for invalid operations initiated by
locally or by client on ASE in Releasing state.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
c797f9b5f3 tests: Bluetooth: ascs: Remove redunadant tests
This removes 2 tests related to ASCS handling ACL disconnection.
c3c83c7049 modified the ACL disconection
behavior, so that ASE goes directly to idle state, not waiting in
releasing state for CIS disconnection. Thus the tests where state
machine waits for CIS disconnection can be removed now.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:33:13 +01:00
Mariusz Skamra
ddf172c187 Bluetooth: gatt: Fix automatic resubscription causing CCC removal
This fixes CCC subscriptions that were removed if the automatic
resubscription was aborted by ACL disconnection.
As the client renews subscriptions, there is no point of removing those
if the link is disconnected unexpectedly.
The API user won't be notified about the failure, as the automatic
resubscriptions are implicit, and after reconnection the subscriptions
will be still valid.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:32:45 +01:00
Mariusz Skamra
3b4ce7f8e9 tests: bsim: gatt: ccc_store: Reproduce the subscription lost issue
Zephyr by default renews the characteristic value subscription on every
reconnection. If the ACL is disconnected in the middle of this
procedure, all the subscriptions waiting to be renewed are removed, even
if the device was successfully subscribed already.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:32:45 +01:00
Mariusz Skamra
90770afa23 tests: bsim: gatt: ccc_store: Replace bt_gatt_write with bt_gatt_subscribe
This changes the way the GATT Client subscribes to the characteristic
value changes. The bt_gatt_write usage was replaced by dedicated
bt_gatt_subscribe API function call, so that the test verifies the GATT
Client API side as well.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-12 15:32:45 +01:00
Jamie McCrae
648e2a3db1 doc: release: 3.6: Add note on changes with build system
Adds notes on changes introduced with sysbuild

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Jamie McCrae
2522a78566 linker: Add flash end ROM offset
Reduces the size of an image in the linker script by using the
ROM end offset Kconfig value

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Jamie McCrae
5031da95c6 cmake: linker: arm: Fix missing flash load size use
Fixes a mismatch between the cmake and ld linker scripts whereby
the cmake script was missing using the flash load size Kconfig
option (if it was said), which would result in images far larger
than they should have allowed to be

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Jamie McCrae
7c631f0fac kconfig: Add image size reduction option
Adds a Kconfig option that can be used to reduce the available
slot size of an application, this is useful for things like
bootloaders whereby the bootloader or bootloader configuration
reduces the available flash size that the image can occupy

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Jamie McCrae
6bc93c8016 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  e9131ee8b8ab9306d8f6ad410fd1e3d8a820ce10

Brings following Zephyr relevant fixes:
 - e9131ee8 zephyr: kconfig: Make saving encrypt TLVs depending
   on encryption
 - 4c7942e5 zephyr: Add estimated image footer size to cache in
   sysbuild
 - 26d6423b boot: zephyr: esp32: zephyr port

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Jamie McCrae
b4640ecf04 sysbuild: images: mcuboot: Make application depend on bootloader
Makes the MCUboot image configuration task run before the
application image configuration, this is so information can be
generated by MCUboot and then used in the application

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Jamie McCrae
9104a804b9 sysbuild: Add pre_image and post_image hooks
Adds hooks that run before and after every image has been
configured

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-12 15:31:16 +01:00
Henrik Brix Andersen
fe74ffe2d5 drivers: can: drop POSIX from the native Linux SocketCAN driver name
Rename the native Linux SocketCAN driver to reflect that it can can now be
used in both native_posix and native_sim (with or without an embedded
C-library).

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-12 14:28:26 +00:00
Jerzy Kasenberg
f1e7a0dd6c drivers: clock_control: smartbond: Fix rc32k calibration
If RC32K oscillator was on during startup, calibration
work was never going to actually calibrate this oscillator.
It happen because lpc_clock_state.rc32k_started was only set when
oscillator was turned on after if was turned off.

Now lpc_clock_state.rc32k_started is also set when rc32k is already
started (possible during boot).

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2023-12-12 15:03:17 +01:00
Hake Huang
1dc43605df tests: testinstance: enforce utf-8 write
as in windows platfrom the format by default is not utf-8,
and we will see below error

Traceback (most recent call last):
  File "...zephyr\scripts\twister", line 211, in <module>
    ret = main(options)
          ^^^^^^^^^^^^^
  File "...scripts/pylib/twister\twisterlib\twister_main.py",
    tplan.load()
  File "...scripts/pylib/twister\twisterlib\testplan.py",
    self.load_from_file(last_run, filter_platform=connected_list)
  File "...scripts/pylib/twister\twisterlib\testplan.py",
    instance.create_overlay(platform, self.options.enable_asan,
        self.options.enable_ubsan, self.options.enable_coverage,
        self.options.coverage_platform)
  File "...scripts/pylib/twister\twisterlib\testinstance.py"
    f.write(content)
 UnicodeEncodeError: 'gbk' codec can't encode character '\xf8'
 in position 64: illegal multibyte sequence

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-12-12 15:03:11 +01:00
Pisit Sawangvonganan
f6f8c3f9b7 shell: correct z_shell_spaces_trim when len equal to zero
Addresses a potential issue when the string contains only '\0',
which results in z_shell_strlen(str) returning len as 0.
Since the for-loop expects len >= 1, the function now immediately
returns when len == 0.
As the null check for 'str' is already handled inside
z_shell_strlen(), an additional check for 'str' is not needed.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2023-12-12 15:02:58 +01:00
Vinayak Kariappa Chettimada
5e26cd4fd2 samples: Bluetooth: Update buffer counts for Broadcast Audio Source
Updaye buffer counts and semaphore initial value so that the
Broadcast Audio Source can utilize any use of broadcast
pre-transmissions.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-12-12 15:02:51 +01:00
Vinayak Kariappa Chettimada
d8969904ce samples: Bluetooth: Broadcast audio source USB headset on nRF52 Series
Broadcast audio source USB headset on nRF52 Series with USB
support.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-12-12 15:02:51 +01:00
Johann Fischer
6a7f43b47b usb: device_next: add SetFeature(TEST_MODE) support
Add an interface to verify and enable a test mode. The test mode
selected in the SetFeature control request must be verified to be
supported by the controller and enabled after the status stage is
completed.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-12 15:01:49 +01:00
Johann Fischer
7013b4d7c7 usb: device_next: add support to set device address directly
Not all device controllers expect the device address to be set after the
status stage. Add support to directly set a new device address without
waiting for the control request status stage.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-12-12 15:01:49 +01:00
Miika Karanki
b84bab36b9 settings: file: do not unlink the settings file unnecessarily
fs_rename can handle the file move atomically without unlinking
the file first if the filesystem supports that. This change makes
the settings file more power cut resilient so that the whole
settings file is not lost with poorly timed power cut.

Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
2023-12-12 13:02:15 +01:00
Markus Swarowsky
3a1e179c4d modules: mbedtls: Remove check_config.h
build_info.h of mbedtls includes the config file for mbedtls but
also includes check_config.h so its not needed to have it in the
config file

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2023-12-12 12:51:23 +01:00
Declan Snyder
e4cca5145b net: Add fallback macro for nef_if_mon functions
Add empty macro for net_if_mon functions if they are not otherwise
defined, like the other functions in the net_if.c file have.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-12 10:58:38 +00:00
Aleksandr Khromykh
7c87ff315e samples: Bluetooth: Mesh: remove nrf53_ns settings related workaround
The issue with non secure storage system has been fixed
in nrf53_ns platform: https://github.com/zephyrproject-rtos/zephyr/issues/59376
No need workarounds anymore.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-12-12 10:58:10 +00:00
Rodrigo Peixoto
2f230e8903 samples: zbus: benchmark: add msg subscriber to benchmark
The benchmark sample did not contemplate message subscribers. It adds
the msg subscribers and improves the organization of the project.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-12-12 10:54:26 +00:00
Flavio Ceolin
0a7251e365 xtensa: mmu: Fix tlb shootdown
Fix the way we read the current l1 page table set in the mmu.
We use it check if the current page table is different from the
running thread.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:58:03 +01:00
Flavio Ceolin
a19d415c35 xtensa: mmu: Fix xtensa_ptevaddr_get
We use ptevaddr_get to know the address the page table is set.
It happens that for this use, we should just use the ptebase field
of ptevaddr register.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:58:03 +01:00
Flavio Ceolin
7382d7052b xtensa: mmu: Fix partition permission
The ring field in the pte mapping a memory partition should
be based in the partition attribute and not in the domain
asid that is used only to set the ASID (in RASID) position for
user ring.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:57 +01:00
Andriy Gelman
8232dddf1c shell: telnet: Don't close the connection on EAGAIN error
EAGAIN error is returned if the tcp window size is full. Retry
sending the packet instead of closing the connection if this
error occurs.

Also the full payload may not be sent in a single call to
net_context_send(). Keep track of the number of bytes remaining
and try to send the full payload.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-12-12 10:57:49 +01:00
Benedikt Schmidt
995824ae80 tests: drivers: smbus: enable SMBus
Enable SMBus for the smbus_emul test.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Benedikt Schmidt
4ba3aedfed dts: arm: st: add SMBus devices
Add SMBus devices to all SoCs which have either
a st,stm32-i2c-v1 or st,stm32-i2c-v2.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Benedikt Schmidt
0861395713 drivers: smbus: implement SMBus driver for STM32
Implement a SMBus driver for STM32, which reuses
the I2C implementation.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Benedikt Schmidt
fc124a1442 dts: bindings: add STM32 SMBus
Add a dts binding for STM32 SMBus.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Benedikt Schmidt
fc86d0c3bc drivers: smbus: extract handler function for SMB alert
Extract a helper function for handling an SMB alert, as every
SMBus implementation will have to loop through the peripheral
address which might have triggered the alert.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Benedikt Schmidt
a0f547aac4 drivers: smbus: add missing includes
Add includes which are actually required for the compilation
in the headers themselves to avoid include dependencies.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Flavio Ceolin
ebf50eee42 soc: stm32f4: Fix PM dependency
COUNTER_RTC_STM32_SUBSECONDS depends on DT_HAS_ST_STM32_RTC_ENABLED.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:34 +01:00
Flavio Ceolin
c724a6c5ef tests: pm: device_runtime_api: Check async behavior
Additional test to check if getting a device while there
is a pending async put does not trigger unnecessary device
state changes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:34 +01:00
Flavio Ceolin
3f7325e34b tests: pm: device_runtime: Checks async put with delay
Checks that async put respects the given delay.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:34 +01:00
Flavio Ceolin
b5ca7a06b4 pm: device_runtime: Add delay to async put
Add a delay parameter to asynchronous device runtim put. This allows
to delay the put operation what is useful to avoid multiple states
transitions.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:34 +01:00
Flavio Ceolin
0ea173b774 pm: device_runtime: Avoid unnecessary resume/suspend
We don't need to wait an async put to happen in case it has not
started yet. In this case we can simply cancelling the pending work
and change the internal state because the device is still active.
This way we avoid a suspend and resume cycle.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-12 10:57:34 +01:00
Daniel DeGrasse
2236eaf52c drivers: sdhc: imx_usdhc: add explicit fallthrough to I/O timing setup
DDR50/DDR52 modes should use PINCTRL_STATE_SLOW (50MHz), so the lack of a
break statement after enabling DDR mode is expected. Add an explicit
__fallthrough to resolve the issue flagged by coverity scan

Fixes #65324

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-12-12 10:57:20 +01:00
Daniel DeGrasse
0b365359dc drivers: sdhc: imx_usdhc: explicitly set host_io fields
Explicitly set host_io fields, instead of using memset(). This way the
fields should have values that are defined in the enum types for each
field.

Fixes #63130

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-12-12 10:57:20 +01:00
Tomasz Leman
3732aae0e0 intel_adsp: power: clock gating in idle
This patch enables DSP clock gating for ACE platforms. By default, clock
gating is blocked by the firmware in the hardware configuration. If
CONFIG_ADSP_IDLE_CLOCK_GATING is enabled, this prevent is not active and
clock can be gated when core is in idle state. WIth this option disabled
clock gating will only be enabled in hardware during power gating.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2023-12-12 10:57:07 +01:00
Andreas Sandberg
8ae5031aa5 samples: Add an SWO logger configuration fragment
The subsys/logging/logger example can be used to demonstrate how to
use SWO for logging. Add a configuration fragment that enables the
logger's SWO backend. The default SWO frequency in this example is set
to 2 MHz to ensure a well-defined output bit rate instead of the
highest possible.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-12-12 10:56:44 +01:00
Andreas Sandberg
5767c8d78c dts: stm32g4: Add ITM support
The STM32 G4 series has a built-in Arm Instrumentation Trace
Macrocell. Set CONFIG_HAS_SWO to enable this.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-12-12 10:56:44 +01:00
Juha Ylinen
69e28939dd net: lib: coap: Add new API to configure retransmission settings
Add new functions to the public CoAP API to configure CoAP packet
retransmission settings. Application may need to re-configure the
settings for example when cellular modem changes connection from
LTE-M to NB-IoT or vice versa.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-12-12 10:56:29 +01:00
Conor Paxton
7e192e9e27 drivers: intc_plic: claim interrupt from hart that serviced it
The plic has a very simple mechanism to claim an interrupt as well as to
complete and clear it. The same register is read from/ written to to
achieve this.

Get the ID of the HART that serviced the interrupt and write to the
claim complete register in the correct context
Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-12 10:56:20 +01:00
Conor Paxton
4e825f572c drivers: intc_plic: enable contexts for all harts on a platform
The plic uses contexts to seperate irq enables, threshold priority and
claim complete registers from each core for a given platform. As well as
this, each privilege level has its own context.
for multi-core platform's, we need to be able to enable/ disable a
global interrupt for all the cores that are associated with Zephyr.

To do this, we need to make some assumptions:
1. The privilege contexts are contiguous
2. M mode context is first, followed by S mode.

We know how many cpus are used in an application and each cpu's hartid,
thanks to some very handy inline functions. So we iterate through each
cpu and use the hartid of a cpu in the calculation of the context.

While we are at it, In an effort to make the driver more readable,
allign with the macro naming convention outlined in Linux's PLIC driver

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-12 10:56:20 +01:00
Christopher Friedt
3650537a9d cmake: calculate the md5 sum using the built-in string command
Assuming that all supported releases require at least CMake
version 3.0, we should be able to calculate the md5sum in a
much simpler way using string().
https://cmake.org/cmake/help/v3.0/command/string.html

This avoids writing a temporary file into the source directory
and therefore mitigates the possibility of the following
warning.

share/zephyr-package/cmake/zephyr_export.cmake:19 (string):
  string sub-command SUBSTRING requires four arguments.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-12 10:56:06 +01:00
Francois Ramu
bf2b4675d0 samples: boards: stm32 low power blinky for stm32 boards
Set the prescaler for the stm32_lp_tick_source lptim node.
When the LPTIM is clocked by the LSE with a prescaler
of 16 (lptim freq at 2048Hz) expecting 2048 for the TICKS_PER_SEC.
When the LPTIM is clocked by the LSE with a prescaler
of 32 (lptim freq at 1024Hz) expecting 1024 for the TICKS_PER_SEC.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 09:52:30 +00:00
Francois Ramu
302aae2749 doc: releases: add the reference to stm32_lp_tick_source
Update migration guide to introduce the stm32_lp_tick_source
for stm32 device when choosing the LPTIM fo lowPower modes.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 09:52:30 +00:00
Francois Ramu
759c9b42e3 boards: arm: stm32 boards with lptimer set node stm32_lp_tick_source
Change the name of the node for the lptim used as lowpower
tick source to stm32_lp_tick_source.
Once enabled, this node is known as stm32_lp_tick_source
That will avoid naming the node lptim1 or lptim2 or lptim, etc.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 09:52:30 +00:00
Francois Ramu
5bacc2eaac soc: arm: stm32 SYS_CLOCK_TICKS_PER_SEC config with STM32_LPTIM_TIMER
Configure the SYS_CLOCK_TICKS_PER_SEC directly from the
DTS st-prescaler property of the lptim node
aka stm32_lp_tick_source

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 09:52:30 +00:00
Francois Ramu
eeb7a88ff0 drivers: timer: stm32 lptimer adjust the TICKS_PER_SEC to LPTIM clock
With low LPTIM freq when prescaler is set to 16 or 32,
the CONFIG_SYS_CLOCK_TICKS_PER_SEC must be reduced to
LPTIM CLOCK_/prescaler to avoid spurious timer wakeup activity.
Assert error if the CONFIG_SYS_CLOCK_TICKS_PER_SEC
is not compatible with the lptim clock freq.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 09:52:30 +00:00
Francois Ramu
a19eb7cf88 drivers: timer: stm32 lptimer clock prescaler property
Rename to LPTIM_PRESCALER, the <st,property> prescaler of
the stm32 LPTimer. This commit gives better readability than
LPTIM_CLOCK_RATIO.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-12 09:52:30 +00:00
Jun Lin
fde31c03c5 driver: crypto: SHA: npcx: fix SHA driver for npcx4 QS chip
The commit fixes the SHA driver because the ROM API has the following
changes from ES to QS chip:
1. base addres: from 0x13c -> 0x148
2. required SHA context buffer size : from 228 -> 240 bytes

This change also adds a check for the pre-allocated buffer size of the
SHA context when the driver initiliazes.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-12-12 09:52:04 +00:00
Luca Burelli
11d4f8e5e5 soc: stm32: unify cache conditionals for F7 and H7 targets
The instruction cache in the STM32F7 and H7 was enabled regardless
of the value assigned via Kconfig to the CONFIG_ICACHE parameter.
This commit adds the missing conditional checks; note that this does
not affect the compiled behavior unless CONFIG_ICACHE is explicitly
disabled by the user.

Remove a redundant low-level check on DCache being already enabled,
since it is also performed inside the SCB_EnableDCache function.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-12 09:51:11 +00:00
Anas Nashif
bd227e19cf twister: ignore testplan filters for integration mode
Testplan filters should be ignored when evaluating correctness of
integration configuration.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 22:10:56 -05:00
Ali Hozhabri
e3ec41e15c drivers: bluetooth: hci: Remove config BT_SPI_BLUENRG
Remove BT_SPI_BLUENRG Kconfig parameter as it is redundant according to
the new changes introduced by ST SPI protocol V1 and V2.

Remove "config BT_SPI_BLUENRG" from the boards that were using it.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-12-11 23:57:49 +00:00
Ali Hozhabri
8a32a70689 boards: arm: sensortile_box: Add BLE support for SensorTile.box board
Add BLE support for SensorTile.box board.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-12-11 23:57:49 +00:00
Ali Hozhabri
a67bc25b5f drivers: bluetooth: hci: Introduce ST SPI protocol V2
Introduce STMicroelectronics SPI protocol V2 which is used in BlueNRG-1
and successor devices.

Change the size of the variable "size" to 16 bits as it is necessary for ST
BlueNRG-1 and successor devices.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-12-11 23:57:49 +00:00
Ali Hozhabri
810df7cef9 drivers: bluetooth: hci: Remove header acquisition from bt_spi_send
Replace the header acquisition scope in bt_spi_send with bt_spi_get_header.

Add WRITE_DATA_CONDITION in order not to retransmit data without reading
the header as it is meaningless for ST BlueNRG devices.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-12-11 23:57:49 +00:00
Ali Hozhabri
36b0e26e64 drivers: bluetooth: hci: Restructure spi.c to handle different protocols
Update structure of spi.c to have a better and cleaner separation
between STMicroelectronics and Zephyr SPI protocol.

Introduce bt_spi_get_header to separate algorithms well for
header acquisition in different protocols.

Remove header acquisition from bt_spi_rx_thread to make it simpler.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-12-11 23:57:49 +00:00
Ali Hozhabri
d9c4ce7255 boards: arm: DTS update for ST boards that include BlueNRG-MS
Update DTS files of the STMicroelectronics boards which have BlueNRG-MS
as a BLE module.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-12-11 23:57:49 +00:00
Ali Hozhabri
a9f95f18aa dts: bindings: bluetooth: Add new yaml files for ST SPI protocol V1 and V2
Add "st,hci-spi-v1.yaml" to represent STMicroelectronics SPI protocol V1
which is used by BlueNRG-MS devices.

Add "st,hci-spi-v2.yaml" to show STMicroelectronics SPI protocol V2
utilized by BlueNRG-1 and successor devices.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-12-11 23:57:49 +00:00
Anas Nashif
ae39c3f7d7 arch: arm: z_arm_prep_c -> z_prep_c
Rename to use common naming for z_prep_c applied to all architectures.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:23:52 -05:00
Anas Nashif
fb19d532ed arch: x86: z_x86_prep_c -> z_prep_c
Rename to use common naming for z_prep_c applied to all architectures.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:23:52 -05:00
Anas Nashif
4a73fb1b92 x86: add CODE_UNREACHABLE after z_cstart
Add CODE_UNREACHABLE to be consistent with all other architectures.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:23:52 -05:00
Anas Nashif
5a77fc239f arch: arm: z_arm64_prep_c -> z_prep_c
Rename to use common naming for z_prep_c applied to all architectures.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:23:52 -05:00
Anas Nashif
9f3ed1b2b3 arch: _PrepC -> z_prep_c
Rename to use common naming for z_prep_c applied to all architectures.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:23:52 -05:00
Anas Nashif
01264d23db drivers: intc: manage multi-level interrupt configs
Multilevel interrupt configs are leaking into every single build without
this option being enabled, so guard the Kconfig and include files to
avoid this.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:23:23 -05:00
Anas Nashif
552f7194e3 arch: exception: rename header guard
Match guard with header file name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
ca3839ca38 arch: arm64: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
699880a430 arch: arm: cortex_m: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
4d5fd2edf2 arch: arm: cortex_a_r: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
1813a33108 arch: arm: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
87eb1d842f arch: arc: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
864731acdf arch: arm64: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
9d1a6b6db5 arch: xtensa: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
8447700013 arch: riscv: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Anas Nashif
4a020ecc02 arch: mips: rename expection header
Rename exception header and use the same name as all architecture ports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 18:22:40 -05:00
Dat Nguyen Duy
03b702690a include: arm: mpu: add missing RAM NOCACHE region define for armv8-r
Add missing define for a non-cacheable RAM region for MPU
on armv8-r aarch32

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-12-11 19:26:47 +01:00
Mariusz Skamra
af9f526ccd Bluetooth: has: Check writable preset support on preset registration
This fixes issue where API use is able to register writable preset even
if the CONFIG_BT_HAS_PRESET_NAME_DYNAMIC Kconfig option was disabled.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-11 19:26:36 +01:00
Jukka Rissanen
0880dbee92 net: if: Tweak the documentation of multicast monitor API
As the API supports both IPv4 and IPv6, mention it clearly in
the header documentation.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-11 18:33:38 +01:00
Pieter De Gendt
157b22e5ec doc: connectivity: networking: api: Add doxygengroup for coap_mgmt
Make sure the CoAP event doxygen is added to the documentation.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-11 18:33:31 +01:00
Burt Silverman
a1358aaedf sys: Modify ATOMIC_BITMAP_SIZE macro: num_bits = 0
The macro returned the wrong value for any case in which
    num_bits<=0, due to a signed/unsigned division. The num_bits=0 case was
    hit using static analysis in a Nordic Semiconductor SDK case.

Signed-off-by: Burt Silverman <burtms@gmail.com>
2023-12-11 18:32:05 +01:00
Joakim Andersson
3b0b33b726 tfm: Add profile choice selection for Medium without ARoT enabled
Add profile choice selection for Medium without ARoT enabled.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 18:31:47 +01:00
Joakim Andersson
44106dac56 tfm: Update prompt for profile not set
Update prompt for profile type not set, make it appear in a similar
way as the rest of the options in the choice.

Add in parethesis "base", which is how this referred to in the upstream
TF-M documentation.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 18:31:47 +01:00
Joakim Andersson
02c5cd28db tfm: Fix indentation of help text for BUILD_WITH_TFM
Fix indentation of help text for BUILD_WITH_TFM.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 18:31:47 +01:00
Marcio Ribeiro
7543386f83 samples: input: espressif boards added to input_dump
Added some board overlay files to permit input touch sensor testing:
- esp32_devkitc_wroom
- esp32_devkitc_wrover
- esp32s2_saola
- esp32s3_devkitm

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-11 18:31:38 +01:00
Marcio Ribeiro
a9eb01ea4f boards: xtensa: esp32 board files update
touch_sensors default parameter added to .dts files and
input driver added to .yaml supported features array of:
- esp32_devkitc_wroom
- esp32_devkitc_wrover
- esp32s2_saola
- esp32s3_devkitm


Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-11 18:31:38 +01:00
Marcio Ribeiro
8cb870f7de driver: input: espressif touch_sensor
Espressif touch sensor driver implemented.

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-11 18:31:38 +01:00
Kuno Heltborg
220a57b0b1 mgmt: mcumgr: improve custom payload types
Use a flag in `c:struct:mgmt_handler` to skip the cbor start and end byte,
and instead use pure custom user defined payload.

Signed-off-by: Kuno Heltborg <kunoh@live.dk>
2023-12-11 18:31:23 +01:00
Emil Gydesen
cdd4bc6a48 Bluetooth: GMAP: Add GMAP BSIM test
Add BSIM testing of GMAP, with all spec-specified audio
configuration combinations added and tested.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-11 18:30:57 +01:00
Emil Gydesen
9c8ec58beb Bluetooth: GMAP: Add GMAP shell
Add the GMAP shell module with support for running the
various audio configurations in an easy way.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-11 18:30:57 +01:00
Emil Gydesen
7913ebfba3 Bluetooth: GMAP: Add initial implementation of GMAP
Add initial implementation of Gaming Audio Profile (GMAP).

This is a top layer profile in the LE Audio stack,
designed for low latency audio ideal for gaming.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-11 18:30:57 +01:00
Xiao Qin
7c46b0b898 drivers: display: uc81xx: add support for uc8175
Add support for uc8175 display driver. uc8175 has a slightly
different command/data length requirements for certain registers,
namely TRES and PTL, compared to uc8176/uc8179

This commit refactors the driver code and such that setting TRES and PTL
registers are now done by function pointers provided by config->quirks,
by the same token as how it is done for setting CDI register

Signed-off-by: Xiao Qin <xiaoq@google.com>
2023-12-11 15:57:21 +01:00
Benjamin Perseghetti
2b20c0e3e6 manifest: update hal_nxp for s32k3 lpspi.
Update hal_nxp to remove S32K3X4-0P55A-1P55A-ERRATA
by disabling FSL_FEATURE_LPSPI_HAS_ERRATA_050456.
This allows for lpspi to work correctly on mr_canhubk3.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-12-11 08:39:24 -06:00
Andrzej Głąbek
23e15c480a soc: nrf53: Add implementation of workaround for anomaly 168
Use the already available in the tree mechanism of adding assembly
instructions right after WFI/WFE to implement the workaround for
nRF5340 anomaly 168 (replace the 4 NOP solution used on the network
core as it turned out to be insufficient) and provide two related
Kconfig options so that users are able to adjust the workaround to
their actual needs (disable it entirely or use it in the extended
version).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-12-11 14:31:41 +01:00
Lingao Meng
ffd716b4a2 Bluetooth: Host: iso_data extend bt_buf_data
Explicitly declare that iso_data extends bt_buf_data.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-12-11 12:50:54 +01:00
Lingao Meng
0ddb6aa82e Bluetooth: Host: Use actual user_data size
Use actual user_data size not default by 8.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-12-11 12:50:54 +01:00
Cong Nguyen Huu
501384a579 drivers: nxp_s32_netc: configure to grant SI permissions
Configure to grant SI permissions to allow to set MAC,
update hash filter table and promiscuous multicast.

Fixes #66198

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-12-11 12:50:42 +01:00
Mariusz Skamra
49a7038d1f modules: liblc3: Bump to 1.0.4
Bump up liblc3 to the 1.0.4.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-11 12:50:28 +01:00
Steffen Jahnke
37aedd953f boards: arm: Add PAN1783A evaluation board
The PAN1783A evaluation board is a development tool for the nRF5340
from Nordic Semiconductor.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2023-12-11 12:50:13 +01:00
Jukka Rissanen
b6d9ed095d net: Move trickle files to lib
The trickle algorithm files are clearly a library so move
them under lib/ directory.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-11 10:50:35 +01:00
Andrzej Kuros
f5337fc7a3 modules: hal_nordic: nRF 802.15.4 customizable asserts
Recent nRF 802.15.4 Radio Driver provides assert abstraction layer.
The assert abstraction layer is implemented in Zephyr in following
ways depending on the `NRF_802154_ASSERT_CHOICE` Kconfig choice.

`NRF_802154_ASSERT_ZEPHYR_MINIMAL` (default) gives ability to still
perform run-time checking of the nRF 802.15.4 Radio Driver operation
with minimum memory overhead and configurable behavior on fault
detection regardless of the `CONFIG_ASSERT` Kconfig option value.

`NRF_802154_ASSERT_ZEPHYR` gives ability to use asserts provided and
configurable by Zephyr including the ability to turn off the run-time
checking of the nRF 802.15.4 Radio Driver operation.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-12-11 10:50:27 +01:00
Maximilian Deubel
c055561a6b boards: arm: add nrf9151dk_nrf9151
This patch adds the nRF9151-DK board.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-12-11 10:24:50 +01:00
Maximilian Deubel
84f4ffce7c soc: arm: nordic_nrf: nrf91: add nRF9151 LACA
This patch adds definitions for the nRF9151,
which is software-compatible with nRF9161.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-12-11 10:24:50 +01:00
Gustavo Romero
640712054e include: arch: arm: Fix arch_curr_cpu() for Cortex-M
Currently, the arch_curr_cpu() implementation always uses the TPIDRURO
register, even on Cortex-M CPUs where such a register is not available,
causing a CPU fault.

This commit fixes it by reverting to the use of generic kernel struct
to obtain the current cpu instead of using the TPIDRURO register.

Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
2023-12-11 10:12:13 +01:00
Daniel Leung
240dd53e18 sys: arch_interface: fix doc in arch_user_mode_enter
The transition is to USER mode, and not kernel mode.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-11 10:12:05 +01:00
Robert Lubos
504d927483 tests: net: socket: tcp: Add tests for TCP keep alive feature
Verify that TCP keep alive options can be set properly and that TCP
connections time out correctly when keep-alive probes fail to get
replies.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-11 10:11:10 +01:00
Robert Lubos
2cc0d31d9f net: tcp: Move TCP Kconfig options to separate file
The number of Kconfig options for the TCP stack grew considerably,
therefore it makes sense to move them to a separate file not to bloat
the Kconfig file with generic networking options.

Take this opportunity to reorder TCP options, so that protocol
parameters (timings/buffer sizes) are not mixed up with optional
protocol features (fast retransmit/congestion avoidance etc.).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-11 10:11:10 +01:00
Robert Lubos
a150380d65 net: tcp: Implement Keep-alive support
When a TCP connection is established, if there is no data exchange
between the two parties within the set time, the side that enables
TCP Keep-alive will send a TCP probe packet with the same sequence
number as the previous TCP packet. This TCP probe packet is an empty
ACK packet (the specification recommends that it should not contain
any data, but can also contain 1 nonsense byte, such as 0x00.). If
there is no response from the other side after several consecutive
probe packets are sent, it is determined that the tcp connection has
failed, and the connection is closed.

The keep-alive default parameters are aligned with Linux defaults.

Signed-off-by: Horse Ma <mawei@coltsmart.com>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-11 10:11:10 +01:00
Yuval Peress
694fa3c293 rtio: Fix i2c implementation
- Allow non RTIO i2c drivers to be intermixed with RTIO drivers
- Remove reference to rtio_spsc_drop_all()
- Fix impllicit cast which throws an error with more restrictive
  compile flags

Signed-off-by: Yuval Peress <peress@google.com>
2023-12-11 10:10:59 +01:00
Marc Herbert
22f751658d boards: xtensa: docs: rimage is no more a separate git repository
Fix intel_adsp_generic.rst following the merge of the rimage git
repository back into the sof git repository:
- https://github.com/thesofproject/sof/issues/7270

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-11 10:10:50 +01:00
Bryan Zhu
3e456e8cfb drivers: serial: pl011: Remove busy wait in Ambiq UART initiate
Ambiq UART requires specific busy wait during initialization for
propagating powering control registers, original k_busy_wait()
used here generated a dead loop because k_busy_wait() relays on
timer, who's driver is initialized after UART(UART init in
PRE_KERNEL_1, timer init in PRE_KERNEL_2), replace k_busy_wait()
with checking power status register is more suitable here.

Signed-off-by: Bryan Zhu <bzhu@ambiq.com>
2023-12-11 10:10:39 +01:00
Daniel Leung
51b3420b80 doc: doxygen: move float_apis group into correct place
The float_apis group is incorrectly placed in x86/32 header.
This should be in kernel.h enclosing k_float_* functions.
So move it.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-11 10:10:30 +01:00
Yong Cong Sin
54573e7c4c boards: arm: Add RTC clock source for mikroe_mini_m4_for_stm32
The `mikroe_mini_m4_for_stm32` board doesn't have its RTC node
enabled, and is failing the following test:

`tests/benchmarks/footprints/benchmark.kernel.footprints.pm`

This board seems to have been missed out from 44b8370, let's
enable the rtc & clk_lsi here.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-11 09:10:20 +00:00
Anas Nashif
0ebeca2eb7 intel_adsp: ace: add firmware loading tool
Add python script for loading intel_adsp ACE FW into hardware.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-11 09:58:18 +01:00
Chaitanya Tata
ceee997c6f wifi: Add the enums to the status
This helps to demonstrate that the enumerations have to be used to
interpret the status.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-11 09:57:19 +01:00
Chaitanya Tata
d8d4c77603 wifi: Add an enum for disconnect reasons
This can be used to interpret the "status" in the disconnect result event.
To start with a few common reasons are enumerated but can be extended in
the future.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-11 09:57:19 +01:00
Chaitanya Tata
b3453c3f74 wifi: Add an enum for connect result status
This can be used to interpret the "status" in the connect result event.
To start with a few common reasons are enumerated but can be extended in
the future.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-11 09:57:19 +01:00
Seppo Takalo
b4bdbfd76b test: lwm2m: Run interop tests in tickless mode
Tickless mode is important to be tested against real server.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-11 09:57:09 +01:00
Seppo Takalo
005dc60d24 net: lwm2m: Fix pmin handling on tickless
If observed resource was written during the pMin period, it did
not schedule any wake-up event into the future. Notify message would
then only be generated as a result of any other (like Update) event.

Refactor check_notifications() to follow same pattern as retransmit_req().
Return the next event timestamp, which could be now.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-11 09:57:09 +01:00
Sylvio Alves
b8d887f0e1 net: wifi: esp32: disable automatic reconnection on leaving
Automatic Wi-Fi station reconnection is forced even when
application requests disconnection. This PR adds a check
in the disconnection event reason to decide whether or not
perform the reconnection.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-12-11 09:57:02 +01:00
Joakim Andersson
a8e340eb7e tests: flash: Use a flash partition that is known to be nonsecure
With TF-M enabled the storage_partition can be used as memory that is
known to be configured as non-secure flash region.
The slot1_ns_partition partition is only correct when TF-M is built
with BL2 enabled.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 09:56:55 +01:00
Joakim Andersson
afe4cce831 samples: soc_flash_nrf: Make sure that the flash partition is valid
Make sure that the flash partition is valid.
With TF-M enabled the storage_partition can be used as memory that is
known to be configured as non-secure flash region.
The slot1_ns_partition partition is only correct when TF-M is built
with BL2 enabled.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 09:56:55 +01:00
Joakim Andersson
29fc537bfb samples: soc_flash_nrf: Print finished message
Print a finished message, so that it is clear that this in the end
of the sample. This makes it certain that we didn't crash without
output on the last test.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 09:56:55 +01:00
Joakim Andersson
3063c6ae46 samples: soc_flash_nrf: Stop erasing outside of test partition
Stop erasing outside of the test partition.
We shouldn't really on this being accesible memory.
This region may be consider as secure when application is non-secure.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 09:56:55 +01:00
Joakim Andersson
08413e1fb8 soc: nordic_nrf: Enable the TF-M NS storage partition for nordic boards
Enable the TF-M NS storage partition for nordic boards.
This partition is otherwise not used, and configured as secure.

Fixes: #59376

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 09:56:55 +01:00
Mateusz Karlic
6c9ff66e5f dts: arm: ambiq: Add SoC compat string
Add `compatible` node to Ambiq SoCs, along with secondary common compat,
since they share many similarities.

Signed-off-by: Mateusz Karlic <mkarlic@antmicro.com>
2023-12-11 09:56:48 +01:00
Marcus Folkesson
cbae54c7f7 drivers: display: remove dummy functions for unsupported API
As the display API now check against valid callback functions and
returns -ENOSYS (or equalent), there is no need to provide
such functions in the driver code

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
2023-12-11 09:56:42 +01:00
Andrei Emeltchenko
effca0609d tests: fatal: Add message explaining OOPS
Add message explaining the cause of the OOPS like it is done in many
other cases.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-11 09:56:33 +01:00
Manuel Argüelles
eee09a55c5 drivers: pwm: mcux_ftm: check against period cycles overflow
The FTM counter modulo register (MOD) holds a 16-bit value, but PWM
set_cycles API allows to set 32-bit cycles values.

Fixes #66226

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-11 09:56:15 +01:00
Sebastian Bøe
3b24ef305f tz: Remove unused trustzone driver
The arm_core_tz.c trustzone driver was developed by Nordic and was
previously used by Nordic, but it is not used by us any more. Since we
stopped using it I can see that it has bit rotted (the include path
for tz.h is not available), so no else has started using it either
evidently.

Remove the broken and dead code.

We keep the HAS_ARM_SAU Kconfig as it is selected by a myriad of
platforms and determines if __SAUREGION_PRESENT is defined. I have
been unable to prove that this define is also unused.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2023-12-11 09:56:08 +01:00
Andrej Butok
923ac2bb1b doc: mimxrt1040_evk: fix documentation links
Fix mimxrt1040_evk documentation links.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-11 09:54:47 +01:00
Mariusz Skamra
a42fb9d586 tests: bsim: gatt: Fix missing connection reference release
This fixes missing connection reference release.
The bt_conn_le_create returns the connection object reference that needs
to be released by API caller.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-11 09:54:13 +01:00
Emil Gydesen
6158ff03f5 Bluetooth: Shell: Only auto-connect to unconnected devices
The bt connect and bt connect-name commands should only
attempt to connect to connectable devices that we are not
already connected to.

This commit moves the check for BT_GAP_ADV_PROP_CONNECTABLE
as well as checks that we do not already have a connection
to that device with the current ID.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-11 09:54:04 +01:00
Emil Gydesen
e54902bdbe Samples: Bluetooth: Fix bug in is_substring for broadcast sink
The is_substring did not work for true substrings, as it
would always compare [0] to [0], so it would return false
for the substring "BC" being in "ABC".

Removed the tolower as it is not necessary and fixes the issue.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-11 09:53:36 +01:00
Emil Gydesen
01bd94ac4f Bluetooth: Shell: Remove tolower from is_substring
The tolower is not necessary and is what strncasecmp
does anyhow.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-11 09:53:36 +01:00
Henrik Brix Andersen
7ddc0f713f drivers: spi: mcux: lpspi: fix error on first configure on MKE1xF
Fix error writing to the CR register on the first call to SPI configure on
NXP MKE1xF. On the first call, the module clock is not enabled and writing
to the CR register will fail.

Fixes: #66036

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-11 09:52:20 +01:00
Mahesh Mahadevan
41c2c3d4b8 drivers: dma_mcux_lpc: Clear out the dma channel structure
The DMA channel data structure can retain config information.
We need to clear this everytime dma_configure is called on a
channel.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-11 09:52:12 +01:00
Joakim Andersson
f390f7d0a1 bluetooth: shell: Use helper function to convert string to int
Use helper function to convert string to int for appearance value.
This makes the code more clear, as the big-endian conversion function
gives the wrong impression about the byte order of advertising data.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-11 09:51:31 +01:00
Marc Herbert
352980be98 scripts/build: make struct_tags.json deterministic
It's not good to see struct_tags.json change from one build to the next
when nothing changes.

Python's sets are not deterministic, see long story for older commit
f896fc2306 ("scripts: gen_handles: Sort the device handles")

Simply convert multiple_directories to a sorted list before using it.

Fixes commit 80e78208e6 ("kernel: syscalls: no need to include all
syscalls in binary")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-11 09:51:22 +01:00
Declan Snyder
79b00f6cd3 drivers: nxp_enet: Add link state logging message
Add info logging message to NXP ENET MAC driver about link state.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
247f9e61ef samples: zperf: Add NXP driver test case
Test the experimental NXP ENET driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
3d6c1fd6f7 boards: nxp: Support NXP ENET FRDM_K64F & RT11xx
Support NXP ENET on FRDM_K64F and rt11xx boards.
Document the experimental driver in all boards.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
17a99367d2 soc: rt11xx: support nxp_enet in soc
Support NXP ENET on RT11xx soc

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
e66876126e soc: k6x: Support NXP ENET Driver
NXP ENET driver support from soc.c for k6x series

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
7008350a32 drivers: mdio_nxp_enet: Fix typo in MDC frequency
MDC frequency had one extra 0 by mistake

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
3ec0f3a462 drivers: clock_control: Support NXP_ENET
Support ENET peripheral clock in MCUX SIM and CCM_REV2 driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
20af909df5 drivers: nxp_enet: Do clock init from zephyr
Need to do the ENET module-level clock initialization from zephyr
instead of MCUX HAL, because now there are multiple zephyr drivers with
different init priorities that rely on the module being clocked. MDIO
must be initialized before the ENET MAC, and the MAC driver currently
calls ENET_Init from the HAL to initialize the clock, but MDIO needs the
module clock enabled first on some platforms. So replace the MAC init
with ENET_Up from the HAL, which doesn't include clock init, then do
clock init from a higher priority sys init based on the parent
compatible.

Also, add support for enet clock ungating with clock_control_on on ccm
driver do this with current platforms supported.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Declan Snyder
19773a61c6 drivers: ksz8081: Some bug fixes & 25MHz RMII
- PHY can be set up as rmii but still use 25 MHz MDC, add DT property
  value for this case
- Fix KSZ8081 driver spamming phy status in debug level logging,
  and fix some other state/logging logic
- Fix PHY driver not rescheduling monitor work if first configuration
  fails, change code path to use goto for errors
- Handle case where some phys are not using the gpio pins in phy driver
  Make GPIO properties of ksz8081 phy optional since these hardware pins
  may be unused on some boards

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Szymon Janc
a2184305f2 bluetooth: tester: Enable Periodic Advertising support
This is required by GAP/PADV/PASM/BV-01-C and GAP/PADV/PAM/BV-01-C
qualification test cases.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-12-11 09:50:48 +01:00
Flavio Ceolin
899d4f997e userspace: Additional checks in K_SYSCALL_MEMORY
This macros needed additional checks before invoking
arch_buffer_validate.

- size can not be less then 0. Some functions invoke this macro
  using signed type which will be promote to unsigned when invoking
  arch_buffer_validate. We need to do an early check.
- We need to check for possible overflow, since a malicious user
  application could use a negative number that would be promoted
  to a big value that would cause a integer overflow when adding it
  to the buffer address, leading to invalid checks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-11 09:50:33 +01:00
Aleksandr Khromykh
450ad68ca8 tests: Bluetooth: Mesh: delayable message unit tests
Commit adds unit tests for the newly created
access delayable messages.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-12-11 09:50:18 +01:00
Aleksandr Khromykh
d175ac0572 Bluetooth: Mesh: access tx msg randomizer
Commit adds implementation of the specification
recommendations regarding randomization of
responses on the access layer.
3.7.3.1 Transmitting an Access messages

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-12-11 09:50:18 +01:00
Cong Nguyen Huu
3533178713 drivers: eth_nxp_s32_netc: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the handler of SI Rx event within
the shim driver itself.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-12-11 09:50:08 +01:00
Henrik Brix Andersen
0bf4efc780 tests: drivers: build_all: can: add build test for native posix linux
Add build-only test for the native POSIX Linux (SocketCAN) driver.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-10 09:24:30 +01:00
Henrik Brix Andersen
c86f5c0f61 drivers: can: native_posix_linux: add embedded libc support
Add support for compiling the native POSIX Linux (SocketCAN) driver with an
embedded C-library.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-10 09:24:30 +01:00
Henrik Brix Andersen
399eb55381 drivers: can: native_posix_linux: remove unused functions
Remove the functions linux_socketcan_setsockopt() and
linux_socketcan_getsockopt() as they are unused.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-10 09:24:30 +01:00
Flavio Ceolin
052590b0c1 doc: vuln: Disclose information about CVE-2023-4424
Information about CVE-2023-4424

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-09 15:31:42 -05:00
Anas Nashif
bf7d7d6214 modules/hal_ethos_u: do not expose module kconfigs if not enabled
Do not expose module Kconfigs if not enabled or used.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-09 07:31:04 -05:00
Adam Wojasinski
7b78393b07 samples: drivers: spi_flash: Extend requirements description
The patch updates README with detailed description of  the requirements
regarding target devicetree needed to correctly build the sample.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-08 20:21:07 +00:00
Adam Wojasinski
8fdb8004dd samples: drivers: spi_flash: Add nordic,qspi-nor to test filter
When commit 5b4f4253c1 introduced
"nordic,qspi-nor" dts binding the sample wasn't aligned to the change.
From that moment the sample started to be filtered out by the Twister.

The patch adds Nordic's compatible to the test filter.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-08 20:21:07 +00:00
Adam Wojasinski
23964234ac boards: Add alias to boards with spi-flash node
This is continuation of the 64fbbd9a44
where spi-flash0 alias was defined for some of boards' devicetrees.
It's needed to turn on building samples/drivers/spi_flash for boards
with "nordic,qspi-nor" compatible.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-08 20:21:07 +00:00
Arkadiusz Wadowski
b49fb0d289 mgmt/osdp: Add build-only tests for OSDP samples
Such tests will help to catch any compilation errors in future


Signed-off-by: Arkadiusz Wadowski <wadowski.arkadiusz@gmail.com>
2023-12-08 20:20:56 +00:00
Arkadiusz Wadowski
3fc40c9779 mgmt/osdp: Remove unused variable from osdp_phy_packet_finalize()
The variable was removed to avoid generating compilation warrning.


Signed-off-by: Arkadiusz Wadowski <wadowski.arkadiusz@gmail.com>
2023-12-08 20:20:56 +00:00
Arkadiusz Wadowski
a9b0230360 mgmt/osdp: Fix compilation when CONFIG_OSDP_SC_ENABLED enabled
The 2 issues were found after CONFIG_OSDP_SC_ENABLED was enabled:
- missing curly brace after if
- typo in type name


Signed-off-by: Arkadiusz Wadowski <wadowski.arkadiusz@gmail.com>
2023-12-08 20:20:56 +00:00
Bryan Zhu
b493d51bb1 drivers: i2c: i2c_ambiq: fixing error in bitrate setting
During init i2c_ambiq device, the bitrate calculation is not correct,
results in incorrect  device speed, or failed to configure i2c device
if clock-frequency is set to higher than I2C_BITRATE_STANDARD

Signed-off-by: Bryan Zhu <bzhu@ambiq.com>
2023-12-08 20:20:11 +00:00
Lingao Meng
683098728a Bluetooth: Mesh: Use memslab replace with net_buf_pool
Use memslab more efficiency than net_buf_pool and consume
less ram with flash resource.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-12-08 20:19:10 +00:00
Seppo Takalo
725ceb72b7 test: lwm2m: Implement missing test case 103
Testcase 103 required "Disabled" functionality.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-08 20:18:37 +00:00
Seppo Takalo
51869b3e45 test: lwm2m: Implement bootstrap tests 4 - 7
* LightweightM2M-1.1-int-4 - Bootstrap Delete
* LightweightM2M-1.1-int-5 - Server Initiated Bootstrap
* LightweightM2M-1.1-int-6 - Bootstrap Sequence
* LightweightM2M-1.1-int-7 - Fallback to bootstrap

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-08 20:18:37 +00:00
Juha Heiskanen
34d4e50374 tests: mode: Modem CMUX DTE / DCE test
Added unite test for for validate modem CMUX DTE & DCE role
communication together.

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2023-12-08 20:17:58 +00:00
Juha Heiskanen
6943cd497c tests: modem: Modem backend mock update
Added possibility for link 2 modem mock instance for
validating P2P communication without any data stubbing.

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2023-12-08 20:17:58 +00:00
Juha Heiskanen
093efc444d modem: modem_cmux: Support modem CMUX DCE role
Added missing command and message handling for use existing
modem cmux for DCE role.
DCE CMUX connection can be now initialized from DTE side.

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2023-12-08 20:17:58 +00:00
Fabio Baltieri
72bb10dc84 samples: input_dump: enable shell commands by default
Enable INPUT_SHELL and INPUT_KBD_MATRIX_STATE by default if the sample
is compiled with CONFIG_SHELL=y. This makes it easier to use the shell
commands in the sample by just enabling the shell and let any help
command turn on automatically.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-08 20:16:39 +00:00
Fabio Baltieri
fa8a7c3898 test: add a test for the kbd_matrix_state command
Add a test for the kbd_matrix_state shell command, both 8 and 16 bit row
variants.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-08 20:16:39 +00:00
Fabio Baltieri
e4796521f2 input: kbd_matrix: add an kbd_matrix_state shell command
Add a "input kbd_matrix_state" shell command. This prints the state of
a keyboard matrix in a much more compact representation than the normal
input event dump, but also keeps track of any key seen during the
execution and reports that on the "off" command. The output can be used
to help setting the actual-key-mask property.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-08 20:16:39 +00:00
Fabio Baltieri
bc849c7078 input: kbd_matrix: add print helper define
Add a print helper define for the keyboard matrix row paired with the
row typedef.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-08 20:16:39 +00:00
Adam Wojasinski
85b398be65 manifest: hal_nordic: Update revision with fixed workaround in nrfx_qspi
Pulls update in nrfx_qspi driver with fixed order of applying workaround
for anomaly 215 on nRF52840 and anomaly 43 on nRF5340.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-08 11:18:24 -06:00
Yong Cong Sin
9bfe6efbb5 arch: common: multilevel irq: verify interrupt level bits configuration
Add `BUILD_ASSERT`s to make sure that the interrupt bits
allocated to each levels are enough to cover the number of
IRQs in each respective level.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 08:40:41 -05:00
Yong Cong Sin
2e37da45e5 tests: interrupt: sw_isr_table: fix index test for n+1 instance
The index test did not account for the level 2 table offset
when testing the (n + 1) instance, fix that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 08:40:41 -05:00
Yong Cong Sin
7934a47332 tests: interrupt: sw_isr_table: use devicetree/Kconfig as ground truth
Updated the tests to use info from the devicetree or Kconfig as
ground truth and compare that with the output from the
functions under test.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 08:40:41 -05:00
Yong Cong Sin
f3da086ac3 arch: common: sw_isr: make sure that the table index is within range
Assert that the `local_irq` of each levels should only ranges
from `0` to `CONFIG_MAX_IRQ_PER_AGGREGATOR`, so that it doesn't
overflow the other aggregators.

Also, assert that the output of `z_get_sw_isr_table_idx` shouldn't
overflow the ISR table.

Update the `sw_isr_table` tests to test the range of
`CONFIG_MAX_IRQ_PER_AGGREGATOR` instead of the entire range of
level bits.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 08:40:41 -05:00
Yong Cong Sin
a28da922db tests: interrupt: refactor the sw_isr_irq_parent_table tests
Split the `sw_isr_irq_parent_table` test into one that tests
the IRQ table index function which is generic and should
always be tested, and one that tests multi-instance -related
functions which only work in interrupt controller drivers that
has multi-instance implementation.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 08:40:41 -05:00
Yong Cong Sin
0274821bb7 arch: common: multilevel irq: move CAT_3RD_LVL_LIST into 3rd level guard
The `CAT_3RD_LVL_LIST` macro is only used when
`CONFIG_3RD_LEVEL_INTERRUPTS` is enabled, so move it into the
compiler guard.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 08:40:41 -05:00
Yong Cong Sin
48d9af46e3 arch: common: multilevel irq: fix issues where the intc device is NULL
The `irq` argument of the `Z_IF_DT_INTC_IRQN_EQ` macro
coincides with the `'irq'` argument passed into the `DT_IRQ`
macro, the former was supposed to be a number, while the latter
is a string/type, together this means that it was intepreted
as:

```c
DT_IRQ(node_id, <some_number>)
```

instead of

```c
DT_IRQ(node_id, irq)
```

as intended, so the macros never managed to match a device with
the IRQ properly, resulting in the `dev` member of the table
being NULL.

Solve this by renaming all the `irq` args in the macros to
`_irq` to avoid mixed usage.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 08:40:41 -05:00
Daniel Leung
397c001181 doc: kernel/mm: add a page about virtual memory
This adds a page about virtual memory under kernel's memory
management.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-08 08:31:15 -05:00
Daniel Leung
22447c9736 kernel: mmu: fix typo K_DIRECT_MAP to K_MEM_DIRECT_MAP
Fix typo in comment to reflect the actual macro named
K_MEM_DIRECT_MAP.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-08 08:31:15 -05:00
Yong Cong Sin
0a3fe40505 drivers: intc: plic: set edge-triggered register address using compat
Define the edge-trigger register base address based on whether
the PLIC node in the devicetree has an additional compatible
that supports edge-triggered interrupt.

Limited the implementation to Andes NCEPLIC100 only, updated
the devicetree binding of `andes_v5_ae350` accordingly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-08 07:51:05 -05:00
Flavio Ceolin
4e9f73b0dd doc: pm: nrf target does not enable PM
samples/boards/nrf/system_off does not enable CONFIG_PM so
it should not be listed as an example in system power management
documentation.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-08 10:27:18 +00:00
Fabian Blatz
917770952d samples: subsys: display: lvgl: Update README
Update the readme to better describe contents of the sample, which is now
used to showcase the various input device types that LVGL offers.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-12-08 10:26:24 +00:00
Ryan McClelland
edf32335cb test: drivers: sensor: adltc2990: fix double promotion
Fix double promotion warning

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-08 10:26:11 +00:00
Ryan Erickson
8deaf18d8b drivers: modem: hl7800: fix low power modes
Do not allow the modem to sleep if the driver is busy.
Fix CTS filtering. Ignore small pulses on the CTS line.

Fix socket restoration. Restored sockets could be mismatched
with a wrong type.
UDP sockets could be duplicated during restore.

Improve IO debug mode. Use warning message for IO debug mode
to easily see IO transitions color coded in a terminal.

Ensure the UART is enabled whenever the driver needs to send
commands to the modem.

Ensure DNS resolver is re-initialized after the modem is powered off.

PROD-307

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2023-12-08 10:26:04 +00:00
Jasper Smit
6003927ac2 net: sntp: Add option for SNTP uncertainty
SNTP response is not analyzed for uncertainty, and no uncertainty is given
to the `struct sntp_time` returned. Fix it with a Kconfig option that adds
optional SNTP uncertainty and timestamp fields in SNTP time struct, and
calculates these when parsing the response.
Adds two helper functions to convert Q16.16/Q32.32 in seconds to `int64_t`
in microseconds to facilitate this.
Also changes combined `lvm` field in `struct sntp_pkt` to bit-fields
`li`, `vn`, and `mode`.

Signed-off-by: Jasper Smit <git@jrhrsmit.nl>
2023-12-08 10:25:46 +00:00
Pavel Vasilyev
ef1f2d1336 Bluetooth: Mesh: Convert no opcode error to debug log
This error message may confuse when `CONFIG_BT_MESH_ACCESS_LAYER_MSG` is
enabled and all messages are processed by the callback anyway.
This error message also confuses when a node is subscribed to the same
address as it publishes to, which makes it generating the error message
every time it publishes a message.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-12-08 10:25:36 +00:00
Pavel Vasilyev
bcd2aba4d7 Bluetooth: Mesh: Allow custom RPL use mesh settings work
This change allows a custom RPL use pending mechanism and the mesh
settings work to store pending RPL entries. `bt_mesh_rpl_pending_store`
is a public API and should be implemented anyway. The custom RPL
implementation has to trigger settings with the
`BT_MESH_SETTINGS_RPL_PENDING` flag to ask the mesh settings work to
call `bt_mesh_rpl_pending_store`.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-12-08 10:25:36 +00:00
Jamie McCrae
22ef2bed33 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  212997395ed34ff1721f5f4461b800e81abeb68d

Brings following Zephyr relevant fixes:
 - 21299739 zephyr: firmware/single_loader: Fix compile warning
 - a88e2293 zephyr: sysflash: Fix if condition for zephyr
   applications
 - 2a74a2b5 zephyr: io: add 'io_led_set()'
 - 8c6c6701 zephyr: io: include 'bootutil_log.h' and declare log
   module membership
 - d99154f4 zephyr: rename 'led_init()' to 'io_led_init()'
 - c43a20fd boot: zephyr: add support for mimxrt1040_evk

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-08 10:24:56 +00:00
Jaroslaw Stelter
0e73c225bb drivers: ssp: Reverted CPA check condition
There is reverted CPA check condition in routines:
dai_ssp_pm_runtime_en_ssp_power()
dai_ssp_pm_runtime_dis_ssp_power()
In result disable always timeouts while enable returns before
CPA bit set. This cause sporadic exceptions on HW.

Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
2023-12-08 10:24:45 +00:00
Manuel Argüelles
0ee6632967 soc: arm: nxp_s32: s32k1: use HAL to init code cache
Use the HAL cache driver to initialize the Code Cache.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-08 10:22:12 +00:00
Manuel Argüelles
6aa242cdfb soc: arm: nxp_s32: s32k1: fix code cache init
Currently Code Cache cannot be enabled because its initialization is
guarded by Kconfig options which depend on CPU core cache support,
but S32K14x devices has a SoC specific L1 cache controller. Hence,
introduce a SoC-specific symbol to enable Code Cache.

Note that the cache controller is not available for S32K11x devices.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-08 10:22:12 +00:00
Przemyslaw Bida
304b98391c net: openthread: Add openthread TCAT implementation.
This commit adds bbtc implementation.
New file in modules/openthread/platform/ble.c
New corresponding kconfig option `OPENTHREAD_BLE_TCAT`.

Co-authored-by: Piotr Jasiński <piotr.jasinski@nordicsemi.no>

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
Signed-off-by: Piotr Jasiński <piotr.jasinski@nordicsemi.no>
2023-12-08 10:21:56 +00:00
Przemyslaw Bida
8f2b7a121b net: openthread: Openthread upmerge to 4ed44bc
This commit bumps openthread commit to `4ed44bc`
and implements `CONFIG_OPENTHREAD_MULTIPAN_RCP` option.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-12-08 10:21:56 +00:00
Jukka Rissanen
825bc325d2 net: context: Document misc settings and functions
Various misc settings and functions were not documented so fix it.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-08 10:21:38 +00:00
Jukka Rissanen
039c6a304d net: context: Document socks proxy settings
Documentation for socks proxy was missing.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-08 10:21:38 +00:00
Jukka Rissanen
405b8b5f19 net: context: Add docs for getter/setter of TTL/hoplimit values
The IPv4 TTL and IPv6 hop limit value getter and setter functions
were not documented properly.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-08 10:21:38 +00:00
Jordan Yates
643984c432 pm: device_runtime: don't assert in ISR put
Don't assert that `pm_device_runtime_get` is not running in an ISR
context, as `runtime_suspend` properly handles that condition.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-08 11:09:34 +01:00
Andrei Emeltchenko
339d0ac4a5 tests: btp_mcp: Fix dead code warning
Remove return statement preventing to return error code.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-08 10:05:20 +00:00
Emil Gydesen
203949c42c Bluetooth: VCP: Allow for multiple vol_ctrl cb registers
Modify the VCP volume controller callbacks to support
multiple registers by making it into a linked list.

This allow for multiple applications to get the information
from procedures or notifications.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-08 10:04:31 +00:00
Maxmillion McLaughlin
8ab1c75e9b feat: add support for TDK NTCG103JF103FT1 thermistor
Adds compensation table and bindings for NTCG103JF103FT1 thermistor

Signed-off-by: Maxmillion McLaughlin <github@maxmclau.com>
2023-12-08 10:04:12 +00:00
Fabio Baltieri
f69641f7d2 input: gpio_kbd_matrix: do not enable interrupt if there's no callbacks
Change the gpio_kbd_matrix_set_detect_mode to skip setting gpio
interrupts if we don't have callbacks configured. This is the case if
the driver is running in poll or scan mode.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-08 01:07:15 +00:00
Hake Huang
27d519b260 samples: logging: disable usermode for rtt platfroms
Those platfroms using rtt as debug port,
are conflicted with usermode. same with
163e9ba9a3

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-12-07 21:11:01 +01:00
Dmitrii Golovanov
28ff83515d tests: drivers: coredump: Enable code coverage
Enable code coverage for debug.coredump.drivers.api.* test suite
adding custom fatal error handler to dump code coverage data
when the test halts as expected.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-07 12:14:32 -05:00
Ederson de Souza
026908b7b8 include/zephyr/net: Add 'brief' to group description
So it doesn't extend previous directive.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-12-07 16:18:34 +00:00
Robert Baruch
5e08f73f7d samples: net: wifi: boards: added missing files for xiao_esp32c3
The conf and overlay files to properly compile the wifi samples were
omitted for the Xiao_esp32c3 board. I've added those two files and
confirmed that the sample properly compiles and runs.

Signed-off-by: Robert Baruch <robertbaruch@mac.com>
2023-12-07 16:18:04 +00:00
Lingao Meng
1106b86bde doc: release: Add migration for bluetooth uuid
The Bluetooth UUID has been declare as rodata.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-12-07 16:16:43 +00:00
Lingao Meng
786b9a0ad4 Bluetooth: Host: Add const prefix for UUID
Add const prefix for service uuid and char uuid.

Since Service UUID and Char UUID should not change in the service
definition, they are most reasonably defined as rodata, also for
save some ram footprint.

The field `attr->user_data` type is `void *`, as this PR change
all Service UUID to rodata, so there must add (void *) to avoid warning.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-12-07 16:16:43 +00:00
Pieter De Gendt
a51af14729 doc: release: 3.6: Add note on net_mgmt worker Kconfig
Added an entry for the Kconfig choice CONFIG_NET_MGMT_EVENT_WORKER.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 16:15:53 +00:00
Pieter De Gendt
8084a1c908 tests: net: mgmt: Add test cases new worker options
Run the Network event tests also on the system work queue and
synchronous.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 16:15:53 +00:00
Pieter De Gendt
c1204affab net: ip: net_mgmt: Support system work queue and synchronous callbacks
Add Kconfig choice for the user to select how Network Events are
handled. It's own thread, the system work queue or synchronous when
events are emitted.

By default a separate thread is created to be backwards compatible.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 16:15:53 +00:00
Emil Gydesen
3fec3964e0 Bluetooth: CAP: Move initiator/commander common code to cap_common
The CAP Initiator and the CAP Commendar share quite a lot of
functionality in terms of discovery and performing set-based
procedures.

The code for handling most of this has been moved to
cap_common.c to avoid duplicating code.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-07 16:14:42 +00:00
Jamie McCrae
227905ac4d doc: release: 3.6: Add note on fixed MCUboot erase issue
Adds a note that the shell mcuboot erase command can no
longer erase the MCUboot or application slots

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-07 14:24:48 +00:00
Jamie McCrae
f147e8b8f5 dfu: boot: mcuboot_shell: Prevent erasing MCUboot/app flash areas
Prevents the user from potentially bricking a device by erasing
the MCUboot or currently running application flash areas with the
mcuboot erase command

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-07 14:24:48 +00:00
Nikos Agianniotis
ed610400bc drivers: sensor: mcp9600: fix wrong register address
The address of most of the registers defined in
the driver are wrong. This fixes it, following
the correct numbering as can be found in the
device's datasheet. Moreover, re-grouping of
the macros according to their functionality.

Signed-off-by: Nikos Agianniotis <na@neq.dk>
2023-12-07 10:42:03 +00:00
Peter Mitsis
a3e5af95de kernel: Update k_sleep() and k_usleep() return values
Updates both the k_sleep() and k_usleep() return values so that if
the thread was woken up prematurely, they will return the time left
to sleep rounded up to the nearest millisecond (for k_sleep) or
microsecond (for k_usleep) instead of rounding down. This removes
ambiguity should there be a non-zero number of remaining ticks
that correlate to a time of less than 1 millisecond or 1 microsecond.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-07 10:41:00 +00:00
Peter Mitsis
093c7f4137 tests: benchmark: Add case for object core stats
Updates both the app_kernel and latency_measure testcase scripts
to include a scenario involving object core statistics. This can
then be used to estimate the performance cost of using this feature
post-execution by comparing its results to the scenario where it is
not enabled.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-12-07 10:40:36 +00:00
Alberto Escolar Piedras
19ac0a2839 drivers adc_emul: Refer to native_sim overlay instead of native_posix
Refer to the native_sim overlay instead of the native_posix one.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-07 10:39:31 +00:00
Alberto Escolar Piedras
9f15c41a7e drivers/timer native: Replace native_posix with native_posix/sim
This driver is applicable to both targets.
Let's be clear about that.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-07 10:39:31 +00:00
Alberto Escolar Piedras
53bbded264 drivers/serial native: Replace native_posix with native_sim in comments
In the kconfig descriptions and the links to documents
replace native_posix with native_sim, or a generally
applicable description.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-07 10:39:31 +00:00
Alberto Escolar Piedras
94b16c4d2d drivers/sensor Kconfig: Replace native_posix with native_sim
Use native_sim in the help messages platforms examples
instead of native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-07 10:39:31 +00:00
Alberto Escolar Piedras
9323a3f9c7 arch/Kconfig: Fix ARCH_POSIX comment
The comment applies to all POSIX arch based targets,
not just native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-07 10:39:31 +00:00
Alberto Escolar Piedras
8add7cb62f soc/posix posix_native_task: Replace native_posix in description
Replace native_posix in the NATIVE_TASK description.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-07 10:39:31 +00:00
Marc Lasch
8358cdd697 net: lwm2m: Reduce dependency on firmware update pull Kconfig
There are functions whose headers are only visible when
CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT is selected. However these
functions are used outside the scope of the firmware update pull
functionality. This change allows to disable
CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT while still being able to use
the firmware update object.

Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
2023-12-07 10:38:58 +00:00
Torsten Rasmussen
0c26bdd86f doc: add EXTRA_DTC_OVERLAY_FILE to list of important build variables
The EXTRA_DTC_OVERLAY_FILE is also an important build system variable,
therefore add it to the list and give a brief description.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-12-07 10:38:05 +00:00
Jonathan Rico
3e56b12c58 Bluetooth: ATT: don't access l2cap ops struct
It's bad form, especially since in that case, it's always the same function
that is called `bt_att_sent()`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-12-07 10:37:37 +00:00
Robert Lubos
ffc425191e net: doc: Remove Network Connectivity API page
The Network Connectivity API page is kind of pointless, as it provides
little information (which can be found elsewhere as well) and it was
pointer out that it kind of creates noise in the documentation as it can
be confused with the page which provides a summary of network APIs.

Therefore, remove the page, and move the information from it elsewhere.
The brief summary of what APIs to use was moved the Networking APIs
index page. The information about the samples demonstrating BSD sockets
API usage was moved to the BSD sockets documentation page itself.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-07 10:37:15 +00:00
Robert Lubos
b9453d52ed net: doc: Reference the Kconfig option that enables app libraries
Several application protocol libraries documentation missed information
on how can they be enabled (i. e. missed info about associated Kconfig
symbol). This commit fixes it.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-07 10:37:15 +00:00
Marcus Folkesson
7c9205bc41 display: display_max7219: remove dummy functions for unsupported API
As the display API now check against valid callback functions and
returns -ENOSYS (or equalent), there is no need to provide
such functions in the driver code.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
2023-12-07 10:36:52 +00:00
Marcus Folkesson
0096a980d3 include: drivers: display: verify if optional API is implemented
Basically all display drivers implements a few dummy functions that
just returns due to lack of capabilities.

Move that validation to the driver API instead.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
2023-12-07 10:36:52 +00:00
Yuval Peress
3ddd36ff77 llvm: Allow llvm-readelf
Enable multiple names for the readelf program under llvm

Signed-off-by: Yuval Peress <peress@google.com>
2023-12-07 10:35:44 +00:00
Pieter De Gendt
35761f724d net: lib: shell: Add CoAP descriptions to event monitor
Add a description for each CoAP event on L4.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 10:34:39 +00:00
Pieter De Gendt
ac520e6f99 doc: release: 3.6: Add CoAP events documentation
Update the release notes and migration guide for CoAP events using
the Network Events subsystem.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 10:34:39 +00:00
Pieter De Gendt
1f52a755d3 doc: connectivity: networking: Update CoAP event handling example
Change the CoAP documentation to demonstrate CoAP events using
net_mgmt.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 10:34:39 +00:00
Pieter De Gendt
8b22c769a7 samples: net: sockets: coap_server: Add CoAP events example
Add an example handler for CoAP events triggered by net_mgmt.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 10:34:39 +00:00
Pieter De Gendt
5182dd24c6 net: lib: coap: Introduce net mgmt events for CoAP
Allow users to register net mgmt events callbacks for CoAP events.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 10:34:39 +00:00
Pieter De Gendt
f712441840 Revert "net: lib: coap: Add support for observer event callbacks"
This reverts commit 5227f24815.

The coap observer events will be replaced with net_mgmt events.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 10:34:39 +00:00
Pieter De Gendt
527640b726 samples: net: sockets: coap_server: Remove observer events
In preparation of migrating to net_mgmt events, we need to remove
the observer event callback handler.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-07 10:34:39 +00:00
Robert Lubos
429798c141 tests: net: socket: udp: Increase ztest stack size
The default ztest stack size was too small to run new UDP tests on
certain platforms (nrf52840 in this particular case), therefore increase
teh stack size in prj.conf.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-07 05:22:58 -05:00
Manuel Argüelles
f46a27f20b tests: drivers: spi: enable tests on ucans32k1sic
Add overlays to enable SPI tests on ucans32k1sic board.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-06 20:57:42 -06:00
Manuel Argüelles
e4e3386f9c boards: ucans32k1sic: enable LPSPI support
Enable LPSPI support on ucans32k1sic board.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-06 20:57:42 -06:00
Manuel Argüelles
18202d0db3 soc: nxp: s32k146: add LPSPI support
Add LPSPI nodes to S32K1xx devices.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-06 20:57:42 -06:00
Manuel Argüelles
4f9e2c4a7a boards: ucans32k1sic: enable LPI2C support
Enable LPI2C support on ucans32k1sic board.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-06 20:57:42 -06:00
Manuel Argüelles
3b354bfc57 soc: nxp: s32k146: add LPI2C support
Add LPI2C nodes to S32K1xx devices. S32K146 has a single
LPI2C instance.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-06 20:57:42 -06:00
Keith Short
8fb92ba9cd espi: npcx: Fix driver Kconfig
Update the Kconfig for the npcx eSPI driver so it's automatically
enabled if the devicetree node is enabled.

Signed-off-by: Keith Short <keithshort@google.com>
2023-12-06 21:35:29 -05:00
Keith Short
411cc38f76 samples: drivers: espi: Fix compile errors
The espi_saf.h header has a dependency on the eSPI driver supporing SAF.
Guard the include to fix builds of the Nuvoton eval boards.

Signed-off-by: Keith Short <keithshort@google.com>
2023-12-06 21:35:29 -05:00
Keith Short
dfd846283b espi: ite: Fix driver Kconfig
Update the Kconfig for the it8xxx2 eSPI driver so it's automatically
enabled if the devicetree node is enabled.

Signed-off-by: Keith Short <keithshort@google.com>
2023-12-06 21:35:29 -05:00
Sumit Batra
e0dc6f4fe4 drivers: sensor: qdec_s32: Add QDEC support for S32
Add code to configure and program Lcu, Trgmux and Emios_Icu IPs to
get the the rotations by the motor in radians.

Co-authored-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
Co-authored-by: Mayank Mahajan <mayankmahajan.x@nxp.com>
Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2023-12-06 20:06:37 -06:00
Luca Burelli
8ff2ad7e5e MAINTAINERS: add myself as a collaborator for llext
Add @pillo79 as a collaborator for llext development.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-06 18:01:34 -05:00
Luca Burelli
57e1dc337a llext: shell: fix command completions
Dynamic command handlers should be fully initialized to avoid undefined
behavior. Also, fix the number of arguments required by each command,
since llext_call_fn requires both the llext and the name of the function
to be called.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-06 18:01:34 -05:00
Luca Burelli
1732177530 llext: flush dcache in the llext memory range
On architectures that have separate data and instruction caches, such as
the Cortex-M7, it is required to flush the reloc changes to the actual RAM
storage before trying to execute any code from the newly loaded llext.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-06 18:01:34 -05:00
Luca Burelli
e96b713caf llext: record size of each stored section
Store the size of each section in the llext structure.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-06 18:01:34 -05:00
Luca Burelli
cbed9fd785 llext: always initialize ext param in llext_load
It is not safe to assume that on entry to llext_load, *ext contains
either NULL or a previous reference to the same ext being loaded. For
example, the shell sample was passing an uninitialized value.

Initialize *ext from a search of the llext by name. If NULL, it is the
first instance of this llext (and on load error, it stays that way). If
not NULL, increment use count and return.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-06 18:01:34 -05:00
Jordan Yates
5bf8edc85f logging: uart: cleanup device runtime PM checks
`pm_device_runtime_get` and `pm_device_runtime_put` have returned `0`
when device runtime PM is not enabled since #56222. Manually checking
the state is no longer required.

Additionally, the functions have been able to run in an ISR context
since #60785, which removed the need to special case `k_is_in_isr()`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-06 18:00:21 -05:00
Jordan Yates
d131981257 console: uart: remove pm_device_runtime_is_enabled check
`pm_device_runtime_get` and `pm_device_runtime_put` have returned `0`
when device runtime PM is not enabled since #56222. Manually checking
the state is no longer required.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-06 18:00:21 -05:00
Flavio Ceolin
eb2e5de01c console: winstream: Select CONSOLE_HAS_DRIVER
Select symbol CONSOLE_HAS_DRIVER when enabling WINSTREAM_CONSOLE.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-06 17:57:47 -05:00
Flavio Ceolin
be1720872c console: Fix Kconfig dependency for xtensa sim
Xtensa simulator console should not be enabled when the target is using
winstream console, otherwise we will have multiple definitions of the
same function.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-06 17:57:47 -05:00
Yong Cong Sin
a25e211ad2 tests: shell: shell_uart: add test for multi-instance
Add test that exercise the instance macros of the UART shell
backend.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-06 11:27:20 -08:00
Yong Cong Sin
f61ce34998 shell: shell_uart: reinstate multi-instance macro
Reinstate the `SHELL_UART_DEFINE` macro and moved the struct
declarations to header file, making it possible to create
another UART shell backend instance by doing
`SHELL_UART_DEFINE()` + `SHELL_DEFINE()` + `shell_init()`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-06 11:27:20 -08:00
Luca Burelli
3bdd91a575 boards: arduino_giga_r1: add OpenOCD support
Add support for OpenOCD runner to the Arduino Giga R1 board. This shares
the same CPU as the STM32H747i Discovery, so that implementation can be
reused.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2023-12-06 17:55:36 +00:00
Nick Ward
b1d24e425c net: lwm2m: device object: optionally store error list in settings
A device can be reset before the error code list is communicated
to a LwM2M server so optionally store error list in settings so it
can restored after reset.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-12-06 17:55:22 +00:00
Nick Ward
b75a3f691d net: lwm2m: device object: use LWM2M_DEVICE_ERROR_NONE
Use LWM2M_DEVICE_ERROR_NONE macro.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-12-06 17:55:22 +00:00
Emil Gydesen
e496cbe512 Bluetooth: VCP: Vol rend: Add check before notification log
To avoid having "notification scheduled in 0ms" in the log,
check to verify that the delay is not K_NO_WAIT.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-06 17:55:10 +00:00
Conor Paxton
dc5cf9cb1c soc: mpfs: describe the correct amount of irqs available.
Microchip's PolarFire SoC (MPFS) has 186 available interrupts.
Fix the Kconfig symbols.

While we're at at: remove commented out code

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-06 17:54:29 +00:00
Conor Paxton
13f8d80930 dts: riscv: add all contexts and devices to the plic on mpfs
Microchip's PolarFire SoC has a total of 9 contexts associated with the
Platform Interrupt controller (PLIC). the E51 core has a single context
(M Mode), and the application processor U54 cores have two each (M mode
and S mode, respectively)

While we are at it, there are a total of 186 interrupts, not 187.

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-06 17:54:29 +00:00
Conor Paxton
3c7f10f8e1 dts: riscv: rename PolarFire SoC using device family name
Microchip's PolarFire SoC (device family name: MPFS) is not specific to
the Icicle Kit. Rename the devicetree sources to be more generic and to
align with Linux and allow for other development boards to adopt.

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-06 17:54:29 +00:00
Conor Paxton
0ff8a7c03d boards: mpfs_icicle: remove unused CMakeLists
THe CmakeLists file is not neing used to do anything out of the norm.
remove it and add it back in at a later date, if required

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-06 17:54:29 +00:00
Conor Paxton
98bc5450f8 boards: mpfs_icicle: remove unused overlay
In an effort to clean up, remove the unused overlay

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2023-12-06 17:54:29 +00:00
Mariusz Skamra
3e52c87323 Bluetooth: pacs: Fix missing return values in doxygen
This fixes missing return values description in doxygen documentation.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-06 17:54:14 +00:00
Mariusz Skamra
6e856f1038 tests: bsim: pacs: Test bt_pacs_{set, get}_available_contexts_for_conn
This extends existing PACS BSIM tests with the new API function calls.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-06 17:54:14 +00:00
Mariusz Skamra
1b0e0fbd14 tests: bsim: pacs: Change printk to LOG
Replace combination of printk() to LOG_DBG() to fix the order of the
test execution logs. The printk() is printed immediately, while logs are
buffered, thus the messages from test are printed out before the stack
logs.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-06 17:54:14 +00:00
Mariusz Skamra
78a4b33e5c Bluetooth: audio: pacs: Add bt_pacs_set_available_contexts_for_conn
This adds the function that sets the available contexts value per
connection object so that API user can set different available contexts
per connection.
The lifetime of such overriden value is the same as connection lifetime,
so on reconnection or device reboot all devices return to having the
same available contexts value again.

Fixes: #64968
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-06 17:54:14 +00:00
Mariusz Skamra
014c22c9c0 Bluetooth: audio: pacs: Fix invalid lookup
This fixes client lookup that was done with use of bt_conn_index while
the size of the client array is CONFIG_BT_MAX_PAIRED.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-06 17:54:14 +00:00
Mariusz Skamra
ef362e766a Bluetooth: audio: pacs: Disallow changing supported contexts
Disallow further changes of supported audio contexts characteristic is
the GATT Characteristic Notify Property is not set.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-06 17:54:14 +00:00
Mariusz Skamra
102bedc11f Bluetooth: audio: pacs: Minor API description fix
Remove the "Internal" word from public PACS API.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-06 17:54:14 +00:00
Jonathan Rico
ea04fd95f9 Bluetooth: ATT: remove BT_ATT_ENFORCE_FLOW
Enforcing the peer's behavior is not strictly necessary. All the host
should do is make sure it is resilient to a spec-violating peer.

Moreover, a growing number of platforms were disabling the check, as the
spec allows "batching" HCI num complete packets events, stalling ATT RX.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Co-authored-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-06 17:53:54 +00:00
Jonathan Rico
b68987fe9e tests: Bluetooth: add pipelined ATT write test
This verifies the zephyr host can tolerate a spec violating peer sending
ATT requests without waiting for responses.

It also tests the opposite, that is that the Zephyr host does not
pipeline requests over the air.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Co-authored-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-06 17:53:54 +00:00
Piotr Narajowski
1f19cc782d bluetooth: tester: MCP Client test
Adding support for one missing MCP testcase - verifying characteristic
handles during service discovery.

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-12-06 17:52:49 +00:00
Piotr Narajowski
4dad6616f7 bluetooth: audio: Add API to get MCS service ATT handles
This is needed for upper tester.

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-12-06 17:52:49 +00:00
Dmitrii Golovanov
52442a7c49 tests: gdbstub: Fix incomplete code coverage dump
When the test runs with code coverage, make sure the coverage dump
completes its output under pytest execution before the test debug
session ends in both cases: for Zephyr gdbstub feature and for
Qemu internal GDB stub.

Add few more test operations with breakpoints.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-06 17:52:18 +00:00
Dmitrii Golovanov
f308299ca2 debug: gdbstub: kconfig: Add GDBSTUB_TRACE config option
Add GDBSTUB_TRACE config option to extend GDB backend debug logging
for remote commands received and to debug the GDB stub itself.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-06 17:52:18 +00:00
Emil Gydesen
38d73a6ccf Bluetooth: VCP: Add bt_vcp_vol_ctlr_get_by_conn
Add function to get a volume controller from a connection
pointer.

This is required for the CAP to get a vol_ctlr pointer
from the provided bt_conn.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-06 17:51:58 +00:00
Emil Gydesen
92a813d28b tests: Bluetooth: Unittest of bt_bap_base API
Adds unittesting of the bt_bap_base API.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-06 17:51:47 +00:00
Emil Gydesen
c9daed9712 Bluetooth: BAP: Refactor bt_bap_base
This removes the fixed size bt_bap_base, which provides
2 improvements:
1) The RAM usage of the broadcast sink has been reduced.
   For the Broadcast Sink sample it is a reduction of 120
   octets, but with much better scaling for supporting
   more or larger BASEs.
2) The functions to parse BASEs now support arbitrary sized
   BASEs, where they were previously restricted by our
   local Kconfig options. This allow us to parse any BASE
   from a remote device, without encounting memory issues.
   We are still memory restricted on the devices we
   actually want to sync to.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-12-06 17:51:47 +00:00
Henrik Brix Andersen
031c842ecb samples: userspace: hello_world_user: exclude qemu_xtensa_mmu
Exclude the qemu_xtensa_mmu platform from this sample until #66029 is
fixed.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-12-06 17:05:53 +01:00
Torsten Rasmussen
790388b7c0 cmake: tfm: propagate Zephyr Python3 interpreter to TF-M build
The TF-M build uses the vanilla CMake FindPython3 mechanism which in
several cases misbehaves, see #24308 for details.

Ensure TF-M build uses same Python interpreter as Zephyr itself.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-12-06 10:29:02 -05:00
Jamie McCrae
29e0c6c809 doc: migration-guide: 3.6: Add note on prj_board.conf removal
Adds a note on the removal of this option and how to adapt projects

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-06 10:28:12 -05:00
Jamie McCrae
5dcc0d753a cmake: Remove support for deprecated prj_board.conf
Removes support for the deprecated features of having a prj file
which has the board name on the end of it. Board Kconfig fragments
should be used instead.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-06 10:28:12 -05:00
Piotr Kosycarz
a3d0c63797 scripts: twister: testinstance: store run id between builds
Cache value of run id between builds.
Save it in file and later load during next build.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2023-12-06 10:27:08 -05:00
Dmitrii Golovanov
47da4e2e76 twister: Improve recording at Harness
The Console Harness is able to parse its log with patterns to compose
extracted fields into records in 'recording.csv' file in the test's build
directory. This feature allows to extract custom test results like
performance counters.
With this change the extracted records are also written into 'twister.json'
as a part of each test suite object. This makes easier to store
all the data collected by the test for its further processing.

Other improvements:
 - compile parsing pattern only once instead of at each input line;
 - quote fields in '.csv' to avoid unexpected field separators;
 - make 'regex' a required schema field of 'harness_config';
 - Twister documentation update.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-06 10:26:35 -05:00
Armin Brauns
b8856aed0d drivers: bluetooth: add more documentation for BT_HCI_SET_PUBLIC_ADDR
Hopefully this should now aid driver developers as well as application
developers.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-12-06 16:42:41 +02:00
Armin Brauns
281f27ec38 drivers: bluetooth: fix and clean up BlueNRG HCI setup() function
If no public address was set, it should just do nothing instead of
erroring. The function should also be static and there's no need to copy
the address struct.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-12-06 16:42:41 +02:00
Daniel Leung
ede9b0337c doc: ext/gh_utils: pass MAINTAINERS.yml to Maintainers
This changes to pass full path of MAINTAINERS.yml to
get_maintainer.Maintainers(). Without this, Maintainers would
use git to find the top level of Zephyr tree. This restricts
building of doc only when the build directory is under Zephyr
root. Since we have ZEPHYR_BASE in gh_utils, we can pass full
path of MAINTAINERS.yml to Maintainers() so that doc build
directory no longer has to be under Zephyr root.

Fixes #65037

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-06 12:11:57 +00:00
Daniel Leung
f779385b59 scripts: get_maintainer: __init__ to use filename if passed
This changes the logic in __init__() so that if a path to
MAINTAINERS.yml is passed in, it uses the passed-in value
instead of blindly running git to find the top level of
Zephyr tree.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-12-06 12:11:57 +00:00
Aaron Ye
d3cce8805c boards: arm: apollo4p_blue_kxr_evb: Enable buttons.
This commit adds buttons instances and aliases for them on
apollo4p_blue_kxr_evb.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-06 12:11:30 +00:00
Aaron Ye
39ec2d2ce0 boards: arm: apollo4p_blue_kxr_evb: Enable LEDs.
This commit adds leds instances and aliases for them
on apollo4p_blue_kxr_evb.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-06 12:11:30 +00:00
Aaron Ye
1b3d29c53e dts: arm: ambiq: Add GPIO instances to Apollo4 Blue Plus SoC
This commit instantiates the GPIO peripherals.
Also enables GPIO instances for apollo4p_blue_kxr_evb.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-06 12:11:30 +00:00
Richard Wheatley
8e57cf1384 boards: arm: apollo4p_evb: Add internal pullups to buttons and LEDs
The LEDs and buttons on the evb need internal pullups.

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2023-12-06 12:11:04 +00:00
Abderrahmane Jarmouni
3ce60d2d34 drivers: bluetooth: hci: ipm_stm32wb: naming fix
STM32CubeWB v1.18.0 replaces Master with Central & Slave with Peripheral
in the file app_conf.h (modified in the commit updating lib/stm32wb)

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-12-06 12:10:08 +00:00
Abderrahmane Jarmouni
7bf996d3a7 drivers: pwm: pwm_stm32: F1X changes
Use "const LL_TIM_IC_GetCaptureCHx" & "const LL_TIM_IsActiveFlag_CCx"
with STM32F1X series, following changes in stm32cube:stm32f1xx:drivers:
include:stm32f1xx_ll_tim.h

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-12-06 12:10:08 +00:00
Abderrahmane Jarmouni
c3835e0cdf drivers: counter: ll_stm32_timer: F1X changes
Use "const LL_TIM_OC_GetCompareCH" & "const LL_TIM_IsEnabledIT_CCx" with
STM32F1X series, following changes in stm32cube:stm32f1xx:drivers:
include:stm32f1xx_ll_tim.h

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-12-06 12:10:08 +00:00
Abderrahmane Jarmouni
84339bea7d west.yml: hal stm32: Update STM32Cube packages
Update STM32Cube packages:

update stm32l4 to cube version V1.18.0
update stm32f7 to cube version V1.17.1
update stm32wb to cube version V1.18.0
update stm32f1 to cube version V1.8.5
update stm32h7 to cube version V1.11.1
update stm32wba to cube version V1.1.1
update stm32u5 to cube version V1.4.0

Update of lib/stm32/stm32wb package to version V1.18.0

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-12-06 12:10:08 +00:00
Fabio Baltieri
33c30795bc doc: redirects: add sorted block checks
Add marker to keep the link list sorted.

Suggested-by: Benjamin Cabé <benjamin@zephyrproject.org>
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-06 09:30:55 +00:00
Fabio Baltieri
ac5366c27d ci: compliance: keep-sorted: handle indented blocks
Change the keep-sorted check to handle blocks of code uniformly
indented.

Suggested-by: Benjamin Cabé <benjamin@zephyrproject.org>
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-06 09:30:55 +00:00
Fabio Baltieri
c161253287 drivers: input: fix few types
Fix few wrong types in various input drivers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-06 09:25:49 +00:00
Alberto Escolar Piedras
210bd28a24 native_simulator: Allow to pass extra options for localizing symbols
Some libraries (like Openthread's spinel code) define their
API as externally linkable. This will make those symbols
remain as externally linkable by default after the
Zephyr build has produced the native simulator library
(MCU code).
When building an AMP native_simulator executable with
several MCUs each including these, the linker will see
those symbols as still linkable and duplicated, and
throw an error.

So let's give the option for users/developers of those
libraries to define extra symbols they want
to localize before assembling the final executable.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-06 09:25:41 +00:00
Benjamin Cabé
571f94309e doc: net: sockets: fix terms list for Socket offloading section
This commit fixes incorrect rendering of the list detailing the various
parameters for the NET_SOCKET_OFFLOAD_REGISTER macro.
This also improves the spelling and grammar of said list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-06 09:25:28 +00:00
Robert Lubos
5f6b4479ed net: conn: Improve thread safety in connection module
Iterating over connection list w/o mutex lock could lead to a crash on
constant incoming packet flow. Fix this by:

1. Adding mutex lock when iterating over an active connection list, to
   prevent list corruption.
2. Create a copy of the callback and user data pointers before releasing
   lock, to prevent NULL pointer dereference in case connection is
   released before callback is executed.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-06 09:23:54 +00:00
Robert Lubos
4ab2dded8d net: tcp: Eliminate race between input thread and TCP work queue
Eliminate race between TCP input thread and TCP work queue, when
dereferencing connection. This normally would not manifest itself during
standard TCP operation, but could be a potential opening for abuse, when
the already closed TCP connection is kept being spammed with packets.
The test scenario involved sending multiple TCP RST packets as a
response to establishing the connection, which could result in system
crash. The following changes in the TCP stack made it stable in such
scenario:

1. Use `tcp_lock` when searching for active connections, to avoid
   potential data corruption when connection is being removed when
  iterating.
2. Avoid memset() during connection dereference, not to destroy mutex
   associated with the connection. The connection context is only
   cleared during allocation now.
3. Lock the connection mutex while releasing connection.
4. In tcp_in(), after locking the mutex, verify the connection state,
   and quit early if the connection has already been dereferenced.
5. When closing connection from the TCP stack as a result of RST or
   malformed packet, verify connection state to make sure it's only done
   once, even if multiple RST packets were received.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-06 09:23:54 +00:00
Benjamin Cabé
aa1ca171aa doc: sphinx: Load RTD theme as a Sphinx extension
This commit loads the RTD theme as a Sphinx extension, which has the
benefit of going through said extension's "setup" method, effectively
setting useful settings such as default permalink icon (moving away from
the default, not so pretty, "¶").

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-06 09:23:36 +00:00
Jukka Rissanen
d5c7761314 net: ipv6: Silently drop unwanted NA messages
Silently drop the IPv6 Neighbor Advertisement if we receive it
for an unknown neighbor or if there some some issue in the packet.
Returning error here would cause the ICMP module to print an
actual error which just pollutes the log without any apparent
benefit.

Fixes #66063

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-06 09:22:44 +00:00
Andrei Emeltchenko
3879b02550 tests: threads: Remove unneeded option
This option (CONFIG_HEAP_MEM_POOL_SIZE) is not used for the tests.
Moreover it overrides the option, specified in the board's Kconfigs.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-06 09:18:14 +00:00
Andrei Emeltchenko
2f7021064f arch: x86: pcie: Remove old include
Remove old outdated include, causing build error. The acpi.h is not
needed since it is already included if ACPI is enabled and
INTEL_VTD_ICTL depends on ACPI.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-06 09:17:08 +00:00
Andrei Emeltchenko
686f7ef982 drivers: intc_ioapic: Fix get_vtd()
Function acpi_drhd_get() gets pointer to union acpi_dmar_id and set
its fields.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-06 09:17:08 +00:00
Fabio Baltieri
808c0f1f78 input: kbd_matrix: add actual-key-mask support
Add an optional actual-key-mask property to filter out key combinations
that are not implemented in the actual keyboard matrix.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-06 09:16:45 +00:00
Jordan Yates
ca72fff802 tests: pm: device_power_domains: remove CONFIG_PM
This test is unrelated to system PM.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-06 09:16:12 +00:00
Jordan Yates
955bd413e1 tests: pm: device_power_domains: test multiple claim
Test claiming a device multiple times before releasing it, and validate
that the power domain returns to off.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-06 09:16:12 +00:00
Jordan Yates
8fab08e8e2 pm: device_runtime: release power domain multiple times
Enable the automatic power domain management to release the domain as
many times as it was claimed, instead of only once.

This fixes the domain being permanently enabled if the supported device
is claimed more than once.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-12-06 09:16:12 +00:00
Fabian Blatz
02bf538d61 samples: subsys: display: lvgl: Add lvgl-keypad-input device
Adds a zephyr,lvgl-keypad-input compatible to the native_posix board
overlay and the required code to control an button matrix widget.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-12-06 09:15:50 +00:00
Fabian Blatz
d94d226fe1 modules: lvgl: input: add zephyr,lvgl-keypad-input device binding
Add a pseudo device which can be used to hook into input events and
emit lvgl keypad events.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-12-06 09:15:50 +00:00
Seppo Takalo
9102821fbe doc: Clarify documentation of LwM2M events
Properly document the actions that application should
take on certain events.

This clarifies the events that indicate that the LwM2M
engine is stopped.

Add missing events to the state machine diagram and
apply color coding to states.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-05 16:40:06 -06:00
Seppo Takalo
30dcf1b309 test: lwm2m: Refactor tests to work with fallback changes
In fallback refactoring to the LwM2M engine, some changes
to the server object are visible in hard-coded test
values.

Also, add Endpoint wrapper class that ensures the registration
state of the returned endpoint.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-05 16:40:06 -06:00
Seppo Takalo
dc8f6da53c net: lwm2m: Implement fallback mechanism and support for diable
If server registration fails, allow fallback to secondary server,
or fallback to bootstrap.
Also allow fallback to different bootstrap server.

Add API to tell RD client when server have been disabled by
executable command.

Changes to RD state machine:
* All retry logic should be handled in NETWORK_ERROR state.
* New state SERVER_DISABLED.
* Internally disable servers that reject registration
* Temporary disable server on network error.
* Clean up all "disable timers" on start.
* Select server first, then find security object for it.
* State functions return void, error handling is done using states.
* DISCONNECT event will only come when client is requested to stop.
* NETWORK_ERROR will stop engine. This is generic error for all kinds
  of registration or network failures.
* BOOTSTRAP_REG_FAILURE also stops engine. This is fatal, and we cannot
  recover.

Refactoring:
* Server selection logic is inside server object.
* sm_handle_timeout_state() does not require msg parameter. Unused.
* When bootstrap fail, we should NOT back off to registration.
  This is a fatal error, and it stops the engine and informs application.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-05 16:40:06 -06:00
Seppo Takalo
ec962246e9 net: lwm2m: Allow disabling server for a period of time
React to disable executable, as well as add callback that allows
disabling server for a period of time.

Also add API that would find a next server candidate based on the
priority and server being not-disabled.

Move all server related functions into its own header.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-05 16:40:06 -06:00
Seppo Takalo
304d920ef1 net: lwm2m: Allow finding security instance by short ID.
Add API to find a security instance ID with given Short Server ID.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-05 16:40:06 -06:00
Emil Lindqvist
1cd7c55af9 modem: modem_cellular: add U-blox SARA-R5 as modem
U-blox SARA-R4 already exists but the behavior is different,
requiring a separate driver instance. For instance, R5 autostarts,
so this commit also adds support for skipping power on pulse.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2023-12-05 16:29:55 -06:00
Dawid Niedzwiecki
78af1c1e38 entropy: stm32: suspend when pool is full
Suspend the RNG module when the pool is full to save power. The
generated numbers aren't used anyway.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-12-05 16:27:53 -06:00
Attie Grande
a60054eb15 boards: arm: atsamr34: Setup USB for SAMR34 Xplained board
Set up pinctrl for USB D+/- on pins PA24 and PA25.

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2023-12-05 16:27:00 -06:00
Attie Grande
6a5297c4a9 boards: arm: atsaml21: Setup USB for SAML21 Xplained board
Set up pinctrl for USB D+/- on pins PA24 and PA25.

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2023-12-05 16:27:00 -06:00
Attie Grande
9f76adbfa8 soc: atmel_sam0: Setup clocks for USB on SAML21 parts
GCLK Gen 2 was dedicated to USB, but never setup... this patch
configures it for 48 MHz, derrived from DFLL.

Signed-off-by: Attie Grande <attie.grande@argentum-systems.co.uk>
2023-12-05 16:27:00 -06:00
Andriy Gelman
bf7d9838ab drivers: ethernet: phy_mii: Remove unnecessary bitwise operation
value is already uint16_t.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-12-05 16:23:43 -06:00
Andriy Gelman
c6b5c61667 drivers: ethernet: phy_mii: Fix invalid phy_id check
When there'is no phy at the address both registers will return
0xFFFF, giving a phy address of UINT32_MAX, not 0x00FFFFFF.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-12-05 16:23:43 -06:00
Fabio Baltieri
9080007ef9 input: gpio_keys: drop the pin filter from the callback
The bit check field is redundant since the callback struct is masked to
a single pin already. Drop it, simplify the code a bit.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-05 16:22:10 -06:00
Fabio Baltieri
f6917bca14 input: gpio_keys: interrupt configure cleanup
Use the same ret variable name as the rest of the file, drop a redundant
mask, use gpio_pin_interrupt_configure_dt.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-05 16:22:10 -06:00
Fabio Baltieri
07bf0f95fe input: gpio_keys: drop zephyr_code from the callback struct
It's not really used from here, guess it was a leftover.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-05 16:22:10 -06:00
Manuel Argüelles
006ee60afc tests: kernel: skip kernel.common.stack_sentinel for hifive1
Test consistently fails with timeout for board `hifive1`, so exclude
this board until fixed.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-05 16:20:10 -06:00
Manuel Argüelles
0b32004c09 tests: userspace: exclude ucans32k1sic due to lack of MPU regions
This board have an NXP MPU with 8 configurable regions, of which five
of them are already used by the static MPU configuration. Many of
these tests are failing due to lack of MPU regions or free partition
slots available, even when HW stack protection is disabled when
building with userspace support.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-05 16:20:10 -06:00
Benjamin Cabé
b78bbe409f doc: mgmt/osdp: Fix doxygen comments
- Misc fixes to improperly documented structs
- Show all PD and SC API in docs
- Document enums

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-12-05 16:18:22 -06:00
Marek Pieta
b05148d485 logging: Fix using simplified message creation mode
Change fixes marcos used to determine if argument types allow simplified
message creation mode. Both arguments types must be proper.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2023-12-05 13:43:04 -05:00
Martin Åberg
0d0b17095d tests: c_lib: Enable sqrt tests in non-FPU configurations
This enables the sqrt() and sqrtf() tests also in case of soft-float
configurations. It is expected that the tests will link, run and pass
also in such configuration.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-12-05 10:47:18 -05:00
Yong Cong Sin
d65cb1fe12 shell: fix shell instance name typo
Fixing typo from the original implementation in
44705b698c, which resulted in
the name of current shell instance getting print over and over
again.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-12-05 10:44:56 -05:00
Erwan Gouriou
bf652b20a9 tests: drivers: adc: Support nucleo_wba55cg
Enable adc tests on this board.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-05 14:53:39 +00:00
Erwan Gouriou
be0208a639 boards: stm32: Add support for nucleo_wba55cg
nucleo_wba55cg is a SMPS version of nucleo_wba52cg

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-05 14:53:39 +00:00
Erwan Gouriou
7c96ebc2a8 soc: stm32: Make POWER_SUPPLY_CHOICE available for SOC_STM32WBA55XX
POWER_SUPPLY_CHOICE is available for SOC_STM32WBA55XX, with two
possible options: LDO or SMPS.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-05 14:53:39 +00:00
Erwan Gouriou
3bbc2cc9e1 dts: stm32wba: Introduce stm32wba55Xg package
Based on stm32wba55, stm32wba55Xg is similar from device tree description
to stm32wba52Xg.

Take the opportunity to fix stm32wba52Xg descriuption scheme which was
missing stm32wba52.dtsi.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-05 14:53:39 +00:00
Erwan Gouriou
31b493128f soc: stm32wba: Introduce STM32WBA55 SoC variant
STM32WBA55 is a new STM32WBA SoC variant featuring SMPS.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-05 14:53:39 +00:00
Pieter De Gendt
d7625ce57f doc: release: 3.6: Add note on NET_MGMT_REGISTER_EVENT_HANDLER
Add a release entry to networking/miscellaneous about compile time
network event handlers.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-05 09:17:42 -05:00
Pieter De Gendt
21ba08c575 doc: connectivity: networking: Document NET_MGMT_REGISTER_EVENT_HANDLER
Add an example using the macro NET_MGMT_REGISTER_EVENT_HANDLER to the
network management documentation.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-05 09:17:42 -05:00
Pieter De Gendt
b31d73f69c tests: net: mgmt: Add test for static event handlers
Add a testcase for event handlers in the iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-05 09:17:42 -05:00
Pieter De Gendt
3157aaaddb net: ip: mgmt: Add support for compile time event handlers
Add an iterable section with network event handlers.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-05 09:17:42 -05:00
Jonathan Rico
20057b6564 tests: Bluetooth: add missing param to testlib
The lib was refactored, but CI didn't run the tests that used it for
some reason.
A parameter was forgotten.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-12-05 15:09:18 +01:00
Manuel Argüelles
673f38f3d1 soc: arm: nxp_s32: s32k1: unselect CPU_HAS_xCACHE
Following changes in #64978, align CPU_HAS_xCACHE symbols with
the CMSIS feature definitions in the device headers so that
both have the same value.

Fixes #66147

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-12-05 13:18:23 +01:00
Jamie McCrae
3d3b287b79 dts: arm: nordic: nrf53/nrf91: Fix GPREGRET register addresses
Fixes an issue with the register addresses which was caused by a
missing `ranges;` option for the power peripheral

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-12-05 10:23:12 +00:00
Marc Lasch
afa1bd842c drivers: wifi: esp32: Mute implicit function declaration warning
Mute the function declaration warning, the compiler was emitting when
compiling the esp32 Wi-Fi driver with IPv4 disabled. The
net_dhcpv4_start() function was visible during compile time, even when
IPv4 was disabled.

Signed-off-by: Marc Lasch <mlasch@mailbox.org>
2023-12-05 10:22:30 +00:00
Gerson Fernando Budke
3b0aaab64a drivers: eth: sam: Fix regression from 62833
The 62833 added a regression at SAM ethernet drivers which always fail
to initialize due to a wrong switch case implementation and without
review from maintainer. This add more information and fix the issue.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2023-12-05 10:22:13 +00:00
Dmitrii Golovanov
4318140ff5 twister: qemu: Fix race condition at QEMUHandler
A race condition was possible at QEMUHandler which didn't wait for
its harness to complete causing false negatives and test suite
retries, for example when the console harness has got rather
long output from a test application to check for patterns.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-12-05 10:20:30 +00:00
Wilfried Chauveau
af3a19106a soc: arm: fix missing configs & defines
Some SoC have missing feature selections in their Kconfig.
Some others are missing includes of CMSIS-Core headers.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-05 10:19:15 +00:00
Wilfried Chauveau
29ffaaa0b6 arch: arm: cortex_m: Remove CPU_HAS_*CACHE from CPU_CORTEX_M7
Caches are optional on cortex-m7, having CPU_HAS_*CACHE in CPU_CORTEX_M7
definition renders them mandatory.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-05 10:19:15 +00:00
Wilfried Chauveau
7226f985fc soc: arm: nxp_kinetis: remove unecessary includes
This changes remove extraneous includes causing issues with cycles in
includes subsequently having code requiring definitions from CMSIS
while it’s configuration hasn’t completed yet.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-05 10:19:15 +00:00
Wilfried Chauveau
3599fb47e1 modules: cmsis: Add consistency checks
This change adds checks to validate consistency between Zephyr’s Kconfig
settings and cmsis configuration defined in SiP’s sdk provided headers.

This change also introduces a config to enable cmsis’ own checks which
emits warnings if a parameter relies on auto-populated default values.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-05 10:19:15 +00:00
Wilfried Chauveau
8d91ba200f modules: cmsis: Move cortex_m default configuration to its own file
Kconfig parameters, header’s default & silicon vendor’s SDK configuration
for CMSIS Core, must be consistent. Depending on the inclusion order of
the headers, this is currently not always the case.

This change introduces consistency checks & enusers defaults match their
Kconfig settings.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-05 10:19:15 +00:00
Wilfried Chauveau
a00aa3bcfa arch: arm: cortex_m: add config for PMU
This adds kconfig entries for Performance Monitoring Unit (PMU).

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-05 10:19:15 +00:00
Joakim Andersson
4217920d7c arch: arm: Use returned reason from secure fault handle function
Use the returned reason from the secure fault handle function.
I see no reason why this was ignored, and it is used in the hardfault
handler.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-05 10:12:48 +00:00
Tomasz Bursztyka
64153a7910 tests/x86: Clarify DMAR output
Cleaning the messy output

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-12-05 10:12:29 +00:00
Aleksander Wasaznik
f6fced8ecc Bluetooth: Testlib: Add comments
This patch just adds some comments and asserts to clarify the testlibs
att read code.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-05 10:12:13 +00:00
Aleksander Wasaznik
b52d59dd57 Bluetooth: testlib: Clang format fix
This reformats some code on main branch that was not clang formated. The
syntax is changed from initializer list to multiple statements because
there is a conflict in formating requirements between clang format and
checkpatch.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-05 10:12:13 +00:00
Aleksander Wasaznik
bbdcf4be7a Bluetooth: testlib: att_read: Fix assert on zero-sized read
`read_data` can be NULL even on success if `read_size` is `0`.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-05 10:12:13 +00:00
Aleksander Wasaznik
a29473c38e Bluetooth: Testlib: att_read allow ignoring result_size
Allow passing in NULL as `result_size` to ignore it.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-05 10:12:13 +00:00
Andrej Butok
7b1008c64c boards: mimxrt101x_evk: add chosen dtcm
Add the chosen dtcm memory region
for mimxrt1010_evk and mimxrt1015_evk.
To be consistent with other rt10xx platforms.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-05 10:11:33 +00:00
Keith Packard
d70e8d5a8f tests/thread_apis: Allow 20µs slop in k_busy_wait test
When testing k_busy_wait(100), don't require that at least 100µs of CPU
time be consumed by the thread itself; some of that time may be used
elsewhere in the system. Instead, just make sure that at least 80µs is
accounted to the thread and allow 20µs to get used elsewhere.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-12-05 09:24:28 +01:00
Keith Packard
9f42537fc7 kernel: Use k_us_to_cyc_ceil32 in k_busy_wait
Replace open-coded time conversion with the macro which as that will
usually use a constant divide or multiply.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-12-05 09:24:28 +01:00
Christopher Friedt
25ad028376 doc: posix: denote pthread_sigmask() as implemented
Mark pthread_sigmask() as implemented in POSIX_THREADS_BASE.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 20:49:35 -05:00
Christopher Friedt
4153a396f8 tests: posix: headers: enable tests for signal.h entities
Enable existsence checks for newl(-ish)ly added signal.h
definitions.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 20:49:35 -05:00
Christopher Friedt
c2ab4020b0 tests: posix: pthread: add test for pthread_sigmask()
Add a test for pthread_sigmask().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 20:49:35 -05:00
Christopher Friedt
c2721805f0 posix: pthread: implement pthread_sigmask()
pthread_sigmask() is required by the POSIX_THREADS_BASE
Option Group as detailed in Section E.1 of IEEE-1003.1-2017.

The POSIX_THREADS_BASE Option Group is required for PSE51,
PSE52, PSE53, and PSE54 conformance, and is otherwise mandatory
for any POSIX conforming system as per Section A.2.1.3 of
IEEE-1003-1.2017.

Currently, setting a pthread signal mask has no effect.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 20:49:35 -05:00
Christopher Friedt
73930c25f2 posix: signal: define max rt signals as zero when not enabled
When CONFIG_POSIX_SIGNAL=n, default CONFIG_POSIX_RTSIG_MAX to
0 so that the `sigset_t` type can be defined.

Also define RTSIG_MAX.

This allows native_sim and other platforms to build without
error.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 20:49:35 -05:00
Christopher Friedt
e867c6f36d tests: posix: pthread: use MIN instead of min
MIN() has been defined in sys/util.h for a long time. It doesn't
make sense to separately define a lowercase version.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 20:49:35 -05:00
Mike Voytovich
3c2a896796 drivers: sensor: lsm6dsv16x: fix gyro range
The range and sensitivity tables don't match the datasheet
or the DTS binding file.  This changes the array lookup tables
to match the datasheet and binding file.

Signed-off-by: Mike Voytovich <mike@rokkresearch.com>
2023-12-04 13:16:38 -06:00
Armando Visconti
3832c67677 tests: drivers: build_all: sensor: fix i3c typo for LPS28DFW
Fix typo in LPS28DFW driver i3c build test.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-04 19:08:08 +00:00
Zhang Peng
a47aa23129 west: sign: add support for NXP i.MX8ULP board
Add support for signing i.MX8ULP SOF with Zephyr images with rimage.

Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2023-12-04 16:41:00 +00:00
Zhang Peng
9dd10c2f3c soc: xtensa: adsp: add support for NXP ADSP for i.MX8ULP
Add support for i.MX8ULP target.

Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2023-12-04 16:41:00 +00:00
Zhang Peng
a7b7364c4e dts/xtensa/nxp: Add dtsi for imx8ulp
Add file nxp_imx8ulp.dtsi for imx8ulp

Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2023-12-04 16:41:00 +00:00
Zhang Peng
8bcc4f2c12 boards: xtensa: adsp: add support for imx8ulp board
Add support for i.MX8ULP board by defining defconfig,
board configuration and device tree.

Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2023-12-04 16:41:00 +00:00
Fabio Baltieri
7ce03134f5 tests: build_all: input: add few more gpio-kbd-matrix cases
The driver has some non trivial macro setup, add another two test cases
so those gets build tested as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-04 16:40:35 +00:00
Fabio Baltieri
3862c227d4 input: gpio_kbd_matrix: add poll and scan mode support
Add a poll and scan mode for the driver. If any of these are set, the
driver does not use the GPIO interrupts to detect when the matrix has to
switch to polling mode. Instead, it keeps polling it all the time,
either by enabling all the columns and poll the rows for activity, or
just keep scanning all the time.

Poll mode is useful if the specific SoC used does not support GPIO
interrupt on all the row GPIOs at the same time, scan mode if it does
not even support selecting all the columns at the same time.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-04 16:40:35 +00:00
Fabio Baltieri
56d73a8b0c input: kbd_matrix: always poll if poll_timeout_ms is 0
Tweak the polling mode so that the driver never exit polling mode if
poll_timeout_ms is 0. This is useful if the specific driver does not
support idle mode.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-04 16:40:35 +00:00
Fabio Baltieri
f4bf74e402 input: kbd_matrix: clear unstable state correctly on release
The state variable to tracking the unstable state of a key is currently
being cleared based on the bit value, which means that on release it's
not being cleared at all. Fix that by clearing using the bit mask
instead.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-04 16:40:24 +00:00
Fabio Baltieri
71e5c66ea4 input: kbd_matrix: fix a typing issue for a cycle counter
scan_clk_cycle is used to store values from k_cycle_get_32(), it very
much needs to be a uint32_t.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-04 16:40:24 +00:00
Fabio Baltieri
506ede0c59 input: kbd_matrix: fix a debouncing timing issue
Fix a debouncing timing unit mismatch when comparing us to ms.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-12-04 16:40:24 +00:00
Wojciech Sipak
e13c2cd693 boards: arm: rzt2m_starterkit: fix documentation rendering
As reported in #66094, the documentation used section headers wrongly.

Fixes #66094.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2023-12-04 16:40:00 +00:00
Andrei Emeltchenko
0290ae92b2 tests: acpi: Fix getting APIC id
Fixes accessing wrong memory.

Fixes: #66085

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-04 16:39:47 +00:00
Andrej Butok
7536021599 doc: blobs: fix double 'command'
Fix double 'command' in the "Fetching blobs" chapter.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-04 16:39:32 +00:00
Szymon Janc
ce45c0ac57 tester: bluetooth: Add support for reporting sync status
Implements sync established and sync lost BTP events.
This was affecting GAP/PADV/PASE/BV-01-C test case.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-12-04 16:39:01 +00:00
Szymon Janc
ae15a059a8 bluetooth: tester: Fix missing LE to CPU convertion in BTP
SYnc timeout and skip are 16 bit values and shall be converted to CPU
order before use.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-12-04 16:39:01 +00:00
Szymon Janc
bc97d1ead0 bluetooth: tester: Add support for flags in BTP_GAP_PADV_CREATE_SYNC
This allows for more tuning regarding Periodic Advertising Sync
behavior.

Required by GAP/PADV/PASE/BV-01-C qualification test case.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-12-04 16:39:01 +00:00
Jukka Rissanen
1aac715c23 doc: release: 3.6: Add info for IPv4/6 multicast socket options
Add information about the IPv4 multicast IP_ADD_MEMBERSHIP and
IP_DROP_MEMBERSHIP socket options.
Add information about the IPv6 multicast IPV6_ADD_MEMBERSHIP and
IPV6_DROP_MEMBERSHIP socket options.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 16:38:49 +00:00
Jukka Rissanen
0bc1423335 tests: net: mld: Add socket based join/leave tests
Make sure the IPV6_ADD_MEMBERSHIP and IPV4_DROP_MEMBERSHIP
work as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 16:38:49 +00:00
Jukka Rissanen
bed63764d6 net: socket: Add IPv6 multicast join/leave via socket
Zephyr has its own multicast join/leave API but for
interoperability, it is possible to use the multicast
socket API and IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP
socket options.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 16:38:49 +00:00
Jukka Rissanen
36f5cfae2c tests: net: igmp: Add socket based join/leave tests
Make sure the IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP
work as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 16:38:49 +00:00
Jukka Rissanen
b58bddb85c net: socket: Add IPv4 multicast join/leave via socket
Zephyr has its own multicast join/leave API but for
interoperability, it is possible to use the multicast
socket API and IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP
socket options.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 16:38:49 +00:00
Marc Herbert
837698b935 cmake/compiler/: drop ERROR_QUIET when looking for compiler --version
Commit 40c2e08e82 ("xcc/cmake: don't discard stderr; don't (ever!) use
ERROR_QUIET") fixed xcc but the corresponding code is duplicated. Fix
the duplicates too.

See that commit for the issue description, longer commit message and
rationale.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-04 16:38:08 +00:00
Aleksander Wasaznik
d3a0c769b0 Bluetooth: Shell: Workaround coverity uint comparation
The current code triggers a false positive from the heuristic "Macro
compares unsigned to 0". It's triggered because of a use of `IN_RANGE`
that checks against the extremal values of a enum type.

This patch replaces the use of `IN_RANGE` with an explicit list of the
possible values of the enum.

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/65575

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-12-04 16:37:36 +00:00
Laurentiu Mihalcea
fd8ac9e6cd drivers: interrupt_controller: Add driver for NXP's IRQ_STEER IP
This commit introduces a new interrupt controller driver used
for NXP's IRQ_STEER IP.

Apart from introducing the driver itself, this commit contains
the following changes:
	1) Switch i.MX8MP to using the XTENSA core interrupt
	controller instead of the dummy irqsteer one.
		* this is required because the binding for the
		irqsteer driver is no longer a dummy one
		(since it's being used by the irqsteer driver).
		As such, to avoid having problems, switch to
		using another dummy binding.
	2) Modify the irqsteer dummy binding such that it
	serves the IRQ_STEER driver's needs.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-12-04 09:52:38 -06:00
Laurentiu Mihalcea
0dab59ab8e manifest: Bump up hal_nxp revision
Bump up hal_nxp revision to contain the IRQ_STEER-related
changes.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-12-04 09:52:38 -06:00
Ryan McClelland
07557e3c62 drivers: i3c: mcux: write back total number of bytes transferred
Write back the total number of bytes actually transferred.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-04 16:48:20 +01:00
Ryan McClelland
1e663dbedc drivers: i3c: cdns: write back total number of bytes transferred
The command response buffer will return the total number of bytes
transfered. This will write back to the pointer which is to contain
the number of bytes sent or received.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-04 16:48:20 +01:00
Ryan McClelland
78e961998a drivers: i3c: add additional variable for num xfer for i3c
With I3C, when a controller does a read whether, through a private transfer
or a CCC, the target is responsible for issuing the End of Data through the
T bit, but the way the API is currently implemented, there is no way to
communicate this back up. For example, if a controller tries to read 100
Bytes (where the controller is to do an abort after 100 (or 101 bytes))
from a Target and the Target gives the EoD at the 42nd Byte, then there is
no way to currently know where the EoD occurred and how far it can be read
up to in the provided buffers.

This implements a num_xfer for `i3c_msg` and `i3c_ccc_payload` which the
driver is responsible for writing the total number of bytes transferred.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-04 16:48:20 +01:00
Christopher Friedt
51a011bbd3 tests: logging: add log_blocking testsuite to demonstrate bugfix
Add a testsuite to demonstrate proper functionality of blocking
in the log processing thread.

This serves to demonstrate the previous bugfix, to provide
missing test coverage for the option, and also to document what
pitfalls to avoid when blocking in the log processing thread.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 09:15:29 -05:00
Jukka Rissanen
ae8c3283eb doc: release: 3.6: IPv4 TTL and IPv6 hoplimit changes
Add information about IPv4 TTL and IPv6 hoplimit changes
for unicast and multicast packets.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
7582160623 doc: migration-guide: 3.6: IPv4 TTL and IPv6 hoplimit changes
Add information about IPv4 TTL and IPv6 hoplimit changes
for unicast and multicast packets.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
f8c88a3fa6 tests: net: dns-sd: Fix IPv4 TTL and IPv6 hop limit checking
We need to use multicast TTL/hoplimit instead of unicast one
in the test.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
060295c63b net: dns: responders: Set the multicast TTL or hoplimit
We are creating a multicast address in mDNS or LLMNR
responder so set the TTL or hoplimit using the multicast
variant API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
fc006d7daa net: dns: Do not pass 0 as TTL or hop limit
We specifically set TTL/hoplimit to 1 for LLMNR,
but only want to set it if in that specific case.
We must not pass TTL/hoplimit value 0 as that would
cause the packet to be dropped.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
921c945dab tests: net: udp: Verify that packet is dropped from stats
Make sure that statistics is properly update for dropped
packets when IPv4 TTL is 0 or IPv6 hop limit is 0.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
c32e06fcb5 tests: net: udp: Add IPv6 hop limit 0 test
Make sure packet is dropped if IPv6 hop limit 0 packet is
tried to send.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
28a8c6c00d tests: net: udp: Add IPv4 TTL 0 test
Make sure packet is dropped if TTL 0 packet is tried to
send.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
d44b72355b net: Refactor IP checks just before sending packets
* Check IPv4 TTL or IPv6 hop limit and drop the packet if
  the value is 0
* Check the IP addresses so that we do the loopback check
  at runtime if the packet is destined to loopback interface.
* Update the statistics properly for dropped packets.
* Do not update sent packets if we drop packets.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
27d4c5d491 tests: net: udp: Add IPv4 unicast TTL tests
Make sure that setting IPv4 unicast TTL works as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
b4a8e3ffff net: socket: Add support for adjusting IPv4 TTL
The IPv4 TTL could only manipulated via net_context interface.
It makes sense to allow the same from socket interface via
the setsockopt/getsockopt calls.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
7474007e64 tests: net: udp: Add IPv6 unicast hop limit tests
Make sure that setting IPv6 unicast hop limit works as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
96ac91d1c9 net: Add support for adjusting IPv6 unicast hop limit
Add option support for adjusting the IPv6 unicast
hop limit value.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
e397d199b1 net: if: Fix typo in IPv6 hop limit API name
The net_if_ipv6_set_hop_limit() API was missing the "_if_"
part in it. Fix this so that the network interface API is
consistent. The old function is deprecated and should not
be used. The old function is left to the code and it calls
the new properly named function.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
8bd612c522 tests: net: udp: Add IPv6 multicast hop limit tests
Make sure that setting IPv6 multicast hop limit works as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
1c684bc360 net: Add support for adjusting IPv6 multicast hop limit
Add option support for adjusting the IPv6 multicast
multicast hop limit value.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
cee2b3ae26 tests: net: udp: Add IPv4 time-to-live multicast tests
Make sure that setting IPv4 multicast TTL works as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Jukka Rissanen
de0268def0 net: context: Add support for adjusting IPv4 multicast ttl
Add option support for adjusting the IPv4 multicast
time-to-live value.

Fixes #60299

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 15:07:43 +01:00
Francois Ramu
a65ebbd6bc dts: arm: stm32f7 vref calibration address fixed
This PR set the correct value for the stm32F7 devices.
And change vrefint-cal-addr to <0x1FF07A2A> for stm32F722-F723
soc serie.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-12-04 14:46:54 +01:00
Lukas Jung
535ca1c762 boards: arm: add the Adafruit Grand Central M4 Express
The Adafruit Grand Central M4 Express is an ARM development board
with the form factor of an Arduino Mega.
It features 70 GPIO pins, a microSDHC slot and 8MiB of QSPI Flash.

Signed-off-by: Lukas Jung <lukas.jung@mailbox.org>
2023-12-04 14:41:11 +01:00
Martin Kiepfer
0a962b8893 m5stack_core2: doc: SD-card status documented
Added support column for all features of m5stack_core2 board.
Link to m5stack_core2_ext added.

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2023-12-04 14:39:43 +01:00
Martin Kiepfer
04c165ad4d m5stack_core2: SDHC: SD card support added
* SD card support via sdhc-spi driver added. SPI speed is
configured to 20MHz for stability reasons. Some cards
seem to not working properly with 25HMz or even higher speeds.
* Pinmux ctrl for SPI3 pins reworked. Native cs removed
as gpio chip-selects are required.

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2023-12-04 14:39:43 +01:00
Håvard Reierstad
c1bbd48659 bsim: Bluetooth: Mesh: fix provision timeout
Adapts the `pb_remote_timeout` test to the updated `bt_mesh_suspend`
API.
Suspension is scheduled with a small delay to allow publications to be
sent before suspending Mesh.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-12-04 14:38:13 +01:00
Håvard Reierstad
1025906331 bsim: Bluetooth: Mesh: Add suspension test
Adds two test-cases; one for suspending and resuming Mesh,
and one for suspending Mesh and disabling Bluetooth before
re-enabling Bluetooth and resuming Mesh.

Both tests checks that periodic publication is stopped during
suspension.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-12-04 14:38:13 +01:00
Håvard Reierstad
897a1d0d1c Bluetooth: Mesh: suspend/resume advertising
Disables Mesh advertising when suspending, and enables advertising
when resuming Mesh.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-12-04 14:38:13 +01:00
Håvard Reierstad
3be26c4cb9 Bluetooth: Mesh: advertiser: add disable function
Adds a disable function for the extended advertising which stops and
deletes the advertising instances, allowing them to be properly
reinitialized when calling `bt_mesh_adv_enable()` after bluetooth has
been disabled and re-enabled.

For the legacy advertising, the function terminates the advertising
thread. If legacy advertising is used, `bt_mesh_adv_init()` must be
called before `bt_mesh_adv_enable()` to properly resume advertising
after suspension.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-12-04 14:38:13 +01:00
Benjamin Björnsson
8c0b3ca2fd sensor: adltc2990: add missing return value checks
This commit adds two missing return value checks for
i2c reads.

Fixes #65328

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2023-12-04 14:34:42 +01:00
Benjamin Björnsson
773257dda4 sensor: adltc2990: separate function return values
This commit reworks the adltc2990_fetch_property_value function
to pass its result through a variable pointer instead of direct return.
This is done in part to separate the errno value being return in the
default case of the switch from the result of the function, but also
to make it easier the fix a Coverity issue regarding the unhandled
return values of i2c reads.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2023-12-04 14:34:42 +01:00
Benjamin Björnsson
ef871058aa sensor: tsl2540: add missing return value check
This commit adds missing return value checks in driver initialization.

Fixes #65345

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2023-12-04 14:34:42 +01:00
Benjamin Björnsson
445b43d407 sensor: tsl2540: add missing return value check
This commit adds a missing return value check. Since the I2C write
failed we release the semaphore and returning immediatly instead of
using goto exit.

Fixes #65352

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2023-12-04 14:34:42 +01:00
Benjamin Björnsson
dc257830a5 sensor: adltc29990: add missing return value check
This commit adds a missing return value check for a register read.
The affected function was updated to use the regular errno return value
and to pass the result through a pointer instead.

Fixes #65346

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2023-12-04 14:34:42 +01:00
Benjamin Björnsson
0cec0dc749 sensor: max17055: add missing return value check
This commit adds a missing return value check during register read.
Added an imidiate return to remove the seemingly unwanted side
effect of also waiting for the bus read to work.

Fixes #65374

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2023-12-04 14:34:42 +01:00
Benjamin Björnsson
9781d13f19 sensor: max17055: add missing return value check
This commit adds a missing return value check during register read.
Added an imidiate return to remove the seemingly unwanted side
effect of also waiting for the bus read to work.

Fixes #65383

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2023-12-04 14:34:42 +01:00
Joakim Andersson
83ada28178 boards: arm: bl5340_dvk: Remove disabling of QSPI for BL5340 DVS NS
Remove disable of QSPI for BL5340 DVK cpuapp NS build.
The QSPI is not configured as a secure peripheral in the generic
nrf5340 platform support.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-04 14:33:45 +01:00
Joakim Andersson
8caae66eae Kconfig: tfm: Switch BOARD_BL5340_DVK_CPUAPP_NS TF-M board selection
Switch BOARD_BL5340_DVK_CPUAPP_NS TF-M board selection from using the
platform support that is built-in to TF-M module, and instead use
the generic nRF5340 cpuapp platform support that all other nrf5340 SoC
related boards use.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-04 14:33:45 +01:00
Joakim Andersson
e3162c80d4 tfm: Add pin-control configuration for UART1 pin assignments
Add pin-control configurations for UART1 pin assignments.
The GPIO pins matches the ones used in Laird Connectivity TF-M boards
RTE_Device.h file.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-12-04 14:33:45 +01:00
Marcio Ribeiro
a8c8b46e23 samples: sensors: espressif board added to die_temp_polling
Added board overlay file to permit internal temperature sensor testing:
    - esp32s3_devkitm

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-04 14:32:09 +01:00
Marcio Ribeiro
76c4187bb0 drivers: sensor: esp32s3 internal temperature sensor
Support for esp32s3 internal temperature sensor on Zephyr

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-04 14:32:09 +01:00
Marcio Ribeiro
47d9bad962 manifest: esp32: update hal_espressif
Update hal to cover latest features and fixes.

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-04 14:32:09 +01:00
Henrik Eriksen
8f0b1f6424 bluetooth: tester: HAS Preset initialization done by auto-pts client.
- Removed preset initializations. Done in auto-pts client.
- Added one additional preset in overlay-le-audio.conf.

Signed-off-by: Henrik Eriksen <heri@demant.com>
2023-12-04 14:31:11 +01:00
Robert Lubos
839553a7d9 net: shell: ping: Fix double packet unref in ping reply handler
This was somehow missed, but since ICMP rework, message handlers should
not dereference the packet, as it's done by the ICMP lib.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-04 14:30:26 +01:00
Robert Lubos
67082289e1 net: l2: ethernet: Fix error handling after ARP prepare
Commit 55802e5e86 fixed error handling of
TX errors, in case ARP request was generated. There are however also
other places where post-ARP cleanup should be done on the TX path (like
running out of buffers for Ethernet L2 header allocation).

This commit fixes those cases in ethernet_send(), where function would
exit early and report error after ARP prepare stage.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-12-04 14:30:26 +01:00
Declan Snyder
213471f2ad drivers: nxp_enet: simplify driver header
Simplify the driver header implementation, so that there are not
structs and unions different per each situtaion, and make just one
function for the enet module drivers to call on each other. Also,
capitalize existing enums.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-04 14:29:15 +01:00
Chaitanya Tata
07e3869809 wifi: shell: Add long arguments to help
Long arguments are handy for new users. Also use hyphen's rather than
underscore to follow the convention.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-04 14:27:59 +01:00
Chaitanya Tata
95b8ae37e3 wifi: shell: Enforce argument count checks
Use the proper API to enforce argument count checks as per mandatory or
optional params.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-04 14:27:59 +01:00
Chaitanya Tata
1c46e52bf8 wifi: shell: Add missing security options
Newly added security types are missing from the help. Also, now that we
have two variants of PSK, use the prefix to disambiguate.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-04 14:27:59 +01:00
Chaitanya Tata
8ad78a4bb4 wifi: shell: Fix PS mode help
There is only a single parameter called "mode" that takes two possible
values.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-04 14:27:59 +01:00
Chaitanya Tata
95e52c9c63 wifi: shell: Fix brackets type for optional params
General notation for Optional params is to use square brackets.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-04 14:27:59 +01:00
Chaitanya Tata
8a4f7c02c0 wifi: shell: Fix unbalanced braces
Fix the typo in braces for help.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-04 14:27:59 +01:00
Lingao Meng
3e6f751891 Bluetooth: Mesh: Align some code
Align tab 8.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-12-04 14:26:06 +01:00
Marc Herbert
fb8d41b123 scripts/build/elf_parser.py: make dependency graph output deterministic
Python's sets are not deterministic.

`devices` were already sorted but `dev_supports` is still a
non-deterministic set. Sort dev_supports to make the graph output
deterministic.

Fixes commit 29942475c5 ("scripts: gen_handles: output dependency graph")

It is quite ironic that this initial and non-deterministic graph commit
was concurrent with and slightly delayed other commit
f896fc2306 ("scripts: gen_handles: Sort the device handles") which
fixed another, similar non-determinism issue in the same area. A true
"whack-a-mole"!

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-04 14:24:32 +01:00
Marc Herbert
eea56d2080 scripts/build/elf_parser.py: add __lt__() method to base class
This allows sorting objects consistently without having to specific a
key.

No functional change yet.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-04 14:24:32 +01:00
Derek Snell
6a4edeeeab boards: arm: mimxrt1040_evk: document USER_LED and jumper J80
Document need to remove J80 when using USER_LED D8.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2023-12-04 14:21:31 +01:00
Alberto Escolar Piedras
47b7eaece9 boards nrf5340bsim_cpuapp: Select approprite 802154 radio in DT
Set the chosen 802154 radio in DT for the
nrf5340bsim_nrf5340_cpuapp so we can build with the
radio driver built into the net core.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-04 14:20:42 +01:00
Alberto Escolar Piedras
c4e1807cdf manifest: Update nrf hw models to latest
* Update the HW models module to
9b985ea6bc237b6ae06f48eb228f2ac7f6e3b96b

Including the following:
* 9b985ea nrf_ccm: Add RATEOVERRIDE subscribe support
* 8592230 nrf_hack: Add comments
* 5775f4c docs: Very minor typo and grammar fixes

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-04 14:20:17 +01:00
Mahesh Mahadevan
e0fd9f6cde drivers: dma_mcux_lpc: Call callback only when provided
Add a check to ensure the dma_callback is provided before
calling the callback function.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-12-04 14:19:27 +01:00
Noah Luskey
8e4c70750a net: don't overwrite net_if name after iface is initialized
When interface names are enabled, a default name is applied
after initialization. Unintuitively, this overwrites any name that is
set during the net_if init.

This change sets a default name first, and then allows net_if
init to overwrite that default name if it chooses to.

Signed-off-by: Noah Luskey <noah@silvertree.io>
Signed-off-by: Noah Luskey <LuskeyNoah@gmail.com>
2023-12-04 14:18:53 +01:00
Michele Sardo
0f44d62740 drivers: bluetooth: hci: handle event with high priority flag
Make sure that events flagged as high priority are handled when
CONFIG_BT_RECV_BLOCKING is not defined.

Fix for #65892.

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2023-12-04 14:18:20 +01:00
Jukka Rissanen
af610bb207 tests: net: shell: Increase number of IP address structs
A warning is printed in start of the test about this.
Increase CONFIG_NET_IF_MAX_IPV6_COUNT=2 and
CONFIG_NET_IF_MAX_IPV4_COUNT=2 so that the tests pass
in frdm_k64f and some other boards.

Fixes #66020

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 09:57:35 +01:00
Jukka Rissanen
3783a7eccd tests: net: dns_sd: Increase the number of contexts
Issue seen in frdm-k64f + some other boards.

Fixes #66033

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-04 09:57:35 +01:00
Alberto Escolar Piedras
5d72075d97 doc: migration-guide: 3.6: Add recommended change to native_sim
native_sim is superceeding native_posix.
Let's recommend users to use it instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-04 09:06:22 +01:00
Christopher Friedt
88425fe3bb tests: drivers: dma: test dma_emul driver on native_posix boards
Add support for testing the `dma_emul` driver which simply uses
software emulation (i.e. asynchronous memcpy in a workqueue) for
performing DMA operations.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-03 19:22:31 -05:00
Christopher Friedt
09ff569c9e boards: posix: add dma support to native_posix boards
Like other driver APIs, we can add an `emul` variant to
`native_posix` and `native_posix_64` that should allow us to
simplify applilcation and library development and to also
increase test coverage in CI.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-03 19:22:31 -05:00
Christopher Friedt
86fc43c939 drivers: dma: add emulated dma driver
Add an emulated DMA driver. Emulation drivers are great to have
for each driver API for multiple reasons:

- providing an ideal / model driver for reference
- potential for configurable backend support
- seamless integration with device tree
- multi-instance, etc, for all supported boards
- fast regression testing of app and library code

Since many other drivers and lbraries depend on DMA, this might
help us to increase test coverage.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-03 19:22:31 -05:00
Christopher Friedt
e2cd8d6416 dts: bindings: dma: add bindings for an emulated dma controller
Many driver APIs are opting to provide an `emul` driver
implementation that can be used for a number of purposes.

- providing an ideal / model driver for reference
- configurable backends
- seamless integration with device tree
- support for native posix, qemu, and any other board
- fast regression testing of app and library code

Provide an initial set of bindings for `zephyr,dma-emul` devices.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-03 19:22:31 -05:00
Alberto Escolar Piedras
d2151aa114 samples/drivers/mbox: Reduce sysbuild boilerplate
Reduce the sysbuild boilerplate required for
the nrf5340bsim targets

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-02 07:53:11 -05:00
Alberto Escolar Piedras
cbce3383d1 samples/boards/nrf/nrf53_sync_rtc: Reduce sysbuild boilerplate
Reduce the sysbuild boilerplate required for
the nrf5340bsim targets

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-02 07:53:11 -05:00
Alberto Escolar Piedras
b02fc27464 samples/subsys/logging/multidomain: Reduce sysbuild boilerplate
Reduce the sysbuild boilerplate required for
the nrf5340bsim targets

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-02 07:53:11 -05:00
Alberto Escolar Piedras
41f4826f27 tests/bsim/bluetooth: Reduce sysbuild boilerplate
Reduce the sysbuild boilerplate required for
the nrf5340bsim targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-02 07:53:11 -05:00
Alberto Escolar Piedras
8b70d98dcb samples/bluetooth: Reduce sysbuild boilerplate
Reduce the sysbuild boilerplate required for
the nrf5340bsim targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-02 07:53:11 -05:00
Alberto Escolar Piedras
94cdfa60dc sysbuild: Add extensions for native_simulator based targets
Add 3 new functions to perform functions typically needed
for native_simulator based targes and reduce the amount
of boilerplate.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-02 07:53:11 -05:00
Marc Herbert
37ef725c9b time_units.h: never return zero from z_tmcvt_divisor(a, b)
Since commit ea61c8c1bd ("sys/time_units.h: Work around clang
div-by-zero warning") `z_tmcvt_divisor(a, b)` started to "cheat" and
never return 0; but only when `#ifdef __clang__`.

After some very tedious experiments and "reverse-engineering" of
pre-processor output (the horror...), I finally found why xt-xc++
12.0.8 (based on gcc 4.2.0) produces the same warnings and I discovered
this clang-specific workaround.

Rather than adding gcc to a list of "privileged" compilers, make the
code more consistent and predictable: make `z_tmcvt_divisor(a, b)` never
return zero for _all_ compilers.

Drop the usage of the non-standard "Elvis" operator `?: 1` to be
compatible with any compiler; everything is evaluated at compile-time
anyway (and the pre-processor output is almost impossible to read
already anyway)

Surprisingly, only C++ files (_every_ C++ file) emitted the
divide-by-zero warning with that xt-xc++ version. The very same code
compiled by xt-gcc in the same toolchain never showed that warning.

Probably due to the abuse of macros, the warning was super cryptic:
```
          from every.cpp:

   include/zephyr/kernel.h: In function ‘int32_t k_msleep(int32_t)’:
   include/zephyr/kernel.h: warning: division by zero in
      ‘(((uint64_t)(ms <unknown operator> 0)) + 0xffffffffffffffffull) / 0’
```

I didn't find any `0xffffffffffffffffull` anywhere in the code and I
still have no idea what <unknown operator> is.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-02 07:52:20 -05:00
Maciej Perkowski
690011498c twister: Add target reports in json format
Using --platform-reports will also generate json reports
with results from a single platform. Needed for on-target
results publishing process.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-12-02 07:50:50 -05:00
Martí Bolívar
b1532ce449 devicetree: remove label property accessors
These were first deprecated in v3.2. We have kept support for them
for as long as we can, but now their presence is causing CI failures
in some configurations. Specifically, using the deprecated 'label'
property is causing a warning which is promoted to an error in some
twister runs. This is blocking other forward progress in the
devicetree API.

I tried to rework the tests to avoid this, but it was too much effort
for the time I had to work on the task. Removing the APIs is therefore
unfortunately the best way forward to unblocking other work.

Re-work the test suite a bit to maintain coverage where we are using
the label property to test other macros.

Add a migration guide section to help with the transition.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-12-01 13:09:56 -08:00
Jonas Remmert
a004cb4b75 dt-bindings: sensor: lps2xdf: make macros sensor agnostic
The possible settings for the lps22df and lps28dfw sensor are overlapping,
except the Full-Scale mode setting. Threrefore we can change the macros
from LPS22DF_DT_[..] to LPS2xDF_DT_[..].

Signed-off-by: Jonas Remmert <j.remmert@phytec.de>
2023-12-01 12:19:05 -06:00
Jonas Remmert
7a2fcc419e drivers/sensor: add support to LPS28DFW pressure sensor
The LPS28DFW is an ultracompact, piezoresistive, absolute pressure sensor.
Compared to the LPS22DF, the LPS28DFW is waterproof and has a Dual FS
capability and does not have SPI. This commit extends the LPS22DF driver to
be compatible with the LPS28DFW device.

Signed-off-by: Jonas Remmert <j.remmert@phytec.de>
2023-12-01 12:19:05 -06:00
Mariusz Skamra
5174e94c91 Bluetooth: audio: has: Fix coverity issues
This fixes issues discovered by coverity check.

Fixes: #65325
Fixes: #65326
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-12-01 16:26:03 +01:00
Peter Ujfalusi
6b548ee5ae drivers: dai: intel: ssp: Manage the DMA request enable/disable dynamically
Do not keep both DMA request enabled whenever the SSP is in use. Manage
the SSCR1_TSRE and SSCR1_RSRE bits in sync with the enabled directions.

When only playback is used there is no need to have the RX DMA request
enabled for example.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-12-01 16:25:55 +01:00
Peter Ujfalusi
aa18bb2b6e drivers: dai: intel: ssp: Revise receive FIFO draining
The receive FIFO needs to be drained in a different way depending when it
is done.
- before start
If the RX FIFO is in overflow state then we must read all the entries out
to empty it (it was after all full).

- before stop
The DMA might be already running to read out data. Check the FIFO level
change in one sample time which gives us the needed information to decide
to wait for another loop for the DMA burst to finish, wait for the DMA to
start it's burst (DMA request was asserted) or drain the FIFO directly.

No need to drain the RX fifo at probe time.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-12-01 16:25:55 +01:00
Peter Ujfalusi
eb49756d86 drivers: dai: intel: ssp: Correct FIFO depth value
The actual FIFO depth is 32 and not 16 on CAV2.5 and AVS platforms.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-12-01 16:25:55 +01:00
Peter Ujfalusi
034a3e3f91 drivers: dai: intel: ssp: Ignore TX/RX or DMA request enable bits from blob
When loading the SSP configuration from a blob ignore the bits which would
enable the TX/RX or DMA requests at configuration phase.

The TX/RX enable and DMA request is handled by the driver itself. If the
blob wrongly enables any of the bits can have runtime (startup time)
seemingly random issues.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-12-01 16:25:55 +01:00
Aaron Ye
1268251faf drivers: gpio: ambiq: Fix the incorrect IRQ disablement.
For the Ambiq Apollo4x soc, every 32 pins share the same IRQ
number. irq_disable() should not be called for the pin interrupt
disablement, otherwise the interrupt of pins in the same GPIO
group will be disabled as well.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-01 16:25:47 +01:00
Aaron Ye
70ce5e4c6b dts: arm: ambiq: Update the GPIO instances
Use the "ambiq,gpio" binding to combine the "ambiq,gpio-bank"
child nodes for Apollo4 Plus soc.
Also update the GPIO driver accordingly.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-01 16:25:47 +01:00
Aaron Ye
a24f0f0b1d dts: binding: gpio: Add Ambiq gpio and gpio-bank bindings.
This Ambiq gpio binding provides the GPIO pin mapping for GPIO child
nodes tosolve the limitation of the maximum 32 pins handling in GPIO
driver API.
The gpio-bank nodes can be created under the gpio parent node.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-12-01 16:25:47 +01:00
Mateusz Sierszulski
bfecd1220d boards: arm: apollo4p_evb: Enable buttons
This commit adds buttons instances and aliases for them
on apollo4p_evb boards.

Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-12-01 16:25:47 +01:00
Mateusz Sierszulski
c8a9b61909 boards: arm: apollo4p_evb: Enable LEDs
This commit adds leds instances and aliases for them
on apollo4p_evb board.

Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-12-01 16:25:47 +01:00
Mateusz Sierszulski
e0eadd5f6b dts: arm: ambiq: Add GPIO instances to SoC
This commit instantiates the GPIO peripherals.

Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-12-01 16:25:47 +01:00
Mateusz Sierszulski
fb016b6843 drivers: gpio: add Ambiq GPIO driver
This commit adds GPIO driver for Apollo4 SoCs.

Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-12-01 16:25:47 +01:00
Guennadi Liakhovetski
dbea13a1c7 llext: fix read-only extension image
When using the LLEXT buffer loader we now avoid copying extensions
from storage to allocated memory by pointing directly into the stored
image. We then also perform linking and relocation in that memory,
which modifies its contents. However, this is impossible if that
storage is read-only. Add a Kconfig flag to distinguish between
writable and read-only storage types. Also use that flag to decide,
whether the extension image in test_llext_simple.c should be defined
as const or not.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
4e3e9a618e llext: protect the global llext list
Use an existing mutex to also protect the global llext list.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
b5506feed5 llext: remove redundant initialisation
a new llext object is completely initialised with zeros after
allocation, no need to additionally set members of an embedded into
it array to NULL.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
7af6dea799 llext: remove llext_list()
llext_list() is an exported function that returns a pointer to the
llext internal extension list. That list should only be accessible
directly inside llext, while holding a lock. Remove the function.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
ee4540c46c llext: remove llext list scanning from shell.c
The llext list should be internal to llext.c, remove its scanning
from shell.c, export a function for that instead.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
b5ce5012e2 llext: clarify section map allocation size
Use an element size explicitly when calculating the array size and
use the calculated size for memset().

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
b9bdae8c07 llext: add support for exporting symbols from extensions
Extensions should be able to selectively export their global symbols.
Add a LL_EXTENSION_SYMBOL() macro for that. Change the present
.sym_tab to be a temporary symbol table of all global symbols in an
extensions, used only during linking for internal purposes. Add a new
.exp_tab symbol table to store symbols, exported by an extension
permanently.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
86da7840bd llext: fix a memory leak in an error case
If a function fails it should release all the resources it has
managed to acquire. Fix llext_load() to free memory that it has
allocated in case of an error.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
a2acd7b2fb llext: add reference counting
Extend the llext_load() / llext_unload() API to let it be called
repeatedly for the same extension to increment or decrement its
reference counter respectively. We use a mutex to protect the counter
and make both llext_load() and llext_unload() return the use-count to
let the caller identify when the first loading and the last unloading
took place.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
0b5bfd22e3 llext: add support for global functions
Loadable modules can contain global (not "static") functions, even if
they aren't exported for use by other modules, e.g. when a module is
built from multiple .c files. Such functions are then also included
in link tables and have to be re-linked.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
e5c8d181d4 llext: add Xtensa test support
Add support for running a modular "Hello world" example on Xtensa.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
a2a62b46a3 llext: make buffer access functions accessible externally
llext_seek(), llext_read() and llext_peek() are needed outside of the
extension code too, move them to a header.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
b0b4b0baa0 llext: make local relocations optional
Some applications can decide to link their loadable objects for
exactly the same addresses, where they will be loaded. In those cases
local relocations aren't needed any more and can in fact break the
object if applied while the object is in a temporary storage. Add a
parameter to skip such local relocations.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
69cdc32892 llext: export some symbols
Export some symbols for loadable modules. Also add an
EXPORT_SYSCALL() helper macro for exporting system calls by their
official names.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
f98b8bb48f llext: add a function for finding ELF sections
Applications can use custom ELF sections for their own purposes, add
a function for finding them.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
03519afb84 llext: xtensa: add support for local symbol relocations
Add support for relocating local symbols, as specified in the
.rela.dyn section.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Guennadi Liakhovetski
d6a5a6e04c llext: add support for shared objects
Add support for linking PIC shared object, which only require
linking, using their PLT and GOT lists and don't need any relocation
otherwise.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-01 10:08:12 -05:00
Wojciech Slenska
fdc1cbf833 drivers: sensor: bmi323 interrupt fix
Interupts should be enabled after int line configuration in bmi.
When the device goes to a suspended state interrupts must be disabled.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-12-01 08:39:53 -06:00
Guillaume Gautier
4ed761d8b4 samples: boards: stm32: pm: adc: add adc channel for stm32wba
Add ADC channel for STM32WBA power management sample

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-12-01 14:31:05 +01:00
Guillaume Gautier
20fd6a10e1 drivers: adc: stm32: prevent pm while measurement in progress
Prevent PM while ADC measurement in progress.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-12-01 14:31:05 +01:00
Adam Cavender
ac4f9a6962 Bluetooth: Shell: Fix cmd_chan_map
Allow the channel map to be set when periodic advertising or acting as
an ISO source.

Signed-off-by: Adam Cavender <adam.cavender@nordicsemi.no>
2023-12-01 14:30:52 +01:00
Adam Cavender
ad485866b0 Bluetooth: Host: Fix bt_le_set_chan_map
Allow the channel map to be set when periodic advertising or acting as
an ISO source.

Signed-off-by: Adam Cavender <adam.cavender@nordicsemi.no>
2023-12-01 14:30:52 +01:00
Tim Lin
08e42b147e ITE: drivers/gpio: Correct the wake up control input
The wake-up control input is IT8XXX2_IRQ_WU66.

Testing the wake-up functionality on GPF6 is normal.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-12-01 12:41:22 +01:00
Aymeric Aillet
ca3c970a1d doc: release: 3.6: Add new R-Car Gen4 SoC series
Added support to R-Car Gen4 SoCs & boards
Existing drivers now supports Gen4 SoCs

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-12-01 12:35:43 +01:00
Kapil Bhatt
cb7b650b92 net: l2: wifi: Fix Print of SSID in WIFI status
While printing SSID in wifi status command, If the
length is maximum(32 character). It leads to buffer
overflow. It required one character for null
terminator ‘\0’. Changing the Format Specifiers to
print proper SSID.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2023-12-01 11:03:43 +00:00
Mario Paja
6b644dff67 net: gptp: Fix announce message len
This fix addresses wrong announce message length warning message.

TLV is a variable length (4+8N) based on the 802.1AS-2011 (table 10-8). In
Zephyr TLV is fixed to 12 bytes. TLV type and length are already taken
into account in the announcement message length.

Signed-off-by: Mario Paja <mario.paja@zal.aero>
2023-12-01 11:02:57 +00:00
Declan Snyder
fa69f472aa drivers: mdio_nxp_enet: fix ampersands typo
Fix code typo with &&->& and redundant operation

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-01 11:02:37 +00:00
Mateusz Karlic
85d76f970f dts: boards: mercury_xu: Select shell-uart
Select shell-uart for mercury_xu, to use shell_module sample.

Signed-off-by: Mateusz Karlic <mkarlic@antmicro.com>
2023-12-01 11:02:25 +00:00
Andrei Emeltchenko
265e1d222f doc: usermode: Improve documentation
The documentation related to dynamic object is hidden. Affects
k_object_alloc(), etc functions.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-01 11:01:51 +00:00
Hake Huang
7ee86fcfa2 tfm: lpcxpersso55s69_ns: add tfm runner support
enable TFM the final image used is tfm_merged.hex
not zephyr.hex

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-12-01 11:01:38 +00:00
Peter Johanson
be5a341467 bluetooth: Add CPF attribute to BAS battery level.
BAS v1.1, section 3.1.2.1 notes that a CPF should be added if the
device has more that one instance of the Battery Service, so
add one with the `main` description so that apps can add additional
Battery Level services with other descriptions, e.g. `auxiliary`.

Signed-off-by: Peter Johanson <peter@peterjohanson.com>
2023-12-01 10:58:27 +00:00
Chaitanya Tata
eb9587596b wifi: Check WPA-PSK passphrase length
When WPA-PSK was introduced the passphrase length check was missed.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-12-01 10:57:06 +00:00
Pieter De Gendt
266181b082 net: lib: coap: Add coap_service_is_running
Add a CoAP service API function to query the running state of the
provided service.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-01 10:56:56 +00:00
Pieter De Gendt
f2a256a4c9 net: lib: coap: Fix return value documentation coap_service_start
Corrected a return value in the doxygen description for coap_service_start.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-01 10:56:56 +00:00
Pieter De Gendt
4ff8080b65 net: lib: coap: Init CoAP service socket fd to -1
Set the static initialiser socket file descriptor to -1 to make sure
it is invalid before using coap_service_send.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-01 10:56:56 +00:00
Pieter De Gendt
b500f7216e tests: net: lib: coap_server: Do not autostart service B with port 0
A race condition for the test occurs as the service might have started
when booting.
Do not autostart the service to verify the port stays 0.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-01 10:56:47 +00:00
Jukka Rissanen
5d915398a4 net: sockets: Add additional checks to recvmsg()
Add extra checks that make sure that msg_iov is set
as we cannot receive anything if receive buffers are
not set.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-12-01 10:56:34 +00:00
Mia Koen
0bcad09392 bluetooth: mesh: Doc fix Bluetooth mesh to Mesh
SIG has changed Bluetooth mesh to Bluetooth Mesh
Updating zephyr docs accordingly
Leaving out old release notes

Signed-off-by: Mia Koen <mia.koen@nordicsemi.no>
2023-12-01 10:56:18 +00:00
Alberto Escolar Piedras
25599df05e boards nrf5340bsim_cpuapp: Define chosen entropy source
Override the chosen entropy source irrespectively of what the
SOC may chose.
This is to avoid problems as the SOC may select the
cryptocell, but we do not support it in the simulated
target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-01 10:55:45 +00:00
Andrei Emeltchenko
9f7209241b tests: acpi: Refactor ACPi test
Use helpers to print scope also for not found entries.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-01 10:55:22 +00:00
Tomasz Bursztyka
17d9275467 arch/x86: Fix building early console driver
io_mapped seems to always exist even though it's not set anywhere, so
testing if it is different to 0 to actually define
UART_IS_IOPORT_ACCESS.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-12-01 10:54:59 +00:00
Lukasz Majewski
8001ca7de4 drivers: net: tc6: cosmetic: Remove extra space at oa_tc6_send_chunks
Cleanup the extra space.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-01 10:54:27 +00:00
Lukasz Majewski
d3c0537ade drivers: net: lan865x: Select NET_L2_ETHERNET_MGMT when LAN865x used
The NET_L2_ETHERNET_MGMT configuration option is required to allow
setting MAC address or PLCA parameters with the LAN865x driver.

To avoid mistakes with per-board configuration files - it has been moved
to Kconfig and automatically selected when the driver support is enabled.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-01 10:54:27 +00:00
Lukasz Majewski
32e64cb8c5 drivers: net: tc6: Handle lost of device synchronization (SYNC == 0)
Handle the situation when OA TC6 compliant device signals to the host
that its configuration is lost - i.e. the SYNC bit in the footer is
cleared.

In this (unlikely happen) situation the device is reset and reconfigured.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-01 10:54:27 +00:00
Lukasz Majewski
384ba59c5b drivers: net: tc6: Change LOG_ERR to LOG_DBG when received data not valid
As part of IRQ service routine, there is at least one data transmission
performed between OA TC6 compliant device and HOST uC.

As this transmission can happen when there is no valid data to be read
(and its only purpose is to deassert the interrupt) the DV bit in footer
may be cleared. As this situation is expected with this approach - the
LOG level can be safely lowered from error to debug.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-01 10:54:27 +00:00
Lukasz Majewski
953c5f2d32 drivers: net: lan865x: Always read at least one chunk on IRQ received
According to the OPEN Alliance 10Base-T1x standard (point 7.7), it is
mandatory to read at least single data chunk (no matter if received data
is valid or not) to deassert the interrupt in the LAN865x (then the tc6
structure fields are also updated from the footer).

Current approach with reading OA_BUFSTS register was providing the
required information (RCA and TXC), but could cause transmission "stalls"
as this operation (i.e. control, not data transmission) is not causing
deassertion of the interrupt IRQ_N line from OA TC6 compliant device.

With this patch - the transmission is always performed at least once, so
interrupt is always deasserted.

As the functionality of oa_tc6_update_buf_info() - i.e reading value of
RCA and TXC - has been replaced with extracting data from footer, this
function can be safely removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-12-01 10:54:27 +00:00
Kamil Paszkiet
3754a4b315 tests/kernel/timer/timer_behavior: Add possibility to set ip address
added ip address parameter for saleae_logic2.py

Signed-off-by: Kamil Paszkiet <kamilx.paszkiet@intel.com>
2023-12-01 10:53:51 +00:00
Erwan Gouriou
d2ea9e4806 drivers: serial: stm32wba: Suspension required before stop in DMA Tx abort
In a previous change, STM32U5 GPDMA specific behavior was set into a
specific configuration applying only to few devices impacted by a specific
silicon erratum.
As part of this change, dma suspension before dma stop was set to apply
to the specific erratum workaround.
It appears, this was wrong and dma suspension before dma stop should
be done on all devices compatible with stm32u5 dma. This fix re-instantiate
the correct behavior.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-01 10:52:49 +00:00
Erwan Gouriou
ad1594ee75 drivers: serial: stm32: Small code refactoring
Wakeup-source configuration is about configuring registers.
It belongs to uart_stm32_registers_configure().

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-01 10:52:49 +00:00
Erwan Gouriou
17c099872f tests: uart: Enable fifo on nucleo_wba2cg for async tests
This will allow compiling/testing fifo in CI.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-01 10:52:49 +00:00
Erwan Gouriou
0c541d7ad0 drivers: uart: stm32: Allow enabling FIFO mode
Add required bits to allow FIFO mode enabling.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-01 10:52:49 +00:00
Marc Desvaux
be6b12e012 tests: drivers: adc: adc_dma: add nucleo_l476rg
Add nucleo_l476rg in drivers.adc.dma
test case for twister test

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-12-01 10:52:22 +00:00
Alberto Escolar Piedras
44b8971e48 native_sim: Improve instructions for i386 packages
To the instructions that install "foreign architecture" (i386)
packages on a x86-64 system, add the commands to ensure
the architecture is added if it wasn't already.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-01 10:52:07 +00:00
Alberto Escolar Piedras
df100d4598 boards native: Add not supported features
Add a section with the most significant not supported features.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-01 10:52:07 +00:00
HaiLong Yang
f5e871d5e0 test: flash: add gd32 boards
This add gd32vf103v_eval, gd32a503v_eval and gd32f470i_eval boards to
flash common test.

    Boards       | Flash Type
-------------------------------
 gd32vf103v_eval | gd32 fmc v1
 gd32a503v_eval  | gd32 fmc v2
 gd32f470i_eval  | gd32 fmc v3

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2023-12-01 10:51:52 +00:00
HaiLong Yang
ba476c4b8a drivers: flash: update gd32 fmc v2
This fix some incorrect implement in gd32 flash v2 driver, also add
support to gd32a503 series.

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2023-12-01 10:51:52 +00:00
Emil Lindqvist
79c2fafe6a modem: modem_cellular: add PAP authentication support
Some modems or networks require PAP authentication for successful
LCP handshake. Tested on U-blox SARA-R5 with zephyr,gsm-ppp.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2023-12-01 10:51:24 +00:00
Benedikt Schmidt
08bf74a825 drivers: adc: cleanup whitespaces in ADS114s0x
Cleanup the whitespaces with clang-format in the driver of the ADS114s0x.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-01 10:51:05 +00:00
Benedikt Schmidt
640b6911d6 drivers: adc: improve logging of ADS114s0x
Improve the logging of the ADC driver ADS114s0x.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-01 10:51:05 +00:00
Pieter De Gendt
e816fc5a81 tests: modules: nanopb: Add a custom nested library
Add a library to the Nanopb test to demonstrate building with a
dependency on the generated header files.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-01 10:50:26 +00:00
Pieter De Gendt
4b1a8cb95b modules: nanopb: Add custom target for generated header files
Nanopb generates header files that need to be available before being
included. This isn't an issue for a target where the files were added
with zephyr_nanopb_sources. But if another target wants to include
these generated files we need a cmake dependency chain.

The nanopb_generated_headers custom target been added for this purpose.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-12-01 10:50:26 +00:00
Andries Kruithof
c3e2be4314 Bluetooth: audio: host: call the stream disable callback
Even though the ASCS Sink ASE state machine does not enter the disabling
state according to ASCS spec, it still makes sense to do so.

the state transition unit tests are updated to verify calling or not
calling the disable callback, depending on the transition of the state

fixes #63230

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-12-01 10:50:04 +00:00
Ryan McClelland
c6b935f4f8 doc: releases: add i3c dcr/lvr rename note
Add a note to the v3.6 release notes about renaming the I3C_DCR_I2C_*
to I3C_LVR_I2C_*.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-01 10:48:31 +00:00
Ryan McClelland
48e514f662 drivers: i3c: rename dcr i2c mode macro to lvr
This renames the I2C 'DCR' mode to 'LVR' as that is the variable it
should be looking at and not the dcr value. This also fixes the get
'lvr' mode argument.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-01 10:48:31 +00:00
Wilfried Chauveau
85af32e16e arch: arm: remove num-mpu-regions
Remove this property presumably unused.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-01 10:48:00 +00:00
Wilfried Chauveau
5b3d4598a7 dts: arm: Blanket remove all usages of arm,num-mpu-regions
This removes all occurrences of arm,num-mpu-regions relying on the value
reported by the register instead.
A user may still define this property if they need to have a compile time
definition for it.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-01 10:48:00 +00:00
Wilfried Chauveau
784355aeb3 boards: arm: mps2_an521: remove the arm,num-mpu-regions property
The SSE-200 implementation on AN521 only has 8 regions.
Although the AN521 FPGA image implements the documented value,
qemu-system-arm currently shows in MPU_TYPE the incorrect value of 16.

Removing the property definition allows the code to rely on the register
read value and work on both qemu-system-arm & the physical board.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-01 10:48:00 +00:00
Wilfried Chauveau
3fcc505b41 dts: bindings: mmu_mpu: Mark arm,num-mpu-regions as optional
The C code does not required this parameter to be defined and falls back
to the MPU_TYPE's register to return the appropriate value.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-01 10:48:00 +00:00
Alberto Escolar Piedras
44aaa03818 release_notes: native_sim replaces native_posix
Note that native_sim is replacing native_posix as default
test platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-12-01 10:54:57 +01:00
Parthiban Nallathambi
e9e430c40d can: mcp251xfd: fix compilation
Either switching to CAN_DEVICE_DT_INST_DEFINE with [1] missed
updating mcp251xfd or missed in merge. Fix using function
pointer for init in mcp251xfd.

[1]: https://github.com/zephyrproject-rtos/zephyr/pull/62925

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2023-12-01 10:48:23 +01:00
Daniel Leung
8f9fd239eb doc: porting/arch: add missing sections to overview list
The section overview list at the beginning of the document
is missing a few sections which were added after the list
was first created. So add them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-30 21:01:47 -05:00
Daniel Leung
34c6b17680 doc: fixed already renamed _Cstart to z_cstart
The function _Cstart has already been renamed to z_cstart,
so change the remaining references of it in various docs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-30 21:01:47 -05:00
Daniel Leung
e3aa22bfda doc: porting/arch: fixed missing stack object memory map
The stack object memory map was missing from the doc due to
incorrect indentation. Fix it so that it shows up in the doc.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-30 21:01:47 -05:00
Maciej Perkowski
4733a89c50 twister: tests: Add some generic driver tests to the scope
The added tests should be generic enough to run on all reference
platforms.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-11-30 19:38:50 -05:00
Maciej Perkowski
ac3d8ebd9e twister: tests: Use inheritance in test_config.yaml
There is no need of repeating the same entries in a scope
that is supposed to extend another one.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-11-30 19:38:50 -05:00
Christopher Friedt
742de21eef posix: pthread: add logging to pthread key
To align with other supported POSIX features, add logging to
pthread key to provide better error reporting and diagnostics.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-30 11:24:09 -05:00
Christopher Friedt
5dc561f1b4 posix: key: remove unnecessary else / indent
Remove the unnecessary else clause and indentation in
pthread_setspecific().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-30 11:24:09 -05:00
Anas Nashif
589d36adcf tests: crc: remove unrelated tag
Remove net tag from tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-30 11:23:11 -05:00
Anas Nashif
e11a71dea0 tests: posix: remove unrelated tags
Remove unrelated tags: net, socket.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-30 11:23:11 -05:00
Manuel Argüelles
de93777d14 tests: drivers: gpio: enable tests for ucans32k1sic
Add DT overlays for running GPIO tests on ucans32k1sic board.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-30 11:21:59 -05:00
Manuel Argüelles
23053cfea5 boards: arm: introduce support for NXP UCANS32K1SIC
Introduce minimal support for NXP UCANS32K1SIC board based on
S32K146 MCUs. This includes support to run from internal Flash or SRAM,
multiple west runners for TRACE32 and J-Link, and the minimal set of
drivers.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-30 11:21:59 -05:00
Manuel Argüelles
81de2af68f dts: arm: introduce support for NXP S32K146
Add minimal support for S32K146 devices including clocks, MPU,
pin control, GPIO and UART.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-30 11:21:59 -05:00
Manuel Argüelles
91293187d8 soc: nxp_s32: introduce support for S32K1 devices
Introduce support for NXP S32K1 family of 32-bit MCUs, and
particularly for S32K146 devices. S32K1 share a fair amount of
similarities with Kinetis family, so most of the peripheral drivers
can be reused.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-30 11:21:59 -05:00
Andrej Butok
3e1855e503 boards: lpcxpresso55s28: add boot and slot1 partitions
Add boot_partition and slot1_partition to lpcxpresso55s28.dts.
Make MCUBoot compiled.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-30 11:19:59 -05:00
Alberto Escolar Piedras
861131795c CI codecov workflow: Switch to native_sim
Switch from native_posix to native_sim as test platform
for this workflow.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
9971027d0b CI clang workflow: Switch to native_sim
Switch from native_posix to native_sim as test platform
for this workflow.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
a905292eb0 tests/boards/native_sim/rtc: Rename testcase
As it is not just targetting native_posix anymore.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
690479fc36 tests/*: Switch integration platform to native_sim
Swith integration_platforms from native_posix(_64)
to native_sim(_64).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
7a778ebc2d tests/kernel/*: Switch integration platform to native_sim
Swith integration_platforms from native_posix(_64)
to native_sim(_64).
And replace it also in a comment.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
700a251366 tests/kernel/sched/schedule_api: Replace delay with Z_SPIN_DELAY()
This macro was introduced for this purpose

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
fbf1c19bd6 tests/kernel/common: Enable errno test on native_sim
Enable this test also on native_sim when not using the host
C library

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
f981bf2fa0 tests/subsys/*: Switch integration platform to native_sim
Swith integration_platforms from native_posix(_64)
to native_sim(_64).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
0f5a0327e6 tests/subsys/canbus/isotp/conformance: Replace native_posix in comment
Replace native_posix with native_sim in a comment.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
345c25659c tests/subsys/bindesc/definition: Enable for native_sim
Enable bindesc.define also for native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
1a3ba0ec82 tests/lib/*: Switch integration platform to native_sim
Swith integration_platforms from native_posix(_64)
to native_sim(_64).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
6db47c70fa tests/lib/heap: Minor fix in a comment
That comment applies to all posix arch based boards,
not just native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
12bf3bae0f tests/lib/c_lib/common: Do not skip part of test for all posix boards
It is not just native_posix that supports the sqrt test,
but all posix arch based ones.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
ff30ad15cd tests/drivers/*: Switch integration platform to native_sim
Swith integration_platforms from native_posix(_64)
to native_sim(_64).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
799cd60745 tests/drivers/charger/sbs_charger: Fix test filter
Fix the test filter, to allow any POSIX arch board,
instead of just native_posix, as this test runs fine
on all of them.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
f591d0a54d tests/lib/cmsis_dsp: Switch integration_platform to native_sim
Switch integration_platform from native_posix to native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
188cdd95c5 twister tests: Replace native_posix with native_sim
As native_sim is replacing native_posix overall and
becoming the default test platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
6fce48b028 tests/drivers/flash_simulator: Switch to native_sim
Switch the native overlays to be based on the native_sim one,
and set native_sim as the integration_platform
instead of native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
0f6a3d0334 boards native: Switch default testing platform native_posix->native_sim
Set native_sim as the default testing platform instead of native_posix.
This continues the agreed strategy described in #58305

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Magdalena Kasenberg
c94cd30cec bluetooth: bap: Fix shift of requested_bis_sync
The BIS_Sync bitfiled received over the air in Add Source and Modify
Source operations uses BIT(0) for BIS Index 1. Shift it when storing
it to match bis_sync bitfield where BIS Index 1 is at BIT(1).

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-30 12:10:35 +00:00
Magdalena Kasenberg
2094183d81 bluetooth: bap: Fix shift of BIS_Sync parameter of notification
bis_sync contains BIS index bitfield which is shifted by 1 bit relative
to the BIS_Sync parameter of Broadcast Receive State notification.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-30 12:10:35 +00:00
Qipeng Zha
3d29c9fe54 kernel: timeout: fix issue with z_timeout_expires
- issue found with Ztest case of test_thread_timeout_remaining_expires
  on Intel ISH platform when adjust CONFIG_SYS_CLOCK_TICKS_PER_SEC
  to 10k.
- timeout_rem() return exact remaining ticks which is calibrated by
  decrease elapsed(), while z_timeout_expires try to get expire ticks
  to be timeout using current tick as base, so need get exact current
  ticks by plus elasped().

Signed-off-by: Qipeng Zha <qipeng.zha@intel.com>
2023-11-30 12:22:54 +01:00
Francois Ramu
de1bfd6a6e drivers: adc: stm32 adc fixing calibration for the stm32F1 serie
Configure the sw trigger just after calibration
So the conversion can start on regular channel on the
software control bit.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-30 12:22:46 +01:00
Fabio Baltieri
c8f4455ef8 tests: input: api: dedup some test properties
Move some common properties in the common field.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-30 10:19:42 +00:00
Robert Lubos
222fa42609 net: icmp: Fix Echo Replies with unspecified address
Fix two issues with sending ICMP Echo Reply for requests sent for
multicast address:
* Use the originator IP address instead of multicast when selecting
  source address for the reply
* In case no address match is found, drop the packet, instead of
  replying with unspecified address.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-30 10:07:45 +01:00
Pieter De Gendt
8252ec7570 net: lib: coap: Translate handler errors to CoAP response codes
The CoAP request handler returns errno codes in the following cases:
* ENOENT if no handler found; respond with 4.04
* ENOTSUP if an unknown request code received; respond with 4.00
* EPERM no handler found for the method; respond with 4.05

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-30 10:07:32 +01:00
Marc Herbert
40c2e08e82 xcc/cmake: don't discard stderr; don't (ever!) use ERROR_QUIET
Remove ERROR_QUIET which is a bad idea 99.9% of the time. When any
program makes the effort of using stderr, we _really_ don't want to lose
those error messages.

Using ERROR_QUIET in XCC is even worse because of how high maintenance
XCC is; see another example in 4cba9e6d42 ("cmake: warn the user that
the toolchain cache hides errors")

No one expects error messages to be silently discarded and especially
not people not familiar with CMake (= most people); so hiding the
following error stalled progress for a couple days:

```
Error: there is no Xtensa core registered as the default.

You need to either specify the name of a registered Xtensa core (with
the --xtensa-core option or the XTENSA_CORE environment variable) or
specify a different registry of Xtensa cores (with the --xtensa-system
option or the XTENSA_SYSTEM environment variable).

Executing the below command failed.  Are permissions set correctly?
```

Also capture stdout and print it on failure because you never know.

Indent the ` ${CMAKE_C_COMPILER} --version` line in the error message so
CMake does not split that line.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-11-30 10:07:25 +01:00
Aastha Grover
283a9ef959 tests: cpp: Exclude cpp2B testcase for xt-clang toolchain
c++2B standard is not supported for xt clang compiler so
exclude cpp2B testcase for xt-clang toolchain.

Signed-off-by: Aastha Grover <aastha.grover@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-30 10:07:00 +01:00
Robert Lubos
5bbf898905 tests: net: socket: tcp: Fix FD leak in fionread tests
Socket close was missing in fionread tests, causing file descriptor
leak.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-30 10:06:50 +01:00
Robert Lubos
95155c1fae tests: net: tcp: Add small delay when checking context dereference
Since the TCP context (and thus net_context) is not dereferenced
directly from the test thread anymore, add a small delay so that TCP
work queue have a chance to run, before checking net_context count or
reusing the port on new allocation.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-30 10:06:50 +01:00
Robert Lubos
37d39425ee net: tcp: Fix possible race between TCP work items and context unref
Fix the possible race between TCP work items already scheduled for
execution, and tcp_conn_unref(), by moving the actual TCP context
releasing to the workqueue itself. That way we can be certain, that when
the work items are cancelled, they won't execute. It could be the case,
that the work item was already being processed by the work queue, so
clearing the context could lead to a crash.

Remove the comments around the mutex lock in the work handlers regarding
the race, as it's not the case anymore. I've kept the locks however, as
they do make sense in those places.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-30 10:06:50 +01:00
Szymon Janc
530e3670bc bluetooth: tester: Allow to use filter list for advertising
If there is any element on filter list it is used for advertising.
This allows to test all scenarios involving allow list (empty, peer
on list, peer not on list).

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-11-30 10:06:39 +01:00
Aleksander Wasaznik
dc834cb217 Bluetooth: l2cap: remove bt_l2cap_chan_send_cb
It has no more users and was an internal API.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-11-30 10:06:19 +01:00
Aleksander Wasaznik
8a3201c223 Bluetooth: att: Remove att use of bt_l2cap_chan_send_cb
EATT is the only user of `bt_l2cap_chan_send_cb`, and not necessary. We
can maintain the same functionality without it.

Instead of passing and storing the callback into l2cap, we can store it
in a callback queue in the ATT bearer struct.

This will allow us to remove that internal API later, in order to
streamline the l2cap API.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-11-30 10:06:19 +01:00
Aleksander Wasaznik
535e003a00 Bluetooth: Use CONFIG_BT_CONN_TX_USER_DATA_SIZE
Replace hardcoded value `8` with `CONFIG_BT_CONN_TX_USER_DATA_SIZE`,
that is `8` but is going to change.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-11-30 10:06:19 +01:00
Jonathan Rico
3fe9aaa0f1 tests: Bluetooth: add ATT clopen test
Open. Close. Do it a bunch of times. Cry a lot.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-11-30 10:06:19 +01:00
Henrik Brix Andersen
34b6247910 drivers: i3c: fix nested list item formatting
The formatting of the nested list in the I3C header somehow confuses
Doxygen. Explicitly terminate each of the nested lists to avoid this.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-30 10:05:39 +01:00
Henrik Brix Andersen
bc011c39ea drivers: rtc: ds3231: use backticks for code identifiers
Use double backticks for code identifiers as the wildcards confuse Doxygen.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-30 10:05:39 +01:00
Henrik Brix Andersen
53d8c71ed3 drivers: interrupt_controller: esp32: use backticks for code identifiers
Use double backticks for code identifiers as the wildcards confuse Doxygen.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-30 10:05:39 +01:00
Henrik Brix Andersen
01760ab2f5 bluetooth: audio: cap: remove stray list item bullets
Remove stray list item bullets as they confuse Doxygen. Also fix wrong
Doxygen comment block intro.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-30 10:05:39 +01:00
Andreas Chmielewski
72f7a05a8b tests: lwm2m_rd_client: Added more fff tests
If the rdclient is suspended or deregistered any network errors caused
by lwm2m_engine and forwarded by socket_fault handler should not change
the rd client state.

Signed-off-by: Andreas Chmielewski <andreas.chmielewski@grandcentrix.net>
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-30 10:05:30 +01:00
Dawid Niedzwiecki
75f7ffb2c9 Revert "timer: cortex_m_systick: handle cycle count overflow with idle timer"
This reverts commit 2ae09993ca.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-30 10:05:22 +01:00
Eduardo Montoya
e504ab5217 net: openthread: add Link Metrics noise floor initialization
It was missing.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-30 10:05:14 +01:00
Jukka Rissanen
1f1712a89f net: context: Add ARG_UNUSED to relevant places in opt handling
If some specific option is not enabled, then add missing
ARG_UNUSED() calls in relevant functions.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-30 10:05:06 +01:00
Jukka Rissanen
77e522a5a2 net: context: Refactor option setters
Set separate option setters for bool, uint8_t and uint16_t
values. Use those generic setters when storing the desired
option value.

The uint16_t option setter stores the value to uint16_t variable
and expects that user supplies int value.

For uint8_t value, it is expected that uint8_t value is supplied
instead of int.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-30 10:05:06 +01:00
Jukka Rissanen
55958d851f net: context: Refactor option getters
Set separate option getters for bool, uint8_t and uint16_t
values. Use those generic getters when fetching the desired
option value.

Noticed mixed usage (bool vs int) for txtime option. Changed
the code to use int type like in other options.

The uint16_t option getter gets the value from uint16_t variable
but returns int value to the caller, and also expects that user
supplies int value.

For uint8_t value, it is expected that uint8_t value is supplied
instead of int.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-30 10:05:06 +01:00
Dawid Niedzwiecki
7388970c85 serial: stm32: do not clear TC flag in async mode
The Transfer Complete flag (TC) is used to check if a transfer is
complete. This mechanism is used before suspending the UART module to
make sure that all data are sent before the suspend procedure.

The UART ISR clears this flag after completion of a async transfer which
causes a hang during UART device suspend setup.

There is just no need to clear this flag in ISR, it is cleared every
time we start a new async transfer.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-30 10:04:57 +01:00
Yong Cong Sin
e6f77f9b73 driver: intc: plic: fix trigger type register bit calculation
The bit position calculation for the trigger type is wrong,
fix that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-30 10:04:43 +01:00
Ederson de Souza
10ec2b129c scripts/pylib/twister/twisterlib: Support multiple --pytest-args
One can not even replace sucessfully pytest basic sample `pytest-args`
with command line "--pytest-args", as all it does is to append a single
string to current list of commands, making it impossible to send several
arguments.

This patch fixes that by allowing several instances of `--pytest-args`
to compose the whole list of arguments to be passed to pytest.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-11-30 10:03:01 +01:00
Anas Nashif
ffcf9c5987 twister: do not add a platform to keyed tests if previously filtered
If a platform is fitlered, do not add it to keyed test map, otherwise we
will end up skipping all platforms from the same class without any
coverage.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-30 10:02:52 +01:00
Andrej Butok
2aa7ef1d65 boards: mimxrt101x_evk: add boot and slot partitions
Add boot_partition and slot1_partition for
mimxrt1010_evk and mimxrt1015_evk.
Enable MCUBoot & Flash support for them.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-30 10:02:44 +01:00
Bartosz Bilas
55f2d72cd4 drivers: eth_esp32: allow selecting ref clk source
In case of boards where REF_CLK signal is not connected
to the GPIO0 by default add the possibility to use
the optional GPIO16/GPIO17 as a REF CLK source.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-30 10:02:31 +01:00
Bartosz Bilas
052f0994d4 west: bump hal_espressif
It contains a fix for a typo within emac_hal module.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-30 10:02:31 +01:00
Arkadiusz Wadowski
90978b9f40 mgmt/osdp: Make OSDP slab init safer
slab_buff size is calculated based on size of osdp_ephemeral_data union
so it is safer to use same structure for slab init.
Changes in osdp_event or osd_cmd structures can cause crashes without this.

Signed-off-by: Arkadiusz Wadowski <wadowski.arkadiusz@gmail.com>
2023-11-30 10:02:20 +01:00
Patryk Koscik
77b49ab587 dts: arm: rpi_pico: Add compat string to rp2040
This commit adds compatible string to the `rp2040` SoC node.

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2023-11-30 10:01:54 +01:00
Piotr Narajowski
e91e65b5fd bluetooth: tester: GMCS Server tests
Add support for Generic Media Control Service tests

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-11-30 10:01:35 +01:00
Daniel Gaston Ochoa
50f64eaeba drivers: spi: stm32h7: Use FIFO
Use H7 SPI FIFO to improve performance.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2023-11-30 10:01:19 +01:00
Daniel Gaston Ochoa
cb4f54535f drivers: spi: stm32h7: Simplify long function in small ones
Simplify and clarify spi_stm32_shift_m by splitting it in
3 smaller functions with clear names.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2023-11-30 10:01:19 +01:00
Daniel Gaston Ochoa
02f46fb1f2 drivers: spi: stm32h7: Use a better name for ll_func_tx_is_empty
In H7, TXP indicates when its FIFO has room for, at least, one
packet. Thus, rename ll_func_tx_is_empty as ll_func_tx_is_not_full,
to be consistent in all platforms.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2023-11-30 10:01:19 +01:00
Daniel Gaston Ochoa
2effd8cce7 drivers: spi: stm32h7: Move startMasterTransfer to transceive
Avoind calling startMasterTransfer multiple times in a
transaction by moving it to the transceive() function.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2023-11-30 10:01:19 +01:00
Marc Desvaux
1204aa25c8 drivers: usb: device: fix Rx FIFO min size
the FIFO Rx need to have a Minimum memory to works
distributed the rest of the ram_size memory between
the different TX FIFOs except the first which is
a control endtype with max data payload of 64 bytes

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-30 10:01:11 +01:00
Daniel Baluta
915f8a10b6 doc: point to new zephyr sdk: 0.16.4
Change docs to point to new Zephyr SDK.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2023-11-30 14:49:54 +09:00
Daniel Baluta
d6329386e9 ci: use zephyr SDK 0.16.4
This commit update CI workflows  to use CI image v0.26.6 in order
to pull Zephyr SDK 0.16.4

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2023-11-30 14:49:54 +09:00
Adam Bozanich
9e4328cdcd doc: build: dts: bindings-syntax: compatible typo
The discussion and bindings for this node
assume that it is compatible with `"bar,pwm"`.

Signed-off-by: Adam Bozanich <adam.boz@gmail.com>
2023-11-29 17:39:30 -08:00
Seppo Takalo
ef1bcb7aee manifest: Update net-tools
* Few fixes in net-tools scripts
* Fixed release URI for Leshan demo server

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-29 19:15:18 -05:00
Declan Snyder
df2ff3a850 boards: rt10xx: Rename ENET overlay & document
Rename the experimental driver overlay to be the same
for all the platforms, and document about it in the boards'
index.rst.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-29 16:46:53 -06:00
Jakub Michalski
685b45be94 tests: console: add line splitting tests
Add tests for line splitting in console echo and console_getline()

Signed-off-by: Jakub Michalski <jmichalski@internships.antmicro.com>
Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-11-29 17:16:35 -05:00
Jakub Michalski
56bb73d7c7 console: fix '\r' and '\n' handling in uart_console_isr()
Receiving uart messages like: "\r*\n*\n" ('*' is a wildcard here) resulted
in invalid echo and invalid console_getline() output.
For example after receiving "\rabc\nd\n" uart_console_isr() echoes
"\r\nabcd\r\n" (note that "\r\n" before 'd' is missing) and after calling
console_getline() twice we received "" and "abcd".

uart_console_isr() changes single occurences of '\n' and '\r' to "\r\n" and
to avoid outputting "\r\n\r\n" after receiving "\r\n" it keeps track of the
last character. But it was tracking only the control characters not all
characters so in case of inputs like "\r*\n" the '\n' was omitted because
the last tracked character was '\r'.

Its fixed by tracking last character no matter of its type

Signed-off-by: Jakub Michalski <jmichalski@internships.antmicro.com>
Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-11-29 17:16:35 -05:00
Konrad Derda
f9c4ae6cf6 tests: net: hostname: test hostname related events
Add test case to ensure that NET_EVENT_IF_HOSTNAME_CHANGED event is
triggered properly when the hostname changes.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2023-11-29 13:16:16 -06:00
Konrad Derda
3c39f7efd9 net: hostname: trigger an event when the hostname changes
This commit introduces new network event that is triggered on every
change of the hostname.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2023-11-29 13:16:16 -06:00
Rodrigo Peixoto
2fa6a440ae tests: zbus: replacing K_NO_WAIT with K_FOREVER in integration tests
The zbus_chan_read with K_NO_WAIT was generating a fail in the
qemu_riscv32_smp board. This fix replaces the K_NO_WAIT with a K_FOREVER
on the test, which would not affect the test execution for other
platforms/boards.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-11-29 19:51:13 +01:00
Fabio Baltieri
76791cd708 input: kbd_matrix: add a input_kbd_matrix_drive_column_hook option
Add an option to call an application specific hook when setting the
column to scan. This makes it possible to handle application specific
quirks.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-29 18:18:09 +00:00
Daniel DeGrasse
9e4b57398f dts: arm: nxp: rt1015: correct FlexRAM bank allocation
Although the RT1015 only supports 128 KB of FlexRAM being used at once, the
default fusemap overallocates 160KB of FlexRAM. The JLink flashloader
algorithm appears to rely on the 64KB of DTCM in the default fusemap
being configured. Reducing the DTCM allocation resulted in JLink
failing to flash the SOC.

To resolve this, utilize the default fusemap of {O, O, D, D, I} for the
RT1015 FlexRAM setup. Add a note about the restrictions on using
overallocated FlexRAM to the SOC DTSI.

Fixes #65889

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-29 11:21:40 -06:00
Adrian Bonislawski
53df6efeb6 watchdog: intel_adsp: fix num cpus
This will allow to init watchdog on HW's supporting different
number of cpus and watchdogs based on runtime arch_num_cpus

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2023-11-29 11:42:15 -05:00
Fabio Baltieri
153f38a412 device: add braces around dev/dev_rw initializer
The init_entry struct got modified to add a union with a non const dev
pointer in afc59112a9. Some old compiler (such as GCC 4) seems to
require a pair of brackets to correctly initialize the field in the
union. Add those brackets to the initializers in device.h and init.h to
maintain compatibility.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-29 14:44:23 +00:00
Jeppe Odgaard
f74f309ec7 valgrind: Update POSIX soc no cpu cleanup suppression
Add `possible` to match-leak-kinds to prevent false positives caused by
POSIX soc no cpu cleanup.

The leak can be reproduced by adding CONFIG_NETWORKING=y to
tests/lib/cpp/libcxx/prj.conf and run twister:
twister -p native_sim -s tests/lib/cpp/libcxx/cpp.libcxx.host
--enable-valgrind

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-29 15:33:49 +01:00
Daniel Leung
81773c9905 MAINTAINERS: fix missing asterisk for STM32 driver matching
There is a missing asterisk for one of the driver matching
pattern for STM32. So fix that.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-29 09:32:52 -05:00
Fabio Baltieri
35de07a528 tests: gnss: add some tests for gnss_dump
Add a testsuite for gnss_dump, testing that various values are printed
correctly.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-29 14:30:40 +00:00
Fabio Baltieri
f9ab050306 drivers: gnss: move gnss_publish.h in include/
Move gnss_publish.h in include/ so that out of tree drivers and tests
can use it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-29 14:30:40 +00:00
Fabio Baltieri
96b9bd4720 drivers: gnss: use absolute values for signed fractionals
Printing fractionals currently put the sign on integer values on the
fractional part, for example:

longitude : -6.-207483333

Run an extra abs to get rid of the sign there for latitude, longitude
and altitude, compute the sign separately so it works for numbers
between -1 and 0 as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-29 14:30:40 +00:00
Fabio Baltieri
874e973446 bindings: gnss: renmae quectel,lc76g.yaml
This was probably meant to have a comma, not a dash.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-29 14:30:40 +00:00
Joshua Lilly
b3cba84dcd testsuite: coverage: allow access to gcov internals
This allows external applications wishing to report coverage data over
different interfaces the ability to do so by exposing the gcov list.

Signed-off-by: Joshua Lilly <jgl@meta.com>
2023-11-29 04:59:47 -08:00
Jamie McCrae
b35cd5f7b8 doc: migration-guide: 3.6: Add note on nrf Kconfig removal
Adds a note on a now removed Nordic GPREGRET Kconfig which was
deprecated in Zephyr 3.4

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-29 13:38:29 +01:00
Jamie McCrae
93f537552d soc: arm: nordic_nrf: Remove deprecated GPREGRET Kconfig option
Removes the Kconfig NRF_STORE_REBOOT_TYPE_GPREGRET which was
deprecated in zephyr 3.4

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-29 13:38:29 +01:00
Jamie McCrae
7d567438b2 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  05d11942774fc15b90af101232ec5305051216ec

Brings following Zephyr relevant fixes:
 - 215345f7 zephyr: Add firmware loader MCUboot operation style
 - 433b8480 zephyr: Move IO functions out of main to separate
   file
 - 5e6cffbf boot: boot_serial: Fix single slot encrypted image
   list
 - 3f0b89d6 boot: zephyr: add support for mimxrt101x_evk

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-29 13:38:17 +01:00
Adam Wojasinski
e654cb65b8 drivers: watchdog: wdt_nrfx: Add support for new instances
Add support for WDT30, WDT31, and WDT130

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-29 13:12:42 +01:00
Adam Wojasinski
38739368dd modules: hal_nordic: watchdog: Add Kconfig symbols for new WDT instances
This commit is a part of introduction of new WTD instances.
It adds new Kconfig symbols that can be used in WDT shim and
nrfx driver.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-29 13:12:42 +01:00
Marcin Szymczyk
2a38230a31 drivers: spi: nrfx: add dependency to PPI for PAN 58 on nRF52832
While enabling workaround for PAN 58 the PPI driver is used.
This requires the nrfx PPI driver to be enabled thus CONFIG_NRFX_PPI
Kconfig symbol needs to be set.

Jira: NRFX-1616

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2023-11-29 11:30:04 +01:00
Chaitanya Tata
0a1eff8d97 drivers: spim: Move the length check to beginning
This check has to be done independent of whether RAM is used for buffers
or not and depends on device maximum length property.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-11-29 11:30:04 +01:00
Chaitanya Tata
2c0f121727 drivers: spi: spi_nrfx_spim: Use generic macro for RAM address check
Instead of assuming only RAM is accessible by EasyDMA, use the generic
DMA accessible function.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-11-29 11:30:04 +01:00
Adam Wojasinski
058eebe479 drivers: spi: spi_nrfx_spim: Add additional symbol check for frequency
Some targets may not have `NRF_SPIM_HAS_32_MHZ_FREQ` or
`NRF_SPIM_HAS_16_MHZ_FREQ` symbols but have `NRF_SPIM_HAS_PRESCALER`
symbol defined. The symbol informs that target supports 32 MHz and
16 MHz frequencies for SPIM instances.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-29 11:30:04 +01:00
Adam Wojasinski
e6bcc986bf drivers: spi: spi_nrfx_spim: Include nrf_clock.h only for nRF5340
The CLOCK HAL header is only needed for nRF5340 SoC. It's used when
user wants to configure SPIM instance to 32 Mbps. The HAL checks
if is running at 128 MHz as only then 32 Mbps is supported.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-29 11:30:04 +01:00
Andriy Gelman
447bdaa506 drivers: ethernet: eth_sam_gmac: Fix ptp adjust
NSEC_PER_SEC is an unsigned literal which will promote variable increment
to unsigned for the comparison operation, thus returning -EINVAL for
negative increment values.

For positive increment, -NSEC_PER_SEC becomes a large unsigned value
which will also return -EINVAL.

Fix by casting NSEC_PER_SEC to an int.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-29 09:53:47 +00:00
Paszkiet Kamil
4c035af05c scripts: tests: twister_blackbox: Add test test_report.py
add test to test_report.py:
  -platform_reports
  -report_suffix
  -report_name
  -report_dir
  -outdir

Signed-off-by: Paszkiet Kamil <kamilx.paszkiet@intel.com>
2023-11-29 09:52:44 +00:00
Armin Brauns
4321f86f1e drivers: allow setting BlueNRG public address
The zephyr bluetooth stack expects the controller to know its public
address, if any. At least for BlueNRG, the public address is forgotten with
every reset/power cycle, so there needs to be a way to set it from within
zephyr. This is accomplished using the `Aci_Hal_Write_Config_Data` HCI
command, as described in PM0237.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-11-29 10:44:25 +01:00
Armin Brauns
57b04c1eb0 drivers: refactor BlueNRG SPI driver for more config options
"LL only" is not the only config option of potential interest, e.g. the
public address is also important.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-11-29 10:44:25 +01:00
Armin Brauns
5b1b260f80 bluetooth: add HCI driver parameter to set controller's public address
This allows HCI drivers to expose vendor-specific functions to set the
public address.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-11-29 10:44:25 +01:00
Ryan McClelland
1e91453005 drivers: i3c: cdns: use deterministic timeout for idle
Previously, the idle bit would be read for X amount of times. This
could vary alot depend on the CPU speed. Timeout is now to happen
from the cycle time.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-11-29 10:29:30 +01:00
Christopher Friedt
a8d2feef83 maintainers: remove cfriedt as ti collaborator
Just in an effort to reduce notifications in areas that I'm not
super actively involved in. I was getting a lot of false
positive notifications for sensors.

Feel free to ping me for individual reviews on
simplelink parts or TI HAL or radio drivers.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-29 10:24:05 +01:00
Marek Pieta
8d8e2b0f42 drivers: usb: nrf_usbd_common: Remove unneeded assertion
Code uses local RAM buffer to properly handle the case where provided
USB transfer TX data is not in RAM.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2023-11-29 10:22:25 +01:00
Jukka Rissanen
abba8050da net: socket: Fix v6only option documentation
The v6only option is currently supported so fix the
documentation in socket.h

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-29 10:21:40 +01:00
Dominik Ermel
e49ca8b967 settings: Remove leftover duplicate and unused declarations
Removed duplicated and unused code.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-11-29 10:09:59 +01:00
Wojciech Sipak
76c8bf0f7c drivers: interrupt_controller: intc_plic: rewrite get_plic_dev_from_irq
There's a ternary operator that depends on configuration-defined macro:
`CONFIG_DYNAMIC_INTERRUPTS` is not enabled by default
for any of the platforms that use PLIC,
it is possbile to set it to `=y` though.

This triggered the Coverity check to report it as dead code.

Fixes #65576.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2023-11-29 10:09:48 +01:00
Jamie McCrae
78a819bb33 doc: release: 3.6: Add note on fixed MCUmgr UART console FIFO
Adds a note that the UART FIFO is no longer read when the driver
is configured

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-29 10:09:38 +01:00
Jamie McCrae
55dbe1e42b doc: release: 3.6: Add note on Nordic implying XIP
Adds a note that nordic SoCs now imply the XIP Kconfig option
instead of selecting it

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-29 10:09:38 +01:00
Jamie McCrae
b32b228697 doc: release: 3.6: Add note on fixed board revision 0
Adds a note that board revision 0 now correctly has the overlay
file included

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-29 10:09:38 +01:00
Jamie McCrae
c8d5344584 doc: release: 3.6: Fix wrong list character
Fixes wrongly using a dash instead of an asterisk for a list

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-29 10:09:38 +01:00
Francois Ramu
64cac83b48 samples: sensor: hts221 no trigger on stm32u585 disco kit
The b_u585i_iot02a stm32 board has no HTS221 DRDY pin
to trig the HTS221 relative humidity and temperature sensor
So that sample.sensor.hts221.trigger is not applicable.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-29 10:09:23 +01:00
Franciszek Pindel
a9cebb5033 boards: efr32_radio: Add USART configuration for brd4180a and brd4187c
This commits provides USART PINCTRL configuration for efr32_radio_brd4180a
and efr32_radio_brd4187c boards.

Signed-off-by: Franciszek Pindel <fpindel@internships.antmicro.com>
Signed-off-by: Mateusz Holenko <mholenko@antmicro.com>
2023-11-29 10:09:13 +01:00
Jędrzej Ciupis
29d027a47b modules: hal_nordic: nrf_802154: lengthen serialization ring buffer
This commit increases the length of ring buffer that holds serialized
nRF 802.15.4 API calls so that it can simultaneously store all
notifications the driver is capable of issuing. Currently that's not the
case, which creates a possibility of the serialization buffers running
out while the driver is issuing notifications.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2023-11-29 10:09:05 +01:00
Christopher Friedt
e260201204 doc: posix: mark pthread_cleanup_push() and pop() as supported
Update docs to reflect additional support of
pthread_cleanup_push() and pthread_cleanup_pop().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-29 10:08:44 +01:00
Christopher Friedt
fe456ee5be tests: posix: test pthread_cleanup_push() / pop()
Add a test for pthread_cleanup_push() and
pthread_cleanup_pop().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-29 10:08:44 +01:00
Christopher Friedt
fb695c42fb posix: pthread: implement pthread_cleanup_push() / pop()
pthread_cleanup_push() and pthread_cleanup_pop() are required
by the POSIX_THREADS_BASE Option Group as detailed in Section
E.1 of IEEE-1003.1-2017.

The POSIX_THREADS_BASE Option Group is required for PSE51,
PSE52, PSE53, and PSE54 conformance, and is otherwise mandatory
for any POSIX conforming system as per Section A.2.1.3 of
IEEE-1003-1.2017.

In this change, we require the addition of a dedicated
pthread_key_t that will not be available for applilcation usage.

Rather than including that as part of
CONFIG_MAX_PTHREAD_KEY_COUNT, we increase the storage by 1 in
order to be least invasive from the application perspective.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-29 10:08:44 +01:00
Lukasz Majewski
f4a039e218 drivers: net: lan865x: Add support for setting T1S PLCA configuration
This commit provides support for changing PLCA parameters stored in
lan865x_config_plca structure.

After values are updated, the LAN865x needs to be reset and then
configured with new values.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-29 10:06:30 +01:00
Lukasz Majewski
25addd0984 net: ethernet: Add support for setting T1S PLCA parameters
The Zephyr's core ethernet code had to be adjusted to support setting T1S
PLCA parameters from user Zephyr programs.

Such approach allows more flexibility, as T1S network configuration;
especially PLCA node numbers, can be assigned not only via device tree
at compile time. For example user can read them from EEPROM and then
configure the network accordingly.

For now - the union in struct ethernet_t1s_param only consists of plca
structure. This can change in the future, when other T1S OA parameters -
like Receive/Transmit Cut-Through Enable (bits RXCTE/TXCTE in OA_CONFIG0
register) are made adjustable from user program.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-29 10:06:30 +01:00
Lukasz Majewski
dd5027067a drivers: net: lan865x: Disable protected transmission mode before reset
The LAN865x device after HW reset supports only the non-protected control
transmission mode. When it is reset alone - without resetting already
configured HOST system - one must assure that in HOST's OA TC6 driver
the protection SPI transmission support is disabled.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-29 10:06:30 +01:00
Lukasz Majewski
5cdf2f0eb7 drivers: net: lan865x: Move reset setup code to dedicated function
The ctx->reset member of struct lan865x_data shall be cleared each time
one wants to reset the LAN8651 device.

Before this change this value was only initialized in the lan865x_init().

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-29 10:06:30 +01:00
Lukasz Majewski
9d8100f43f drivers: net: lan865x: Move PLCA configuration to dedicated structure
This change allows modification of the PLCA configuration in the lan865x
driver.

Values in this structure can be set via device tree as well as modified
by the user program.

Without this change the latter use case would not be possible as the
struct lan865x_config structure is defined as read only and its data
is only provided by device tree.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-29 10:06:30 +01:00
Kyra Lengfeld
07d04b0f40 Bluetooth: Host: build shell power_control_request
(Not to mistake it for the dynamic power control nor the zephyr LL
vendor-specific commands controlling local tx power) this yaml addition
will build the shell code for the LE Power Control Feature API's, acting
as verification.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2023-11-29 09:59:39 +01:00
Kyra Lengfeld
77ab683dc6 Bluetooth: Host: Align return lines of bt shell helper function phy2str
As other helper functions were introduced for the LE Power Control
Request Feature (see CONFIG_BT_TRANSMIT_POWER_CONTROL), it was noticed
that the return statements of switch cases should be on the next line
generally. This will align phy2str with the rest in bt.c.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2023-11-29 09:59:39 +01:00
Kyra Lengfeld
2c9af855bc Bluetooth: Host: Add bt shell functions LE Power Control Request Feature
To use LE commands of Le Power Control Request Feature one must utilize
the BT_TRANSMIT_POWER_CONTROL config.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2023-11-29 09:59:39 +01:00
Kyra Lengfeld
93e5cf6e61 Bluetooth: Host: Add LE Power Control Request Procedure APIs
This commits adds the LE API's for the LE Power Control Request Feature
in Zephyr.

The support of feature is provided with the controller-based feature
selection with BT_CTLR_LE_POWER_CONTROL_SUPPORT and is selectable via
BT_TRANSMIT_POWER_CONTROL.

With the new APIs, the applications will:
get improved reading of local and remote tx power
be aware of changes in remote or local tx power

Defined HCI commands in Core Spec v5.4:
7.8.117 LE Enhanced Read Transmit Power Level command:
improvement to existing local tx power reading.
7.8.118 LE Read Remote Transmit Power Level command:
Remote tx power is read through an event (LE Transmit Power Reporting)
7.8.121 LE Set Transmit Power Reporting Enable command:
Enables local or remote tx power reporting to monitor changes in tx power
7.7.65.33 LE Transmit Power Reporting event

Note: to utilize the Feature fully Nordic-LL-only vendor-specific commands
are needed. These will not be added in RTOS zephyr but instead
implemented in a maintainable way in sdk.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2023-11-29 09:59:39 +01:00
Kyra Lengfeld
56a5901955 Bluetooth: Controller: Add Kconfig for LE Power Control Request Feature
Add the controller Kconfig to use in Zephyr.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2023-11-29 09:59:39 +01:00
Fabio Baltieri
9521371157 ci: twister: store the list of python packages
Add a step to the first twister shard to upload the list of Python
packages used with the build.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-28 19:37:41 -05:00
Benjamin Cabé
6901f6c587 modbus: Document exception codes
Add Doxygen comments for modbus exception codes.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-28 19:32:33 -05:00
Børre A. Opedal Lunde
6c6712d104 doc: timers: correct grammar and typos
Minor grammatical errors and mistyped words were
corrected to improve clarity.

Signed-off-by: Børre A. Opedal Lunde <borre97@live.no>
2023-11-28 17:17:58 -05:00
Dawid Niedzwiecki
04854b2b5e google_dragonclaw: add gpio-hog for unused pins
Configure the unused pin as GPIO_DISCONNECTED for saving the power
consumption with the gpio-hog feature. The STM32 GPIO driver will
configure the pins as analog.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-28 16:53:52 -05:00
Dawid Niedzwiecki
340d42f31d google_dragonclaw: update exposed GPIO ports
Enable gpioc and gpioh devices by default as these ports are
exposed in the UFQFPN48 package.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-28 16:53:52 -05:00
Alberto Escolar Piedras
15b2f7166a tests/bsim/compile: Add option to pass extra cmake arguments
Add an extra optional input to the script which can be used
to pass more options to cmake.
Background: With sysbuild needing to pass extra options is quite
normal. Users would normally want to add options, without necessarily
wanting to change the default cmake_args, so this new options
provides that.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-28 16:45:00 -05:00
Peter Mitsis
91a6af3e8f kernel: mmu: Fix static analysis issue
Instead of performing a set of relative address comparisons using
pointers of type 'uint8_t *', we leverage the existing IN_RANGE()
macro and perform the comparisons with 'uintptr_t'.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-28 16:44:16 -05:00
Declan Snyder
789addb02f boards: mimxrt10xx_evk: Add new enet overlay
Add overlay to show how to use new experimental nxp enet driver

Also make any eth_mcux related kconfigs dependent on eth_mcux in the
boards' defconfigs.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
fa73697735 drivers: eth_nxp_enet: Support PTP
Support PTP functionality in NXP ENET MAC driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
d85171fe6f drivers: ptp_clock: Add NXP ENET PTP Clock Driver
Add Driver for NXP ENET PTP Clock device

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
cc5bd51177 drivers: ptp_clock: Add init priority Kconfig
Add ptp clock driver init priority kconfig

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
39d056b3c3 dts: bindings: Add NXP ENET PTP binding
Add binding for NXP ENET PTP Clock device

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
809e936c5e drivers: clock_control_mcux_ccm: Add ENET PLL clk
Add subsys value for ENET PLL / ENET Ref clk to CCM Driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
c8375659fb soc: nxp: rt10xx: Increase workqueue size for enet
Increase the size of the system workqueue stack if using
nxp ethernet driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
0e935ea180 soc: rt10xx: enable phy clock with new driver
when using either old or new driver for nxp enet,
enable the phy clock

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
fe809c8b24 drivers: ethernet: Add NXP ENET Driver
Add driver for NXP ENET which is a rework of the old
eth_mcux.c driver which had become unmaintainable due to
fundamental problems with the lack of PHY abstraction.

eth_mcux.c and the corresponding compatible nxp,kinetis-ethernet
will be deprecated and this new driver will be supported instead.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
b669d58337 drivers: mdio: Add NXP ENET MDIO driver
Add driver for NXP ENET MDIO functionalities

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
f5bbcf2e48 include: NXP ENET driver include header
Create an include header to be used by NXP ENET drivers.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
57dd852fda dts: bindings: Add NXP ENET bindings
Add bindings for compatibles related to NXP ENET IP.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
5724ce78fc drivers: ethernet: phy: Add KSZ8081 PHY Driver
Add Driver for KSZ8081 Ethernet PHY. The Generic MII Driver
is not sufficient to use for this PHY chip which has special
vendor implemented behaviors.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
e7dac64ce1 dts: bindings: Add binding for KSZ8081 PHY
Add DT Binding for Microchip KSZ8081 PHY

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
7e88ab54e2 dts: bindings: ethernet-controller: Add phy mode
Add a property to the ethernet controller binding
indicating what type of connection the MAC has with
the PHY device.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
4a8d9a1ef3 drivers: clock_control: mcux_ccm: Add ENET clock
Add ENET clock value to the CCM clock decoder
for both RT10XX and RT11XX CCM versions.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Keith Packard
9f703b88f9 tests/log_output: Avoid printf stack overflow with old picolibc
Before picolibc version 1.8.5, the only version of printf available with
long long output support was the version including full support for
floating point numbers and positional parameters. That version uses more
stack space than the limited version causing an overflow.

Increase the ztest stack space by 128 bytes.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-28 15:32:12 -05:00
Peter Mitsis
77abd6f89d tests: Allow thrd test to run on xtensa
On some SMP platforms (such as intel_adsp_ace15_mtpm) it is not
safe to access the stack of a thread that is currently executing
on another CPU. This requires that tests be written such that
objects and data that are shared between threads that may execute
concurrently on different CPUs be placed into memory that is not
a thread's stack.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-28 14:46:15 -05:00
Emilio Benavente
617cb789c3 tests: drivers: spi: spi_loopback: added overlay file for mimxrt1170
Added an overlay file for mimxrt1170_evk_cm33 to test rtio
with the spi_loopback test.
Added mimxrt1170_evk_cm7 to the testcase.yml file

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2023-11-28 12:11:52 -06:00
Emilio Benavente
2f68ad7f89 drivers: spi: spi_mcux_lpspi: Added RTIO Support for LPSPI
Provided APIs to support RTIO with the LPSPI driver.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2023-11-28 12:11:52 -06:00
Emilio Benavente
776519075b drivers: spi: Kconfig.mcux_lpspi: Added RTIO Kconfig for lpspi
Added Kconfig that switches RTIO Support in the LPSPI driver.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2023-11-28 12:11:52 -06:00
Hake Huang
163e9ba9a3 samples: disable usermode for ip_k66f
in ip_k66f platfrom, we using rtt as debug port,
which is conflicted with usermode. see below:

warning: LOG_PRINTK
 (defined at subsys/logging/Kconfig.processing:8)
 has direct dependencies !USERSPACE && !LOG_MODE_MINIMAL
 && LOG with value n, but is currently being y-selected
 by the following symbols:
 - LOG_BACKEND_RTT_FORCE_PRINTK
   (defined at subsys/logging/backends/Kconfig.rtt:103),
   with value y, direct dependencies LOG_BACKEND_RTT &&
   !LOG_FRONTEND_ONLY && !LOG_MODE_MINIMAL && LOG (value: y),
   and select condition LOG_BACKEND_RTT &&
   !LOG_FRONTEND_ONLY && !LOG_MODE_MINIMAL && LOG (value: y)

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-11-28 11:59:00 -06:00
Benjamin Perseghetti
a157898098 mr_canhubk3: change SPI and WD_FS26 init priority
Changes the FS26 watchdog init priority to avoid boot-looping.
Requires SPI priority to be changed as well.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-11-28 11:54:50 -06:00
Fabio Baltieri
0670609bc6 tests: console_switching: drop CONFIG_ZTEST_NEW_API
The option is long gone, PR was sitting for a long time so this got
merged and now it's failing compliance check.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-28 14:55:57 +00:00
Christopher Friedt
b13ec704d0 tests: drivers: console: add console_switching test
This testsuite exercises a number of things. Namely

  * `mutable` devices (i.e. those backed in SRAM)
  * `uart_emul` support for interrupt mode (receive only)
  * `devmux` capabilities of multiplexing several uarts
  * switching the system console between several uart backends

Testing Done:
```
west build -p auto -b qemu_riscv64 -t run \
  tests/drivers/console_switching/
...
*** Booting Zephyr OS build zephyr-v3.4.0-3988-gaaefb2d764ea ***
Running TESTSUITE console_switching
================================================================
START - test_read
read "Hello, uart_emul0!" from uart_emul0
read "Hello, uart_emul1!" from uart_emul1
read "Hello, uart_emul0!" from uart_emul0
read "Hello, uart_emul1!" from uart_emul1
 PASS - test_read in 0.005 seconds
================================================================
START - test_write
wrote "Hello, uart_emul0!" to uart_emul0
wrote "Hello, uart_emul1!" to uart_emul1
wrote "Hello, uart_emul0!" to uart_emul0
wrote "Hello, uart_emul1!" to uart_emul1
 PASS - test_write in 0.003 seconds
================================================================
TESTSUITE console_switching succeeded

------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [console_switching]: pass = 2, fail = 0,...
 - PASS - [console_switching.test_read] duration = 0.005 seconds
 - PASS - [console_switching.test_write] duration = 0.003 seconds

------ TESTSUITE SUMMARY END ------

===============================================================
PROJECT EXECUTION SUCCESSFUL
```

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-28 15:35:39 +01:00
Christopher Friedt
37e19451ec drivers: misc: devmux: a device multiplexer pseudo-device
The Device Multiplexer (devmux) is a pseudo-device that can
be used to select between multiple included sub-devices.

It is experimental, but its current use is in system
remediation. Take for example, the scenario where the
system console and log subsystem both have the uart backend
enabled. The case may arise, where the chosen backing uart
could be an abstraction of another very high-bandwidth bus
- such as a PCIe BAR, a UDP socket, or even even just memory.

If the "service" (for lack of a better term) that backs this
abstract "uart" experiences an error, it is of critical
importance to be able to switch the system console, uart log
backend, or whatever to another uart (semi-transparently) in
order to bring up a shell, continue to view system logs, or
even just support user console I/O.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-28 15:35:39 +01:00
Christopher Friedt
afc59112a9 device: support for mutable devices
Add support for mutable devices. Mutable devices are those which
can be modified after declaration, in-place, in kernel mode.

In order for a device to be mutable, the following must be true

  * `CONFIG_DEVICE_MUTABLE` must be y-selected
  * the Devicetree bindings for the device must include
    `mutable.yaml`
  * the Devicetree node must include the `zephyr,mutable` property

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-28 15:35:39 +01:00
Christopher Friedt
28dccf236b tests: misc: iterable_sections: add named alternate tests
Add tests for the newly added
STRUCT_SECTION_ITERABLE_NAMED_ALTERNATE(). This type of
section should be iterated with
STRUCT_SECTION_FOREACH_ALTERNATE().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-28 15:35:39 +01:00
Christopher Friedt
903f6281ac iterable_sections: define iterable_named_alternate variant
Add STRUCT_SECTION_ITERABLE_NAMED_ALTERNATE() for structures
ordered by name in a custom section.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-28 15:35:39 +01:00
Robert Lubos
afd2e9561c net: tls_credentials: Add missing include dir for PSA API
Protected credential storage makes use of the PSA API, therefore it must
be present in the library include path. This was missed during the
recent CMakeLists.txt rework of this library.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-28 15:35:00 +01:00
Troels Nilsson
f0032a369d Bluetooth: L2CAP: Fix leaking tx metadata
Fix l2cap error handling generally not properly disposing of tx buffers for
enhanced channels; Any callbacks have to be called and the
l2cap_tx_meta_data has to be freed

Signed-off-by: Troels Nilsson <trnn@demant.com>
2023-11-28 15:34:51 +01:00
Troels Nilsson
b782b11f16 Bluetooth: L2CAP: l2cap_create_le_sig_pdu() no longer uses buf
The l2cap_create_le_sig_pdu function no longer uses the buf
argument; Remove it from the function

Signed-off-by: Troels Nilsson <trnn@demant.com>
2023-11-28 15:34:51 +01:00
Olexander Grin
b85f1cc246 dts: boards: nucleo_f446re: add support pwm led to nucleo_f446re board
add support fade_led, blinky_pwm sample to nucleo_f446re board

Signed-off-by: Olexander Grin <alexander.grin.dev@gmail.com>
2023-11-28 15:34:21 +01:00
Chen Xingyu
3f7e73416d soc: riscv: privileged: efinix-sapphire: Enable CONFIG_RISCV_HAS_CPU_IDLE
In an earlier commit, the riscv-privileged level implementation of
`arch_cpu_idle()` is not included unless `CONFIG_RISCV_HAS_CPU_IDLE` is
enabled.

This commit ensures the option is enabled on all the existing CPUs, thereby
maintaining the existing behavior.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-11-28 15:34:06 +01:00
Chen Xingyu
34d2c4d6b2 soc: riscv: privileged: Conditionally override arch_cpu_idle()
The current configuration comes with a common implementation of
`arch_cpu_idle()` for the whole riscv-privileged family, utilizing the
`WFI` instruction to place the CPU into a light sleep state, with the
assumption that it will be awakened later by interrupts such as SYSTICK.
However, this approach is not always effective, particularly in scenarios
where the SYSTICK is not a valid wake source.

This commit uses `CONFIG_RISCV_HAS_CPU_IDLE` as the build condition of the
family-level `idle.c`, allowing CPUs that do not enable this option to
fallback to a generic arch-level implementation in
`arch/riscv/core/cpu_idle.c`.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-11-28 15:34:06 +01:00
Bartosz Bilas
fcee384aad zbus: remove superflous default n from runtime observers
By default, it is set to n, so remove that line.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-28 15:33:42 +01:00
Bartosz Bilas
ce812c1b25 zbus: rework buffer allocation Kconfig options
Add a name for the Kconfig choice symbol
indicating the Zbus subscriber buffer allocation
and adjust the name of the existing choices.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-28 15:33:42 +01:00
Fabio Baltieri
407e9a4c74 test: add a gnss build_all test
Add a generic test for GNSS devices.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-28 15:33:28 +01:00
Fabio Baltieri
d14066b061 drivers: gnss: add a generic NMEA GNSS driver
Add a generic NMEA GNSS driver.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-28 15:33:28 +01:00
Marek Pieta
00d8263a93 soc: arm: nrf52: Configurable EGU instance for anomaly 109 workaround
Change makes EGU instance used for anomaly 109 workaround configurable.
The default EGU instance (5) may be used for other purpose.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2023-11-28 14:23:49 +00:00
Diego Elio Pettenò
c0cb995bce ev11l78a: minimize memory usage in the default config.
The ATSAMD20E16 used in this board only has 8KiB SRAM, so the defaults
are not really suitable for anything close to useful, particularly the
sink sample that most closely resembles the original demo for the board.

This should also allow more tests not to be skipped for this board as
otherwise they overflow RAM usage.

Signed-off-by: Diego Elio Pettenò <flameeyes@meta.com>
2023-11-28 14:09:06 +00:00
Benjamin Perseghetti
0fa204b9fd drivers: net: phy: add tja1103
Adds the tja1103 enet phy for setting phy options on the mr_canhubk3.

Co-authored-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-11-28 08:07:44 -06:00
Manuel Argüelles
d2ea187228 drivers: mdio: add support for NXP S32 GMAC
MDIO controller is part of GMAC and it requires GMAC ethernet driver to
initialize first because it will reset the whole GMAC hw block during
initialization. Both C22 and C45 APIs are supported.

Co-authored-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-11-28 08:07:44 -06:00
Pavel Vasilyev
161aadd590 Bluetooth: Mesh: Return immediately if labels not supported
This avoid unnecessary triggering of settings work.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-28 14:48:29 +01:00
Pavel Vasilyev
362924a693 Bluetooth: Mesh: Use ATOMIC_DEFINE instead of atomic_t
atomic_*_bit functions work with atomic_t arg as with array, therefore
the atomic variable should be declared using ATOMIC_DEFINE.

Coverity-CID: 333358
Fixes #65588

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-28 14:48:29 +01:00
Anas Nashif
0d535010cd twister: tests: adapt test for new option
mock build_dir of instance.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-28 14:48:03 +01:00
Anas Nashif
d3af185acd twister: add --aggressive-no-clean option
Useful option during development and when applying smaller change to the
code and verifying changes using tests. This works fine as long as no
dependencies or major changes are done, i.e. when editing few files and
in a subsystem. Use with caution and use on your own risk :-)

When building multiple tests, this provide significant boost, up to 300%
faster than when rebuilding everything from scratch or when re-running
cmake every single time.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-28 14:48:03 +01:00
Aaron Ye
c2ddfa2bd2 MAINTAINERS: Add more collaborators for Ambiq platforms.
Add Ambiq engineers responsible for maintaining Zephyr on Ambiq platforms.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-11-28 14:47:48 +01:00
Jun Lin
91fdef0783 soc: npcx: add support for npcx9mfp
Add new SoC npcx9mfp support for npcx9 series.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-11-28 09:13:23 +00:00
Peter Mitsis
a51bd53cef tests: Update posix common test for Xtensa
Updates the posix common test so that it will pass on Xtensa SMP
boards such as intel_adsp_ace15_mtpm. This involves ensuring that
a newly created thread does not attempt access/modify the stack of
a thread that is currently running on a different CPU.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-27 20:10:51 -05:00
Christopher Friedt
5cd2e17424 posix: pthread: fix warning about uninitialized variable
Initialize the variable to zero. I don't think there is any way
out of this function without it being initialized, so IMHO it's
a false positive.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-27 19:57:42 -05:00
Balsundar Ponnusamy
c2dc103101 CODEOWNERS: update codeowner for watchdog
adding code owner for snps designware watchdog

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
1e7b75d047 samples: drivers: watchdog: add sample application support
add agilex and agilex5 board support in watchdog sample application

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
5df70f8a63 dts: arm64: intel: intel_socfpga: Adding nodes for watchdog
add dts support for watchdog to accomodate watchdog driver bringup on
aglex and agilex5

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
ffffab6ba6 drivers: watchdog: wdt_dw: resetting CPU or SoC is not configurable
specific to platform, watchdog reset line can be connected either to
CPU, SOC or none of the entity. These resets cannot be configured from the
application. So added a warning message when application configures this
option

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
f0330892b6 drivers: watchdog: wdt_dw: add watchdog disable at boot and pause by debug
added support for watchdog enable/disable at boot

Pausing watchdog timer when CPU is halted by the debugger and
pausing watchdog timer when CPU is in sleep state is not
configurable through application, so added warning log with return success

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
ba3a71eda7 drivers: watchdog: wdt_dw: support for resetting watchdog
add support for resetting watchdog IP through reset manager driver

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
63b666ac0a drivers: watchdog: wdt_dw: get clock rate from clock manager
added support for getting clock rate at runtime from clock manager

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
a89768cec4 drivers: watchdog: wdt_dw: bug fix and modify conditional macro check
clearing interrupt flag will not assert the system reset as per IP spec,
so interrupt flag should not be cleared in isr

use #if macro check directly with DT_ANY_INST_HAS_PROP_STATUS_OKAY for
interrupt

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Balsundar Ponnusamy
e971363648 drivers: watchdog: wdt_dw: use mmio address in RAM
mmu enabled platform needs mapping of physical address ranges to
the virtual address at runtime. So using DEVICE_MMIO_* helper macros to
map physical csr address space to RAM runtime if MMU is enabled

Signed-off-by: Balsundar Ponnusamy <balsundar.ponnusamy@intel.com>
2023-11-27 20:00:29 +01:00
Sylvio Alves
ca346ba216 soc: esp32: call reset cause reason init
Reset cause reason was not initalized properly, making
hwinfo feature not to work as expected.

Fixes #65634

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-11-27 19:59:45 +01:00
Arnaud MAZIN
d3ffe6f404 driver: display: sdl: Introduce de CLI option display_zoom_pct
This option let specify at startup the zoom factor to apply on the
SDL window. See CONFIG_SDL_DISPLAY_ZOOM_PCT.

Signed-off-by: Arnaud MAZIN <arnaud.mazin@gmail.com>
2023-11-27 19:59:38 +01:00
Pieter De Gendt
473cc03c38 net: ip: icmp: Cleanup packet on failed priority check
A network memory leak would occur if the priority check fails.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-27 19:59:26 +01:00
Vinayak Kariappa Chettimada
411731f778 tests: bsim: Bluetooth: Enable nrf5340bsim CIS ACL group test
Enable testing CIS ACL group test on nrf5340bsim.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-27 19:59:13 +01:00
Maciej Baczmanski
c2f1ff7f5f net: openthread: upmerge to 75694d2
Regular OpenThread upmerge to commit `75694d2`.

Move CONFIG_OPENTHREAD_PLATFORM_KEY_REFERENCES_ENABLE
from header file to Kconfig.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2023-11-27 19:59:04 +01:00
Dat Nguyen Duy
513ba04168 soc: nxp_s32: cmsis rtos v2 adaptation
There are symbols are both defined by the NXP S32 HAL and
the CMSIS RTOS V2 wrapper, to avoid interference between
them, redefine the symbols under an enum.

Also this is may a common issue for all NXP S32 platforms,
move to common place to be reused

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-11-27 19:58:57 +01:00
Jukka Rissanen
1961adfb96 net: socket: Return ENOTSUP for unknown socket type in recvfrom()
If we for some reason are supplied unsupported socket type in
recvfrom(), then return ENOTSUP error to the caller instead of
silently accept it by returning 0.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
5539a47eb6 tests: net: socket: Add recv pktinfo ancillary tests for recvmsg
Make sure recvmsg() is able to return IPv4 IP_PKTINFO and
IPv6 IPV6_RECVPKTINFO ancillary data to the caller.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
5488e76bb2 net: socket: Add support for filling receive pktinfo data
If user has set either IP_PKTINFO (for IPv4) or
IPV6_RECVPKTINFO (for IPv6) socket options, then the system
will return relevant information in recvmsg() ancillary data.

Fixes #36415

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
80704bb361 net: socket: Add support for setting pktinfo options
Add IP_PKTINFO or IPV6_RECVPKTINFO BSD socket options that
can be used to get extra information of received data in
the ancillary data in recvmsg() call.

For IPV6_RECVPKTINFO see RFC 3542 for details.
For IP_PKTINFO see Linux ip(7) manual page for details.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
c3acd56e27 net: context: Add support for setting receive pktinfo option
Add low level support for setting IP_PKTINFO or IPV6_RECVPKTINFO
socket options. The support is disabled by default.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
760c2f2949 net: sockets: Remove extra check from sendmsg()
There was double "if (status < 0)" check in sendmsg(),
remove the extra check.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
bb880c6457 tests: net: udp: Make receive timeout shorter
No need to wait 2.5 seconds for the test to pass, 400ms wait
is enough.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
34929a57e0 tests: net: socket: Add TCP tests for recvmsg()
Make sure recvmsg() works as expected for TCP data.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
0b71043f6a tests: net: socket: Add UDP tests for recvmsg()
Make sure recvmsg() works as expected for UDP data.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Jukka Rissanen
4b365fab45 net: sockets: Add recvmsg() implementation
Add support for recvmsg() function which can return data
in msghdr struct (iovec).

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-27 19:58:47 +01:00
Laurentiu Mihalcea
e887b3e452 include: drivers: dai: Align DAI direction with SOF direction
Currently, DAI_DIR_TX and DAI_DIR_RX have different values from
SOF_IPC_STREAM_PLAYBACK and SOF_IPC_STREAM_CAPTURE. Since SOF
performs no conversion from one encoding to another this may lead
DAI operations performed on the wrong directions.

Since it's much easier to just change the values for DAI_DIR_TX
and DAI_DIR_RX rather than try to perform a conversion from
one format to another on SOF side, this commit changes DAI_DIR_TX
to 0 (equal to SOF_IPC_STREAM_PLAYBACK) and DAI_DIR_RX to 1
(equal to SOF_IPC_STREAM_CAPTURE).

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-27 19:58:38 +01:00
Dawid Niedzwiecki
733bddb32e timer: cortex_m_systick: idle timer: handle no sleep case
SysTick usually has higher measurement resolution than the IDLE timer.
When the time in low power mode is very short or 0, it is possible that
SysTick usually has measures more time since the sys_clock_set_timeout
than the idle timer.

Handle that case to keep uptime correct.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-27 19:58:23 +01:00
Dawid Niedzwiecki
4104f54987 timer: cortex_m_systick: handle idle timer overflow
The idle timer has its max value and can overflow. We measure time passed
since the sys_clock_set_timeout call. Take possibility of the overflow
into account.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-27 19:58:23 +01:00
Dawid Niedzwiecki
2ae09993ca timer: cortex_m_systick: handle cycle count overflow with idle timer
When the idle timer is in use, we calculate number of cycles passed
since the sys_clock_set_timeout call.

The cycle counter can overflow easily, when the counter is 32-bit wide.
Handle that case.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-27 19:58:23 +01:00
Lukasz Majewski
b0b57dac72 drivers: net: tc6: Provide separate function to check IC status
The code to handle OA TC6 compliant device's status is generic and can
be moved to device agnostic driver (oa_tc6.c).

Moreover, the original code has been augmented with LOG_WRN() messages.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
8df4482f4c drivers: net: lan865x: Fix initialization of semaphores
This change fixes semaphores' definition. To be more specific - the
limit was wrongly set to UINT_MAX. With those changes - the 'tx_rx_sem'
now assures that only one execution path (i.e. receiving or sending
data) is executed at a time.

Moreover, the change in 'int_sem' now assures that this semaphore limit,
when reached, is saturated.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
ecfe5f1167 drivers: net: lan865x: Fix use of RX/TX semaphore in read chunks function
This commit ensures that whole receive function (called from interrupt
handler) is protected by the RX/TX semaphore.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
c2f5a9d67c drivers: net: lan865x: Do not read chunks if protected read error detected
The oa_tc6_update_buf_info() function returns error code when read
(protected or not) of OA_BUFSTS has been detected.

In that situation - one shall re-start the interrupt thread handling
(and hence correctly re-read value of this register) than use old
(stalled) RCA(RBA) data to read chunks (which may result in lockup).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
aa733d789f drivers: net: tc6: Avoid sending packet when no data provided
This commit adds check if the packet to be sent has any data.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
cceeba3f42 drivers: net: tc6: Do not send extra last chunk when not required
Current code sends extra, last chunk, when packet's size is a multiple
of chunk size (i.e. 64 bytes).

This patch fixes this issue by checking this corner case - i.e. if
the modulo division equals to zero.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
59980d5c98 drivers: net: tc6: Saturate RCA and RBA when read directly from OA_BUFSTS
The RCA and RBA fields in OA_BUFSTS register are stored with 8 bits each.

On the other hand, when one receives those values in footer, the value
is saturated to 5 bits due to 32 bit size constrain of the footer itself.

To avoid any mismatches - the values read from OA_BUFSTS are saturated
as well.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
d378e64508 drivers: net: Force LAN865x to start received frames at first chunk word
Zephyr's network stack has issues with network IP header split across
fragments.
To alleviate this problem, the frame would be now aligned to first byte
of the chunk. This would ensure that the header is stored at one network
buffer fragment (as we explicitly set its size to 64B).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Lukasz Majewski
6c8c0f57f9 drivers: net: tc6: Add read,modify and write operation on control regs
The OA TC6 driver requires some bits manipulations in control registers.
Up till now - it has been implemented as an explicit set of read and write
registers' operations.
One good example would be the oa_tc6_set_protected_ctrl() implementation,
which used such scheme.

This patch brings dedicated function for this operation; oa_tc6_reg_rmw().
The aforementioned oa_tc6_set_protected_ctrl() function now uses it
internally.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-27 19:58:13 +01:00
Andy Sinclair
a757c26e50 samples: shields: npm1300_ek: Fix display of negative temperature
Update temperature printing to handle negative values.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-27 19:57:57 +01:00
Andy Sinclair
f3447c0c1e samples: shields: npm1300_ek: Added missing shell configs
Sample readme states that shell inteface is supported
for evaluation.  Added missing GPIO_SHELL and SENSOR_SHELL
to Kconfig.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-27 19:57:57 +01:00
Andy Sinclair
39564cdf20 boards: shields: npm1300_ek: Settings moved to board overlay
The existing npm1300_ek shield overlay has several example
voltage and gpio settings.  For many use cases these are
invalid and need to be overridden, or removed with
delete-property.

These example configurations have been moved to a board
specific overlay.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-27 19:57:57 +01:00
Flavio Ceolin
09e17c17b1 mem_manage: Remove unnecessary header
"zephyr/kernel/mm.h" is not needed in "zephyr/sys/mem_manage.h".

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-27 19:57:46 +01:00
Flavio Ceolin
a66667caba kernel: mm: Include missing header
mm.h uses sys_mm_is_virt_addr_in_range() that is declared in
sys/mem_manage.h.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-27 19:57:46 +01:00
Flavio Ceolin
683accaef0 xtensa: mmu: Include missing header
This file uses inline functions declared in cache.h and consequently
has to include that file.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-27 19:57:46 +01:00
Carlo Caione
9025789064 tests: Add test for the memory allocator
Add a new test for the attribute-based memory allocator.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-11-27 19:56:48 +01:00
Carlo Caione
06571fc87b doc: Add documentation for the new allocator
Add new documentation for the new attribute-based memory allocator.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-11-27 19:56:48 +01:00
Carlo Caione
09fd6b6ea5 mem_mgmt: Add a memory attributes memory allocator
Using this new library it is now possible to leverage the memory
attribute property 'zephyr,memory-attr' to define and create a set of
memory heaps from which the user can allocate memory from with certain
attributes / capabilities.

When the CONFIG_MEM_ATTR_HEAP option is set, every region marked with
one of the memory attributes listed in
include/zephyr/dt-bindings/memory-attr/memory-attr-sw.h is added to a
pool of memory heaps used for dynamic allocation of memory buffers with
certain attributes.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-11-27 19:56:48 +01:00
Seppo Takalo
a8d56c4f1f net: scripts: Use native_sim instead of native_posix
Sample tests should also be using native_sim board.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-27 19:55:30 +01:00
Alberto Escolar Piedras
7b1813e9dc tests/drivers/build_all/*: Switch to native_sim
Enable all these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform
And switch native_posix overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
fd095c36b9 tests/lib/gui/lvgl: Enable for native_sim
Enable this test which runs in native_posix_64 in
native_sim(_64), and set default test platform
to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
b51f0ee4cd tests/subsys/testsuite/fff_fake_contexts: Enable for native_sim
Enable this test which runs in native_posix_64 in native_sim,
Switch from native_posix_64 to native_sim_64 as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
f2283df0ef tests/drivers/clock_control/fixed_clock: Enable for native_sim_64
Switch from native_posix_64 to native_sim_64 as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
e6f6d60cd9 tests/drivers/udc: Switch to native_sim_64
Enable this test which run in native_posix_64 in native_sim_64,
And switch native_posix_64 overlays to native_sim_64.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
548739cf8c tests/cmake/*: Switch to native_sim
Switch from native_posix to native_sim as test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
31ec1d044b tests/misc/test_build: Switch integration_platform to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
161b236124 tests/misc/kconfigoptions: Switch to native_sim
Switch from native_posix to native_sim as test platform
and switch overlay to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
6568825174 tests/crypto/*: Switch from native_posix to native_sim
Enable these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform
For drivers.rand32.random_psa_crypto, filter the posix
arch to save some CI time, as TFM is not supported in this
architecture all together.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
70e0d1e04e tests/lib/devicetree: Enable for native_sim
Enable these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
18c71868a5 tests/lib/mpsc_pbuf: Switch to native_sim
Enable this test which runs in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
5f4bd36b98 tests/boards/native*: Moved to native_sim
Moved folder to tests/boards/native_sim from native_posix
(including updating the MAINTAINERS file)
And enable all these tests for native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
3d406a7a56 native_simulator: Get latest from upstream
Align with native_simulator's upstream main
ae241af736d06874ec02deb9aacb79918d745aba

Which includes:
* ae241af native timer_model: Allow calling into get_host_us_time

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
7332eb2ea7 board native_sim/posix: Provide NEVER/NSI_NEVER definitions
Some native_posix specific apps/tests use the macro NEVER
provided it also for native_sim until all have switched
to the new NSI_NEVER.

And ensure NSI_NEVER is also avaiable when building
for native_posix to ease the transition.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
2231c3ab97 tests/subsys/usb/*: Enable for native_sim
Enable all these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform
And switch native_posix overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
1d64f1b397 tests/subsys/openthread: Enable for native_sim
Enable these test which run in native_posix in native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
e628a5b9d0 tests/subsys/logging/*: Enable for native_sim
For all tests which were enabled for native_posix
enable them also for native_sim.
For those with native_posix as integration_platform,
set native_sim instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
aa683e2a8b tests/subsys/logging/log_backend_fs: Simplify and enable for native_sim
* Simplify the test definition by using an EXTRA DTC overlay
  so we don't need one test per board
* Move native_posix overlays to native_sim
* Switch the default integration platform to native_sim
  from native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
bf937b0d92 tests/subsys/mgmt/mcumgr/*: Switch to native_sim
Enable all these tests which run in native_posix in native_sim,
For those with native_posix as default test platform,
which it to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
bb090128f6 tests/subsys/mgmt/ec_host_cmd/*: Enable for native_sim
Enable these test which run in native_posix in native_sim,
And set native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
c47702cb7e tests/subsys/shell/shell_flash: Enable for native_sim
Enable this test which runs in native_posix in native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
617616888f tests/subsys/bindesc: Enable for native_sim
Enable these tests which run in native_posix also in native_sim,
And add native_sim as default test platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
8d6421df04 tests/subsys/emul: Enable for native_sim
Enable this test which runs in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Benjamin Cabé
0bd03239ee MAINTAINERS: clean up POSIX area
Ensure documentation related to POSIX portability matches POSIX area.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-27 09:23:07 -06:00
Benjamin Cabé
c1656a4486 doc: redirects: fix redirect for POSIX portability homepage
Add a proper redirect for pre-3.5.99 POSIX portabiltity home page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-27 09:23:07 -06:00
Maciej Baczmanski
38118c24a3 MAINTAINERS: add myself as collaborator for openthread related repos
Add maciejbaczmanski as collaborator for openthread repos.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2023-11-27 09:20:03 -06:00
cyliang tw
c07156ef3c tests: drivers: i2c: i2c_target_api: support numaker_pfm_m467
Add support for Nuvoton numaker board numaker_pfm_m467.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2023-11-27 14:34:15 +00:00
cyliang tw
dfff1107b8 drivers: i2c: support for Nuvoton numaker series
Add Nuvoton numaker series I2C controller feature.
Support dual role and at most one slave at one time

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2023-11-27 14:34:15 +00:00
Felipe Neves
a97e30a829 boards: arm: arduino_opta_m4: adds initial support
to the arduino_opta PLC on the M4 core.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2023-11-27 14:10:22 +00:00
Christopher Friedt
5bfed9ef6b doc: posix; mark pthread_getconcurrency() supported
Mark pthread_getconcurrency() and pthread_setconcurrency()
as supported in documentation.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-27 08:26:31 -05:00
Christopher Friedt
caf72569a9 tests: posix: common: test pthread_getconcurrency()
Add functional tests for pthread_getconcurrency() and
pthread_setconcurrency().

Note: the specification explicitly says

> an implementation can always ignore any calls to
> pthread_setconcurrency() and return a constant for
> pthread_getconcurrency()

The implementation and tests could be up for revision at a future
time when optimizations are considered and there is a better
system in placeo for documenting POSIX options and deviations.

Any such optimizations should be explicitly controlled via
Kconfig.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-27 08:26:31 -05:00
Christopher Friedt
c0f2038c26 tests: posix: headers: check for pthread_getconcurrency()
Check for the existence of pthread_getconcurrency() and
pthread_setconcurrency().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-27 08:26:31 -05:00
Christopher Friedt
e49ae776cc posix: pthread: implement pthread_getconcurrency()
Zephyr must support all functionality of the XSI_THREADS_EXT
subprofiling option group in order to claim it supports that
subprofiling option group.

The XSI_THREADS_EXT option group is critical to be able to
run POSIX threads with statically allocated thread stacks, which
has been a feature of the implementation since it was initially
added.

The pthread_getconcurrency() and pthread_setconcurrency()
functions are the only remaining, unimplemented functions of
the XSI_THREADS_EXT option group.

Implement pthread_getconcurrency() and pthread_setconcurrency()
via the more "posixly correct" interpretation of the
specification.

I.e. as the pthread_t:k_thread relationship is 1:1 and not M:N,
Zephyr does not support multiplexing of user threads on top of
schedulable kernel entities (i.e. "user threads" are directly
mapped to native threads, just like linuxthreads or NPTL are in
Linux).

For that reason, to be "posixly correct", we should save the
provided value via pthread_setconcurrency(), in the absense of
errors, and also return that same value back via
pthread_getconcurrency(), even though that serves zero purpose
in Zephyr for the foreseeable future.

Note: the specification also states
"an implementation can always ignore any calls to
pthread_setconcurrency() and return a constant for
pthread_getconcurrency()."

For that reason, the implementation may be revisited at a later
time when when considering optimizations and when there is a
better system in place for documenting deviations.

Any such optimization should be explicitly controlled via
Kconfig.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-27 08:26:31 -05:00
Yonatan Schachter
e3520c6813 dts: rp2040: Fix num-irq-priority-bits
The number of IRQ priority bits was incorrectly set to 3 instead
of 2, which is the correct number for Cortex-M0+.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-11-27 12:22:47 +00:00
Bartosz Bilas
0b76b4f016 drivers: mdio: esp32: add dependency of node status
MDIO driver should be available and enabled only when
mdio node has status okay.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-27 12:22:18 +00:00
Bartosz Bilas
08a4829682 drivers: ethernet: esp32: fix Kconfig
Add the missing dependency of the node status value
and enable the driver by default when they are met.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-27 12:22:02 +00:00
Andrei Emeltchenko
db1c21bfd7 drivers: sensor: adxl367: Add missing breaks
Fix missing breaks errors.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-27 12:21:42 +00:00
Kacper Dalach
82d7535b19 dts: st: Add cpu node labels
After porting from h5 to f7 i noticed that not all mcus have
cpu node labels. Added cpu0 node labels to all stm32 dts.

Signed-off-by: Kacper Dalach <dalachowsky@gmail.com>
2023-11-27 12:21:19 +00:00
Alberto Escolar Piedras
8f78b7148c samples/bluetooth: sysbuild: Add Kconfig setting for HCI IPC inclusion
Introduce NET_CORE_IMAGE_HCI_IPC Kconfig setting to control inclusion
of HCI IPC image when building through sysbuild.

This allows users with custom netcore applications to avoid inclusion
of the default HCI IPC image.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 12:19:56 +00:00
Johan Hedberg
084b8e4f97 x86: Only enable EFI_CONSOLE if UART console is not enabled
Most x86 build configurations enable the UART console. Since EFI console
has also defaulted to enabled, this means that the EFI covers the early
part of the boot until UART takes over.

This is all fine, except that enabling EFI console has the effect of
disabling PRINTK_SYNC. This in turn has the effect of causing garbled
output over UART, which has led to several bug reports on x86 platforms
(in particular on up_squared).

Since EFI console should really only be used for early platform bringup
and debugging purposes, it's not really ideal to unconditionally have it
enabled by default. Instead, change the default enabling to be
conditional to the UART console being disabled.

Fixes #54861
Fixes #55071

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-27 12:19:41 +00:00
Alberto Escolar Piedras
9aafc832a2 tests/misc/check_init_priorities: Fix for native_sim
Fix this test for the native_simulator,
and add it as a default test target.

Also be a bit clearer in stdout about the test having
passed or not.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 12:19:03 +00:00
Alberto Escolar Piedras
9bb708eb7d init_priorities: Fix for native_simulator based targets
Fix the init_prioties related cmake targets so they also
work with native_simulator based build targets.
Mostly this consists of pointing to the right file
(final build result instead of intermediate elf library)
and setting the dependency to that final build result.

Note that for the native_simulator based targets
the init priorities check can only be run on build
if we are building the final image (not just a partial
prelinked library),
and we are not assembling several images together
into one executable.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 12:19:03 +00:00
Francois Ramu
c3940cb4f7 Revert "dts: arm: stm32u5 family has a x2 factor on its LPTIM clock"
This reverts commit 823b0e6016.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-27 12:18:41 +00:00
Francois Ramu
f1af7f13eb drivers: timer: stm32 lptimer revert static-prescaler
Revert "drivers: timer: lptim timer clock on stm32u5 has a prescaler"
This reverts commit c14670abea.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-27 12:18:41 +00:00
Francois Ramu
8146fe4f66 dts: bindings: stm32 lptimer has no divider on the clock source freq
Revert "dts: bindings: LPtimer of stm32 has a x2 factor on its clock"
The stm32u5 lptim clock source has no prescaler to divide the
the LPTIM input clock frequency : no property required.
This reverts commit 572b286010.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-27 12:18:41 +00:00
Bjarki Arge Andreasen
bec7789862 tests: modem: backend: uart: Add fixture to test suite
Add fixture to test suite to allow for and signal that the test
must be run on real hardware.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2023-11-27 12:18:19 +00:00
Yong Cong Sin
7ed88f169b drivers: intc: stm32: fix a minor copy paste error
The description of `STM32_EXTI_TRIG_FALLING` got copied into
the `STM32_EXTI_TRIG_BOTH` as well, fix that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-27 12:18:08 +00:00
Alberto Escolar Piedras
cd5f88e8d3 boards native_posix/sim: Define native_posix DTS from native_sim's
Get the native_posix DTS from native_sim instead of
the oposite. As native_sim is now the default test platform.

Note this commit is practically just swapping files.
There is no changes to the DTS content, beyond
changing the board name.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 12:17:57 +00:00
Benjamin Cabé
e4993fcc5b drivers: spi: doc: Doxygen cleanup
- Fixed a few improperly formatted struct
- Marked some mask definitions as internal when macros abstracting them
 out already exist
- Fixed a few code blocks to add proper syntax highlightingy

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-27 12:17:26 +00:00
Benjamin Cabé
06e8d01e93 drivers: led: Fix doxygen comments for led_info struct
Fixed improperly commented struct.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-27 12:17:17 +00:00
Tim Woolliscroft
65068fb4df drivers: i2c: stm32: Fix routing of secondary target address
Fixes the routing of the events associated with a secondary
i2c target address being routed to the primary config. The
i2c_target_config/slave_cfg was being selected from the
driver address match but then over written by the primary.
This change fully implements the if/else of 10bit addressing
and includes a assert if the slave_cfg is NULL, and explains
why dual 10bit addresses on STM32 won't work.

Signed-off-by: Tim Woolliscroft <tim@opteran.com>
2023-11-27 12:16:58 +00:00
Mariusz Skamra
b373079275 Bluetooth: audio: ascs: Remove spurious error message
This removes spurious error message printed when CIS has been
disconnected and it was not used by any of the endpoints.
This case is valid and may happen on Connection Timeout when the
controller reports ACL Disconnection first.
When the CIS Disconnection is reported after, the ASE is already in idle
state and the referenece to CIS has been already removed (on ACL
disconnection).

Fixes: #64896
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-27 12:16:30 +00:00
Juha Ylinen
637b4b62ee samples: lwm2m: Add support for Connection Manager
Using Connection Manager, it's easy to run lwm2m sample on
devices supporting different connectivity technologies
(for example, Wi-Fi and LTE).

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-11-27 12:16:10 +00:00
Minho Jin
a1614e8c95 driver: counter: rpi_pico_timer: fix counter cancel
alarm setting function checks channel callback and it returns -EBUSY
if callback is registered. but alarm cancel function doesn't clear
callback function. this prevents from alarm setting after alarm cancel

Signed-off-by: Minho Jin <kilejin@gmail.com>
2023-11-27 12:15:56 +00:00
Grant Ramsay
82644a31c2 drivers: ethernet: Fix eth_ivshmem shared memory mapping
This driver assumed the ivshmem-v2 output sections would be mapped
contiguously, which is no longer true.

Modify eth_ivshmem to treat each output section independently

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-11-27 12:15:43 +00:00
Grant Ramsay
64cc0764ee drivers: virtualization: Map ivshmem-v2 sections individually
Recent changes to the arm64 MMU code mean that you can no longer map
R/O memory as R/W. Mapping R/W memory now causes a cache invalidation
instruction (DC IVAC) that requires write permissions or else a fault
is generated.

Modify ivshmem-v2 to map each R/O and R/W section individually

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-11-27 12:15:43 +00:00
Vinayak Kariappa Chettimada
d36e085ecc Bluetooth: Controller: Fix scan aux context leak
Fix scan aux context leak under BT_CTLR_SCAN_UNRESERVED.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-27 12:15:29 +00:00
Vinayak Kariappa Chettimada
d573951f0d Bluetooth: Controller: Revert back early abort of previous prepare
Revert back to implementation that did early abort of
previous prepare when a short prepare is enqueued.

Adds back implementation deleted in
commit 7f388bb70a ("Bluetooth: Controller: Fix short
prepare when many enqueued in pipeline").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-27 12:15:29 +00:00
Vinayak Kariappa Chettimada
b444dc442b Bluetooth: Controller: Minor re-arrange advanced feature Kconfig
Minor refactor of Kconfig order such that the advanced
feature Kconfig is just above the enabling/visible of the
advanced features menu.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-27 12:15:29 +00:00
Vinayak Kariappa Chettimada
ec7bdde22b Bluetooth: Controller: Improve preempt timeout req/ack counting
Improve preempt timeout request and acknowledge counting.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-27 12:15:29 +00:00
Joseph Yates
5ae648d417 boards: shields: Adding support for the waveshare pico ups-b shield
Adding support for the Waveshare pico ups-b shield with documentation

Signed-off-by: Joseph Yates <joeyatessecond@gmail.com>
2023-11-27 12:14:05 +00:00
Jamie McCrae
1b364c1422 drivers: console: uart_mcumgr: Skip reading FIFO during setup
Drops calling the UART FIFO read function during the setup
function (when not in async mode) which could cause issues on
some devices since this function is not called in an ISR.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-27 09:12:36 +00:00
TOKITA Hiroshi
9f1b1bbba4 boards: arm: rpi_pico: add pyocd runner configuration
Adding configuration for support pyocd.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-27 09:07:48 +00:00
Anas Nashif
aed0c451f8 arch: introduce DSP_SHARING and CPU_HAS_DSP configs
introduce global DSP_SHARING and CPU_HAS_DSP to be used by all
architectures and change existing usage in ARC to use those global
configs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-27 09:05:54 +00:00
Anas Nashif
b58a1f15af kernel: sanitize thread options
Some thread options were made architecture specific, i.e. K_ARC_DSP_IDX. We
have other architectures with similar functionality and we need to be
architecture agnostic at this level.

Changed the option to be more generic. The option is now called K_DSP_IDX.

Also remove multiple level of ifdefs and guards around those defines to
allow for documentation to be published and added a note about required
configs in the docstring.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-27 09:05:54 +00:00
Christopher Friedt
5da13ea30a docs: posix: correct spelling of XSI_THREADS_EXT
The option group includes a trailing S

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 19:58:54 -05:00
Christopher Friedt
4d8442d3a5 docs: posix: update the XSI_THREADS_EXT option group
Previously pthread_attr_getguardsize() and
pthread_attr_setguardsize() were part of the
XSI_THREADS_EXT option group. That is no longer the case.

In IEEE 1003.1-2017 they are part of the POSIX_THREADS_EXT
option group.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 19:58:54 -05:00
Christopher Friedt
ecd2961160 doc: services: portability: posix: add pthread_setcanceltype()
The function pthread_setcanceltype() is supported and mandatory
for conforming implementations.

Mark it as supported since the preceding commit.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 05:55:08 -05:00
Christopher Friedt
5f64a47d52 tests: posix: headers: support pthread_setcancelstate() / type()
The function pthread_setcancelstate() has been supported for
some time already in Zephyr. For some reason, it was not being
checked in the "headers" testsuite.

Additionally, check for pthread_setcanceltype() since it was
added in a prior commit.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 05:55:08 -05:00
Christopher Friedt
1e7eb7a6da posix: pthread: support for pthread_setcanceltype()
pthread_setcanceltype() is required by the POSIX_THREADS_BASE
Option Group as detailed in Section E.1 of IEEE-1003.1-2017.

The POSIX_THREADS_BASE Option Group is required for PSE51,
PSE52, PSE53, and PSE54 conformance, and is otherwise mandatory
for any POSIX conforming system as per Section A.2.1.3 of
IEEE-1003-1.2017.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 05:55:08 -05:00
Marco Widmer
20979f80a6 drivers: uart: esp32: use config from device tree
The parity, stop bits and data bits config was hard-coded instead of
taken from the device tree.

Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
2023-11-25 09:04:46 -05:00
Benjamin Cabé
0b39da6869 doc: Do not fail when manually authored doc file is not tracked by git
This fixes a bug where a newly created documentation file not yet
tracked by git would cause the documentation generation to fail.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-25 08:55:18 -05:00
Vinayak Kariappa Chettimada
12cefe1027 Bluetooth: Controller: Fix compiler warning when RL_SIZE=1
Fix compiler warning when BT_CTLR_RL_SIZE=1.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-25 08:54:39 -05:00
Benjamin Cabé
af671a41bb drivers: display: doc: Add missing Doxygen comments
Added proper doxygen comments where they were missing.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-25 08:54:09 -05:00
Jordan Yates
e1cd9f335d bluetooth: hci: spi: handle interrupt return code
Handle the GPIO module failing to configure the interrupt line.

Fixes #65583

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-25 08:53:49 -05:00
Jordan Yates
8b95376625 bluetooth: hci: increase SPI driver stack size
Increase the SPI RX driver stack size by 128 bytes. Overflows have
previously been observed on real hardware at the default stack size of
512.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-25 08:53:49 -05:00
Dawid Niedzwiecki
13e5c6359b maintainers: correct user name
Update user name from semihalf-niedzwiecki-dawid to niedzwiecki-dawid.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-25 08:52:08 -05:00
Yong Cong Sin
cb10e94799 drivers: intc: plic: minor code refactor
The `riscv_plic_irq_enable` & `riscv_plic_irq_disable` are very
similar, refactor them out into `plic_irq_enable_set_state`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-25 08:51:52 -05:00
Aymeric Aillet
36f2627363 doc: Add Renesas Spider board documentation
Adding Spider board documentation based on Renesas official documentation
and following Zephyr guideline.

The documentation is describing the board and its current
Zephyr support.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Aymeric Aillet
cf4ab0e907 boards: arm: Add Renesas Spider support
Renesas Spider board use a S4 SoC (r8a779f0).

Add basic support for UART, GPIO and clock control.

We are using SCIF0 as SCIF3 is used by Linux.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Aymeric Aillet
f2061a073a soc: arm: reneas: Add r8a779f0 support
r8a779f0 SoC is part of the Renesas R-Car Gen4 SoC series.

This SoC has a dual core lockstep Cortex-R52 CPU.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Aymeric Aillet
cfb93c1c82 dts: arm: Add Renesas r8a779f0 support
r8a779f0 is also know as S4, this SoC is part of the Gen4 SoC series,
has 8 Cortex-A55 and a dual core lockstep Cortex-R52 processor.

SCIF0 is dedicated to Zephyr and SCIF3 to Linux.

**Control Domains**
IMPORTANT: This SoC is divided into two "domains":
- Application domain contains some peripherals as well as A55 & R52 cores.
- Control domain that contain a G4MH/RH850 MCU and other peripherals.

In order to access control domain peripherals such as gpio4-7 and CAN-FD
from application domain, the G4MH MCU has to unlock a protection
mechanism from control domain buses.

"Protected" controllers will be flagged in gen4 device trees,
warning users that they need to flash a custom G4MH firmware
to unlock access to these controllers.

**Clock controller**
This SoC clock controller is offering "domains"
for each world (Zephyr/Linux).

These domains are several "entry points" to the clock controller
which are arbitrated to avoid a world from turning off a clock needed
by another one.

We decided to use the same domain as Linux because the
security mechanism as to be implemented before accessing
another domain.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Mykola Kvach
5461917952 drivers: clock: rcar: Add r8a779f0 support
Add support of r8a779f0 cpg driver.
r8a779f0 soc has its own clock tree.
Gen4 SoCs common registers addresses have been added in header.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Aymeric Aillet
6033db5360 drivers: pinctrl: rcar: Add r8a779f0 support
Enable PFC controller for r8a779f0 SoC.
Declare pin list for r8a779f0 SoC.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Aymeric Aillet
1738543c5d drivers: pinctrl: Add R-Car Gen4 support
Renesas R-Car Gen4 is different from Gen3 regarding pinmux.

While Gen3 had only one base address to manage all pins,
Gen4 has one set of pinmux registers per GPIO banks.

We could expose one pinmux register per GPIO controllers,
but that would break potential compatibility with Linux
Device tree.

Instead create a reg_base array to parse all reg base from
device tree and identify proper base address based on the pin
definition.

This imply to add a pfc_base parameter to most of the pfc_rcar
function.

Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Signed-off-by: Pierre Marzin <pierre.marzin@iot.bzh>
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Aymeric Aillet
eb879413be drivers: gpio: rcar: Add R-Car Gen4 support
Renesas Gen4 SoCs GPIO IPs are using one more
register comparing to Gen3 SoCs.

The new "INEN" register is used to enable general input.

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2023-11-25 08:50:47 -05:00
Anas Nashif
c696344f0d twister: tests: adapt tests for new behaviour in runner class
We have removed some return data and added build time to instance class.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-25 08:49:27 -05:00
Anas Nashif
2ba6bcf906 twister: measure build time and report it in json output
Measure both cmake and make/ninja build times and log them in debug mode
and additionally put the result in the json report for tracking build
times.

Cleanup what build/cmake function return and remove unused keys in the
result map.

Remove some excessive logging of launched jobs or default platforms that
gets in the way when in debug mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-25 08:49:27 -05:00
Nikolay Agishev
4cb194f3e8 ARC: MWDT: Force cleanup .device_states section
This PR fixes https://github.com/zephyrproject-rtos/zephyr/issues/64268

MWDT supposes .device_states section as BSS because .device_states
variables defined as uninitialized. This causes the section marked
as NOLOAD section and OpenOCD does not take it in account while
flashing it into board memory.
Finally .device_states variables becomes initialized with garbage
from RAM.

In this PR it's suggested to clean .device_states in early init stage.

Signed-off-by: Nikolay Agishev <agishev@synopsys.com>
2023-11-25 08:48:15 -05:00
Vinayak Kariappa Chettimada
6c7c5bd5dd Bluetooth: Controller: Fix uninitialized ad_len_chain variable
Fix uninitialized ad_len_chain variable.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-25 08:47:36 -05:00
Vinayak Kariappa Chettimada
ca45155a23 Bluetooth: Controller: Fix NULL pointer dereferencing in Sync ISO
Fix NULL pointer dereferencing when Host supplies an out of
bounds BIG handle.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-25 08:47:00 -05:00
Christopher Friedt
87635dd34a posix: do not define _PTHREAD_CANCEL_POS
_PTHREAD_CANCEL_POS is an implementation detail and should not
be defined in the global scope. Furthermore, _PTHREAD_CANCEL_POS
uses a reserved identifier (underscore followed by capital
letter).

Adjust definitions so that the implementation detail is only
used in the implementation and not in the interface.

Additionally, modify naming so that the non-standard macro does
not use a reserved identifier.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-25 06:29:16 -05:00
Christopher Friedt
d2e729233d tests: posix: headers: add verification tests for more constants
Ensure that the "headers" test checks that the following constants
are defined:

* PTHREAD_PROCESS_SHARED
* PTHREAD_PROCESS_PRIVATE
* PTHREAD_COND_INITIALIZER
* PTHREAD_MUTEX_INITIALIZER
* PTHREAD_CANCELED

They were already defined by previous commits, but the test had not
been updated.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-25 06:29:16 -05:00
Christopher Friedt
19ef279dc3 posix: define PTHREAD_CANCELED globally
Move the definition of PTHREAD_CANCELED from pthread.c to
pthread.h.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-25 06:29:16 -05:00
Christopher Friedt
505e9be2e1 tests: posix: headers: ensure pthread_condattr_getclock() exist
These calls were added some time ago, so ensure they are checked
for existence.

* pthread_condattr_getclock()
* pthread_condattr_setclock()

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-25 06:29:16 -05:00
Christopher Friedt
131220cb95 tests: posix: headers: check pthread_spin_lock() et al exist
The simple header test was not updated to verify that the
following functions were implemented even though they were
implemented some time ago.

* pthread_spin_destroy()
* pthread_spin_init()
* pthread_spin_lock()
* pthread_spin_trylock()
* pthread_spin_unlock()

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-25 06:29:16 -05:00
Christopher Friedt
ad5441bbdd posix: pthread: move pthread_equal() closer to pthread_self()
* "identity" functions grouped more closely
* posix_thread_pool_init() should be adjacent to the SYS_INIT()

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-25 06:29:16 -05:00
Shahar Hadas
cc6bf66345 auxdisplay: Enhance SerLCD auxdisplay driver
Added export of command and special command delays as configurable options.

Signed-off-by: Shahar Hadas <shaharhd@gmail.com>
2023-11-24 22:04:22 +00:00
Christopher Friedt
0e11bcf5a0 tests: posix: add tests to ensure pthread_key_delete() works
Ensure that the correct key is deleted via pthread_key_delete().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-24 10:47:28 -05:00
Christopher Friedt
a89fa32dac posix: pthread: ensure pthread_key_delete() removes correct key
Previously, `pthread_key_delete()` was only ever deleting key 0
rather than the key corresponding to the provided argument.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-24 10:47:28 -05:00
Pieter De Gendt
e3f5c96667 modules: nanopb: Let Nanopb search for protoc
The Nanopb cmake locates the protoc executable, verify the result
instead of doing it ourselves.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-24 15:37:37 +01:00
Dean Sellers
897b300b2e drivers: spi: esp32xx: Fix CS reset over split transaction
In the case where a transaction is spilt due to the rx buff len
being longer than the tx or the transaction buffer exceeding the
size of the requested buffer with non gpio CS, the chip select
would be de-asserted/asserted in the middle of the transaction.

Fixes: #57577

Signed-off-by: Dean Sellers <dsellers@evos.com.au>
2023-11-24 14:45:51 +01:00
Igor Druzhinin
2abf0314c2 toolchain: gcc: fix GCC < 11.0.0 build with -Wundef
When building using GCC version < 11.0.0, TOOLCHAIN_CLANG_VERSION is not
yet defined in gcc.h. Nevertheless, it's still needed due to reuse of
gcc.h in llvm.h.

Guard access to TOOLCHAIN_CLANG_VERSION to fix that.

Signed-off-by: Igor Druzhinin <igord@xilinx.com>
2023-11-24 14:45:08 +01:00
Johan Hedberg
f89c5ddd1a samples: chre: Fix format strings for size_t types
The correct printf format specifier for size_t is %zu. Without this
change the sample generates warnings like this:

warning: format '%u' expects argument of type 'unsigned int', but
argument 2 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-24 13:10:24 +02:00
Jun Lin
3f9d24e4c0 mgmt: ec_host_cmd: shi_npcx: support the enhanced mode
The original SHI module only has one output FIFO buffer. It costs a lot
when the driver has to send/change the protocol control code because it
must fill out all 128 bytes of output FIFO. In npcx4, we introduce
another output buffer in 1-byte depth. These two buffers can switch back
and forth during the transaction. We can use the single-byte buffer
to send the control code and the 128-byte FIFO to send the data payload.
It helps improve the SHI driver's efficiency.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-11-24 11:45:13 +01:00
Jun Lin
717a7835bb mgmt: ec_host_cmd: shi_npcx: add pm_policy lock
Implement the pm_policy lock to prevent the chip enters the deep slepp
mode while shi transaction is ongoing.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-11-24 11:45:13 +01:00
Jun Lin
ba38a54faa dts: npcx: shi: support two version of shi hardware
The shi module in npcx4 supports the enhanced buffer mode.
Add a new compatible string "nuvoton,npcx-shi-enhanced" for it.
Then the shi driver can determine if it should use the enhanced buffer
mode based on the compatiable string.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-11-24 11:45:13 +01:00
Jun Lin
74f07b04ff soc: npcx: shi: add new registers for npcx4
Add the SHI enhanced buffer mode register definition for npcx4.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-11-24 11:45:13 +01:00
Lukas Streitenberger
10a167f6c1 Bluetooth: TBS: Added missing callState notifications
Changes of call state were not notified. Fixed by calling notify_calls
in respective functions.

Signed-off-by: Lukas Streitenberger <lukas.streitenberger@wsa.com>
2023-11-24 11:39:34 +01:00
Jeppe Odgaard
05025e6b7c cmake: add initlevels to usage
Fix missing `initlevels` entry in the `usage` command.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-24 11:39:21 +01:00
Benjamin Cabé
199743de01 ci: hotfix: Use latest version of greetings action
This fixes a bug with the action's Docker container apparently not being
able to run Node correctly anymore...

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-24 10:38:25 +00:00
Yong Cong Sin
ecb2df0444 scripts/checkpatch: add __unused to the $Attribute list
Add `__unused` to the `$Attribute` family along with its
`__maybe_unused`, `__always_unused` & `__used` brothers, so
that:

```c
__unused int ret;
```

is recognized as variable declaration, and doesn't raise
`LINE_SPACING` warning in CI.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-24 09:27:39 +00:00
Torsten Rasmussen
13f3c6d0bd sysbuild: introduce Kconfig setting for controlling HCI IPC inclusion
Follow-up: #64704

Introducing NET_CORE_IMAGE_HCI_IPC Kconfig setting to control inclusion
of HCI IPC image when building through sysbuild.

This allows users with custom netcore applications to avoid inclusion
of the default HCI IPC image.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-24 09:27:43 +01:00
Bartosz Bilas
20acd64a1b doc: zbus: fix msg subscriber thread signatures
Fix the thread function signatures to match k_thread_entry_t.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-24 09:27:10 +01:00
Jonas Remmert
108f7bde83 tests: build_all: sensor: fix i2c duplicate address
Fix address for hs300x driver in dts file for test.

Signed-off-by: Jonas Remmert <j.remmert@phytec.de>
2023-11-24 09:26:58 +01:00
Aleksandr Khromykh
3d37549bac Bluetooth: Mesh: allocate mesh max required buffer number
Since sending of public key was moved into system
work (https://github.com/zephyrproject-rtos/zephyr/pull/62331)
it uses the same context as a Host Tx buffer
allocator for gatt sending. Host cannot wait for
free buffer anymore. Mesh requires 4 buffers
to send max size frame(public key) during
provisioning.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-11-24 09:26:37 +01:00
Wojciech Sipak
60dc8dd410 boards: Use unique names for boards in the YAML files
There are duplicated names specified in per-board YAML files.
This change will allow distinguishing boards in software that
presents the pretty names and not the raw names of boards.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2023-11-24 09:26:28 +01:00
Wojciech Slenska
b39816a111 drivers: i2c: stm32: fix compilation for PM_DEVICE_RUNTIME
Added clk variable which is needed when CONFIG_PM_DEVICE_RUNTIME
is enabled.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-11-24 09:25:43 +01:00
Yong Cong Sin
d1fc5fe2ae boards: riscv: hifive_unmatched: add Renode simulation support
Add Renode simulation support for `hifive_unmatched`, the
script is basically copied over from `hifive_unleashed`, with
very minor edits.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-24 09:25:31 +01:00
Arnaud MAZIN
1378c90a93 driver: display: sdl: Introduce SDL_DISPLAY_ZOOM_PCT
This option modifies SDL window size and help with readability of very
small screens

Signed-off-by: Arnaud MAZIN <arnaud.mazin@gmail.com>
2023-11-24 09:25:22 +01:00
Jędrzej Ciupis
0bad09c7fa drivers: ieee802154: nrf5: support raw mode
When CONFIG_IEEE802154_RAW_MODE is set there is no network interface
that could provide pointer to the device the interface is running on top
of. The current implementation of nRF5 ieee802154 driver implicitly
assumes that such an interface is always present, which leads to crashes
when raw mode is enabled.

This commit adds support for IEEE802154_RAW_MODE in nRF5 ieee802154
driver by latching pointer to the ieee802154 device on initialization if
needed so that it doesn't have to be retrieved using the network
interface in run-time.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2023-11-24 09:25:11 +01:00
Martin Gritzan
86cf5829a4 dts: arm: stm32: add stm32f303xb bindings
The STM32F303xB is very similar to the xC, the only difference being the
RAM and flash sizes.

Signed-off-by: Martin Gritzan <martin.gritzan@gmail.com>
2023-11-24 09:24:14 +01:00
Marcio Ribeiro
05df6830b7 boards: dts: add missing code partition into ESP32 based boards
zephyr,code-partition added to ESP32 based board files

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-11-24 09:23:58 +01:00
Armando Visconti
88d91fb82f drivers/sensor: lsm6dsv16x: fix DT configuration read for int1/int2
Since lsm6dsv16x may be multi-instantiated, triggers must be enabled
and configured on DT basis and not only thru CONFIG_LSM6DSV16X_TRIGGER
macro; if either int1-gpios of int2-gpios (or both) are configured
in DT, the flag trig_enable is set to 'true' for that instance.
The previous implentation was lacking the check of those two Device
Tree properties, so trig_enabled was always true for all instances.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-24 09:23:47 +01:00
Yong Cong Sin
e9fa6f8b4a drivers: intc: plic: add shell cmd to get irq stats for debugging
Introduced `CONFIG_PLIC_SHELL` to enable the build of shell
debugging command to get the hit count of each interrupt
controller's IRQ line. This is especially useful when working
with dynamically installed ISRs, which will be the case for
`plic_sw`.

Example usage:

```
uart:~$ plic stats get interrupt-controller@c000000
   IRQ        Hits
==================
    10         177

uart:~$ plic stats get interrupt-controller@c000000
   IRQ        Hits
==================
    10         236

uart:~$ plic stats clear interrupt-controller@c000000
Cleared stats of interrupt-controller@c000000.

uart:~$ plic stats get interrupt-controller@c000000
   IRQ        Hits
==================
    10          90

```

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Maxim Adelman <imax@meta.com>
2023-11-24 09:23:33 +01:00
Yong Cong Sin
8342d87478 drivers: intc: plic: brackets for if-conds & use explicit comparison
if-conditionals should have brackets according to Zephyr's
coding standard, and explicitly compares `edge_irq` against 0.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-24 09:23:33 +01:00
Krzysztof Chruściński
465446e5aa logging: Add string validation to detect %p misuse
Logging shall not use character pointers with %p because in
certain configurations it may lead to memory faults. A compile
time detection is added. If faulty usage is detected then
message is replaced with error message which indicates which
message failed and what shall be done (casting to a pointer
of different type).

Validation is enabled only for configurations which remove
strings from binary as otherwise it may impact CI execution
time.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-24 09:23:18 +01:00
Krzysztof Chruściński
aa2e315ab0 tests: unit: cbprintf: Add tests for string validation
Add tests for Z_CBPRINTF_NONE_CHAR_PTR_COUNT, Z_CBPRINTF_P_COUNT
and Z_CBPRINTF_POINTERS_VALIDATE.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-24 09:23:18 +01:00
Krzysztof Chruściński
f9a547558a sys: cbprintf: Add macro for validating strings for packaging
When cbprintf package is created statically then only argument
types are taken into account and not the format string. It means that a
character pointer is always interpreted as %s and not %p. When %s is
found then string from rw location is copied into the package.
Copying unexpected data may lead to memory faults so it must
be avoided. User shall cast an argument to a pointer of a different
type.

Patch adds macros which can at compile time determine if %p is
used with char *. Result cannot be passed to static assert because
compiler sees it as non-constant (even though calculated at compile
time) but a runtime logging error message can be added instead of
original message.

Z_CBPRINTF_NONE_CHAR_PTR_COUNT counts number of none character
pointers in the arguments list.
Z_CBPRINTF_P_COUNT counts number of %p occurrences in the format
string. If results of both macros are equal it means that string
is ok.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-24 09:23:18 +01:00
Jamie McCrae
2a9f914db2 doc: mgmt: mcumgr: Add list of libraries/tools
Adds a list of tools and libraries that are available

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-24 09:22:44 +01:00
Benjamin Cabé
cce77c8902 doc: latex: enable pdflscape package
Enable the pdflscape package (available in the Latex distros recommended
 for Zephyr) to allow for some pages to be rendered in landscape mode.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-24 09:22:44 +01:00
Jamie McCrae
5afaa38e67 drivers: led_strip: ws2812: Remove scratch selection for non-GPIO
The WS2812 LED strip driver does not use a scratch byte, therefore
free up a byte per pixel which was unused except in the GPIO-based
driver whereby it is used

Signed-off-by: Jamie McCrae <spam@helper3000.net>
2023-11-24 09:22:24 +01:00
Anisetti Avinash Krishna
e76ace4647 drivers: serial: ns16550: Condition added for dma_callback
Enable a condition as define dma_callback function only if
any one instance of ns16550 has dmas parameter in dts.
This resolves conflict of dma_callback function defined but
not used warning in case of UART_ASYNC_API enabled but dmas
parameter is not provided to any ns16550 UARTs dts instances.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-24 08:30:04 +01:00
Anisetti Avinash Krishna
69d62add98 drivers: serial: ns16550: Fixed few bugs causing CI failure
Removed if (IS_ENABLED()) and used #if as they are causing CI failures
and removed LPSS related functions which are not under LPSS config.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-23 17:21:20 +01:00
Henrik Brix Andersen
67ec329a70 tests: kernel: mem_protect: mem_map: fix wrong include
This test needs to include zephyr/kernel/mm/demand_paging.h, not
zephyr/kernel/mm.h, due to its use of k_mem_pin().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-23 15:17:44 +01:00
Juliane Schulze
eeb6bf7dd9 input: make short-inputs optional
By making short inputs optional, the user can bypass short-events all
together if necessary (e.g. custom button-press listener).

Signed-off-by: Juliane Schulze <juliane.schulze@deveritec.com>
2023-11-23 09:51:57 +00:00
Andy Sinclair
c3a54ae1c3 drivers: regulator: Fixed reference counting during enable
Reference counting was broken when adding the enable delay.
Now reverted to previous pattern.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-23 09:51:39 +00:00
Mulin Chao
64cce4866f MAINTAINERS: add Nuvoton collaborators for Nuvoton NPCX Platforms
Add Nuvoton guys, TomChang19 and alvsun, in collaborators of Nuvoton
NPCX Platforms and remove MulinChao and ChiHuaL since they are already
the maintainers.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-11-23 09:41:10 +00:00
Benjamin Cabé
d4c1e8ef67 lorawan: include: add missing Doxygen comments
Added missing comments to various structs and enums in the lorawan.h
header.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-23 10:05:42 +01:00
Grzegorz Chwierut
a1698b691d twister: pytest: Add --pytest-args to Twister command line
Extend Twister command line with --pytest-args. This parameter
is passed to pytest subprocess. It allows to select a specific
testcase from a test suite.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-11-23 10:03:11 +01:00
Andrej Butok
84955951ef boards: lpcxpresso55Sxx: Make Jlink a default runner.
Make Jlink a default runner for lpcxpresso55Sxx.
The LinkServer runner command line tool does not support .hex flashing.
This feature is planned for LinkServer v1.6 (July 2024).

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-23 10:02:56 +01:00
Krzysztof Chruściński
c143daf98d tests: logging: log_backend_uart: Disable backends other than UART
Test expects that there are no other backends enabled and some
may be enabled by default.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-23 10:02:45 +01:00
Francois Ramu
f442c03a20 samples: subsys: nvs on nucleo_g431 requires 6kB for storage partitions
Add the overlay for running the samples/subsys/nvs/ application
on the nucleo_g31rb. Define a 6kB storage_partition at the end
of the 128kB flash.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-23 10:02:33 +01:00
Andrzej Głąbek
c949018d36 tests: drivers: flash: Use fixtures for tests requiring external chips
Several scenarios in this test require specific external flash chips
to be connected to the nRF52840 DK. Specify proper fixture for them
so that they are not performed on the board without those required
external components connected.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-23 10:02:22 +01:00
Andrzej Głąbek
4a262c3947 tests: drivers: flash: Update nrf52840dk_mx25r_high_perf.overlay
This is a follow-up to commit 7a83724e0f.

This overlay uses an alternative connection (via spi2) for the external
flash present on the nRF52840 DK and it needs to use one of the QSPI
pins as GPIO, to get CS line control in the SPI communication. To make
it possible, that GPIO must be removed from those marked as reserved.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-23 10:02:22 +01:00
Bartosz Bilas
e7c7c5a769 doc: zbus: add missing timeout arg for zbus_chan_add/rm_obs funcs
zbus_chan_add_obs and zbus_chan_rm_obs functions require
a timeout as their third arg.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-23 10:02:13 +01:00
Marcio Ribeiro
468890d70f drivers: clock_control: clock_control_esp32 assert remotion
No longer necessary assert removal

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-11-23 10:02:05 +01:00
Daniel Leung
40ba4015e3 kernel: mm: only include demand_paging.h if needed
This moves including of demand_paging.h out of kernel/mm.h,
so that users of demand paging APIs must include the header
explicitly. Since the main user is kernel itself, we can be
more discipline about header inclusion.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-23 10:01:45 +01:00
Daniel Leung
062fc2242a sys: arch_interface: include arch/syscall.h if USERSPACE
Due to arch_syscall_invoke are declared static, if there are
no corresponding definition, compiler will complain. It has
been working fine so far because arch/syscall.h is included
indirectly through some other headers (especially through
generated syscall stubs). However, with enough header files
shuffling this becomes an issue. So include arch/syscall.h
in arch_interface.h explicitly.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-23 10:01:45 +01:00
Flavio Ceolin
b43271dc2d doc: vuln: Disclose information about CVE-2023-5055
Information about CVE-2023-5055

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-23 10:01:30 +01:00
Joakim Andersson
2ad6dda9fd tfm: Remove limitation of enabling FP when build TF-M NS application
Remove limitation of enabling FP when building TF-M NS application.
FP support have been fixed in the tf-m-tests repository for NS
application.
Board support for NS executable may still be lacking for some boards.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-11-23 10:01:22 +01:00
Joakim Andersson
1ab669e3d0 tfm: Remove SFN model FP limitation
Despite what the TF-M documentation says about SFN model not supporting
Floating Point, it does support it, according to TF-M developers.

Remove SFN limitation not supported with FP Hard ABI.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-11-23 10:01:22 +01:00
Maximilian Deubel
58175fcf18 boards: nrf9131ek and nrf9161dk: update readme to emphasize nr-plus
This patch changes readme files of nRF91x1 dev kits to highlight
their added NR+ feature.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-11-23 10:01:12 +01:00
Kamil Rakoczy
c0eb918037 posix: sys: fix missing include to _timeval.h in native_sim
zephyr/net/socket_types.h file also includes _timeval.h, but it uses
correct path/filename depending on configuration.

Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2023-11-23 10:00:59 +01:00
Hein Wessels
82a6a69b81 tests: drivers: adc_dma: add test for nucleo_l476rg
Add test to verify the ADC + DMA functionality works
for the STM32L476 MCU.

Signed-off-by: Hein Wessels <heinwessels93@gmail.com>
2023-11-23 10:00:50 +01:00
Hein Wessels
a257bcb735 drivers: adc: stm32: add dma support for other mcus
This commit adds support for more STM32 CPUs that has
a different DMA interface. This was tested only for
the nucleo_l476rg.

Signed-off-by: Hein Wessels <heinwessels93@gmail.com>
2023-11-23 10:00:50 +01:00
Hein Wessels
f27e45473a drivers: adc: stm32: driver now agnostic of actual dma name
Previously the STM32 DMA driver was dependent on a very specific
name for the DMA in the DTS. This hidden requirement has caused
a bit of confusion. This commit changes the driver to instead
always use the first DMA listed in the ADC node's dma property.

Should fix: #65387

Signed-off-by: Hein Wessels <heinwessels93@gmail.com>
2023-11-23 10:00:50 +01:00
Hein Wessels
2750e1e3b5 drivers: dma: stm32: add utilities to access properties by idx
Some drivers like the ADC access the DMA through it's index
and not the DMA name. This commit add some better support
for such instances.

Signed-off-by: Hein Wessels <heinwessels93@gmail.com>
2023-11-23 10:00:50 +01:00
Siddharth Chandrasekaran
5b24a8ad72 mgmt/osdp: Fix off-by-one in buf len checks
Initially, the command/reply ID byte was not part of the data length
macros. But later, when it was changed to include it, the buffer length
checks was not adjusted. Due to this, we were not using the last byte in
the buffer. Fix this issue by correcting the condition.

Signed-off-by: Siddharth Chandrasekaran <sidcha.dev@gmail.com>
2023-11-23 09:59:52 +01:00
Siddharth Chandrasekaran
061a87aff8 mgmt/osdp: Replace __ASSERT() with an explicit if
Commit c7fec71193 ("mgmt/osdp: Add length checks for commands and
replies") attempted to remove code duplication by adding a macro to perform
a length check. At the time, a CI linter did not like macros with control
flow so the code was switched to a method which called __ASSERT() on this
condition.

The __ASSERT() macro is a nop if CONFIG_ASSERT=n (which is the default) and
causes the buffer access to be unguarded which may lead to OOB accesses.
This patch fixes the issue by reintroducing the if check.

Fixes: c7fec71193.
Signed-off-by: Siddharth Chandrasekaran <sidcha.dev@gmail.com>
2023-11-23 09:59:52 +01:00
Andrej Butok
d2bd778bcc kconfig: mcuboot: Add MCUBOOT_IMGTOOL_OVERWRITE_ONLY option
Add MCUBOOT_IMGTOOL_OVERWRITE_ONLY Kconfig option which
passes the --overwrite-only option to imgtool to avoid
adding the swap status area size when calculating overflow.
It is used by non-swap update modes.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-23 09:59:36 +01:00
Christopher Friedt
41b7c17ac4 tests: posix: pthread: check that pthread_atfork() exists
Add a simple existence check that pthread_atfork() has
some kind of implementation. The function is mandatory
by all conforming POSIX systems.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-23 00:59:32 -05:00
Christopher Friedt
1d501a76af doc: services: portability: posix: pthread_atfork() supported
Mark pthread_atfork() as supported in the documentation.

This option is a mandatory requirement (i.e. it must be present)
even when calling it produces undefined behaviour. That is the
case here, and documentation sbould be updated to reflect that.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-23 00:59:32 -05:00
Christopher Friedt
a0c307c0a5 posix: pthread: implement pthread_atfork()
pthread_atfork() is required by the POSIX_THREADS_BASE
Option Group as detailed in Section E.1 of IEEE-1003.1-2017.

The POSIX_THREADS_BASE Option Group is required for PSE51,
PSE52, PSE53, and PSE54 conformance, and is otherwise
mandatory for any POSIX conforming system as per Section
A.2.1.3 of IEEE-1003-1.2017.

Since Zephyr does not yet support processes and (by extension)
fork(), this implementation includes a deviation and should be
categorized as producing undefined behaviour.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-23 00:59:32 -05:00
Christopher Friedt
3b45235887 doc: posix: structural reorganization of posix docs
Revise the structure of the POSIX API docs. This separates
related items out to dedicated pages. Further improvements
could yet be made - e.g. using the 'collapse' feature to
expand and collapse large sections of text or tables.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-22 22:47:26 -05:00
Fabio Baltieri
5efa5b2892 tests: drop input_ prefix from input tests
These are already in a "input" subdirectory, the prefix is redundant,
drop it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 23:22:38 +00:00
Fabio Baltieri
d9fd752392 sensor: mchp_tach_xec: drop PM_DEVICE guards
These are not needed and are now causing build errors since the
pm_device calls are always there and need the header to become a no-op.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 21:54:45 +00:00
Marek Matej
d34f725df8 soc: xtensa: esp32s3: Update SOC variant list
Add missing combinations of the ESP32-S3 Wroom module.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2023-11-22 21:56:39 +01:00
Jamie McCrae
46889819e6 cmake: modules: dts: Fix board revision 0 overlay
Fixes an issue whereby a board revision is 0 and the overlay file
exists but would not be included

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 21:55:17 +01:00
Bartosz Bilas
43d5f39209 zbus: add MULTITHREADING dependency
Zbus uses mutexes internally that are available
only when MULTITHREADING is enabled so add
it to fix the following error:

/opt/zephyr-sdk-0.16.3/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/
12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/subsys/
zbus/libsubsys__zbus.a(zbus.c.obj): in function `k_mutex_init':
/builds/zephyr/mcuboot/zephyr/include/generated/syscalls/kernel.h:969:
undefined reference to `z_impl_k_mutex_init'

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-22 21:54:44 +01:00
Fabio Baltieri
939b90be4c drivers: drop few redundant guard around pm_policy_state_lock_*
The pm_policy_state_lock_put and pm_policy_state_lock_put functions
already become a no-op if CONFIG_PM is not enabled. Drop the guards
around it in few different drivers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 18:34:36 +00:00
Jamie McCrae
2a6cec0687 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  47b34362552835621bc289d53d2127691088cb7c

Brings following Zephyr relevant fixes:
 - 47b34362 zephyr: kconfig: Prevent MBEDTLS selection when
   tinycrypt is used
 - cd82f8bf boot: zephyr: add support for lpcxpresso55s28

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 17:32:33 +01:00
Jamie McCrae
67696b7311 sysbuild: mcuboot: Disable signing key in no signing mode
Prevents allowing the user to enter a signing key when the signing
mode is set to hash check only without signatures

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 17:32:33 +01:00
Jamie McCrae
bd6d43d4c8 sysbuild: bootloader: Fix setting application Kconfig in MCUboot
Fixes wrongly setting configuration to generate an unsigned image
in the MCUboot configuration when this does not apply to MCUboot

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 17:32:33 +01:00
Anisetti Avinash Krishna
6de5a1a5d5 tests: drivers: uart: uart_async_api: Enabled tests for rpl_s platform
Enabled tests for intel_rpl_s_crb platform.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-22 17:31:08 +01:00
Anisetti Avinash Krishna
7b412be883 dts: x86: intel: raptor_lake: Added LPSS dma node for UART
Added LPSS dma node for UART Async API support

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-22 17:31:08 +01:00
Anisetti Avinash Krishna
05fd5b0426 boards: x86: intel_rpl: Added modifications for Asycn NS16550
Added modifications to support async apis for ns16550
on RPL-s using LPSS DMA.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-22 17:31:08 +01:00
Anisetti Avinash Krishna
f66930fd3e drivers: uart: uart_ns16550: Enable Async operations using DMA
Enabled Async API feature for ns16550 driver using DMA support.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-22 17:31:08 +01:00
Huifeng Zhang
716de6fef2 MAINTAINERS: Add myself to ARM arch as collaborator
Adding myself as a collaborator on ARM arch so that I can help maintain
the aarch32 cortex-a/r codes.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-11-22 14:58:12 +00:00
Ian Morris
18c4574786 drivers: clock_control: clock_control_ra.c: main oscillator select fix
Due to a typo it is not possible to select the main oscillator (MOSC) as a
clock source for an RA Microcontroller. This patch resolves the issue.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2023-11-22 14:57:23 +00:00
Rander Wang
efc3208189 soc: intel_adsp: cavs: mask idc interrupt before halting cpu
Secondary dsp is idle and waiting for interrupt before it is totally
halted. The other active cores can trigger idc interrupt to this core,
this can wake it up and result to fw panic. Mask idc interrupt as timer
interrupt to prevent this case.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-11-22 14:57:07 +00:00
Peter van der Perk
5edb7cbe41 soc: arm: nxp_imx: rt11xx: add support for CONFIG_ETH_MCUX_RMII_EXT_CLK
ENET_REF_CLK as an input during rt11xx clock initialization.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2023-11-22 14:56:38 +00:00
Najumon B.A
c0d61d0bbd board: x86: remove parent init level dependency config
remove parent init level config from Intel Alder Lake platform

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-11-22 14:56:18 +00:00
Najumon B.A
608cc4d1f2 drivers: ns16550: remove parent init level dependency
remove parent init level dependency such as PRE_KERNEL or
POST_KERNEL. Uart driver init level change always to PRE_KERNEL

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-11-22 14:56:18 +00:00
Aleksander Wasaznik
589f3ad904 Bluetooth: testlib: Create testlib/conn.h
This header file declares the functions that rely on `bluetooth/conn.h`.

This collects `testlib/connect.h`, `conn_ref.h` and `conn_wait.h` into one.

Initial documentation for the functions in this file is also added.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-11-22 14:55:43 +00:00
Aleksander Wasaznik
4e976e0d58 sys: atomic: Fix includes, create atomic_types.h
This patch fixes the include of `atomic_builtin.h` and `atomic_arch.h`
so that they are IWYU. This mean they compile correctly independent of
other includes at the include-site. It was nessessary to move the
definition of the atomic types out of `atomic.h` to avoid unsatifiable
circular dependencies between `atomic.h` and `atomic_builtin.h`, as well
as definition conflicts between `atomic_arch.h` and `atomic_builtin.h`.
The definition of the type was to moved to a new file `atomic_types.h`.

The include in `atomic.h` has a IWYU pragma which will preserve
backwards compatibility with code expecting the types to be defined in
`atomic.h` if we start linting for IWYU.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-11-22 14:55:43 +00:00
Jerzy Kasenberg
46bbe052d3 drivers: regulator: add LDO/DCDC support for Smartbond.
This add regulator driver for Smartbond DA1469X SOC.
Driver can control VDD, V14, V18, V18P, V30 rails,
full voltage range supported by SOC is covered.
For VDD, V14, V18, V18P DCDC can be configured.

Special VDD_CLAMP (always on) and VDD_SLEPP are added
to allow configuration of VDD in sleep modes.

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2023-11-22 14:55:16 +00:00
Kamil Piszczek
1ab08634f2 settings: nvs: improve the name ID metadata handling on delete operation
Improved the updates to the name ID metadata (NVS_NAMECNT_ID) item
in the Settings NVS backend implementation. The improvements should
make the implementation more robust in handling edge cases such as:
power downs, resets or a case in which the storage partition is
full. In the last case, the NVS backend could return an ENOSPC error
in the context of the settings_delete API. This change also fixes
this issue.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2023-11-22 14:54:53 +00:00
Fabio Baltieri
ea887af0aa input: gpio_kbd_matrix: drop redundant gpio_kbd_matrix_set_detect_mode
This is called already as soon as the polling thread starts, so the call
in the gpio init function is harmless but redundant, drop it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 11:44:48 +00:00
Fabio Baltieri
6cd72493ff input: gpio_kbd_matrix: add direct access support
When the matrix is connected to consecutive pins on the same port, it's
possible to read the whole row or set the whole column in a single
operation. For the column, this is only possible if the matrix is
configured for driving unselected column, as there's no API to configure
multiple pins at the same time at the moment.

This is more efficient than checking the pins individually, and it's
particularly useful if the row or columns are driven from a GPIO port
expander.

Add some code to detect the condition and enable it automatically as
long as the hw configuration supports it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 10:34:40 +00:00
Fabio Baltieri
8ec1b5487e input: gpio_kbd_matrix: add column drive mode
Add an option to drive inactive columns to inactive state rather than
high impedance. This is useful if the matrix has isolation diodes for
every key, as it allows the matrix to stabilize faster and the API for
changing the pin value is more efficient than the one to change the pin
configuration.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 10:34:40 +00:00
ingram weeks
45a5cedfd6 doc: Console.rst added to os_services docs
Barebones Console.rst added to os_services docs

Signed-off-by: ingram weeks <ingram.weeks@gmail.com>
2023-11-22 09:37:38 +00:00
ingram weeks
6718a21b56 doc: console_api group added to doxygen
console.h modified to include console api in doxygen

Signed-off-by: ingram weeks <ingram.weeks@gmail.com>
2023-11-22 09:37:38 +00:00
ingram weeks
3f1024b93f doc: README.rst added to subsys/console/echo sample
README added to the console echo sample

Signed-off-by: ingram weeks <ingram.weeks@gmail.com>
2023-11-22 09:37:38 +00:00
Dawid Niedzwiecki
3387c57a94 dts: stm32f4: set RTC as idle timer by default
Only RTC can be used as the idle timer for cortex-m systick. Set the
chosen node as RTC by default.

The idle timer will be enabled only if PM management is set.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-22 09:28:53 +00:00
Dawid Niedzwiecki
a877bb5001 timer: cortex_m_systick: add idle timer dependency
Allow enabling the Cortex-m idle timer only if power management is set.
It doesn't make sense to use an idle timer without PM.

It allows adding the idle timer chosen node to dts without enabling the
idle timer by default. Now, the PM config has to be set as well.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-22 09:28:53 +00:00
Armando Visconti
69d4c13ab3 dt-bindings: sensor: fix typos in ST sensors comment
Fix dt-binding wrong filename in dts comment for ST sensors.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-22 09:54:50 +01:00
Andrei Emeltchenko
98f33a76d6 drivers: tsl2561: Fix type
Use int as correct type, fixes also warning comparing uint8_t < 0.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-22 09:54:39 +01:00
Jamie McCrae
90dfbf99d8 drivers: ieee802154: nrf5: Fix missed variable rename
Fixes and issue with a variable that has been renamed but whose
reference in the source file has not

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 09:54:23 +01:00
Seppo Takalo
31e9a56742 test: lwm2m: Test cancellation using observe parameter
Implement test cases:
LightweightM2M-1.1-int-303 - Cancel observations using Observe with
Cancel parameter

LightweightM2M-1.1-int-305 - Cancel Observation-Composite Operation

Modify existing Leshan API to passive_cancel().

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-22 09:54:13 +01:00
Seppo Takalo
2135e009e4 test: lwm2m: Implement Read-Composite Operation on root path
Test case:
LightweightM2M-1.1-int-235 - Read-Composite Operation on root path
is now working as Leshan added a support for reading the root path.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-22 09:54:13 +01:00
Seppo Takalo
92ceaab491 test: lwm2m: Implement write_attributes()
Implement write and remove attributes command for Leshan.
Remove all written attributes at the end of test, so it won't
affect the next test case.

Remove skip marks from testcase that is fixed on Leshan side.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-22 09:54:13 +01:00
Seppo Takalo
eb127538b1 test: lwm2m: Mark some tests as slow
This allows quick filtering with
pytest_args: ['-k not slow']

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-22 09:54:13 +01:00
Alberto Escolar Piedras
6d762359a5 tests/subsys/storage/*: Switch to native_sim
Enable all these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:54:03 +01:00
Alberto Escolar Piedras
f59c9c0dde tests/subsys/input/*: Switch to native_sim
Switch from native_posix to native_sim as default test platform
And switch overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:54:03 +01:00
Alberto Escolar Piedras
13b7557fe1 tests/subsys/modem/*: Switch to native_sim
Enable all these tests which run in native_posix in native_sim
And add native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:54:03 +01:00
Alberto Escolar Piedras
1a2fc865d2 tests/subsys/fs/*: Switch to native_sim
Enable all these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform
And switch native_posix overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:54:03 +01:00
Alberto Escolar Piedras
b39d7c2c3d tests/subsys/pm/*: Switch to native_sim
Enable all these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform
And switch native_posix overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:54 +01:00
Alberto Escolar Piedras
bc8313e26e pm: Fix definition of pm device slot
This pointers need to be writable by the power management code,
but were declared as const, resulting in a fault
for platforms which prevent writing to RAM containing const
values.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:54 +01:00
Alexander Vasiliev
76276e2bd3 net: mqtt-sn: Remember incoming registered topic name
When a client uses wildcard subscription and a new message is
published to the matching topic for the first time, the gateway
sends REGISTER message to the client, containing the exact
topic name and a new topic ID.
This change fixes adding these topic ID and name to the internal
topics list.

Signed-off-by: Alexander Vasiliev <alexander.vasiliev@siemens.com>
2023-11-22 09:53:33 +01:00
Alexander Vasiliev
6caf76346a net: mqtt-sn: Add a function to get topic name by topic ID
Add a function to MQTT-SN library API to get topic name by ID
from the internal topics list.

Signed-off-by: Alexander Vasiliev <alexander.vasiliev@siemens.com>
2023-11-22 09:53:33 +01:00
Alberto Escolar Piedras
81179bcd63 tests/subsys/mem_mgmt/mem_attr: Switch to native_sim
Enable native_sim for this test.
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
ec7ed0ea7d tests/drivers smbus_emul: Switch to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
3d702e6ffa tests/subsys/dfu/*: Switch to native_sim
Switch from native_posix to native_sim as default test platform
And switch overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
b7fa935a0d tests/subsys/settings/functional/*: Switch to native_sim
Enable native_sim for these tests (platform_allow filter)
Switch from native_posix to native_sim as default test platform
And switch overlays from native_posix to native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
f27760ab47 tests/subsys/settings/file: Switch to native_sim
Switch from native_posix to native_sim as default test platform
And switch overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
3692675dcf tests/subsys/settings/fcb: Switch to native_sim
Switch from native_posix to native_sim as default test platform
Switch overlays from native_posix to native_sim.
And move overlays into a boards/ directory

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
982425f818 tests/drivers/gpio/*: Switch to native_sim
Switch from native_posix to native_sim as default test platform
And switch overlays to native_sim.

For gpio_enable_disable_interrupt, also filter with
platform_allow to save time, as the dt filter requires cmake
to be run, but only the platforms with overlays provided
by the test can be run.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
5f61df6569 tests/drivers/bc12: Switch to native_sim
Switch from native_posix to native_sim as default test platform
And switch overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
5c7eae6745 tests/drivers/bbram: Switch to native_sim
Switch from native_posix to native_sim as default
test platform, switch overlays to native_sim.
For the HW test, filter whole posix arch to speed
up twister run.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
a7ee8b2757 tests/drivers/adc: Switch to native_sim
Switch from native_posix to native_sim as default test platform.
For test with overlays, switch overlays and platform_allow from
native_posix to native_sim.
For tests without overlays, enable also in native_sim, and
set native_sim as integration platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
c1fa9f736b tests/drivers kscan_input: Switch to native_sim
Switch from native_posix to native_sim as default test platform
And switch overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:20 +01:00
Alberto Escolar Piedras
6c9dfe1b2c tests/bluetooth/*: Enable for native_sim
Enable all remaining bluetooth tests for native_sim
and switch from native_posix to native_sim as default
test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:10 +01:00
Alberto Escolar Piedras
ed2251ae75 tests/bluetooth/hci_uart_async: Switch to native_sim
Switch from native_posix to native_sim as default test platform
And add overlays for native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:10 +01:00
Alberto Escolar Piedras
53103b9a65 tests/bluetooth/shell: Enable for native_sim
Enable these tests for native_sim and switch
the default integration platform from
native_posix to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:10 +01:00
Alberto Escolar Piedras
fd6f473515 tests/bluetooth/ctrl_isoal: Remove instructions from header comment
How to run tests is described in the twister documentation,
let's not replicate that kind of instructions in all files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:10 +01:00
Alberto Escolar Piedras
c3b7159cdf tests/bluetooth/mesh: Enable for native_sim
Enable this tests for native_sim and switch
the default integration platform to be native_sim
from native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:53:10 +01:00
Alberto Escolar Piedras
ab896ad6ef arch posix: annotate posix_exit and nsi_exit as noreturn
Annotate posix_exit() and nsi_exit() as noreturn
mainly to ease the life of static analysis tools.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:52:52 +01:00
Alberto Escolar Piedras
71db6550cd native simulator: Get latest from upstream
Align with native_simulator's upstream main
7d652dbfb313260cf07d595ccf26638f2b3c2959

Which includes:
* 7d652db Provide macros for noreturn and unreachable & annotate

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-22 09:52:52 +01:00
Fabio Baltieri
5e10cd9aee tests: build_all: input: test the 16 bit row option
Add a test case for the 16 bit row size option.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 09:52:39 +01:00
Fabio Baltieri
f9ed74e0d5 input: gpio_kbd_matrix: add 16 bit rows support
Add a Kconfig option to extend the row type to 16 bits, allowing the
library to handle a 16 row matrix.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 09:52:39 +01:00
Fabio Baltieri
adcb2f580c input: gpio_kbd_matrix: define a type for the row data
Add a typedef for the row type rather than using uint8_t directly, this
allow supporting bigger matrix as an option by using a different type.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-22 09:52:39 +01:00
Pisit Sawangvonganan
65b6d2f180 toolchain: esp32: fix cmake build issue with 'espressif' toolchain
Change CROSS_COMPILE_TARGET to be defined based on CONFIG_SOC_SERIES.
This fix adjusts CROSS_COMPILE_TARGET to ensure compatibility
with the 'espressif' toolchain variant, following the changes in
commit 6b57b3b786.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2023-11-22 09:52:29 +01:00
F. Ramu
4ddbf51042 west.yml: update modules/hal/stm32/hal_stm32 for stm32h503
Update the stm32h5xx/drivers/include/
to enable the SAI, DelayBlock and DCACHE only if the instance
exists in the soc. Which is not the case for stm32h503x device
https://github.com/zephyrproject-rtos/hal_stm32/pull/181/

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-22 09:52:07 +01:00
Jamie McCrae
f03192f489 doc: mcumgr: Add missing Settings management text
Adds that settings (config) management is supported to the list of
supported command groups

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 09:51:57 +01:00
Jamie McCrae
3613f94fdc doc: mcumgr: smp_group_63: Add zephyr mgmt group documentation
Adds documentation describing the MCUmgr Zephyr management group
and supported commands

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 09:51:57 +01:00
Jamie McCrae
300746310e doc: mcumgr: smp_group_3: Fix rc text
Fixes the "rc" text to include that it can also be returned when
SMP version 2 is used to indicate an SMP error instead of a group
error.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 09:51:57 +01:00
Mariusz Skamra
e1a14bad30 Bluetooth: audio: has: Add non-volatile settings
This adds non-volatile settings for the HAS Server. Those are needed to
restore the client awareness of preset list entries exposed by the
server. Based on the settings, the implementation determines how to
notify the client about the HAS related characteristic value changes.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-22 09:51:33 +01:00
Keith Packard
bf6c2fcde8 samples/bluetooth/hci_ipc: Reduce printf size
When using picolibc before 1.8.5, the only way to get 'long long' support
was to use the full version, including floating point support. This is too
large for this testcase.

Reduce the size of the printf code by switching to the version without
64-bit integer support. This allows the test to pass when using older
picolibc versions, such as that included with SDK version 0.16.3.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-21 23:04:52 -05:00
David Leach
23408ac538 drivers: eth_mcus: Conditionally wrap IPV4/6 code
Regression failure introduced problem where driver code was not properly
wrapping code that only existed when compiled for IPv4/v6 applications.

Fixes #65549

Signed-off-by: David Leach <david.leach@nxp.com>
2023-11-21 21:36:22 -06:00
Keith Packard
1dc6279d12 tests/subsys/logging/log_backend_uart: Reduce printf size
When using picolibc before 1.8.5, the only way to get 'long long' support
was to use the full version, including floating point support. This is too
large for this testcase.

Reduce the size of the printf code by switching to the version without
64-bit integer support. This allows the test to pass when using older
picolibc versions, such as that included with SDK version 0.16.3.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-21 21:43:33 +01:00
Keith Packard
aedefd41d7 tests/kernel/mem_protect/mem_map: Reduce printf size for qemu_x86_tiny
qemu_x86_tiny has very limited memory resources; if too much text is
included in this test, it will not have enough remaining memory to run
it.

When using picolibc before 1.8.5, the only way to get 'long long' support
was to use the full version, including floating point support. This is too
large for this testcase.

Reduce the size of the printf code by switching to the version without
64-bit integer support. This allows the test to pass when using older
picolibc versions, such as that included with SDK version 0.16.3.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-21 21:43:33 +01:00
Erwan Gouriou
7be1a8119b samples: stm32: serial_wakeup: b_u585i_iot02a support
Add a sample overlay for b_u585i_iot02a

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 16:41:40 +00:00
Erwan Gouriou
a38c8d25e7 drivers: serial: stm32u5: Serial wakeup is based on autonomous capability
On some devices such as STM32U5, there is no UART WKUP dedicated registers
as the hardware block has an integrated autonomous wakeup capability.
Hence it's capable to wake up the device from stop modes (down to Stop 1).

This behavior relies on RCC UESM bit which is enabled by default at reset
and not modified today in drivers.
Since driver will not compile otherwise, remain in this simple
configuration. This might be changed later on, if a need is seen to disable
UESM bit.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 16:41:40 +00:00
Ibe Van de Veire
a43e516ff2 doc: migration guide: add note about IGMP migration
Added note about the migration steps needed to support the new IGMP api.
The api now expects an additional argument used for joining an IGMPv3
group.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2023-11-21 15:50:31 +01:00
Ibe Van de Veire
1d0f47b005 net: ip: igmp: add igmpv3 support
Added igmpv3 support based on the already existing structure for igmpv2.
The already existing api is not modified to prevent breaking exisiting
applications.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2023-11-21 15:50:31 +01:00
Ibe Van de Veire
ca7ce90dc7 net: ip: utils: changed input arguments of igmp_checksum to net_pkt
Added igmpv3 checksum function to make it possible to calculate the
checksum of a complete igmpv3 pkt at once.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2023-11-21 15:50:31 +01:00
Pieter De Gendt
3ee526b4c3 drivers: audio: Codec shell fix compiler warnings
This commit fixes the following compiler warnings:
* implicit declaration of function 'strtoul'; did you mean 'strtok'?
* passing argument 2 of 'parse_named_int' discards 'const' qualifier

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-21 15:50:17 +01:00
Erwan Gouriou
d7513fb526 driver: serial: stm32u5: DMAT Errata behavior valid only on some SoCs
Workaround for DMAT errata was applied on all SoCs declaring STM32U5
DMA compatible.
This errata has been fixed in later SoCs revisions and should not be
applied anymore as this can cause compatibility issues with power mgmt
(can not enter STOP1 in some cases).

Declare a specific Kconfig symbol to restrict the workaround only to the
set of SoCs impacted by the issue and requiring workaround.

Note that I preferred using Kconfig over device tree since it doesn't feel
right to declare a compatible on a silicon bug base.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 15:49:57 +01:00
Flavio Ceolin
c47880af0d arch/xtensa: Add new MMU layer
Andy Ross re-implementation of MMU layer with some subtle changes,
like re-using existent macros, fix page table cache property when
direct mapping it in TLB.

From Andy's original commit message:

This is a reworked MMU layer, sitting cleanly below the page table
handling in the OS.  Notable differences from the original work:

+ Significantly smaller code and simpler API (just three functions to
  be called from the OS/userspace/ptable layer).

+ Big README-MMU document containing my learnings over the process, so
  hopefully fewer people need to go through this in the future.

+ No TLB flushing needed.  Clean separation of ASIDs, just requires
  that the upper levels match the ASID to the L1 page table page
  consistently.

+ Vector mapping is done with a 4k page and not a 4M page, leading to
  much more flexibility with hardware memory layout.  The original
  scheme required that the 4M region containing vecbase be mapped
  virtually to a location other than the hardware address, which makes
  confusing linkage with call0 and difficult initialization
  constraints where the exception vectors run at different addresses
  before and after MMU setup (effectively forcing them to be PIC
  code).

+ More provably correct initialization, all MMU changes happen in a
  single asm block with no memory accesses which would generate a
  refill.

Signed-off-by: Andy Ross <andyross@google.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
8dd84bc181 arch: xtensa: Rename xtensa_mmu.c to ptables.c
Initial work to split page table manipulation from
mmu hardware interaction.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Andy Ross
e7e8f6655c arch/xtensa: #include cleanup
This file doesn't need the asm2 header, and the preprocessor logic
around whether to include the backtrace header is needless (all it
does is declare functions).

Signed-off-by: Andy Ross <andyross@google.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
b7d96ab42a xtensa: userspace: Warning about impl security
Add a Kconfig option (and build warning) alerting about the problem
of the kernel spilling register in behave of the userspace.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
dd36389879 arch: xtensa: Not use TLS to store current thread
Xtensa clears out threadptr durint ISR when userspace
is enabled.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
8679c58644 kernel: Option to not use tls to get current thread
Add a Kconfig option to tell whether or not using thread
local storage to store current thread.

The function using it can be called from ISR and using
TLS variables in this context may (should ???) not be
allowed

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
1247f8465c xtensa: userspace: Supports tls on userspace
Use thread local storage to check whether or not a thread is running
in user mode. This allows to use threadptr to properly support tls.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
a36e39c2a6 xtensa: dc233c: enable userspace support
This massages kconfig and linker script to enable userspace
support on dc233c core.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
0d79481540 xtensa: userspace: only write 0xAA to stack if INIT_STACKS
Only clear the user stack to 0xAA if CONFIG_INIT_STACKS is
enabled. Otherwise, write 0x00 as if the stack is in BSS.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
0e7def1977 xtensa: selectively init interrupt stack at boot
During arch_kernel_init(), the interrupt stack is being
initialized. However, if the current in-use stack is
the interrupt stack, it would wipe all the data up to
that point in stack, and might result in crash. So skip
initializing the interrupt stack if the current stack
pointer is within the boundary of interrupt stack.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
6252fcfccf xtensa: userspace: simplify syscall helper
Consolidate all syscall helpers into one functions.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
d9f643d007 xtensa: mmu: do not map heap if not using heap
Do not map the heap area by default if we are not using
heap at all.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
9a33c400a1 xtensa: mmu: Fix possible race condition on tlb shootdown
We need to use the mmu spin lock when invalidating the cache during
tlb shootdown, otherwise it is possible that this happens when another
thread is updating the page tables.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
156f1d4436 xtensa: mmu: Flush cache when altering pages
When the target has a cache way size (cache size / cache wasy) bigger
than the page size we have cache aliasing, since the number of bits
required by the cache index is bigger than the number of bits in the page
offset.

To avoid this problem we flush the whole cache on context switch or when
the current page table is changed.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
6c6894c8d8 tests: mem_protect: enable for Xtensa
This enables tests/kernel/mem_protect/mem_protect to be tested
on Xtensa.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
be5eccdd15 tests: userspace: Add xtensa support
This test requires architecture specific code to work.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
7a5d2a2d81 xtensa: userspace: swap page tables at context restore
Swap page tables at exit of exception handler if we are going to
be restored to another thread context. Or else we would be using
the outgoing thread's page tables which is not going to work
correctly due to mapping and permissions.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
c9c88a4368 xtensa: mmu: cache and TLB actions when adding thread to domain
When adding a thread to a memory domain, we need to also update
the mapped page table if it is the current running thread on
the same CPU. If it's not on the same CPU, we need to notify
the other CPUs in case the thread is running in one of them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
81ea43692c xtensa: mmu: send IPI to invalidate TLBs on other CPUs
After changing content of page table(s), it is needed to notify
the other CPUs that the page table(s) have been changed so they
can do the necessary steps to use the updated version. Note that
the actual way to send IPI is SoC specific as Xtensa does not
have a common way to do this at the moment.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
eb546a8d87 xtensa: rework kernel oops exception path
When kernel OOPS is raised, we need to actually go through
the process of terminating the offending thread, instead of
simply printing the stack and continue running. This change
employs similar mechanism to xtensa_arch_except() to use
illegal instruction to raise hardware exception, and going
through the fatal exception path.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
586bb92049 xtensa: userspace: Add syscall for user exception
Trigger exception on Xtensa requires kernel privileges. Add
a new syscall that is used when ARCH_EXCEPT is invoked from userspace.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
75936d8db2 xtensa: userspace: Implement arch_syscall_oops
This function is needed by userspace.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
716efb2e40 xtensa: extract printing of fatal exception into its own func
This extracts the printing of fatal exception information into
its own function to declutter xtensa_excint1_c().

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
e9c449a737 xtensa: mmu: do not fault for known exceptions
There are known exceptions which are not fatal, and we need to
handle them properly by returning to the fixup addresses as
indicated. This adds the code necessary in the exception
handler for this situation.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
bc0656a92e xtensa: mmu: allocate scratch registers for MMU
When MMU is enabled, we need some scratch registers to preload
page table entries. So update gen_zsr.py to that.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
c4706a3823 xtensa: mmu: handle page faults in double exception handler
This changes the TLB misses handling back to the assembly
in user exception, and any page faults during TLB misses to be
handled in double exception handler. This should speed up
simple TLB miss handling as we don't have to go all the way to
the C handler.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
c53325298d xtensa: userspace: Stack object header
Add a header with architecture specific macros and
definitions that re used on userspace for stack
objects.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
a651862b30 xtensa: Enable userspace
Userspace support for Xtensa architecture using Xtensa MMU.

Some considerations:

- Syscalls are not inline functions like in other architectures because
  some compiler issues when using multiple registers to pass parameters
  to the syscall. So here we have a function call so we can use
  registers as we need.
- TLS is not supported by xcc in xtensa and reading PS register is
  a privileged instruction. So, we have to use threadptr to know if a
  thread is an user mode thread.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
fff91cb542 xtensa: mmu: Simplify initialization
Simplify the logic around xtensa_mmu_init.

- Do not have a different path to init part of kernel
- Call xtensa_mmu_init from C

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Flavio Ceolin
a1bb2b9c64 xtensa: mmu: Simplify autorefill TLB helpers
Replace all autorefill helpers with only one that invalidates both,
DTLB and ITLB, since that is what is really needed.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-21 15:49:48 +01:00
Andy Ross
3620e6b969 drivers/console: xtensa_sim_console: implement arch_printk_char_out()
This is an older driver and didn't support the weak
arch_printk_char_out() hook, which is a link-time symbol that allows
logging to work from the first instruction.  Some drivers can't do
that because they need an initialization step, but this one works
great.

Signed-off-by: Andy Ross <andyross@google.com>
2023-11-21 15:49:48 +01:00
Andy Ross
080e14f0f4 arch/xtensa: Rename "ALLOCA" ZSR to "A0SAVE"
This register alias was originally introduced to allow A0 to be used
as a scratch register when handling exceptions from MOVSP
instructions. (It replaced some upstream code from Cadence that
hard-coded EXCSAVE1).  Now the MMU code is now using too, and for
exactly the same purpose.

Calling it "ALLOCA" is only confusing.  Rename it to make it clear
what it's doing.

Signed-off-by: Andy Ross <andyross@google.com>
2023-11-21 15:49:48 +01:00
Daniel Leung
5b9605a6a2 xtensa: mmu: implement cached/uncached ptr funcs if !RPO_CACHE
This implements the following functions when
CONFIG_XTENSA_RPO_CACHE is false:

  * arch_xtensa_is_ptr_cached() returns false
  * arch_xtensa_is_ptr_uncached() returns false
  * arch_xtensa_cached_ptr() returns unmodified pointer
  * arch_xtensa_uncached_ptr() returns unmodified pointer

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 15:49:48 +01:00
Erwan Gouriou
c6bba39f4d dts: stm32wl: Configure LPUART wakeup line
Rather than configuring in serial_wakeup sample, define LPUART1 wakeup
line in wl.dtsi file.

Additionally make few cosmetic changes to nucleo_wl55rj overlay in
serial wakeup sample.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 14:22:22 +01:00
Erwan Gouriou
6a96ee88b3 samples: boards: stm32: serial_wakeup: Minor changes
Cleanup sample yaml file and code comments.

Enable PM_DEVICE_RUNTIME mode.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 14:22:22 +01:00
Erwan Gouriou
b4fcbc4eb6 samples: boards: stm32: serial_wakeup: Fix nucloe_wb55rg configuration
On STM32WB55 series, wakeup in stop mode is not supported.
Disable this state in order to support this sample.

Add comments to other sections of the configuration.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 14:22:22 +01:00
Erwan Gouriou
e5ab70b724 drivers: uart: stm32: Complete wakeup feature
Serial wakeup feature was only working whe DBG in Stop mode setting
was enabled.
Add required changes to make it functional also when this configuration
isn't set.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 14:22:22 +01:00
Erwan Gouriou
0d42acadb4 boards: nucleo_wb55rg: Use stm32cubeprogrammer as default runner
When playing with PM related applications, stm32cubeprogrammer is
useful to allow flashing even when SoC is in Stop mode.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-21 14:22:22 +01:00
Alexander Leris
7d63942c31 doc: logging: Fix some grammar issues
Fixes some grammar issues in the documentation.

Signed-off-by: Alexander Leris <alexander.leris@gmail.com>
2023-11-21 14:21:35 +01:00
Adolfo E. García
0bda2169a7 boards: xtensa: add heltec_wireless_stick_lite_v3
Adds support for the Wireless Stick Lite (V3),
a development board from HelTec Automation.

Signed-off-by: Adolfo E. García <aegarcia@cerbo.co>
2023-11-21 14:21:20 +01:00
Andrzej Głąbek
7a9ff701d4 drivers: pinctrl_nrf: Fix pin drive configuration
With the introduction of nrfx 3.0.0, values of `nrf_gpio_pin_drive_t`
constants may be defined differently, depending on the SoC family.
Since the nrf-pinctrl.h file is included also from dts files, it is
not possible to use there different definitions of `NRF_GPIO_PIN_*`
values based on Kconfig symbols that indicate given SoC family (as
Kconfig is processed after devicetree) so that those values could
still match `nrf_gpio_pin_drive_t` constants.
To solve this problem, the pinctrl_nrf driver now uses a lookup table
for mapping `NRF_GPIO_PIN_*` indexes to drive configuration values
required by the GPIO HAL.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-21 13:12:26 +01:00
Andrzej Głąbek
ea1be7f242 drivers: nrf_qspi_nor: Fix and refactor driver initialization
So far the driver first changed the configuration of the flash chip
and after that checked the signature of that chip. This could lead
to improper change of the chip configuration if the actually found
one was different than that specified in devicetree.
This commit reverses the order of these two initialization steps and
also restructures a bit the initialization code.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-21 13:09:54 +01:00
Andrzej Głąbek
8c3df0aa9e drivers: nrf_qspi_nor: Refactor deactivation and locking access to QSPI
After integration of nrfx 3.2.0, it is no longer needed to deinitialize
the nrfx_qspi driver to avoid increased power consumption when the QSPI
peripheral is idle. Now it is enough to call `nrfx_qspi_dectivate()`
when a given operation is done. The driver will automatically activate
the QSPI peripheral again when a next operation is requested.

This commit applies the following changes:
- `qspi_device_init` and `qspi_device_uninit` functions are replaced
  by `qspi_acquire` and `qspi_release`, respectively; those handle
  exclusive access to the QSPI peripheral and deactivation of it or
  runtime device power management
- locking is removed from `qspi_send_cmd` as it is the resposibility
  of the caller of that function
- `trans_lock` and `trans_unlock` functions are removed together with
  the related semaphore as they are no longer needed
- checking of input parameters is moved from `qspi_erase` to its
  caller, `qspi_nor_erase`
- `qspi_nor_pm_action` is refactored to properly handle locking of
  the QSPI peripheral; checking of the `xip_enabled` flag is removed
  from that function as now the call to `pm_device_is_busy()` covers
  that (when XIP is enabled, the device is kept indicated as busy)

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-21 13:09:54 +01:00
Andrzej Głąbek
4a45581288 drivers: nrf_qspi_nor: Clean up handling of return values
Consistently use `res` for results of calls to nrfx functions
and `rc` for Zephyr return codes, to avoid mixing up those two
and for example calling `qspi_get_zephyr_ret_code()` for a value
that is already a Zephyr return code. Correct also such call in
`qspi_nor_write()`.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-21 13:09:54 +01:00
Andrzej Głąbek
b172e5133b boards: nrf52840dk_nrf52840: Fix reserved GPIO lines
This is a follow-up to commit 7a83724e0f.

There is no reason to mark that many GPIO lines as reserved on this
board. And doing so causes several existing tests to fail as they
are configured to use some of those now unavailable GPIO lines.

Limit reservation to the lines that actually cannot be used as
GPIOs without changes in the default configuration of the board
or its physical modification (via solder bridges), i.e.:
- XL1 and XL2 (connections for the 32.768 kHz crystal)
- NFC1 and NFC2 (NFC antenna connections)
- RESET
- TXD and RXD (lines used by the console UART)
- QSPI lines: CS, CLK, and DIO0-3

Provide names for all the GPIO lines that are described on the board.
Even for the reserved ones, so that it is clear why they are reserved.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-21 13:08:42 +01:00
Andrzej Głąbek
1727bbcc70 drivers: nrf_qspi_nor: Prevent reading status before sending RDPD
After entering the Deep Power-down mode, some flash chips ignore all
commands except from the one that releases the chip from the DP mode
and it is not possible to successfully read their Status Register then.
Since the QSPI peripheral tries to read this register when it is being
activated, it consequently fails to send the actual command that would
release the flash chip from the DP mode if that is to be done right
after QSPI initialization.
Prevent this problem by performing the QSPI activation with all pins
disconnected. This causes that the Status Register value is read as
all zeros and allows the activation to always finish successfully,
and the RDPD command to be properly sent.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-21 13:08:33 +01:00
Andrzej Głąbek
23cf38934c manifest: Update hal_nordic revision
Pull in a fix in the watchdog driver initialization.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-21 11:09:29 +01:00
Jonathan Rico
934a09550d samples: Bluetooth: Make broadcaster_multiple run on other controllers
`CONFIG_BT_CTLR_ADV_DATA_CHAIN` is a Zephyr Controller exclusive.
Use the max length instead to decide if we should add more data.

The motivation for the change is that tests/bsim/bluetooth/host/adv/chain
does not pass with Nordic's Softdevice Controller because of this.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-11-21 09:56:02 +01:00
Grzegorz Chwierut
32c3173fab tests: mcuboot: Enable mcuboot shell command
Some shell modules were disabled in one of previous commits.
Tests in this folder requires mcuboot shell command.
Enable it with CONFIG_MCUBOOT_SHELL.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-11-21 09:55:44 +01:00
Joakim Andersson
3467a25fff tfm: Change SFN and FP_HARDABI dependency
TF-M only suports floating point in IPC model, not the SFN model.
Since floating point is a basic feature of the architecture and TF-M
has the limitation it makes more sense for the dependency to exist in
TF-M and and limit the TF-M model choice instead of limiting the
option to enable floating point.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-11-21 09:55:24 +01:00
Andreas Sandberg
b544855ba5 samples: usb-c: sink: Add support for WeAct STM32G431 core
Add support for the WeAct Studio STM32G431 Core board. Note that this
board does not support USB-C PD in its default configuration. See the
board documentation for the necessary hardware reconfiguration.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-11-21 09:54:02 +01:00
Andreas Sandberg
84d588e013 boards: arm: add support for WeAct STM32G431 Core
Add support for the WeAct Studio STM32G431 Core Board.

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

Flashed samples using dfu-util.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-11-21 09:54:02 +01:00
Marcin Niestroj
81c5727f27 drivers: wifi: airoc: drop default shell and sysworkq stack sizes
Those configuration settings should never be part of driver Kconfig file.
Drop them, since they can easily result in Kconfig symbol circular
dependency error.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-11-21 08:48:40 +00:00
Declan Snyder
4cc80097d3 drivers: wifi: include sockets headers
Some wifi drivers need internal sockets headers
included to build, put this in CMakeLists

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-21 08:48:04 +00:00
Jukka Rissanen
f70e4c0f68 drivers: modem: Fix include paths
Set the include paths properly and unconditionally to needed
networking directories.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-21 08:48:04 +00:00
Jukka Rissanen
bc8b5b3813 mgmt: updatehub: Fix CMakeLists.txt file
Fix the CMakeLists of the updatehub to link with mbedtls.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-21 08:48:04 +00:00
Declan Snyder
cf42b8b2fb net: sockets: fix shadowing warning
Fix compiler local variable shadowing warning

Rename ret to bytes_sent in offending funciton

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-21 08:48:04 +00:00
Declan Snyder
7c72d4a2d6 net: Fix CMakeLists
Fix the CMakeLists of the tls_credentials and sockets folders
to link/interface to the net library instead of the zephyr library.
This fixes issues where some files are not found in the link interface
when compiling the sources in this folder.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-21 08:48:04 +00:00
Robert Lubos
aa6f698d31 net: zperf: Fix TCP packet counting
Make sure we send the entire packet buffer before bumping the packet
counter, send() does not guarantee that all of the requested data will
be sent at once with STREAM socket.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-21 08:46:45 +00:00
Robert Lubos
e6d90b409b net: sockets: tls: Set errno on TX waiting error
In case underlying socket reported error while waiting for TX, the
errno value was not set accordingly. This commit fixes this.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-21 08:46:45 +00:00
Robert Lubos
3a38ec1aaa net: tcp: Feed TX semaphore on connection close
Otherwise, if the application was for example blocked on poll() pending
POLLOUT, it won't be notified.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-21 08:46:45 +00:00
Robert Lubos
9976ebb24b net: tcp: Rework data queueing API
Rework how data is queued for the TCP connections:
  * net_context no longer allocates net_pkt for TCP connections. This
    was not only inefficient (net_context has no knowledge of the TX
    window size), but also error-prone in certain configuration (for
    example when IP fragmentation was enabled, net_context may attempt
    to allocate enormous packet, instead of let the data be fragmented
    for the TCP stream.
  * Instead, implement already defined `net_tcp_queue()` API, which
    takes raw buffer and length. This allows to take TX window into
    account and also better manage the allocated net_buf's (like for
    example avoid allocation if there's still room in the buffer). In
    result, the TCP stack will not only no longer exceed the TX window,
    but also prevent empty gaps in allocated net_buf's, which should
    lead to less out-of-mem issues with the stack.
  * As net_pkt-based `net_tcp_queue_data()` is no longer in use, it was
    removed.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-21 08:46:45 +00:00
Robert Lubos
16fd744c13 net: pkt: Add function for allocating buffers w/o preconditions
Add new function to allocate additional buffers for net_pkt, w/o any
additional preconditions/checks. Just allocate what was requested.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-21 08:46:45 +00:00
Dawid Niedzwiecki
e6c7a4c968 tests: pm: add soc pm tests and sample for stm32f4x chip
Add soc power management test and blinky sample for the nucleo_f429zi
board.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-21 08:46:17 +00:00
Dawid Niedzwiecki
43ef398614 pm: add power management for stm32f4x
Add soc power management for the STM32F4x chips.

One low power state is added supported by all chips from the family -
the Stop mode with voltage regulator in low-power mode.

The Stop mode for STM32F chips has to work with the IDLE timer -
CORTEX_M_SYSTICK_IDLE_TIMER, because PLL and HSI are disabled in the
Stop mode (Systick is not clocked). The only possible wakeup source is
RTC, which works as a IDLE timer for the Systick.

The exit latency may need to be adjusted per system, depending on the
system tick frequency and other variables.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-21 08:46:17 +00:00
Abderrahmane Jarmouni
053c6b29cc boards: arm: stm32u5a9j-dk: add OpenOCD support
Add support for debugging with OpenOCD and GDB

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-11-21 08:44:34 +00:00
Abderrahmane Jarmouni
ebf67b2cef test: drivers: adc_api: add overlay for STM32U5A9J
Add overlay for STM32U5A9J board to pass test in CI

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-11-21 08:44:34 +00:00
Abderrahmane Jarmouni
2df99b10c5 boards: arm: stm32u5a9j-dk: Add initial support
Add initial support of STM32U5A9J-DK discovery kit

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-11-21 08:44:34 +00:00
Abderrahmane Jarmouni
aeb1e8ed34 dts: arm: st: add STM32U5A9 support
add STM32U5A9XJ device trees. Also add ADC2 & ADC1_2 dual mode nodes

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-11-21 08:44:34 +00:00
Abderrahmane Jarmouni
236ba6bf5a dt-bindings: clock: Add STM32U5A9 clk sel helpers
Add clock selection helpers specific to STM32U59x/5Ax &
STM32U5Fx/5Gx SoCs

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-11-21 08:44:34 +00:00
Abderrahmane Jarmouni
f8a9d95549 soc: arm: st_stm32: stm32u5: Add STM32U5A9 support
Add support for STM32U5A9XX SoC series

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2023-11-21 08:44:34 +00:00
Daniel Leung
9c90ed6f61 mm: polish doxygen doc on memory banks driver APIs
() Put the memory bank APIs under the memory management group.
() Document the struct sys_mm_drv_bank.
() Put proper in,out for function parameters.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 08:42:01 +00:00
Daniel Leung
9a6e32f87c mm: rename struct mem_drv_bank to sys_mm_drv_bank
Simply to put them into correct namespace as the struct is
part of public API.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 08:42:01 +00:00
Daniel Leung
ca1aae6183 mm: intel_adsp_mtl_tlb: move SRAM_BANK_PAGE_NUM in driver
The macro SRAM_BANK_PAGE_NUM is specfic to the mtl_tlb
driver and is not universal. So move that from public
header into the driver.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 08:42:01 +00:00
Daniel Leung
8021cde6de mm: polish doxygen on memory management driver APIs
Makes the HTML document on the MM driver APIs a bit more easier
to navigate (hopefully).

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-21 08:42:01 +00:00
Adrien Bruant
176d433b98 drivers: bbram: stm32-bbram: port to stm32wl
On STM32WL, the backup memory is defined as part of the TAMP peripheral.
This seems to be a deviation from the stm32 family where this memory is
defined as part of the RTC.

The STM32WL reference manual shows that tamp_pclk is connected to
rtc_pclk. This means that the clock required to run the TAMP peripheral
is the same as the RTC's. A quick port of BBRAM on STM32WL is achieved
by instanciating the bbram device as a child of the RTC and by modifying
the address offset to the first backup register from the rtc base
address.

Signed-off-by: Adrien Bruant <adrien.bruant@aalberts-hfc.com>
2023-11-21 08:40:51 +00:00
Emil Gydesen
1829cf4324 Bluetooth: Audio: Add set functions for codec meta
Add set function for all metadata types for both
codec_cfg and codec_cap.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-21 08:38:29 +00:00
Dmitrii Golovanov
23324fc5ba boards: qemu_xtensa: coredump: Enable coredump
Enable coredump on qemu_xtensa and qemu_xtensa_mmu.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-20 10:51:35 -06:00
Dmitrii Golovanov
5ed8bb74d4 tests: coredump: Adjust logging backend patterns to xtensa
Adjust tests/subsys/debug/coredump logging backend's output
matching pattern to Xtensa fatal errors handler's call sequence
difference.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-20 10:51:35 -06:00
Benjamin Cabé
fedd23f970 bluetooth: a2dp: Add missing Doxygen comments
Added missing Doxygen comments to various macros.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-20 10:49:26 -06:00
Bjarki Arge Andreasen
f9b42bc911 drivers: serial: uart_stm32.c: RxDataFlush on async_rx_enable
When enabling async RX the first time after boot, there is an
additional byte received with the first RX_DATA_RDY event,
which seems to be caused by the RX data not being flushed before
enabling the UART RX DMA.

Adding a request to flush the RX data register before enabling
the RX DMA, solves the issue.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2023-11-20 10:48:41 -06:00
Krzysztof Chruściński
26fd55e0a7 drivers: serial: nrfx_uarte: Rework Kconfig to use instance template
Rework Kconfig to improve handling of multiple UART instances by
using Kconfig template file.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-20 13:18:43 +01:00
Franciszek Pindel
ad788ad511 gecko: pinctrl: Add missing configuration for Gecko Series usarts
This commit adds missing pinctrl configuration for USARTs in
efm32gg_slwstk6121a, efm32gg_stk3701a and efr32_radio boards
and enables PINCTRL for efr32_radio_brd4180a
and efr32_radio_brd4187c boards.

Signed-off-by: Franciszek Pindel <fpindel@internships.antmicro.com>
Signed-off-by: Mateusz Holenko <mholenko@antmicro.com>
2023-11-20 13:03:18 +01:00
Bjarki Arge Andreasen
d3f100355f tests: modem: backends: uart: Add UART backend test suite
The UART backend test suite performs 9 iterations of:

1. Open UART backend pipe
2. Transmit 8192 bytes of pseudo random data
3. Receive and validate bytes
4. close UART backend pipe

The test is run on real hardware, with the TX/RX pins
connected to each other to provide loopback functionality.

The test suite has been run on a STM32 and an nRF5340 board.
The test suite tests both the UART interrupt driven and
async APIs.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2023-11-20 13:03:08 +01:00
Bjarki Arge Andreasen
8128a726a4 modem: backend: uart_async: Remove UART flush
The UART flush is not relevant for the async UART implementation.
UART drivers should handle this internally.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2023-11-20 13:03:08 +01:00
Bjarki Arge Andreasen
6f1d49e7b3 modem: backend: uart_async: Use single ring buffer
Use single ring buffer and protect it with a spinlock as it is
shared between backend and UART thread (ISR). This is simpler
than the double ring buffer setup.

The receive idle timeout has also been made configurable
instead of being a hardcoded value.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2023-11-20 13:03:08 +01:00
Bjarki Arge Andreasen
7cf2b0fc9d modem: backend: uart_async: Extend "closed" requisites
The current implementation only waits for the RX disabled event
to determine if the UART is closed. It should wait for all RX
buffers to be released, and the TX to be done as well.

We now also call uart_tx_abort() when closing the pipe.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2023-11-20 13:03:08 +01:00
Franciszek Zdobylak
1d01f5c6b9 dts: arm: silabs: Move gpio gecko header include
Move the include to places where it is actually used.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-11-20 13:02:49 +01:00
Franciszek Zdobylak
6f91fd858c dts: arm: silabs: Configure hfxo in dtsi
This commit moves configuration of hfxo from headers defined on board level
to device trees of SoCs.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-11-20 13:01:39 +01:00
Henning Fleddermann
8e4c588eab net: lib: lwm2m: Use int16_t for signal quality
RSRQ is the ratio between send and received signal strength and usually
understood/expected to be represented as a ratio in dB and as such always
has a negative range. So to allow RSRQ to be represented correctly the
resource must allow negative values, but currently it's limited to unsigned
8bit integers.

Signed-off-by: Henning Fleddermann <henning.fleddermann@grandcentrix.net>
2023-11-20 13:01:23 +01:00
Keith Packard
a4a8120b69 doc: Update picolibc section in 3.5 migration guide for 1.8.5
Picolibc 1.8.5 includes more control over printf capabilities, document
those in the migration guide.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Keith Packard
6c95f23d81 samples/code_relocation_nocopy: Increase fake flash size
When linking with the 0.16.3 SDK version of picolibc, using long long
cbprintf support pulls in the full floating point printf which is much
larger than the integer-only version. This ends up overflowing the memory
region available for it. Increase the size of that by bumping the start of
the fake region by 8kB.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Keith Packard
d04c834c0f tests/kernel: Fix test printk output for new printf variants
In minimal mode, format modifiers are not supported, leading to a lack
of width and precision support.

long long values are presented correctly in either long long or floating
mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Keith Packard
7a5fcb8c60 libc/picolibc: Support 'long long' and 'minimal' printf variants
Picolibc's 'minimal' printf mode reduces functionality and size even more
than the 'integer' mode. Use this where memory is at a premium and where
the application knows that it does not require exact printf semantics.

1.8.5 adds two more printf variants, 'long long' and 'minimal'. The 'long
long' variant is the same as the 'integer' variant but with long long
support enabled. The 'minimal' variant reduces functionality and size even
more than the 'integer' mode. Applications can use this where memory is at
a premium and where the application does not require exact printf
semantics.

With these two added variants, the SDK has enough options so that all of
the cbprintf modes can be supported with the pre-compiled bits:

 1. CBPRINTF_NANO - picolibc's 'minimal' variant
 2. CBPRINTF_REDUCED_INTEGRAL - picolibc's 'integer' variant
 3. CBPRINTF_FULL_INTEGRAL - picolibc's 'long long' variant
 4. CBPRINTF_FB_SUPPORT - picolibc's 'double' variant

This patch makes the cbprintf Kconfig values drive the default picolibc
variant, disables picolibc variants not capable of supporting the required
cbprintf level, but allows applications to select more functionality in
picolibc than cbprintf requires.

Note that this depends on the SDK including picolibc 1.8.5. Without that,
selecting the 'minimal' or 'long long' variant in Zephyr will end up with
the default variant from picolibc, which is the full version with floating
point support. When using the module things will work as specified.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Keith Packard
5347a834af libc/picolibc: Support picolibc's assert-verbose option
This option in picolibc switches the assert macro between a chatty version
and one which provides no information at all. This latter mode avoids
placing the associated strings in memory.

The Zephyr option is PICOLIBC_ASSERT_VERBOSE and it is disable by default.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Keith Packard
35e83d20e4 west: Update picolibc to version 1.8.5
Picolibc version 1.8.5 offers additional memory savings and new long-long
and minimal printf variants which can be selected from either the SDK or
module version of the library.

This needed a patch to the Zephyr cmake support bits to enable one of the
new picolibc 1.8.5 features.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Keith Packard
47e09806c8 lib/os: With CBPRINTF_NANO, picolibc long-long printf isn't required
CBPRINTF_FULL_INTEGRAL doesn't happen to explicitly conflict with
CBPRINTF_NANO, but when CBPRINTF_NANO is enabled, there's no long long I/O
support provided.

Allow picolibc long-long I/O support to also be elided when CBPRINTF_NANO
is enabled to save similar amounts of space.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Alberto Escolar Piedras
196341c18b samples: Switch integration_platforms from native_posix to native_sim
For all remaining samples which now set their integration platform
as native_posix(_64) switch them to native_sim(_64)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
868489b98e samples: Enable any which runs in native_posix also in native_sim
Enable the remaining samples which run now in native_posix also
in native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
ab7682ea06 samples/kernel/metairq_dispatch: Correct comment
Clarify comment about why this samples is skipped in
posix arch based targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
33a36df60b samples/subsys/settings: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform
Add conf and DT overlays for native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
cb270a7ecf samples canbus: Add native_sim to platform_allow
Add native_sim in these samples platform_allow filtering.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
39bf042086 samples/subsys/pm/latency: Switch to native_sim
Switch from native_posix to native_sim as default
test platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
0d1045e093 tests/ztest: Swap native_posix with native_sim
Switch the default test platform to native_sim from native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
641784cd59 tests/ztest/fail: Replace native_posix with native_sim
In the docs replace references to native_posix with native_sim
Switch the default test platform to native_sim from native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
0b3a7bc7d4 tests/ztest/fail: Fix build for native_sim
The final executable output from the native_sim
(or native_posix) build is zephyr.exe
(in native_posix zephyr.elf happened to be just a copy of
the exe, but in native_sim it is an intermediate build step)

So we need to use the exe instead.

Note: As the exe is generated with a custom target, we need
to install it using install(FILES), which also requires the
destination and permissions to be listed manually. The
permissions set are just the cmake default permissions
for install(PROGRAMS).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
b2a84eaf12 samples bindesc: Add runtime test and change default to native_sim
* In the docs replace references to native_posix with native_sim
* Switch the default test platform to native_sim from native_posix
* Add a runtime check for this sample

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
4a0dec6a5a subsys/bindesc: Fix kconfig dependency
BINDESC can be used with any POSIX arch based target,
not just native_posix.
Fix the kconfig filter and the sample yaml filter.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
0ce4de8eec pytest sample & docs: Replace native_posix with native_sim
In the docs replace references to native_posix with native_sim
Switch the default test platform to native_sim from native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
c93cef0996 docs: Sample definition: Replace native_posix with native_sim
As native_posix is going to be deprecated soon.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
bf466da69f samples zbus: Swap native_posix with native_sim
In the docs replace references to native_posix with native_sim
Switch the default test platform to native_sim from native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
196ceaf2f4 samples/drivers/uart/native_tty: Swap native_posix and sim overlay
Refer to the native_sim overlay instead of the native_posix one,
as native_posix is going to be deprecated soon.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Alberto Escolar Piedras
97b9bce995 doc/services/sensing: Refer to native_sim overlay instead of native_posix
Refer to the native_sim overlay instead of the native_posix one,
as native_posix is going to be deprecated soon.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Benjamin Cabé
3c8333ac10 boards: doc: fix Toradex Verdin iMX8M line length
Documentation .rst files should wrap at 100 characters.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-20 11:55:31 +01:00
Benjamin Cabé
bdbf928b62 boards: doc: fix Toradex Verdin iMX8M typos
Several fixes to this board's readme including broken build
instructions.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-20 11:55:31 +01:00
Benjamin Cabé
299a10e0db boards: doc: fix Toradex Verdin iMX8M title
The title for this board README was very broken, messing up not only
this board's README but also the boards TOC.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-20 11:55:31 +01:00
Benedikt Schmidt
003c132de6 tests: drivers: gpio: add TLE9104 to the build_all tests
Add an instance of the TLE9104 to the build_all tests.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-11-20 10:44:38 +00:00
Benedikt Schmidt
bfb8eda025 drivers: gpio: implement driver for TLE9104
Implement a driver for the powertrain switch TLE9104.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-11-20 10:44:38 +00:00
Benedikt Schmidt
4d554dd30c dts: bindings: gpio: add TLE9104
Add binding for the powertrain switch TLE9104.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-11-20 10:44:38 +00:00
Fabio Baltieri
b6a996d00a tests: build_all: input: drop a device nodelabel
Other entires don't have it, keep it uniform.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-20 10:22:33 +00:00
Fabio Baltieri
b0940e6e25 tests: build_all: input: unify the gpio definitions
Clean up few build all device instances to use the test_gpio node and
different gpio numbers. Makes them somewhat more representative of what
an actual instance would look like.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-20 10:22:33 +00:00
Rander Wang
954901296c arch/xtensa: clean up arch_cpu_idle function
Some workarounds were introduced for intel cavs2.5 platform bring up.
It is not general so move them to platform code.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-11-20 11:14:41 +01:00
Rander Wang
0c27d772f6 soc: intel_adsp/cavs: add arch_cpu_idle support
Cavs platforms starts from Apllolake to Raptorlake. Some of them need some
workaround for arch_cpu_idle so create a bespoken one. Each workaround is
configured by kconfig setting.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-11-20 11:14:41 +01:00
Rander Wang
71387ca165 arch/soc: introduce config for custom arch_cpu_idle implementation
Each arch platform may has a general arch_cpu_idle implementation but
each vendor may has a custom one, so this config will be used for vendor
to override it.

Some workarounds were introduced for intel cavs2.5 platform bring up.
It is not general so move them to platform code.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-11-20 11:14:41 +01:00
Magdalena Kasenberg
17b39baa61 bluetooth: tester: Add support for BASS
Support for BAP/BASS and BASS test cases.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-20 11:13:54 +01:00
Iuliana Prodan
5879803d15 board: xtensa: nxp: Add vendor
Add vendor for NXP boards.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
8446c58777 board: xtensa: imx8m: Enable more tests
Update yaml to run more tests.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
aba55686f5 dts: nxp_adsp_imx8m: Add interrupt to fix compilation
Add dummy interrupt id until we can support UART interuppt
on i.MX8MP in order to fix compilation warnings.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
9af6825874 nxp_adsp: linker: Add snippets to linker script
The xtensa/nxp_adsp_imx8m linker script is missing
the necessary include statements for linker snippets.
So we need to add them.

This fixes compile warnings like: orphan section `.unstable_id'
from `modules/chre/lib..__modules__lib__chre__platform__zephyr.a
(version.cc.obj)' being placed in section `.unstable_id'.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
9cac089f8c nxp_adsp: linker: Fix _heap_sentry reference
Add _heap_sentry value to fix build errors for
newlib, like: "undefined reference to `_heap_sentry'"

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
23c49e554a nxp_adsp: linker: Update linker scripts for C++ build
When linking, in crtbegin.o for C++ exception support, we pull in
the .tm_clone_table section.
Update the linker scripts to handle this, otherwise we get a
"warning: orphan section `.tm_clone_table'".

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
24f2d2e136 nxp_adsp: linker: Rename text area variables
Use Zephyr's convention for text region start and end.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
7c55eb5dfa board: xtensa: imx8m: Remove unnecessary keyword
Remove /omit-if-no-ref/ since it doesn't apply here.
This is used for pre-generated nodes.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
edc0b7f352 board: xtensa: imx8m: Remove unnecessary configs
Remove unnecessary configs.
Some were moved to Kconfig.series from soc/.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
afc3606116 soc: xtensa: imx8m: Remove unused definitions
Remove unused macro definitions.

While here, use Zephyr's convention for
include guard.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Iuliana Prodan
85a1124d5d soc: xtensa: imx8m: Remove unused file
Remove platform.h since is no longer used for SOF.
Move memory.h to include folder and modify the linker
to reflect this.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-11-20 11:13:44 +01:00
Andriy Gelman
1282194ac5 drivers: can: mcp251xfd: Skip payload in spi transfer when RTR flag is set
There's no need to transfer the payload bytes when the RTR flag set.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-20 09:25:08 +01:00
Andriy Gelman
8c607bf401 drivers: can: mcp251xfd: Increase max filters and change filter usage type
The mcp251xfd supports upto 32 filters. Also store the filter usage in
uint32_t instead of uint64_t.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-20 09:25:08 +01:00
Bjarki Arge Andreasen
0aa6f3f3ff modem: cmux: Fix coverity issues
Possible NULL pointer dereferences where discovered by static
code analysis, they are addressed in this commit.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2023-11-20 09:24:58 +01:00
Robert Lubos
8a75a4b9db net: shell: Fix array indexing with dynamic iface command
Network interface numbering starts from 1, therefore when accessing
help/index array, the interface index should not be used directly, but
rather decremented by 1, to avoid out-of-bound access on those arrays.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:24:47 +01:00
Armando Visconti
237891973b doc: migration-guide-3.6.rst: recommend use of DT macros for ST sensors
Recommend use of DT macros for ST sensors as described in #65410.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
194ee015f9 dt-bindings: sensor: iis2iclx: add macros for DT property setting
Add macros for setting in a clear way iis2iclx DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
273475804e dt-bindings: sensor: lis2dh: add macros for DT properties setting
Add macros for setting in a clear way lis2dh DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
6e09f91fec dt-bindings: sensor: iis2dlpc: add macros for DT properties setting
Add macros for setting in a clear way iis2dlpc DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
0d68d9e493 dt-bindings: sensor: ism330dhcx: add macros for DT properties setting
Add macros for setting in a clear way ism330dhcx DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
0b46f387f4 dt-bindings: sensor: lis2dw12: add macros for DT properties setting
Add macros for setting in a clear way lis2dw12 DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
2fe89c1076 dt-bindings: sensor: lis2ds12: add macros for DT properties setting
Add macros for setting in a clear way lis2ds12 DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
a6cfa0bc15 dt-bindings: sensor: lps22df: add macros for DT properties setting
Add macros for setting in a clear way lps22df DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
b0f22dbafd dt-bindings: sensor: lps22hh: add macros for DT properties setting
Add macros for setting in a clear way lps22hh DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
1fbd157c61 dt-bindings: sensor: lsm6dso16is: add macros for DT properties setting
Add macros for setting in a clear way lsm6dso16is DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
0c3057edf4 dt-bindings: sensor: lsm6dso: add macros for DT properties setting
Add macros for setting in a clear way lsm6dso DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
e72baabe91 dt-bindings: sensor: lsm6dsv16x: add macros for DT properties setting
Add macros for setting in a clear way lsm6dsv16x DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Robert Lubos
f0247131bf net: tftp: Ensure the error message fits into transmit buffer
Make sure that the error message does not overflow the transmit buffer
when copying the error message string.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:24:18 +01:00
Robert Lubos
59544d58ef net: tftp: Verify connect return value
Verify that connect() succeeded before reporting success.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:24:18 +01:00
Robert Lubos
69e6b3a563 net: tftp: Log transmit error
There's not really much to do when the transmission of the error reply
fails, but we can at least log the failure.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:24:18 +01:00
Robert Lubos
a3362d969d net: lwm2m: Explicitly initialize path_list_size variable
To get rid of compiler warning about potential use of uninitialized
variable.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:24:11 +01:00
Robert Lubos
7f7d019b25 net: lwm2m: Add error checks for option encoding in BS registration
Add missing error checks when encoding CoAP options for Bootstrap
Register message

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:24:11 +01:00
Robert Lubos
ec50e5393c net: lwm2m: shell: Add error check for string to float conversion
The result of string to float conversion in LwM2M shell write command
was not verified, which could result in incorrect data being written to
the resource.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:24:11 +01:00
Adam Kondraciuk
dd36592aa4 drivers: i2s: i2s_nrfx: Add support for new instance
Add support for new I2S 20 instance.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2023-11-20 09:24:05 +01:00
Adam Wojasinski
cac170d2b9 modules: hal_nordic: Add I2S Kconfig symbols and translation to nrfx
Add Kconfig symbols for I2S 20 instance and translation symbols
used in nrfx drivers.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-20 09:24:05 +01:00
Adam Wojasinski
4f1823c616 soc: arm: nordic_nrf: Add Kconfig symbol for new I2S instance
Add I2S 20 instance

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-20 09:24:05 +01:00
Pavel Vasilyev
07848a4456 Bluetooth: Mesh: Fix integer overflow
Fix potential integer overflow by casting one of operands to int64_t.

Coverity-CID: 329961
Fixes #65356

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-20 09:23:56 +01:00
Pavel Vasilyev
3bc17d1d18 Bluetooth: Mesh: Fix async behavior of Private Beacon Client API
The Private Beacon Client API requires a response argument to allow to
call the API in the asynchronous manner
(https://github.com/zephyrproject-rtos/zephyr/pull/56426).

Because the removal of the EXPERIMENTAL tag for this API was not
released yet, it should be OK to change this API.
The EXPERIMENTAL tag has been removed here:
https://github.com/zephyrproject-rtos/zephyr/pull/64866

Coverity-CID: 330039
Coverity-CID: 330029
Coverity-CID: 329977

Fixes #65336
Fixes #65338
Fixes #65354

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-20 09:23:56 +01:00
Pavel Vasilyev
b15611eb28 Bluetooth: Mesh: Check return value of bt_conn_get_info
Coverity-CID: 323094
Fixes #65366

Coverity-CID: 323081
Fixes #65370

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-20 09:23:56 +01:00
Pavel Vasilyev
6a5d082cc5 Bluetooth: Mesh: Ignore return value of settings_delete
This suppresses warning from Coverity.

Coverity-CID: 330638
Fixes #65330

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-20 09:23:56 +01:00
Benjamin Cabé
f3b85ad92c drivers: modem: fix for possible non-null terminated string
Fix handling of strncpy in cgnsinf parsing function to avoid
potentially getting a non-null terminated string.
Fixes #58573 / CID: 248403

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-20 09:23:32 +01:00
Robert Lubos
e702ecc8fb net: dhcpv6: Verify net_pkt_skip() return value
Verify the return value of net_pkt_skip() function, in case the parser
ignores the unrecognized options, so that in case the option was
malformed and the actual provided option length exceeds the packet
length, it is recognize (net_pkt_skip() should fail then).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-20 09:23:22 +01:00
Benjamin Cabé
79c677c0ef net: lib: coap: Fix NULL pointer dereference
As reported by Coverity, cpkt was being used before checking it's not
NULL.
Fixes #65372 / CID: 323075

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-20 09:23:12 +01:00
Fabian Blatz
8861bc0671 modules: lvgl: Force fullsize render buffer on full refresh
Changes the default of `LV_Z_VDB_SIZE` to 100 percent if
`LV_Z_FULL_REFRESH` is set. Reason is that LVGL will reset the full
refresh flag if the buffer is not equal to the screen size.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-11-20 09:23:04 +01:00
Lingao Meng
1c280c5327 Bluetooth: Mesh: Add missing struct name
Add name for inner-struct.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-20 09:22:55 +01:00
Lingao Meng
7fcc3f0696 doc/migartion: Add migration guide for element
The Bluetooth Mesh ``element`` declaration has been changed to add
prefix ``const``. The ``elem->addr``field has been changed to the
new runtime structure, replaced by ``elem->rt->addr``.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-20 09:22:55 +01:00
Lingao Meng
5f1c2f199b Bluetooth: Mesh: Make element as rodata
the reason is that the Mesh Profile clearly stipulates that Mesh nodes
cannot change their own element definitions.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-20 09:22:55 +01:00
Tom Burdick
9369c6f8e1 rtio: Make coverity happy
Coverity reported (rightfully) a possible divide by zero when trying to
allocate from a pool. Return -ENOMEM in such scenarios as it means there
is no memory to allocate from.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-20 09:22:46 +01:00
Keith Packard
7d9c0b9db5 lib/os/cbprintf: Picolibc doesn't support several cbprintf options
* Picolibc doesn't provide the %a-only mode.

 * On advice from security experts, who report numerous vulnerabilities
   caused by %n in printf specifiers, picolibc never supports this
   feature.

 * Picolibc doesn't use cbprintf for C-library compatible functions,
   instead it provides aliases for the *printfcb functions using stdio
   names.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 09:22:32 +01:00
Flavio Ceolin
9f70cd557b x86: Fix build when optimizations are disabled
When building without optimizations and with only one core the linker
does not throw away arch_start_cpu and we get an undefined reference to
x86_ap_start

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-20 09:22:18 +01:00
Fabio Baltieri
9234088306 samples: kscan_touch: drop the kscan_touch sample
All in-tree touchscreen drivers have been migrated over to input, the
compatibility node has been removed from those boards as well, this
sample can be dropped now.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-20 09:22:03 +01:00
Henrik Brix Andersen
62f2ae1c5e docs: releases: migration: 3.6: change in defaults for shell modules
Mention the change in the default value for subsystem/driver shell module
Kconfigs.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-20 09:21:40 +01:00
Henrik Brix Andersen
c0c8952739 shell: do not enable subsystem/driver shell modules by default
Do not enable subsystem/driver shell modules by default and stop abusing
CONFIG_SHELL_MINIMAL, which is internal to the shell subsystem, to decide
when to enable a driver shell.

The list of shell modules has grown considerably through the
years. Enabling CONFIG_SHELL for doing e.g. an interactive debug session
leads to a large number of shell modules also being enabled unless
explicitly disabled, which again leads to non-negligible increases in
RAM/ROM usage.

This commit attempts to establish a policy of subsystem/driver shell
modules being disabled by default, requiring the user/application to
explicitly enable only those needed.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-20 09:21:40 +01:00
Andrej Butok
f345378db1 doc: application: Fix application build comment
Fix the application build comment
to make it valid for both ninja and make build tools.
It generated the wrong "ninja" comment for "make".

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-20 09:21:22 +01:00
Alberto Escolar Piedras
c5e0f6c0ff tests/net/lib/http_server: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
8991e0176c tests/net/lib/coap_server: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
0a81ea5406 tests/net/socket/can: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
a86e0a8da9 tests/net/lib/lwm2m/*: Switch integation_platforms to native_sim
Switch integation_platforms from native_posix to native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
640b926b0a tests/net/lib lwm2m_engine: Switch from native_posix to native_sim
Switch support of native_posix to native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
0de923e2b0 tests/net/lib/lwm2m/interop: Switch from native_posix to native_sim
Switch support of native_posix to native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
f7b8ded41a tests/net/lib/coap_client/: Enable for native_sim
Enable this test for native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
c64f33a648 tests/net lwm2m_rd_client: Switch from native_posix to native_sim
Switch these tests from native_posix to native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
eae99c1035 tests net/ptp/clock: Enable for native_sim
Enable these tests for native_sim and switch from
native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
18d27f0a29 tests ieee802154: Enable for native_sim
Enable these tests for native_sim and switch from
native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
6bba2d955b tests/net/traffic_class: Enable for native_sim
Enable these tests in native_sim
and switch from native_posix to native_sim as default
test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:21:13 +01:00
Alberto Escolar Piedras
ef346c2505 tests input/gpio_keys: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
e13acd2f29 tests fuel_gauge/sbs_gauge: Enable for native_sim
Enable for native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
3ff73f22a4 tests fuel_gauge/max17048: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
c6f5dbe8a7 tests fuel_gauge/bq27z746: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
64cb9a4540 tests/drivers/regulator/api: Enable for native_sim
Enable for native_sim.
and switch from native_posix to native_sim as default
test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
be8f4e104b tests/drivers espi: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
7d5772d2d6 tests/drivers/pinctrl/api: Enable for native_sim
Enable for native_sim.
and switch from native_posix to native_sim as default
test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
b85aef003c tests/drivers/build_all/sensor: Enable for native_sim
And switch from native_posix to native_sim as default
test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
1846fa6f2c tests/drivers ina237: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
5327ba38e5 tests/drivers ina230: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
75006ad9af tests/drivers akm09918c: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
5dbb71cc6f tests/drivers icm42688: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
3175a81da5 tests/drivers adltc2990: Switch from native_posix to native_sim
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Alberto Escolar Piedras
95bf611ac6 tests/drivers sbs_gauge: Switch from native_posix to native_sim
Switch from native_posix to native_sim as native test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 09:20:59 +01:00
Benjamin Lindqvist
1d6d24b6ef net: lwm2m: don't load credentials on plaintext context
Since lwm2m_load_tls_credentials(ctx) will assume that the ctx has a
valid security object assigned to it, it should not be called at all
when ctx.use_dtls == false.

This solves a major bug where LwM2M comms are DTLS encrypted but FOTA is
allowed to be plain-text.

Signed-off-by: Benjamin Lindqvist <benjamin@eub.se>
2023-11-20 09:20:43 +01:00
Juha Heiskanen
07ae06f8fe mgmt: mcumgr: Doxygen tags update
Added a missing defgroup and ingroup for mcmumgr client
and smp client.

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2023-11-20 09:20:25 +01:00
Piotr Wojnarowski
6670dbe834 tests: drivers: intc_plic: Add tests for register index and offset
Add a test to verify that the regression from
ffb8f31bff is fixed.

Signed-off-by: Piotr Wojnarowski <pwojnarowski@antmicro.com>
2023-11-20 09:20:13 +01:00
Piotr Wojnarowski
3afe238926 drivers: intc: plic: Fix memory-mapped register offset calculation
Previously, the PLIC's registers were accessed through uint32_t *,
so all calculated offsets were effectively multiplied by
sizeof(uint32_t). Do the same manuallly now that we have
mem_addr_t/sys_read32.

Signed-off-by: Piotr Wojnarowski <pwojnarowski@antmicro.com>
2023-11-20 09:20:13 +01:00
Piotr Wojnarowski
3ef34ff6d1 drivers: intc: plic: Make function names and types consistent
`get_claim_complete_offset` and `get_threshold_priority_offset` actually
return addresses directly. Rename them to `_addr` for consistency within
the driver. Also change their return type to `mem_addr_t`.

Signed-off-by: Piotr Wojnarowski <pwojnarowski@antmicro.com>
2023-11-20 09:20:13 +01:00
Laurentiu Mihalcea
43a0839c6c drivers: dma: Add SOF host DMA driver
This commit introduces the SOF host DMA driver.
This driver is used by NXP platforms in the context of
SOF's host component to copy data from the host memory
to the firmware (local) memory. This is possible because
NXP platforms can access the host memory directly w/o
an actual DMA engine.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-20 09:19:53 +01:00
Natalia Pluta
8b2c5120aa drivers: sensor: qdec_nrfx: Add support for new QDEC instances
Introducing support for new QDEC instances in the driver.

Signed-off-by: Natalia Pluta <natalia.pluta@nordicsemi.no>
2023-11-20 09:19:45 +01:00
Natalia Pluta
f5658254e8 modules: hal_nordic: Add QDEC Kconfig symbols and translation to nrfx
Add Kconfig symbols for QDEC instances (20, 21, 130, 131) and
translation symbols used in nrfx drivers.

Signed-off-by: Natalia Pluta <natalia.pluta@nordicsemi.no>
2023-11-20 09:19:45 +01:00
Natalia Pluta
d7d11ef09f soc: arm: nordic_nrf: Add Kconfig symbols for QDEC instances
Add QDEC instances 20, 21, 130, 131

Signed-off-by: Natalia Pluta <natalia.pluta@nordicsemi.no>
2023-11-20 09:19:45 +01:00
Pieter De Gendt
0156593221 bindesc: Use zephyr_library_add_dependencies
Replace usage of add_dependencies(${ZEPHYR_CURRENT_LIBRARY} ...)

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-20 09:19:34 +01:00
Pieter De Gendt
8f8a77abc9 modules: hal_rpi_pico: Use zephyr_library_add_dependencies
Replace usage of add_dependencies(${ZEPHYR_CURRENT_LIBRARY} ...)

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-20 09:19:34 +01:00
Pieter De Gendt
58152eb938 cmake: modules: Add zephyr_library_add_dependencies extension
Add a CMake zephyr library extension for add_dependencies, similar
to the target_<func> functions.
This avoids using ${ZEPHYR_CURRENT_LIBRARY} directly.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-20 09:19:34 +01:00
Daniel Leung
f52f76fd6b doc: kernel/mm: some doxygen works
() Some kernel memory management functions were previously
   not in any group. So put them under the kernel memory
   management group, and now they appear in API doc.
() Group things together when appropriate.
() Add doc if none exists before.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-20 09:19:14 +01:00
Daniel Leung
f12d49d7ef kernel: mm: separate demand paging headers into its own file
This separates demand paging related headers into its own file
instead of being stuffed inside the main kernel memory
management header file.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-20 09:19:14 +01:00
Daniel Leung
c972ef1a0f kernel: mm: move kernel mm functions under kernel includes
This moves the k_* memory management functions from sys/ into
kernel/ includes, as there are kernel public APIs. The z_*
functions are further separated into the kernel internal
header directory.

Also made a quick change to doxygen to group sys_mem_* into
the OS Memory Management group so they will appear in doc.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-20 09:19:14 +01:00
Flavia Caforio
524ed5dbc1 drivers: counter: nrf_timer: Add event clear to set_top_value
At present, if you want to set a periodic timer again with
set_top_value, the last triggered event is not cleared. This could
result in an old event being served at the next interrupt activation.

The solution proposed in this patch adds the nrf_timer_event_clear
function into set_top_value to prevent this from happening in the
above case.

Signed-off-by: Flavia Caforio <flavia.caforio@amarulasolutions.com>
2023-11-20 09:19:02 +01:00
Andriy Gelman
0d1fa268bb drivers: clock_control: Add PWM clock device
Adds a clock control device for a PWM node, allowing the PWM
to be controlled using the clock control API.

It is a similar idea to the device driver in linux:
linux/Documentation/devicetree/bindings/clock/pwm-clock.yaml

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-20 09:18:44 +01:00
Daniel Leung
b485cd717b xtensa: remove unused z_mp_entry declaration
z_mp_entry has been removed from Xtensa architecture.
So there is no need for a function declaration. Remove it.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-17 18:23:06 -05:00
Nicolas Pitre
21d885535e MAINTAINERS: declare myself as a RISC-V collaborator
... given that 62.5% of the code in arch/riscv/core/* is mine.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-11-17 18:22:02 -05:00
Manuel Argüelles
92fb8b2238 arm: nxp_mpu: enable module's clock only when needed
NXP SYSMPU is used in other SoCs besides the Kinetis series. For
devices like S32K1xx, its bus interface clock lacks of clock gating
and it's driven by the system clock. Hence, only enable the module
clock for the Kinetis series.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-17 13:44:27 -06:00
Manuel Argüelles
da3d9197a6 include: arm: nxp_mpu: remove redundant HAL include
The inclusion of `fsl_common.h` solely for defining `NXP_MPU_BASE`
is redundant, as this symbol is not used. Consequently, this
unnecessary inclusion leads to the pervasive inclusion of HAL
headers through kernel headers.
The needed HAL definitions are already included into the NXP MPU
driver implementation via the SoC header.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-17 13:42:48 -06:00
Jun Lin
317d070222 tests: timer_behavior: increase stdev tolerance for npcx timer
Change the stdev tolerance stdev from 10 to 33 when npcx timer is used.
This is because the clock source of npcx event timer, which is used to
generate the timeout interrupt, is running at 32.768 KHz.
(i.e. 1 count = ~30.5 us.) The conversion from the absolute system timer
to the event timer count might have -30.5 ~ 30.5 deviation.
The tolerance setting is under the assumption that test sampes are
evenly located at 1030.5 and 969.5 for the worst case.

Fixes #59594

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-11-17 17:24:14 +00:00
Jun Lin
4cfd4b5379 driver: timer: npcx: fix announce/set timer timeout tick
The timer driver doesn't annouce/set the timeout at the tick boundary
but at the absolute next expiration time.
It will cause the accumatlation of the tick drift and cannot pass the
kernel/timer/timer_behavior test suite.
This commit fixes the tick drift problem by annouce the time at the tick
bouandry.

Fixes #59594

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-11-17 17:24:14 +00:00
Ian Morris
dfc747d53a samples: sensor: dht_polling: Add generic dht sample application
This simple application periodically prints the temperature and humidity
measured by one or more digital humidity/temperature sensors.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2023-11-17 10:33:02 -06:00
Ian Morris
4c92419546 drivers: sensor: hs300x: Add driver for Renesas HS300x sensors
Adds support for Renesas HS3001 and HS3003 temperature/humidity sensors
connected via an I2C bus.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2023-11-17 10:33:02 -06:00
Jamie McCrae
ce3ba0dfd2 modules: openthread: platform: radio: Rename missed type
Fixes an issue whereby a rename of a variable type has been
forgotten in an instance, which now uses the correct type name

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-17 16:00:07 +01:00
Josuah Demangeon
2dce408bc3 drivers: serial: uart_liteuart: fix interrupt-driven mode
Interrupt-driven mode was not working, and disabled by default.
When it was forced on, the behavior was to only have a few bytes:
as many as min(CONFIG_SHELL_BACKEND_SERIAL_TX_RING_BUFFER_SIZE, 9).

After the hardware FIFO was filled by software and emptied by hardware,
no interrupt occured, and enqueuing more data did never happen.

By letting the events enabled for TX (only), then interrupts are still
generated after the first transfer, and the software can then add the
subsequent transfers until all data is print: the UART works.

It does not generate endless interrupts either, which was tested by
adding litex_write8('%', UART_RXTX_ADDR) in liteuart_uart_irq_handler()
to log all interrupts events, and when there is nothing to print, no
interrupt is fired.

It was tested with the Zephyr shell.

Fixes #63794

Signed-off-by: Josuah Demangeon <me@josuah.net>
2023-11-17 15:29:14 +01:00
Alberto Escolar Piedras
bc08e801c6 native_sim build: Fix for APPLICATION_BINARY_DIR!=CMAKE_BINARY_DIR
In some cases, the APPLICATION_BINARY_DIR does not match
the CMAKE_BINARY_DIR, in those cases the native simulator
build would not find the zephyr elf file.
Fix it by using the correct variable.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-17 12:42:17 +01:00
Torsten Rasmussen
19d250e1dc sysbuild: create sysbuild_cache function
Create dedicated function, sysbuild_cache(), for handling sysbuild's
image specific cache file.

This provides a cleaner handling of said cache file, and provides a
mechanism for updating the cache file at later sysbuild CMake stages.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-17 12:41:55 +01:00
Nick Ward
cd9f307e71 drivers: gpio: shell: add vendor specific flags argument
Allow the optional setting of vendor specific flags in the conf command.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-17 12:41:14 +01:00
Nick Ward
738a1517b1 drivers: gpio: shell: optimise blink command
Use gpio toggle api instead of manually toggling.
Remove redundant text.
Print error and break from blinking if it occurs.
Only print 'how to exit' text if first toggle is successful.

Saves roughly 40 bytes.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-17 12:41:14 +01:00
Nick Ward
45509fdc0e drivers: gpio: shell: make blink command optional
Adds CONFIG_GPIO_SHELL_BLINK_CMD symbol.
Saves around 300 bytes when command is disabled.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-17 12:41:14 +01:00
Nick Ward
695a0ac503 drivers: gpio: shell: add info command
Usage:
gpio info [device]

The new command prints gpio controller information
for a specific device if specified or if no device is specified
it prints out all controller information ordered by line name.

Also added Kconfig option so this command can be removed if
resources need to be conserved.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-17 12:41:14 +01:00
Nick Ward
0df794e316 drivers: gpio: shell: improve tab complete/suggestion support
This commit implements this enhancement:
https://github.com/zephyrproject-rtos/zephyr/issues/63018

The forms of the gpio commands are now:

        gpio conf device pin ol0
        gpio set device pin 1
        gpio get device pin
        gpio blink device pin

Device name and pin subcommands now are
suggested/completed when tab is used.

Pin names are suggested with numbers and line names if
available from the gpio controller’s Devicetree node.

GPIO pin command is now limited to pins that are not assigned
as reserved.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-17 12:41:14 +01:00
Nick Ward
7a83724e0f boards: nrf52840dk_nrf52840: add gpio reserved ranges and line names
Add gpio-reserved-ranges and gpio-line-names properties.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-17 12:41:14 +01:00
Jukka Rissanen
5209666539 net: mdns: Fix compile error when using clang
No issues with gcc but clang gives this error for
the *v4 variable few lines below.

.../lib/dns/mdns_responder.c:712:2: error: expected expression
        struct net_context *v4;

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Jukka Rissanen
9246d98a6a samples: net: mdns_responder: Add VLAN support
Add virtual LAN support to the sample so that it is easier to
test the multiple mDNS listener feature implemented in previous
commit.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Jukka Rissanen
5049a049db net: mdns: Create a listener to all available network interfaces
Instead of just listening first network interface in the system,
install a multicast listener to all available network interfaces.

Fixes #18748

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Jukka Rissanen
dd2a222086 net: if: Add helper to calculate number of interfaces
Add a helper macro that can be used at runtime to return
the number of network interfaces in the system.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Jukka Rissanen
3f891ced3a net: conn: Check also network interface for duplicates
When verifying if there are duplicate connections, check
also network interface.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Jukka Rissanen
8157b48734 net: context: Add function to bound to a network interface
Helper function that marks the net_context to bound to a
network interface.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Jukka Rissanen
31ee2e678d net: context: Allow binding to different interfaces
Allow user to bind to different network interface. This is
useful if binding a multicast address to a certain network
interface.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Adam Wojasinski
599bcb1e5d drivers: watchdog: wdt_nrfx: Implement disable API
nRF5340 SoC has `TASK_STOP` this patch implements disabling
watchdog for that SoC and enables allowing WDT to STOP in WDT setup.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-17 10:00:53 +01:00
Adam Wojasinski
968916572c drivers: watchdog: wdt_nrfx: Remove config field from config structure
The field config of `nrfx_wdt_config_t` type is redundant in device
config structure. Instead of that local variable is used in the setup
function.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-17 10:00:53 +01:00
Anas Nashif
f25e2201a4 tests: fix various test identifiers
Fix a few inconsistent test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-17 09:27:40 +01:00
Fabio Baltieri
190f0dde26 doc: migration-guide: annotate various entry with the PR numbers
Add a PR number reference to various migration guide entries.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-17 09:27:26 +01:00
Filip Kokosinski
3b96c2421e MAINTAINERS: add the PLIC interrupt controller driver to the RISC-V area
This commit adds the RISC-V Platform-Level Interrupt Controller driver to
the RISC-V area of maintenance.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-11-17 09:26:33 +01:00
Jonathan Rico
dfd7624270 Revert "Bluetooth: att: use a dedicated metadata struct for RSP PDUs"
This reverts commit 14858d96d8.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-11-17 09:26:08 +01:00
Jonathan Rico
bd9c35b496 Revert "Bluetooth: att: re-use REQ buf for RSP"
This reverts commit aa7954bd47.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-11-17 09:26:08 +01:00
Jonathan Rico
530e845f92 Revert "Bluetooth: att: don't re-use the ATT buffer for confirmations"
This reverts commit 4cd0748a40.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-11-17 09:26:08 +01:00
Guennadi Liakhovetski
e0ea44cbfa llext: fix symbol address calculation for ET_DYN
Symbopl tables of ELF objects of type ET_REL contain offsets instead
of addresses as for ET_DYN.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-17 09:25:42 +01:00
Guennadi Liakhovetski
21cea07b8c llext: fix a confusion between section indices
A common pattern is used throughout llext.c:

ext->mem[ldr->sect_map[sym.st_shndx]]

where ldr->sect_map[sym.st_shndx] actually contains indices from
enum llext_section but ext->mem[] is indexed, using enum llext_mem
values. Fix this by changing ldr->sect_map[] to actually contain
enum llext_mem values.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-17 09:25:42 +01:00
Guennadi Liakhovetski
eb3071ebe8 llext: check for an allocation failure
Add a missing allocation failure check in llext_export_symbols().

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-17 09:25:42 +01:00
Guennadi Liakhovetski
fb92636056 llext: remove a symbol count copy
The symbol count in struct llext_loader is redundant, we already have
one in struct llext_symtable, accessible via struct llext. Remove the
redundant copy.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-17 09:25:42 +01:00
Guennadi Liakhovetski
db43d35f61 llext: (cosmetic) remove an unused variable
op_code in llext_link() is unused, remove it.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-17 09:25:42 +01:00
Guennadi Liakhovetski
60aef84cad llext: (cosmetic) use a local variable
Simplify llext_copy_symbols() by using a local variable to store a
pointer.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-17 09:25:42 +01:00
Guennadi Liakhovetski
fef999c06f llext: (cosmetic) remove "inline" in llext.c
Let the compiler decide which functions to inline.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-17 09:25:42 +01:00
Aleksander Wasaznik
bf2f065876 Bluetooth: Host: Remove ifdef around sc_indicate
Instead, `sc_indicate` is defined as a no-op when if would previously
not be defined.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-11-17 09:25:34 +01:00
Fabio Baltieri
3452f9fa4e input: it8xxx2_kbd: drop unnecessary include
Drop the atomic.h included, this does not use any atomic anymore.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-17 08:25:27 +00:00
Fabio Baltieri
716281b5c9 input: kbd_matrix: move few assignment off the declaration area
Move a couple of automatic variable assignment off the declaration
block, leaves only structure aliases there, makes it a bit easier to
read.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-17 08:25:27 +00:00
Fabio Baltieri
eaac842b82 input: kbd_matrix: move scan_cycles_idx increment
Move the scan_cycles_idx increment in input_kbd_matrix_update_state
as it's only used there, use a modulo operation rather than the if to
handle the index wrapping condition.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-17 08:25:27 +00:00
Fabio Baltieri
2cf9d32b29 input: kbd_matrix: use CLAMP instead of two ifs
Replace the wait_period_us clamping functions using a single CLAMP,
reposition the debug log as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-17 08:25:27 +00:00
Fabio Baltieri
c639ab8e57 input: kbd_matrix: clean debug logs
Tweak a couple of debug log entries.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-17 08:25:27 +00:00
Fabio Baltieri
958cd4ff53 input: kbd_matrix,npcx: drop explicit LOG_LEVEL define
Use the LOG_MODULE_REGISTER argument instead.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-17 08:25:27 +00:00
Alberto Escolar Piedras
78eebda134 samples shell/devmem_load: Replace native_posix w native_sim
In the docs replace references to native_posix with native_sim
Switch the default test platform to native_sim from native_posix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-17 09:23:48 +01:00
Alberto Escolar Piedras
e2927426d1 samples shell_module: Replace native_posix w native_sim
Replace native_posix with native_sim as the
default integration platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-17 09:23:48 +01:00
Alberto Escolar Piedras
65fd7d4246 samples shell/fs docs: Enable for native_sim
Instead of always enabling fuse for native_posix,
let's give users instructions on how to enable it
while building.

In the documentation: replace the references to native_posix
with native_sim, improve the links, mention the flash
simulator, and provide a separate subsection for FUSE access.

Add a separate test for the sample with fuse access enabled
and be sure it is possible to run both this and the basic
one with native_sim (was filtered out before for native_posix)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-17 09:23:48 +01:00
Alberto Escolar Piedras
ebd70f959f flash host fuse access: Fix for native_sim
For native_sim we need to have the fuse library linked with the
native simulator runner, not with the embedded code.
Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-17 09:23:48 +01:00
Ibe Van de Veire
22d470e6a5 drivers: eth_mcux: Add net_if_mcast_cb for IPv4
Added ability to receive mcast callbacks for both IPv4 and IPv6 instead of
only IPv6.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2023-11-17 09:23:39 +01:00
Seppo Takalo
8cfede8f2e net: lwm2m: Support DTLS Connection Identifier
DTLS Connection Identifier support requires DTLS stack
that supports it. MbedTLS support in Zephyr is already
ported in, also some offloaded sockets support it.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-17 09:23:29 +01:00
Rodrigo Peixoto
100836ee9e zbus: fix warning messages when mixing C and C++ files
After some further investigation, I could find the current solution to
enable zbus channels (by using ZBUS_CHAN_DECLARE) to be used in C++
files, which generates a warning when we mix C and C++ code. This fixes
the issue by using an approach to add the extern keyword only when the
file is being compiled with a C++ compiler.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-11-17 09:22:29 +01:00
Benedikt Schmidt
3441fee460 drivers: spi: Implement workaround for unreliable busy flag
For some STM32 MCUs the busy flag of SPI is unreliable. This is a known
issue of the device and described in the device errata.
As a fix implement a configurable timeout which ensures that a call
to spi_transceive will eventually return.
Fixes #64927

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-11-17 09:22:18 +01:00
Flavio Ceolin
eb323be088 tests: smbus: Fix user mode usage
APIs that set callback don't have syscalls and their
tests have to run in supervisor mode.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-17 09:22:05 +01:00
Flavio Ceolin
3763737326 smbus: Remove syscalls with callbacks
Remove syscalls that allows user threads to set callbacks that
will be invoked by the kernel.

Userspace is not trusted we can't allow a user thread set callbacks
that will be invoked by the kernel and run with supervisor privileges.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-17 09:22:05 +01:00
Anas Nashif
21366fea19 ci: do not mark coverity issues as stale
Coverity issues need to be resolved and closed by owners, not by the
bot. Other wise we will continue scanning them and reporting them over
and over.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-17 08:41:30 +01:00
Henrik Brix Andersen
256adeebd9 Revert "drivers: watchdog: wdt_nrfx: Implement disable API"
This reverts commit 415b6fc945.

This does not even compile as it attempts to do assignment to a read-only
object (config->config.behaviour).

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-16 19:09:49 +01:00
Girisha Dengi
11857e3509 MAINTAINERS: Update maintainers/codeowners for Intel Agilex boards
Corrected/Updated proper github account names for maintainers
and codeowners file.

Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
2023-11-16 11:51:39 -06:00
Fabio Baltieri
e87ded3f03 input: it8xxx2: use the generic keyboard code
Split the common keyboard scanning code out of the ITE specific driver
and use the generic code instead.

Note that this changes few timing defaults, the change is not
significant though so I suspect there's no difference in practice.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-16 17:54:00 +01:00
Manuel Argüelles
24c1b42741 drivers: ethernet: nxp_s32: include soc.h
The SoC header already includes the necessary device headers for
all SoC variants supported.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-16 17:53:43 +01:00
Manuel Argüelles
2c9255fbba soc: nxp_s32: include soc.h instead of individual headers
The SoC header already includes the necessary device headers for
all SoC variants supported.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-16 17:53:43 +01:00
Manuel Argüelles
927445325c soc: nxp_s32: s32ze: include device headers in soc.h
To simplify the inclusion of device headers in common code for
NXP S32 devices, make sure all SoCs are including their respective
device headers. This PR adds the missing headers for S32Z/E.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-16 17:53:43 +01:00
Alberto Escolar Piedras
b9977592a5 doc/develop/test/bsim: Update with nrf5340bsim info
Update this page to account for the fact that now
we have several bsim boards in tree.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 17:53:25 +01:00
Alberto Escolar Piedras
05c03eb258 bluetooth dev doc: Update with nrf5340bsim info
Now that we also have this target board, we have
some more options.
Update the docs to reflect these.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 17:53:25 +01:00
Alberto Escolar Piedras
ceba001bad bsim boards doc: Update general bsim boards documentation
Polish and correct the documentation to reflect the use
of the native_simulator, and the fact that we have
now more than one bsim board in tree.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 17:53:25 +01:00
Alberto Escolar Piedras
faf8bb0696 boards nrf5340_bsim doc: IPC and MUTEX peripherals are now supported
Update this board docs to reflect that these 2 peripherals
are now supported.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 17:53:25 +01:00
Andrej Butok
3b5fd5fc92 boards: arm: LPC55Sx6: Enable LinkServer and PyOCD runners.
Enable LinkerServer and PyOCD runners for LPC55Sx6 EVKs,
where it is supported.
It was tested on a real HW.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-16 16:56:07 +01:00
Nazar Palamar
47ad8f047c dts: binding: i2c: Update description for Infineon CAT1 i2c driver
- added example of usage Infineon CAT1 i2c driver
- added note that pinctrl nodes need to be configured
  as open-drain and input-enable.

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2023-11-16 16:52:52 +01:00
Nazar Palamar
de4fc8bf75 boards: arm: CY8CPROTO-062-4343W: update bias for i2c
Update pin control bias mode for i2c3 pins:
&p6_0_scb3_i2c_scl {
	drive-open-drain;
	input-enable;
};

&p6_1_scb3_i2c_sda {
	drive-open-drain;
	input-enable;
};

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2023-11-16 16:52:52 +01:00
Manuel Argüelles
b911694f9b dts: pinctrl: kinetis: make slew-rate optional
Setting slew-rate property is not supported on Kinetis KE series
and the value will not have effect, so this property should not
be required.

We are also planning to reuse the Kinetis pin control binding and
associated driver for NXP S32K1xx devices, which doesn't support
setting the slew-rate rate as well.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-16 16:52:35 +01:00
Lingao Meng
d896213ef4 doc/release: Add incompatible change for bt mesh
https://github.com/zephyrproject-rtos/zephyr/issues/57267

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-16 16:52:14 +01:00
Lingao Meng
2cd8d40b97 Bluetooth: Mesh: Split Model Structure
Split Model Variables to separate structue.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-16 16:52:14 +01:00
Lingao Meng
ab08f34fd9 Bluetooth: Mesh: Make bt_mesh_model as rodata
Since model struct most of member should not change at run time,
so mark as const will be suitable and safely.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-16 16:52:14 +01:00
Joakim Andersson
df7114456e tfm: Change default TF-M model for profile small to match profile conf
Change the default TF-M model for small profile to match the
configuration set in the profile small configuration file.
Otherwise we would be overriding the profile default.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-11-16 16:52:03 +01:00
Flavio Ceolin
d027d26298 logging: LOG_PRINTK disabled in userspace
LOG_PRINTK needs to run in supervisor mode and since there
is no syscall that allows it to be called from userspace, this
option has to be disabled when userspace is selected.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-16 09:25:21 -05:00
Flavio Ceolin
a48e68441b logging: Remove syscall for z_log_msg_runtime_vcreate
This syscall is completely problematic in userspace, it does
not check ANY parameter that is given and it uses variadic argument
that are not copied / checked before being used in the implementation,
instead it just pass a pointer to user stack with unknown data is
blindly consumed by the kernel.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-11-16 09:25:21 -05:00
Anas Nashif
538abf3332 doc: clarify role of CODEOWNERS and MAINTAINERS files
Change docs to use MAINTAINERS file as the main file for managing code
areas and 'ownership'.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-16 08:19:15 -05:00
Anas Nashif
feb6742a8e CODEOWNERS: cleanup and remove duplicates
Remove anything that would be covered by MAINTAINERS.yml leaving only
mostly instances that are not covered.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-16 08:19:15 -05:00
Alberto Escolar Piedras
063ce9caf5 samples/subsys/usb/hid: Enable for native_sim
Allow this sample in native_sim, and set it as default
integration platform instead of native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:37:59 +01:00
Alberto Escolar Piedras
5bf7109767 samples/subsys/usb/cdc_acm: Enable for native_sim
Allow this sample in native_sim, and set it as default
integration platform instead of native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:37:59 +01:00
Alberto Escolar Piedras
5776d74943 samples/subsys/usb/console: Remove platform_exclude
native_posix and native_sim are already excluded thru
the lack of required tags.
Let's remove the platform exclude instead of adding also
native_sim to it explicitly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:37:59 +01:00
Alberto Escolar Piedras
9fe225d2b8 doc/connectivity/usb: Replace references to native_posix w native_sim
Replace the references to native_posix with native_sim,
and update link names accordingly.

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:37:59 +01:00
Maximilian Deubel
e7123253a3 boards: arm: nrf9131ek: add docs
This patch adds a readme file for the nRF9131-EK.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-11-16 09:32:42 +01:00
Joakim Andersson
1c8b668d23 tfm: Fix include order between platform_ns and tfm_api_ns libraries
Fix include order between platform_ns and tfm_api_ns libraries.
platform_ns functions may depend on tfm_api_ns.
This would typically be platform specific IOCTL services added to the
platform_ns library requiring the tfm_platform_ioctl from the
TF-M platform partition exposed in tfm_platform_api.c

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-11-16 09:31:41 +01:00
Andrei Emeltchenko
1af78e0481 boards: up_squared_pro_7000: Update documentation
Add chapter describing serial console connection and cleanup.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-16 09:30:45 +01:00
Fabio Baltieri
a089fa241f input: npcx: drop the input_ prefix from the internal functions
Drop the input_ prefix fromthe internal functions. Trying to unify the
input drivers to use the same style for function naming, this makes it a
bit more compact and makes it easier to distinguish the common keyboard
structures and functions from the driver ones.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-16 09:30:34 +01:00
Lucas Tamborrino
16629cbabd tests: coredump: Remove matching pattern
On xtensa architectures the string "ZEPHYR FATAL ERROR"
comes after the coredump itself. The ordered regex will
incorrectly fail for this arch.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-11-16 09:30:19 +01:00
David Brown
8c74583125 boards: stm32h747i_disco: Add Segger JLink support
Add configuration lines to be able to use the jlink debugger with this
board.  The disco board leaves the debug lines tri-stated until connecting
to stlink, so it is safe to just plug in the jlink and use it.

Signed-off-by: David Brown <david.brown@linaro.org>
2023-11-16 09:29:48 +01:00
Johan Hedberg
d10e0e5247 MAINTAINERS: Fixes to Networking Buffers section
Add a missing c-file (buf_simple.c) and use a dedicated label for
Networking Buffers. Also add explicit excludes of the same files to the
Networking section. Without the dedicated label it seems that the wrong
maintainer gets set as assignee for pull requests.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-16 09:29:40 +01:00
Henrik Brix Andersen
58e1963c6b drivers: can: mcan: use __nocache_noinit for MRAM data variables
Use __nocache_noinit for the Bosch M_CAN MRAM data variables on SoCs
without dedicated MRAM.

Fixes: #64691

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-16 09:29:09 +01:00
Henrik Brix Andersen
afe1ca6847 linker: allow tagging variables with __nocache_noinit
Allow tagging variables with __nocach_noinit.

With CONFIG_NOCACHE_MEMORY=y, this will resolve to __nocache, which implies
__noinit. With CONFIG_NOCACHE_MEMORY=n, this simply resolves to __noinit.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-16 09:29:09 +01:00
Henrik Brix Andersen
c9da68290a modules: canopennode: use zephyr/dsp/types.h for float32_t/float64_t
Include the zephyr/dsp/types.h header for float32_t/float64_t type
definitions to avoid conflicts with other subsystems including this header.

Add compile-time asserts to ensure the typedefs meet the requirements of
the CANopenNode module.

Fixes: #63896

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-16 09:28:59 +01:00
Mike J. Chen
85fb2873e4 logging: log_core: support CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD value of 1
Previous implementation didn't work if CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD
was set to 1. Minmimum value that worked was 2. A value of 1 would
just be ignored and act like 0 with threshold triggerring disabled.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-11-16 09:28:26 +01:00
Cong Nguyen Huu
e59991abfe drivers: spi_nxp_s32: update StateIndex configuration
Set Spi StateIndex equal to index of DT Spi node.
Because number of State array is set base on
number of DT Spi node used. If StateIndex is set
equal to Spi instance, StateIndex can be over array.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-11-16 09:28:16 +01:00
Cong Nguyen Huu
8dcd61e36e soc: nxp_s32: pinctrl: update to RTD 1.0.0
Add alias "FEATURE_SIUL2_MAX_NUMBER_OF_INPUT"
for compatibility with with previous RTD versions.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-11-16 09:28:16 +01:00
Cong Nguyen Huu
5095d9d9e7 drivers: mbox_nxp_s32_mru: update to RTD 1.0.0
Update NOTIFYAdd configuration

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-11-16 09:28:16 +01:00
Cong Nguyen Huu
e02c27aeb8 drivers: counter_nxp_s32_sys_timer: update to RTD 1.0.0
Rename function Stm_Ip_GetInterruptFlag to Stm_Ip_GetInterruptStatusFlag.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-11-16 09:28:16 +01:00
Cong Nguyen Huu
2a932ccab1 drivers: uart_nxp_s32_linflexed: update to RTD 1.0.0
Set default configuration BaudRateDivisor = 16U.

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-11-16 09:28:16 +01:00
Cong Nguyen Huu
da35f117a4 dt-bindings: clock: update clock to RTD 1.0.0
Update clock sources

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-11-16 09:28:16 +01:00
Alberto Escolar Piedras
f9685cd347 include: util: Add CONCAT as a general Zephyr utility macro
Provide the CONCAT macro as a general Zephyr utility macro
to paste two tokens during the preprocessor pass.

Note that this macro is based on the _CONCAT macro defined
in toolchain/common.h. This toolchain header needs a CONCAT
like macro, but requires minimal include dependencies.
So we leave _CONCAT where it is.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:27:29 +01:00
Alberto Escolar Piedras
e92021b7b5 arm arch: Remove definition of CONCAT and TOSTR
One of the ARM architure files, defined since long ago
CONCAT and TOSTR having the exact same purpose as Zephyr's
_CONCAT & STRINGIFY.

This arm header file is included thru dependencies into
almost all code built for ARM, which leads to these
macros being usable everywhere.

This can easily make developers belive the macros
are provided by Zephyr itself, and use them, leading
to code which is not portable between architectures.

Remove this macros definitions from the architecture
headers.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:27:29 +01:00
Alberto Escolar Piedras
ea2185dd1c arm arch: Replace use of TOSTR with STRINGIFY
One of the ARM architure files, defined since long ago
TOSTR having the exact same purpose as Zephyr's STRINGIFY.

Remove the use of this macro in the tree
(only used in another ARM header file) in favour
of STRINGIFY.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:27:29 +01:00
Xudong Zheng
a13364112e boards: arm: adafruit_feather_nrf52840: add voltage divider for battery
This allows firmware to read the voltage for LiPoly battery.

Schematic:
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/downloads

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2023-11-16 09:27:13 +01:00
Adam Wojasinski
415b6fc945 drivers: watchdog: wdt_nrfx: Implement disable API
nRF5340 SoC has `TASK_STOP` this patch implements disabling
watchdog for that SoC.

Changed body of `wdt_nrf_setup()` to utilize `nrfx_wdt_reconfigure()`
driver API.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-11-16 09:27:03 +01:00
Andriy Gelman
325e28218f drivers: spi: xmc4xxx: Fix compiler warning with debug flags enabled
Fixes warning when CONFIG_DEBUG_OPTIMIZATION=y:

zephyrproject/modules/hal/infineon/XMCLib/drivers/inc/xmc_usic.h:2132:18:
warning: 'clock_settings' may be used uninitialized [-Wmaybe-uninitialized]
 2132 |                  (uint32_t)passive_level |
      |                  ^~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-16 09:26:50 +01:00
Andriy Gelman
a34d4d1ce9 drivers: spi: xmc4xxx: Fix potential runtime error
Fixes an unhandled interrupt runtime crash if CONFIG_SPI_XMC4XXX_DMA=y and
CONFIG_SPI_XMC4XXX_INTERRUPT=n.

The unhandled interrupt error is triggered because irq_enable() was called
without calling IRQ_CONNECT() when CONFIG_SPI_XMC4XXX_INTERRUPT=n.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-16 09:26:50 +01:00
Andriy Gelman
8246d14742 drivers: xmc4xxx: spi: Update buffers before transmitting data
In the interrupt driven spi, spi_context_update_tx() is called once
from the calling thread and then once in spi_xmc4xxx_isr() after each
new byte is received. This actually means that there is one extra call to
spi_context_update_tx(). This is fine if spi_context_update_tx() complete
it's call in the calling thread before the interrupt fires, however, this
cannot be guaranteed especially if the calling thread is pre-emptive and
has a low priority.

Fix this by calling spi_context_update_tx() in the calling thread before
transmitting the first byte.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-16 09:26:50 +01:00
Gabriel Freitas
eaec581fb9 boards: arm: add toradex verdin imx8m plus board
Add Verdin iMX8M Plus board with i.MX8MP SoC and ARM Cortex-M7 processor.
Add two targets (DDR and ITCM) for the iMX8M Plus board.
Port and documentation are based on NXP MIMX8MM EVK board.
This code is intented to be used with the Cortex-M7.

Signed-off-by: Gabriel Freitas <gabriel.freitas@toradex.com>
2023-11-16 09:25:53 +01:00
Gabriel Freitas
eceb27c6c8 dts: add support for uart1 usage on imx8ml_m7 devicetree include file
Add support for UART1 usage by adding uart1 node and configuration
to the i.MX 8ML devicetree include.

Signed-off-by: Gabriel Freitas <gabriel.freitas@toradex.com>
2023-11-16 09:25:53 +01:00
Vilem Gottwald
1c7eb9ee72 samples: synchronization: add static thread
Replace one of the dynamic threads with a static thread to show the
all the possible ways of creating threads.

Signed-off-by: Vilem Gottwald <xvigo.dev@gmail.com>
2023-11-16 09:25:33 +01:00
Vilem Gottwald
5a4e0af54a samples: synchronization: fix comments & structure
This commit has no functional changes. It makes the comments up to date
with the code and changes the code structure to ensure consistency.

These inconsistencies were introduced when the static thread definition
was replaced with dynamic, but the comments remained unchanged.

 - Fixed outdated comments about the static approach that were
   not corresponding to the code.
 - Rearrange thread definitions, to obtain similar code structure
   for both threads.

Signed-off-by: Vilem Gottwald <xvigo.dev@gmail.com>
2023-11-16 09:25:33 +01:00
Armando Visconti
d17b1c8cbb tests: build_all: sensor: fix i2c.dtsi typo
Fix lps22df i2c address in order to be unique.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-16 06:56:31 +00:00
Mulin Chao
76b0aab6cc soc: arm: npcx: fix clock reference of APB4/FIU1 buses
This CL fixes the clock reference of APB4/FIU1 buses by introducing new
Kconfig options.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-11-16 06:50:57 +00:00
Daniel Leung
483dd8a40a doc: doxygen: move mpsc and spsc under data structure API group
Both MPSC and SPSC should be under data structure API group
instead of kernel API group. So move them, and fix some doxygen
cosmetic grouping issues for SPSC.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-15 17:35:06 -05:00
Benjamin Cabé
155420522b doc: Fix occurrences of repeated words
Another round of repeated words cleanup. This commit tries to keep the
diff minimal and line wrapping was mostly left intact in the touched
files, as having them consistent across the documentation is probably
the topic of a future tree-wide cleanup (or not)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-15 17:34:39 -05:00
Benjamin Cabé
05e6e1ce15 scripts: sync spelling.txt with version from Linux kernel v6.7-rc1
Sync the spelling.txt file with a recent version of the one found in
Linux kernel.
List sorting was preserved (however inconsistent it might be) to
simplify future syncs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-15 17:33:17 -05:00
Benjamin Cabé
78afda36f1 scripts: Add "the the" as a common typo in spellchecker
Somehow this is seems to be a very common typo. Adding it to spelling.txt
 to catch it as part of compliance check.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-15 17:33:17 -05:00
Declan Snyder
ad3b3a9b93 drivers: memc_nxp_flexram: Use nodelabel for GPR
Get GPR base address using nodelabel as this will align for all the
current in tree platforms. Currently inst 0 of the compat gets wrong
node and base address on RT11xx.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-15 15:04:39 -06:00
Declan Snyder
447f12d942 drivers: nxp_flexram: Fix GPR 17 calculation
GPR17 calculation for configuration of RAM banks is incorrect,
bit shift should be 2 per idx, not 1, this is major bug that needs
correcting, currently all RT boards are affected with wrong
configuration.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-15 15:04:39 -06:00
Krzysztof Chruściński
18d28ea144 linker: common-rom-logging: Use DEVNULL_REGION only if it exists
Log string removal is by default enabled for RISCV and Cortex-M
and support is added to the default linker template. However, if
SoC is not using default linker template then DEVNULL_REGION is
not defined. In that case string removal cannot be used.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 22:04:10 +01:00
Benjamin Cabé
7433a203ef doc: boards: Clean up repeated words
Removed a bunch from repeated words across board READMEs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-15 22:01:07 +01:00
Manuel Argüelles
1a05cfc03a soc: nxp_s32: consolidate part number options
Currently, the NXP S32 SoCs have three redundant Kconfig hidden
options to define the part number. To streamline this, we will
retain `CONFIG_SOC_PART_NUMBER` to store the part number as a
string and `CONFIG_SOC_PART_NUMBER_<part>` that can be selected
by the boards.

Furthermore, for drivers requiring conditional code compilation
based on the target SoC, they should utilize the series or SoC
config option as applicable, instead of the part number config.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-15 10:25:43 -06:00
Manuel Argüelles
8ca4f5b4a1 soc: nxp_s32: s32k3: drop M7 suffix from options
The existing S32K3 Kconfig options employ the `M7` suffix, which is
redundant given that all cores in this series utilize an Arm Cortex-M7
core. Therefore, we should remove it.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-15 10:25:43 -06:00
Manuel Argüelles
589f3f435b soc: nxp_s32: rename s32k to s32k3 for series alignment
To accommodate support for S32K1 devices, it is necessary to rename
the existing `s32k` directory, which currently houses support for
the S32K3 series, to align with the respective series names. This
adjustment is necessary given the distinct differences in core
architecture, MPU, peripherals, and other key aspects between
the two series.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-15 10:25:43 -06:00
Yong Cong Sin
72fea5df56 shell: backends: uart: add public function to access smp shell data
`smp_shell_input_timeout_handler`. Create a public function in
the `shell_uart.c` for it to get the pointer to the
`smp_shell_data` and fix the compilation error.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-15 16:38:16 +01:00
Andrej Butok
287b30eb78 doc: Fix double 'the'
Fix double 'the' in all .rst documentation.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-15 14:25:11 +00:00
Daniel Leung
6bb46c7fe7 ipc: pbuf: fix incorrect doxygen group
The ipc/pbuf was tagged as kernel API, which is not correct.
As this is for IPC, move it under IPC doxygen group and also
give it its own subgroup. So now the packed buffer API appears
under IPC in API doc.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-11-15 14:18:14 +00:00
Bartosz Bilas
24b004faee dts: max20335-charger: make constant-charge-current/voltage props required
There are no default values for those properties
in the driver so let's make them required.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-15 14:17:57 +00:00
Bartosz Bilas
350747cd09 dts: bq24190: make constant-charge-current/voltage properties required
There are no default values for those properties
in the driver so let's make them required.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-15 14:17:57 +00:00
Guennadi Liakhovetski
6246caa643 llext: (cosmetic) rename a variable to match its role
str_cnt in llext_find_tables() is actually used to count sections,
rename it to better match that usage.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-15 14:17:08 +00:00
Guennadi Liakhovetski
6058512b06 llext: use provided size for more generic code
Use .sh_entsize instead of sizeof(elf_rel_t) to make code suitable
for both REL and RELA types.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-15 14:17:08 +00:00
Guennadi Liakhovetski
68b4898b7e llext: skip first dummy symbol table entry
The first entry in the symbol table is empty, skip it.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-15 14:17:08 +00:00
Guennadi Liakhovetski
a88facacaa llext: clarify the use of loop variables, simplify code
Several cosmetic changes with no change in functionality:

The pos variable in multiple functions is used as a loop variable -
it's initialised before the loop starts and then it's incremented for
each loop iteration. Move it to the loop header for readability.

"return ret" is clearer than "goto out" where the "out" label does
nothing but "out: return ret" because one sees immediately that the
function is terminated at that location with no further actions
without the need to check the "out" label.

k_heap_free(heap, NULL) is valid, no need to check the address to be
freed for NULL.

Object counters can be simple (unsigned) integers, no need to make
them size_t or elf_word.

"return 0" is simpler than "return ret" because it shows the return
value immediately without the need to check what it can be at that
location.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-15 14:17:08 +00:00
Carles Cufi
e91040917c doc: Reuse the same Zephyr SDK installation instructions
Instead of keeping 2 copies of the same Zephyr SDK installation
instructions, reuse a single copy by including it in the getting stated
guide from the Zephyr SDK doc page.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-15 14:03:31 +00:00
Carles Cufi
7fc83e36a3 doc: gsg: macOS: Do not require wget, use curl instead
macOS ships with curl by default. There's no need to add additional
tools to the installation when a perfectly good one ships with the OS.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-15 14:03:31 +00:00
Fabian Blatz
84c7f2fe0a modules: lvgl: Fix usage of LVGL log levels
Introduces a Kconfig symbol `LV_Z_LOG_LEVEL` because contrary to Zephyr the
numerical value of log levels in LVGL increases with severity. Also support
for the `LV_LOG_LEVEL_USER` is added.

Resolves issue #64351.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-11-15 14:54:47 +01:00
Fabian Blatz
92560ac095 manifest: update LVGL to add Kconfig guard
Related to zephyrproject-rtos/lvgl#48

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-11-15 14:54:24 +01:00
Robert Lubos
c7ac921640 net: loopback: Register IPv4 netmask
A proper netmask should be set on the loopback interface, so that
source address selection work properly when there are multiple
interfaces in the system.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-15 13:53:27 +01:00
Anas Nashif
d94bdafda6 tests: clock_control: cleanup test tags and unify them
Remove platform specific tags and be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-15 07:51:08 -05:00
Anas Nashif
153e6d9dc7 tests: uart: cleanup test tags
Remove platform specific tags and be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-15 07:51:08 -05:00
Anas Nashif
743564e89e tests: dac: cleanup test tags
Remove platform specific tags and be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-15 07:51:08 -05:00
Anas Nashif
131aa56900 tests: i2c: cleanup test tags
Remove platform specific tags and be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-15 07:51:08 -05:00
Anas Nashif
d9d7e6a2f4 tests: watchdog: cleanup test tags
Remove platform specific tags and be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-15 07:51:08 -05:00
Anas Nashif
9ff81c1541 tests: pwm: cleanup test tags
Remove platform specific tags and be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-15 07:51:08 -05:00
Anas Nashif
093f9a9df2 tests: adc: cleanup test tags
Remove platform specific tags and be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-15 07:51:08 -05:00
Fabio Baltieri
fd9a464495 toolchain: llvm: use the "none" vendor triplet
This was submitted with "cros" in 77dde5dc9f, it was meant to be "none".

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-15 13:05:01 +01:00
Sebastian Bøe
6348a973c3 soc: arm: Remove CPU_HAS_NRF_IDAU's dependencies
CPU_HAS_NRF_IDAU is depending on SOC_SERIES_NRF91X and
SOC_NRF5340_CPUAPP.

This makes it more difficult to have an out-of-tree nrf SOC.

It is also an unnecessary dependency. There is no prompt for
CPU_HAS_NRF_IDAU, so it will not show up in menuconfig and it won't be
possible to enable it from a users Kconfig fragment.

The only way to enable it is to select it, and those that select this
option can themselves make sure that they only do so when appropriate.

Also, move NRF_SPU options out to SOC Kconfig files to also make
out-of-tree SoCs possible. With the added benefit of not polluting the
common soc/arm/Kconfig.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2023-11-15 12:15:49 +01:00
Andrej Butok
6bd52ae87f doc: dlist: Add "container struct type pointer" description
Add "container struct type pointer" description
to SYS_DLIST_FOR_EACH_CONTAINER() and SYS_DLIST_FOR_EACH_CONTAINER_SAFE().

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-15 12:09:46 +01:00
Jiafei Pan
5b99d826b2 west.yml: update hal_nxp commit
Update to 03bd989de4d2de151470e8b6068bc5686f3fc84c

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2023-11-15 11:42:06 +01:00
Jiafei Pan
8fe2c95807 soc: arm64: mimx8m & 9: define SOC name followed by Core name
In hal driver, MCUX_DEVICE is defined from CONFIG_SOC, so unify
MCUX_DEVICE definition with mcux-sdk.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2023-11-15 11:42:06 +01:00
Jakub Michalski
9265d2de0c drivers: gpio: add rzt2m gpio driver
Add Renesas rzt2m gpio driver with basic functionality.
It supports pin mode configuration and writing/reading to/from gpio ports.
Includes dts changes to build blinky sample.

Signed-off-by: Jakub Michalski <jmichalski@internships.antmicro.com>
2023-11-15 11:41:35 +01:00
Wojciech Sipak
9e44f59e9a drivers: pinctrl: add RZT2M driver
This adds a new driver for Renesas RZ/T2M.
The driver allows configuration of pin direction,
pull up/down resistors, drive strength and slew rate,
and selection of function for a pin.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2023-11-15 11:41:35 +01:00
Wojciech Sipak
4e35d0e354 drivers: serial: add RZT2M uart driver
This adds a UART driver for the Renesas RZ/T2M
Serial Communication Interface.
The driver implements:
* Polling API,
* Interrupt-driven API.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2023-11-15 11:41:35 +01:00
Wojciech Sipak
b1c83c0335 soc: Add support for RZ/T2M
This adds a new SoC: SOC_RENESAS_RZT2M
and a new board: rzt2m_startek_kit

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
Co-authored-by: Roman Dobrodii <rdobrodii@antmicro.com>
2023-11-15 11:41:35 +01:00
Fabio Baltieri
256bc860cf input: add a gpio based keyboard matrix driver
Add a GPIO based keyboard matrix driver using the generic keyboard
matrix code.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-15 11:41:25 +01:00
Fabio Baltieri
be5cb7af7c input: kbd_matrix: move the header to the project wide include directory
Move the input_kbd_matrix.h header out of drivers/ and into include/,
this allows external drivers to use it and doxygen to pick it up.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-15 11:41:25 +01:00
Fabio Baltieri
297c41031b doc: input: add a input_kbd_matrix group, fix few missing doc entries
Add a input_kbd_matrix doxygen group and add this to the other Input
APIs page, add few missing argument documentation entries.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-15 11:41:25 +01:00
Fabio Baltieri
0c00b6e0ab input: kbd_matrix: make the api field a pointer
The API field of input_kbd_matrix_common_config should have been a
pointer from the start, clang-16 caught this with a compiler warning.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-15 11:41:25 +01:00
Fabio Baltieri
15e92d5e5c input: kbd: make row and col size optional add extra macro
Change the row-count and col-count to be optional in the generic
binding, add a second pair of macro to allow the implementation to
specify the numbers from a different property.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-15 11:41:25 +01:00
Andrej Butok
2e97e5daa8 doc: mpsc: Add missed 'end'
Adds missed 'end' in the 'Internals' chapter.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-15 10:05:27 +01:00
Xudong Zheng
f2f81361d8 doc: extensions: kconfig: allow paste event to trigger search
The "keyup" event is not triggered when pasting with mouse (right click,
paste) or when pasting on a phone/tablet.

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2023-11-15 10:04:42 +01:00
Rodrigo Peixoto
e8c5ca50cc zbus: make ZBUS_CHANNEL_DECLARE compatible with C++
The current implementation of ZBUS_CHAN_DECLARE is not compatible with
C++. It fixes the bug by adding the extern keyword at the channel
definition which will work for both C and C++.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-11-15 10:04:22 +01:00
Mike J. Chen
a36d4beafa drivers: dma: mcux_lpc: support channel priority
Set DMA channel priority in dma_mcux_lpc_configure().

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-11-15 10:04:08 +01:00
Jamie McCrae
b4ce96d161 soc: arm: nordic_nrf: Imply XIP instead of select
This allows XIP to be disabled for applications that execute in
RAM, which do not need XIP support from flash

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-15 10:03:24 +01:00
Alberto Escolar Piedras
b32e57391b samples/net: Move from native_posix to native_sim
For several samples that today have native_sim
enabled, enable them also for native_sim.

And set native_sim as default integration_platform
instead of native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
eae281bb33 samples sntp_client: Move from native_posix to native_sim
* In the sample doc, replace native_posix references with native_sim
* Enable native_sim in the sample yaml

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
1d6cfc0543 samples coap_server: Move from native_posix to native_sim
* In the sample doc, replace native_posix references with native_sim
* Enable native_sim in the sample yaml, and switch
  integration_platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
3e4b393909 samples coap_server: Move from native_posix to native_sim
* In the sample doc, replace native_posix references with native_sim
* Provide overlays for native_sim
* Enable native_sim in the sample yaml
* Remove native_posix from the sample yaml platform_allow as it was
  filtered out by the host libC

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
2cadcb3df4 samples/net/mqtt_sn_publisher: Move from native_posix to native_sim
* In the sample doc, replace native_posix references with native_sim
* Provide overlays for native_sim
* Enable native_sim in the test yaml

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
01ae8079e5 samples/net/gptp: Move from native_posix to native_sim
* In the sample doc and shell script,
  replace native_posix references with native_sim
* Provide overlays for native_sim(_64)
* Enable native_sim in the test yaml

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
d0f554dd6a docs: networing: Replace references to native_posix w native_sim
Let's replace the references to native_posix with native_sim.

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
e44c43cc2c docs: Networking with native_posix: Rename
Rename
Networking with native_posix
to
Networking with native_sim
replace all links to this page accordingly
and replace its references to native_posix with native_sim.

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
f4a63aa7ae samples/net/tftp_client: Move from native_posix to native_sim
* In the sample doc, replace native_posix references with native_sim
* Provide an overlay for native_sim
* Enable native_sim in the test yaml

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Alberto Escolar Piedras
51ce9c583c samples/net/lwm2m_client: Move from native_posix to native_sim
* In the sample doc, replace native_posix references with native_sim
* Provide an overlay for native_sim
* Enable native_sim in the test yaml

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-15 10:03:17 +01:00
Mariusz Skamra
71494dd98f tests: bluetooth: ascs: Add test for ASE notificaion retry
This adds test for ASE state notification retry. The test verifies
whether the state transition is repeated if failed due to notification
error.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-15 10:03:07 +01:00
Mariusz Skamra
ba61420504 Bluetooth: audio: ascs: Retry ASE state notifications on error
This adds retry logic for ASE state notifications if failed due to
insufficient number of buffers to send ATT PDU. The state transition is
retried after connection interval delay.

Fixes: #64574
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-15 10:03:07 +01:00
Mariusz Skamra
341e571cfb tests: audio: mocks: Add k_work_schedule mock implementation
This adds k_work_schedule mock implementation that will be used in
bluetooth audio unit tests.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-15 10:03:07 +01:00
Tomasz Moń
b5f4d8374a net: buf: Preserve buffer pointer in destroy callback
The use case is to have a netbuf pool that is used exclusively with
net_buf_alloc_with_data() where the destroy callback takes care of
freeing the actual data buffer pointed to by __buf.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-15 10:02:55 +01:00
Krzysztof Chruściński
d31424e040 mgmt: osdp: Add dependency to UART runtime configuration
Force enabling of the UART runtime configuration for OSDP.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
1ec05c4431 tests: drivers: Add dependency to UART runtime configuration
Force enabling of the UART runtime configuration in UART tests.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
b032382011 modbus: Add dependency to UART runtime configuration
Force enabling of the UART runtime configuration for modbus serial.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
7778b7d46d debug: gdbstub: Add dependency to UART runtime configuration
Force enabling of the UART runtime configuration for GDBSTUB.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
6022a413d6 samples: drivers: uart: native_tty: Add dependency to UART runtime conf
Force enabling of the UART runtime configuration in the sample.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
0f79f3a4c0 drivers: wifi: esp_at: Add dependency to UART runtime configuration
Force enabling of the UART runtime configuration for ESP AT driver.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
a47c7dd793 drivers: w1: Add dependency to UART runtime configuration
Force enabling of the UART runtime configuration for 1-wire serial
driver.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
3bb4cd813a drivers: sensor: a01nyub: Add dependency to UART runtime configuration
Force enabling of the UART runtime configuration for A01NYUB.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
c674eafe75 drivers: i2c: sc18im704: Add dependency to UART runtime config
Force enabling of the UART runtime configuration for sc18im704.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Krzysztof Chruściński
1f0320441b drivers: bluetooth: hci: cyw43xxx: Add dependency to UART runtime config
Force enabling of the UART runtime configuration for CYW43XXX.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-15 10:02:18 +01:00
Charles Dias
d15f5bbcc7 dts: arm: st: h7: add support for stm32h7b0
Add device tree support for STM32H7B0 line.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2023-11-15 10:02:06 +01:00
Charles Dias
de51fca769 drivers: clock_control: define clock freq for STM32H7B0
Define max SYSCLK and AHB clock frequencies as 280 MHz, max APB
frequency as 140 MHz, and enable semaphore clock.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2023-11-15 10:02:06 +01:00
Charles Dias
63ceeb3bba soc: arm: st_stm32: add support for stm32h7b0xx and stm32h7b0xxQ
Add Kconfig SoC configurations.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2023-11-15 10:02:06 +01:00
Henrik Brix Andersen
c56bfb9d06 tests: drivers: can: shell: add tests for setting raw timing
Add CAN shell tests for the "timing" and "dtiming" subcommands.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-15 10:01:59 +01:00
Henrik Brix Andersen
4c33323c05 drivers: can: shell: add support for setting raw timing values
Add support for setting raw timing values.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-15 10:01:59 +01:00
Lingao Meng
e1d4451976 bsim: bluetooth: mesh: Increase Net Transmit Count value on the node
This is to increase probability of reception of responses (Config Status
messages) from the node when the provisioner sends a Set message and the
node response with a Status message at the same time so that the message
collide.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-15 10:01:47 +01:00
Lingao Meng
1f4dacad08 Bluetooth: Mesh: Remove relay sets config for adv
Separate queue should also used for lagecy adv, due to
when local queue has adv buf, k_poll will process local queue.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-15 10:01:47 +01:00
Paszkiet Kamil
7029c79ef2 scripts: tests: twister_blackbox: Add test test_hardwaremap.py
add tests to hardwaremap tests:
  - generate_hardware_map (different ways)

Signed-off-by: Paszkiet Kamil <kamilx.paszkiet@intel.com>
2023-11-15 10:01:33 +01:00
Greter Raffael
8ed4876bed tests: kernel: also move the test_isr_dynamic to new ztest API
`test_isr_dynamic` for `CONFIG_GEN_SW_ISR_TABLE=n` was somehow
overlooked in commit b7f1e98724.

I'm disabling the irq at the end of the test. The babblesim for the
`nrf5340bsim_*` target walked into a timeout otherwise.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2023-11-15 10:01:22 +01:00
Erwan Gouriou
321c5e8656 drivers: entropy: stm32: Move irq_lock at init
Perform clock check inside irq_lock in order to exit cleanly
if failing.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-11-15 10:00:50 +01:00
Wilfried Chauveau
2deea4eeee twister: Fix failure on MacOS
On MacOS, ps utils raises a `NoSuchProcess` error rather than a
`ProcessLookupError` when a pid no longer exists.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-11-15 10:00:08 +01:00
Patryk Lipinski
14827aad65 modules: hal_nordic: nrfx_glue: Changes in the macro statements
Changes in the macro statements that allows to build
with -Wudef flag enebaled, without errors.

Signed-off-by: Patryk Lipinski <patryk.lipinski@nordicsemi.no>
2023-11-15 09:59:56 +01:00
Patryk Lipinski
4a52211432 logging: Changes in the macro statements
Changes in the macro statements that allows to build
with -Wudef flag enebaled, without errors.

Signed-off-by: Patryk Lipinski <patryk.lipinski@nordicsemi.no>
2023-11-15 09:59:56 +01:00
Patryk Lipinski
909c087521 fs: Changes in the macro statements
Changes in the macro statements that allows to build
with -Wudef flag enebaled, without errors.

Signed-off-by: Patryk Lipinski <patryk.lipinski@nordicsemi.no>
2023-11-15 09:59:56 +01:00
Eduardo Montoya
b406024148 net: openthread: implement otPlatRadioSetRxOnWhenIdle
OpenThread upmerge to commit `193e77e`.

Implement `otPlatRadioSetRxOnWhenIdle` radio platform API.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-15 09:59:17 +01:00
Eduardo Montoya
5c6402e76b drivers: ieee802154: add IEEE802154_RX_ON_WHEN_IDLE capability
Introduce `IEEE802154_RX_ON_WHEN_IDLE` capability.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-15 09:59:17 +01:00
MD Peace
5fee1b17d5 drivers: gnss: Fix typo in __ASSERT statement
str is being checking the __ASSERT where nano should be being checked

Signed-off-by: MD Peace <michael@whgsolutions.team>
2023-11-15 08:46:37 +00:00
Mike J. Chen
1200fce75c drivers: i2s: mcux_flexcomm: Change LOG_INF to LOG_DBG in init
Reduce log verboseness during init.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-11-14 20:59:35 -06:00
Anas Nashif
56f73bde0f ci: testplan: fix mcumgr path
fix path for mcumgr in tags.yaml, we were skipping tests due to wrong
path.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-14 17:49:40 -05:00
Yong Cong Sin
aa71ed4a1f logging: backend: uart: compile the uart_dev pointer conditionally
Compile the `uart_dev` pointer only when necessary
(when `zephyr,log-uart` is used), this saves 4 bytes in
32-bit systems and 8 bytes in 64-bit systems.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-14 12:26:48 -05:00
Yong Cong Sin
2049aa8d16 logging: backend: uart: variable shouldn't have the same name as struct
Rename the `device` variable in the `struct lbu_cb_ctx` to
`uart_dev`, as it is a convention in Zephyr to not have the
struct variable name after the struct.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-14 12:26:48 -05:00
Yong Cong Sin
f5a27bcfe3 tests: logging: uart: increase test coverage
The test should work on any boards with UART console, so
increase the test coverage by adding `CONFIG_UART_CONSOLE`
filter and using `qemu_x86` as `integration_platforms` instead
of `platform_allow`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-14 12:26:48 -05:00
Yong Cong Sin
1b4a647950 logging: backend: uart: append index conditionally for compatibility
Updated the `LBU_DEFINE` so that the index is appended only
when given to improve backward compatibility.

When it is depending on the `zephyr,console` node, the backend
is defined as `log_backend_uart`.

When it is depending on the new `zephyr,log-uart` node, the
backend is defined as `log_backend_uart0`,
`log_backend_uart1`, and so on.

Updated the names of the internal variables to follow the same
naming convention.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-14 12:26:48 -05:00
Thien Nguyen
a0b746ed74 doc: drivers: deprecate driver init levels
Remove deprecated driver initialization levels in the docs.

Signed-off-by: Thien Nguyen <nguyenmthien@live.com>
2023-11-14 10:20:53 -05:00
Fabio Baltieri
2171f8b7a1 ci: compliance: only run sorted check on text files
The sorted check code crashes on binary files. Add a check on file type
and only process text ones.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-14 15:05:56 +00:00
Krzysztof Chruściński
e6e6515972 shell: uart: Rework Kconfig dependencies
When UART asynchronous API support was added to shell it was set up
to be the default one and was turning on asynchronous API if it was
supported. However, it may lead to complation failures if device
requires additional setup for asynchronous UART (e.g DMA in device
tree). Becuase of that, it is reverted back to use interrupt driven
API and use asynchronous API if it is already enabled in the
application.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-14 16:09:08 +02:00
Krzysztof Chruściński
6d2e3b59a5 mgmt: mcumgr: smp_shell: Change the way shell uart device is fetched
SMP shell was looking into internal shell uart structures to get
uart device. This structures are now internal to the shell and
cannot be used. Using device tree chosen instead.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-14 16:09:08 +02:00
Krzysztof Chruściński
d6a3fd7cf0 shell: uart: Add missing casting of the data pointer
Fixing compilation failure due to treating void pointer as uint8_t
array. Added missing casting.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-14 16:09:08 +02:00
Dmitrii Golovanov
7d0d3f83cb twister: harness: Fix TestCase id at Console for Ztest
Implement a workaround for Console harness to compose TestCase
identifier correctly when a Ztest suite with a single testcase
uses this harness type. Normally, a Ztest suite should use the
Ztest Twister harness.
Without this workaround each Ztest TestCase result on Console is
duplicated (and written into twister.json) with its 'identifier'
attribute set to TestSuite id only, no TestCase suffix added;
the resulting entry with the full TestCase id is also stored,
but its values are empty with defaults.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-14 08:47:12 -05:00
Dmitrii Golovanov
00d260af96 twister: harness: Check Console harness configuration
If Console Harness 'harness_config' properties have no 'regex'
patterns or no correct 'type' set, then ConfigurationError exception
is raised, handled, and the test instance error is accounted
in the summary results.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-14 08:47:12 -05:00
Dmitrii Golovanov
8b6f447ef8 twister: harness: Fix Console unordered pattern matching for ztest
Fix the Twister Console harness unordered pattern matching
to treat the ztest as failed when not all of the
expected patterns were found in the console output, but the ztest
application itself reports 'PROJECT EXECUTION SUCCESSFUL'.

Unify debug logging on pattern match for ordered and unordered patterns.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-14 08:47:12 -05:00
Alberto Escolar Piedras
86db699564 docs: native_sim: Polish documentation
Polish the native_sim documentation a bit.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 14:38:10 +01:00
Alberto Escolar Piedras
85b54358a1 docs: Introduction: Replace references to native_posix w native_sim
Let's replace the references to native_posix with native_sim,
in the introduction and beyond the getting started guide.

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 14:38:10 +01:00
Alberto Escolar Piedras
c3d863f864 docs: boards posix: Replace reference to native_posix w native_sim
Let's replace the references to native_posix with native_sim,

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 14:38:10 +01:00
Alberto Escolar Piedras
c05b81bd9c docs: native_sim/posix: Swap documentation from native_posix to native_sim
During this release native_sim is replacing native_posix
as the main host test/development platform.

Therefore, instead of basing the native_sim documentation
in native_posix's one, let's do it the other way around.

This commit mostly moves documentation from the native_posix
page into the native_sim one, changing the board and renaming
labels.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 14:38:10 +01:00
Chekhov Ma
2b6c861f0c imx93: increase mmu region count to 64
The default mmu region count is not enough when more drivers are added.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-11-14 07:10:59 -06:00
Chekhov Ma
2c13e53081 imx93: add lpuart1
imx93: add dts node and mmu region for lpuart1

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-11-14 07:10:59 -06:00
Chekhov Ma
90aee7d65c imx93: update iomuxc refs to match new pinctrl.dtsi
Update iomuxc references to match the changes of
`mimx9352cvuxk-pinctrl.dtsi` in hal/nxp.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-11-14 07:10:59 -06:00
Alberto Escolar Piedras
b4d0791d1a services/tracing doc & samples: Replace native_posix w native_sim
In the docs replace the references to native_posix with native_sim.
In the sample, add overlays for native_sim, and add native_sim to filter
and as default integration platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
6e2deeebbc samples/modules/chre: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim.
And switch the default test platform to native_sim from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
32000aafa1 samples/modules/lvgl: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim.
And switch the default test platform to native_sim from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
374ecf706d samples drivers eeprom: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim.
Enable this test in natives_sim.
And switch the default test platform to native_sim from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
388f82f6b3 samples/basic: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim.
And switch the default test platform to native_sim from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
d800634515 samples sensing: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim.
And switch the overlays and default test platform to native_sim
from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
bf02cbc51f samples display: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim
Enable native_sim in the tests, and replace native_posix as integration
platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
2777461858 samples kernel: Replace references to native_posix w native_sim
Let's replace the references to native_posix with native_sim in
the documentation, and enable this tests by default in
native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
fd281f5ea2 samples native_tty docs: Replace references to native_posix w native_sim
Let's replace the references to native_posix with native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras
373f2d21c1 doc/develop/test: Replace references to native_posix w native_sim
Replace the references to native_posix with native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 06:51:38 -05:00
Alberto Escolar Piedras
d1e91686f3 twister: Replace native_posix with native_sim
* Replace native_posix references with native_sim
  in arguments help messages
* For the seed parameter, correct platform check to accept
  native_sim
* Use native_sim in twister tests

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 06:51:38 -05:00
Georges Oates_Larsen
9f093ab731 net: tls_credetials: Add TLS Credentials shell
Adds a shell interface for TLS Credentials, allowing management of
credentials via the Zephyr shell

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2023-11-14 10:40:02 +00:00
Georges Oates_Larsen
f5d12102a0 net: tls_credentials: sectag iterators
Add (internal) support for sectag iterating.

Also officially marks negative sectag values as reserved for internal
use.

This will allow a prospective TLS credentials shell to iterate over all
available credentials.

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2023-11-14 10:40:02 +00:00
Georges Oates_Larsen
16bd8a82a6 net: tls_credentials: credential_digest
Adds an internal credential_digest for generating a string digest of
credentials.

Such digests would allow users of a prospective TLS credentials shell to
verify the contents of a given credential without directly accessing
those contents.

Offloading the digest process to the underlying backend allows backends
for which private portions are not directly accessible to be eventually
supported.

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2023-11-14 10:40:02 +00:00
Diogo Correia
21505c2c28 winc1500: WIFI_DISCONNECT request doesn't raise DISCONNECT_RESULT event
Internal flag (w1500_data.connecting) was not being set to false after
connection. Interface raises NET_EVENT_WIFI_CONNECT_RESULT event with
error status instead of NET_EVENT_WIFI_DISCONNECT_RESULT when
disconnection is manually requested (NET_REQUEST_WIFI_DISCONNECT).

Signed-off-by: Diogo Correia <diogo.correia@fraunhofer.pt>
2023-11-14 10:39:39 +00:00
Emil Gydesen
15cbe0f890 tests: Remove use of CONFIG_ZTEST_NEW_API
The test was enabling CONFIG_ZTEST_NEW_API which
was recently removed.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-14 11:14:10 +01:00
Alberto Escolar Piedras
74d22a4b35 tests/drivers/eeprom: Several fixes and improvements
* Fix app path in documentation
* Move the at24 emulator overlays to be general instead of
  native_posix specific
* Switch default test platform from native_posix to native_sim
* From build only test, exclude platforms which are used
  in the build and run test.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 11:11:53 +01:00
Alberto Escolar Piedras
8d4d5184c6 tests/drivers/accel: Switch from native_posix to native_sim
Switch the overlays and default test platform to native_sim
from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 11:11:53 +01:00
Alberto Escolar Piedras
8366c1adb4 doc/hardware: Replace references to native_posix w native_sim
Replace the references to native_posix with native_sim.

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 11:11:53 +01:00
Christopher Friedt
2fc19aa033 tests: lib: c_lib: tests for C11 call_once()
Add tests for C11 call_once().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
4c58c6b4c4 libc: common: support for C11 call_once()
Add C11 call_once() support to go with C11 threads
and mutexes.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
44a431bbba tests: lib: c_lib: tests for C11 thread-specific storage
Add tests for C11 thread-specific storage.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
b9db7df628 libc: common: support for C11 thread-specific storage
Add C11 thread-specific storage (tss) support to go with C11 threads
and mutexes.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
70b03111eb tests: lib: c_lib: tests for C11 condition variables
Add tests for C11 condition variables.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
7e539e2706 libc: common: support for C11 condition variables
Add C11 condition variable support to go with C11 threads
and mutexes.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
0c2da383d3 tests: lib: c_lib: add tests for C11 mutexes
Add tests to cover C11 mutexes

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
576ae7f677 lib: libc: common: add C11 mutex implementation
Add support for C11 mutexes to go with C11 threads.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
ded97fd5b3 tests: libc: add tests for iso c11 threads
Add tests to verify functionality of the C11 `<threads.h>` API.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
97668b8b09 libc: common: add support for iso c11 threads
This change capitalizes on newly added support for dynamic
thread stacks and the existing pthread support to provide
an implementation of the ISO C11 `<threads.h>` API.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
dd27dff492 tests: lib: c_lib: separate libc tests into smaller suites
C library testing is mainly there to support what is
necessary to support Zephyr. We do test a variety of libcs
currently, which is where YAML comes in handy.

However, the main libc testsuite can be overkill for testing
some things, and might not be suitable for testing optional
features.

Create a 'common' subdirectory for common libc tests.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Vinayak Kariappa Chettimada
09c69731cd Bluetooth: Controller: Reduce RTN for requested Max Transport Latency
Add implementation to reduce CIG's CIS retransmissions so as
to meet the Host requested Maximum Transport Latency.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-11-14 09:46:02 +01:00
Tom Burdick
d9a30c1f0a docs: Remove out of date examples
The examples in the RTIO docs were nice but continuously became out of
date without being updated. This is unfortunately the downside of
doc-only samples like this.

Some real, buildable, samples right be better but will take a little
time to write up. In the meantime drop the examples in the docs to avoid
confusion.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-14 09:25:54 +01:00
Katsuhiro Suzuki
9e29c70a1f arch: riscv: fix hangup in boot if hart0 is not boot hart
This patch changes the section of riscv_cpu_wake_flag variable to
noinit from bss to fix hangup of RISC-V multicore boot if hart0 is
not boot hart (CONFIG_RV_BOOT_HART != 0).

Current boot sequence initializes a riscv_cpu_wake_flag to -1 but
this variable is unintentionally changed to 0 by boot hart.
This is because the variable is placed in bss section so this patch
changes the section of the variable to noinit.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
2023-11-14 09:24:17 +01:00
Manuel Argüelles
09521832be drivers: pinctrl: kinetis: use clock control API
Remove the direct use of the HAL API to configure clocks and use
Zephyr's clock control API instead.

Currently the PORT peripherals of the Kinetis family are either
clocked by PCC in the case of KE1xF devices, or by SIM for the
rest of the devices. PCC clock driver converts internally the
subsys clock name into the clock gate address. SIM clock driver
expects this conversion to be done by the caller.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-14 09:24:10 +01:00
Fabio Baltieri
aa25fe06a5 ci: compliance: undef list few configs used in optional modules
The Kconfig check fails when running the script locally for undefined
symbols if the checkout does not include optional modules (the default
behavior). Add these symbol to the Kconfig undef list.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-14 09:24:03 +01:00
Jilay Pandya
8ebbd0227d sensors: tests: adi: increase coverage
This commit adds tests for various configurations of adltc2990

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2023-11-14 09:23:47 +01:00
Andrei Emeltchenko
a3ff8d5b90 tests: samples: Add up_squared_pro_7000 overlay
Add up_squared_pro_7000 overlay for watchdog test and sample.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-14 09:23:18 +01:00
Andrei Emeltchenko
8192365298 boards: up_squared: Correct vendor
Correct vendor name for up_squared board, the same as for UP 7000
board.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-14 09:23:18 +01:00
Andrei Emeltchenko
25ac2fa064 dts: vendor-prefixes: Add AAEON
Add AAEON Technology Inc prefix.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-14 09:23:18 +01:00
Andrei Emeltchenko
0dab1e8482 doc: x86: Modify x86 TOC include
Modify toctree glob to exclude common directory which keeps rst
helpers. This allows to include several boards documentation from the
common board directory.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-14 09:23:18 +01:00
Andrei Emeltchenko
c99fe31f83 boards: up_squared_pro_7000: Add board documentation
Add documentation for UP Squared Pro 7000 board.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-14 09:23:18 +01:00
Andrei Emeltchenko
07b5f51cdc boards: up_squared_pro_7000: Add new board definition
Add board definition for UP Squared Pro 7000.
The board is powered by Intel Alder Lake N (N-series Intel Platform).

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-14 09:23:18 +01:00
Daniel DeGrasse
d6d3f9f16a boards: shields: add support for low power on G1120B0MIPI using RT595
Add support for low power mode on the G1120B0MIPI using the RT595. This
configuration is tested via a testcase in samples/drivers/display, which
should validate that the display can be driven by the RT595 when
CONFIG_PM and CONFIG_PM_DEVICE are set.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-14 09:22:59 +01:00
Daniel DeGrasse
5997f3d00d drivers: display: rm67162: add device level power management
Add device level power management to rm67162 display. Device level power
management for this controller calls the MIPI DSI detach API, in order
to power down the MIPI DPHY when the display is not active.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-14 09:22:59 +01:00
Daniel DeGrasse
5854821b65 drivers: mipi_dsi: add support for mipi_dsi_detach to dsi_mcux_2l
Add support for mipi_dsi_detach API to dsi_mcux_2l driver, and
update RT5xx SOC interface to enable halting clocks for the MIPI DPHY.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-14 09:22:59 +01:00
Daniel DeGrasse
4cc12cb112 include: mipi_dsi: add MIPI DSI detach API
Add MIPI DSI detach API. This API allows the DSI controller to detach
from the DSI device, and power down the DSI PHY. The primary goal of
this API is to provide power savings for DSI devices when the display
they are driving is not active.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-14 09:22:59 +01:00
Kamil Piszczek
ae05c5ea30 tests: bsim: bluetooth: host: privacy: peripheral: test rpa sharing mode
Added a new configuration to the BabbleSim Bluetooth Peripheral Privacy
test to cover the code path for the RPA sharing mode.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2023-11-14 09:22:51 +01:00
Kamil Piszczek
f6d6742ca1 bluetooth: id: make sharing RPA between adv sets optional
Added a Kconfig option that makes the RPA sharing feature optional. By
default, the Zephyr Bluetooth stack now uses the RPA rotation policy
that was active before the introduction of the RPA sharing functionality
in the following PR:

https://github.com/zephyrproject-rtos/zephyr/pull/55449

The new Kconfig option configures the advertising sets linked with the
same Bluetooth identity to use the same Resolvable Private Address in
a given rotation period. After the RPA timeout, the new RPA is
generated and shared between the advertising sets in the subsequent
rotation period.

When this option is disabled, the generated RPAs of the advertising
sets differ from each other in a given rotation period.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2023-11-14 09:22:51 +01:00
Lars Knudsen
78714b193a samples: Add USB Audio to broadcast audio source
Adds support for using a connected host to
broadcast audio via USB Audio.

Offload LC3 encoding to separate thread.

Signed-off-by: Lars Knudsen <LAKD@demant.com>
2023-11-14 09:22:28 +01:00
Benjamin Cabé
1fbcccd2fc boards: xtensa: Set M5Stack vendor for M5Stack boards
s/espressif/extensa/ for the couple M5Stack boards in-tree that had the
wrong vendor set.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-14 09:22:06 +01:00
Benjamin Cabé
8b98acb77b boards: esp32: Add support for M5Stack AtomS3
This introduces support for the ESP32S3 based M5Stack AtomS3.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-14 09:22:06 +01:00
Krzysztof Chruściński
5e4e944cc0 shell: backends: uart: Rework and add support for async API
Rework UART backend to clearly use single instance approach as
before it was a bit messy with some parts of implementation indicating
multi-instance approach and some single instance. Backend has been
around for years and multi-instance requirement never came.

Added support for UART asynchronous API which is more efficient
in terms of power consumption and performance. Asynchronous API
support is using uart_async_rx helper module for handling data
received asynchronously.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-14 09:21:46 +01:00
Krzysztof Chruściński
8ba4249ef7 tests: drivers: uart: Add test for uart_async_rx
Add test for helper module for handling asynchronous RX.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-14 09:21:46 +01:00
Krzysztof Chruściński
165bd2a780 drivers: serial: Add uart_async_rx module
Add module which can handle RX path of UART asynchronous RX API. Module
can be utilized in cases where processing of received data is not performed
directly in the event context but it is delayed. At least two use cases
has been identified (shell async UART backend, asynchronous to interrupt
driven adaptation layer).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-14 09:21:46 +01:00
Jordan Yates
e74676223a bluetooth: host: gatt: statically init callback list
Statically initialise the callback list so that subscriptions can be
registered before the call to `bt_enable`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-14 09:21:16 +01:00
Benjamin Cabé
fc4967e71f samples: lz4: reduce malloc arena size
PR #63332 introduced a change to the LZ4 sample that set the malloc
arena to an unnecessarily large size.
After testing on native_posix, qemu_m3, and esp32s3_devkitm_appcpu, it
would appear 24K is a much more reasonable (and sufficient) size.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-14 09:04:11 +01:00
Alberto Escolar Piedras
d427169845 docs: bluetooth: Replace reference to native_posix w native_sim
Let's replace the references to native_posix with native_sim,

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 09:52:34 +02:00
Alberto Escolar Piedras
49bccb5839 samples/bluetooth/tmap*: Enable in native_sim
Let's enable these samples in the native_sim target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 09:52:34 +02:00
Alberto Escolar Piedras
e444f49540 samples/bluetooth/hap_ha: Enable in native_sim
Enable this test in the native_sim target

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 09:52:34 +02:00
Alberto Escolar Piedras
327f75ec35 tests/bluetooth/tester: Enable in native_sim
Enable this test in the native_sim target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 09:52:34 +02:00
Grant Ramsay
4fe2605160 drivers: serial: Fix pinctrl usage in NS16550 driver
pinctrl-0 property should not be directly referenced in this driver

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-11-13 16:55:47 -06:00
Marc Desvaux
32e1d06a3c tests: drivers: i2c: i2c_target_api add nucleo_wb55rg
Adds necessary overlay nucleo_wb55rg in i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-13 16:54:42 -06:00
Marc Desvaux
3548ffe053 tests: drivers: i2c: i2c_target_api add nucleo_wb55rg
Adds nucleo_wb55rg in i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-13 16:54:42 -06:00
Daniel DeGrasse
aa0b8af577 drivers: dma: mcux_mcux_lpc: support hardware triggering
The LPC DMA IP offers hardware triggering via a series of SOC-specific
signals, often including sources like GPIO pins or hardware timers.
Support hardware triggers via the "dma_slot" field of the DMA
configuration structure. Currently support is offered for setting the
following:
- Trigger polarity
- Trigger level/edge mode
- burst mode
- burst length
- peripheral request

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-13 16:53:53 -06:00
Marc Desvaux
c1a6cfdf9b tests: drivers: i2c: i2c_target_api add b_u585i_iot02a
Adds necessary overlay b_u585i_iot02a in i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-13 21:31:39 +00:00
Marc Desvaux
619d2fd887 tests: drivers: i2c: i2c_target_api add b_u585i_iot02a
Adds b_u585i_iot02a in i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-13 21:31:39 +00:00
Marc Desvaux
6de2900eec boards: arm: b_u585i_iot02a: add i2c
Adds i2c on b_u585i_iot02a to use the i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-13 21:31:39 +00:00
Andy Sinclair
04e18f093f drivers: regulator: Added startup and off/on delay to common driver
A configurable delay during regulator switch on is currently
only supported by the GPIO and fixed regulator drivers.

This functionality has been moved to the common driver, so it can
be easily added to any regulator driver.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-13 21:30:10 +00:00
Marc Desvaux
c19ba8ffe9 tests: drivers: i2c: i2c_target_api add stm32f3_disco
Adds necessary overlay stm32f3_disco in i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-13 21:29:46 +00:00
Marc Desvaux
56dd8f90cd tests: drivers: i2c: i2c_target_api add stm32f3_disco
Adds stm32f3_disco in i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-11-13 21:29:46 +00:00
Charles Dias
c9e6ac54d6 samples: maxim_ds3231: increase variable size in min_alarm_handler
Change the variable name from **us** to **ms** and increase its size
to **uint16_t** within the min_alarm_handler function. This update
allows the function to correctly handle the millisecond values in the
range of 0 to 999.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2023-11-13 12:19:17 -05:00
Manuel Argüelles
434a40470c drivers: mbox: nxp_s32: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Note that for some peripheral instances is needed to redefine the
HAL macros of the peripheral base address, since the naming is not
uniform for all instances.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-13 12:18:34 -05:00
Benjamin Cabé
a2a18e3fa4 doc: pdf: Add Glossary of Terms to PDF output
Add the Glossary page to the PDF so that :term: roles are properly
resolved.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-13 12:17:51 -05:00
Jeppe Odgaard
a1b16d3151 tests: build_all: sensor: i2c: add explorir_m
Add ExplorIR-M uart node in the build_all tests.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-13 12:14:08 -05:00
Jeppe Odgaard
171dbd0435 samples: sensors: add generic co2 sensor polling
Add polling sample for any CO2 sensor.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-13 12:14:08 -05:00
Jeppe Odgaard
b0fdbce4df drivers: sensors: add explorir_m co2 sensor
Add driver for Gas Sensing Solutions' ExplorIR-M CO2 sensor.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-13 12:14:08 -05:00
Jeppe Odgaard
128f80db7d dts: bindings: add explorir_m support
Add bindings for the ExplorIR-M CO2 sensor.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-13 12:14:08 -05:00
Jeppe Odgaard
dcf882af03 dts: bindings: Add gss vendor prefix
Add vendor prefix for Gas Sensing Solutions Ltd.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-13 12:14:08 -05:00
Antoniu Miclaus
774bf6b50e drivers: sensor: adxl367: update self test delay
The wait times in the self test procedure, according to the datasheet
are 4 / ODR (current set value).

Update the self test procedure by using the delay corresponding to the
current ODR value that is set, instead of default ODR.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-13 12:13:37 -05:00
Maxin John
461cc8c136 samples: sensor: dht: add longan_nano overlay
Add an overlay to use DHT11 temperature/humidity sensor in Longan Nano.

Signed-off-by: Maxin John <maxin.john@gmail.com>
2023-11-13 12:13:12 -05:00
Antoniu Miclaus
b654b61699 drivers: sensor: adxl372: remove unused function
After the merge of 9dda350 the `adxl327_reg_write_mask` function is no
longer used.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-13 12:12:43 -05:00
Chekhov Ma
5078265213 Revert "drivers: mcux_ccm: add support for lpuart on imx93"
This reverts commit d963900dbd.
Since i.MX 93 is supported by mcux_ccm_rev2, remove i.MX 93 support
from mcux_ccm driver.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-11-13 10:51:12 -06:00
Chekhov Ma
4e99da8599 imx93: change ccm driver to "imx-ccm-rev2"
i.MX93 share similiar register layout with i.MX RT11xx. Change ccm driver
to align with i.MX RT11xx, and make it easier to enable other drivers.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-11-13 10:51:12 -06:00
Chekhov Ma
85888c673d manifest: Bump up hal_nxp revision
Bump up hal_nxp revision to contain the clock frequency array
initialization code of i.MX 93

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2023-11-13 10:51:12 -06:00
Lucas Denefle
f9d0a4c5cf drivers: modem: add Quectel EG25-G
This commit introduces support for the modem EG25-G from Quectel.

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2023-11-13 10:10:15 -06:00
Armando Visconti
6dd2336a50 sample: board: sensortile_box_pro: extend with lps22df
Extend sensor sample reading also lps22df data.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-13 16:08:46 +00:00
Armando Visconti
92704d7f26 boards: arm: sensortile_box_pro: extend with lps22df
Extend sensortile_box_pro with lps22df.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-13 16:08:46 +00:00
Armando Visconti
f1f7e4712c drivers/sensor: add support to LPS22DF pressure sensor
The LPS22DF is an ultracompact, piezoresistive, absolute pressure sensor
that functions as a digital output barometer. The LPS22DF provides lower
power consumption, achieving lower pressure noise than its predecessor.
This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/en/datasheet/lps22df.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-13 16:08:46 +00:00
Armando Visconti
0973531c94 tests: drivers: build_all: sensor: add I3C test framework
Add framework to test sensor drivers I3C conditional checkings.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-13 16:08:46 +00:00
Armando Visconti
0d9654670f drivers: i3c: add dummy driver for vnd,i3c
It is just used to be able to DEVICE_DT_GET() bus devices from
tests/drivers/build_all in an upcoming commit.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-13 16:08:46 +00:00
Anisetti Avinash Krishna
2c19de53bc drivers: dma: dma_dw_common: Corrected compare value of dma_is_enabled
Corrected comapare value of dma_is_enabled as it is compare with
wrong macro to check if channel is enabled or not.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-13 10:07:06 -06:00
Anisetti Avinash Krishna
3306eb7d91 drivers: dma: dma_intel_lpss: Enable dma_status and dma_reload
Enable dma_get_status and dma_reload features for LPSS DMA.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-13 10:07:06 -06:00
Anisetti Avinash Krishna
316707b7cd drivers: dma: dma_intel_lpss: Enhance LPSS DMA to support UART
Enhance LPSS DMA to support UART and I2C DMA transfer by
enabling init priority of DMA based on dependency on
parent device.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-13 10:07:06 -06:00
Anisetti Avinash Krishna
d6ff5122fd dts: x86: intel: raptor_lake: Remove unavailable UARTs
Remove unavailable UART instances on RPL platform.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-13 10:06:13 -06:00
Antoniu Miclaus
a2ad2d71f6 drivers: sensor: adxl372: fix define comment
Replace unrelated part name with the actual driver name in the
adxl372.h header file.

Fixes: a3e7cea ("adxl372: Add driver for ADXL372 high-g accelerometer")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-13 16:59:23 +01:00
Tim Guite
78acf5e648 board: mimxrt1170_evk Add pyOCD runner to docs
Added a short paragraph explaining how to use pyOCD to flash and debug this
board, as well as a disclaimer requested by NXP

Signed-off-by: Tim Guite <tim.guite@ttp.com>
2023-11-13 08:17:53 -06:00
Jamie McCrae
8334f1d385 doc: migration-guide: 3.6: Fix spurious character
Fixes a spurious tilde character at the end of a change

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-13 10:28:08 +00:00
Dominik Kilian
23254f2a16 samples: ipc: Modify icmsg_me sample allowing any multiendpoint backend
There are more ipc_service backends that supports multiple endpoint.
This sample can be used for any of those backends, so this commits
makes the sample more generic. The default backend it still icmsg_me,
but now, the sample has files and instructions for icmsg_with_buf
backend.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2023-11-13 11:11:43 +01:00
Dominik Kilian
28df44946f ipc: add dynamically allocated buffers to icmsg
The icmsg and icmsg_me backends has limitations in context of
concurrent access to single instance. Some limitations are:
* sending by more thread at the same time may cause -EBUSY
* allocating TX buffer will cause errors in other threads that want
  to allocate before first thread sent the message,
* during no-copy receive, when RX buffer is on hold receiving is
  totally blocked.
This backend resolves those limitations by adding dynamically allocated
buffers on shared memory next to ICmsg circular buffer. The data is
passed using those buffers, so concurrency is not a problem. The ICmsg
is used only to pass short 2-byte messages containing references to
those buffers. The backend also supports multiple endpoint.
The ipc/icmsg_me sample was modified to support this backend.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2023-11-13 11:11:43 +01:00
Grant Ramsay
a3ff19a39e cmake: compiler: Add compiler property for no-builtin
Abstracts these flags for multiple toolchain support

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-11-13 10:21:41 +01:00
Grant Ramsay
679d82c484 libc: Add GCC fno-builtin-malloc flag to common stdlib compilation
This prevents the compiler from optimizing calloc into an
infinite recursive call.

For example a call to malloc + memset zero at GCC -O2 will be
replaced by a call to calloc. This causes infinite recursion
if the function being implemented *is* calloc.

fno-builtin-malloc forces the compiler to avoid this optimization.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-11-13 10:21:41 +01:00
Martin Jäger
c72b9f5048 lorawan: use callback function signature typedefs
This avoids duplication of the function signature in several places and
makes the API documentation more clean.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-11-13 09:53:32 +01:00
Martin Jäger
8b7c8b09ec lorawan: rename lorawan_set_battery_level_callback and make it void
Rename the lorawan_set_battery_level_callback to
lorawan_register_battery_level_callback to make it consistent with other
functions for downlink and data rate changed callbacks.

Also making the function void for consistency. The get_battery_level
already checks if the callback is NULL before invoking it.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-11-13 09:53:32 +01:00
Jordan Yates
31200fb33d scripts: twister: config_parser: copy common values
Create copys of the common configuration values when constructing test
scenarios, to avoid mutating the common value with test specific
appends.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-13 09:53:16 +01:00
Marcin Niestroj
c30c9b97b4 drivers: eth: cmake: narrow scope of 'native_posix_source_files'
'native_posix_source_files' is used only when CONFIG_NATIVE_APPLICATION=y,
but it was set unconditionally regardless of this Kconfig option.

Set 'native_posix_source_files' under CONFIG_NATIVE_APPLICATION=y to narrow
scope of this variable.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-11-13 09:52:21 +01:00
Marcin Niestroj
498888d764 samples: sockets: echo_client: assume connected without connmgr
When connection manager (CONFIG_NET_CONNECTION_MANAGER) is disabled,
application starts right away. Scenario that it covers is when static
networking is used, like with emulators (QEMU, Native Sim, ...).

Since 'connected' flag was not set in such scenario, the internal loop
inside start_client() has ended up early and stop_udp_and_tcp() was called
quickly after starting TCP and UDP clients.

Set 'connected = true', when connection manager is disabled, so that it is
assumed that connection is working for the whole duration of the
echo-client sample.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-11-13 09:52:12 +01:00
Nicolas Pitre
171cecb1d6 riscv: FPU trap: test case comment typo fix
Test case comment typo fix.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-11-13 09:51:34 +01:00
Pavel Vasilyev
64e1d0c3be bluetooth: mesh: Don't write to const value
`bt_mesh_default_key` is declared as const and thus located in flash.
`bt_mesh_cdb_subnet_key_export` tries to copy to that address which
results in a Bus Fault.

Use separate array for storing net_key.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-13 09:51:25 +01:00
Alberto Escolar Piedras
f9e0a3dbd0 doc: pytest: Correct native device type name
The native device type name is "native", "native posix" is just
one of the possible target boards (which is going to be deprecated
in the next release).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-13 09:50:26 +01:00
Pieter De Gendt
655c72c52e net: lib: coap: coap_server: Allow clients to refresh observe requests
A CoAP client can re-issue an observe request (same endpoint and token)
to refresh it's subscription. No new observer should be registered in
this case.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-13 09:50:19 +01:00
Pieter De Gendt
cbf9680f96 net: lib: coap: Add coap_find_observer
Add a function to the public CoAP API to find and return the unique
observer based on the address and token.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-13 09:50:19 +01:00
Antoniu Miclaus
592292c182 drivers: sensor: adxl367: use explicit conditions
Make the adxl367 compliant with the Zephyr code guidelines by using
explicit conditions.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-13 09:50:06 +01:00
Robert Lubos
61c392c5b1 net: iface: Introduce TX mutex locking
A recent iface lock removal in ed17320c3d
exposed issues with concurrent access on TX to drivers that are not
re-entrant.

Reverting that commit does not really solve the problem, as it would
still exist if multiple Traffic Class queues are in use.

Therefore, introduce a separate mutex for TX data path, protecting the
L2/driver from concurrent transfers from several threads.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-13 09:49:57 +01:00
Marcus Penate
250ff71c64 zbus: Fix parameter order of net buf pool fixed define
Fixed order of pool-size and data-size parameters
in use of `NET_BUF_POOL_FIXED_DEFINE()`

Signed-off-by: Marcus Penate <marcus.penate@ellenbytech.com>
2023-11-13 09:49:49 +01:00
Manuel Argüelles
b3f950c648 drivers: mdio: nxp_s32_netc: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Note that for some peripheral instances is needed to redefine the
HAL macros of the peripheral base address, since the naming is not
uniform for all instances.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-13 09:49:26 +01:00
Dat Nguyen Duy
18a0660be0 samples/tests: skip samples/tests disable MPU for s32ze series
On SoC series s32ze, Zephyr application cannot run with MPU
disabled, skipping relevant samples/tests

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-11-13 09:48:43 +01:00
Bartosz Bilas
39eb124c81 drivers: add MAX20335 charger driver
Add a MAX20335 MFD subdriver for the built-in
battery charger.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-13 09:48:33 +01:00
Dmitrii Golovanov
4d394f9d23 tests: coredump: Fix backend.logging test misconfig
The debug.coredump.backends.logging testcase did use 'console'
Twister harness whereas the test suite itself and the rest of
the testcases are implemented as Ztest. This misalignment
allowed to check basic output expected from the logging backend,
but caused inconsistency of the test suite results because
the 'console' Twister Harness can't use test cases' ID provided
by the 'Ztest' Twister Handler.
It is decided to focus the debug.coredump.backends.* suite
on the coredump backend API testing with Ztest.
The logging backend's resulting output should be tested
by its dedicated test suite debug.coredump.logging_backend
(tests/subsys/debug/coredump).

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-13 09:48:22 +01:00
Dmitrii Golovanov
1032fe3b5c tests: coredump: Extend backends test coverage
Extend coredump_backend tests:
 * fix COREDUMP_CMD_VERIFY_STORED_DUMP test was not executed.
 * add tests for these coredump commands:
   - COREDUMP_QUERY_GET_STORED_DUMP_SIZE,
   - COREDUMP_CMD_INVALIDATE_STORED_DUMP,
   - COREDUMP_CMD_ERASE_STORED_DUMP,
   - COREDUMP_CMD_CLEAR_ERROR.
 * extend the out-of-the-treee example 'empty' backend to
   execute the new tests.
 * fix the test's cmake project name.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-13 09:48:22 +01:00
Jamie McCrae
5c05b61ecd doc: mgmt: mcumgr: Remove OS mgmt datetime unimplemented note
This functionality is now implemented

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-13 09:48:13 +01:00
Jamie McCrae
20f0e37413 doc: release: 3.6: Add note on MCUmgr OS mgmt datetime
Adds a note that datetime support has been added to MCUmgr

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-13 09:48:13 +01:00
Jamie McCrae
1855fd16f7 tests: mgmt: mcumgr: Add os_mgmt_datetime test
Adds a test which tests datetime set/get and hook callbacks

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-13 09:48:13 +01:00
Jamie McCrae
6c4b89cb00 mgmt: mcumgr: grp: os_mgmt: Add datetime get/set functions
Adds datetime set and get functions which allow for setting and
getting the current time to/from the rtc alias device

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-13 09:48:13 +01:00
Yves Vandervennet
28c5b1d76d west: linkserver: update to reflect logging changes in 1.3.15
NXP released the linkserver update 1.3.15, which corrects an issue
with logging that by default went out to stderr when flashing.

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2023-11-13 09:47:27 +01:00
Yong Cong Sin
6d9fcd83a9 test: logging: add testcase for multi-instance log backend uart
Add testcase for the multi-instance log backend uart using
emulated uart.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-13 09:47:06 +01:00
Chris Friedt
c0064f1de8 logging: uart: support multiple instances
Extends the log_backend_uart to support logging to multiple
UART instances.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-13 09:47:06 +01:00
Yong Cong Sin
b89095cf12 tests: logging: log_syst: set backend ctx to its cb ctx when enable
Set the backend's context to its control block's context
instead of NULL when doing `log_backend_enable`, as the log
backend UART uses that later.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-13 09:47:06 +01:00
Emil Gydesen
89612932b0 tests: Bluetooth: Enable passing CAP AC 441 tests
Enable some previously disabled CAP AC tests for 44.1 KHz,
as they are now passing.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:46:57 +01:00
Nick Ward
2612aa02ce tests: drivers: build_all: gpio: add ads1145s0x testcase
This fixes multiple CI issues for the ads1145s0x
driver.

Having a special testcase for the driver limits the
CONFIG_ADC=y and CONFIG_ADC_INIT_PRIORITY adjustment
requirements.

Also fixes address not matching warning for pcal6416a@2

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-13 09:46:48 +01:00
Nick Ward
e338299bd4 drivers: adc: adc_ads114s0x: fix incorrect type
Affected CONFIG_ADC_ADS114S0X_GPIO=y build.
register_addresses was wrong type for
ads114s0x_write_multiple_registers()

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-13 09:46:48 +01:00
Robert Lubos
8aba7740b8 net: lwm2m: Fix core objects version reporting
Core objects version reporting was broken for LwM2M version 1.1, as the
default object version not necessarily matches the LwM2M version.
Therefore, implement a table with default object versions for particular
LwM2M version, which can be looked up when determining whether it's
needed to include object version or not during Registration/Discovery.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-13 09:46:06 +01:00
Daniel Istvan Nemeth
e5dbb26c72 samples: drivers: led_ws2812: nRF5340DK support
New config files to support nrf5340-based boards

Signed-off-by: Daniel Istvan Nemeth <nemeth.daniel.istvan@hallgato.ppke.hu>
2023-11-13 09:45:49 +01:00
Fabio Baltieri
9439c816e9 input: split npcx generic keyboard code into input_kbd_matrix.c
Move all the generic code from the Nuvoton NPCX keyboard scanning driver
into input_kbd_matrix.c. While doing that convert few configs into
devicetree properties and tweak few other things to enable the generic
code to support multiple instances.

This is limited to 8 rows for now, and that's fine for all the current
in-tree drivers, the limit could be removed down the road but this
should be fine for now, added few generic build checks to make sure a
driver does not go over the limit, as well and some more implementation
specific checks.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-13 09:45:28 +01:00
Mariusz Skamra
f80b237e30 tests: Bluetooth: Add tests for ATT automatic security elevation
This adds tests for automatic security elevation and retry on security
errors. This includes two tests:
1. where the security is elevated by the central
2. the security is elevated by security request, so pairing is already
   in progress.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-13 09:45:20 +01:00
Mariusz Skamra
f434198a2b Bluetooth: att: Retry ATT request if security elevation is in progress
If the conn security elevation is already in progress, retry the ATT
request if failed due to security reasons.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-13 09:45:20 +01:00
Mariusz Skamra
f0715fcbb3 tests: bsim: testlib: Fix compilation error
Fixes compilation error seen if CONFIG_BT_EATT is unset

testlib/src/att_read.c:179:73: error: expected expression before ‘,’ token
179 |               IF_ENABLED(CONFIG_BT_EATT, (.chan_opt = bearer)),
    |                                                               ^

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-11-13 09:45:20 +01:00
Tomasz Moń
f12e1d75ed usb: device: cdc_acm: Always buffer poll out data if possible
Queue characters in TX ring buffer regardless of interface state. This
allows simple applications that print basic output to CDC ACM port to
not care about connection or DTR state. Note that depending on actual
application requirements it might be still wise to wait for DTR before
trying to send data.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-13 09:43:46 +01:00
Tomasz Moń
c275fa737b doc: connectivity: usb: Document CDC ACM ECHO mitigation
Explain the root cause behind garbage characters received in shell
applications, what Zephyr does to mitigate the issue and what is
expected from host userspace applications.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-13 09:43:46 +01:00
Tomasz Moń
0127d000a2 usb: device: cdc_acm: Use ZLP to detect initial host read
Prevent ECHO on Linux by arming IN endpoint with ZLP when interface is
configured and making sure that actual payload is only sent after
initialization timeout. The ZLP is not visible to host side applications
because the applications are really accessing tty buffer and received
ZLP does not modify tty buffer in any way.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-13 09:43:46 +01:00
Emil Gydesen
fc2a54b80c doc: Bluetooth: Audio Stack status table
Adds table of the status of the LE Audio stack in
the Bluetooth subsystem.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:43:35 +01:00
Ryan McClelland
9ddc94e0d4 drivers: i3c: specify start addr when searching for a free addr
For example, if a driver needed to reserve address before it does a
ENTDAA, it would need to get free address in a loop, but the get
free address func would return the same address everytime. It needs
the start address, which would be the last free address it go, to
be passed in to get the next free address.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-11-13 09:43:26 +01:00
Ethan Duckett
da4e3e713b drivers: adc: ltc2451: Add ltc2451 driver
Adds support for the Linear Technologies LTC2451 ADC.

Signed-off-by: Ethan Duckett <ethan.duckett@brillpower.com>
2023-11-13 09:43:05 +01:00
Hake Huang
dbed251249 test: twister: testplan.py use normpath
when load test plan it is possible the plan is built in another os
so the case key would be
'samples/hello_world/samples.baseic.hello_world'
but the testsuite is scaned in current os may in window
and the key is like
'samples\\hello_world\\samples.baseic.hello_world'

so update the uniq path with only backslash in path

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-11-13 09:42:50 +01:00
Emil Gydesen
06d5a625a6 Bluetooth: Audio: Add codec cap set functions
Add set functions for codec capability, to set all
assigned number values in the bt_audio_codec_cap
struct.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:42:35 +01:00
Emil Gydesen
de0c543e62 Bluetooth: Audio: Update some codec cap assigned numbers
Update codec capabiliy frequency, frame duration and
channel count to use enums, and add additional
documentation and missing values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:42:35 +01:00
Emil Gydesen
c35e677d82 Bluetooth: Audio: Split ltv_set_val from codec_cfg_set_val
Add a new function, ltv_set_val, that did most of the
data manipulation from codec_cfg_set_val, so that we can
reuse that code for the codec cap and codec meta
functions as well.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:42:35 +01:00
Declan Snyder
31eb944fcd samples: boards: mimxrt11xx_cm7: Magic addr sample
Add magic address sample to show how to use flexram
magic address using memc flexram driver.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-13 09:42:28 +01:00
Declan Snyder
2d1fdb5586 soc: nxp: rt1xxx: Enable NXP FlexRAM
Enable NXP FlexRAM in DTS and SOC code.

Do not configure flexram at runtime if the code is in the RAM.

Fix RT1060 DT to be more accurate.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-13 09:42:28 +01:00
Declan Snyder
97d991f7d6 drivers: memc: Add NXP FlexRAM driver
Add driver for NXP FlexRAM

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-13 09:42:28 +01:00
Declan Snyder
71b0db2118 dts: bindings: Add nxp,flexram binding
Add binding for NXP FlexRAM

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-13 09:42:28 +01:00
Daniel Schultz
da1427406d boards: arm: am62x_m4: Add GPIO0 to phyBOARD-lyra
Enable the gpio0 node and mux the heartbeat LED. Moreover, add the
heartbeart LED as LED node and create an alias with 'led0'.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2023-11-13 09:42:11 +01:00
Daniel Schultz
474bbd12e9 dts: arm: ti: am62x_m4: Add gpio0 node
The M4F subsystem has a dedicated GPIO controller with 24 available
pins. Add the node definition for the recently added driver.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2023-11-13 09:42:11 +01:00
Daniel Schultz
fbd2b84e0e drivers: gpio: davinci: Add pinctrl
Add pinctrl to the Davinci GPIO driver to allow muxing pins dirctly
in this driver.

Also aligned the macro backslashes as line continuation character at
the end of each line with each at the same position and removed the
GPIO_DAVINCI_DEVICE_INIT macro which seems to be not used.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2023-11-13 09:42:11 +01:00
Daniel Schultz
a2f971795f soc: arm: ti_k3: am62x_m4: Lower Initialization level for init
Other drivers like the pinctrl_ti_k3 rely on a fully initialized system.
Move the am62x_init to an earlier stage than PRE_KERNEL_1 to keep both
PRE_KERNEL_{1,2} free for drivers.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2023-11-13 09:42:11 +01:00
Emil Gydesen
9f3858aad9 tests: bsim: Bluetooth: Remove broadcast_source_get_base_inval
Removed the tests for invalid bt_bap_broadcast_source_get_base
parameters and state, as those tests now implemented as unit tests.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:41:56 +01:00
Emil Gydesen
175a2f3287 tests: bsim: Bluetooth: Remove broadcast_source_get_id_inval
Removed the tests for invalid bt_bap_broadcast_source_get_id
parameters and state, as those tests now implemented as unit tests.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:41:56 +01:00
Emil Gydesen
475e067379 tests: Bluetooth: Add inval testing of bt_bap_broadcast_source_get_base
Add invalid parameter and state testing of
bt_bap_broadcast_source_get_base

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:41:56 +01:00
Emil Gydesen
1946dd829d tests: Bluetooth: Add inval testing of bt_bap_broadcast_source_get_id
Add invalid parameter and state testing of
bt_bap_broadcast_source_get_id

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-13 09:41:56 +01:00
Andriy Gelman
6db785404a tests: drivers: uart_async_api: Be more robust to early buf release
Commit eb44414af9 modified
test_single_read for early rx buf release.

The commit assumed that tdata.last_rx_buf points to either &tdata.rx_buf[0]
if the driver releases the first buffer or at &rx_buf[5] if the first
buffer is not released. However, where tdata.last_rx_buf points to depends
on the timeout given to uart_rx_enable(), making the test flaky.

This commit modifies the test by keeping track how many bytes have been
received in the first and second buffers.
The function tdata_check_recv_buffer() validates that the sent data
matches the received bytes which may have been split between first and
second buffer.

This fixes the uart_async_api test on the xmc45_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-13 09:41:49 +01:00
Fabio Baltieri
3003cc1938 input: keep CMakeLists and Kconfig sorted
Add zephyr-keep-sorted tags to CMakeLists and Kconfig in input.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-13 09:41:05 +01:00
Fabio Baltieri
98d9a7f86f scripts: compliance: add a compliance check to keep blocks of code sorted
This allows defining a list within two marker (zephyr-keep-sorted-start
and zephyr-keep-sorted-stop), and have the CI validate that the block is
kept sorted every time stuff gets added to it.

This is mainly for Kconfig and CMake include lists so that there's no
ambiguity on where to add new stuff.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-13 09:41:05 +01:00
Fabio Baltieri
6ae03d98a0 drivers, subsys: sort the lists again, mark the blocks for checking
Sort the Kconfig and CMakeLists include blocks again, and mark the start
and end of the blocks so that the CI can keep them sorted.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-13 09:41:05 +01:00
Jason Kridner
26f30db8ad soc: arm: ti_simplelink: cc13x2x7_cc26x2x7: add caparray delta config
- Make caparray delta a Kconfig variable
- Set caparray delta for beagle_bcf at beagleconnect_freedom_defconfig

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
2023-11-11 18:49:25 -05:00
Ayush Singh
27fe62c33f ieee802154: ieee802154_cc13xx_cc26xx_subg: Add cc1352p7 support
- Add support cc1352p7 used by beagleconnect_freedom
- Since this is a multi interface device, auto config does not work.

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-11-11 18:49:25 -05:00
Yuval Peress
6bd0b54526 twister: Fix gtest harness
Some platforms prefix extra logging information before the standard
[] blocks so I've added `.\*` to the regex. Also, removed the static
values so they're only referenced using 'self.' and stopped parsing
lines after the FINISHED_PATTERN is matched since some versions of
gTest also print out a test summary after and it's not useful for
the processing.

Signed-off-by: Yuval Peress <peress@google.com>
2023-11-10 16:23:07 -05:00
Adrian Bonislawski
155f866ecc dts: intel_adsp: ace remove dw watchdog
DW watchdog driver is not used on ACE,
Intel ADSP watchdog driver will be used in DTS when ready to use

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2023-11-10 16:22:34 -05:00
Yuval Peress
3c6e66e5b5 sensors: convert fifo_wm to batch_dur
Having a % FIFO watermark isn't very useful as it doesn't convey how long
the SoC can sleep (or do other work) while batching sensor data. Convert
the attribute to a batch duration using ticks. Currently the ticks are
in system ticks, but eventually when an external clock is attached to
the sensor it will be in the external clock's ticks.

Signed-off-by: Yuval Peress <peress@google.com>
2023-11-10 12:16:46 -06:00
Yuval Peress
1326c7c454 icm42688: Implement streaming APIs
Add streaming implementation for icm42688 using both threshold and
full FIFO triggers.

Signed-off-by: Yuval Peress <peress@google.com>
topic#sensor_stream
2023-11-10 12:16:46 -06:00
Yuval Peress
94dc05b3f2 sensors: Add streaming APIs
Introduce a streaming API that uses the same data path as the async API.

This includes features to the decoder:
* Checking if triggers are present

Adding streaming features built ontop of existing triggers:
* Adding 3 operations to be done on a trigger
  * include - include the data with the trigger information
  * nop - do nothing
  * drop - drop the data (flush)
* Add a new sensor_stream() API to mirror sensor_read() but add an
optional handler to be able to cancel the stream.

Signed-off-by: Yuval Peress <peress@google.com>
topic#sensor_stream
2023-11-10 12:16:46 -06:00
Antoniu Miclaus
1088846e9a tests: build_all: sensor: add adxl367 trigger
Add trigger support for adxl367 build all sensor tests.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-10 10:44:11 -06:00
Antoniu Miclaus
af0b656709 drivers: sensor: adxl367: add trigger support
Add trigger support for the adxl367 Zephyr driver.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-10 10:44:11 -06:00
Antoniu Miclaus
678b29386d dts: bindings: adxl367: add interrupt support
Add int1-gpios property in the adxl367 dts bindings.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-10 10:44:11 -06:00
Fabio Baltieri
7a3a6d0c03 input: convert ite_it8xxx2_kbd driver from kscan to input
Convert the ITE keyboard scanning driver from kscan to input, add the
corresponding kscan compatibility node to the current board, build test
only.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-10 16:30:37 +00:00
Benjamin Cabé
12e8490b8f boards: nxp: doc: Fix typo in imx8mn_evk board specs
The M core on this board is an M7, not M47.

Fixes #65047.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-10 13:41:04 +00:00
Fabio Baltieri
ac450be5c8 i2c: gpio_i2c_switch: fix gpio api misuse
Use GPIO_OUTPUT_INACTIVE to initialize the pin so that the ACTIVE_LOW DT
flag is honored and use the gpio_pin_set_dt functions to set the
(logical) value of the pin instead of gpio_pin_configure_dt, that
tries to reconfigure the pin each time.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-10 13:40:36 +00:00
Carles Cufi
9a44f7f583 doc: gsg: Windows: Clarify usage of terminal/cmd.exe
Responding to feedback from the community, clarify that the cmd.exe
window needs to be closed and reopened.

Also be specific about the type of terminal window to be used.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-10 13:40:03 +00:00
Andrei Emeltchenko
d817a8ebff drivers: timeaware_gpio: Fix include path
Fixes CI after syscall_handler changes path.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 14:40:55 +02:00
Carles Cufi
318836af23 doc: gsg: macOS: Include instructions to add homebrew to the path
Multiple users have failed to read the output from the Homebrew
installation script, which instructs the user how to add it to the
path. Include the instructions in the guide.

Also add a step to include the Homebrew Python executable to the path,
which allows then for invocation of python and pip as well as python3
and pip3.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-10 11:14:12 +00:00
Nick Kraus
5bd18886e9 sam: mdio: Fix Transfer Timeout at Initialization
Initialize the MDIO peripheral clock (normally done during GMAC
initialization) before trying any MDIO transfers, preventing startup
errors.

Signed-off-by: Nick Kraus <nick@nckraus.com>
2023-11-10 10:42:26 +01:00
Kevin Wang
a5d85503fe boards: riscv: adp_xc7k_ae350: doc: index.rst
Due to the west build path in official sample doc is now change
to root directory, we modify our west build command align the
official sample doc.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2023-11-10 10:42:04 +01:00
Benjamin Deuter
329ef222dd tests: drivers: serial: async: Add support for stm32h735g_disco
On the STM32H735G-DK Discovery kit, when connecting a UART from
pin PF7 to PF6, the test uart_async_api passes now.

Signed-off-by: Benjamin Deuter <benjamin.deuter@gmail.com>
2023-11-10 10:41:23 +01:00
Andrei Emeltchenko
1f03bad7cb doc: edac: Separate Optional and Mandatory APIs
Make documentation more readable by separating API with help of @name
instead of simple comment in the code.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 10:41:14 +01:00
Andrei Emeltchenko
44e4425ef7 doc: edac: Do not include hidden API
Exclude hidden API marking them with INTERNAL_HIDDEN.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 10:41:14 +01:00
Andrei Emeltchenko
f776188344 doc: smbus: Make smbus fully api covered
Add file description for full API coverage.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 10:41:14 +01:00
Declan Snyder
fef0018cca soc: lpc55xxx: Support, enable, test NXP MRT
Support NXP MRT on LPC55XXX SOC series, enable on
lpcxpresso55s69_cpu0, add test overlay to counter basic api test

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
93c59793c2 soc: rt6xx: Add NXP MRT
Add NXP MRT to RT6xx DT definition and add peripheral reset to soc.c

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
ff83745c9a soc: rt5xx: Enable NXP MRT
Enable NXP MRT on RT5xx soc and MIMXRT595_EVK board

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
8257ff8f6a tests: counter: Update for NXP MRT
Update counter test to test NXP MRT devices

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
31722446aa drivers: counter: Add NXP MRT driver
Add driver for NXP Multirate Timer

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
c83037cece drivers: clock_control_mcux_syscon: Add MRT subsys
Add code to handle MRT subsys clock to LPC syscon driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Declan Snyder
0b5e48985d dts: bindings: Add binding for NXP Multirate Timer
Add binding for nxp,mrt and nxp,mrt-channel. MRT is
NXP multirate timer, a simple timer with multiple
independent channels.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-10 10:40:54 +01:00
Magdalena Kasenberg
647207c024 bluetooth: leaudio: Fix missing set of BIG_Encryption
In the PTS BASS/SR/CP/BV-19-C test case a client executes Set
Broadcast Code operation of Broadcast Audio Scan Control Point
characteristic with Broadcast_Code set to an invalid value.
After syncing to an ISO stream there is an expected failed attempt
to decrypt the stream data, but the host does not set BIG_Encryption
value to the expected value 0x03 (BT_BAP_BIG_ENC_STATE_BAD_CODE).
Add missing BIG_Encryption state into the failing check.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-10 10:40:40 +01:00
Dmitrii Golovanov
c88a7b659b tests: coredump: Extend matching patterns
Extend test matching patterns and fix cmake project name.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-10 10:40:33 +01:00
Dmitrii Golovanov
3a95c78545 tests: coredump: Enable code coverage
Enable code coverage for debug.coredump.logging_backend test.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-10 10:40:33 +01:00
Guennadi Liakhovetski
0bf08e5775 llext: use llext_peek() for section pointers
Try to use llext_peek() for section pointers. If it's supported and
succeeds we don't need to allocate buffers.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-10 10:40:26 +01:00
Guennadi Liakhovetski
ce4cdac3c0 llext: add llext_peek()
The only way so far to access extension images is via a memory
buffer. Since this, supposedly, will also be a rather common method,
it makes sense to add a method to access extension data quickly by
obtaining a pointer instead of copying data into local buffers. Add a
llext_peek() method for that.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-10 10:40:26 +01:00
Tim Lin
adc30ff294 ITE: drivers/i2c: Bug in build assert when FIFO enable
We need to do a build assert for the fifo enable status of 'I2C2'.
There is a problem with using instance to obtain property when
any one I2C port is not enabled.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-11-10 10:40:19 +01:00
Tom Burdick
986422f4f2 dma: Move struct member doc comments to fields
To better cover the struct fields of the DMA API in doxygen the fields
are now individually documented rather than documenting them ad-hoc in
the struct header doc comment.

A best attempt at marking fields that are HW specific has been done as
well. That means almost all of them.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-10 10:40:10 +01:00
Tom Burdick
344d24bcb7 docs: Better document the DMA API and expectations
The DMA API has several expectations for drivers and callers that were
underdocumented or undocumented. Better clarify the driver expectations
and caller expectations.

The DMA API from the caller side is not a portable API and really cannot
be as each DMA has unique properties and expectations of memory,
peripheral interaction, and features. The API in effect provides a union
of all useful DMA functionality drivers have needed in the tree. It can
still be a good abstraction, with care, for peripheral devices for
vendors where the DMA IP might be very similar but have slight
variances.

From the driver implementation side expectations around synchronization,
state transitions, and memory management for transfer descriptors is now
described in documentation rather than solely from me in github review
comments.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-10 10:40:10 +01:00
Katsuhiro Suzuki
4ce5f7ebe1 arch: riscv: fix hangup of multicore boot
This patch fixes hangup of RISC-V multicore boot.
Currently boot sequence uses a riscv_cpu_wake_flag to notify wakeup
request for secondary core(s).

But initial value of riscv_cpu_wake_flag is undefined, so current
mechanism is going to hangup if riscv_cpu_wake_flag and mhartid of
secondary core have the same value.

This is an example situation of this problem:

- hart1: check riscv_cpu_wake_flag (value is 1) and end the loop
- hart1: set riscv_cpu_wake_flag to 0
- hart0: set riscv_cpu_wake_flag to 1
         hart0 expects it will be changed to 0 by hart1 but it
         has never happened

Note:
  - hart0's mhartid is 0, hart1's mhartid is 1
  - hart0 is main, hart1 is secondary in this example

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
2023-11-10 10:40:01 +01:00
Mykola Kvach
bcaa7c2bdb boards: arm64: xenvm: read real frequency
Read real frequncy from ARM Arch Timer instead of using define
'CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC' which can be incorrect for
some run cases. If we run xenvm under qemu we get one frequency, but
we can run this build as a DomU for Xen under different real platforms
and thus with differenty arch timer frequencies. So, we need to read
frequency from the timer registers.

Signed-off-by: Mykola Kvach <xakep.amatop@gmail.com>
2023-11-10 10:39:54 +01:00
Maciej Zagrabski
b2fb570635 net: wifi: Pass psk and sae as const
There shouldn't be any reason to be able to modify the passed psk,
and having this non-const gives application warnings if passing a
constant string.

Signed-off-by: Maciej Zagrabski <mzi@trackunit.com>
2023-11-10 10:39:43 +01:00
Nicolas Pitre
38373aa599 riscv: FPU trap: catch fused multiply-add instructions
The FMADD, FMSUB, FNMSUB and FNMADD instructions occupy major opcode
spaces of their own, separate from LOAD-FP/STORE-FP and OP-FP spaces.
Insert code to cover them.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-11-10 10:39:28 +01:00
Ricardo Rivera-Matos
1a0b1124c6 MAINTAINERS: charger: Adds entry for "Chargers"
Adds an entry for the charging API.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Ricardo Rivera-Matos
2253ba571b docs: charger: Corrects text in the Properties section
Correct Properties subsection of the document to be accurate
to the latest implementation of the charger API.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Ricardo Rivera-Matos
d291ef4577 doc: charger: Removes misleading statement at introduction
Removes a statement at the introduction claiming only getting
properties is supported by the API. The charger API can get/set
properties.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Fabio Baltieri
35e9104de7 ci: doc-build: add the container owner workaround step
Seems like the PDF build hit the "detected dubious ownership in
repository" issue that has already been worked around in other workflow.
Add that step here as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 18:54:26 +00:00
Fabio Baltieri
62b0153249 ci: doc-build: only rebase on pull requests
Skip the rebase step if it's not a pull request. Schedule and push runs
have no base ref to rebase against anyway, currently the step is failing
and being skipped.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 18:54:26 +00:00
Manuel Argüelles
1572ea16fc drivers: can: nxp_s32_canxl: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-09 18:22:01 +01:00
Eduardo Montoya
3508cd609c net: openthread: upmerge to 6edb06e
Regular OpenThread upmerge to `6edb06e`.

Also add `OPENTHREAD_CSL_RECEIVER_LOCAL_TIME_SYNC` config.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-09 18:21:41 +01:00
Guennadi Liakhovetski
a9a82d557c llext: use elf_rela_t instead of elf_rel_t
elf_rela_t contains elf_rel_t exactly and contains an additional
field at the end. Therefore pointers of that type can be used for
both types, making the code generic.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
bca88b4b3a llext: fix exporting objects
When exporting a symbol, we need to use "&" explicitly, otherwise
it only works for functions and doesn't work for objects.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
6185da5d71 llext: fix a typo in elf_rel_t 64-bit definition
struct elf64_rela is undefined, use the correct structure name.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
f0527b5571 llext: add a weak arch_elf_relocate() stub
The module linking API can be used for shared objects with no
architecture-specific relocation code. Add a weak function for such
cases.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Guennadi Liakhovetski
ade72c2b3a llext: remove a superfluous variable initialisation
ret in llext_load() is always assigned before use, remove its
redundant initialisation.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-11-09 18:21:27 +01:00
Manuel Argüelles
595a9c11c8 counter: nxp_s32_sys_timer: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Note that for some peripheral instances is needed to redefine the
HAL macros of the peripheral base address, since the naming is not
uniform for all instances.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-09 18:21:19 +01:00
Laurentiu Mihalcea
5cdd377316 boards: xtensa: nxp_adsp_imx8(x): Add serial support
This commit introduces all changes necessary for utilizing
the serial interface on i.MX8QM/QXP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
dcddb2e0f7 dts: xtensa: nxp_imx8: Add dummy interrupt controller node
Since the LPUART peripheral DTS binding requires the
"interrupts" property be specified even if it's not going
to be used for now we need to add a dummy interrupt controller
node to make that possible. Logically speaking, this dummy
interrupt controller should be used by peripherals which
can assert interrupts directly routed to the DSP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
707759bd12 soc: xtensa: imx8: Add pinctrl support
This commit introduces support for pinctrl-related operations
on i.MX8QM/QXP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
ea99578b76 soc: xtensa: imx8: Enable clock control on i.MX8QM/QXP
This commit enables clock control on the i.MX8QM and QXP boards.
This is achieved through the following changes:
	1) The "reg" property is no longer marked as required
	for the "nxp,imx-ccm" binding. This is necessary because
	in the case of i.MX8QM and i.MX8QXP the clock management
	is done through the SCFW, hence there's no need to access
	CCM's MMIO space (not that you could anyways).

	2) The DTS now contains a scu_mu node. This node refers
	to the MU instance used by the DSP to communicate with
	the SCFW.

	3) The CCM driver needs to support the LPUART clocks
	(which will be the only IP that's supported for now)
	and needs to perform an initialization so that the
	NXP HAL driver knows which MU to use to communicate
	with the SCFW.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
eb12bae048 soc: xtensa: imx8: Configuration cleanup
As the name suggests, this commit attempts to cleanup some
of the configurations for the i.MX8 series. This cleanup
consists of either relocating the configuration or removing
unnecessary configurations.

As a rule of thumb, SoC-specific configurations have been moved
to Kconfig.series. If the configuration is by default 'y' and
needs to be set to 'n' or it has a numeric value then it has
been moved to Kconfig.defconfig.series. Configurations that
are default 'n' and were also explicitly set to 'n' have been
removed. Also, enabling logging has been moved to the board
level to avoid having to force all boards based on the same
SoC to enable logging.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
ad7e858938 soc: xtensa: imx8: memory.h: Cleanup
This commit attempts to clean the memory.h header by doing
the following changes:
	1) Change the include guard to the standard
	ZEPHYR_....
	2) Remove unused macro definitions.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
f29d6edece soc: xtensa: imx8: Remove include/soc directory
Since platform.h is a SOF-specific header that's no
longer used there's no point in keeping the include/soc directory.
As such, move memory.h to include/ and modify the linker script
to reflect this location change.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
a0ecc05cdf soc: xtensa: imx8: Split generic i.MX8 SoC into i.MX8QXP and i.MX8QM
This commit attempts to split the generic i.MX8 SoC into its
QXP and QM variants. As things are now, the i.MX8 SoC doesn't
have any NXP HAL files to back it up. As a consequence, the
native Zephyr drivers cannot be used.

To solve this issue, the generic i.MX8 has been split into
i.MX8QXP and i.MX8QM, each of them having different NXP HAL
files.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
5e7a9e5e9f manifest: Bump up hal_nxp revision
Bump up hal_nxp revision to contain the
HAL headers for i.MX8QM's and i.MX8QXP's DSP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Laurentiu Mihalcea
d45d323da2 manifest: Bump up hal_xtensa revision
Bump up hal_xtensa revision to contain the overlays
for i.MX8QM and i.MX8QXP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-11-09 18:21:05 +01:00
Yong Cong Sin
ffb8f31bff drivers: intc: plic: Use sys IO APIs to access memory-mapped registers
Use arch-specific sys IO APIs to access the memory-mapped
registers to ensure safe memory operations

fixes #62956

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 18:20:43 +01:00
Yong Cong Sin
980fb4b846 drivers: intc: plic: make sense of magic number
Added some defines and helper functions to help with the
arithmetics so that the bit shifts and stuff do not look like
magic number.

Converted manual bit shift/set/unset to use macros provided by
Zephyr.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 18:20:43 +01:00
Yong Cong Sin
efd1073ceb tests: build_all: plic: multi instance
Add PLIC multi-instance build-only test.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 18:20:43 +01:00
Yong Cong Sin
e538b0e5a6 drivers: plic: support multiple instances for multi-level
Most of the public APIs in `riscv_plic.h`
(except `riscv_plic_get_irq` & `riscv_plic_get_dev`) expect the
`irq` argument to be in Zephyr-encoded format, instead of the
previously `irq_from_level_2`-stripped version. The first level
IRQ is needed by `intc_plic` to differentiate between the
parent interrupt controllers, so that correct ISR offset can be
obtained using the LUT in `sw_isr_common`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 18:20:43 +01:00
Yong Cong Sin
76a7b3cf1c drivers: intc: plic: initial refactor for multi-instance support
Use a config struct to store per-instance device config during
init and connect the IRQ based on the devicetree instead of
hardcoded value and instance number.

The `get_plic_dev_from_irq` is still a placeholder for now and
always return the first instance.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 18:20:43 +01:00
Anas Nashif
b72e5c1f3d MAINTAINERS: more fixes and expansion of coverage
More fixes and new areas that were not covered before.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-09 11:24:32 -05:00
Emil Lindqvist
8a77ad406f lsm6dsl: add pm suspend and resume to lsm6dsl
This commit implements the suspend and resume
PM API for LSM6DSL accelerometer.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2023-11-09 10:04:15 -06:00
Bartosz Bilas
8129307887 drivers: charger: add charger prefix for bq24190
Many (or almost all) drivers contain the specified prefixes
related to the driver subsys so add the missing one for the
BQ24190.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-09 09:57:30 -06:00
Lukasz Majewski
12665a0dc1 driver: eth: Support for lan8651 T1S ETH
This patch set provides support for T1S ethernet device - LAN8651.

For SPI communication the implementation of Open Alliance TC6
specification is used.

The driver implementation focuses mostly on reducing memory footprint,
as the used SoC (STM32G491) for development has only 32 KiB RAM in total.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-09 15:35:01 +01:00
Lukasz Majewski
1cef7f3250 driver: eth: Implementation of Open Alliance's TC6 T1S communication
Those files provide generic functions to handle transmission between chip
conforming OA TC6 standard and Zephyr's network stack represented by
struct net_pkt.

The communication is performed via SPI and is focused on reduced memory
footprint (works with SOC equipped with 32 KiB of RAM) and robustness of
operation.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-09 15:35:01 +01:00
Declan Snyder
345f079e49 dts: bindings: Fix NXP USB bindings
NXP USB bindings were combined into one binding and using
a property corresponding to HAL enums which is improper use
of devicetree.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-09 15:34:39 +01:00
Ting Shen
c5d3fc10c1 drivers: usb_dc_it82xx2: fix uninitialized variable warning
ep_ctrl and ep_trans_type is not used inside it82xx2_usb_dc_isr, this
triggers a compile warning. Move these variables to a smaller scope.

Signed-off-by: Ting Shen <phoenixshen@google.com>
2023-11-09 15:34:18 +01:00
Ayush Singh
dfe1c3a32b drivers: i2c: add gpio_i2c_switch
Add drivers for gpio_i2c_switch which is present in beagleconnect freedom

Signed-off-by: Vaishnav Achath <vaishnav@beagleboard.org>
Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-11-09 15:33:54 +01:00
Ayush Singh
2b98b67109 dt-bindings: i2c: Add gpio-i2c-switch
Generic GPIO enabled analog switch to isolate devices from an I2C bus

Signed-off-by: Vaishnav Achath <vaishnav@beagleboard.org>
Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-11-09 15:33:54 +01:00
Benjamin Cabé
abc334016f doc: pdf: Use single column for the index
The index at the end of the PDF document can contain pretty long strings
that don't fit in the default 2-column layout.
This commit makes the index use a single-column.

Note: this relies on LaTeX package idxlayout which should already be
included in the packages recommended for installation in our
instructions.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 15:33:40 +01:00
Dong Wang
2938856cac west.yml: update hal_intel to latest
It contains changes from ISH code base:
 - Switch IPC/SPI SEDI drivers to use OSXML header files.
 - Enhance SEDI debug functions.
 - I2C and SPI drivers' bug fix and enhancements.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
2023-11-09 15:33:31 +01:00
Magdalena Kasenberg
35f326b821 bluetooth: leaudio: Termination of PA at Modify Source
From BASS spec:
If the PA_Sync parameter value written by the client is set to a value
of 0x00 (Do not synchronize to PA) and the server is synchronized to
the PA, the server shall stop synchronization with the PA and shall
write a value of 0x00 (Not synchronized to PA) to the PA_Sync_State
field of the Broadcast Receive State characteristic .

Fixes BASS/SR/CP/BV-12-C test case.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-09 15:32:32 +01:00
Andy Sinclair
0cbe0298cb drivers: regulator: npm1300: Fixed LDSW GPIO control
The load switch / LDO pin configuration function now
correctly configures the associated GPIO pin.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-09 15:32:17 +01:00
Andy Sinclair
488f56c033 drivers: regulator: npm1300: soft start configuration
Added configuration of soft start functionality

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-09 15:32:17 +01:00
Mariano Goluboff
45f664abf5 drivers: console: fix dropped characters when using debug hooks
When using console debug server hooks, not all characters are
processed if the server hook returns non-zero for one character
while there are other characters in the buffer. This is seen
when using a fast console (like USB) where multiple characters
come in before the ISR is called. Fix it by continuing to
process characters instead of returning from the ISR with
characters still in the buffer.

Fixes: #64661

Signed-off-by: Mariano Goluboff <mariano.goluboff@nordicsemi.no>
2023-11-09 15:32:10 +01:00
Daniel DeGrasse
47ce94527a doc: services: pm: fix function prototype for PM device support
Function prototype in PM device implementation documentation had the
incorrect prototype for device power management. Fix this to align
with the correct prototype.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-09 15:32:01 +01:00
Yong Cong Sin
30940418b3 doc: kconfig: sort devicetree functions alphabetically
Sort these entries alphabetically to make it easier to read.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 15:31:38 +01:00
Yong Cong Sin
4b0fa40c71 doc: kconfig: remove duplicated devicetree function
These devicetree function entries already existed in the doc
since #21133.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 15:31:38 +01:00
Benjamin Cabé
7d3381f9c8 doc: Rename "report an issue" label
Clarify the "Report an issue" label in HTML documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 14:50:21 +01:00
Benjamin Cabé
6cf694a2ad doc: gh_utils: Use MAINTAINERS file to add labels to opened issues
Use get_maintainer.py to add more meaningful labels to issues creates
from a documentation page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 14:50:21 +01:00
Benjamin Cabé
a3ed8f827f doc: gh_utils: Use "doc:" prefix in opened issue title
Not sure why I used square brackets for "[doc]" prefix of the default
Github issue title. Change it to "doc:".

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 14:50:21 +01:00
Benjamin Cabé
f6400f17cb doc: gh_utils: Fix incorrect condition for empty string
Page prefix can be an empty string.
Fixed the condition so that it only evaluates to try when prefix is
truly None.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 14:50:21 +01:00
Benjamin Cabé
61dd68a5ee doc: gh_utils: use doc2path method from BuildEnvironment
Use BuildEnvironment to get the path of a document.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 14:50:21 +01:00
Benjamin Cabé
cf52afb3fb doc: gh_utils: Remove unnecessary ZEPHYR_BASE config option
Compute ZEPHYR_BASE like other extensions do rather than artificially
pretend it's a config option.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 14:50:21 +01:00
Benjamin Cabé
0f07889bcd doc: gh_utils: add docstring for get_page_prefix
Add documentation to the get_page_prefix method.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 14:50:21 +01:00
Dat Nguyen Duy
a39d2dc9d5 drivers: nxp_s32: add missing soc.h inclusion
Some NXP S32 shim drivers are using macros defined in
soc/arm/nxp_s32/*/soc.h but not including soc.h. Those still
can be built because the header file is included indirectly
by some other header files. This is very fragile, it should
be included directly

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-11-09 11:23:46 +01:00
Benjamin Cabé
df6a9f2d30 doc: css: fix dark theme for gui roles
Fix dark theme issues with guilabel and menuselection roles.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 10:23:31 +00:00
Benjamin Cabé
00758b3e9a doc: gsg: macOS: Use menuselection role
Small tweak to use Sphinx `menuselection` role and make the menu output
more readable.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-09 10:23:31 +00:00
Bartosz Bilas
f409f67db4 tests: drivers: adc: move ad5592-adc node into native_posix.overlay
Remove the `app.overlay` file which has been
wrongly added in ad3c5a2 commit. Instead of that
add the ad5592-adc node into `native_posix.overlay` file.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-09 11:23:14 +01:00
Declan Snyder
6af171d44b include: net_if: Fix IPV6 prefix struct doc desc
IPv6 Prefix struct doc description is a copy paste error, fix

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-09 11:22:54 +01:00
William MARTIN
56395ec42f dts: arm: st: Update stm32l496.dtsi
Add missing master-can-reg into stm32l496.dtsi

Signed-off-by: William MARTIN <william.martin@muxen.fr>
2023-11-09 11:22:48 +01:00
Fabio Baltieri
702399080e Kconfig: drop COMPAT_INCLUDES
Last reference of this was dropped in 01b7800bc8, almost 2y ago.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 11:22:40 +01:00
Sebastian Bøe
1f0b4c62a2 drivers: entropy: psa: Don't have PSA_CRYPTO_RNG depend on TF-M
Remove the depenency on TF-M so that this driver can be used when PSA
is provided by something else than TF-M.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2023-11-09 11:22:26 +01:00
Ning Yang
be0cb45e1a drivers: dma: fix build warning issue for dma sedi driver
Remove unused functions to avoid build warning check.

Signed-off-by: Ning Yang <ning.yang@intel.com>
2023-11-09 10:21:58 +00:00
Pieter De Gendt
98052aabb7 doc: releases: migration: Add CoAP API changes
Add a note to the 3.6 migration guide about the CoAP API changes
introduced with the CoAP server subsystem.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
b81ce1f957 doc: connectivity: networking: api: Add subsystem link notes to CoAP
The CoAP documentation has server/clients sample usages, added a
note about the available subsystems that can be used instead.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
230c989590 doc: connectivity: networking: api: Add CoAP server documentation
Created a dedicated page for CoAP service and resource examples.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
1f63c32c03 samples: net: sockets: Add CoAP service example
Replaced the CoAP server example with CoAP services.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
74db066941 tests: net: lib: Add CoAP service tests
Add a test for CoAP macro usage.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
e8e6d23270 net: lib: coap: Add CoAP server shell
Add shell commands that allow to start/stop CoAP services.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
ae6e0106e7 net: lib: coap: Add service support
Add CoAP services and server as a subsystem implementation.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
5227f24815 net: lib: coap: Add support for observer event callbacks
This commit adds the option to register an event handler to CoAP
resources when observers are added/removed.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
291743b686 net: lib: coap: coap_remove_observer result type
Change coap_remove_observer to return the result of removing the
observer if found.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
fac670e1e2 net: lib: coap: Add coap_find_observer_by_token
Add a CoAP helper function to find a matching observer by token.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
cc89338888 net: lib: coap: Add coap_packet_is_request
Add function to check if CoAP packet is a request to the public API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
0a4668a2f7 net: lib: coap: Add coap_uri_path_match
Add URI path matching function to public CoAP API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
bea29cf631 net: lib: coap: Add resources length based variants
Add length variant for the well known core resource and parsing.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Pieter De Gendt
1158c5dc01 include: coap: Fix typo
Fixed a typo to include DOXYGEN generated documentation.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-11-09 11:21:42 +01:00
Ning Yang
c33ed20eb8 drivers: dma: copy whole user dma config to fix dma case failure
user dma config is not fully saved in dma_sedi_chan_config
function. When dma_sedi_start function it will check local
context, it will cause failure here.

Signed-off-by: Ning Yang <ning.yang@intel.com>
2023-11-09 10:21:26 +00:00
Chaitanya Tata
ed17320c3d net: Remove unnecessary lock
The main action in this function it queueing the packet for
transmission which doesn't need a lock and interface flags use atomic
operations.

So, remove the unnecessary lock.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-11-09 10:21:13 +00:00
Piotr Narajowski
7f7b097499 bluetooth: tester: MCP Client tests
Add support for Media Control Client tests

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-11-09 11:20:49 +01:00
Yong Cong Sin
7485ef91f5 irq: multilevel: reduce the use of macros
Convert `#if defined CONFIG_*` to use
`if (IS_ENABLED(CONFIG_*))` and removed some macro guards since
they are safe to be compile.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 11:20:42 +01:00
Yong Cong Sin
63bd547e9f arch: common: guard the compilation of sw_isr_common with CMakeLists.txt
Instead of using a macro guard to prevent functions in
`sw_isr_common.c` from getting compiled when
`CONFIG_DYNAMIC_INTERRUPTS` isn't enabled, do that in
`CMakeLists.txt` instead.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 11:20:42 +01:00
Yong Cong Sin
cdb606aa03 arch: common: refactor multi-level IRQ code
Refactor multi-level IRQ related code from `sw_isr_common.c` to
`multilevel_irq.c` to simplify `sw_isr_common` & macrologies.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 11:20:42 +01:00
Yong Cong Sin
ec93404a26 arch: common: irq: relocate internal functions into a private header
Relocate new and existing internal software-managed table
access functions from the public `sw_isr_table.h` into a
private header that should only be accessed internally.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 11:20:42 +01:00
Yong Cong Sin
ad788a335f tests: interrupt: add testcase for functions in the sw_isr_table
Validate the following functions in the sw_isr_table:
- z_get_sw_isr_table_idx
- z_get_sw_isr_device_from_irq
- z_get_sw_isr_irq_from_device

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 11:20:42 +01:00
Yong Cong Sin
d24545072c arch: sw_isr: store device info in the table and add funtions to access
Change the internal function to `get_parent_entry`, which
returns the entire entry of table.

Store the parent interrupt controller device in the
`irq_parent_offset` table, and added 2 helper functions to:

1. determine the parent interrupt controller based on the IRQ
2. determine the IRQ of the parent interrupt controller

Declare the `struct _irq_parent_entry` in the header and added
`-` suffix to the struct so that it can be used to test the
functions in testsuites.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-09 11:20:42 +01:00
Mulin Chao
f9a4a3597b soc: arm: npcx: move soc-specific register definitions to soc.h
This CL is to minimize `CONFIG_SOC_SERIES_XXXX` definitions when we
introduce a new chip series. Most of them are relevant to register
layouts in different npcx soc series. It moves soc-specific register
definitions from `reg_def.h` to its own soc.h file.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-11-09 10:20:39 +00:00
Manuel Argüelles
db0ec23ba4 tests: samples: watchdog: add s32z270dc2_r52 rev.D
Twister treats board revisions as separate boards, so s32z270dc2_r52
revision D must be added to the filters.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-09 10:20:27 +00:00
Manuel Argüelles
6744d6084d watchdog: nxp_s32: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Note that for some peripheral instances is needed to redefine the
HAL macros of the peripheral base address, since the naming is not
uniform for all instances.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-09 10:20:27 +00:00
Corey Wharton
0fdb50b869 tests: arch: arm: add new test for custom interrupt control on Cortex-M
Adds a new test for ARM Cortex-M architectures with the
CONFIG_ARM_CUSTOM_INTERRUPT_CONTROLLER option enabled.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2023-11-09 11:20:01 +01:00
Corey Wharton
4e5868faaf arch: arm: cortex-m: support custom interrupt controllers
This change adds support for the CONFIG_ARM_CUSTOM_INTERRUPT_CONTROLLER
option on Cortex-M platforms. While all Cortex-M platforms have a
NVIC controller some custom SoCs may have additional IRQ controllers
or custom handling. This change allows those SoCs to modify this
bahaviour without having to place platform specific logic inside
applications or drivers.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2023-11-09 11:20:01 +01:00
Mykola Kvach
c4ffadb0b6 arch: arm64: avoid invalidating of RO mem after mem map
The Cortex ARM documentation states that the DC IVAC instruction
requires write access permission to the virtual address (VA);
otherwise, it may generate a permission fault.

Therefore, it is needed to avoid invalidating read-only memory
after the memory map operation.

This issue has been produced by commit c9b534c.
This commit resolves the issue #64758.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2023-11-09 10:19:12 +00:00
Emil Obalski
d769a92520 ipc: icmsg: Allow to support future versions
Allow magic number to be longer than the sizeof(magic).
This will allow to support future versions of the icmsg
with backwards compatibility.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-11-09 10:19:02 +00:00
Emil Obalski
eb4fc3f083 ipc: backends: Port IcMsg based backends to use pbuf
Replace spsc_pbuf with pbuf implementation dedicated to
be used by IcMsg based backends.
The pbuf is written on top of simple read/write semantics
with minimal footprint and code complexity

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-11-09 10:18:37 +00:00
Emil Obalski
25a0489d62 tests: ipc: Add pbuf unit tests
Add unit tests for packed buffer.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-11-09 10:18:37 +00:00
Emil Obalski
380f83bab1 ipc: Add pbuf implementation
This adds implementation of secure packed buffer.
Secure packed buffer is added with intention to be used
in icmsg backed backends.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-11-09 10:18:37 +00:00
Emil Obalski
f93243b68f ipc: Remove nocopy feature from icmsg_me backend
Remove nocopy feature from icmsg_me backend.
The backend is not meant to be used to send big
data chunks thus no-copy feature is removed.
If one wants to use no-copy it is recommended
to use icmsg_me only for control messages while
allocator will shall be written seperately.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2023-11-09 10:18:37 +00:00
Antoniu Miclaus
fbee62d9e3 dts: bindings: adxl372: move int1-gpios to common
The `int1-gpios` property is common for both spi and i2c
implementations of adxl372. Therefore move it to
`adi,adxl372-common.yaml`

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-09 10:17:51 +00:00
Ioannis Karachalios
96a4300c6f tests: drivers: dma: Control testcases via Kconfig
Added Kconfig to control BURST16 and board config for da1469x_dk_pro.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-11-09 10:17:29 +00:00
Ioannis Karachalios
dd1371da8b dts: renesas: smartbond: Support the DMA engine.
Update DTS and board configurations to support the DMA accelerator.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-11-09 10:17:29 +00:00
Ioannis Karachalios
546a640657 drivers: dma: smartbond: Support DMA accelerator.
Add support for the DMA engine.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-11-09 10:17:29 +00:00
Gustavo Silva
b4625d6f13 drivers: sensor: add tsl2561 basic support
Add basic support for ams TSL2561 light sensor. Triggers, attributes
and manual integration time are currently not supported.

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2023-11-09 10:16:51 +00:00
Fabio Baltieri
9bb44b8e5f dts: arm: st: set flash size for stm32l011X4
This device lost the reg property since 88c9d1fbaf, causing the
nucleo_l011k4 board to not build anymore. Add it back, 512 bytes should
be the right number for this chip.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 09:09:22 +01:00
Maureen Helm
3769938e78 boards: arm: Fix sensor shell sample for beagleconnect_freedom board
Commit 944ced68f5 enabled
CONFIG_UART_CONSOLE=y for the beagleconnect_freedom board, which had the
side effect of satisfying a required dependency for the sensor shell
sample application and causing new build errors in the weekly full
twister run. Fix the build errors by moving the board's light and
humidity sensor nodes to be children of the I2C controller node.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-11-08 21:10:32 -05:00
Benjamin Cabé
559424285f doc: develop: update ram and rom report sample and reduce width
Update the sample outputs for ram and rom report commands to reflect
current look&feel, and reduce the width of the output to better fit
on narrow screens & PDF output.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-08 16:03:48 -05:00
Benjamin Cabé
73a106ccb4 charger: doc: Fix doxygen docstrings in charger header
Fixed a couple of improperly formatted Javadoc docstrings.
Added @file tag.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-08 16:03:11 -05:00
Tobias Pisani
ec202d852f drivers: sensor: bq274xx: Configure or confirm chemistry profile
Both the BQ27421 and BQ27427 have a few preset Chemistry profiles.
For the BQ27421 there exists three variants of the IC, and for the BQ27427,
it can be configured. The chemistry profile among other things includes the
taper voltage, which is used to detect charge termination.

This adds an optional `chemistry-id` config option to the driver. On the
BQ27421, it will confirm that the correct variant of the IC is mounted,
and on the BQ27427, it will configure it with the correct value.

Side note: The reference manual for the BQ27427
(https://www.ti.com/lit/ug/sluucd5/sluucd5.pdf) currently contains some
errors and inconsistencies regarding these registers. The table on page 7
appears to be correct.

Signed-off-by: Tobias Pisani <topisani@hamsterpoison.com>
2023-11-08 11:55:52 -06:00
Henrik Brix Andersen
26002b0607 Bluetooth: fix doxygen warnings
Fix doxygen warnings ("warning: found </em> tag without matching <em>")
from building the Bluetooth API documention.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-08 15:12:39 +00:00
Erwan Gouriou
d06c93f24c drivers: clock_control: stm32wba: Apply VOS range 2 when sysclock = 16MHz
When sysclock is 16MHz, we're allowed to used VOS range 2.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-08 15:12:21 +00:00
Johan Hedberg
58ba0e1e26 modules: acpica: Fix CMakeLists.txt style
Fix indentation to use spaces (instead of tabs) and remove the
unnecessary repetition of the condition inside endif().

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-08 15:12:02 +00:00
Seppo Takalo
d69d4013d3 net: lwm2m: Fix blockwise response code
In CoAP blockwise the client is supposed to
respond with 2.31 Continue code on Ack. This was recently
broken when Block1 parsing was moved after the initialization
of reponse packet. We need separate CoAP API to modify the code
of existing CoAP packet.

Also Ack packet should contain the Block1 options, even the
last one.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-08 15:11:36 +00:00
Erwan Gouriou
614df97a49 tests: counter_basic_api: Test subseconds on nucleo_wba52cg
Enable STM32 RTC subsecond test on nucleo_wba52cg.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-08 15:11:27 +00:00
Erwan Gouriou
ee75020c0a boards: nucleo_wba52cg: Enable RTC node
Set LSE as domain clock.
Configure rtc prescaler accordingly.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-08 15:11:27 +00:00
Erwan Gouriou
9e74efd159 dts: stm32wba: Add rtc node
Add RTC node for stm32wba series.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-08 15:11:27 +00:00
Erwan Gouriou
645de482f0 drivers: counter: Add support for stm32wba devices
Implement RTC support in counter driver for STM32WBA devices.

Changes are made according to the following specificities:
- Similarly to STM32U5, it is not connected to EXTI.
- On this series, there is no bit in BCDR register to enable RTC. Enabling
RTC is done directly via the RCC APB register bit

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-08 15:11:27 +00:00
Erwan Gouriou
bf8a055b4b include: dt-bindings: stm32wba_clocks.h: Add RTC_SEL macro
Add a dt macro to allow configuring RTC domain clock.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-11-08 15:11:27 +00:00
Magdalena Kasenberg
a2210bde63 bluetooth: audio: delegator: Use BT_ATT_ERR_WRITE_REQ_REJECTED
If the total length of the opcode and parameter values of Broadcast
Receive State characteristic operation is incorrect, the server shall
respond with an ATT Error Response and the Error Code set to Write
Request Rejected (0xfc), instead of 0x0d
(BT_ATT_ERR_INVALID_ATTRIBUTE_LEN).

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-08 15:10:39 +00:00
Francois Ramu
a0db07888f drivers: flash: stm32 ospi driver active wait during init
Wait with k_busy_wait instead of k_sleep during the peripheral init.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-08 15:10:29 +00:00
Aleksandr Khromykh
7a32e1d84b samples: Bluetooth: Mesh: add main stack for mesh provisioner
The current main stack size is not enough for any platform.
This commit stack size was checked for nrf52840 and nrf5340.
Everything works.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-11-08 15:09:50 +00:00
Aleksandr Khromykh
c5ee143d77 Bluetooth: Mesh: no more tinycrypt in ble mesh tfm image
PR allows to get rid of tinycrypt objects from
the final binary of the ble mesh apps based on
PSA TFM crypto.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-11-08 15:09:50 +00:00
Robert Lubos
83f9fc4ce2 net: ip: Add hidden Kconfig symbol for IP fragmentation
Instead of consistently checking for both, IPv4 and IPv6 fragmentation
in several places, add a hidden Kconfig symbol which indicates that some
IP fragmentation has been enabled (either IPv4 or IPv6 or both).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
c724cf99f4 net: pkt: Add explicit flag to indicate packet is IP reassembled
The current logic to determine whether a packet is IP reassembled is
flawed, as it only worked in certain conditions (which was ok, as the
conditions were satisfied for the current use case, but now it's a
public function). Therefore, add an explicit flag that indicates whether
a packet is IP reassembled or not.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
f505dc528e tests: net: checksum_offload: Add tests involving IP fragmentation
Add test cases verifying proper checksum calculation involving
IPv4/IPv6 fragmentation.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
5f8a73f6cb tests: net: checksum_offload: Move test code into helper function
Further reduce code duplication by moving test code for similar test
cases into a helper function, parametrized based on the test case.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
736888be0c tests: net: checksum_offload: Move net context init to helper function
Move code responsible for net context initialization, repeated over
multiple test cases, to a helper function to reduce code duplication.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
24abc4307b net: Verify L4 checksum unconditionally for reassembled packets
In case of reassembled IP packets, we cannot rely on checksum
offloading as the drivers/HW has no means to verify L4 checksum before
the fragment is reassembled. Therefore, for such packets, verify L4
checksum in the software unconditionally.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
76a256ea57 net: pkt: Add function to check if packet was reassembled at IP level
Move the existing code verifying that the net_pkt was reassembled at IP
level to a helper function, as it will be needed in other places as
well. Additionally, add packet family check before accessing union
fields.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
2836d0701d net: ip: Set net_context on the final fragment
IPv4/6 fragmentation did not set the net_context pointer on the fragment
packet and in result the send callback registered on net_context was not
called. Therefore, copy the net_context pointer from the original packet
to the final fragment to ensure that the registered callback is called.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
64e615263a net: ipv6: Set IP header length on the fragmented packet
IPv6 fragmentation code did not set the IP header field on the
fragment net_pkt.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
0c1c939d9e net: ipv6: Remove invalid/unneeded code from fragmentation logic
Skipping both next_hdr_off and last_hdr_off and filling last_hdr
variable doesn't make much sense, as this effectively moves the packet
cursor inside/behind the last (L4) header with no particular meaning.
Plus the last_hdr variable isn't really used anywhere, which kind of
proves the point. Therefore, remove the unused variable and needless
net_pkt operations.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
13a22e6814 net: ipv6: Calculate checksum before fragmentation
In case the stack has to fragment the IPv6 packet, calculate the
checksum before fragmentation (if haven't done so).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
887a3a321d net: ipv4: Calculate checksum before fragmentation
In case the stack has to fragment the IPv4 packet, calculate the
checksum before fragmentation (if haven't done so).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
08879ea7fb net: ip: Add option to force checksum calculation
Modify internal L4 protocols APIs, to allow to enforce checksum
calculation, regardless of the checksum HW offloading capability.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
eadd933607 net: Set a flag when checksum has been computed
Set checksum flag on the net_pkt, when checksum is calculated in
software.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Robert Lubos
98b46340f2 net: pkt: Add flag indicating checksum status
Add new net_pkt checksum, which indicate checksum status on the packet
(i. e. whether it has already been calculated or not).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-08 15:09:37 +00:00
Kamil Piszczek
b182c92af5 tests: bsim: bluetooth: host: privacy: peripheral: add RPA check
Modified the BabbleSim test for the Bluetooth test under the
host/privacy/peripheral category. Added the RPA check in the scan
callback context of the scanning tester device to validate if the
DUT advertising address is correct.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2023-11-08 15:09:22 +00:00
Kamil Piszczek
069bd8376c tests: bsim: bluetooth: host: privacy: peripheral: test after reboot
Extended the scope of the BabbleSim test for the Bluetooth test under
the host/privacy/peripheral category. The tests ensures correct RPA
advertising after the system a reboot when the Bluetooth identities
are preloaded from the Settings subsystem.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2023-11-08 15:09:22 +00:00
Kamil Piszczek
29a67338d1 bluetooth: id: fix uninitialized RPA for non-default identities
This change fixes uninitialized RPA values for advertising sets of
non-default Bluetooth identities. The regression has been introduced
in the following commit:

8d6b206064

The follow-up fix for the default Bluetooth identity has been
introduced in a separate commit:

88c20b9cdd

Non-default Bluetooth identities can be loaded from the Settings
subsystem. In this case, RPAs of related advertising sets to these
identities are left uninitialized as the bt_id_create() function
context is not executed. As a result, the RPA is not created for
advertising sets of non-default Bluetooth identities, and the
advertising is started with the 00:00:00:00:00:00 address.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2023-11-08 15:09:22 +00:00
Bernt Johan Damslora
5fc7304878 drivers: mfd: npm1300: Add separate initialization priority
Enables setting the initialization priority of the nPM1300 independently
from other MFDs.

Signed-off-by: Bernt Johan Damslora <Bernt.Damslora@nordicsemi.no>
2023-11-08 15:09:06 +00:00
Bernt Johan Damslora
950e25578a drivers: mfd: npm6001: Add separate initialization priority
Enables setting the initialization priority of the nPM6001 independently
from other MFDs.

Signed-off-by: Bernt Johan Damslora <Bernt.Damslora@nordicsemi.no>
2023-11-08 15:09:06 +00:00
Nazar Palamar
d8606727df boards: arm: cy8cproto-062-4343w: enable WIFI feature
Enable WIFI feature for cy8cproto-062-4343w board.

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2023-11-08 15:07:37 +00:00
Nazar Palamar
4fd732a738 drivers: wifi: added Infineon AIROC WIFI driver
Added initial version of Infineon AIROC WIFI  driver

Added initial version of binding file for Infineon AIROC WIFI
driver

Rename CONFIG_ABSTRACTION_RTOS_COMPONENT_ZEPHYR to
CONFIG_USE_INFINEON_ABSTRACTION_RTOS

Exclude cy8cproto_062_4343w platform from
drivers.modem.esp_at.build test

Change revision hal_infineon to
69c883d3bd9fac8a18dd8384624b8c472a68d06f

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2023-11-08 15:07:37 +00:00
Nazar Palamar
5c3abe9197 drivers: bluetooth: rename BT_CYW43XXX to BT_AIROC
rename BT_CYW43XXX to BT_AIROC to be compatible with
WIFI_AIROC

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2023-11-08 15:07:37 +00:00
Nazar Palamar
1fd080b8cf drivers: sdhc: added Infineon CAT1 SDHC/SDIO driver
Added initial version of Infineon CAT1 SDHC/SDIO driver

Added initial version of binding file for Infineon CAT1 SDHC/SDIO
driver

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2023-11-08 15:07:37 +00:00
Hake Huang
cf053d07e3 test: twister: test_runner remove line number check in log
1. remove the line number check in test vector
2. log_info is not a static method anymore, change test

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-11-08 07:49:49 -05:00
Alberto Escolar Piedras
4df07224f8 drivers ieee802154_nrf5: Fix infinite loop for simulation on stop
With CSL enabled, when nrf5_stop is called,
nrf_802154_sleep_if_idle() will be called, and if the radio is
busy with another task, another IEEE802154_EVENT_RX_OFF event
will be pended right away, resulting in another call
to nrf5_stop(), effectively busy waiting until the
radio has reached idle.

In simulation, this whole operation (busy wait loop) is
done without letting the CPU sleep, in an infinite loop,
and therefore without letting any time pass
(note that in the POSIX architecture,
no time passes if the CPU does not go to sleep).
And therefore the radio will never be done with whatever
it is doing, resulting in the simulation being stuck
in this loop.

Let's add a very minor delay to this loop, which is
conditionally compiled only for the POSIX architecture.
Which effectively mimics the time it takes for the CPU
to loop thru, let's time pass, and allows the radio
to eventually be done.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-08 11:07:30 +01:00
Dat Nguyen Duy
c6b86d5b1b drivers: mdio: mdio nxp s32 netc should depend on eth netc driver
MDIO is currently initialized in the ETH NXP S32 NETC
driver for Physical Station Interface (PSI), so do not
try to build the MDIO driver if the ETH driver is not built

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-11-08 10:10:50 +01:00
Dat Nguyen Duy
09be84eb77 drivers: nxp_s32_netc: remove dependency to NET_TEST
There is no require to prevent building nxp s32 netc
shim driver if NET_TEST is set, so just remove this
unnecessary dependency

Fix #64944

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-11-08 10:10:50 +01:00
Jamie McCrae
07328c4afa doc: migration-guide: 3.6: Add note on MCUboot Kconfig
Adds a note about how to replicate the functionality of the now
removed MCUboot mass erase Kconfig option

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-08 10:10:43 +01:00
Andrej Butok
583fd8a79e doc: slist: fix duplicated sys_sfnode_flags_get()
Replace duplicated sys_sfnode_flags_get() by sys_sfnode_flags_set().

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-08 10:10:27 +01:00
Andrej Butok
dc92b32ceb doc: fix link to extensions.cmake
"cmake/extensions.cmake" does not exist. The link is broken.
Fix it to correct one "cmake/modules/extensions.cmake".

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-08 10:10:02 +01:00
Andrej Butok
5730dd6fb7 doc: fix typos
Add missed "space".
Add missed "been".

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-08 10:09:44 +01:00
Jamie McCrae
5d3ae7690a west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  0c0470e294dcfb52aab92299356a5f3caa0aa52b

Brings following Zephyr relevant fixes:
 - e9fccef5 boot_serial: Fix missing response if echo command
   disabled
 - 013c9e76 boot: zephyr: board: various: Remove size optimisation
 - 0a8bbbf4 boot: zephyr: Fix USB configs
 - d5c963c5 boot: zephyr: serial_adapter: Add error if main thread
   not preemptible
 - 822b6cb7 boot: zephyr: serial_adapter: Fail if USB CDC enabled
   with console

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-08 10:09:13 +01:00
Jamie McCrae
38060ea2a0 tests: boot: mcuboot_recovery_retention: Move USB CDC to USB device
Moves the USB CDC device to the USB CDC port instead of wrongly
using the serial port, this was not used but is needed to prevent a
build error added to MCUboot which prevents using the same device
for console and serial recovery chosen nodes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-08 10:09:13 +01:00
Alberto Escolar Piedras
e60878e7eb nrf52_bsim: Remove nfct peripheral from DT
This board HW models do not yet support the NFCT peripheral,
let's remove the DT node to avoid the driver being selected.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-08 10:09:05 +01:00
Przemyslaw Bida
2a4350dfd2 net: openthread: Adding snoop entries kconfig.
Adding missing `CONFIG_OPENTHREAD_TMF_ADDRESS_CACHE_MAX_SNOOP_ENTRIES`
to thread kconfig file.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-11-08 10:08:58 +01:00
Alberto Escolar Piedras
56816ceb52 manifest: Update nrf hw models to latest
* Update the HW models module to
a715dcc179f1a71f51c574165958b72fe932ae3f

Including the following:
* a715dcc irq_ctrl: Fix interrupt name getter
* b9e1f00 Makefile: For 5340 build both HAL versions as separate libraries
* 68aa50b Makefile: Set default target to compile and fix makefiles rules
* 0cf5ea9 nrfx_glue: Provide a stubbed NRFX_DELAY for builds without Zephyr
* b0d95c2 doc: Update required Nordic nrfx version to 3.2

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-08 10:08:50 +01:00
Aleksandr Khromykh
b6f20d67c2 Bluetooth: Mesh: fix On-Demand API usage
On-Demand proxy client API has been changed but
usage of this API in shell test was missed.
Commit fixes this API usage.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-11-08 10:08:36 +01:00
Aleksandr Khromykh
50d17a0d52 Bluetooth: Mesh: split gatt client and solicitation pdu sending
The ability to send the solicitation PDU doesn't
depend on GATT Client role.
Commit makes independent one functionality from
another.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-11-08 10:08:36 +01:00
Tim Lin
f1dc11174c ITE: drivers/i2c: Add a property for I2C located channel
Add a property for I2C channel switch selection. This property will
write to the SMBxxCHS register according to the I2C node you selected,
which can make channel swapping.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-11-08 10:08:28 +01:00
Murali Karicheri
2c5f5bfd0a samples: fs: fat_fs: support on stm32h747i-disco board
This patch allow demonstrating fat_fs sample application on
stm32h747i-disco  board with SD card.

Build fs_sample using following command

west build -p always -b stm32h747i_disco_m7 \
	samples/subsys/fs/fs_sample

Signed-off-by: Murali Karicheri <murali.karicheri@sandc.com>
2023-11-08 10:08:19 +01:00
Tom Burdick
982cc794e3 llext: Make the shell list command output nicer
Remove unnecessary newline characters from shell_print, it already adds
them. Align the table pipe characters better in the list of modules.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-08 10:07:50 +01:00
Tom Burdick
6d651e37a3 llext: Track module memory usage
The memory usage shown in the shell was 0 which is obviously incorrect.
At some point the memory allocation tracking was dropped from llext.c
mistakenly. Add it back.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-08 10:07:50 +01:00
Tom Burdick
79c9f17320 samples: llext shell_loader reduced size
Reduce the heap and stack sizes needed for the shell loader sample app
so more devices may try it out.

Tried on a mimxrt1010_evk and noted the total ram usage was
approximately 44000 bytes. Prior to this change the mimxrt1010_evk was
unable to run the sample as the bss section overflowed the ram size.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-08 10:07:50 +01:00
Bartosz Bilas
2c09999d24 drivers: dac: add driver for AD5592
Add MFD subdriver for the built-in DAC controller
in AD5592 chip.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-08 10:07:41 +01:00
Bartosz Bilas
0689d3dc11 drivers: gpio: add driver for AD5592
Add MFD subdriver for the built-in GPIO controller
in AD5592 chip.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-08 10:07:41 +01:00
Bartosz Bilas
ad3c5a27b4 drivers: adc: add driver for AD5592
Add MFD subdriver for the built-in ADC controller
in AD5592 chip.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-08 10:07:41 +01:00
Bartosz Bilas
9bdff044f0 drivers: mfd: add AD5592 MFD driver
This commit introduces a driver for
Analog AD5592 8-channel, configurable ADC/DAC/GPIO chip.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-08 10:07:41 +01:00
Alexander Razinkov
d2c101d466 kernel: init: conditional .bss section zeroing
Some platforms already have .bss section zeroed-out externally before the
Zephyr initialization and there is no sence to zero it out the second time
from the SW.
Such boot-time optimization could be critical e.g. for RTL Simulation.

Signed-off-by: Alexander Razinkov <alexander.razinkov@syntacore.com>
2023-11-08 10:07:26 +01:00
Fabio Baltieri
8816852c2c doc: dts: api: update the inter-node dependencies documentation
Update the inter-node dependencies documentation to clarify the child
node dependency inheritance recently introduced in 403640b75e.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-08 10:06:57 +01:00
Manuel Argüelles
bda3b101d3 serial: nxp_s32: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Note that for some peripheral instances is needed to redefine the
HAL macros of the peripheral base address, since the naming is not
uniform for all instances.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-08 10:06:46 +01:00
Guillaume Gautier
2caf720c51 samples: board: stm32 pm: add adc power management sample
Add a sample for STM32 ADC power management

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-11-08 10:06:32 +01:00
Guillaume Gautier
479ba144a7 drivers: adc: stm32: enable PM
Enable PM for STM32 ADC.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-11-08 10:06:32 +01:00
Guillaume Gautier
13ca0dc806 drivers: adc: stm32: refactor calibration
Refactor calibration code in anticipation of PM addition.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-11-08 10:06:32 +01:00
Maximilian Deubel
84bfb4a63b boards: arm: nrf9161dk: remove scratch partition
This patch removes the now unused scratch partition and enlarges
the application slots instead.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-11-08 10:06:03 +01:00
Maximilian Deubel
386b658008 boards: arm: add nrf9131ek_nrf9131
This patch adds the nRF9131-EK board.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-11-08 10:06:03 +01:00
Fabio Baltieri
8bec2d7b37 boards: roc_rk3568: do not use as default test platform
Only qemu boards are used as default in CI, drop the default property
from this one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-07 17:44:25 -05:00
Georgij Cernysiov
3be2956b86 drivers: ethernet: fix adin set_config lock
Use correct argument to lock/unlock the MAC.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2023-11-07 16:22:58 -06:00
Andy Sinclair
ec52722861 drivers: regulator: npm1300: Add boot state detection
Added boot state detection, so that the reference count is
set correctly and enable/disable work as expected.

With this fix it is no longer necessary to set
regulator-boot-on when the regulator is enabled in hardware.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-07 14:48:15 +00:00
Murali Karicheri
ec031029f4 samples: fs: littlefs: sdmmc: remove fstab and fixed partition
For littleFS, the fstab entries in DTS are ignored currently.
So remove the overlay entries for the same. Also fixed-partitions
can't be used for sdmmc-disk. So remove the same. We just need to
have sdmmc node with zephyr,sdmmc-disk compatible string to have
littleFS working on disk.

build littleFS sample as follows:-

west build -p always -b stm32h747i_disco_m7 \
samples/subsys/fs/littlefs/ -- \
-DOVERLAY_CONFIG=boards/stm32h747i_disco_m7.conf \
-DCONF_FILE=prj_blk.conf

Signed-off-by: Murali Karicheri <murali.karicheri@sandc.com>
2023-11-07 14:11:06 +01:00
Daniel DeGrasse
9dd8f94fd4 drivers: flash: mcux_flexspi_nor: Remove flash reads while programming
Care must be taken to avoid any flash access while programming the flash
attached to the FlexSPI either via executing XIP code or reading RO data.

Remove locations where a constant device pointer might be dereferenced
within the mcux_flexspi_nor driver, to help avoid RWW hazards.

Fixes #64702

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-07 14:11:00 +01:00
Tomasz Moń
f2c804b46e nrf_usbd_common: Do not use USBD HAL
Use MDK directly instead of via USBD HAL to not mix direct register
accesses with USBD HAL. In my opinion this change is not really
necessary but reviewers are strict about consistency.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
f533ec16e6 nrf_usbd_common: Remove dynamic feeders/consumers
There is no point in setting the feeder or consumer at runtime. The time
saved due to not checking conditions on each transaction is smaller than
the additional cost of calling function via pointer.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
3e6b86ff73 nrf_usbd_common: Keep interrupt configuration constant
Do not enable nor disable endpoint done interrupts at runtime because it
is not necessary. Simply keep all relevant interrupts enabled when USBD
is active and disable all interrupts when USBD is disabled.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
3d523a9cb4 nrf_usbd_common: Refactor interrupt handling code
Ensure strict order within interrupt processing to eliminate workaround
in IN transfer acknowledged handler. EPDATASTATUS and DMA done events
are processed in a way that eliminates the possibility for race condions
between interrupt handler and host IN tokens.

Store last started DMA endpoint and use it in common handler for all DMA
finished events. Unify use of ep dma waiting variable because atomics
only make sense if all accesses are through atomic functions - here the
accesses are guarded with critical section.

Do not disable SETUP interrupt when DMA transfers data on endpoint 0 but
simply postpone handling if currently active DMA is on endpoint 0.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
fc59ed701b nrf_usbd_common: Disable started interrupt handling
There is no point in calling an empty function on every single DMA
transfer start. While the empty function is just BX LR the fact that is
is called on every DMA transfer makes its impact visible. This change
improves CDC ACM echo throughput by approximately 2%.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
0efdff96df nrf_usbd_common: Remove early DMA process handling
Early DMA process handling actually decreases performance in real world
scenarios because real world scenarios tend to be CPU bound. Moreover
the actual optimization is questionable because DMA semaphore can only
be released after the respective endpoint end event is handled. Remove
early DMA processing altogether and only check pending DMA at the end of
interrupt handler.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
a0a80f6299 nrf_usbd_common: Guard DMA with semaphore
Rely on semaphore to serialize access to DMA instead of busy looping
after triggering DMA. With this change Ozone Code Profile generated with
J-Trace Pro on nrf52840dk_nrf52840 board running headphones microphone
sample shows following Load changes (trace data was reset once playback
and recording started and percentages were taken when memcpy reached
200 000 Run Count):
  * usbd_dmareq_process() from 17.16% to 2.24%
  * memcpy() from 9.37% to 8.36%
  * nrf_usbd_common_irq_handler() from 8.89% to 10.88%

Mark nrf_usbd_common_stop() as static because the caller must acquire
DMA semaphore before calling this function and the only place where it
is used is already acquiring the semaphore.

Disable EP0 SETUP interrupt when there is active DMA on EP0 to eliminate
the need for aborting DMA on EP0. This code path should not really
happen in real life though because hosts must not issue new SETUP before
a relatively long timeout (at least 50 ms).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
8db6919695 nrfx_usbd: Rename to nrf_usbd_common
Rename local usbd copy from nrfx_usbd to nrf_usbd_common and use it in
both USB stacks. Renaming header to nrf_usbd_common.h allows breaking
changes in exposed interface. Mark all doxygen comments as internal
because local usbd copy should not be treated as public interface
because we are under refactoring process that aims to arrive at native
driver and therefore drop nrf_usbd_common in the future.

Use Zephyr constructs directly instead of nrfx glue macros.

No functional changes.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Tomasz Moń
2010d4d599 nrfx_usbd: Copy nrfx usbd code to Zephyr
Copy nrfx_usbd code from zephyrproject-rtos/hal_nordic git revision
d054a315eb888ba70e09e5f6decd4097b0276d1f. This enables us to refactor
the code towards a native driver in a step by step manner where the
smallest changes that bring biggest performance improvements are done
early on.

The code is not a vanilla copy from zephyrproject-rtos/hal_nordic.
The code was reformated with clang-format to match project style.
Manual modifications were done to change comments formatting, place
constant comparisons on the right and add blank lines to pass Zephyr
compliance check.

Relicense to Apache 2.0.

No functional changes.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-07 14:06:51 +01:00
Ingar Kulbrandstad
e1a5605889 Bluetooth: Mesh: Remove experimental tag
Remove experimental tag for Mesh Protocol v1.1,
Mesh Model v1.1, Mesh DFU v1.0 and Mesh BLOB v1.0
features.

Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
2023-11-07 11:57:17 +01:00
Alberto Escolar Piedras
8b456ea2a1 treewide: Replace all uses of CONCAT with _CONCAT
One of the ARM architure files, defined since long ago
CONCAT having the exact same purpose as Zephyr's _CONCAT.
Unfortunately this header is included almost always
and the macro defined in all ARM based platforms,
which seems to have lead to many uses of this macro
instead of _CONCAT.

Fix it by using _CONCAT instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-07 11:55:51 +01:00
Aleksander Wasaznik
bfff0f9f4c Bluetooth: Host: Tests: Move testlib to common
This is the first patch with the goal of establishing a common library
for Bluetooth utilities that are commonly used for setup in Bluetooth
Host tests. The ultimate goal is to remove redundant (near) copies of
these utilities and other more ad-hoc solutions.

This patch moves one instance of testlib (from
tests/bsim/bluetooth/host/att/long_read) to
tests/bluetooth/common/testlib and makes it a proper CMake library.

The long_read test is updated to link to the new CMake library.

Further changes and de-duplication will come in later patches.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-11-07 10:09:33 +01:00
Daniel Mangum
133f20abc5 docs: rpi_pico: fix typo in SPI PIO sample
Fixes minor typo in the SPI via PIO sample documentation.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2023-11-07 09:55:22 +01:00
Emil Gydesen
9e58ad31e9 tests: Bluetooth: BAP Broadcast sink RX fail fix
Added an additional check before failing a BSIM test
on ISO error, so that when we stop the broadcast source
(after the sink have received the expected data), lost data
does not trigger a test failure.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-07 09:55:14 +01:00
Rubin Gerritsen
8b2dd61eba Bluetooth: HCI: Add bt_hci_get_ver_str()
This new API returns the version string corresponding to a given
HCI version.

The API can be used by applications to print out human-readable
information about the controller being used.

Adding this API removes possible code duplication.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2023-11-07 09:55:05 +01:00
Andrei Emeltchenko
a4a4e6872c tests: ieee802154: Remove double new line from logs
NET_XXX() functions already add newline.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-07 09:54:49 +01:00
Andrei Emeltchenko
cde428cbca tests: ieee802154_test: Fix missing format specifier
Add missing format specifier.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-07 09:54:49 +01:00
Andrei Emeltchenko
92da98389e drivers: akm09918c_emul: Correct print format
Correct print format for msgs->len.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-07 09:54:49 +01:00
Andrei Emeltchenko
0e358bb957 drivers: adltc2990_emul: Correct print format
Correct print format for msgs->len.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-07 09:54:49 +01:00
Bartosz Bilas
00badc243d tests: drivers: gpio: fix cs gpios reg property
Adjust the reg of the CS gpios to fix the warning
about the same value used for all existing nodes.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-07 09:54:38 +01:00
Jukka Rissanen
e89c9a6671 net: tcp: Fix compilation if congestion avoidance is disabled
Fix tcp.c compilation if user unsets
CONFIG_NET_TCP_CONGESTION_AVOIDANCE config option.

Fixes #64824

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-07 09:54:31 +01:00
Jordan Yates
ee57b56ba5 doc: contribute: instructions for local viewing of docs
Add instructions for serving the generated HTML docs on a local IP
address.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-07 09:54:22 +01:00
Mike J. Chen
054f9d7a82 drivers: gpio: gpio_mcux_lpc: fix bug disabling pulls
If the gpio had pull previous enabled, but new config
request wants the pull disabled, the code was failing
to clear the previous pull setting.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-11-07 09:54:15 +01:00
Keith Short
63b8890ad4 ITE: drivers/i2c/i2c_ite_enhance: Fix I2C dump messages
The ISR for CQ mode was unconditionally writing into the I2C message
buffer for all transfer types. The correct data was transferred on the
I2C interface, but the clobber caused CONFIG_I2C_LOG_LEVEL_DBG to
display incorrect data for I2C writes.

This change will also help performance of large I2C write transactions.

Signed-off-by: Keith Short <keithshort@google.com>
2023-11-07 09:54:06 +01:00
Dmitrii Golovanov
82ec6394a1 soc: arm: Fix cmake linker.ld warning for arduino_uno_r4_minima
Fix cmake depreciation warning on pre-defined linker.id
(soc/arm/renesas_ra/ra4m1/linker.ld) used for arduino_uno_r4_minima.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-07 09:53:57 +01:00
Chaitanya Tata
d12627e70f wifi: shell: Move defaults to beginning
This sets defaults first and then overrides if configured, easier to
read.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-11-07 09:53:39 +01:00
Chaitanya Tata
8c179870d4 wifi: shell: Fix default band value
The enum is mainly to print output of band, so, the default value is 0
which means 2.4GHz, which is not correct when using it to configure like
in connect.

Fix the default value to unknown i.e., no user preference. This way we
can use same enum for both set and get.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-11-07 09:53:39 +01:00
Benjamin Cabé
08ca98fbd1 doc: gsg: Remove misleading mention of Powershell
While we will probably want to properly document how to use Powershell
on Windows in the near future, current Getting Started Guide contained a
misleading mention to activating Pythonv venv using Powershell that this
commit removes.

Addresses comments raised in #64682.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-07 09:53:30 +01:00
Emil Gydesen
b92ac42677 Bluetooth: CAP: Commander API and skeleton
Adds the CAP Commendar API and skeleton that can
implemented.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-07 09:49:41 +01:00
Roman Kellner
80f00ab63b kernel: poll: change macro prefix from '_' to 'Z_'
Identifiers starting with an underscore and a capital letter
are reserved by the C standard.
Prefix '_POLL_EVENT' with an additional 'DECL' for better recognition.

Signed-off-by: Roman Kellner <rkellner@baumer.com>
2023-11-07 09:48:54 +01:00
Roman Kellner
6db61686f7 kernel: poll: remove extra semicolons in macros
When _POLL_EVENT becomes an empty define due to CONFIG_POLL,
it will create an empty line terminated with a semicolon.
Empty struct members contradict the C specification
eventhough most compiler will tolerate it without
-Wpedantic.

Signed-off-by: Roman Kellner <rkellner@baumer.com>
2023-11-07 09:48:54 +01:00
Daniel DeGrasse
883f604f12 soc: arm: nxp_imx: rt11xx: allow user to disable CONFIG_ADJUST_DCDC
Allow user to disable CONFIG_ADJUST_DCDC for their board, rather than
selecting it at the SOC level. The symbol still defaults to enabled,
preserving existing behavior unless a user explicitly chooses to disable
it.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-07 09:48:35 +01:00
Seppo Takalo
8608b2dc45 tests: lwm2m: Information Reporting Interface [300-399]
Implement testcases for Information Reporting Interface [300-399]:

* LightweightM2M-1.1-int-301 - Observation and Notification of parameter
  values
* LightweightM2M-1.1-int-302 - Cancel Observations using Reset
* LightweightM2M-1.1-int-304 - Observe-Composite Operation
* LightweightM2M-1.1-int-306 – Send Operation
* LightweightM2M-1.1-int-307 – Muting Send
* LightweightM2M-1.1-int-308 - Observe-Composite and Creating
  Object Instance
* LightweightM2M-1.1-int-309 - Observe-Composite and Deleting
  Object Instance
* LightweightM2M-1.1-int-310 - Observe-Composite and modification of
  parameter values
* LightweightM2M-1.1-int-311 - Send command

303 and 305 cannot be implemented using Leshan as it only support
passive cancelling of observation.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-07 09:47:00 +01:00
Seppo Takalo
86efc9f1c3 tests: lwm2m: Refactor to use module scoped DUT
When testcases share one DUT per module, we save the time
from running bootstrap on each testcase.
Each testcase start with DUT that is registered.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-07 09:47:00 +01:00
Seppo Takalo
944ad183dc tests: lwm2m: Implement event stream support for Leshan
Implement support for reading stream of events from Leshan.
This allows testing the LwM2M SEND/Notify/Update operations
and reading content of those.

Also convert the whole Leshan class to use requests.session() so
it pools up connections and uses keep-alive.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-07 09:47:00 +01:00
Seppo Takalo
e01657c269 tests: lwm2m: Add interoperability tests 222 - 281
Add remaining test cases from
Device management & Service Enablement Interface

* LightweightM2M-1.1-int-222 – Read on Object
* LightweightM2M-1.1-int-223 – Read on Object Instance
* LightweightM2M-1.1-int-224 – Read on Resource
* LightweightM2M-1.1-int-225 – Read on Resource Instance
* LightweightM2M-1.1-int-226 – Write (Partial Update) on
  Object Instance
* LightweightM2M-1.1-int-227 - Write (replace) on Resource
* LightweightM2M-1.1-int-228 - Write on Resource Instance
* LightweightM2M-1.1-int-229 - Read-Composite Operation
* LightweightM2M-1.1-int-230 - Write-Composite Operation
* LightweightM2M-1.1-int-231 - Querying basic information
  in SenML JSON format
* LightweightM2M-1.1-int-232 - Querying basic information
  in SenML CBOR format
* LightweightM2M-1.1-int-233 - Setting basic information
  in SenML CBOR format
* LightweightM2M-1.1-int-234 - Setting basic information
  in SenML JSON format
* LightweightM2M-1.1-int-235 - Read-Composite Operation on root path
* LightweightM2M-1.1-int-236 - Read-Composite - Partial Presence
* LightweightM2M-1.1-int-237 - Read on Object without specifying
  Content-Type
* LightweightM2M-1.1-int-241 - Executable Resource: Rebooting the device
* LightweightM2M-1.1-int-256 - Write Operation Failure
* LightweightM2M-1.1-int-257 - Write-Composite Operation
* LightweightM2M-1.1-int-260 - Discover Command
* LightweightM2M-1.1-int-261 - Write-Attribute Operation on a multiple
  resource
* LightweightM2M-1.1-int-280 - Successful Read-Composite Operation
* LightweightM2M-1.1-int-281 - Partially Successful Read-Composite
  Operation

Modify tests binary
* Allow CoAP payload of 1211 bytes.
* Allow outgoing messages to use block-wise if they are bigger.
* Use 4kB encode buffer for outgoing messages.
* Check configured heap and stack sizes.
* Limit number of interface addresses, sockets and contexts

Qemu-cortex-m3 platform ran out of RAM, so reconfigure it to use
* packet size of 256 bytes.
* encode buffer of 2kB
This exercises the block-transferring on some of the test cases.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-07 09:47:00 +01:00
Seppo Takalo
1506a43705 tests: lwm2m: Enable DTLS CID for interoperability tests
Leshan Demo server seem to support it so it makes sense to
use it.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-07 09:47:00 +01:00
Seppo Takalo
0a104185fe tests: lwm2m: Add Qemu X86 and fix Qemu Cortex-M3
* Add support for running interoperability tests with
  Qemu X86.
* Remove some debugging messages to allow binary to
  fix Qemu Cortex-M3 board.
* Tune buffer and stack sizes to fit all boards.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-07 09:47:00 +01:00
Andrej Butok
0229d1010b boards: arm: lpcxpresso55s36: add boot and slot1 flash partitions.
Add boot_partition and slot1_partition to lpcxpresso55s36 dts.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-07 09:46:44 +01:00
Dawid Niedzwiecki
457d437841 timer: cortex-m systick: add idle timer
Some chips, that use Cortex-M SysTick as the system timer, disable a
clock in a low power mode, that is the input for the SysTick e.g.
STM32Fx family.

It blocks enabling power management for these chips. The wake-up
function doesn't work and the time measurement is lost.

Add an additional IDLE timer that handles these functionality when the
system is about to enter IDLE. It has to wake up the chip and update the
cycle counter by time not measured by the SysTick. The IDLE timer has to
support counter API (setting alarm and reading current value).

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-07 09:42:37 +01:00
Aaron Ye
12eac1ea9a manifest: Update hal_ambiq revision.
This commit adds am_hal_mcuctrl.c for wide usage.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-11-07 09:42:25 +01:00
Aaron Ye
0d47cf9057 boards: arm: apollo4p_blue_kxr_evb: Enable clock control.
This commit enables clock control instances for apollo4p_blue_kxr_evb.
Also adds pin configuration for each instance.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-11-07 09:42:25 +01:00
Aaron Ye
0e827e3598 dts: arm: ambiq: Add clock control instances to Apollo4 Blue Plus SoC.
This commit instantiates the clock control for Apollo4 Blue Plus.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-11-07 09:42:25 +01:00
Aaron Ye
6722544f1e drivers: clock_control: Add Ambiq clock_control driver.
This commit adds Ambiq clock_control driver support.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-11-07 09:42:25 +01:00
Keith Packard
6d38ecae1d tests/c_lib: Test picolibc module configurations
Make sure the picolibc module builds and runs in both TLS
and non-TLS variants.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-07 09:42:19 +01:00
Keith Packard
f4e6e4b2e5 libc/picolibc: Don't force TLS when using picolibc module
The picolibc module can be built without thread local storage support if
desired. Allow that by using 'imply' instead of 'select'. However, when
using the toolchain picolibc, we assume that TLS will be enabled wherever
supported, so make sure we match by adding a 'select' for this case.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-07 09:42:19 +01:00
Marcin Niestroj
14dccd772d manifest: update cmsis to 5.9.0
This includes updates in:
 * Core-M (with added support for Cortex-M85)
 * Core-A

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-11-07 09:41:14 +01:00
Andrej Butok
95a5f5178f doc: memory: Fix SYS_MEM_BLOCKS_DEFINE_STATIC description
Fix SYS_MEM_BLOCKS_DEFINE_STATIC() description.
Use a "memory blocks allocator" instead of "slab",
which is most probably was copy-pasted from
the previous "slab" chapter by mistake.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-06 19:03:29 -05:00
Manuel Argüelles
237ec65ad3 intc: nxp_s32: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics.

Note that for some peripheral instances is needed to define the
HAL macros of the peripheral base address because there are gaps
in the instances or there are SoCs with a single instance.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-06 19:02:56 -05:00
Manuel Argüelles
c777ef255b spi: nxp_s32: use instance-based DT macros
At present, many of the NXP S32 shim drivers do not make use of
devicetree instance-based macros because the NXP S32 HAL relies on an
index-based approach, requiring knowledge of the peripheral instance
index during both compilation and runtime, and this index might not
align with the devicetree instance index.

The proposed solution in this patch eliminates this limitation by
determining the peripheral instance index during compilation
through macrobatics and defining the driver's ISR within the shim
driver itself.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-06 19:02:32 -05:00
Daniel DeGrasse
6a31ed50b8 tests: add test for SDIO subsystem
Add test to verify SDIO subsystem. Note that due to the nature of SDIO
cards, this test only reads from common registers and does not verify
extended reads or writes.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
726128f810 sd: add SDIO subsystem
add SDIO subsystem code. SDIO subsystem currently supports
card initialization, SDIO read/write, SDIO extended
read/write, and SDIO card interrupts.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
64878aa115 sd: add sdio header file
Add SDIO header file, defining functions supported by SDIO subsystem

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
7ca3aec97e drivers: sdhc: imx_usdhc: Initialize card clock with CMD0
Use CMD0 to detect card initialization, rather than using card power on.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
a517d79eff drivers: sdhc: imx_usdhc: enable DDR50 mode
Enable support for DDR50 mode within imx usdhc driver.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
c28ffb4305 drivers: sdhc: imx_usdhc: add support for SDIO RW extended command
Add support for CMD53 (read/write extended) to imx USDHC driver.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
0fc49b6290 tests: drivers: sdhc: add test for card insertion interrupt
Add test for card insertion interrupt to SDHC test.

The test will now wait for the card insertion interrupt whenever it is
run without a card in the slot. By inserting a card, the user can verify
that card insertion interrupts work correctly, as this should notify the
test and allow it to proceed.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
69aaed1266 drivers: sdhc: imx_usdhc: add support for card interrupts
Add support for card interrupt sources to USDHC driver.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
c9acfafd78 drivers: sdhc: add support for interrupts
add support for card interrupt sources to SDHC drivers. This can be used
for SDIO card interrupts, or to detect card insertion/removal.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
f9216f0d63 sd: add SDIO specification definitions
Add SDIO specification definitions, including SDIO commands.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Daniel DeGrasse
ddedb7171c include: drivers: sdhc: indentation cleanups
Indentation of multiline function declarations wasn't aligned properly.
Clean this up.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 19:01:08 -05:00
Peter Mitsis
9364ba4353 kernel: Update k_thread_state_str()
Updates k_thread_state_str() to interpret the halting bits
correctly.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-06 18:59:35 -05:00
Peter Mitsis
e7986eb552 kernel: Extend halting to support suspending
Extends the concept of halting a thread from just aborting a thread
to both aborting and suspending a thread.

Part of this involves updating k_thread_suspend() to operate in a
similar fashion to that of k_thread_abort().

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-06 18:59:35 -05:00
Peter Mitsis
b1384a71bf kernel: Create z_thread_halt()
Extracts the essential thread synchronization logic when aborting
a thread from z_thread_abort() and moves it to its own routine
called z_thread_halt().

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-06 18:59:35 -05:00
Peter Mitsis
e1db1cec64 kernel: Rename end_thread() to halt_thread()
The routine halt_thread() acts nearly identical to end_thread()
except that instead of only halting the thread if the _THREAD_DEAD
state bit is not set, it will halt it if bit specified by the
parameter new_state is not set (which is always _THREAD_DEAD).

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-06 18:59:35 -05:00
Peter Mitsis
52ae56b8a9 kernel: Add halt_queue field to k_thread
The halt queue will be used to identify threads that are waiting
for a thread on another CPU to finish suspending.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-06 18:59:35 -05:00
Benjamin Cabé
e76a2b9b4b doc: application: add missing language attribute
Make sure application-kconfig.include is properly highlighted by setting
the :language: attribute.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-06 18:57:51 -05:00
Torsten Rasmussen
ba7e6fa69f cmake: cleanup and simplify the standard include logic in Zephyr
Several paths are checked for existence before added as global Zephyr
include path.

The existence check was needed because some tooling emit warnings on
non-existing paths.

Only few SoCs are using those pre-defined paths, yet this code runs
for all SoCs. The principle originates back from Kbuild days, and with
CMake it's more common and generally more visible to let the CMake code
defining libraries to specify include paths.

Furthermore it appears that several SoC implementation following the
<soc-path>/include was unaware that the path would be automatically
added as include path, cause they contain lines like:
    zephyr_library_include_directories(include)

Remove pre-defineds path except the `<SOC_PATH>` path, which is
guaranteed to exists.
This simplifies the CMake logic in the top-level Zephyr CMakeLists.txt
file.

This cleanup further prepares for future work where SoCs need not to
be organised under architectures which is important for multi-arch SoCs.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-06 18:57:30 -05:00
Nick Ward
30fe8702de drivers: eeprom_emulator: fix compile warning
Fixes compile warning:
drivers/eeprom/eeprom_emulator.c:645:13:
warning: 'rc' may be used uninitialized [-Wmaybe-uninitialized]
  645 |         int rc;

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-11-06 23:59:05 +01:00
Robert Lubos
6ae52f00e0 net: ieee802154_radio: Document requirements for Thread 1.2 features
Mention which 15.4 radio features are required for advanced Thread 1.2
functionalities.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-06 15:53:20 -06:00
Jukka Rissanen
b0d0f60389 net: shell: Print device and wifi information for iface cmd
If the interface is WiFi one, then print information about it.
Also the device information is useful to know so print device
name corresponding to the network interface.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-06 15:51:36 -06:00
Evgeniy Paltsev
c5cd886518 test: spinlock: cleanup assertion
Don't double check on assertion condition.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-11-06 15:44:34 -06:00
Daniel DeGrasse
9b9a74e70c drivers: display: hx8394: fix TEAR and DPHYCMD0 settings
Fix settings for TEAR and DPHYCMD0 to match initialization data
provided by MCUX SDK driver. The following fixes were needed:
- Tear effect signal should only be sent at the VBLANK interval, so TEON
  should be set to 0x0
- DPHYCMD0 LP-RX VHYS trimming was incorrectly being set to 37mV, when
  it should be set to 66mV (the default value)

These changes resolve some flickering and blooming that occasionally
occurred during initialization

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 15:41:25 -06:00
Yong Cong Sin
0a6fc6f70a soc: intel_adsp: cavs: fix dts memory address format
Fix the following compilation warning:

```
Warning (unit_address_format): /memory@0xb0000000: \
    unit name should not have leading "0x"
```

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-06 15:40:20 -06:00
Krzysztof Chruściński
70932c5be2 drivers: serial: nrfx_uarte: Add const to the isr function argument
ISR function prototype requires const void *.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-11-06 15:39:08 -06:00
Emil Lindqvist
7f19764d9e kconfig: name choices to make changable in outside Kconfigs
This commit names a couple of choices to allow the default
value to be overridden by Kconfig files out of tree

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2023-11-06 15:33:35 -06:00
Huifeng Zhang
0be647ccaa boards: fvp_baser_aemv8r_aarch32: Add fvp_baser_aemv8r_aarch32_smp board
This commit add a new board named 'fvp_baser_aemv8r_aarch32_smp'

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-11-06 15:32:01 -06:00
Huifeng Zhang
e898dafb38 arch: cortex_ar: Introduce SMP support into Cortex-A/R aarch32
This commit introduces SMP support into Cortex-A/R aarch32 architecture.

For now, this only supports multiple core start together and only allow
one CPU initialize system as primary core, others loop at the beginning
as the secondary cores and wait for wake up.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-11-06 15:32:01 -06:00
Huifeng Zhang
abde709b5e arch: arm: cortex_a_r: introduce USE_SWITCH
This commit introduce 'USE_SWITCH' feature into cortex-A/R(aarch32)
architecture

For introducing USE_SWITCH, the exception entry and exit are unified via
`z_arm_cortex_ar_enter_exc` and `z_arm_cortex_ar_exit_exc`. All
exceptions including ISR are using this way to enter and exit exception
handler.

Differentiate exception depth and interrupt depth. Allow doing
context switch when exception depth greater than 1 but not allow doing
this when interrupt depth greater than 1.

Currently, USE_SWITCH doesn't support FPU_SHARING and USERSPACE.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-11-06 15:32:01 -06:00
Huifeng Zhang
87dd43766d arch: arm: cortex_a_r: Hold curr_cpu instance to TPIDRURO
Store the current CPU's struct _cpu instance into TPIDRURO, so that the
CPU core can get its struct _cpu instance by reading TPIDRURO. This is
useful in the SMP system.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-11-06 15:32:01 -06:00
Huifeng Zhang
c3b857c434 arch: arm: cortex_ar: Use TPIDRURW as a base pointer for TLS
Replace the TLS base address pointer from TPIDRURO to TPIDRURW.

The difference between them is that TPIDRURO is read-only in user mode
but TPIDRURW isn't. So TPIDRURO is much more suitable for store
the address of _kernel.CPU[n]. For this reason, this commit replaces
the base pointer of the TLS area.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-11-06 15:32:01 -06:00
Huifeng Zhang
813ed3a8a3 arch: arm: cortex_a_r: Move mmu and mpu init to prep_c
MMU or MPU unit need to be initialized by its own CPU.

- Primary core initialize MMU or MPU unit in z_arm_prep_c.
- Secondary core initialize MMU or MPU unit in z_arm_secondary_start.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-11-06 15:32:01 -06:00
Samuel Tardieu
ea4e1b328c drivers: sensor: lsm6dsl: Add the 1.6Hz accelerometer rate
Since the accelerometer's HM (high-performance mode) bit is forced to 1,
the 1.6Hz frequency is available by setting the ODR to 11.

1.6Hz is a low-power mode that conserves energy and is suitable for
some applications, such as determining the orientation (portrait or
landscape) of a device.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
2023-11-06 15:23:54 -06:00
Anas Nashif
debe7fefe6 ci: assignees: do not set trivial on manifest changes
manifest changes are often a oneliner change, but they are not
necessarily trivial.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-06 12:11:58 -05:00
Alberto Escolar Piedras
3dce4c7ba3 samples/net/cloud/aws_iot_mqtt: Fix sample yaml
The sample yaml filter syntax was incorrect.
Fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 16:06:36 +01:00
Bjarki Arge Andreasen
5639bc0330 modem: modem_cellular: Fix build errors
Build errors where introduced by
c76d5b882c and are fixed with this
commit. They are trivial fixes of malformed lines.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-06 16:06:36 +01:00
Alberto Escolar Piedras
b3447ec068 tests bsim: Add simple tests for broadcast audio source/sink samples
Add an initial test based on the broadcast audio source/sink samples
which runs them together and after waiting for a predefined
amount of time, checks how many audio packets has the
sink received, and if over a threshold, passes the test.

This test can be expanded after to cover more functionality from
these samples.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 15:17:15 +01:00
Alberto Escolar Piedras
11fddf4a41 Bluetooth samples: broadcast audio: Improve documentation
With examples of how to build for several boards.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 15:17:15 +01:00
Alberto Escolar Piedras
c929ac5c23 Bluetooth samples: broadcast audio: Add support for more nrf targets
Add support for the simulated nrf5340 and nrf52 in these samples,
as well as explicit overlays for the nrf5340dk.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 15:17:15 +01:00
Alberto Escolar Piedras
1aa6f85252 Bluetooth samples: broadcast audio sink: Fix overlay for nrf52
Fix controller configuration overlay used when
building the controller (for nrf52 targets),
so the sample can connect to the source and get
audio through.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 15:17:15 +01:00
Alberto Escolar Piedras
c9f09b1d66 Bluetooth samples: broadcast audio: Add more test Kconfig options
Instead of handling some of the configuation thru
board overlays let's handle it thru the sample Kconfig
file, which reduces the amount of duplicate lines.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 15:17:15 +01:00
Alberto Escolar Piedras
631a6a765a Bluetooth samples: broadcast audio source: Add sysbuild support
So that for both the simulated nrf5340 and real HW nrf5340dk
we build both network and application core images.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 15:17:15 +01:00
Alberto Escolar Piedras
c4628a795f Bluetooth samples: broadcast audio sink: Add sysbuild support
So that for both the simulated nrf5340 and real HW nrf5340dk
we build both network and application core images.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 15:17:15 +01:00
Armando Visconti
01dc3c48e6 drivers/sensor: lis2dh: add INT1/INT2 gpio interrupt config in DT
Add INT1/INT2 gpio interrupt configuration at Device Tree level.

Two new properties:

  - int1-gpio-config
  - int2-gpio-config

Possible values:

  0 = GPIO_INT_EDGE
  1 = GPIO_INT_EDGE_RISING
  2 = GPIO_INT_EDGE_FALLING
  3 = GPIO_INT_LEVEL_HIGH
  4 = GPIO_INT_LEVEL_LOW

Fixes #63736

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-06 14:00:54 +00:00
Johan Hedberg
f67ecc31aa arch: x86: Use ACPICA typdef instead of struct name
Use ACPI_MADT_LOCAL_APIC instead of struct acpi_madt_local_apic. In the
same go, switch to IF_ENABLED from ifdef - slightly more readable, and
this keeps some static analyzers happy (e.g. upstream Compliance check).

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
6e8a1f5859 acpi: shell: Fix specifying string precision
The ACPI table signature is not null terminated, so a precision needs to
be provided in format strings. There was an attempt to do this, but it
was done in an incorrect way, which resulted in garbage characters
getting printed.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
584a1cf0fc acpi: Use ACPICA typedef names when available
For most types, ACPICA provides both a struct name as well as a typedef.
The struct names follow the exact same naming style as Zephyr's ACPI
API, which makes it impossible to distinguish which type is defined by
Zephyr and which comes from ACPICA. It's therefore better to use the
typedefs, since they follow a distinct style compared to the Zephyr API.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
31cafc3049 acpi: Remove redundant newline characters from logs
The log functions themselves automatically add newline characters, so no
need to do it when calling the log macros.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
fe382d4d30 acpi: shell: Remove unnecessary newlines
The ACPI shell command create way too much vertical empty space. Remove
the unnecesary newlines and use indentation to indicate grouping of
lines. At the same time, place case statments with variable declarations
behind {} since otherwise both the Zephyr compliance checker and some
other static analyzers get confused by the code in the branch.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
537cb1ffbe acpi: Remove unnecessary prs_buffer variable
This was never used for anything, since the ACPI API overwrites the
pointer when fetching a resource list.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
2ca5a3213f acpi: Don't mix ACPI_STATUS and "int" return types
ACPI_STATUS variables should not store values of any other error domain
(like negative POSIX error codes used for Zephyr's ACPI API).

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
4f2d03195b acpi: Move local pci_prt_table processing to the right place
The acpi_get_irq_table() function takes a pointer to a table that can
come from anywhere, i.e. it doesn't have to be the acpi.pci_prt.table
that acpi.c uses. Because of this, the correct place to iterate and
process the acpi.pci_prt_table is in the function that actually passes
acpi.pci_prt_table to the acpi_get_irq_table() function.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
149b00f70c acpi: Fix acpi_get_irq_routing_table() rt_size parameter meaning
The acpi_get_irq_routing_table() takes a pointer to an array of
ACPI_PCI_ROUTING_TABLE elements rather than a generic buffer pointer
(e.g. void *).

Because of the above, it makes sense to specify the array size as an
actual ARRAY_SIZE() value, since it makes no sense to accept buffers
which are not a multiple of sizeof(ACPI_PCI_ROUTING_TABLE) long.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
88120ae351 acpi: Fix status variable type
Use the appropriate ACPI_STATUS type for any status variable that stores
return values from ACPICA APIS.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
03cb76e59d acpi: Rename bus_ctx to simply acpi
ACPI is not treated as a bus in Zephyr. Rename the global context from
bus_ctx to simply acpi.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
5d8bbca05b acpi: Don't include PCI PRT code if not enabled in Kconfig
If the CONFIG_PCIE_PRT option is disabled it makes no sense to bloat the
ACPI build with PRT-related code or static tables. The diff looks a bit
larger since functions in acpi.c had to be shuffled around to be able to
be included in a single "#ifdef CONFIG_PCIE_PRT" block.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
3aa8b9ab83 acpi: Remove unused Kconfig variable
ACPI currently uses implicit (auto) initialization, i.e. it doesn't need
any init level or priority.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Johan Hedberg
e562784bac acpi: Remove unnecessary static array
The acpi_tables array is only needed for systems where dynamic memory
allocation is not available during the early ACPI init phase. In the
Zephyr case we can immediately start using k_malloc, so this is
unnecessary.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Magdalena Kasenberg
1747c33796 bluetooth: audio: delegator: Notify state after updating BIG_Encryption
If the server has synchronized to the PA and detected that the BIS is
encrypted, the server writes a value of 0x01 (Broadcast_Code
required) to the BIG_Encryption field of the Broadcast Receive State
characteristic to request a client to provide a Broadcast_Code.
In PTS BASS/SR/CP/BV-14-C test case the PTS (client) expects that the
new value of the Broadcast Receive State characteristicstate will be
notified, so the PTS could sent Set Broadcast_Code operation to the
server.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-11-06 12:32:23 +01:00
Francois Ramu
0dcaa4c668 boards: arm: stm32f746 with all mpu regions when testing in userspace
Disable the  quadspi mpu region of the nucleo_f746zg
when testing the samples/userspace/shared_mem
or tests/kernel/mem_protect/userspace
The stm32f7 cortex M7 has 8 MPU regions and the one for quadspi prevents
the testcase to PASS.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-06 12:32:08 +01:00
Anisetti Avinash Krishna
f027b55d02 dts: x86: intel: alder_lake: Added TGPIO instance
Enable TGPIO instance on Alder lake platform.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-11-06 11:34:08 +01:00
Charlie Xiong
8fe6e0130e boards: arm64: provide support for ROC-RK3568-PC
This is support for AArch64 development board.
The board uses 4-core Cortex-A55, which are based on
the ARMv8.2 architecture.
In addition,we support smp support and
it can use 4-cores to run basic samples.

Signed-off-by: Charlie Xiong <1981639884@qq.com>
2023-11-06 10:14:20 +01:00
Charlie Xiong
314b72f332 arch: arm64: Re-init HCR_EL2 in z_arm64_el2_init
HCR_EL2 is configured to certain value by some
loaders such as Uboot on some arm64 boards(such as roc_rk3568_pc),
When HCR_EL2.TGE, HCR_EL2.AMO and HCR_EL2.IMO bits are
set to 1, some unpredictable behaviors may occur during
zephyr boot. So we clear these bits to avoid it.

Signed-off-by: Charlie Xiong <1981639884@qq.com>
2023-11-06 10:14:20 +01:00
Gerson Fernando Budke
3ed1c990dc soc: st: l010xb: Fix the number of IRQs
Change the NUM_IRQS value from 32 to 30 following the rm0451.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2023-11-06 10:14:10 +01:00
Gerson Fernando Budke
6e3bae727b soc: st: Add all missing stm32l010 SoCs
Add minimal SoC entries to enable the whole stm32l010 family.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2023-11-06 10:14:10 +01:00
Gerson Fernando Budke
5067e543fa dts: st: Add all missing l010 SoCs
Add minimal devicetree entries to enable the whole stm32l010
SoC family.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2023-11-06 10:14:10 +01:00
Gerson Fernando Budke
88c9d1fbaf dts: st: Move eeprom from stm32l010 to stm32l010Xb
The variants of this family have different sizes of eeprom. This moves
eeprom definition from common family definition to device specific.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2023-11-06 10:14:10 +01:00
Evgeniy Paltsev
85256a2c19 ARC: boards: enable ticket spinlock on nsim SMP board
Enable ticket spinlock on nsim SMP board as they are
naturally vulnerable to spinlock unfairness due to
SMP nSIM way of work.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-11-06 10:13:54 +01:00
Armando Visconti
f39dba5da5 drivers/sensor: lsm6dsv16x: add in DT both INT1 and INT2 pin
Add in DT the possibility to configure both INT1 and INT2
pin. The driver will then assign one of the two (either 1
or 2, according to what value drdy_pin is set) to a gpio
for receiving drdy interrupts.

The other pin may be used in the future to receive event
interrupts.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-06 10:13:38 +01:00
Moritz Fischer
016a113eb5 boards: xtensa: Add support for Lolin S2 Mini
Add support for LOLIN S2 Mini board, a cheap board
also sold as Wemos S2 Mini.

Signed-off-by: Moritz Fischer <moritzf@google.com>
2023-11-06 10:12:36 +01:00
Caspar Friedrich
8242ef0a37 soc: arm: st_stm32: stm32l0: Add support for STM32L081
Add support for the STM32L081xx soc series.

Signed-off-by: Caspar Friedrich <c.s.w.friedrich@gmail.com>
2023-11-06 10:11:40 +01:00
Jordan Yates
2283b02ce4 bluetooth: hci: spi: delay between header and data
The HCI receive path has a delay between reading the header and payload
from the controller to give the controller time to setup the SPI
peripheral for the next transaction. Add the same delay on the transmit
path for the same reasons.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-06 10:11:33 +01:00
Jordan Yates
0f903f04ac bluetooth: hci: spi: log TX retransmissions
Add log output when the HCI interface is forced to retransmit a packet
because the controller is not ready.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-06 10:11:33 +01:00
Declan Snyder
4d654250a5 soc: lpc55xxx: Fix system hw clock cycle rate
Commit c6e3bac4f changed the core clock frequency of LPC55XXX series.
That clock is used by the cortex-m systick timer, which is the
default timer used for system time in zephyr on this series.
The bug is that the config SYS_CLOCK_HW_CYCLES_PER_SEC default was not
updated on the affected platforms to account for this change, so system
time is currently recorded as 150% of reality. Fix this by changing the
kconfig to be set automatically at SOC level and remove board defaults.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-06 10:11:25 +01:00
Dmitrii Golovanov
3fde2d3073 kobject: coverage: Fix LCOV_EXCL warnings
Eliminate gcovr '(WARNING) mismatched coverage exclusion flags.'
on missing LCOV_EXCL_START around k_object_init() introduced
with ae265ea96e.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-06 10:11:17 +01:00
Andrzej Głąbek
1081df9554 drivers: nrf_qspi_nor: Activate QSPI peripheral when enabling XIP
The way that the QSPI peripheral is activated has been changed in
nrfx 3.2.0. Now the peripheral is not activated during the driver
initialization. Instead, the driver activates the peripheral when
the first operation is requested or when `nrfx_qspi_activate()` is
called. In case of XIP, the latter needs to be used, as there may
be no standard operation request.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-11-06 10:11:02 +01:00
Grzegorz Swiderski
e4448ed498 soc: mimx8mm6_m4: Restore linker script
For this SoC, an additional section is conditionally included on top of
the default linker script for Cortex-M. Set `SOC_LINKER_SCRIPT` to the
local `linker.ld`.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-11-06 10:10:55 +01:00
Troels Nilsson
3c9d952820 Bluetooth: Controller: Fix failing LL/DDI/SCN/BV-88-C
Fixes failing EBQ test LL/DDI/SCN/BV-88-C Extended Scanning,
Active, Properly Ignore RFU Fields

Several minor modifications made to le_ext_adv_report() to
properly ignore any invalid fields present in the received PDUs

Signed-off-by: Troels Nilsson <trnn@demant.com>
2023-11-06 10:10:47 +01:00
Alberto Escolar Piedras
c914c512a0 samples/tests: Remove REQUIRES_FULL_LIBC=y due to LIBLC3
As now this is handled by the LIBLC3 kconfig

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 10:10:27 +01:00
Alberto Escolar Piedras
3b49f79cc4 modules libc3: Add missing Kconfig dependency
The LC3 coded requires floating point support in
the C library, so let's select REQUIRES_FULL_LIBC
in the module kconfig, instead of having samples
adding it to their prj.conf

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-06 10:10:27 +01:00
Andries Kruithof
2a34ecf858 Bluetooth: shell: host: add missing conditional compile
There was a conditional compile misssing for the
BT_PER_ADV_SYNC_TRANSFER_SENDER, potentially leading
to build failures

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-11-06 10:10:07 +01:00
Daniel DeGrasse
29ab2b13f6 drivers: ipm: Remove CONFIG_IPM_IMX_REV2
Remove CONFIG_IPM_IMX_REV2, as this Kconfig is no longer needed. The
driver can now be enabled with CONFIG_IPM_IMX.

Update NXP HAL to remove this Kconfig as well.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 10:09:59 +01:00
Daniel DeGrasse
8d5322b8ff drivers: ipm: remove nxp,imx-mu-rev2 compatible
Remove nxp,imx-mu-rev2 compatible. This IP block is the same as the
nxp,imx-mu device, and should be handled by the same compatible

Instead, use CONFIG_HAS_MCUX to determine which HAL APIs should be used
to interact with the messaging unit IP.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-06 10:09:59 +01:00
Bjarki Arge Andreasen
c76d5b882c drivers: modem: modem_cellular: Patch init scripts
The init scripts need a missing wait for OK after sending
AT+CGMM and the AT+CMUX command specifies more parameters
than nessesary, and in some cases incorrectly.

This commit adds the missing wait for OK and fixes the AT+CMUX
commands in the init scripts.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-06 10:09:48 +01:00
Mahesh Mahadevan
7a04649d15 drivers: counter: Update NXP LPC RTC timer
1. Issue a reset during init to ensure the registers
are in their reset state.
2. The value in counter_set_top_value was not written
to the register. This function now returns -ENOTSUP
3. Make sure the RTC is enabled before we issue RTC_Start
command.
4. Replace calls to SDK API's RTC_StartTimer and
RTC_StopTimer with RTC_EnableTimer

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-11-06 10:09:33 +01:00
Lukasz Mrugala
72045afe1a .github: workflows: Expand Twister Unit Tests' requirements
Hardwaremap testing requires installing requirements-run-tests.txt.
This change adds that to the relevant workflow.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-11-06 10:08:44 +01:00
Lukasz Mrugala
670b917b4b scripts: tests: twister: Hardware map unit testing
This change creates unit tests for the hardwaremap.py module.
It achieves 98% coverage.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-11-06 10:08:44 +01:00
Andrei Emeltchenko
fa6c281d82 tests: thread_apis: Change printk and TC_PRINT to LOG
Replace combination of printk() and TC_PRINT() to LOG_DBG() disabled
by default so that it does not affect execution time.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-06 10:08:27 +01:00
Andrei Emeltchenko
84317da082 tests: thread_apis: Make local functions static
Most of the local functions are static, make code consistent by making
remaining functions static as well.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-06 10:08:27 +01:00
Emil Gydesen
9a73cbadc0 tests: Bluetooth: Update BAP broadcast tests to use sync
Update the BAP broadcast tests to use the BSIM sync API
instead of sleeps, to ensure that everything is sent
and receive correctly, regardless of timing.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-06 10:03:45 +01:00
Emil Gydesen
b2174662d6 tests: Bluetooth: Audio: Add BSIM sync API
Add mechanism and API to sync devices via the babblesim
backchannels.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-11-06 10:03:45 +01:00
Fabio Baltieri
acb784eb56 doc: migration guide: add a note about touchscreen reset polarity change
Add a note about the fix in reset polarity for ft5336 and gt911.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-06 08:50:33 +00:00
Fabio Baltieri
0e3d0e9b15 input: gt911: fix reset control polarity
This chip uses an active low reset, so the correct behavior here is to
define the pin as ACTIVE_LOW, using GPIO_OUTPUT_ACTIVE to assert the
reset and set to 0 to deassert.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-06 08:50:33 +00:00
Fabio Baltieri
05ab1c5f77 input: ft5336: fix reset control polarity
This chip uses an active low reset, so the correct behavior here is to
define the pin as ACTIVE_LOW, using GPIO_OUTPUT_ACTIVE to assert the
reset and set to 0 to deassert.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-06 08:50:33 +00:00
Fabio Baltieri
9b488103ae input: cst816s: simplify the reset code
The current code deasserts the reset, just to re-assert it immediately.
Just initialize with OUTPUT_ACTIVE, delay and then de-assert.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-06 08:50:33 +00:00
Marek Matej
d5a1a8bf04 drivers: wifi: esp32: Fix compilation error
Fix function declaration.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2023-11-05 20:05:51 +01:00
Andrei Emeltchenko
a6da17aab4 tests: k_mbox: Change ZTEST_USER to ZTEST
Since userspace is not enabled change ZTEST_USER to ZTEST to not
confuse people, other tests are also ZTEST.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-05 07:51:59 -05:00
Andrei Emeltchenko
6247dddcb5 tests: k_mbox: Remove unneeded k_sleep()
The test_multi_thread_send_get() test sends and receives mbox messages
with K_FOREVER as timeout, so k_sleep() is not needed here.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-05 07:51:59 -05:00
Andrei Emeltchenko
6308528e5b tests: k_mbox: Simplify code and check return code
k_mbox_get() / k_mbox_put() get timeout as is, so there is no need for
extra code. Also check that k_mbox_put() actually sends message.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-05 07:51:59 -05:00
Fabio Baltieri
2fbcb46a60 boards: m5stack_core2: do not use as default test platform
Only quemu boards are used as default in CI, drop the default property
from this one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-04 18:12:57 -04:00
Greter Raffael
774858c6dc ztest: Add comfort functions for non-zero return codes
Many functions return non-zero return codes on errors. I added an assert
for the case, when a function is expected to fail. It is just a
shorthand for `zassert_not_equal(0, ret);`, analogous to
`zassert_ok`, introduced in c5d85e175f.

I also added the corresponding `zassume_nok` and `zexpect_nok`.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2023-11-04 07:39:46 -04:00
Grzegorz Chwierut
e466b7ac26 twister: pytest: Improve reporting failed pytest scenarios
When pytest scenario fails, then 'handler.log' is printed.
Changed to print 'twister_harness.log' that is a log from
pytest execution. That file tells much more when test fails.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-11-04 07:39:31 -04:00
Benjamin Cabé
014666bf05 MAINTAINERS: add some missing (mainly doc-related) entries
Added several documentation pages/folders (including boards and samples)
to relevant areas.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-04 07:39:08 -04:00
Alexander Razinkov
5725585112 tests: kernel: common: added test on atomic_t overflow
Added test to verify that the value of atomic_t will be the same
in case of overflow if incremented in atomic and non-atomic manner

Signed-off-by: Alexander Razinkov <alexander.razinkov@syntacore.com>
2023-11-04 07:38:39 -04:00
Alexander Razinkov
8fe8f34169 tests: kernel: spinlock: acquisition fairness test
Added test to verify the spinlock acquisition fairness
in relation to the CPUs contending for the spinlock.
This test is only enabled for Ticket Spinlocks which
required to provide such kind of fairness.

Signed-off-by: Alexander Razinkov <alexander.razinkov@syntacore.com>
2023-11-04 07:38:39 -04:00
Alexander Razinkov
4664813a12 kernel: spinlock: Ticket spinlocks
Basic spinlock implementation is based on single
atomic variable and doesn't guarantee locking fairness
across multiple CPUs. It's even possible that single CPU
will win the contention every time which will result
in a live-lock.

Ticket spinlocks provide a FIFO order of lock aquisition
which resolves such unfairness issue at the cost of slightly
increased memory footprint.

Signed-off-by: Alexander Razinkov <alexander.razinkov@syntacore.com>
2023-11-04 07:38:39 -04:00
Ederson de Souza
049b67aca9 subsys/shell/backends: Fix shell_telnet.c build with clang
It declares a variable inside a switch statement without brackets to
properly delimit the scope, making clang barf. This patch adds them.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-11-03 20:04:08 -04:00
Declan Snyder
6c25136e60 drivers: can: Fix Z_SYSCALL_OBJ->K_SYSCALL_OBJ
Fix can handler calling removed Z_SYSCALL_OBJ instead
of K_SYSCALL_OBJ

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-03 16:05:01 -05:00
Declan Snyder
5b8a2f910e drivers: can: Fix handler syscalls Z_OOPS->K_OOPS
Fix can handlers calling removed Z_OOPS instead of K_OOPS

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-03 19:10:08 +01:00
Andy Sinclair
a4446b1c5a drivers: sensor: npm1300_charger: Added die temp measurement
Support for die temperature reading added

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-03 15:36:26 +00:00
Andy Sinclair
8fd676295e drivers: sensor: npm1300_charger: die temp threshold configuration
Added configuration of die temperature stop/resume thresholds

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-03 15:36:26 +00:00
Andy Sinclair
93a8ec4b5d drivers: sensor: npm1300_charger: Updating of USB current limit
Added attributes for reading USB current capability,
and setting of USB current limit

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-11-03 15:36:26 +00:00
Torsten Rasmussen
0b0f2f1912 cmake: safeguard path of SOC_LINKER_SCRIPT
Issue reported on Discord.

Safeguard cmake_path() for SOC_LINKER_SCRIPT so that the path is only
processed when SOC_LINKER_SCRIPT is defined.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 14:47:34 +00:00
cyliang tw
8ba8c188a0 drivers: ethernet: support for Nuvoton numaker series
Add Nuvoton numaker series EMAC controller feature.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2023-11-03 12:11:33 +00:00
Dmitrii Golovanov
97fab83716 scripts: coverage: gcovr to ignore negative counters
Apply a workaround for an issue introduced with bc8b7dd
for code coverage collection at qemu_x86 when gcov data
was broken because of optimized out memcpy() in write_u64()
static inline function, so gcovr parser fails with
"gcovr.gcov_parser.NegativeHits: Got negative hit value
in gcov line 'branch  1 taken -1'".

Add gcovr command line option to ignore such errors (since v.6.0):
"--gcov-ignore-parse-errors=negative_hits.warn_once_per_file"

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-11-03 07:57:10 -04:00
Francois Ramu
6b87eedee0 samples: drivers: jesd216 reading jedec IDs from stm32 boards
Add the stm32-ospi-nor or  stm32-qspi-nor compatible to run the sample
on stm32 boards without jedec,spi-nor compatible.
No more config file needed to get the jedec ID and SFDP info from the
external quad- or octo-SPI flash of the stm32 disco boards.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-03 11:46:58 +01:00
Francois Ramu
ce82348ccf boards: arm: stm32h7b3 disco reads the SFDP table from NOR
The sfdp table property is no more required in the DTS of the
stm32h7b3i_dk as it is correctly read from the external
NOR octoflash with the read-sfdp command.
(since PR https://github.com/zephyrproject-rtos/zephyr/pull/62521)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-03 11:46:58 +01:00
Francois Ramu
ba9ebb7dbd drivers: flash: stm32 qspi driver reads sfdp table
Fix the SFDP command to be sent by the qspi driver
to get the SFDP table from the NOR quad flash.
Note that CONFIG_FLASH_STM32_QSPI=y and CONFIG_SPI_NOR=n
HAL_DMA_Abort declared as  weak to fix compilation error with stm32f7x

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-03 11:46:58 +01:00
Anas Nashif
58ec905c0e objects: add doxygen group for internal APIs
Add objects to the internal doxygen group.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
6ada378690 syscall: document K_OOPS
Document K_OOPs using doxygen.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
9028f137e5 syscall: doc: fix doxygen
Doxygen fixes for syscall APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
6358e2780b arch: doc: move arch interface to internal api group
Also move architecture interface to the internal group.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
b5a069db50 syscall: doc: add a note about the API being internal
Add a note to all internal APIs signifying they are internal and should
not be used outside of the zephyr code base.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
864ebfec21 syscall/userspace: doc: include in doxygen
Include syscall handler API as internal APIs in doxygen.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
7cacfe8403 doc: define internal API group
Group all internal APIs under this doxygen group.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
a08bfeb49c syscall: rename Z_OOPS -> K_OOPS
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
ee9f278323 syscall: rename Z_SYSCALL_VERIFY -> K_SYSCALL_VERIFY
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
1a9de05767 syscall: rename Z_SYSCALL_DRIVER_ -> K_SYSCALL_DRIVER_
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
9c4d881183 syscall: rename Z_SYSCALL_ to K_SYSCALL_
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
9c1aeb5fd3 syscall: rename z_user_ to k_usermode_
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
56fddd805a syscall: rename z_user_from_copy -> k_usermode_from_copy
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
6ba8176e33 syscall: rename z_user_alloc_from_copy -> k_usermode_alloc_from_copy
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
70e791905d syscall: rename z_user_string_nlen -> k_usermode_string_nlen
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
3ab356604d syscall: rename z_dump_object_error -> k_object_dump_error
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
21254b2f40 syscall: rename z_object_validate -> k_object_validate
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
c25d0804f0 syscall: rename z_object_find -> k_object_find
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
27d74e95c9 syscall: rename z_object_wordlist_foreach -> k_object_wordlist_foreach
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
a5b49458eb syscall: rename z_thread_perms_inherit -> k_thread_perms_inherit
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
993f903830 syscall: rename z_thread_perms_set -> k_thread_perms_set
Rename z_thread_perms_set and do not use z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
e2a9d013e5 kernel: userspace: rename z_thread_perms_clear -> k_thread_perms_clear
Rename z_thread_perms_clear -> k_thread_perms_clear.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
70cf96b5e1 syscall: z_thread_perms_all_clear -> k_thread_perms_all_clear
Rename internal function z_thread_perms_all_clear.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
7a18c2b150 syscall: rename z_object_uninit -> k_object_uninit
Rename internal function z_object_uninit.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
43a7402baf syscall: rename z_object_recycle -> k_object_recycle
Rename z_object_recycle and do not use z_ for internal APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
d178b6a0e7 syscall: z_obj_validation_check -> k_object_validation_check
Rename z_obj_validation_check  and do not use z_ for internal APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
df9428991a syscall: Z_SYSCALL_MEMORY_ARRAY -> K_SYSCALL_MEMORY_ARRAY
Rename macros and do not use Z_ for internal APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
412561b62a syscall: Z_SYSCALL_IS_OBJ -> K_SYSCALL_IS_OBJ
Rename macros and do not use Z_ for internal APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
684b8fcdd0 syscall: Z_SYSCALL_VERIFY_MSG -> K_SYSCALL_VERIFY_MSG
Rename macros and do not use Z_ for internal APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
4d5d04169d syscall: rename z_is_in_user_syscall
Rename z_is_in_user_syscall -> k_is_in_user_syscall

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
4e396174ce kernel: move syscall_handler.h to internal include directory
Move the syscall_handler.h header, used internally only to a dedicated
internal folder that should not be used outside of Zephyr.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
a6b490073e kernel: object: rename z_object -> k_object
Do not use z_ for internal structures and rename to k_object instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
c91cad735a kernel: object: rename z_object_init to k_object_init
Do not use z_ for internal API and rename to k_object_init.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
c54fb959e3 kernel: objects: rename z_dynamic_object_aligned_create
Do not use z_ for internal APIs and rename function.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
d2c025dd78 kernel: objects: rename z_dynamic_object_create -> k_object_create_dynamic
Do not use z_ for internal APIs and rename z_dynamic_object_create.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
ae265ea96e kobject: move internal functions to own header
Move all internal kobject APIs to own header and do not expose them with
the rest of the public API.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Daniel DeGrasse
3cf254434d tests: drivers: spi: improve spi_loopback async test
Add the following improvements to the spi_loopback async test:
- Verify that a set of multiple spi_buf structures can be sent
  successfully
- Check that the contents of the RX and TX buffers match after transfer
  completion

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-03 11:46:35 +01:00
Armando Visconti
22295ee47a sample: board: add SensorTile.box Pro sample for testing sensors
Add sample to test SensorTile.box Pro sensors on board.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-03 11:46:22 +01:00
Armando Visconti
cf38e76cf9 boards: arm: Add support for SensorTile.box board
Add basic support for SensorTile.box Pro (STEVAL-MKBOXPRO).
(https://www.st.com/en/evaluation-tools/steval-mkboxpro.html)

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-03 11:46:22 +01:00
David Corbeil
724c162821 shell: backends: telnet: Added support for echo option
Adding support for echo option if telnet commands are supported. This is
useful when the telnet client is in character mode. It allows to use the
arrow keys, ctrl-c and more. Something to keep in mind is that when
character mode is turned on by the client, network traffic is
considerably increased as each typed character is sent over the wire.

Note: echo mode is only supported if SHELL_TELNET_SUPPORT_COMMAND is
enabled.

Signed-off-by: David Corbeil <david.corbeil@dynon.com>
2023-11-03 11:46:08 +01:00
Murali Karicheri
b235372546 samples: fs: littlefs: add sample on stm32h747i-disco board
This adds the required conf and dts overlays required for the
application on stm32h747i-disco board.

Also moved CONFIG_SDMMC_STM32_HWFC option from prj_blk.conf to
nucleo_h743zi_blk.conf as that is STM specific option.

Build the application as

west build -p always -b stm32h747i_disco_m7 \
samples/subsys/fs/littlefs/ -- \
-DOVERLAY_CONFIG=boards/stm32h747i_disco_m7.conf -DCONF_FILE=prj_blk.conf

Signed-off-by: Murali Karicheri <murali.karicheri@sandc.com>
2023-11-03 11:45:47 +01:00
Ali Hozhabri
396e1ce9b0 drivers: bluetooth: hci: Use macros instead of hard-coding
Replace hard-coded values with suitable macros.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-11-03 11:45:38 +01:00
Ali Hozhabri
0584321ba2 samples: bluetooth: hci_usb: Test exclusion for stm32l562e_dk
STM32L562 Discovery kit is not compatible with Bluetooth over USB
application.

Add missing information related to the BLE capability of this board.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-11-03 11:45:38 +01:00
Ali Hozhabri
7038e03695 drivers: bluetooth: hci: SPI configuration
Modify SPI configuration to match the features introduced in PR #63437.

Set the property "controller-data-delay-us" to zero for boards
which are using BlueNRG-MS.

Fix Chip Select configuration for stm32l562e_dk board.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-11-03 11:45:38 +01:00
Ali Hozhabri
8265213d8b drivers: bluetooth: hci: Omit configure_cs
Remove redundant configure_cs as it is performed by SPI initialization.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-11-03 11:45:38 +01:00
Ali Hozhabri
1bd2a4f049 drivers: bluetooth: hci: Replace printk with LOG_HEXDUMP_DBG
Use LOG_HEXDUMP_DBG for SPI message logging instead of printk.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-11-03 11:45:38 +01:00
Fabio Baltieri
dd178ce311 scripts: check_init_priorities: rework the error messages
The current error messages are a bit cryptic, rework them to make them
more meaningful:

- add an extra message on the first error to explain what the errors
  refer to.
- rework the error message to be more explicit.
- rework the priority string print to use a LEVEL+offset format to
  somehow highlight that the number is the offset from the level, not
  the actual priority.
- print the init function name in addition to the devicetree path.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-03 11:45:23 +01:00
Fabio Baltieri
2a70c31945 scripts: check_init_priorities: drop the same priority check
Since bb590b5b6e introduced ordinals in the priority sequence, the "same
priority" case cannot happen anymore, furthermore the priority value in
the script is now the position of the function in the init sequence, so
if two devices have the same priority there's something real bad going
on.

Drop all the "same priority" handling code and tests, convert the case
into ane exception instead. Drop the init stubs as well from the test,
they are not required anymore.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-03 11:45:23 +01:00
Mathieu Choplain
4750cbab1e tests: drivers/adc: Add STM32L4R9I-DISCO overlay
Adds the required overlay for test to build and
pass successfully on STM32L4R9I-DISCO board.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2023-11-03 11:44:55 +01:00
Mathieu Choplain
49a69dad65 boards: arm: Add support for STM32L4R9I-DISCO
Adds the device trees for the board and its Arduino connector,
default Kconfig and documentation.

The following features have been confirmed working on hardware:
* ADC
* I2C
* RTC
* SPI
* SDMMC
* UART
* OctoSPI Flash

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2023-11-03 11:44:55 +01:00
Eduardo Montoya
1d0dda794c net: pkt: remove redundant net_pkt_cb_ieee802154 fields
Remove redundant `arb` and `fv2015` fields.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-03 11:44:40 +01:00
Marc Lasch
73bab817a0 net: lwm2m: Remove the resource type in registration message
Do not include the resource type (rt=) in the registration message when
using the OMA JSON format. This was a workaround specifically for the
Wakaama LwM2M server which is no longer needed since the latest master
branch.

Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
2023-11-03 11:44:28 +01:00
Bjarki Arge Andreasen
b290ba806d tests: serial: uart: emul: Update isr rx/tx tests
The tests for ISR rx/tx must now be updated to send and
receive bytes in smaller chunks.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-03 11:44:12 +01:00
Bjarki Arge Andreasen
27dfdd737e drivers: serial: emul: Make UART FIFO size realistic
Real UARTs usually write 1 to a few bytes at a time through a
latch buffer. Add latch buffer property to binding for
uart_emul and limit fifo_read and fifo_fill to not exceed the
latch buffer.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-03 11:44:12 +01:00
Bjarki Arge Andreasen
d89cef7e19 tests: drivers: serial: emul: Synchronize UART ISR tx/rx
Add synchronization using semaphores for the UART ISR tx/rx
tests, instead of relying on a single k_yield() call to
ensure all UART ISR work can be completed before validating
the result.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-03 11:44:12 +01:00
Bjarki Arge Andreasen
54378c18e0 tests: drivers: serial: emul: Store buffers in fixture
Most tests define a buffer for UART data on the stack,
including the tests testing UART IRQ. Move buffers to
static memory, within the test fixture, which can then
be passed as the user_data to the UART IRQ callback.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-03 11:44:12 +01:00
Bjarki Arge Andreasen
b74aacb4e2 drivers: serial: emul: Use local work queue
Define local thread to emulate different thread priorities.

A UART driver may call back from within a thread with higher
or lower priority than the thread calling the UART API. This
can hide potential concurrency issues, especially if the
thread priorities are the same, or even using the same thread
in case the system work queue.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-03 11:44:12 +01:00
Chaitanya Tata
d4d96b3df2 net: zperf: Fix the check for IPv6
It was typo.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-11-03 11:21:16 +01:00
Torsten Rasmussen
d92ed66b39 cmake: board: update ip_k66f to use BOARD_LINKER_SCRIPT variable
Update the ip_k66f board to use BOARD_LINKER_SCRIPT variable.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
e57f0a4f7e cmake: x86: update x86 SoC to use SOC_LINKER_SCRIPT variable
This commit updates all x86 SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
4b02bbc329 cmake: xtensa: update xtensa SoC to use SOC_LINKER_SCRIPT variable
This commit updates all xtensa SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
2d96b31129 cmake: sparc: update sparc SoC to use SOC_LINKER_SCRIPT variable
This commit updates all sparc SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
10fea41f5c cmake: riscv: update riscv SoC to use SOC_LINKER_SCRIPT variable
This commit updates all riscv SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
59bcef3692 cmake: posix: update posix SoC to use SOC_LINKER_SCRIPT variable
This commit updates all posix SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
5130a69987 cmake: mips: update mips SoC to use SOC_LINKER_SCRIPT variable
This commit updates all mips SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
84e4f62e5b cmake: arm64: update arm64 SoC to use SOC_LINKER_SCRIPT variable
This commit updates all arm64 SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
4812884f84 cmake: arm: update arm SoC to use SOC_LINKER_SCRIPT variable
This commit updates all arm SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
b2de93cff6 cmake: arc: update arc SoC to use SOC_LINKER_SCRIPT variable
This commit updates all arc SoCs to set SOC_LINKER_SCRIPT CMake
variable to point to active linker script directly.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Torsten Rasmussen
26b649ea53 cmake: update board and soc linker script handling
This commit updates the handling of board and SoC linker scripts.

Several SoCs creates a linker.ld file which sole purpose is to include
another arch common linker script, often with content like this:

    #include <arch>/linker.ld

instead of 100+ SoC specific linker.ld files containing just a single
include line of above structure, then this commit introduces two now
CMake variables, BOARD_LINKER_SCRIPT and SOC_LINKER_SCRIPT.

This allows the board and SoC CMake code to point directly to a common
linker script instead of creating a dummy linker.ld file doing this.

This removes the need for several dummy linker.ld file.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-03 11:01:23 +01:00
Anas Nashif
85dd423468 twister: report: remove defunct and old option
--report-excluded has not been working for years, nobody has noticed.

Fixes #64644

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 09:59:49 +01:00
Anas Nashif
32f7570bb4 twister: report: remove dead code
Remove dead code for listing tests. This is covered already for the case
of --list-tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 09:59:49 +01:00
Anas Nashif
9571f1c502 twister: use correct variable for testcases
We use testcases now, not cases.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 09:59:49 +01:00
Benjamin Cabé
d4cf7b6357 doc: gsg: Update Windows instructions regarding Python 3.12
Python 3.12 is not (yet) providing a seamless experience for Windows
developers. Update Install instructions to invite people to stick to
Python 3.11 for the time being.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-03 09:59:28 +01:00
Andrei Emeltchenko
0649c81901 boards: intel_rpl: Simplify board configuration
This makes intel_rpl board configuration similar to other Intel
boards (like intel_adl) and also fixes SHELL_STACK_SIZE configuration.
It should depend on ACPI.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-03 09:58:22 +01:00
Carles Cufi
fe5fd5b205 actions: manifest: Upgrade to 1.2.2
Use revision 1.2.2 which comes with an additional bugfix.

See https://github.com/zephyrproject-rtos/action-manifest/pull/11.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-03 09:58:15 +01:00
Eduardo Montoya
3676e7c360 drivers: ieee802154: nrf5: set security enabled bit value
Assign `ack_seb` in `net_pkt_cb_ieee802154`.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-03 09:57:53 +01:00
Henrik Brix Andersen
ec75b7704f docs: migration-guide-3.6: add a note about optional modules
Add a note about modules moved to optional and how to enable them again.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-03 09:57:45 +01:00
Jamie McCrae
0bc239f23d doc: develop: getting_started: Change ubuntu version to 20.04 LTS
Ubuntu 18.04 LTS support was dropped in May 2023, therefore bump
version to oldest supported LTS release

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-03 09:57:15 +01:00
Henrik Brix Andersen
f811a05044 doc: releases: remove v3.3.0 from supported releases
As of October 31, 2023, Zephyr v3.3.0 is no longer supported.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-03 09:56:58 +01:00
Jamie McCrae
dd4472c26a west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  4a1effbc301fc302ecbaf40d4eb2be520b53010d

Brings following Zephyr relevant fixes:
 - 4a1effbc zephyr: Remove deprecated ZEPHYR_TRY_MASS_ERASE option
 - 2b924da4 samples: zephyr: Use the default MCUBoot PEM key file
 - 25b7c7a8 imgtool: make "align" command line parameter optional
 - 301d5655 readme: update for next dev release
 - e0bdcdec Update version files for 2.0.0
 - 9b92ee91 boot: zephyr: add support for LPC55Sxx

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-03 09:56:50 +01:00
Bjarki Arge Andreasen
011adfa4ca modem: Add experimental tag
The modem subsystem is novel and should therefore be marked
experimental.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-11-03 09:56:30 +01:00
Mateusz Junkier
8bccb645aa boards: intel_adsp: fix board flashing
add missing declarations to work with ace15 board

Signed-off-by: Mateusz Junkier <mateusz.junkier@intel.com>
2023-11-03 09:56:08 +01:00
Michele Imbriani
bd498178d3 bluetooth: audio: added support for 24kHz frequency to broadcast source
Added option to support 24kHz frequency for broadcast_sample_source
Signed-off-by: Michele Imbriani <mbim@demant.com>
2023-11-03 09:55:35 +01:00
Benjamin Lucke
1b34884d81 Bluetooth: TBS: Fixed return call_index 0 after overflow
Fixed range of call_index 1 to 255, since 0 is reserved for outgoing calls.

Signed-off-by: Benjamin Lucke <git@lucke.tech>
2023-11-03 09:55:22 +01:00
Omkar Kulkarni
30c36525ef Doc: Bluetooth: Mesh: Specify RPR Server limitations
Specifies RPR Server limitations.

Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
2023-11-03 09:54:03 +01:00
Alberto Escolar Piedras
2ff4ae6a25 Bluetooth samples: unicast audio: Add nrf5340_audio_dk to sysbuild
Add support for the nrf5340_audio_dk to the sysbuild files

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
1f2ef32ad8 Bluetooth samples: unicast audio: Change integration_target
Change the integration target to something more meaningfull,
i.e. something users are more likely want to try it on,
and therefore in which it is better to do more testing.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
ff064f6f59 Bluetooth samples: unicast audio: Remove useless test targets
Remove the qemu targets for the controller configuration.
As those do not support the controller, it is just meaningless.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
942923edaf Bluetooth samples: unicast audio: Provide configuration for native_sim
Provide configuration for native_sim instead of native_posix
and enable it in the samples.yaml
native_posix is being deprecated in favour of native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
d561548863 Bluetooth samples: unicast audio: Improve documentation
With examples of how to build for several boards

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
a0ed29409b tests bsim: Add tests for unicast client/server samples
Add a test based on the unicase client/server samples
which runs them together and after waiting for a predefined
amount of time, checks how many audio packets has the
client received, and if over a threshold, passes the test.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
4368765e3c Bluetooth samples: unicast server: L2CAP configuration workaround
Due to this bug:
https://github.com/zephyrproject-rtos/zephyr/issues/64574
We need to increase the number of L2CAP Tx Buffers
so this sample can be used.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
2ffe02b2d9 Bluetooth samples: unicast: Fix configuration for nrf5340
Provide a configuration for the sample we can use
by default with the ISO capable hci_rpmsg controller
sample.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
cbe1025bf9 Bluetooth samples: unicast audio server: Add sysbuild support
So that for both the simulated nrf5340 and real HW nrf5340dk
we build both network and application core images.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
ea8d18f742 Bluetooth samples: unicast audio client: Add sysbuild support
So that for both the simulated nrf5340 and real HW nrf5340dk
we build both network and application core images.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Alberto Escolar Piedras
979f8ebead Bluetooth samples: unicast audio: Add support for simulated nrf5x
Add support for the simulated nrf5340 and nrf52 in these samples.
And enable building in twister both for these and for the
already supported nrf5340dk.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-03 08:35:38 +01:00
Bartosz Bilas
e87fd3165f drivers: regulator: add MAX20335 driver
Add a MAX20335 MFD subdriver to manage the built-in PMIC.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-02 20:32:40 +00:00
Bartosz Bilas
4a397402a7 drivers: mfd: add Maxim MAX20335 MFD driver
Maxim MAX20335 is a PMIC with Ultra-Low IQ Voltage Regulators and
Battery Chargers for Small Lithium Ion Systems.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-02 20:32:40 +00:00
Johan Hedberg
e07ded1656 MAINTAINERS: Add Tomasz to ACPI as collaborator
Tomasz is actively involved in Zephyr's ACPI support, so add him as a
collaborator to the subsystem.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-02 14:37:13 -04:00
Anas Nashif
4c21090dcb samples: net: fix twister filter
Use not for negation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-02 13:19:56 -04:00
Bartosz Bilas
2d060feb51 boards: m5stack_core2: override REGULATOR_AXP192_INIT_PRIORITY priority
axp192 is used by the display controller and gpio hog subsys
thus we need to set this priority to the smaller value.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-02 15:02:00 +00:00
Bartosz Bilas
75444bdc64 drivers: regulator: axp192: fix init priority
That was missed in 66f5fce commit so let's adjust it as well.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-02 15:02:00 +00:00
Johan Hedberg
8bcdb694a2 MAINTAINERS: Add tests/lib/acpi/ to ACPI section
Make sure the new ACPI test is included.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-02 14:04:07 +00:00
Johan Hedberg
caf299ca23 boards: x86: Indicate ACPI support where applicable
There are several x86 boards that support ACPI, so indicate it in their
yaml files.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-02 14:04:07 +00:00
Johan Hedberg
a77871b2e5 tests: Add ACPI test application
Add basic ACPI test application. Initially there are only tests for one
ACPI table (MCFG) and fetching the ACPI PRT, but this is already a good
start for caching regressions on the supported boards.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-02 14:04:07 +00:00
Alberto Escolar Piedras
90fec53381 tests nrf_rtc_timer: Avoid failures w NRF53_SYNC_RTC enabled
This test assumes it can use all configured
NRF_RTC_TIMER_USER_CHAN_COUNT,
But the sync RTC code uses one while it synchronizes.
Let's just disable it the sync rtc.

This fixes an issue where the test fails for a simulated
nrf5340.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-02 14:35:03 +01:00
Ederson de Souza
5f7d2f2381 board/riscv/it8xxx2_evb: Disable PM for ITE IT8XXX2
The workqueue test may intermittently fail, with errors such as:

  work_1cpu_test_1cpu_system_schedule: (elapsed_ms <= max_ms is false)
  long 102 > 101

Disabling PM makes the issues go away, and it is what this patch does.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-11-02 08:56:04 -04:00
Jukka Rissanen
1e15949fe0 tests: net: socket: tls: Increase the mbedtls heap size
native_posix_64 needs more heap for the test to pass so
increase it by 2kb.

Fixes #64670

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-02 13:20:40 +01:00
Bartosz Bilas
f9051d626d boards: m5stack_core2: fix priorities override
Instead of those set, use the default ones
for the MFD/REGULATOR_AXP192_INIT_PRIORITY/GPIO_AXP192_INIT_PRIORITY
that are set to the 80/86/81 values correctly. Adjust the
GPIO_HOGS_INIT_PRIORITY only to be executed after GPIO driver.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-02 11:33:18 +00:00
Rander Wang
a4b9692155 soc: intel_adsp/cavs: add secondary dsp context save support
Save secondary dsp context when it is powered off in idle thread
and restore it when the secondary dsp is powered up. The algorithm
is aligned with ace platform.

Tested on a tgl platform.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-11-02 07:29:38 -04:00
Ludvig Jordet
596fc48509 doc: bluetooth: mesh: Improve CDP128+ docs
Improves the documentation about how CDP 128, 129 and 130, as well as
Models Metadata Page 128 are created, as well as which functions the
application will have to call to store the correct contents in the
pages.

Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
2023-11-02 12:24:47 +01:00
Jamie McCrae
3ce916d68f doc: migration-guide: 3.6: Add note on MCUmgr CRC change
Adds a note that an additional Kconfig needs to be selected if a
serial MCUmgr transport is used

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-02 09:48:26 +01:00
Jamie McCrae
bd4bada151 doc: release: 3.6: Add notes on MCUmgr fixes
Adds notes on fixed MCUmgr issues and a smp_svr sample issue

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-02 09:48:26 +01:00
Torsten Rasmussen
b31afe1d27 sparc: add SPARC dependency to SPARC_CASA
Settings which defaults to `y` but is architecture related should have
a arch dependency for safety reasons.

Thefore add `if SPARC` to the SPARC_CASA Kconfig to ensure this setting
is only enabled on the sparc arch.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-02 09:48:16 +01:00
Henrik Brix Andersen
043e6ecbf6 drivers: can: add accessor for the CAN bit error counter
Add accessor function for the CAN bit error counter.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-02 09:48:05 +01:00
Rander Wang
0891448ac9 soc: intel_adsp: don't enable interrupt before k_cpu_idle
Fix a bug on cavs platform that secondary core is not powered off
by SET_DX ipc message sometimes. Secondary core is set into idle
state when switching to SOF_OFF state and then halted by primary
core. The interrupt is enabled before entring idle state, so the
secondary core may be woken up by interrupt and soc_cpus_active
is set to true before it is halted by hardware power gating. This
result to error when SOF check soc_cpus_active after the secondary
is halted.

This patch doesn't enable interrupt before idle entry to avoid above issue.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-11-02 09:45:55 +01:00
Fabio Baltieri
125e0e8741 docs: migration-guide-3.5: add a note about optional modules
Add a note about modules moved to optional and how to enable them again.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-02 09:45:47 +01:00
Yong Cong Sin
3ed8c4d64b kernel: mmu: fix compilation warnings when memory address and size are 0
When both the memory base address & its size are zero, the
assertions test will be comparing an unsigned int against zero
which result in compilation warning, and will be raised to
error in Twister

Fix them with more conditional compilations.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-02 09:45:41 +01:00
Daniel DeGrasse
7cbdbaf146 samples: ipc: openamp: fix build for IMXRT11xx
Fix build for IMXRT11xx SOCs. The ARM MPU header was missing for the CM4
board overlays, add the required header so the sample can build.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-02 09:45:29 +01:00
Torsten Rasmussen
3e82eb976e soc: move arm cortex_m common mpu code to arch/arm/core/mpu
Locate common mpu code together with other arm / nxp mpu code in the
arch folder where it logically belongs.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-11-02 09:45:18 +01:00
Manuel Argüelles
a9b59dc65e s32z270dc2_r52: add missing vendor and supported drivers
Add missing vendor and supported drivers for the `s32z270dc2_r52`
boards.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-11-02 09:45:07 +01:00
Jaap Versteegh
54c62232fc drivers: pwm: pwm_pca9685 set_pre_scale when not in restart mode
The pca9685 driver assumes the chip will be in "restart" mode
after putting it to sleep. This is not necessarily the case, which
can cause setting the prescaler to fail.
This fix allows the precaler to always be set and only restart the pwm's
when the chip was actually in restart mode after being put to sleep.

Signed-off-by: Jaap Versteegh <j.r.versteegh@gmail.com>
2023-11-02 09:44:58 +01:00
Andrej Butok
ee2e8485e8 boards: lpcxpresso55s69: Fix partitions
Fix MCUBoot error for LPC55S69 "slots are not compatible".
Use the standard slot naming,
used by TFM-enabled Zephyr platforms.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-02 09:44:46 +01:00
Ning Yang
e5d47e91a4 drivers: dma: add init version for dma sedi driver
Add dma sedi driver support

Signed-off-by: Ning Yang <ning.yang@intel.com>
2023-11-02 09:44:30 +01:00
Jeff Welder
9c51a26844 tests: build_all: modem: Add Telit ME910G1 Test Coverage
Added bindings to build_all test for new Telit ME910G1 Modem.

Signed-off-by: Jeff Welder <Jeff.Welder@ellenbytech.com>
2023-11-02 08:34:50 +00:00
Jeff Welder
372216a3ea drivers: modem: modem_cellular: add Telit ME910G1
Added chat script and initial config to support Telit ME910G1.
Needed to edit power_pulse pin timing in accordance to datasheet.

Signed-off-by: Jeff Welder <Jeff.Welder@ellenbytech.com>
2023-11-02 08:34:50 +00:00
Jeff Welder
018cd27ac6 dts: bindings: Add Telit ME910G1 Modem
Add Telit to vendor-prefixes, and add ME910G1 bindings

Signed-off-by: Jeff Welder <Jeff.Welder@ellenbytech.com>
2023-11-02 08:34:50 +00:00
Jeff Welder
ed8f0bc985 drivers: modem: Individualize Modem Device Macros
Refactor device macro to be custom for each modem
to allow custom configurations.

Signed-off-by: Jeff Welder <Jeff.Welder@ellenbytech.com>
2023-11-02 08:34:50 +00:00
Marc Herbert
c73e67018d power_domain_intel_adsp.c: revert recent INIT_PRIORITY change
This is a partial revert of one-line from commit 06cfbd4159 ("drivers:
power_domain: Introduce a gpio monitor driver") which not just
introduced a new driver (no problem with that) but also changed the
initialization priority of another, unrelated and existing power domain
driver without even trying to compile it:

https://github.com/zephyrproject-rtos/zephyr/pull/61166#issuecomment-1780959157

```
west config manifest.project-filter -- +sof
west update

west build -b intel_adsp_ace20_lnl modules/audio/sof/app/

ERROR: /soc/ssp@28100 POST_KERNEL 43 < /soc/dfpmccu@71b00/io0_domain  51
ERROR: /soc/ssp@29100 POST_KERNEL 44 < /soc/dfpmccu@71b00/io0_domain  51
ERROR: /soc/ssp@2a100 POST_KERNEL 45 < /soc/dfpmccu@71b00/io0_domain  51
ERROR: /soc/ssp@2b100 POST_KERNEL 46 < /soc/dfpmccu@71b00/io0_domain  51
ERROR: /soc/ssp@2c100 POST_KERNEL 47 < /soc/dfpmccu@71b00/io0_domain  51
ERROR: /soc/ssp@2d100 POST_KERNEL 48 < /soc/dfpmccu@71b00/io0_domain  51
```

Also note a reviewer (@ceolin) expressed concerns about this unrelated
change but it was ignored:
https://github.com/zephyrproject-rtos/zephyr/pull/61166#discussion_r1357908984

Using `CONFIG_KERNEL_INIT_PRIORITY_DEFAULT` here may be "bad" for some
reason(s) and maybe it should be changed in the future, but it's nothing
compared to breaking _compilation_ of code that has been validated for
months and been released in production
(https://github.com/thesofproject/sof-bin/releases/tag/v2023.09)

So the very urgent thing is to very quickly revert to the previous state
to unblock development. Then we can discuss what is the better thing to
do here.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-11-02 08:33:40 +00:00
Seppo Takalo
b6ab302fe8 net: lwm2m: Fix overlapping buffers from Portfolio object
Portfolio object created string buffers for Identity resources
that was overlapping on some cases.

Don't calculate pointers by hand, allow compiler to calculate it.

Fixes #64634

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-02 09:28:04 +01:00
Seppo Takalo
2eb804a558 net: lwm2m: Add shell support for deleting object and resource instances
Extend the previous support of creating object instances by allowing
creation of resource instances as well.
Similarly, add support for deleting.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-11-02 09:27:55 +01:00
Carles Cufi
9cf07bbdb5 bluetooth: Rename rpmsg HCI driver and sample to ipc
The existing driver and sample:

- drivers/bluetooth/hci/rpmsg
- samples/bluetooth/hci_rpmsg

are no longer correctly named, since they now use the IPC subsystem to
send and receive data. The IPC subsystem can use RPMsg as a transport,
but that is one of several selectable backends.

I initially wanted to deprecated both the BT_RPMSG Kconfig option as
well as the zephyr,bt-hci-rpmsg-ipc chosen node in Devicetree. However,
this proved to be undoable in the case of the Kconfig option. This is
because it's a choice option, and those have special behavior. In
particular, the only practical way to deprecate would've been to keep
the old Kconfig option outside the choice (much like it's done in this
commit) but then also add a 'depends on !BT_RPMSG' on each of the
remaining choice symbols *except* on the new BT_HCI_IPC one. This, however,
only works correctly for .conf files. If a board instead sets the
default BT_HCI_BUS_TYPE in the Kconfig.defconfig file then the Kconfig
tree parsing would fail, because it'd try to set it to a value
(BT_RPMSG) that is no longer part of the choice.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-02 08:32:20 +02:00
Ederson de Souza
928e22c302 soc/riscv/riscv-ite/it8xxx2: Support DEVNULL_REGION
it8xxx2 uses a custom linker script, which was not updated on
dfb3674c4c. This patch naively updates it
to support DEVNULL_REGION.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-11-01 18:48:24 -04:00
Anas Nashif
f9d71a2ef8 MAINTAINERS: various updates and improvements
Various updates to areas and new areas to cover some orphaned files.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-01 11:40:21 -04:00
Anas Nashif
49c39c50d6 MAINTAINERS: add co-maintainers for key areas
To distribute the load, adding co-maintainer to some key areas.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-01 10:05:12 -04:00
Ben Marsh
18a0952407 subsys/mgmt/mcumgr: Name struct to avoid violation
The mcumgr SMP UDP configs struct was causing a unique tag name
violation (rule 5.7).

The struct name has been changed from configs to smp_udp_configs.

Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
2023-11-01 12:01:58 +00:00
Ben Marsh
f9809a0a72 subsys/mgmt/mcumgr: Reduce unnecessary ROM usage
mcumgr's SMP UDP transport was unnecessarily using a potentially large
amount of ROM space due to static initialising fields in a
config struct that also contains buffers/stacks.

This has been changed to instead initialise fields in the start
function, reducing ROM usage by ~5K in the default configuration
with IPv4 and IPv6 enabled.

Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
2023-11-01 12:01:58 +00:00
Mike J. Chen
385ceb7145 soc: xtensa: nxp_adsp: rt595: move .noinit
Mark .noinit section as NOLOAD and move it
next to the other NOLOAD sections. This way
it is removed from a generated image that is
embedded in the rt595 app image.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-11-01 11:19:02 +00:00
Anas Nashif
55fa9b6149 serial: mchp_xec: fix PM dependencies in driver
Implementation of PM in the driver requires PM to be enabled. This was
enabled in the SoC until now and was recently removed.

Fixes #64608

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-01 11:18:07 +00:00
Andrej Butok
213826f915 doc: heap: Fix heap examples
Fix examples for HEAP_LISTENER_ALLOC_DEFINE()
and HEAP_LISTENER_FREE_DEFINE().
Delete misused input heap_id variable.
It caused incorrect log output.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-01 11:17:36 +00:00
Henrik Brix Andersen
5d5249d85b drivers: can: unify spelling of CAN Flexible Data-rate abbreviation
Unify spelling of CAN Flexible Data-rate abbreviation to "CAN FD" instead
of "CAN-FD". The former aligns with the CAN in Automation (CiA)
recommendation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-01 11:17:17 +00:00
Francois Ramu
b432293a9a tests: drivers: flash stm32l4 RDP on internal flash partition
Define the storage_partition in the internal flash
instead of the external NOR qspi flash,
so the testcase can PASS on the disco_l4754_iot1 board.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-11-01 11:16:48 +00:00
Ayush Singh
944ced68f5 bcf: Add UART console
Without these config options, even the basic hello world example will not
give any output

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-11-01 11:07:57 +00:00
Eduardo Montoya
09758f21e3 drivers: ieee802154: nrf: limit number of serialized calls
For serialized nRF IEEE 802.15.4 Driver host, avoid using
`nrf_802154_csl_writer_anchor_time_set` too often by caching the CSL
RX time and period and using them to detect any shift on the periodic
pattern.

This improves power consumption by limiting the number of serialized calls.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-01 11:02:25 +00:00
Bartosz Bilas
e2b01a3c48 drivers: regulator: shell: make use of the regulator current limits support
Add a new `clist` regulator shell subcommand that prints
the list of supported current limits for specified regulator device.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-01 11:00:39 +00:00
Bartosz Bilas
ea0a5548cd drivers: regulator: extend API about count/list for the current limits
Extend the regulator API about support of `count_current_limits`
and `list_current_limit` functions for the current limits.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-01 11:00:39 +00:00
ingram weeks
ad813977c5 doc: README updated for lora driver send sample
README now cross-references the lora receive sample
so that both can be used together more easily.

Signed-off-by: ingram weeks <ingram.weeks@gmail.com>
2023-11-01 11:00:29 +00:00
ingram weeks
74ee677e40 doc: README added to lora driver receive sample
README added to lora driver receive sample.

Signed-off-by: ingram weeks <ingram.weeks@gmail.com>
2023-11-01 11:00:29 +00:00
Albert Jakieła
06cfbd4159 drivers: power_domain: Introduce a gpio monitor driver
Power rails of some peripherals are controlled externally.
This is a case in embedded controllers, where the power of
some I2C devices are managed by the main application
processor.

To ensure that zephyr drivers access the devices where is
powered on, introduce a "monitoring" power domain. It works
by registering interrupt handler with gpio a pin, so that
when power state changes, it will notify relevant drivers.

Additionaly add CONFIG_POWER_DOMAIN_INIT_PRIORITY to replace
harcoded init priority.

Fixes: #51349

Signed-off-by: Albert Jakieła <jakiela@google.com>
2023-11-01 10:57:17 +00:00
TOKITA Hiroshi
a17d49511f tests: arch: arm: arm_irq_vector_table: exclude arduino_uno_r4_minima
Renesas RA always uses interrupt handlers dynamically.
But this test requires static vector tables.
So, it needs to exclude platforms that use Renesas RA.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
96c33f6d22 boards: arm: add initial support for Arduino UNO R4 Minima
Add support for the Arduino UNO R4 Minima.
This board is the newest version of Arduino that uses Renesas RA4M1 SoC.

This commit provides only limited support to simplify the initial
support patch.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
69a3930a19 drivers: serial: Add UART driver for Renesas RA series
Adding initial support for Renesas RA UART.

To avoid complicating initial code for supporting the SoC,
I have implemented only the bare minimum for now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
3292c36115 drivers: gpio: Add GPIO driver for Renesas RA series
Add initial support for Renesas RA GPIO.

To avoid complicating the initial code for supporting the SoC,
I have implemented only the bare minimum for now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
a9e49918cf drivers: interrupt_controller: Add icu driver for Renesas RA series
To avoid complicating the initial code for supporting the SoC,
I have implemented only the bare minimum for now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
04b723e900 drivers: pinctrl: Add pinctrl driver for Renesas RA series
To avoid complicating the initial code for supporting the SoC,
I have implemented only the bare minimum for now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
1741b3a356 drivers: clock_control: Add clock driver for Renesas RA series
Add initial support for Renesas RA clock generation circuit.

It returns a fixed value to simplify the first commit to get the UART
working now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
5ccc0eb319 soc: arm: add support for Renesas RA4M1 series SoC
Add essential support for RA4M1 Series.
It only defines `r7fa4m1ab3cfm` currently.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
Andriy Gelman
2c972d5b57 drivers: flash: spi_nor: Allow page-size to be set via devicetree
In the CONFIG_SPI_NOR_SFDP_MINIMAL configuration this value is hard
coded to 256 bytes. Make it configurable via devicetree.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-11-01 10:56:16 +00:00
Fabio Baltieri
d89938f4b9 doc: guidelines: fix title level
Specialized driver requirements should have been one level up, it now
nests under "treewide".

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-31 16:33:04 +00:00
Alberto Escolar Piedras
482416db01 tests/bsim bis: Reduce the test verbosity
The test was printing one line for each packet it was sending
by default. That creates a huge log and slows things down.
Instead, let's only print those with verbosity set at 4 or higher.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Alberto Escolar Piedras
464435e22b CI bsim workflow: Also run some split BT stack tests
Also run some split BT stack tests on the nrf5340 platform
to test this configuration.

Move the selection of which BT tests are built and run
in each platform to files in the tests/bsim/ folder.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Alberto Escolar Piedras
21f755d651 tests/bsim run_parallel: Allow TESTS_FILE with search paths
With TESTS_FILE the user could provide a file with a list of
tests to run.
Now we also support that file containing a mix of
tests and paths in which to search for tests.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Alberto Escolar Piedras
10d7b1908e tests/bsim run_parallel: Ignore any script with compile in its name
Note just those called exactly compile.sh

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Alberto Escolar Piedras
c6f2cca515 tests/bsim/bt bis: Add support for split build with sysbuild
Add sysbuild build files, which allows building this test
both for the targets we could already before
(nrf52_bsim & nrf5340bsim_nrf5340_cpunet)
and also adds support for the a split build with the
nrf5340bsim_nrf5340_cpuapp.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Alberto Escolar Piedras
a84349280b tests/bsim/bt conn: Add support for split build with sysbuild
Add sysbuild build files, which allows building this test
both for the targets we could already before
(nrf52_bsim & nrf5340bsim_nrf5340_cpunet)
and also adds support for the a split build with the
nrf5340bsim_nrf5340_cpuapp.

Note that when doing a split build the controller is
taken from the hci_rpmsg BT sample, and therefore the
controller configuration in this folder is not used.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Alberto Escolar Piedras
c5d6ef1487 tests/bsim compile: Add support for sysbuild
Add support for sysbuild builds, which can be selected
by settings the variable sysbuild.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Grzegorz Chwierut
0958abd2ef twister: unittests: Fix unittest test_projectbuilder_gather_metrics
Fix #64606 by initializing mock object.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-10-31 09:53:33 -04:00
Krzysztof Chruściński
67676d8fbc linker: Fix missing DEVNULL_REGION for XIP configuration
DEVNULL_REGION was created only for !CONFIG_XIP. Moved definition
outside of that #ifdef.
Removed condition which was repeated as it is present at the beginning
of the file.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-31 11:21:10 +00:00
Fabio Baltieri
639d1f803b github: compliance: fix python cache keys
The compliance and coding guidelines workflows are using the same pip
cache key, but they install a different set of packages. This is
probably a copy paste error from the documentation build workflow, which
has been changed to use a hash, and is causing one of the two steps to
restore from a incorrect cache.

Fix this by using a hash of the workflow file itself as a key, as that's
where the python package list is defined.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-31 10:25:50 +01:00
Witold Lukasik
f14c061dd6 shell: fix SHELL_SUBCMD_COND_ADD with NULL as _handler parameter
In dummy_subcmd_##syntax statement, syntax keyword
should be replaced with _syntax, that is the argument name.

In dummy_##syntax##_handler There are two problems:
 - wrong syntax keyword
 - _handler is an argument

So if NULL is passed as an argument to _handler, and the syntax is abcd,
there is: dummy_##abcd##NULL, what causes a build error.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2023-10-31 10:24:02 +01:00
Maciej Perkowski
aa3e79a88a scripts: Add test_plan.py to twister_ignore.txt
There is no point in running full twister scope when
test_plan.py script is modified.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-31 09:02:16 +01:00
Alberto Escolar Piedras
f4ee15e939 Bluetooth samples: unicast audio client: Fix build warnings
In 85bb2624bc
init_lc3()'s prototype was changed to return an int,
but the code was not updated to return something !=0
on all errors, or 0 on error.

Fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:02:07 +01:00
Alberto Escolar Piedras
4d7c8790d7 Bluetooth samples: unicast audio server: Fix codec initialization
The lc3_enable code was refering to a variable that does not exist.
Fix it.

Issue was introduced in 9c47eb924f.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:02:07 +01:00
Henrik Brix Andersen
435b8a25d6 doc: hardware: peripherals: can: split CAN transceiver from controller
Split out the CAN transceiver API documentation from the CAN controller API
documentation. The CAN transceiver API was introduced in Zephyr v3.1.0.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-31 09:02:00 +01:00
Johan Hedberg
ff0b803334 acpi: Fix ACPI PCI bus handle
The PRT bus name for most (especially older) platforms is _SB.PCI0. Only
newer platforms use something else (like _SB.PC00).

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-31 09:01:50 +01:00
Johan Hedberg
b95931859e acpi: Fix using correct buffer length for irq rt_table
We should use the given rt_size variable to indicate the size of
rt_table.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-31 09:01:50 +01:00
Johan Hedberg
ab46cef69f acpi: Fix ACPICA initialization routine order
The upstream ACPICA example initialization order does AcpiLoadTables()
before calling AcpiEnableSubsystem(), so use this order in Zephyr too.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-31 09:01:50 +01:00
Johan Hedberg
a0203d1b20 acpi: Fix trying to register a system memory handler
ACPICA itself already registers its own handler (which works perfectly
fine for our purposes). Furthermore, ACPICA will always fail trying to
register another handler, unless the previous one is explicitly cleared
(which is something the Zephyr code didn't do).

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-31 09:01:50 +01:00
Johan Hedberg
542f95b811 boards: x86: Increase minimum system heap size for ACPI
ACPICA initialization takes considerably more than 32k. E.g. on
up_squared the utilization is 400-500k, qemu_x86_64 about 120k and on
EHL about 1.5M. Increase the default on these platforms to be big enough
if ACPI is enabled.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-31 09:01:50 +01:00
Johan Hedberg
c92c7ab873 manifest: Update to latest ACPICA Zephyr fixes
There are a couple of important fixes without which ACPICA doesn't work
on all supported platforms.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-31 09:01:50 +01:00
Krzysztof Chruściński
01cf78ad39 logging: Do not check pointers when strings are stripped
When logging strings are stripped from the binary prevent
performing check of pointers which requires access to the
string.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-31 09:01:38 +01:00
Krzysztof Chruściński
0ca5fdc6e8 lib: os: cbprintf: Add option to enable pointer checking
Add CONFIG_CBPRINTF_CONVERT_CHECK_PTR which enables support for
checking if string candidate pointer is not %p. It is by default
disabled when logging strings are removed from the binary. Option
is added to save code.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-31 09:01:38 +01:00
Fabio Baltieri
d3d484c473 input: add some initial keyboard matrix library stubs
We currently have three keyboard scanning drivers in the code base
(npcx, it8xxx2 and mchp_xec, last two yet to be converted to input).
These have been largely copy pasted from each other and share a lot of
the same structure and code.

This PR lays a foundation to start decoupling feature from those drivers
into a common code base, and it is heavily inspired by the current
regulator common data/config one.

Feature wise this only moves the thread struct, stack and initialization
to the common code and declares the thread callback as the only API, but
the intent is to move as much code as possible in there an only abstract
device specific callbacks in the api structures.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-31 09:00:27 +01:00
Francois Ramu
c79c0d7cf2 drivers: i2c: stm32 driver has get_config api
Add the get_config API to the stm32 I2C driver.
It will return the value of the Clock  Control register for i2C V1 bus
or the TIMING register for the I2C V2 bus.
This is hold by a i2c_config_timing structure of the device data
Add a bool to check if the I2C is configured or not.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-10-31 09:00:18 +01:00
Flavio Ceolin
3d9b6bb9b2 kernel: heap in k_heap_init is nonnull
Mark the parameter h as nonnull in k_heap_init.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
1701eea20f kernel: heap in k_heap_alloc is nonnull
Mark the parameter h as nonnull in k_heap_alloc.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
d8ef78d7af kernel: heap in k_heap_aligned_alloc is nonnull
Mark the parameter h as nonnull in k_heap_aligned_alloc.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
ade41376a5 kernel: heap in k_heap_free is nonnull
Mark the parameter h as nonnull in k_heap_free.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
32d7b3645a toolchain: Add nonnull attribute
Add a new macro for __attribute__((nonnull))). This attribute
allows functions to declare which parameters shouldn't be null.
This helps to catch errors like:

void test(void *a, void *b, void *c) __attribute_nonnull(1, 3);

/zephyrproject/zephyr/samples/hello_world/src/main.c:28:9: warning:
argument 3 null where non-null expected [-Wnonnull]
   28 |         test(a, NULL, NULL);
      |         ^~~~

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Peter Mitsis
7e8243b6af tests: app_kernel: Update README
Updates the README.txt to add some notes about user thread
configurations.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
1bc0b1bc46 tests: app_kernel: Add user case to testcase.yaml
Updates the testcase.yaml to support a version that employs
user threads.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
4e426fbfa1 tests: app_kernel: extend msgq test
Extends the msgq benchmark test to obtain data for larger message
queues (messages of size 192 bytes). This allows for a better
indication of what the impact of data size is on message queue
performance.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
fa33147bf9 tests: app_kernel: Add user support
Add user thread support to message queue, semaphore, mutex and
pipe tests. Mailbox and memory map tests are restricted from
executing from user threads.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
f9cf48313b tests: app_kernel: Add custom syscalls
Adds two custom syscalls. The first allows a user thread to
change its priority to a higher priority level. The second
is used to obtain a timestamp from a user thread.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
bf2ab9be60 tests: app_kernel: Add bench_mem_partition
Adds macros for placing variables into bench_mem_partition.
This partition will be used to place global data in the test
that will need to be accessed from user threads.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
5479090c91 tests: app_kernel: Use dynamic threads
Use dynamic threads instead of statically defined threads. This will
make it easier to add support for user threads to this test.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
3234145669 tests: app_kernel: Rename fifo to msgq
Changed references of fifo to msgq as the fifo name was a remnant
of the old microkernel.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
77cedbf630 tests: app_kernel: Simplify benchmark control loop
Eliminates the loop surrounding the execution of the benchmark
components as it was not doing anything.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
8d663558d6 tests: app_kernel: Remove FP configurations
As nothing in the app_kernel uses floating point, there is no
reason to enable it.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
56011222a4 tests: app_kernel: Remove unused symbols
Begin cleaning the the app_kernel benchmark project by removing
unused symbols.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:45 +01:00
Peter Mitsis
6899c0d73a tests: latency_measure: Misc updates
Adds userspace configuration to testcase.yaml.

Updates the README.rst with output from runs on a frdm_k64f board
as not only have the descriptions changed, but there is now
additional output for userspace configurations.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:31 +01:00
Peter Mitsis
1a7e5c6c8d tests: latency_measure: Use syscall to get timestamp
Many architectures and platforms can not directly read a timestamp
from userspace as the relevant MMIO registers are inaccessible.
This necessitates that the timestamp be obtained by a system call.

The additional overhead from these system calls can be taken into
account and the recorded times adjusted depending upon whether
the test occurred entirely within kernel space, entirely within
user space, or a mix between the two.

It is worth noting that when the test requires a mix of both user
and kernel space threads, the overhead is estimated as the mean
average of purely kernel threads and purely user threads overhead
times. This might not be technically correct, but it ought to
provide a reasonable enough approximation.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:31 +01:00
Peter Mitsis
9b38aec366 tests: latency_measure: Update mutexes
Updates the mutex benchmark tests to support user threads.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:31 +01:00
Peter Mitsis
4c4453d697 tests: latency_measure: Update semaphores
Updates the semaphore benchmarking in the latency_benchmark code
to support user threads.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:31 +01:00
Peter Mitsis
13ac14f2bb tests: latency_measure: Update thread ops
Update the thread ops (create/start/suspend/resume/abort) to include
support for userspace.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:31 +01:00
Peter Mitsis
4e7bb482b1 tests: latency_measure: Update interrupt latency
Updates the interrupt to thread benchmark tests to address
a number of items.
  1. Updates descriptions to correctly indicate that it is not
     interrupt latency being measured, but the time to leave
     the interrupt and return to a thread.
  2. Repeats the test numerous times instead of just once to
     get an average.
  3. Overhead from obtaining timestamps is now accounted for.
  4. Adds support for returning to a user thread.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:31 +01:00
Peter Mitsis
8c80bbb96e tests: latency_measure: Update context switch
Updates both the preemptive and cooperative thread context switch
benchmark tests so that not only will they share the same
infrastructure, but they can both get the context switch times
when switching from ...
  1. Kernel thread to kernel thread
  2. Kernel thread to user thread
  3. User thread to kernel thread
  4. User thread to user thread

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-31 08:58:31 +01:00
Arkadiusz Cholewinski
6304e9a302 PM: add device_on_power_domian testcase.
Add test case to increase code coverage of device.c file.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2023-10-31 08:58:21 +01:00
Flavio Ceolin
6e02f02464 kernel: Fix k_thread_name_get signature
k_thread_name_get has inconsistent signature. In the function
declaration it uses k_tid_t but in the implementation it is using
struct k_thread *. Change the implementation to use k_tid_t.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 17:34:45 -04:00
Andrej Butok
7db93097da boards: arm: lpcxpresso55s16/06: add boot and slot1 flash partitions.
Add boot_partition and slot1_partition to the lpcxpresso55s16
and lpcxpresso55s06 dts.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-10-30 15:02:25 -05:00
Jamie McCrae
e3c06c5d8f mgmt: mcumgr: transport: Fix UDP user data buffer overflow
Fixes a buffer overflow issue if UDP is enabled for IPv4 only
but IPv6 networking is enabled

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-30 14:58:49 -05:00
Benjamin Lucke
9c323d685b Bluetooth: BAP: Shell: Fixed some bap shell cmds
Added missing initialization for cmd_stream_qos and cmd_sync_broadcast.

Signed-off-by: Benjamin Lucke <git@lucke.tech>
2023-10-30 14:57:33 -05:00
Benjamin Lemouzy
9fd0185c3b drivers: audio: add Audio Codec shell commands
Add shell commands to start, stop and set properties of an Audio Codec
device.

Signed-off-by: Benjamin Lemouzy <blemouzy@centralp.fr>
2023-10-30 13:51:28 -04:00
Benjamin Lemouzy
5690387462 drivers: audio: add errors management
Add audio_codec_clear_errors and audio_codec_register_errors_callback
functions to manage audio codec errors.
Callback has to be called from dedicated thread to allow I2C or SPI
operations.

Signed-off-by: Benjamin Lemouzy <blemouzy@centralp.fr>
2023-10-30 13:50:37 -04:00
Simon Hein
169de2c0ee scripts: utils: add guidelines converter script
Add a guidelines rst converter script
to convert the rst document written coding guidelines
into another format.
First supported format is the format for cppcheck

Signed-off-by: Simon Hein <Shein@baumer.com>
2023-10-30 13:46:23 -04:00
Benedikt Schmidt
d28262905e tests: kernel: fix thread function signatures
Fix thread function signatures to avoid stack corruption on exit.
Fixes #64578

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 17:45:59 +00:00
Alberto Escolar Piedras
08f6532b67 Bluetooth: Controller: Fix corruption during BIG_CHANNEL_MAP_IND
radio_pkt_big_ctrl_get() returns a statically allocated
buffer of type pdu_big_ctrl, but the callers expect a
buffer where a whole PDU for a BIG control packet can fit
(not just space for the payload),
and use it as such, overflowing this statically
allocated buffer, and smashing other variables after.

Let's fix it by allocating a buffer of the correct size
to fit a BIG control PDU.

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/64497

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-30 18:36:39 +01:00
Franciszek Zdobylak
0249f15767 tests: drivers: Fix adc labels in sensors test
Fix the labels used in io-channels to be consistent in whole
tests/drivers/build_all/sensor/adc.dtsi file.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-10-30 12:51:20 -04:00
Flavio Ceolin
ecc544d69f headers: arch/cache: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
8aa215ff45 headers: syscall_handler: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
9910702378 headers: sw_isr_table: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
f1482c18c2 headers: posix/dirent: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
079a83d7f1 headers: sys/printk: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
b7c3965991 headers: kernel_structs: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
49a2ff75d3 headers: kernel_version: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
a629ac5fac headers: posix/unistd: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
51754e3a53 headers: sys/atomic_arch: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
a077079f45 headers: sys/atomic: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
1f86454d1a headers: sys/reboot: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
01d61ba18b headers: kernel: Drop extern attr from functions
Using extern attribute in function signatures is not
necessary and it is not consistently across Zephyr headers.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Grzegorz Chwierut
bbab631021 twister: unittests: Use mock for os.name in unittests
Use mock.patch instead of monkeypatch for os.name in unittests
to fix error when executing tests under VSCode

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-10-30 11:50:48 -04:00
Andrej Butok
f289c3149b doc: kernel: Fix double "the" for k_thread_deadline_set()
Fix double "the" in the k_thread_deadline_set() description.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-10-30 11:50:16 -04:00
Yong Cong Sin
1782011d2c tests: devicetree: api: add tests for new DT APIs
Add tests for new DT APIs added in the previous commit:
- `DT_IRQN_BY_IDX`
- `DT_INST_IRQN_BY_IDX`

Added additional tests for the following existing DT APIs when
`CONFIG_MULTI_LEVEL_INTERRUPTS` is enabled:
- `DT_IRQN`
- `DT_INST_IRQN`

Added `qemu_riscv32` for the multi-level interrupt tests.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-30 11:43:39 -04:00
Yong Cong Sin
df2c0681d3 devicetree: encode multi-level interrupt number in C devicetree magic
The multi-level encoding of the interrupt number currently
happens in the `gen_defines.py`, which is called in the
`dts.cmake` module after `kconfig.cmake`. However, the number
of bits used by each level is defined in Kconfig and this means
that `gen_defines.py` will not be able to get that information
during build.

To fix this, do the multi-level encoding in C devicetree macro
magic instead of the python script. This ticks one of a
long-standing TODO item from the `gen_defines.py`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-30 11:43:39 -04:00
Yong Cong Sin
d7302f417e irq: relocate multi-level irq out of irq.h
Relocate multi-level interrupts APIs out of `irq.h` into
a new file named `irq_multilevel.h` to provide cleaner
separation between typical irq & multilevel ones.

Added preprocessor versions of `irq_to_level_x` as `IRQ_TO_Lx`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-30 11:43:39 -04:00
Bjarki Arge Andreasen
42676e322b doc: gnss: Add GNSS documentation
- Added GNSS documentation entry to peripherals
- Added GNSS API entry to the API overview as 3.6 experimental

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
b6a8424e95 samples: gnss: Add GNSS sample application
This commit adds a sample which configures a GNSS modem
to enable all available systems, registers callbacks to
the GNSS data and satellites callbacks, and prints the
GNSS data and satellites from the callbacks when invoked
using printk.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
b60eb1881b drivers: gnss: Add GNSS driver for Quectel LCX6G
This commit adds a GNSS driver for the Quectel LCX6G
series of GNSS modems (LC26G, LC76G, LC86G). It is
based on the modem subsystem, and the GNSS utilities
added in the two previous commits.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
2b14e5d84a drivers: gnss: Add nmea0183 match utilities
This commit adds generic matches and handlers for the RMC,
GGA and GSV messages to be implemented as part of all
NMEA0183 based GNSS modems.

NMEA0183 based GNSS modems must place the
struct gnss_nmea0183_match_data struct as the first struct
in their data struct. Their data struct shall then be set
as the user_data for the modem_chat instance.

Lastly, the gnss_nmea0183_match callbacks must be included
in the unsolicited matches for the modem_chat instance.

The GNSS modems will initialize the NMEA0183 match instance
using gnss_nmea0183_match_init.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
d8bb7c87cf drivers: gnss: Add parsing utils for NMEA0183
This commit adds utilites to parse the RMC and GGA
NMEA0183 messages, which contain all data which shall be
published using the struct gnss_data.

It also adds a test suite for the added utilities.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
4cfea4a520 drivers: gnss: Add GNSS parsing utilities
This commit adds parsing utilites for common string
representations of values contained in GNSS messages.

These utilites both parse and validate the integrity of
the data.

Unit tests are also added to validate the parsing
utilities.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
03d2671ddd drivers: gnss: Add GNSS dump to log feature
This commit adds dumping of GNSS data and satellites to
the log if CONFIG_GNSS_DUMP_TO_LOG is selected

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
2a81c22489 drivers: gnss: Add gnss_dump library
This commit adds a library which dumps the contents of the
gnss structures gnss_info, navigation_data, gnss_time and
gnss_satellite as a string.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
28f5f2d1ed drivers: Add GNSS API public header
This commit adds the public header for the GNSS API, along
with the initial GNSS Kconfig file and an entry in the
common linker file for registered GNSS data callbacks.

A very naive implementation of the GNSS data callback is
provided as well in drivers/gnss/gnss_publish.c

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
ed92612689 data: Add navigation utils header
This commit adds the initial navigation data type and tools
which will lay the foundation to share and process navigation
data between the application and navigation systems like GNSS
and similar triangulation technologies.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Maciej Perkowski
3314b8e0c3 twister: bugfix: Fix infinite loop in test_plan.py script
Commit 72f416f382 added a horizontal
scan for .yaml files when a modification was made in "common" folder.
If yamls were found in such way, the loop ended. However, the
implementation didn't address what happens if such yamls are not found.
This made the script going into an infinite loop. If yamls are not
found next to "common", the script should proceed as before, i.e. go
to the directory above an start looking there.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-30 10:54:57 -04:00
Krzysztof Chruściński
b1c207b257 logging: Use optimization for simple messages only in kernel
Optimized version of logging for simple messages can work
only in kernel space. Do not use it in user space.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-30 10:15:49 -04:00
Krzysztof Chruściński
a33fff38ae tests: logging: log_benchmark: Fix integration platform
Userspace test was using native_posix which does not support
userspace. Change to qemu_x86.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-30 10:15:49 -04:00
Andrei Emeltchenko
c243991000 tests: work_queue: Change TC_PRINT to LOG_DBG
There are many TC_PRINT()'s in the work_queue test and it make sense
to change them to LOG_DBG() which are disabled by default. Other issue
is that some of TC_PRINT() are inside works for which execution time
is measured.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-30 09:29:25 -04:00
Flavio Ceolin
a36c016dff kernel: mmu: Fix possible null de-reference
virt_page_phys_get can be called with phy parameter NULL when
the intention is just checking if a virtual address is mapped.

This function is generally overwritten by a an arch API that checks if
phys is null before using it but this default implementation doesn't.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 09:23:23 -04:00
Lukasz Mrugala
471cff50e8 scripts: tests: twister: Jobserver tests
Jobserver module was not covered by unit tests.
This change brings its coverage to 100%.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-30 08:28:02 -04:00
Lukasz Mrugala
3c7968172e scripts: tests: twister: Add error testing
Errors did not have their dedicated test file.
This change adds it to the repo and
checks the only non-def statement there.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-30 08:27:43 -04:00
Benjamin Cabé
26d7c61370 doc: samples: Show related code samples contents by default
Add required class so that sphinx-togglebutton admonition is expanded by
default.

Also remove sphinx-immaterial code that should not be there.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-30 12:27:00 +01:00
Benjamin Cabé
cf1fdc3ea8 doc: samples: Use definition list for code samples
Using an UL with "manually" formatted text was probably an oversight.
Show related samples as a "definition list", with sample name as the
"term" and the description as the "definition".

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-30 12:27:00 +01:00
Benedikt Schmidt
be8408cbac usb: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
c5b252d8f1 testssuite: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
24de378986 portability: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
d7f0da1c78 net: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
aa25e212d1 tests: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
6202459d9f samples: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
a03f1010b8 drivers: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
191865b51c drivers: sensor: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
ba49cb81f1 drivers: modem: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
9eb993c063 drivers: ieee802154: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
fbef0edb99 drivers: ethernet: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
9247f0e07b drivers: bluetooth: fix thread function signatures
Fix thread function signatures to avoid a stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
c533924370 drivers: can: fix thread function signatures
Fix thread function signatures to avoid a stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Benedikt Schmidt
49ce054200 drivers: adc: fix thread function signatures
Fix the data acquisition thread function signatures to avoid a stack
corruption on thread exit.
Fixes #62637

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Alberto Escolar Piedras
e934e49aa9 tests bsim cis: Fix sim_id collision
This test was reusing the sim_id from an l2cap test,
which was colliding with the corresponding l2cap test
when they were run in parallel.
Fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-30 11:35:45 +01:00
Alberto Escolar Piedras
55c59e041e Bluetooth: Controller: Avoid division by 0 with BT_CTLR_THROUGHPUT
With very fast HCI interfaces (for ex. in the simulated nrf5340)
the tx_rate calculation can do a division by 0
(if to packets are enqueued in the same 32KHz clock period).
Let's avoid it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-30 10:49:51 +01:00
Deepti Deshatty
1816775466 drivers: flash: provide api to reset the flash registers
changes enable flash driver to provide api interface to send reset memory
spi command to the spi flash. The reset memory command would bring the
spi flash to its default power-on state and loose all the volatile register
settings.
Flash reset is needed when more than one controller access the flash chip
in a shared mode.

Signed-off-by: Deepti Deshatty <deepti.deshatty@intel.corp-partner.google.com>
2023-10-30 09:27:42 +01:00
Ping Wang
f0728ce0aa samples: Bluetooth: Add LC3 to broadcast audio samples
The broadcast audio samples (broadcast_audio_sink
and broadcast_audio_source) are sending mock data,
the apps are improved by using the LC3 module as
the unicast audio samples do.

Signed-off-by: Ping Wang <pinw@demant.com>
2023-10-30 09:27:17 +01:00
Fabio Baltieri
2dcb1280a5 ci: compliance: fetch only the last revision and skip tags
Add some west update flags to do a shallow fetch of the modules and
skip the tags. That data is not needed anyway, should make the
compliance check initialization a bit faster.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-30 09:26:56 +01:00
Robert Lubos
08d1bb2c92 tests: net: checksum_offload: Cleanup and fixes for the test suite
When working on new test cases for checksum_offload test suite it turned
out that some existing test cases were already broken and not testing
what expected. This commit fixes the broken functionality:
  * Despite having two separate interfaces for offloaded and
    non-offloaded checksum scenario, all packets ended up in a single
    interface anyway due to src address matching. Therefore use
    different destination address, depending on tests.
  * Add separate semaphores for offloaded and non-offloaded case, to
    ensure that the packet ended up on the correct interface.
  * The packet loopback in RX cases was broken, the LL address, IP
    address and UDP port swap written data in wrong places.
  * The receive path was not tested in the offloaded case.

Additionally, do a small cleanup before adding more tests:
  * Fix net_context leak.
  * Configure IPv6 neighbor once, during setup.
  * Add before function to cleanup the flags before tests execute.
  * Split tests into separate test cases, as they're not really
    dependent on each other.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-30 09:26:19 +01:00
Alberto Escolar Piedras
b12785f86d tests/bsim/bt bis: Do not call into controller in split builds
Use the HCI layer to update the channel map instead of calling directly
into the controller.

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/64441

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-30 09:26:06 +01:00
Benjamin Cabé
9e0c46f81b doc: fix Doxygen light theme
As per Doxygen Awesome documentation:
"HTML_COLORSTYLE must be set to LIGHT since Doxygen 1.9.5!"

Fixes #64505

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-30 09:25:48 +01:00
Henrik Brix Andersen
eddfba487d doc: can: move the documention for high-level protocols to connectivity
Move the documentation for high-level CAN protocols (for now only covering
ISO-TP) from the peripherals section to the connectivity section.

This matches the layout in code, where the CAN controllers are under the
drivers/can directory and the protocols are under the subsys/canbus/
directory.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-30 09:25:40 +01:00
Fabio Baltieri
bc43e890fd doc: drivers: add a paragraph mentioning the initlevels target
Add a paragraph mentioning the initlevels target for inspecting the
DEVICE_DEFINE and SYS_INIT sequence.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-28 23:19:59 +02:00
Andrzej Głąbek
dbf385bb08 boards: bl653_dvk: Fix incorrect definition of cs-gpios in spi1
`cs-gpios = <&gpio1 23 0>;` is incorrect, since pin P1.23 does not even
exist in nRF52833. According to schematic, it should be P0.23 and this
CS line should be configured as active low.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-10-28 23:16:53 +02:00
Carles Cufi
09f6800d1f actions: manifest: Update the revision of the manifest action
Pull in https://github.com/zephyrproject-rtos/action-manifest/pull/10.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-28 16:22:28 -04:00
Flavio Ceolin
e7340282a7 west.yml: update hal_intel
Update hal_intel to include a power management fix.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-27 13:41:04 -05:00
Iuliana Prodan
b2eade6bcb west: update open-amp repo
Update open-amp repository with new sha.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-10-27 13:39:31 -05:00
Tom Keddie
ad6d8f2811 boards/arm/serpente: fix system clock rate
Serpente schematic has the same clocking arrangement as
boards/arm/adafruit_trinket_m0.  This fix copies the clocking
config from the trinket.

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/64470

Signed-off-by: Tom Keddie <github@bronwenandtom.com>
2023-10-27 13:37:32 -05:00
Lukasz Mrugala
2235a8253b scripts: tests: twister: runner test expansion
Creates a few dozen new tests that cover every runner.py method.
99% coverage (All statements save for one) is achieved.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-27 13:36:17 -05:00
Grzegorz Chwierut
fffe0b9fad twister: pytest: Parametrize scope of the dut fixture
Added pytest_dut_scope keyword under harness_config section.
New keyword is used to determine the scope of dut and shell
fixtures in pytest-twister-harness plugin.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-10-27 13:35:14 -05:00
Flavio Ceolin
e57e7f28a9 Revert "Revert "modules: tinycrypt: Options only when module is available""
This reverts commit 572491ab95.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-27 13:33:30 -05:00
Flavio Ceolin
a6c3230b74 unittest: Generate symbol for existent modules
Generate ZEPHYR_{MODULE_NAME}_MODULE for existent modules
for unittests as well since they may be using Zephyr modules.

Fixes: 64348

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-27 13:33:30 -05:00
Henrik Brix Andersen
49f0c9f221 samples: modules: canopennode: suggest using manifest.project-filter
Suggest users to use "west config manifest.project-filter +canopennode"
instead of "west config manifest.group-filter +optional" in the sample
documentation to avoid pulling in unrelated, optional modules.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-27 13:30:50 -05:00
Dawid Niedzwiecki
0aed42f2ee mgmt: ec_host_cmd: improve handling buffer sizes
Add the len_max rx structure member to indicate maximum number of bytes
possible to receive. It is needed to send information about our protocol
parameters to host.

Also, limit the maximum size of request/responses for backends that uses
buffers provided by the handler.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-10-27 13:26:00 -05:00
Andriy Gelman
d0961756a6 drivers: watchdog: Add xmc4xxx support
Adds watchdog support for Infineon xmc4xxx MCUs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-10-27 12:58:07 -05:00
Kai Vehmanen
460c2167e4 Revert "drivers: intel: ssp: Correct FIFO depth value for CAVS25 platforms"
This reverts commit d75127caa4.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-10-27 12:33:53 -05:00
Kai Vehmanen
3e4c50b0ef Revert "drivers: intel: ssp: Revise receive FIFO draining"
This reverts commit 97bb67d66c.

The revised FIFO draining seems to cause failures due
to channel shift with Intel MTL platform.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-10-27 12:33:53 -05:00
Tomasz Bursztyka
7b2cb95cd5 tests/x86: Reverting back to old logic
It was simpler, and it worked: it counted the cpu number correctly.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-10-27 17:36:44 +01:00
Tomasz Bursztyka
f5ce4ddc79 arch/x86: Remove useless legacy ACPI code
ACPI is now being handled through ACPICA.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-10-27 17:36:31 +01:00
Tomasz Bursztyka
c294b7d270 lib/acpi: Fix the behavior to fit with how it used to be
z_acpi_get_cpu() used to retrieve the local apic on enabled CPU, where
n was about the n'th enabled CPU, not just the n'th local apic.
The system indeed keeps local apic info also about non-enabled CPU,
and we don't care about these as there is nothing to do about it.

This issue exists on up_squared board for instance, but it's a common
one anyway.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-10-27 17:36:31 +01:00
Maciej Perkowski
72f416f382 scripts: Add workflow for "common" directories in find_tests()
Some tests use a "common" directory to store pieces of code which
are reused by different scenarios. In those cases, no test yaml is
found within such director nor within its parents.
If no test yaml is found in a directory, and the directory is called
common, also look in collocated directories if they have test yamls.
If so, add all those locations to the scope.
E.g. tests/bluetooth/controller/common

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-27 09:13:16 -04:00
Maciej Perkowski
9f85001061 scripts: Make workflow of test_plan.py script more robust
The script was not resolving all detected changes uniformly:
find_excludes() could skip or not certain patterns based on
required testing scope. The idea was to not include files
that were already handled by find_test() and find_boards() workflows.
However, only boards and tests folders could be removed but
not samples. This also led to blind spots: changes in some files
were not triggering any tests. E.g. change in a test/common, where
no corresponding yaml can be found by find_tests() which is also
ignored by find_excludes(). In the new workflow a list of resolved
files (for which find_arch(), find_tests() or find_boards()
found scope) is created. Instead of using skip in find_excludes,
files are excluded only if they were resolved.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-27 09:13:16 -04:00
Adam Mitchell
2f43b0b696 drivers: flash: Add RDP (readout protection) support for STM32G4x flash
Add support (and tests) for flash readout protection on the STM32G4x series
Signed-off-by: Adam Mitchell <adam.mitchell@brillpower.com>
2023-10-27 12:31:41 +02:00
Adam Mitchell
df1897c122 drivers: flash: Add RDP (readout protection) support for STM32G4x flash
Add support for Flash readout protection on the STM32G4x series
Signed-off-by: Adam Mitchell <adam.mitchell@brillpower.com>
2023-10-27 12:31:41 +02:00
Bartosz Bilas
8487aad003 drivers: i2c: i2c_nrfx_twi*: don't print errors in case of transfer failure
Let the caller decide what should be done in case of the transfer failure.
It will reduce the number of error log prints when the i2c scan is
called for the bus where nothing is connected.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-10-27 12:29:29 +02:00
Henrik Brix Andersen
6ddde16bdb drivers: can: add missing documentation to can.h
Add missing doxygen documentation to the can.h header file.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-27 12:28:04 +02:00
Henrik Brix Andersen
2e2de9e5c2 drivers: eeprom: add missing documentation to eeprom.h
Add missing doxygen documentation to the eeprom.h header file.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-27 12:27:31 +02:00
Krzysztof Chruściński
78bf8ebf75 logging: Allow keeping module names in dedicated section
When CONFIG_LOG_FMT_SECTION is enabled then module name strings
are also placed in the dedicated section used for all logging
strings.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 11:42:21 +02:00
Krzysztof Chruściński
9470e3d129 logging: Imply strings stripping if dictionary frontend is used
When UART dictionary frontend is used strings can be removed
from the binary.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 11:42:21 +02:00
Krzysztof Chruściński
59abf921c1 logging: Add option to remove strings from binary
Add option to remove string literals which are constant and
never touched by the firmware. It can save significant amount
of RO memory.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 11:42:21 +02:00
Krzysztof Chruściński
f172a1a5ee scripts: logging: dictionary: Handle string stripping
Add support for getting strings from section which is not part
of the binary.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 11:42:21 +02:00
Krzysztof Chruscinski
dfb3674c4c linker: Add devnull memory for cortex_m and riscv32
Added memory region which is intended to be removed from the final
binary but may be using in byproduct to extract data used by the
host tools (e.g. strings used by logging).

Add devnull region to Cortex-M and RISCV linker scripts.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 11:42:21 +02:00
Benjamin Cabé
0fe6c72d40 debug: coredump: guard selection of ADSP memory window backend
Enabling the core dump via memory window backend only makes sense on
Intel ADSP platform wtih memory windows enabled.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-27 10:53:32 +02:00
Benjamin Cabé
9ff60803c4 debug: coredump: logging backend should always select LOG
The DEBUG_COREDUMP_BACKEND_LOGGING option should automatically
select LOG Kconfig instead of just depending on it.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-27 10:53:32 +02:00
Andries Kruithof
8c1513c837 Bluetooth: shell: make behaviour of iso cmd same as bt cmd
When no parameters are given to the 'bt' command it prints
the help message. The 'iso' command responds with 'missing
subcommand'. This commit updates the behaviour of the iso
command so that it behaves the same as the bt command, i.e.
prints a help message

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-27 10:53:25 +02:00
Bjarki Arge Andreasen
a0b9d018b4 tests: rtc_api: Update y2k test to allow unknown values
Some RTCs don't support the tm_yday and/or tm_wday fields
of the struct rtc_time structure. These RTCs must set the
values of the fields to -1 if they are not supported, and
the test must be able to handle this correctly. This commit
adds an exception to the tm_yday and tm_wday fields allowing
them to be set to -1.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-27 10:53:19 +02:00
Andrei Emeltchenko
ee74ea26f3 doc: x86: Use start-after to include after right part
In the documentation recently started to appear ':orphan:', which is
marking for orphaned page. Use start-after to include after marking.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-27 10:53:11 +02:00
Przemyslaw Bida
b2fec758b3 net: openthread: Fix dependency on openthread max ip addr.
Fixes discrepancy between FTD and MTD in amount of ipaddr in
`ChildUpdateRequest`.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-10-27 10:52:55 +02:00
Jukka Rissanen
e44de3e381 net: shell: Join IPv6 mcast group if needed
If user adds IPv6 address to the network interface, check
if the address is a multicast one and add it to multicast
group if it is.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-27 10:52:48 +02:00
Jukka Rissanen
1467d7fa7b net: shell: Join IPv4 mcast group if needed
If user adds IPv4 address to the network interface, check
if the address is a multicast one and add it to multicast
group if it is.

Fixes #64389

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-27 10:52:48 +02:00
cyliang tw
6949c61d98 MAINTAINERS: add Nuvoton Numaker into maintainers
To expand existing Nuvoton Numicro area to include Numaker.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2023-10-27 10:52:41 +02:00
Flavio Ceolin
253e266fc5 doc: vuln: Disclose information about CVE-2023-5139
Information about CVE-2023-5139

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-27 10:52:26 +02:00
Chaitanya Tata
a1024f6aeb net: zperf: By default bind to any IP address
Default behaviour should only bind to port independent of IP, this
allows even multicast/broadcast L4 traffic to be received.

User can always specify a specific address to bind using shell or
Kconfig or API.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-10-27 10:52:19 +02:00
Chaitanya Tata
dee1f2deaa net: zperf: Set default IP addresses only if configured
If the user has not configured then we see the error prints for the
defaults always.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-10-27 10:52:19 +02:00
Chaitanya Tata
6bd47ffb10 net: zperf: Distinguish between IPv4 and IPv6 address set failures
Using a generic IP for address set failures is confusing, esp. two same
prints (one for v4 and the other for v6), so, use explicit version.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-10-27 10:52:19 +02:00
Alberto Escolar Piedras
e75e04d2d2 samples/bluetooth/hci_rpmsg: Allow building for simulated nrf5340
Allow building these samples for the simulted nrf5340 net core.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-27 10:52:10 +02:00
Guennadi Liakhovetski
5064df0500 llext: copy complete string sections while parsing ELF
This has several advantages:

1. we don't need any hard assumptions about symbol length. The
current hard-coded limit of 32 characters might well be not true.
2. replaces a lot of code for reading those names with a single
call to a 1-line function to calculate string location.
3. eliminates the need to allocate buffers for exported symbol names
by replacing them with a simple pointer assignment.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-10-27 10:51:49 +02:00
Guennadi Liakhovetski
23472509d3 llext: refactor section copying
Instead of first allocating all sections and then copying then,
create a helper function to allocate and copy a single section and
call it for all appropriate sections. We need to call this function
from another location when copying string sections.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-10-27 10:51:49 +02:00
Alberto Escolar Piedras
c6fab4ac77 samples logger multidomain: Add run test for simulated target
Add a runtest for the simulated target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-27 10:51:36 +02:00
Alberto Escolar Piedras
b9023d3885 samples logger multidomain: Add support for nrf5340bsim
Add support for this sample on the simulated nrf5340

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-27 10:51:36 +02:00
Alberto Escolar Piedras
ee7e6d47d1 samples logger multidomain: Convert to sysbuild
Convert this sample application build to sysbuild.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-27 10:51:36 +02:00
Mike J. Chen
ca19b40733 soc: arm: nxp_imx: rt5xx: make some clock init functions weak
Allows a board to provide their own functions if
they wish to init clocks differently.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-27 10:51:28 +02:00
Flavio Ceolin
76cb2a54f5 intel_adsp: Do not include device_runtime header
Device runtime header is not needed in intel_adsp_ipc header.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-27 10:51:14 +02:00
Flavio Ceolin
7827441681 intc: intc_ioapic: Remove unnecessary header
<zephyr/pm/device.h> is being included twice. Remove
one of them.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-27 10:51:14 +02:00
Flavio Ceolin
9e404d12d0 intc: intc_loapic: Remove unnecessary header
<zephyr/pm/device.h> is being included twice. Remove
one of them.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-27 10:51:14 +02:00
Hake Huang
d05e274735 test: test_mcuboot: enable test on NXP MCUX platforms
NXP MCUX has no issue with #58080, so enable tests for NXP

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-10-27 10:51:05 +02:00
Arunmani Alagarsamy
e9ecc83eea drivers: rtc: new maxim ds1307 rtc driver
Added rtc driver for ds1307. It allows to read and set the date and time

Signed-off-by: Arunmani Alagarsamy <arunmani27100@gmail.com>
2023-10-27 10:50:46 +02:00
Krzysztof Chruściński
503422b91e doc: logging: Add new Kconfig options
Add CONFIG_LOG_SIMPLE_MSG_OPTIMIZE and CONFIG_LOG_FRONTEND_OPT_API

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 10:50:39 +02:00
Krzysztof Chruściński
a68cdb0558 logging: Optimize handling of simple and common log messages
Some compilers (e.g. riscv32) does not handle well complex macros
for logging. Generated code is bigger than expected (e.g. riscv32
code is almost twice bigger than cortex-m code). Use of logging can
lead to unexpected code increase.

To handle that an analysis of the zephyr code base was performed and
it shown that 75-80% of logs are simple strings with 0 arguments
(~45%), one 32 bit argument (~26%) or two 32 bit arguments (~6%).
Given that a set of dedicated macro were created which are applied
to those 3 cases which on 32 bit platform create very simple log
messages without padding or alignment needed.

Such dedicated macros save up to 40% of code (riscv32) and also
executes 30% faster (arm cortex and riscv32).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 10:50:39 +02:00
Krzysztof Chruściński
182555b3df sys: cbprintf: Add macro for determining if argument fit in 32 bit word
Add Z_CBPRINTF_IS_WORD_NUM(x) which determines if argument is a
number that can fit in 32 bit word. It is used by logging macros
optimized for handling strings with numeric arguments.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 10:50:39 +02:00
Krzysztof Chruściński
900f9c3b24 logging: log_frontend: Add optional API for common messages
Extend frontend API with optional set of functions which can
be used when simplified log message handling is enabled. If this
mode is enabled then there are dedicated macros for processing the
most common messages (string + 0-2 word arguments). Using this API
can speed up the processing of messages that are the most common.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 10:50:39 +02:00
Krzysztof Chruściński
1a0e8d6f9e logging: log_msg: Add functions for handling simple log messages
In preparation for new feature which optimizes handling of
the most common log messages (0-2 32 bit word arguments) add
functions dedicated for that purpose.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 10:50:39 +02:00
Mariusz Skamra
ac3a6d3721 tests: Bluetooth: tester: Fix missing net_buf_unref
This fixes missing unreference of network buffer allocated
when there is no data to send in the ring buffer.
The code have been refactored, so that we check whether there is
anything to send first, and if there is, the TX buffer is allocated.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-27 10:50:30 +02:00
Mike J. Chen
b0a5492026 drivers: i3c: mcux: Add dt property disable-open-drain-high-pp
The default is that the high time for open-drain clk is one
PPBAUD, which is typically very short. Some device require
a longer high time during the open-drain address phase so
add a property to allow device tree to override the default.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-27 10:50:16 +02:00
Mike J. Chen
f344019f2d drivers: i3c: mcux: Remove infinite wait for MCTRLDONE in auto-IBI
Remove the MCTRLDONE wait in mcux_i3c_request_auto_ibi().
I've seen this code getting stuck where the MCTRLDONE
bit is never set in the MSTATUS register by the controller
and this function spins forever. Documentaiton of the
MCTRLDONE bit only mentions it being set for EmitStartAddr
and ProcessDAA, but not for AutoIBI requests.

All the calls to this function do completion checks
afterwards, and with a timeout, so I believe the MCTRLDONE
check is not needed (and may not even be correct).

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-27 10:50:16 +02:00
Mike J. Chen
1193049c0a drivers: i3c: mcux: tighten the FIFO read
At high i3c rates, the mcux_i3c_do_one_xfer_read()
could get into an infinite loop where the rx_count
kept returning 0 but the complete status bit
was never set. I believe the problem was that
the function was not emptying the FIFO fast enough,
so tighten the loop that processes the FIFO.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-27 10:50:16 +02:00
Mike J. Chen
7c1884ae9b drivers: i3c: mcux: send 7h7e on first transfer or after stop
Makes the i3c_mcux driver consistent with the i3c_cdns driver.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-27 10:50:16 +02:00
Mike J. Chen
16f4861741 drivers: i3c: mcux: fix config_get to return last config set
mcux_i3c_configure() was saving values to a ctrl_config_hal
struct, but config_get() was not returning the values in
that struct. Remove that struct from the static data of
the driver and instead just have it on the stack. We init
that struct as needed just before calling the SDK API
I3C_MasterInit(). There's no reason to keep it around.
Change mcux_i3c_configure() to save a copy of the configuration
in the static data common.ctrl_config, which is what is
returned by config_get().

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-27 10:50:16 +02:00
Aaron Ye
0d1e4684b7 boards: arm: apollo4p_blue_kxr_evb: Enable flash controller.
This commit enables flash controller instance for apollo4p_blue_kxr_evb.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-10-27 10:50:05 +02:00
Aaron Ye
c2601e8806 dts: arm: ambiq: Add flash controller instance to Apollo4 Blue Plus SoC.
This commit instantiates the flash controller.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-10-27 10:50:05 +02:00
Aaron Ye
51d5794387 drivers: flash: Add Ambiq flash controller driver.
This commit adds flash controller driver for Ambiq Apollo4 SoCs.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-10-27 10:50:05 +02:00
Anas Nashif
a6bfbedbf5 doc: project roles: Further finetune language
More details about roles and responsibilities and reviewer expectations.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Anas Nashif
8663449055 doc: reviewer expectations: minor optimizations
Minor layout and language optimization to the review expectations
document.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Anas Nashif
d8709301a2 doc: update technical escalation proccess
Update process for technical PR escalation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Augusto Zanellato
fe9b23070c boards: arm: xiao_ble: add blackmagicprobe runner
Enable using a BlackMagicProbe for flashing and debugging XIAO BLE
boards.

Tested successfully with BMP 1.9.2 running on ST-Link/v2 against a
`xiao_ble` board.

Signed-off-by: Augusto Zanellato <augusto.zanellato@gmail.com>
2023-10-27 10:49:25 +02:00
TOKITA Hiroshi
2e848d8357 drivers: adc: rpi_pico: Fix pinctrl doesn't apply in initialization.
Fix the problem not apply pinctrl eventhough the config is defined.

In practice, the setting is equals to soc default.
So, there is no apparent change in behavior.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-10-27 10:49:17 +02:00
Benjamin Cabé
353f42d8bd doc: refactor vcs_link and git_info extensions
Refactor all git/github related extensions into one file, as they are
working hand in hand.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-27 10:49:11 +02:00
Benjamin Cabé
701f59ee1e doc: Make it easier to report issues in the documentation
- Add extension to get git metadata (date, SHA-1, ...) regarding the
  latest update made to a page
- Add date of last "actual" update to each manually authored doc page
- Add admonition inviting to report issues
- Add button in breadcrumb to report issue

Fixes #60622.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-27 10:49:11 +02:00
Benjamin Cabé
32cd631a1b doc: extensions: Add method to get vcs link to report issue
This adds a vcs_link_get_open_issue_url Jinja filter to craft the URL
allowing to report an issue for a given Sphinx page

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-27 10:49:11 +02:00
Benjamin Cabé
eb1968fa10 doc: extensions: Add ability to edit doc page on GitHub
Update the vcs_link extension to also support generating "edit" URL
vcs_link_version is also now a Sphinx config making its value available
to extensions.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-27 10:49:11 +02:00
Jan Henke
7ca296c016 auxdisplay: Add SerLCD auxdisplay driver
SerLCD is an interface for several lcd character display sold by sparkfun.

Signed-off-by: Jan Henke <Jan.Henke@taujhe.de>
2023-10-27 10:49:03 +02:00
Daniel Leung
1fac5ed2a6 soc: xtensa/nxp_adsp: put guard in Kconfig.defconfig
This adds a if CONFIG_SOC_FAMILY_NXP_ADSP guard in
Kconfig.defconfig for nxp_adsp. Or else all of its default
get applied everywhere. For example, qemu_xtensa fails
kernel.logging.message_capture tests because
CONFIG_TEST_LOGGING_DEFAULTS is disabled in
nxp_adsp/Kconfig.defconfig which should not have applied
to qemu_xtensa at all. So put a guard in there.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-26 19:16:53 -04:00
Maureen Helm
36720dbf9c MAINTAINERS: Add entry for multi-function devices (MFD)
Adds a new entry for multi-function device (mfd) drivers to ensure that
incoming PRs to this area get labeled appropriately and have reviews
requested.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-26 22:04:37 +02:00
Robert Lubos
9d3306b22f tests: net: socket: misc: Fix optlen type
The optlen parameter passed to getsockopt() should be of (socklen_t *)
type. Using int produced build errors on 64 bit platforms.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-26 12:34:12 -05:00
Robert Lubos
f64d09040b tests: net: socket: misc: Increase stack size
Recently added tests require more stack on certain platforms
(nrf52840dk_nrf52840 in this case), hence increase the ZTEST stack size.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-26 12:34:12 -05:00
Alberto Escolar Piedras
6196acf1d0 samples/drivers/mbox: Add run test for simulated target
Add a runtest for the simulated target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 12:32:53 -05:00
Alberto Escolar Piedras
eab2d89f53 samples/drivers/mbox: Convert to sysbuild and add support for nrf5340bsim
Convert this sample application build to sysbuild,
and add support for the nrf5340bsim target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 12:32:53 -05:00
Alberto Escolar Piedras
f871bf9a02 samples 802154_rpmsg: Enablel on simulated nrf5340
Enable building this sample on the simulated nrf5340 net
core.
Note that this sample does nothing on its own, as it
requires a companion application core sample to driver it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 12:31:08 -05:00
Alberto Escolar Piedras
4963f049c5 nrf53bsim: Add support for split 15.4 builds
Add the required chosen DT properties to enable
split 15.4 builds.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 12:31:08 -05:00
Anas Nashif
51f6c4269b soc: microchip_mec: do not enable PM in soc
PM should not be enabled by default at the soc level. This is an
application decision and not a platform decision whether to enable or
disable PM features.

Enabling PM by default will result in descripencies and test scope and
failures in tests that do not account for PM being enabled.

Fixes #60359

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-26 12:28:18 -05:00
Alberto Escolar Piedras
f7f800c957 doc: nrf53 bsim: OpenAMP is now supported
Let's delete the note which says OpenAMP is not supported
as it is now.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 17:33:16 +02:00
Alberto Escolar Piedras
7f43b00e23 nrf53_bsim doc: Add paragraph about using sysbuild
And a link to an example sample and its sysbuild.cmake file

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 17:33:16 +02:00
Alberto Escolar Piedras
13c0657bdc samples: nrf53_sync_rtc: Add run test for simulated target
Add a runtest for the simulated target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 17:33:16 +02:00
Alberto Escolar Piedras
4b90dec91f samples: nrf53_sync_rtc: Convert to sysbuild
Convert this sample application build to sysbuild,
and update documentation.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 17:33:16 +02:00
Alberto Escolar Piedras
851e5cdbe2 samples: nrf53_sync_rtc: Add support in nrf5340bsim
Add support for this sample in the simulated nrf5340

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 17:33:16 +02:00
Alberto Escolar Piedras
9dabc55c3e nrf5340bsim: Add support for NRF53_SYNC_RTC & ENABLE_CPUNET
Add support for these two options in the simulated board.

Before these options were otherwise defined in the real
BOARD/SOC kconfig files, which meant samples/tests which
used them would not be able to build due to a kconfig error.

With this change they can both be selected, and the right
functionality is built in.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 17:33:16 +02:00
Alberto Escolar Piedras
4b88aa9dc1 manifest: Update nrf hw models to latest
* Update the HW models module to
90f4484cbaec986ed253b4fe9649aa75e632de15

Including the following:
* 90f4484 nrf_dppi & dppi_hack: Add support for NRF_DPPI_ENDPOINT_

Note: This update requires hal_nordic/nrfx release 3.2

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 17:33:16 +02:00
Flavio Ceolin
9b200410d0 modules: mbedtls: Bump to 3.4.1
Bump mbedTLS to the 3.4.1

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-26 16:47:57 +02:00
Krishna T
85e3a4ca6a scripts: ci: Fix for compliance with multi-user machine
If in a server multiple users are running compliance then it throws
errors as the filename "Kconfig.modules" and "Kconfig.dts" is owned by
someone else.

Fix this by creating a randomized Kconfig file and delete after use.

Signed-off-by: Krishna T <krishna.t@nordicsemi.no>
2023-10-26 16:47:30 +02:00
Eduardo Montoya
55918e7454 MAINTAINERS: add OpenThread collaborator
Add `edmont` as collaborator for OpenThread related repos.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-10-26 16:46:36 +02:00
Andrei Emeltchenko
daa739a410 tests: spinlock: Clear test globals before each test
Clear test global variables before each test execution.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-26 10:30:24 -04:00
Andrej Butok
3fab7624eb doc: pipes: Fix the pipe read example.
Replaces sizeof(header) which is equal to the size of the pointer,
by sizeof (*header), which is equal to the size of struct message_header.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-10-26 10:29:37 -04:00
Anas Nashif
bad87f1684 ci: publish api docs and coverage as well
Also API coverage reports to both PRs and main documentation site.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-26 10:12:36 -04:00
Keith Packard
51fee43122 tests/c_lib: Run tests on native/posix targets
With a few minor adjustments, these tests now run fine on native
targets.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
8780bd2b70 test/c_lib: Make sure time_t is at least 64-bits
Check to ensure that the C library doesn't have obvious 2038 issues.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
83db6ee7f5 test/c_lib: Skip strerror invalid input test for EXTERNAL_LIBC
Passing an invalid errno value to strerror is undefined behavior in
POSIX. While all Zephyr-specific C libraries may be required to return a
specific value, we can't hold an external C library to that standard.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
e4681a0634 test/c_lib: Don't fail to compile tests with 32-bit time_t
The native library may use a 32-bit time_t, so we need to avoid
having the compiler generate an error during compilation.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
dfd584204c test/c_lib: Skip 'abort' test for EXTERNAL_LIBC
The native C library abort function isn't trapped within Zephyr.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
8283f8ca09 test/c_lib: Skip 'exit' test for EXTERNAL_LIBC
The native C library exit function does not do what we want.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Jeppe Odgaard
530a3092fe debug: coredump: flash backend: print error if write fails
The loop in `coredump_flash_backend_buffer_output` might fail without
any alerts. This could be due to e.g. a too small coredump-partion.

Add a LOG_ERR if an error occurs.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-10-26 07:57:12 -04:00
Tomasz Moń
08bd1c5ec2 usb: device: Fix ZLP write race condition
ZLP packet has to be read and acknowledged by host just like any other
DATA packet. Do not end transfer until the host actually acknowledged
the trailing ZLP. This fixes the race condition between host and Zephyr
application where the next transfer could be lost if host did not issue
IN token (that would read read ZLP) before the application tried to
start new transfer.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-10-26 13:52:31 +02:00
Alberto Escolar Piedras
b3de643206 tests cmsis_dsp filtering: Do not run filtering.misc.fpu on mps3_an547
Merging 565c9376f1
exposed an issue in this test, which causes an assert in the
mps3_an547.
For more information check
https://github.com/zephyrproject-rtos/zephyr/issues/64387

The issue needs further analysis.
With this platform being an integration
platform for this test, it gets triggered in CI by unrelated
PRs, causing CI failures and blocking development.

As an interim measure, to unblock development in the main branch,
let's exclude this platform from this test.

This commit should be reverted once the underlaying issue is
indentified and addressed.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 13:52:23 +02:00
Joakim Andersson
96c5052733 tfm: Add BL2 log level configuration and disable it with TFM silent conf
Add choice for BL2 log level configuration.
Silence TF-M BL2 logging when TF-M is configured to be silent.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-26 12:10:11 +02:00
Franciszek Zdobylak
baad781195 dts: arm64: nxp: Remove undefined chosen labels
The labels used in chosen node are not defined in dtsi file.
They are defined on board level and also chosen is already set there to
proper values.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-10-26 10:56:49 +02:00
Franciszek Zdobylak
adda1e6531 dts: arm: nxp: Move includes to proper place
The header file defines macros that are not used in the boards dts but on
the SoC level. They should be include where they are used.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-10-26 10:56:49 +02:00
Filip Kokosinski
972e3bce0f MAINTAINERS: add dts/riscv to the RISCV arch area of maintenance
This commit adds the `dts/riscv` directory to the `RISCV arch` area of
maintenance. Right now, RISC-V devicetrees are covered only by
platform-specific areas (Espressif, ITE). When other RISC-V platform
devicetrees are affected in a PR, it is left unassigned.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-10-26 10:56:27 +02:00
Carles Cufi
03a7dfbaa8 tests: Remove stray uses of CONFIG_ZTEST_NEW_API
Commit 345735d0a8 removed all uses of the
now obsolete CONFIG_ZTEST_NEW_API Kconfig option. A couple of stray ones
are still remaining in the tree, remove them.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-26 10:55:38 +02:00
Bartosz Bilas
66f5fce68f drivers: mfd: gpio: adjust init priority
Take into account the SPI bus init priorirty
that can be used for MFD drivers.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-10-26 09:50:31 +02:00
Henrik Brix Andersen
6c5400d2e1 drivers: can: be consistent in filter_id checks when removing rx filters
Change the CAN controller driver implementations for the
can_remove_rx_filter() API call to be consistent in their validation of the
supplied filter_id.

Fixes: #64398

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-26 09:49:51 +02:00
Erwan Gouriou
88de0d15a6 samples: stm32: pm_ble: Enable DEBUG when run with twister
Make sure DEBUG is enabled if this test is run in CI.

Also re-instantiate CONFIG_PM=y which was abusively removed in a previous
change.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-26 09:49:42 +02:00
Erwan Gouriou
54fa6f30b8 soc: stm32: Enable Debug in stop mode when ZTEST is used
Force STM32_ENABLE_DEBUG_SLEEP_STOP option when running tests.
This option enables Debug in Sleep/stop states and disables it when
disabled (default state).

When disabled, it may be impossible to flash the device with runner
such as openocd. It's generally working using cubeprogrammer, but it might
fail as well with fault configuration.

Instead of fixing each test or breaking CI each time a new test is created
with CONFIG_PM=y, force this option to be enabled when ZTEST=y (as it was
already the case when DEBUG=y).

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-26 09:49:42 +02:00
Jamie McCrae
b3f3d90262 drivers: regulator: fixed/gpio: Add non-multithreading support
Adds support for using the fixed and GPIO regulator drivers when
multithreading is disabled, such as in MCUboot.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-26 09:49:35 +02:00
Juha Ylinen
8b1a7f88dd tests: coap_client: Add test case for resending request
Add case 'test_resend_request' to test that coap_client resends
the message if no response received.
Add response code check to case 'test_no_response'.
Initialize messages_needing_response[] in test setup.
Lower CONFIG_COAP_INIT_ACK_TIMEOUT_MS and decrease delays.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-10-26 09:49:29 +02:00
Kevin Wang
f2a1038dd2 boards: riscv: adp_xc7k_ae350: doc: index.rst
Update the supporting driver for adp_xc7k_ae350.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2023-10-26 09:49:19 +02:00
Marcin Niestroj
de5e2cc5a2 boards: nucleo_wl55jc: add ST Morpho connector nexus node
Add a new GPIO nexus node for the ST Morpho connector in the board.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-10-26 09:49:06 +02:00
Emil Gydesen
6aea1864c1 Bluetooth: ISO: Minor fixes for ISO shell
If CONFIG_BT_ISO_TEST_PARAMS=y then the CIG and BIG
create params was not properly initialized.

Modified the TX for BIS and CIS to be more similar

Added a timeout on the buffer to avoid any potentional
deadlocks.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-26 09:48:54 +02:00
Jukka Rissanen
83c875adab hostap: Move the relevant config options away from hostap
Moving the Zephyr specific config options from
modules/hostap/Kconfig to corresponding Kconfig where the
option is specified.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-26 09:48:47 +02:00
Sridhar Nuvusetty
ab5821a8c8 hostap: Add build support for Zephyr
Only adds basic build support using Zephyr. Crypto support is disabled
till the MbedTLS integration is complete.

Signed-off-by: Sridhar Nuvusetty <sridhar.nuvusetty@nordicsemi.no>
Signed-off-by: Sachin Kulkarni <sachin.kulkarni@nordicsemi.no>
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Signed-off-by: Krishna T <krishna.t@nordicsemi.no>
2023-10-26 09:48:47 +02:00
Jukka Rissanen
f9035a24fc manifest: Add hostap module
Add new hostap module that will support Wi-Fi supplicant
functionality.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-26 09:48:47 +02:00
Henrik Brix Andersen
7579eadaaf modules: canopennode: make the CANopenNode module optional
Make the CANopenNode module, which provides a CANopen protocol
implementation, optional.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-26 09:48:26 +02:00
Jilay Pandya
ba8240802b sensors: tests: adi: add tests for adltc2990
This commit adds tests for various configurations of adltc2990

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2023-10-26 09:47:58 +02:00
Jilay Pandya
9681a2abca sensors: bugfix: adi: minor bugfixes in adltc2990
This commit fixes minor bugs in adltc2990 sensor

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2023-10-26 09:47:58 +02:00
Jilay Pandya
0804466b32 sensors: refactor: adi: refactor adltc2990
This commit refactors adltc2990 sensor without any functional change

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2023-10-26 09:47:58 +02:00
Jilay Pandya
316c617f2c sensors: emul: adi: add ltc2990 emulator
This commit adds emulator for adi_ltc2990

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2023-10-26 09:47:58 +02:00
Marc Desvaux
72aee4b90b drivers: clock_control: stm32: add an option to enable CRS for HSI48
for nucleo_stm32g0b1 board.
the HSI48 clock is the clock used by default for the USB controller,
however its default tolerance is not enough for the USB specification,
leading to some random errors depending on many factors, including the
upstream HUB or host.

this commit adds an option in the device tree to enable the STM32 Clock
recovery system (CRS) using USB SOF packet reception as a reference,
which brings the HSI48 within the required accuracy for USB transfers.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-10-26 09:47:48 +02:00
Ederson de Souza
a1920f25f7 tests/drivers/gpio/gpio_basic_api: Add tests for configuration glitches
Add a few tests that expect at most one interrupt being triggered when
configuring a GPIO output in two scenarios:

    1. From just after booting
    2. After another configuration of the same values

Due 1., this patch adds the tests to run before any other tests in the
gpio_basic_api test suite.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-10-26 09:47:30 +02:00
Ederson de Souza
2a310e86e1 drivers/gpio: Make MCHP XEC pin configure closer to XEC V2
To avoid glitches when configuring GPIO output, make logic closer to
that of V2 after 79ee5a876f.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-10-26 09:47:30 +02:00
Ioannis Karachalios
112c395d45 dts: renesas: smartbond: Support crypto peripheral
Update DTS and board configurations to support the crypto engine.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-10-26 09:47:23 +02:00
Ioannis Karachalios
6f6066cdf1 drivers: crypto: smartbond: Support crypto accelerator
Add support for the crypto engine.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-10-26 09:47:23 +02:00
Ioannis Karachalios
40620e1ce4 west.yml: Update hal_renesas revision
Adds new HAL to be used by existing and upcoming drivers.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-10-26 09:47:23 +02:00
Jordan Yates
7aae40e844 doc: build: kconfig: document configdefault
Document the new `configdefault` Kconfig extension.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-26 09:47:06 +02:00
Jordan Yates
ee1acd8ae5 doc: build: kconfig: expand on multiple symbols
Convert the warning about multiple symbol definitions to a dedicated
section. This allows the warning to be restricted to the information
that is non-intuitive, with a note for actions that should be taken
when working with multiple definitions.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-26 09:47:06 +02:00
Jordan Yates
cea39d4383 tests: kconfig: test configdefault extension
Test the behaviour of the `configdefault` kconfig extension.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-26 09:47:06 +02:00
Jordan Yates
79e467c92a scripts: kconfig: kconfiglib: introduce configdefault
Introduce the `configdefault` keyword as a Kconfig extension. This new
keyword allows `default` values to be applied to externally defined
symbols without needing to respecify dependencies, or weakening the
existing dependencies.

This is primarily useful in downstream repositories that wish to define
default configurations such as:
```
config MY_COMPANY_APPS
    bool "Apply defaults for internal applications"

configdefault BT
    default y if MY_COMPANY_APPS
configdefault MCUMGR
    default y if MY_COMPANY_APPS && BT
```

Obtaining the same functionality with `config` (without weakening the
symbol dependencies) requires finding the original definition and
duplicating any `depends on` and surrounding `if` statements. This is a
non-trivial exercise that needs to be manually rechecked on each Zephyr
update.

`configdefault` simplifies this process by acting as if the `default`
statement was present at any one of the original definitions of the
symbol.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-26 09:47:06 +02:00
Jordan Yates
c8df08d681 scripts: kconfig: kconfiglib: cleanup pylint errors
Cleanup pylint errors that otherwise cause future commits to fail.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-26 09:47:06 +02:00
Henrik Brix Andersen
9b851b2ab8 ci: test using Python 3.12 as well
Run CI tests against Python v3.12 as well.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-26 07:17:10 +02:00
Henrik Brix Andersen
bf598848b1 scripts: west: commands: tests: dfu_util: fix test under Python 3.12
Use "call_args_list" from unittest.mock instead of "called_with" for
verifying the arguments supplied to the dfu-util west runner.

This aligns the assert with the rest of the test case and fixes the
dfu-util west runner test when running under Python 3.12.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-26 07:17:10 +02:00
Daniel Leung
4201978f34 manifest: sof: update to commit e7cb489d4
This updates SOF modules to commit
e7cb489d430dc2181e4a5f7f953ed1eaeec6668d. This includes
a change where rimage is pulled into the tree and is no
longer a submodule. So update the rimage config path so
signing still works.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-25 21:44:14 -04:00
Daniel Leung
3be5732a68 west: sign/rimage: skip extended manifest when !SOF
Non-SOF build does not have extended manifest data for
rimage to process, which might result in rimage error.
So do not do extended manifest during signing when not
doing SOF builds.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-25 21:44:14 -04:00
Fabio Baltieri
73d5ecc0c5 scripts: check_init_priorities: drop recursive child parsing
Now that child nodes are handled by edtlib there's no need to parse
child nodes in check_init_priorities anymore.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-25 18:39:31 -07:00
Fabio Baltieri
403640b75e edtlib: link child nodes to parent for nodes with child-bindings
The current EDT graph logic only use properties directly under a
specific node to add dependencies. For nodes properties in
child-bindings, this means that the child phandles are only linked by
the child node itself, which does have an ordinal but no corresponding
"sturct device" in the code, causing those dependencies to be silently
ignored by gen_handles.py.

Fix that by adding the recursive logic to visit child bindings when
present, which causes all child node property handles to be linked to
the parent node.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-25 18:39:31 -07:00
Fabio Baltieri
55ae726797 dts: psoc6: move pinctrl subdevices up a node
Refactor the pinctrl nodes slightly so that the port devices are not
child of the main pinctrl node. This is because the pinctrl node is
being used as parent for pinctrl setting nodes itself, and having the
port nodes as child end up creating a circular depdency with the edt
child enumeration patch.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-25 18:39:31 -07:00
Fabio Baltieri
bd5ea8d552 dts: ite: move pinctrl subdevices up a node
Refactor the pinctrl nodes slightly so that the port devices are not
child of the main pinctrl node. This is because the pinctrl node is
being used as parent for pinctrl setting nodes itself, and having the
port nodes as child end up creating a circular depdency with the edt
child enumeration patch.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-25 18:39:31 -07:00
Andreas Sandberg
b41853127f samples: usb_c: Rename port1 to port0 for consistency
Aliases, including usbc_port0, start counting from zero. This meant
that the DT alias is inconsistent with the port numbering in the
samples. Change the numbering scheme to start from zero to make this
consistent.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-10-25 18:37:53 -07:00
Andreas Sandberg
d36e42c975 usbc: Use a DT alias to identify USB-C port
Samples sometimes need to identify a default USB-C port. Instead of
hard-coding a node label, use the usbc-port0 alias to point to the
correct node.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-10-25 18:37:53 -07:00
Ali Hozhabri
154023f754 drivers: spi: update drivers that were using spi cpol and cpha
Modified files (yaml, dts, overlay, and c) which were using spi-cpol
and spi-cpha to be compatible with the new structure.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-10-25 18:30:28 -07:00
Ali Hozhabri
e2c0cb979f include: zephyr: drivers: modify SPI_CONFIG_DT to add CPOL, CPHA, HOLD_CS
Modify SPI_CONFIG_DT macro to config SPI clock polarity (CPOL),
clock phase (CPHA), and hold-cs.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-10-25 18:30:28 -07:00
Ali Hozhabri
eb2f5ceb19 dts: bindings: spi: add support to set CPOL, CPHA, and HOLD_CS in dts file
Add support to set SPI clock polarity (CPOL), clock phase (CPHA), and
hold-on-cs in a dts file to get rid of using related macros in spi.c driver
since each board may work on a different SPI mode rather than the default
one (based on CPOL and CPHA).

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2023-10-25 18:30:28 -07:00
Manuel Argüelles
339cd5a45f s32z270dc2_r52: make nxp_s32dbg the default runner
Make NXP S32 Debug Probe runner the default on this board and keep
Lauterbach TRACE32 runner as an alternative.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-25 18:14:51 -07:00
Manuel Argüelles
a7bda08960 nxp: s32ze: take exceptions in Arm mode
Cortex-R52 supports both Arm and Thumb-2 mode, but Zephyr's ASM
code for Armv-8 Aarch32 is written for Arm mode only. This Soc
has a general purpose register that can set the core TEINIT signal
to change the mode exceptions are taken before booting up the core.
The debugger startup scripts or firmware booting up the core may
configure this bit to Thumb mode, as is the case of the NXP S32 debug
probe startup scripts for S32ZE.

Due to above reason, clear SCTLR.TE bit at reset so that TEINIT value
is ignored and exceptions are always taken into Arm mode, compatible
with current Zephyr ASM code. At least until taking execeptions in Thumb
mode is supported in Zephyr.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-25 18:14:51 -07:00
Manuel Argüelles
006a650690 doc: flash_debug: add NXP S32 debug probe docs
Document needed steps to download, install and setup the debug host
tools for NXP S32 Debug Probe.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-25 18:14:51 -07:00
Manuel Argüelles
52e9671fa8 west: add tests for NXP S32 Debug Probe
Add minimal set of tests to verify behavior of supported commands.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-25 18:14:51 -07:00
Manuel Argüelles
e938a5a31a west: add NXP S32 Debug Probe runner
The NXP S32 Debug Probe is a JTAG-based probe that enables debugging on
NXP S32 devices. This probe is designed to work in conjunction with NXP
S32 Design Studio and this runner offers a wrapper to launch a debug
session from cli.

`flash` command is not implemented at the moment because presently there
are no zephyr boards that can make use of it and test it.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-25 18:14:51 -07:00
Manuel Argüelles
1bc53ff84d west: core: allow to pass keywords args to server and client
Allow the runners to pass extra keywords arguments to both the server
and client subprocesses calls, as can be useful for instance to set
a specific execution environment.
ZephyrBinaryRunner.check_call() already supports passing kwargs to
the inner subprocess call but this is currently not possible when
starting server/client processes. So pass through the kwargs to each of
the client/server subprocess calls.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-25 18:14:51 -07:00
Manuel Argüelles
c35d024b8d west: core: add search path argument to require()
Allow the runners to override the default search path, e.g. when
provided through command line. The default is to search for the program
binary on the system PATH.

This is useful when the runner allows to optionally override the search
path of the tool, in the case there are multiple versions or
installations, and not necessarily the tools path are present in the
system PATH environment variable. For example:
`tool = self.require(tool_name, path=args.tool_path_override)`

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-25 18:14:51 -07:00
Peter Mitsis
467ce89458 cmsis: resolve undefined reference to k_calloc()
When no heap has been configured, osMessageQueueNew() will no
longer include a call to k_calloc() (which needs the heap).
In such a configuration, if osMessageQueueNew() indicates that
the buffer must be allocated, it will fail and return NULL.

Fixes #61196

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-25 19:54:13 +02:00
Georgij Cernysiov
e364f29bff drivers: ethernet: fix adin set_config
Corrects set_config to allow MAC config
at runtime.

* Add missing device lock
* Use correct mac argument

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2023-10-25 17:36:37 +02:00
Seppo Takalo
cf513451eb net: lwm2m: Keep user_data between blocks
CoAP reply structure user_data should be kept between
ongoing blocks, so that callbacks for LwM2M send continue
to work on blockwise transfers.

Fixes #64290

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-25 17:36:30 +02:00
Emil Gydesen
34058146a5 Bluetooth: BAP: Shell: Remove unused variable stream_frame_duration_us
The variable was unsused and caused compiler warnings.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-25 17:36:22 +02:00
Michael Arnold
973e226bfd arch: Enable ramfunc feature on RISC-V PRIVILEGE SOC family
Allow to place functions in ram.

Signed-off-by: Michael Arnold <marnold@baumer.com>
2023-10-25 17:35:07 +02:00
Michael Arnold
9e4a403d21 tests: arch: Make ramfunc test generic and enable test for riscv arch
The ramfunc test can be reused for multiple architectures.

Signed-off-by: Michael Arnold <marnold@baumer.com>
2023-10-25 17:35:07 +02:00
Michael Arnold
f67c11cb2a tests: arch: Move ramfunc test from arm specific to common
The feature ramfunc is generic and can be
reused for other architectures.

Signed-off-by: Michael Arnold <marnold@baumer.com>
2023-10-25 17:35:07 +02:00
Michael Arnold
aa08d5cc5c arch: Enable ramfunc support for other arch than arm
long_call is not supported on risc-v.
Enable long_call only on supported arm architecture.

Signed-off-by: Michael Arnold <marnold@baumer.com>
2023-10-25 17:35:07 +02:00
Francois Ramu
40a0d3c1a2 boards: stm32 boards with LPTIM node has CONFIG_STM32_LPTIM_CLOCK defined
Define the CONFIG_STM32_LPTIM_CLOCK_LSE when the board DTS
has STM32_SRC_LSE has lptim clock source.
CONFIG_STM32_LPTIM_CLOCK_LSI is defined by default.
The CONFIG_SYS_CLOCK_TICKS_PER_SEC is set by soc/arm/st_stm32/common/
Kconfig.defconfig.series.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-10-25 17:34:09 +02:00
Ben Marsh
3d4208d191 boards/arm/stm32h735g_disco: Enable L2 Ethernet
The stm32h735g_disco board support Ethernet but the L2 Ethernet driver
was not being enabled.

The L2 Ethernet driver is now enabled along with Networking.

Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
2023-10-25 17:34:02 +02:00
Erwan Gouriou
c2715b1fa5 drivers: i2c: stm32: Don't abuse of pm_device_runtime_get/put
In driver runtime configuration function, calling
calling pm_device_runtime_get/put() will have the effect of performing
pinctrl change from sleep to default and back from default to sleep
which is useless and in turn enables and disables GPIO clocks two times.

Stop this crazyness and purely enable/disable clock, which might be
superfluous in some cases but which remains much more reasonable than
than the previous implementation.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-25 17:33:56 +02:00
Erwan Gouriou
b6fa34f1d3 drivers: i2c: stm32: Simplify device init
pm_device_runtime_enable() will call i2c_stm32_suspend() if
pm_device_init_suspended() isn't called.
Since the aim is to perform suspension, just need to call
pm_device_runtime_enable().

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-25 17:33:56 +02:00
Erwan Gouriou
85fb82e1d6 drivers: stm32: Don't use pm_device_busy for configure
During i2c_configure API execution, there is no way core
can go in low power mode. Hence, call to pm_device_busy_set/get API
is useless.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-25 17:33:56 +02:00
Erwan Gouriou
b9b3e91dba boards: nucleo_wba52cg: Enable flash and debug using OpenOCD
OpenOCD can now be used to flash and debug nucleo_wba52cg.
However, today, it requires use of recent upstream OpenOCD.
Add instructions on how to proceed.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-25 17:33:49 +02:00
Martin Kiepfer
82b1df21cf shields: Add support for M5Stack-Core2 base shield.
M5Stack-Core2 comes with a base shield that is connected to the M5Stack
extention connector. It features a MPU6886 6-axis motion tracker
and a SPM1423 microphone.

Signed-off-by: Martin Kiepfer <m.kiepfer@teleschirm.org>
2023-10-25 17:33:35 +02:00
Martin Kiepfer
aef1611e1f sensors: mpu6050: Add support for variant mpu6886
This commit adds support for mpu6886, which has compatible register
layout.

Signed-off-by: Martin Kiepfer <m.kiepfer@teleschirm.org>
2023-10-25 17:33:35 +02:00
Martin Kiepfer
bc5f78d9ba boards: m5stack_core2: Add support for mbus connector
This commit adds basic support for the mbus connection port to
m5stack_core2 board.

Signed-off-by: Martin Kiepfer <m.kiepfer@teleschirm.org>
2023-10-25 17:33:35 +02:00
Martin Kiepfer
a169f581d3 gpios: shields: Add definition for M5Stack M-Bus port
This commit adds basic support for m5stacks M-Bus extenions port that is
support my core and core2 module.

Signed-off-by: Martin Kiepfer <m.kiepfer@teleschirm.org>
2023-10-25 17:33:35 +02:00
Aleksandr Senin
d8b153e00f drivers: eth: eth_stm32_hal: Add DSA support
This commit adds DSA functionality support to the Ethernet driver
for the STM32 SoC.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2023-10-25 09:55:42 -05:00
Martin Åberg
fd4e66499c SPARC: Update the Flush windows software trap
This commit re-implements the SPARC V8 ABI "Flush windows" software
trap. The trap is generated by C++ compilers for exceptions and also by
the C standard library function longjmp().

There were two issues with the previous implementation:
1. It did reads and writes via the stack pointer of the trap window,
   which is not defined.
2. It executed with traps enabled but without the processor run-time
   state set to safely handle traps. In particular there was no valid
   stack for trap processing. Even though interrupt priority was set to
   highest level, the behavior at other traps was not deterministic. For
   example non-maskable interrupt (15) trap or bus error trap for
   instruction fetch.

This new implementation does not store backup copies of CPU registers to
the stack, and it executes with traps disabled.

Fixes #63901

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-25 09:54:31 -05:00
Alberto Escolar Piedras
3f1eed17f8 nrf53_bsim: Get IPC shared memory buffer size from DT
Before we were defining the buffer in the runner context
which is simpler and less error prone, but it had a hardcoded
size decoupled from DT as it could not be based on DT
information.
Instead, let's allocate the buffer in the application core
image. This allows us to size it based on the device tree
configuration.
Note that this then requires the application core image
to be present during link time of the final executable
when the IPC subsystem is used.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 17:31:59 +03:00
Alberto Escolar Piedras
adf9e4000f samples ipc static_vrings: Convert to sysbuild
Convert this sample application build to sysbuild.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 17:31:27 +03:00
Alberto Escolar Piedras
19cc0fe099 samples ipc icmsg: Convert to sysbuild
Convert this sample application build to sysbuild.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 17:31:27 +03:00
Alberto Escolar Piedras
433f47ee57 samples ipc icmsg_me: Convert to sysbuild
Convert this sample application build to sysbuild.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 17:31:27 +03:00
Dmitry Lukyantsev
357d6cec45 boards: Add support for the NXP MIMXRT595 DSP core
Add board and soc files for the NXP MIMXRT595 DSP core.

Signed-off-by: Dmitry Lukyantsev <dmitrylu@google.com>
2023-10-25 09:55:10 -04:00
Dmitry Lukyantsev
0ae68a3857 soc: nxp_adsp: Refactor imx8/imx8m Kconfig
In preparation for RT500 ADSP enablement, consolidate common Xtensa
configuration parameters in top level Kconfig.defconfig.

Signed-off-by: Dmitry Lukyantsev <dmitrylu@google.com>
2023-10-25 09:55:10 -04:00
Anders Storrø
d4037ce6a1 Bluetooth: Mesh: Correct pack of net idx hb_status
Ensures correct packing of net idx in Heartbeat Publication Status
messages on the Configuration Server.

Reference to net idx packing format: MshPRTv1.1 section 4.3.1.1

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-25 14:50:22 +02:00
Anders Storrø
05774c5d76 Bluetooth: Mesh: Fix unpacking of hb_pub status
Fixes incorrect unpacking of Heartbeat Publication status
messages on the Configuration client.

Reference to packing format: MshPRTv1.1 section 4.3.2.63

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-25 14:50:22 +02:00
Anders Storrø
46d9c97991 Bluetooth: Mesh: HB pub status for unassigned addr
Fixes issue where Heartbeat Publication Status message sends
garbage data when destination field is set to the unassigned address.

MshPRTv1.1, section 4.4.1.2.15:
"When the Destination field is set to the unassigned address, the values
of the CountLog, PeriodLog, TTL, and Features fields shall be set to
0x00 and NetKeyIndex field shall be set to 0x0000."

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-25 14:50:22 +02:00
Anders Storrø
c51bb9c13b Bluetooth: Mesh: Update spec ref 1.0.1->1.1
Updates Bluetooth mesh specification references:

- Change "Profile" to "Protocol" since the main specification has
changed its name.
- Update/align formating of specification references. This will
make it easier to find spec references in the future.
- Change some section references to point to the correct section of the
newest version of the specification (v1.1).

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-25 14:50:14 +02:00
Alberto Escolar Piedras
587c43a602 tests/posix/common: Fix filtering for POSIX arch
All these tests where filtered for the whole POSIX
architecture, but quite a few of them can be run in
native_sim.
So let's filter out native_posix(_64) in general,
(allowing other native simulator based targes),
and filter for thsi arch out explicitly the 2 tests
which need NEWLIB as this arch does not provide it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 07:44:12 -04:00
Alberto Escolar Piedras
32ea1566db tests/posix/fs: Improve filtering around posix arch
These tests cannot be run on the native_posix(_64) targets,
so let's filter them explicitly. Before they were filtered
due to the "filter", but using platform_exclude is faster.

Also the tests that depend on newlib cannot be run
in this architecture at all, so let's filter them by
architecture too.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 07:44:12 -04:00
Alberto Escolar Piedras
a2d1e979ef tests posix timer: Fix timer check
The timer check does not work properly for platforms
which have a system tick timer with a period that
does not properly divide the configured time interval.

In those, depending on when the timer is started and
stopped, one signal less may be received.

This is for example the case for nrf5x platforms,
where the system tick timer is driven by a 32.768KHz
clock.

=> Correct the test, to accept receiving 1 signal
too little during the wait.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 07:44:12 -04:00
Joakim Andersson
dc431a7397 boards: Fix nrf9160 NS flash partition layout
Fix secure and non-secure images overlapping because of incompatible
flash layout configurations.

Align the board configurations to match the nRF9160 DK default
partition layout.

This enforces that the SPU alignment requirement is satisfied for
the nrf9160 MCU.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-25 11:22:06 +02:00
Alberto Escolar Piedras
572491ab95 Revert "modules: tinycrypt: Options only when module is available"
This reverts commit 713ca15224.

This change broken several BT unit tests breaking CI in the main
branch. Let's revert it.

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/64344

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 11:04:43 +02:00
Henrik Brix Andersen
9a7671e521 ci: test using Python 3.11 as well
Run CI tests against Python v3.11 as well.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-25 10:06:01 +02:00
Peter Mitsis
9f7244ee04 tests: obj_core: Increase stack sizes
Increase the size of the thread stacks used by the obj_core tests
by CONFIG_TEST_EXTRA_STACK_SIZE bytes. This is useful to prevent
stack overflow/corruption when options such such as
    "--coverage --gcov-tool gcov"
are applied to twister runs.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-25 10:05:52 +02:00
romain pelletant
efebb1841f modem_chat: fix hard fault on script stop
Fix fault on modem_cellular disconnection/reconnection
Issue #64291

Signed-off-by: romain pelletant <romainp@kickmaker.net>
2023-10-25 10:05:45 +02:00
Jamie McCrae
f2b3a5ea3a samples: mgmt: mcumgr: smp_svr: Fix start if USB already init
Fixes an issue whereby the application init will stall if USB init
failed if it's already been setup, this is likely due to USB CDC
being enabled in which case the failure can be ignored

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-25 10:05:37 +02:00
Rick Tsao
7c25a7562b riscv: pmp: Fix assertion for PMP misaligned start address and size
Fix assertion to check whether the start address and size align with
PMP granularity.

Signed-off-by: Rick Tsao <rick592@andestech.com>
2023-10-25 10:05:24 +02:00
ingram weeks
6b739a7684 doc: README added to lora send sample
README added to lora send sample

Signed-off-by: ingram weeks <ingram.weeks@gmail.com>
2023-10-25 10:05:17 +02:00
Alberto Escolar Piedras
c83c8df26a tests/lib/time: Fix for posix architecture
* Select always PICOLIBC. This is anyhow the default for all
  but the posix architecture. And for the posix architecture
  we need it as POSIX_CLOCK does not work with the host C
  library.
* Fix the testcase filtering. This sample works fine
  in native_sim (when not using the host libC),
  but does not work for native_posix(_64), as those can
  only be built with the host libC, and in that case,
  the POSIX_CLOCK provided functions will not be properly
  linked to.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 09:58:07 +02:00
Alberto Escolar Piedras
f8c202ec1c lib/posix clock: Add missing kconfig dependency
POSIX clock cannot be used with the host libC
when building with the POSIX architecture.
Let's ensure it via kconfig.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 09:58:07 +02:00
Alberto Escolar Piedras
7159522597 samples posix uname: Fix sample yaml filtering
The sample was at the same time filtered for the whole
posix architecture and had native_posix as its integration platform.
This is selfcontradictory.

In any case, this sample cannot run in native_posix but
can run in native_sim.
So let's fix the filtering.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 09:57:58 +02:00
Sylvio Alves
c179f17836 samples: boards: esp32: add memory-mapped sample code
This sample shows how to use flash_mmap() call to enable custom flash
area to be mapped into data region.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-10-25 09:57:48 +02:00
Sylvio Alves
3f5ea785f2 linker: esp32: fix linker to enable proper MMU usage
ESP32 flash_mmap() function requires `_rodata_reserved_start` address
to be at the beginning of RODATA. This allows adding memory-mapped flash
areas.

Fixes #52764

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-10-25 09:57:48 +02:00
Jason Murphy
38f8a4db28 drivers: ethernet: fix adin2111 devicetree init to work with adin1110
The initialisation of the device data struct was giving a build error
when using the adi,adin1110 devicetree compatible.
Fixed to allow both adi,adin2111 and adi,adin1110 devices to
be defined.

Signed-off-by: Jason Murphy <jason.murphy@analog.com>
2023-10-25 09:57:37 +02:00
Yong Cong Sin
0e2f5c2dbb shell: print name and prompt when listing backends
The shell name defined with `SHELL_DEFINE` is implicitly
guaranteed to be unique while it is possible that more than one
shell backends can have the same prompt.

Print the name of the shell backend alongside with its prompt
to differentiate between the backends.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-25 09:57:29 +02:00
Yong Cong Sin
a068288091 shell: add new APIs to get the backend instances
Added some new APIs to get the backend instances more easily,
so that dev does not need to rely on `shell_backend_*_get_ptr`,
which looks more like a hack to access a local variable.

These APIs are basically copied from the log backend
implementation.

Added testcase for the APIs.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-25 09:57:29 +02:00
Yong Cong Sin
dd154406ba shell: make the backend thread name variable generic
Rename the shell backend `thread_name` variable to just `name`,
to be used for other things not specific to thread later.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-25 09:57:29 +02:00
Piotr Kosycarz
8c5a15aac4 scripts: twister: get status of coverage data processing
Do not break processing when incorrect coverage data are received.
Instead, report failures but still process valid data.

Include coverage processing status within twister retrun code.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2023-10-25 09:57:15 +02:00
Piotr Kosycarz
861cab4a2a scripts: twister: extend test timeout to get gcov data
When coverage is enabled, gather console logs longer
to receive gcov data which are send after test output.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2023-10-25 09:57:15 +02:00
Piotr Kosycarz
bc8b7dd6dd testsuite: coverage: allow gcov data dump directly on console
When there is no buffer for gcov hex data,
dump them directly to console.
This saves RAM which can be used to hold more gcov data.

Reduce number of gcov hex data send by console -
do not send space between every two digits.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2023-10-25 09:57:15 +02:00
Antoniu Miclaus
b5bc088529 tests: build_all: sensor: i2c: add adxl367
Add adxl367 i2c node in the build_all tests.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-10-25 09:57:02 +02:00
Antoniu Miclaus
cecfb3e120 tests: build_all: sensor: spi: add adxl367
Add adxl367 spi node in the build_all tests.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-10-25 09:57:02 +02:00
Antoniu Miclaus
89be1e948d drivers: adxl367: add support
Add driver support for adxl367 accelerometer.

The ADXL367 is an ultralow power, 3-axis microelectromechanical
systems (MEMS) accelerometer that consumes only 0.89 μA at
a 100 Hz output data rate and 180 nA when in motion-triggered
wake-up mode. Unlike accelerometers that use power duty cycling
to achieve low power consumption, the ADXL367 does not alias
input signals by undersampling, but samples the full bandwidth of
the sensor at all data rates.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-10-25 09:57:02 +02:00
Antoniu Miclaus
a282f6a92b dts: bindings: add adxl367 support
Add bindings for the adxl367 accelerometer.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-10-25 09:57:02 +02:00
Keith Packard
1e5c46df3d samples: Switch from NEWLIB_LIBC to REQUIRES_FULL_LIBC
Instead of forcing use of NEWLIB_LIBC, select any available complete C
library implementation. Add CONFIG_REQUIRES_FLOAT_PRINTF and adjust
CONFIG_LIBC_MALLOC_ARENA_SIZE as needed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-25 08:32:06 +02:00
Keith Packard
565c9376f1 tests: Switch from NEWLIB_LIBC to REQUIRES_FULL_LIBC
Instead of forcing use of NEWLIB_LIBC, select any available complete C
library implementation. Add CONFIG_REQUIRES_FLOAT_PRINTF where needed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-25 08:32:06 +02:00
Keith Packard
be4b76fea2 Kconfig.zephyr: Add NATIVE_LIBC and NATIVE_LIBCPP
These are set when building against the host C or C++ libraries. This
allows filtering tests that require use of a C library that sits atop
Zephyr OS APIs.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-25 08:32:06 +02:00
Keith Packard
1e40199c8d libc: Add REQUIRES_FLOAT_PRINTF to indirectly set printf support
Instead of making applications use C library specific settings to enable
floating point support in printf, provide this indirect symbol which then
detects which C library is in use and selects the correct configuration for
each.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-25 08:32:06 +02:00
Daniel Leung
88b05b3b91 kernel: disable THREAD_USERSPACE_LOCAL_DATA if LIBC_ERRNO
Thread userspace local data is to be used with storing errno per
thread without thread local storage support. However, if the C
library has native errno support, there is no need to enable
thread userspace local data to store errno per thread. Therefore,
amend the default for CONFIG_THREAD_USERSPACE_LOCAL_DATA so that
it is not enabled if the C library has native errno support.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-24 20:23:11 -04:00
Flavio Ceolin
27dedec4cc doc: release: 3.5: Add info about CVE-2023-5753
Update 3.5 release notes with published CVE

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 23:49:59 +02:00
Flavio Ceolin
31a92fc5e3 doc: vuln: Add information about CVE-2023-5753
Information about CVE-2023-5753

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 23:49:59 +02:00
Laurentiu Mihalcea
4974bc0137 linker: common-rom: Keep z_shared_isr regardless of dynamic interrupts
Currently, the z_shared_isr symbol is only kept if
CONFIG_DYNAMIC_INTERRUPTS=n. Whenever CONFG_DYNAMIC_INTERRUPTS
is set to 'y', said symbol gets dropped when zephyr_pre0.elf
is created. This is wrong because dropping/keeping z_shared_isr
shouldn't be influenced by enabling/disabling support for the
dynamic interrupts.

This commit fixes the aforementioned issue by removing the
dependency on CONFIG_DYNAMIC_INTERRUPTS.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-10-24 17:00:55 +02:00
cyliang tw
b59810650d drivers: can: support for Nuvoton numaker series
Add Nuvoton numaker series can-fd controller based on mcan.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2023-10-24 09:31:47 -05:00
Bjarki Arge Andreasen
b4f3150592 modem: cmux: Optimize log message to save ROM
This commit reuses the string "Unknown %s frame type" for two
log messages, as suggested by ycsin.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 14:31:38 +01:00
Bjarki Arge Andreasen
ee44357cfb modem: modem_cellular: Reset receive state on attach
This commit resets the state of the CMUX receive state
machine when the CMUX instance is attached to a pipe.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 14:31:38 +01:00
Bjarki Arge Andreasen
b495fda6a1 modem: modem_cmux: Improve logging
This commit adds logging for CMUX frames and commands and
their data, for both transmit and receive. It also removes
the superseded LOG_DBG() lines like "Received frame".

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 14:31:38 +01:00
Bjarki Arge Andreasen
0f38136431 modem: modem_cmux: Clear DLCI pipes on open
This commit resets the receive ring buffer for each DLCI
pipe when they are opened. They may have old data stored
from last time they where opened.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 14:31:38 +01:00
Bjarki Arge Andreasen
92ad351e2a modem: modem_cmux: Use k_event_test instead of K_NO_WAIT
This commit replaces the k_event_wait calls using K_NO_WAIT
with k_event_test.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 14:31:38 +01:00
Bjarki Arge Andreasen
79e6c8411f modem: modem_cmux: Reset CMUX events on release
This commit resets the CMUX events to match the
initial value of disconnected.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 14:31:38 +01:00
Bjarki Arge Andreasen
7fe491c050 modem: modem_cmux: Make async connect/disconnect stateful
This commit adds a check to the async connect and disconnect
functions to validate the CMUX is not already connected
or disconnected respectively. This was already part of the
sync connect and disconnect functions, so the sync functions
now simply wrap the async functions to avoid duplicate code.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 14:31:38 +01:00
Alberto Escolar Piedras
7ea95b0071 nrf5x_bsim: Add support for IPC/OpenAMP and split BT stack
For the 5340 simulated boards:
* Now that the HW models include the IPC and MUTEX peripherals
  we can enable them in DT.
* Also enable the DT mbox definition and allocate its shared memory
* Set the default kconfiguration for the HEAD, IPC, MBOX and split
  BT stack as in the equivalent real targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 15:26:10 +02:00
Alberto Escolar Piedras
f8e8083ab3 nrf53_bsim: Provide shared memory buffer for IPC rpmsg backend
Provide the actual shared memory buffer for the
IPC rpmsg backend in this platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 15:26:10 +02:00
Alberto Escolar Piedras
a042203117 manifest: Update libmetal to latest including POSIX arch support
Update libmetal to the latest version which includes
support for the POSIX architecture.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 15:26:10 +02:00
Alberto Escolar Piedras
214178ab4b manifest: Update nrf hw models to latest
* Update the HW models module to
f7842d717c73aaeb0354f9e70e6d5ad275106f52

Including the following:
* f7842d7 INT CNTLR: Bugfix for more than 32 interrupts
* 903f643 MUTEX: Add nrf5340 MUTEX peripheral model
* e84fca4 IPC: Add nrf5340 IPC peripheral model
* dacbaa0 EGU: Minor: Use new irq ctrl API
* 9a4e0ba Templates: Add intenset/clr template for multi instance per
* c77ba72 nrf_dppi_hack: Add extra nrf like APIs meant for simulation
* 99ae791 RTC: Fix subscribe prototypes and calls from HAL
* ca554e9 FICR (53): Fix links to documentation
* d3758a2 docs: Fix links to HW sources
* 693a36c doc: Implementation status: Change checkmarks

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 15:26:10 +02:00
Alberto Escolar Piedras
413a349264 nrf_bsim: Only connect once to Bsim Phy
Each MCU initialization hooks will attempt to call
into the API to connect to the bsim phy and, if the
user requested it thru command line, delay its boot.

Doing this for all MCUs is best to ensure it is done
even if there is no image for the other MCU,
but results in the calls being done twice if there is
2 MCUs images, which results in the simulator API giving
a warning about it being likely an error in the app.

To avoid this problem, let's have this be called
only once.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 15:26:10 +02:00
Vinayak Kariappa Chettimada
f64d123a3d Bluetooth: Controller: Fix missing ext adv terminate event
Fix missing Extended Advertising terminate event and
advertising scheduling not being stopped.

Under race conditions, auxiliary event is aborted without
the generation  of done extra event which is suppose to
stop the scheduling when max events count is used.

The fix now generates the done extra event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-24 15:12:18 +02:00
Vinayak Kariappa Chettimada
05c85ddbcf Bluetooth: Controller: Fix periodic advertising sync window
Fix periodic advertising sync window calculation to include
the scheduling resolution margin, i.e. be double as with
the event jitter value.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-24 15:12:18 +02:00
Mike J. Chen
01aa800464 drivers: mipi_dsi: dsi_mcux_2l add property to enable non-continuous hs clk
Allows device tree to enable usage of the controller feature
where HS clock is disabled when not in use, which is good
for reducing power consumption if MIPI DSI is mostly idle.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-24 11:37:41 +02:00
Mike J. Chen
4844d015a4 drivers: mipi_dsi: dsi_mcux_2l add msg flag for low power mode
Previous version of dsi_mcux_2l hardcoded some MIPI DSI
transfers to use high speed mode but others used low power mode.

Now dsi_mcux_2l will use high speed mode by default for all
transfers unless a new msg flag is set to indicate the
transfer must use low power mode. Note that the new flag
is different than the existing MIPI_DSI_MODE_LPM flag, which
so far only applied to cmd messages sent in video mode,
or could be interpreted as for all messages, but would not
allow per message mode control.

This new message flag allows client to control transfer
mode per message transfer.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-24 11:37:41 +02:00
Mike J. Chen
1e6866ed0b drivers: mipi_dsi: dsi_mcux_2l set SMARDMA slot from dev pixfmt
Previous version hardcoded the SMARTDMA slot to either
RGB565 or RGB565_SWAP, but that would be incorrect
if the pixfmt was RGB888. Use the mipi device
pixfmt to set the slot.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-10-24 11:37:41 +02:00
Bjarki Arge Andreasen
9b21d4d366 soc: sam: Add poweroff implementation
This commit adds an implementation of poweroff, which first
uses SUPC to enable all defined wakeup sources (except for
sam4l), followed by entering backup mode.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 11:35:43 +02:00
Bjarki Arge Andreasen
278d029f4f dts: soc: atmel: sam: Add SUPC component to soc dtsi
This commit adds the new SUPC devicetree instance to the
soc dtsi files.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 11:35:43 +02:00
Bjarki Arge Andreasen
312c8b1930 soc: sam: Add SUPC driver and dts model
This commit adds a driver and dts model for the ATMEL SAM
SUPC component.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-24 11:35:43 +02:00
Grzegorz Swiderski
12c8d11ee5 cmake: extra_flags: Use zephyr_get
This allows users to set `EXTRA_*FLAGS` variables when using sysbuild.

If these flags are provided in both local and global sysbuild scopes,
then only the local ones will be used for a given image. This is to
circumvent issues with mixing space-separated and `;`-separated lists.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-24 11:35:27 +02:00
Nikodem Kastelik
a4cbe9e9c6 soc: arm: nordic_nrf: align nrf_power calls to new scheme
Now the API to manage GPREGRET register is unified for all devices
having one or more GPREGRET entries.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-24 11:13:53 +02:00
Nikodem Kastelik
70db8cd12a modules: hal_nordic: nrfx: enable NRFX_GPIOTE1 for non-secure builds
Now it is needed to explicitly use NRF_GPIOTE1 instance
in nrfx_gpiote driver for non-secure builds.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-24 11:13:53 +02:00
Nikodem Kastelik
c0ff691a3c samples: boards: nrf: nrfx_prs: align to new nrfx_uarte struct member
One of the nrfx_uarte event structure members was renamed,
so the sample code has to be aligned.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-24 11:13:53 +02:00
Nikodem Kastelik
f3f2c113d1 soc: arm: nordic_nrf: nrf53: align nrf_regulators calls to new scheme
Now more generic regulators API is available.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-24 11:13:53 +02:00
Nikodem Kastelik
6a315a4b17 drivers: sensor: qdec_nrfx: Revert spurious samplerdy evt workaround
Underlying nrfx driver was modified so now it forwards the event
to the user callback only if it was enabled.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-24 11:13:53 +02:00
Nikodem Kastelik
f4fcc1dc4c manifest: tf-m: update revision to have atomics defined for nrfx port
Refactored nrfx_uarte driver uses atomic types internally,
so glue layer in TF-M needs to include them.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-24 11:13:53 +02:00
Nikodem Kastelik
ec978348c5 manifest: hal_nordic: Update hal_nordic revision
Pull in nrfx 3.2.0 release

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-24 11:13:53 +02:00
Jukka Rissanen
8a58104396 net: shell: Add net-sockets command
The new "net sockets" command will utilize the object core
support to track and show information about BSD sockets that
are created in the system. This command is able to show info
for all network sockets (native, offloaded etc) in the system.

Example of the output of the new command:

uart:~$ net sockets
 Creator  Name       Flags  FD   Lifetime (ms) Sent  Received

    main  af_inet46  6ST    0    3260          819   498
    main  af_inet46  4ST    1    2110          469   142
    main  af_inet46  6DU    2    2110          9941  9941
    main  af_inet46  4DU    3    2110          1375  621

4 active sockets found.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 11:11:30 +02:00
Jukka Rissanen
7d9f2ad2ca net: sockets: Add object core support to sockets
Use the generic object core support to track network sockets
and their statistics.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 11:11:30 +02:00
Chen Xingyu
03e2b6aee2 boards: arm64: rpi_4b: Update doc for programming with TF cards
Rewrote with a more detailed procedure.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-10-24 11:03:44 +02:00
Chen Xingyu
6739063847 boards: arm64: rpi_4b: Add DTS node for LED_ACT
LED_ACT is the green LED at the top left corner of the RPi 4B board.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-10-24 11:03:44 +02:00
Chen Xingyu
a2ef2f7605 drivers: gpio: Add GPIO driver for BCM2711
The BCM2711 SoC exposes 58 GPIOs. The first 28 (bank 0) are accessible
to users via the 40-pin header, while the others (bank 1) are used for
controlling on-board peripherals.

This also update doc of `rpi_4b` board.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-10-24 11:03:44 +02:00
Chen Xingyu
58f8b7a075 dts: arm64: bcm2711: Move interrupt-parent property to soc {}
No reason to declare it per node, as it is almostly shared by all
peripherals.

Also introduced `DT_FREQ_M` macro for better readability.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-10-24 11:03:44 +02:00
Chen Xingyu
f2b3d704d7 boards: arm64: rpi_4b: Convert to list-table syntax
Keep aligned with `rpi_pico` board.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-10-24 11:03:44 +02:00
Chen Xingyu
aa46254708 boards: arm64: rpi_4b: Fix doc
* defconfig is located under `boards/arm64/` instead of `boards/arm/`
* 64-bit mode (`arm_64bit=1`) is required to boot

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2023-10-24 11:03:44 +02:00
Flavio Ceolin
ffe1285343 modules: zcbor: Options only when module is available
Only show zcbor menu options when the module is available.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 10:53:24 +02:00
Flavio Ceolin
2e6871a46f modules: openamp: Options only when module is available
Only show openamp menu options when the module is available.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 10:53:24 +02:00
Flavio Ceolin
f4cb487b79 modules: sof: Options only when module is available
Only show sof menu options when the module is available.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 10:53:24 +02:00
Flavio Ceolin
9eff0ca521 modules: libmetal: Options only when module is available
Only show libmetal menu options when the module is available.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 10:53:24 +02:00
Flavio Ceolin
713ca15224 modules: tinycrypt: Options only when module is available
Only show tinycrypt menu options when the module is available.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 10:53:24 +02:00
Flavio Ceolin
761a3039bb modules: Remove legacy comment
Module's Kconfig depends now in the presence of the module itself.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 10:53:24 +02:00
Flavio Ceolin
2e5c37142c scripts: kconfig: Always generate ZEPHYR_*_MODULE
Define the ZEPHYR_{MODULE_NAM}_MODULE option for all available modules.
Right now only modules defined as 'kconfig-ext' has this symbol defined
which may cause problem if the build wants to check if a module not
using this options is available.

This allow us to do something like:

comment "mbedTLS module not available."
	depends on !ZEPHYR_MBEDTLS_MODULE

or make a feature depends on the module be present.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 10:53:24 +02:00
Jukka Rissanen
b510073db3 tests: net: tcp: Add test case for connect timeout
This checks that if connect() timeouts, we check TCP pointer
properly in select() and poll() in order to catch the situation.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 00:48:03 -07:00
Jukka Rissanen
5bf18e39ad net: sockets: Set writefds in case of error in select()
The writefds is typically set if there is an error while
waiting for example the connect() to finish. So check if
the user supplied the writefds and update it accordingly.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 00:48:03 -07:00
Jukka Rissanen
ec4973dd15 net: tcp: Set errno properly if connecting to non listening port
If we try to connect to a port which no socket is listening to,
we will get a packet with "ACK | RST" flags set. In this case
the errno should be ECONNREFUSED instead of ETIMEDOUT like we
used to return earlier.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 00:48:03 -07:00
Jukka Rissanen
b864880000 net: sockets: Add SO_ERROR socket option to SOL_SOCKET level
Return the last socket error to user.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 00:48:03 -07:00
Jukka Rissanen
fd1c226cd8 net: tcp: Increment ref count in initial SYN
Increase reference count already when initial SYN is sent.
This way the tcp pointer in net_context is fully valid for
the duration of the connection.

Fixes #63952

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 00:48:03 -07:00
Joakim Andersson
023d4838fb boards: raytac_mdbt53v_db_40_nrf5340: Add uart1 pin assignment
Add uart1 pin assignment for the raytac_mdbt53v_db_40_nrf5340 board.
This is required in order to support building TF-M for the NS variant.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-24 09:40:16 +02:00
Joakim Andersson
ddf5c4374e boards: raytac_mdbt53_db_40_nrf5340: Add HW flow control pins
Add HW flow control pins for raytac_mdbt53_db_40_nrf5340 board.
Use the same pins as the cpunet has been assigned, as the RX / TX lines
was also using the same as cpunet.
Remove bias-pull-up as uart1 using same pins on cpunet does not have
this either.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-24 09:40:16 +02:00
Joakim Andersson
142dd9fb13 doc: Remove note for missing tf-m/ns target support
All nRF91 and nRF5340 boards (except the DKs) should support TF-M/_ns
now.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-24 09:40:16 +02:00
Joakim Andersson
17fd1f8fba boards: Enable TF-M by default for nordic SoC NS boards
Enable TF-M by default for nordic nRF5340 and nrf9160 SoC boards.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-24 09:40:16 +02:00
Joakim Andersson
32a1c89e2e boards: Add uart1 pinctrl assignment to nrf5340 Audio DK
Add uart1 pinctrl assignment to nrf5340 Audio DK.
Assigned according to Schematic for this board.

Uart1 pins needed by TF-M when using the NS board variant.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-24 09:40:16 +02:00
Joakim Andersson
33a44d0ed8 tfm: nordic_nrf: Add generic SoC support for nordic SoCs
Add generic SoC support for the supported nordic SoCs:
- nrf5340
- nrf9160
- nrf9120

Add generic SoC support by taking board specific configurations from
zephyr devicetree and kconfig.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-24 09:40:16 +02:00
Wilfried Chauveau
7a216d2a69 arch: arm: cortex_m: Revert "enable armv8m.baseline to use BASEPRI"
This reverts commit 0781a86862.
BASEPRI is only functionnal if mainline extension is present.
If not, it is "RES0". See: Arm®v8-M Architecture Reference Manual D1.2.5.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-10-24 09:06:23 +02:00
Omkar Kulkarni
3de98643ed Bluetooth: Mesh: FU Server should not update internal state on error
According to conditions in the DFU spec section 6.1.3.7 (Sending a
Firmware Update Status message) and in 'Idempotency' part of section
6.1.3.4 (Receiving a Firmware Update Start message), the FU Server
should not update internal state when 'Wrong Phase' error condition
is triggered.

Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
2023-10-24 09:05:59 +02:00
Pieter De Gendt
ae26f1ef9d samples: modules: nanopb: Update requirements
Add installation instruction for adding nanopb to the west workspace.
This is required because it is optional and not installed by default.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-10-24 09:05:50 +02:00
Alberto Escolar Piedras
af984c57e5 tests/ztest/error_hook: Exclude posix arch for userspace test
This test cannot be run in this architecture as it does not
support userspace.
Today it is filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
4e55c482ba tests/subsys/rtio: Exclude some subtests from posix arch
Two substests cannot be run in the posix architecture
as they require userspace.
Today they are filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
4c98a091fb tests subsys coredump: Exclude in posix architecture
These tests cannot be run in this architecture as it does not
support coredump.
Today it is filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
5f57275a65 tests drivers coredump: Exclude posix arch for userspace tests
This test cannot be run in this architecture as it does not
support userspace.
Today it is filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
fb38b90481 tests kernel: Exclude posix arch for userspace tests
These tests cannot be run in this architecture as it does not
support userspace.
Today they are filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
4060f1d390 tests newlib: Exclude in posix architecture
These tests cannot be run in this architecture as it does not
support this toolchain.
Today they are filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
df15fcb9fb tests/benchmarks/cmsis_dsp/basicmath: Filter by arch
Add a filter by (arm) architecture, as the filter as it is faster
than filtering by kconfig.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
886d6a9f1f samples subsys logger: Exclude some subtests from posix arch
Two substests (userspace and rtt) cannot be run in the posix
architecture.
Today they are filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Alberto Escolar Piedras
befc96f22e userspace tests/samples: Exclude in posix arch
These samples & tests cannot be run in this architecture
as it does not support userspace.
Today they are filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
Robert Lubos
c6fd2b2d44 net: shell: Fix unexpected timeout on loopback ping
In case ping is sent to own address, the request is looped back to the
stack and served before ping work had a chance to reschedule. In result,
when the final ping reply has been server, and ping operation finalized
with `ping_done()`, the work was rescheduled one last time, causing the
ping timeout to be reported. Fix this by rescheduling the work before
sending the actual request, so that the reply handler can cancel the
work properly in such case.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-24 09:05:20 +02:00
Robert Lubos
dcf7b1905b net: core: Set LL address on loopback packet
In case packet is looped back to the stack, set LL address information
on the packet, using the LL address set on the corresponding network
interface, so that the information can be interpreted by the SOCK_DGRAM
packet socket.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-24 09:05:20 +02:00
Fabian Blatz
d72159d288 samples: modules: lvgl: demo: Add widgets entry to README
Adds a short description and build command for the widgets demo to the
README.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-10-24 09:05:12 +02:00
Jukka Rissanen
1005fbe16c tests: net: iface: Do not use eth0 name in the test
If the first Ethernet interface is not the first network
interface, then there might be two interfaces with the same name.
The test does not like that.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 09:05:04 +02:00
Jukka Rissanen
73896eef6c net: Set Dummy net_if as default one for tests
If we run network tests under tests/net, then set the
Dummy network interface as a default one so that it will
be picked up first.

This should solve the issue if the DUT is having a real
network interfaces like onboard Ethernet interface which
could cause the test to fail. The test might fail in this
case because the network tests assume that only simulated
network interfaces are used by the tests.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-24 09:05:04 +02:00
Flavio Ceolin
c166685fcf ztest: Do not abort k_current_get from ISR
Do not abort k_current_get() from ISR.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 09:04:42 +02:00
Flavio Ceolin
564adad952 treewide: Add CODE_UNREACHABLE after k_thread_abort(current)
Compiler can't tell that k_thread_abort() won't return and issues a
warning unless we tell it that control never gets this far.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 09:04:42 +02:00
Emil Gydesen
7ec0be76ae samples: Bluetooth: Add missing reset of sems in iso_receive
In the iso_receive sample, the semaphores were not reset in
each iteration.

This caused the ISO receiver to act incorrectly and cause
issues with some controllers.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-24 09:04:25 +02:00
Maciej Perkowski
0752d60443 scripts: Add arg to test_plan.py for alternative test locations
The arg --testsuite-root was copied from twister. When it is used
for test_plan.py it will be propagated to twister calls. This allows
to make alternative test locations (e.g. from another repo) to work
with test_plan.py

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-24 09:04:09 +02:00
Maciej Perkowski
7692610004 scripts: Add arg to set_plan.py for alternative tag relation list
Add --alt-tag arg for test_plan.py script. User can use it and point
to an alternative file with tag-directories relations. If so, such
file will be used instead of the default one.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-24 09:04:09 +02:00
Maciej Perkowski
47405a114a scripts: Allow using alternative ignore-patters in test_plan.py
Expand test_plan.py args with --ignore-path. This allows to provide an
alternative lists of patterns for the script.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-24 09:04:09 +02:00
Maciej Perkowski
f7c4d5f9d4 scripts: Allow test_plan.py to work with other than zephyr repos
The test_plan.py script has a path to repository to be scanned for
changes hard coded to zephyr. This patch separates zephyr path from
such repository's path and adds an arg to pass repo to scan

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-24 09:04:09 +02:00
Maciej Perkowski
f9178926a9 scripts: Add --no-detailed-test-id arg to test_plan.py script
An option --no-detailed-test-id was added to twister to help align
names for test outside of zephyr tree. This commit add this arg
to test_plan.py script which is then propagated to twister.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-24 09:04:09 +02:00
Aron Lander
aa2879a397 modules: Updated the Percepio module to v4.8.1.hotfix1
This synchronizes the percepio module with the upstreams
repository.

Signed-off-by: Aron Lander <aron.lander@percepio.com>
2023-10-23 20:58:41 -05:00
Flavio Ceolin
9a7a22a68b pm: Fix possible undefined reference
Function pm_state_cpu_get_all is declared in state.h
but it is only implemented if CONFIG_PM is set.

Add an inline implementation for when CONFIG_PM is not set.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-23 20:57:57 -05:00
Flavio Ceolin
0b01671fe9 tests: pm: Test pm_state_cpu_get_all
Add test for pm_state_cpu_get_all API

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-23 20:57:57 -05:00
Sophie 'Tyalie' Friedrich
7857996e90 boards: esp23: m5stack_core2: Fix i2c1 pin definitions
For GPIO pins above 31, one needs to use the `&gpio1` (or similar)
definition, as zephyr seperates GPIOs into chunks of 32.

Signed-off-by: Sophie 'Tyalie' Friedrich <dev@flowerpot.me>
2023-10-23 20:56:54 -05:00
Sophie 'Tyalie' Friedrich
70cb934959 boards: xiao_esp32s3: Fix connector definition
Previously the seed connector was defined incorrectly and as such D6 and D7
weren't usable as i.e. inputs. Zephyr distinguishes GPIO pins in blocks of
32, a distinction the ESP32 reference manual doesn't do. As such one needs
to write `&gpio1 11` in order to access `GPIO43`.

Signed-off-by: Sophie 'Tyalie' Friedrich <dev@flowerpot.me>
2023-10-23 20:56:54 -05:00
Henrik Brix Andersen
4737706794 drivers: can: sja1000: add CAN statistics support
Add support for CAN statistics to the SJA1000 CAN controller driver. The
hardware does not support distinguishing between being unable to transmit
dominant versus being unable to transmit recessive bits.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-23 18:20:23 +02:00
Henrik Brix Andersen
40ad8c8711 drivers: can: add bit error counter
The bit error counter is incremented when the CAN controller is unable to
transmit either a dominant or a recessive bit.

This new error counter should only be incremented directly if the CAN
controller is unable to distinquish between failure to transmit a dominant
versus failure to transmit a recessive bit. If the CAN controller supports
distinguishing between the two, either the `bit0` or `bit1` error counter
shall be incremented instead. Incrementing one of these will automatically
increment the bit error count as well.

Typically, a CAN controller driver will either use this new bit error
counter or the discrete bit0 and bit1 error counters depending on the
features supported by the hardware. Mixing the two on driver level should
not be required.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-23 18:20:23 +02:00
Jordan Yates
322d4c1f98 bluetooth: hci: spi: avoid rxmsg re-use
Don't re-use the `rxmsg` buffer in the `bt_spi_send` function. This
buffer is still used by the RX thread after releasing the SPI semaphore.
The current re-use can result in buffer corruption if the RX thread is
swapped out as a result of the `k_sem_give`.

Moving the semaphore release later can result in deadlocks due to
buffer allocation being performed while holding the semaphore, so
instead just eliminate the re-use entirely.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-23 18:19:58 +02:00
Jordan Yates
00e67753ac bluetooth: hci: spi: extract message handling to func
Extract the HCI message handling out to a dedicated function to simplify
the main thread function. This also solves a bug as a side effect.

Previously `discardable` and `timeout` were never being reset after
an advertising report was received, resulting in ALL events after the
first advertising report being treated as discardable.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-23 18:19:58 +02:00
Fabio Baltieri
96ed3a68a9 dts: mec1727nsz: fix few build issues
This files has been changed as part of a refactoring in 13a87081b9.
Unfortunately the refactoring introduced few issues:

- usage of devicetree macros before their definition
- usage of pinctrl label before the definition of the corresponding node
- removal of few node overrides that are causing build errors

Unfortunately there's no board usptream using this specific dts file, so
the issue has not been caught in CI and was only found downstream.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-23 16:33:45 +01:00
Anas Nashif
b643692fa5 ci: test_plan: use integration mode for architectures
Reduce the scope to integration only.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-23 11:20:57 -04:00
Anas Nashif
99bb4b9581 ci: testplan: fix include path
Add zephyr to the include path detection.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-23 11:20:57 -04:00
Tom Burdick
f0326f7249 tests: dma_loopback: Intel ADSP ACE15 disable PM
Disable power management for this particular test case as it expects a
particular pattern of pm get/puts that isn't matched by the driver and
usage in SoF.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-23 10:01:09 -05:00
Jukka Rissanen
63d9c8fa06 net: shell: Print v4-mapping-to-v6 address properly
The remote address of the connection is checked whether
it is v4-mapping-to-v6 address in which case we should
print it such.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
2238baa831 net: tcp: Do not overwrite remote address in new conn
When a new incoming connection is accepted, do not overwrite
the listening remote address. The remote address for the
listening socket is the any address (like :: for IPv6)
and not the accepted socket remote address.
This only affects the "net conn" shell command which prints
the remote address incorrectly. There is no problem accepting
new connections in this case.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
bc41d03e28 tests: net: socket: misc: Fix memory leak
The sent pkt must be removed after we have cloned it
in the simulated driver otherwise there is a memory leak.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
e3f664dfe2 net: conn: Fix the rank value print
We should use the NET_CONN_RANK() macro when printing the
current rank value as that macro masks the rank values properly.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
8a4ef3e67a samples: net: sockets: echo: Convert to work both IPv6 and IPv4
The sample enables CONFIG_NET_IPV4_MAPPING_TO_IPV6 and then
turns off IPV6_V6ONLY option which allows it to support both
IPv6 and IPv4 using the same socket.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
1b4a76cc36 net: tcp: Fix the accepted socket address
The socket address passed in accept() call should point
to the new connection address and not the old one.
Fortunately this only affects things after the v4-mapping-to-v6
support so older code than this works fine.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
dea896f6e7 net: tcp: Set address len properly when accepting a socket
The address length of the accepted socket must reflect the
size of the address struct, so it should either be
sizeof(struct sockaddr_in) for IPv4 or sizeof(struct sockaddr_in6) for
IPv6 socket.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
83aaeadddd tests: net: socket: Add tests for IPV6_V6ONLY option
The IPV6_V6ONLY option is only checked if
CONFIG_NET_IPV4_MAPPED_TO_IPV6 option is set.
By default the IPV6_V6ONLY option is set.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
4f37d63ed1 net: Add support for v4-mapping-to-v6 sockets
This allows IPv4 and IPv6 share the same port space.
User can still control the behavior of the v4-mapping-to-v6
by using the IPV6_V6ONLY socket option at runtime.
Currently the IPv4 mapping to IPv6 is turned off by
default, and also the IPV6_V6ONLY is true by default which
means that IPv4 and IPv6 do not share the port space.
Only way to use v4-mapping-to-v6 is to enable the Kconfig
option and turn off the v6only socket option.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
256d5fac4f net: utils: Print IPv4 mapped IPv6 addresses properly
Add support for IPv4 mapped IPv6 addresses when converting
IP address to a string in inet_ntop() function.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Jukka Rissanen
67309968cb net: utils: Add helpers for manipulating IPv4 mapped address
Create a function that can create IPv4 mapped to IPv6 address.
Create a function that can check if the IPv6 address is a
mapped IPv4 one.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 09:57:22 -05:00
Markus Becker
e51c044216 sensor: ltrf215a: LiteOn LTR-F216A
New driver for I2C illuminance sensor LiteOn LTR-F216A.

Datasheet:
https://optoelectronics.liteon.com/upload/download/DS86-2019-0016/LTR-F216A_Final_DS_V1.4.PDF

* Applied suggestions from code review
* Removed retry mechanism

Signed-off-by: Markus Becker <markus.becker@tridonic.com>
Co-authored-by: Andy Sinclair <andy@aasinclair.co.uk>
2023-10-23 09:47:09 -05:00
Robert Lubos
05361edb1b net: shell: Fix TCP connect behavior
Fix two issues with net tcp command:

* The `net tcp` commands are still based on net_context API. For TCP,
  the API caller (net shell) should add one extra reference to the
  allocated net context, to prevent premature context release in case of
  connection teardown. Currently that was not the case, and the context
  was released too early, resulting in missing final ACK from the Zephyr
  side on connection close.

* The net context API should not be called from the registered connect
  callback, as this creates a temporary deadlock situation. The
  net_context_connect() function blocks until the connection is
  established, or an error or timeout occurs. For that time the
  net_context mutex is being locked. In case of connection error (for
  example after receiving RST packet) the connect callback is called,
  indicating an error. If we try to call net_context API from within, a
  deadlock situation takes place, as the context mutex is still locked
  by the net_context_connect() (called from the shell thread). This
  blocks the further execution of the TCP stack and can result in an
  unexpected behavior (like for example retransmitting the SYN packet,
  which takes place from yet another thread, TCP work queue).
  Fix this, by releasing the net context not from the callback directly,
  but based on the return value from net_context_connect().

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-23 16:08:37 +02:00
Patryk Duda
ad1b1cf978 clang: target: Include gcc-m-fpu.cmake file
File gcc-m-fpu.cmake is responsible for determining what should be
passed to -mfpu option. Fortunately GCC and Clang options are compatible
so we can use the file for clang.

The list of supported -mfpu options can be found at
https://github.com/llvm/llvm-project in
llvm/include/llvm/TargetParser/ARMTargetParser.def file.

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2023-10-23 16:04:39 +02:00
Xudong Zheng
9ddca0bfc6 debug: coredump: add name for backend and dump options
This makes the backend and dump options more easily configurable via
Kconfig.

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2023-10-23 15:22:37 +02:00
Andries Kruithof
e3d6aac5c0 Bluetooth: ISO: use IN_RANGE for CIG create parameters
Use IN_RANGE instead of explicitly checking that a value is
in between two other values

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-23 15:22:10 +02:00
Andries Kruithof
8b3b8cf2ad Bluetooth: ISO: extend API for setting SDU interval
The BT Core Spec v5.4 allows separate SDU_Interval to
be set on C_To_P and P_To_C directions,
but this is not possible with the existing interface.

This PR splits the interval parameter in the call to
bt_iso_sig_create into one for C_To_P
and one for P_To_C

It also splits the latency parameter into one for
C_To_P and one for P_To_C

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>

Bluetooth: ISO: update UI for extended API

The API for setting the SDU interval and latency have been updated.
This PR also updates the setting of these by the user in the shell
and the iso_connected_benchmark sample

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-23 15:22:10 +02:00
Yong Cong Sin
1f60c1379e net: shell: fix compilation errors
`suspend.c` and `resume.c` are missing the `zephyr/pm/device.h`
add that to fix compilation warning

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-23 14:20:23 +01:00
Benjamin Cabé
92045a021e doc: guidelines: Clarify how code-block directive should be used
Correct a previous mistake indicating syntax highlighting is
autoguessed.

Add recommendations and samples around languages that documentation
authors are encouraged to use.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 14:32:39 +02:00
Benjamin Cabé
f2b080b5d6 doc: Set default language for syntax highlighting to "none"
Force code blocks with no 'language' explicitly set to render with no
highlighting. The current default was to use python (bad), and there
would also be an option to set it to "guess" but this doesn't work all
so well (ex. some C blocks would be detected as Transact-SQL!).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 14:32:39 +02:00
Benjamin Cabé
677219ff1a doc: Allow to control wrapping behavior per table
Backport a useful CSS rule from Godot that allows to have *all* cells of
a table to wrap. This can be useful for list-tables in particular,
where otherwise the first column don't wrap.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 14:32:39 +02:00
Jason Wright
7e02a0379f drivers: counter native: Add top value conf and multi channel support
The counter_native_posix driver currently does not support top value
configuration, i.e. `ctr_set_top_value` returns `-ENOTSUP`. This commit
adds support for top value configuration, and with the counter API now
fully implemented, adds `counter` to `supported` peripherals for
native_posix target.
It also resolves an existing bug in which the
counter ISR did not reset upon reaching `TOP_VALUE`.
And adds support for multiple channels

Signed-off-by: Jason Wright <jason@jpw.nyc>
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 13:38:43 +02:00
Andy Sinclair
7cf4eff731 drivers: mfd: npm1300: Fixed race condition in event callback
If an event occurs between the status registers being read and
the event being cleared, the interrupt line will remain active.

As the interrupt is edge triggered,  all future interrupts
will being ignored.  This problem will also occur if an I2C
transation fails in the callback.

The state of the interrupt pin is now checked at the end of the
callback, and a retry is attempted if the interrupt has not
been cleared.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-10-23 12:55:04 +02:00
Andy Sinclair
733834851d drivers: mfd: npm1300: Added shiphold button release event
Added event for detecting release of shiphold button

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-10-23 12:55:04 +02:00
Alberto Escolar Piedras
e1de306854 doc: samples nrf53_sync_rtc: Fix flash command
Fix the west flash command example using the new flash-args
option.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 12:54:31 +02:00
Alberto Escolar Piedras
8b84402444 doc: boards wio_terminal: Fix flash command
Fix the west flash command example using the new flash-args
option.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 12:54:31 +02:00
Alberto Escolar Piedras
d0aec24e45 doc: boards adafruit_itsybitsy_m4_express: Fix flash command
Fix the west flash command example using the new flash-args
option.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 12:54:31 +02:00
Alberto Escolar Piedras
421693b574 doc: extend application sphinx extension to support flash arguments
Passing arguments to west flash is needed in many cases
but there was no way to properly generate documentation
with such examples.
With this new "flash-args" option we can now.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 12:54:31 +02:00
Alberto Escolar Piedras
201a48889c doc: samples net mqtt_sn_publisher fix west invokation
Fix the west invokation. "-t" is added automatically
to the run goal, otherwise we get a "-t -t" command.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 12:54:31 +02:00
Yong Cong Sin
49d7910aa4 shell: Update doc to include MQTT transport
The Shell MQTT transport was added in #38107, but isn't
mentioned in the Shell documentation.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-23 12:38:54 +02:00
Rodrigo Peixoto
32bdb24a92 doc: zbus: fix VDED notification sequence figure
The figure and table related to the VDED notification sequence were wrong.
It fixes that by changing the image and adjusting the table content.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-10-23 12:37:08 +02:00
Benjamin Cabé
234df43912 doc: samples: expose JSON-LD markup & meta description for code samples
Since samples are starting to leverage the new :zephyr:code-sample
directive, let's use the available  meta data to expose that structured
information to search engines.

This commit adds JSON-LD markup to the HTML output of code sample pages
and sets the meta description to the samples' description.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 12:30:51 +02:00
Benjamin Cabé
15515f4c7e doc: samples: exclude CodeSample children during transformation
CodeSample node is meant to be a temporary node that's transformed into
standard docutils nodes. While the node might contain children useful
for the transformation, they're not meant to be included in the result
of the transform.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 12:30:51 +02:00
Jamie McCrae
b032d0bc00 mgmt: mcumgr: grp: fs_mgmt: Select CRC if hash/checksum is enabled
Since CRC32 hash/checksum support is enabled by default, make it
select the CRC Kconfig symbol

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-23 12:15:41 +02:00
Jamie McCrae
8f5925c6de mgmt: mcumgr: Do not imply CRC
Only SMP over console transports need CRC support, therefore do
not imply CRC support for MCUmgr entirely because only 2 optional
transports require it

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-23 12:15:41 +02:00
Jamie McCrae
a2b22cbe82 samples: mgmt: mcumgr: smp_svr: Select CRC for SMP over console
CRC support is needed for SMP over console support, therefore
enable it

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-23 12:15:41 +02:00
Jamie McCrae
0c1d968581 mgmt: mcumgr: transport: shell/uart: Require CRC to use
SMP over console uses a checksum, therefore it is required in order
to enable these transports

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-23 12:15:41 +02:00
Pedro Sousa
4207f4add8 kernel: timer: Fix race condition in k_timer_start
The documentation suggests that k_timer_start can be invoked from ISR
and preemptive contexts, however, an assertion failure occurs if one
k_timer_start call preempts another for the same timer instance. This
commit mitigates the issue by implementing a spinlock throughout the
k_timer_start function, ensuring thread-safety.

Fixes: #62908

Signed-off-by: Pedro Sousa <sousapedro596@gmail.com>
2023-10-23 12:10:06 +02:00
Tomasz Moń
afc034e294 samples: cdc_acm: Throttle RX when ringbuf is full
Prevent infinite loop inside interrupt handler when there is incoming
data available and ring buffer is full.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-10-23 12:04:15 +02:00
Steffen Jahnke
26a403d629 boards: arm: Add PAN1783 evaluation board
The PAN1783 evaluation board is a development tool for the nRF5340
from Nordic Semiconductor.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2023-10-23 11:58:13 +02:00
Bjarki Arge Andreasen
99ce7d071f drivers: rtc: Add atmel sam series RTC driver
This commit adds an RTC device driver for the atmel SAM
series chips.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-23 10:49:11 +01:00
Bjarki Arge Andreasen
f41ca50ef3 dts: atmel: Add rtc device to atmel sam dtsi
This commit adds the RTC device to the following
atmel sam devicetrees:
- sam3x.dtsi
- sam4e.dtsi
- sam4s.dtsi
- same70.dtsi

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-23 10:49:11 +01:00
Johann Fischer
c152e0980c usb: device: cdc_acm: block in uart_poll_out() routine
According to the UART API documentation, implementation must block when
the transceiver is full. For CDC ACM UART, TX ringbuffer can be
considered as transceiver buffer/FIFO. Blocking when the USB subsystem
is not ready is considered highly undesirable behavior. Blocking may
also be undesirable when CDC ACM UART is used as a logging backend.

Change the behavior of CDC ACM poll out to:
 - Block if the TX ring buffer is full, hw_flow_control property is
   enabled, and called from a non-ISR context.
 - Do not block if the USB subsystem is not ready, poll out
   implementation is called from an ISR context, or hw_flow_control
   property is disabled.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-23 11:48:44 +02:00
Johann Fischer
9112c7e0ff usb: device: cdc_acm: restart OUT transfer in only configured state
When a usb_transfer is cancelled, the callback is finally invoked.
Silly, there is no transfer status passed, and in the callback we can
only check the size and device status.

Reported-by: Alex Kaiser
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-23 11:48:44 +02:00
Patryk Duda
3ec58ff749 libc/newlib: Add support for LLVM toolchain
When Zephyr is compiled using LLVM toolchain, we don't need to link with
libgcc to resolve libc dependencies. With this patch, the trick will be
applied only when the GNU compiler is used. Otherwise, we will just link
libc, which works for LLVM.

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2023-10-23 11:41:57 +02:00
Lingutla Chandrasekhar
64aa25a8a4 RISCV: Support pm cpu ops for SMP
Add pm cpu ops to call the platform specific implementations for
bringing up secondary cores.

Signed-off-by: Lingutla Chandrasekhar <quic_lingutla@quicinc.com>
2023-10-23 11:36:01 +02:00
Flavio Ceolin
b483c9251c drivers: adc: Fix misuse of const and k_tid_t
"const k_tid_t" is "struct k_thread * const" and not "const struct
k_thread *" as the code may be assuming. Just drop it.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-23 11:35:33 +02:00
Benjamin Cabé
64058f8753 MAINTAINERS: add myself as maintainer for Samples
Adding myself as maintainer and Anas as collaborator on code samples,
for which an area already exists in Github

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 11:08:44 +02:00
Jukka Rissanen
4b41f9f246 net: wifi: Fix compile error when -Werror -Wextra are set
The warning which became error looks like this

error: type qualifiers ignored on function return type
                                [-Werror=ignored-qualifiers]
  219 | const char * const wifi_ps_txt(enum wifi_ps ps_name);

It is pointless to add a const qualifier to a return value.
So remove the const pointer to avoid this warning.

Fixes #64197

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 11:06:23 +02:00
Jamie McCrae
e8bbb033ef mgmt: mcumgr: grp: img_mgmt: Fix erase returning unknown error
Fixes an issue whereby the erase function would return an unknown
error, which would happen when the slot was already erased.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-23 10:03:02 +01:00
Aleksander Wasaznik
9f42c92e26 Bluetooth: Host: Fix GATT Long Read for EATT
When EATT is established, the value returned from `bt_att_get_mtu` is
not useful to determine the ATT_MTU that applies to a ATT response. This
is because `bt_att_get_mtu` may return the value for a different bearer
than the request is serviced on.

To fix this, the params struct for the GATT read operation is given a
new field that will record the ATT_MTU that applies to this ATT
operation. This value is then used to determine if the GATT long read
operation is concluded.

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/61741

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-10-23 11:01:21 +02:00
Jukka Rissanen
046f00244c net: shell: vlan: Enforce arg count via shell macro
Use the SHELL_CMD_ARG() to enforce the minimum parameter
count in vlan command.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
4265fe7a93 net: shell: stats: Use generic iface idx dynamic completion
The interface number is generated automatically if one
presses <tab> when expecting the interface.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
10def6cac5 net: shell: Allow dynamic interface name expansion
Allow multiple commands use the same dynamic shell command
completion when expecting network interface index.

For example "net iface" and "net stats" are such commands.

The network interface expansion cannot be used in "net ipv6 add",
"net ipv4 add" and "net route" commands as they require more
data after the network interface index argument.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
5bad9680a5 net: shell: Remove the stacks command
The "net stacks" has been obsolete for a long time already
so remove it for good. It is replaced by "kernel stacks" cmd.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
34cd82e80b net: shell: Removing extra stuff that is not needed
The remaining stuff that is not used in net_shell.c can be removed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
aab371364c net: shell: Add websocket command
Move "websocket" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
d84c2572ec net: shell: Add vlan command
Move "vlan" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
82a57b9789 net: shell: Add virtual command
Move "virtual" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
7a167648eb net: shell: Add udp command
Move "udp" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
5afeade2fc net: shell: Add tcp command
Move "tcp" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
7cdc235ff5 net: shell: Add suspend command
Move "suspend" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
fdb86e89a6 net: shell: Add stats command
Move "stats" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
76eab4e440 net: shell: Add stacks command
Move "stacks" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
8b4b064a85 net: shell: Add route command
Move "route" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
cb46113df4 net: shell: Add resume command
Move "resume" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
e5534b5262 net: shell: Add ppp command
Move "ppp" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
58ad0a5c13 net: shell: Add pkt command
Move "pkt" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
a669d4aba3 net: shell: Add ping command
Move "ping" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
0c9fd96604 net: shell: Add nbr command
Move "nbr" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
5b6423dd2f net: shell: Add mem command
Move "mem" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
e0c30bc2b6 net: shell: Add ipv4 command
Move "ipv4" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
36db200c15 net: shell: Add ipv6 command
Move "ipv6" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
49012a5c6b net: shell: Add iface command
Move "iface" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
55eb526d0a net: shell: Add gptp command
Move "gptp" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
97e0609dd9 net: shell: Add events command
Move "events" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
fea7001678 net: shell: Add dns command
Move "dns" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
5a7fd25e97 net: shell: Add conn command
Move "conn" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
e03adee6e4 net: shell: Add capture command
Move "capture" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
0e3b197f84 net: shell: Add arp command
Move "arp" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
e850517a15 net: shell: Add allocs command
Move "allocs" command to a separate file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
3f36f78654 net: shell: Common header for all shell commands
Some useful APIs and macros for all net shell commands
to use.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
394a40470d net: shell: Rename current command as net_old
This is a preparation for the refactoring. The old "net" command
is renamed "net_old" so that the individual commands can be
placed into a separate .c files.
This is done like this because we need to use the
SHELL_SUBCMD_SET_CREATE() to create the sub-command and then
use the SHELL_SUBCMD_ADD() in the .c files to add the command
into the sub-command and not get conflict with the same name
sub-command.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Jukka Rissanen
56c1bb813f net: shell: Move the shell code to subsys/net/lib/shell
This is preparation commit that moves the net shell code to
subsys/net/lib/shell directory. The following commits will
then refactor the code in net_shell.c to smaller and more
manageable pieces.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-23 10:40:28 +02:00
Nick Ward
a6b23e143b dts: esp32: fix gpio-reserved-ranges
Fixed to follow correct format.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-10-23 10:38:32 +02:00
Jun Lin
b85ee74193 dts: arm: npcx: fix family and device ID for npcx4
This commit fixes the incorrect family/device ID declaration in
npcx4m3f and npcx4m8f dtsi file.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-10-23 10:38:07 +02:00
Aaron Massey
73e59fd463 tests: sbs_fuel_gauge
Remove erroneous comments that don't describe what the test is actually
doing. These comments were probably from copy/pasting test code.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-10-23 10:38:00 +02:00
Dave Desrochers
68b9cea690 arch: Fixes potential mangled isr table when SHARED_INTERRUPTS is enabled
The linker was optimizing away z_shared_isr() the zephyr_pre0.elf image
since the function is not used. However, zephyr.elf does use this
function via isr_tables.c file, generated after zephyr_pre0.elf.

This difference caused a shift in all symbol addresses by the size of the
z_shared_isr() function. isr_tables.c had pointers for zephyr_pre0.elf.
The build system assumes the ISR addresses are the same between both .elf
files, when in fact, before this fix, they were not.

When run on a device, interrupts were calling non-interrupt functions.

Signed-off-by: Dave Desrochers <dave@intercreate.io>
2023-10-23 10:37:46 +02:00
Alberto Escolar Piedras
eab871a1ff ipc: backend: rpmsg: Add support for POSIX arch
To enable runninng and testing this backend on the POSIX
architecture, we need to allow defining the shared memory
buffer as a compiler provided symbol, instead of a hard
address provided by the DTS.
For this case we refer to a symbol a POSIX arch implementation
(typically the board) needs to provide.
It is the responsability of that implementation to ensure
that symbol exists and points to a memory buffer of the
DT defined size.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 10:37:33 +02:00
Maureen Helm
2e828eb6e7 ci: Fix license check false pass
The license check workflow quietly stopped working after commit
8f66f854c3. Upgrading the checkout action
changed default behavior to only fetch one commit instead of all history
for all branches, which caused an uncaught fatal error in the scancode
action:

fatal: ambiguous argument 'origin/main..': unknown revision or path not
in the working tree.

The scancode action then completed successfully having not actually
checked anything.

Fix this by setting the checkout action fetch depth to 0, similar to
other workflows.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-23 10:36:53 +02:00
Andrei Emeltchenko
4e946262cb boards: ish: Continue to use HPET_TIMER for ISH and Qemu
Fot Qemu and intel_ish boards continue to use HPET_TIMER.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-23 10:34:03 +02:00
Andrei Emeltchenko
d6035f4a26 drivers: timer: Select APIC_TSC_DEADLINE_TIMER by default
Select APIC_TSC_DEADLINE_TIMER as default timer for x86.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-23 10:34:03 +02:00
Andrei Emeltchenko
19e32dc31e drivers: timer: Refactor x86 system timer selection
Refactor timer selection to allow to select only one timer.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-23 10:34:03 +02:00
Michał Barnaś
6fc22462a3 usbc: add sleep prevention in places that may require it
Add sleep prevention in crucial USB-C stack functions to make
state transitions faster and to send responses faster.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-23 10:33:38 +02:00
Michał Barnaś
2aabcabad3 usbc: add function that prevents the USB-C stack from sleep
Add internal function that prevents one sleep of the USB-C stack.
It can allow to have longer sleep times to conserve more power, while
still having possibility to respond in the required time and
set specific registers.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-23 10:33:38 +02:00
Filip Kokosinski
3549d816a1 boards/arm/nrf52840_mdk_usb_dongle: enable the console driver
The nRF52840 MDK USB Dongle board selects the `uart0` node as
`zephyr,console` in the `chosen` node. This required three additional
options to be y-selected on Kconfig side so that printf/stdout etc. hooks
are properly installed:
* CONFIG_CONSOLE
* CONFIG_SERIAL
* CONFIG_UART_CONSOLE

Without that, no console output is observed.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-10-23 10:33:25 +02:00
Filip Kokosinski
251926b332 boards/arm/mikroe_clicker_2: enable the console driver
The MikroE clicker 2 board selects the `uart4` node as `zephyr,console` in
the `chosen` node. This required one additional option to be y-selected on
Kconfig side so that printf/stdout etc. hooks are properly installed:
* CONFIG_UART_CONSOLE

Without that, no console output is observed.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-10-23 10:33:25 +02:00
Filip Kokosinski
9b9fb685ec boards/arm/ruuvi_ruuvitag: enable the console driver
The Ruuvitag board selects the `uart0` node as `zephyr,console` in the
`chosen` node. This required three options to be y-selected on Kconfig side
so that printf/stdout etc. hooks are properly installed:
* CONFIG_CONSOLE
* CONFIG_SERIAL
* CONFIG_UART_CONSOLE

Without that, no console output is observed.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-10-23 10:33:25 +02:00
Henrik Brix Andersen
d9b69f9d33 drivers: can: mcp2515: add CAN statistics support
Add support for CAN statistics to the Microchip MCP2515 CAN controller
driver. The hardware only supports reporting RX overruns.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-23 10:33:10 +02:00
Henrik Brix Andersen
1f779fa442 drivers: can: shell: print CAN statistics when showing CAN details
Print the CAN statistics when showing CAN controller details.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-23 10:33:04 +02:00
Henrik Brix Andersen
8beb0a3564 tests: drivers: can: api: add simple test for CAN stats accessors
Add a simple test to validate that the CAN statistics accessor functions
can be called from user mode threads.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-23 10:33:04 +02:00
Henrik Brix Andersen
0cfca8be85 drivers: can: add accessor functions for the CAN statistics
Add accessor functions for the individual CAN statistics.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-23 10:33:04 +02:00
Andrzej Kuros
fd8f6bd7e6 manifest: hal_nordic: Update nrf_802154 driver
This commit brings latest changes to the nRF 802.15.4 Radio Driver.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-10-23 10:32:54 +02:00
Alberto Escolar Piedras
f97ac476f3 libC Kconfig: Do not default to picolibc for native_sim due to GETOPT
Defaulting to picolibc when selecting GETOPT is a bit nicer for users
in some cases, but not required.
But too many things require GETOPT (for ex. some SHELL configurations)
in combinations with native posix drivers which do not support
yet embedded libcs (for ex. the native USB driver)
(see https://github.com/zephyrproject-rtos/zephyr/issues/60096 )

Which leads to configurations in those cases which cannot be built.
Keep defaulting to the external libC in this case.

This reverts the getop part of this commit:
5f8057e262

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-23 10:25:22 +02:00
Benjamin Cabé
b1c207524b ci: github: Only build docs for zephyrproject-rtos GH org
As documentation is now built using one of our self-hosted runners,
have the GitHub action only run for the upstream repo, not for potential
forks.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-22 19:08:58 -04:00
Andrei Emeltchenko
1860af4bf4 tests: profiling: Remove unused Kconfig
Remove unused Kconfig with unused KERNEL_PROFILING_API_TEST.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-22 19:08:26 -04:00
Jay Vasanth
7c43370997 microchip: ps2: fix compilation error
fix compilation error when CONFIG_PM_DEVICE is not enabled

Signed-off-by: Jay Vasanth <jay.vasanth@microchip.com>
2023-10-22 20:40:24 +03:00
Andy Sinclair
be83225ee6 drivers: sensor: npm1300: Fixed charge current scaling
The scaling factor for current measurement was incorrect.
Full range scaling during charge is 1.25 * charge current
limit, and there is no additional scaling factor applied
in different charge modes.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-10-22 19:24:54 +02:00
Bjarki Arge Andreasen
f9874ca046 west.yaml: Bump hal_atmel to commit #120
This commit bumps the hal_atmel module to
revision 942d664e48f7a2725933a93facc112b87b1de32b, which is
commit number 120 on master.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-22 19:23:22 +02:00
Joakim Andersson
9ac8525496 boards: nrf5340dk_nrf5340: Add default HW flow control pins to uart1
Add the default HW flow control pins to the uart1 node.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-10-21 21:16:21 +02:00
Daniel Leung
7a27431a0c sys: device_mmio: polish doxygen
() Add marks to denote code blocks so they are rendered correctly
   on generated pages.
() Fix misplaced in,out in @param. If any parameters are
   output, mark the others as input for clarity.
() Also move the previously non-visible comment about the file
   into the doxyge group description.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-21 13:18:33 +02:00
Martí Bolívar
1d3b8bd879 doc: west: release notes for v1.2
The main new features are a 'west grep' command and a new
'description:' field in the manifest file's 'projects:' elements.

Rather than try to keep the version number in index.rst up to
date, which it frequently is not, just delete the paragraph.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Martí Bolívar
41ca16628f doc: west: API changes for v1.2
These are backwards compatible extensions in keeping with
our promise to adhere to semantic versioning from now on.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Martí Bolívar
26ca13e30a doc: west: manifest file format changes for v1.2
Add information about changes to the file format.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Martí Bolívar
cbc41bc854 doc: west: sort west.manifest.Project info by release
For legibility.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Martí Bolívar
a4392a31cd doc: west: add docs for west grep
The main documentation for the command itself is in the 'west help
grep' output, so just add an entry in the list of built-in commands.
Document the extra config options as well.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Martí Bolívar
fb3961db9f doc: west: sort built-in project commands by name
For convenience

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Martí Bolívar
e2b2dde1c8 .github: doc-build: build with west 1.2
This is just released and we want the docstrings from there.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Patryk Koscik
fa054bf9da boards: arm: nrf52840dongle_nrf52840: Enable console by default
Enables UART output for samples that do not enable `CONFIG_CONSOLE`
in their config file

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2023-10-21 13:06:33 +02:00
Teoh Shi Lin
bfa0b52a84 drivers: serial: uart_intel_lw: add driver
Enable driver for intel lw uart.

Changes from review:
- refactor spinlock to inside of loop
- use menuconfig for kconfig
- add CONFIG_UART_INTEL_LW_AUTO_LINE_CTRL_POLL

Signed-off-by: Teoh Shi Lin <shi.lin.teoh@intel.com>
2023-10-21 11:54:23 +02:00
Flavio Ceolin
09950b6d0b drivers: entropy: Small documentation tweaks
Document driver API and moved around a flag.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-21 11:48:21 +02:00
Jacob Preston
52c55177ba drivers: uart: nrf: rx_timeout_slab incorrectly set
When rx_timeout is set to a sufficiently small value,
rx_timeout_slab could potentially get set to a greater
than necessary value that causes spurious UART_RX_RDY
events.

Fixes #62828

Signed-off-by: Jacob Preston <jacob.preston@synapse.com>
2023-10-21 11:38:46 +02:00
Karthikeyan Krishnasamy
a4ad4311b2 tests: drivers: build_all: sensor: Add mc3419 sensor
Included MC3419 3-axis accelerometer sensor in build_all
test to test mc3419 driver

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2023-10-20 15:25:16 -05:00
Karthikeyan Krishnasamy
f5ed51c179 drivers: sensors: add MC3419 accel sensor support
add basic sensor support for 3-axis accelerometer, currently
this driver support data acquisition and motion detection
features.

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2023-10-20 15:25:16 -05:00
Alberto Escolar Piedras
18d6919092 tests bsim: Disable bap_broadcast_audio_assistant
The test is currently broken in main and blocking
all other development when triggered.
Let's disable it by now as a provisional measure.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:20:32 -05:00
Alberto Escolar Piedras
97ac96f56d bsim tests: Fix incorrect libC free call from bstests
The bstests code builds and executes with the embedded
code, but had a call into "free()" which, when building
the embedded code with an embedded C library lands
in the embedded libC free, while it should
always call into the host libC free.

Fix it by calling thru the appropriate trampoline.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:20:32 -05:00
Gerard Marull-Paretas
915cb05bb6 dts: drop HAS_DTS
HAS_DTS has become a redundant option. All Zephyr architectures now
select this option, meaning devicetree has become a de-facto
requirement.  In fact, if any board does not provide a devicetree
source, the build system uses an empty stub, meaning the devicetree
machinery always runs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-20 12:18:17 -07:00
Gerard Marull-Paretas
e1137a3e5e cmake: modules: dts: use devicetree stub file
By providing a devicetree stub file, we make sure some internal macros
required by devicetree.h are generated in devicetree_generated.h. This
makes sure that systems without devicetree can continue working without
extra ifdeffery.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-20 12:18:17 -07:00
Sebastian Bøe
a4e9aed68d tfm: Enable TFM_EXCEPTION_INFO_DUMP by default
Exception info dump is a very basic feature so it should IMHO be
enabled by default.

For instance, a simple null-pointer exception in the non-secure app
will not be logged unless this option is enabled.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2023-10-20 19:29:32 +02:00
David Corbeil
0f5c6b7d74 drivers: flash: Fix union shadowing warning
Because shadow variable warning is turned on, a warning was thrown and
could fail some twister tests that don't use the -W option. This commit
gets rid of the warning.

Signed-off-by: David Corbeil <david.corbeil@dynon.com>
2023-10-20 19:25:41 +02:00
Henrik Brix Andersen
6b60dc4e0d doc: releases: add working draft release notes + guide for v3.6.0
Add working draft for the release notes and migration guide for v3.6.0.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-20 15:56:41 +01:00
Fabio Baltieri
6a06d2abe6 MAINTAINERS: update "Release Notes" area maintainers
Update Release Notes maintainers to point at the 3.6 release owners
usernames.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-20 15:56:21 +01:00
Jaroslaw Stelter
02deea0e80 ace: alh: Only ACE1.5 has OSEL feature
The OSEL bits in ALHASCTL register are present only
in ACE1.5 version - MTL. Platforms ACE2.0 do not have
the OSEL bits. Therefore DAI_ALH_HAS_OWNERSHIP
configuration option should be set only for
particular ACE1.5 version

Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
2023-10-20 15:21:01 +02:00
Krzysztof Chruściński
94e5311215 logging: Fix logical operator use
Replace & with &&. In that case there is no difference in the
behavior but logical operator should be used here.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-20 15:20:52 +02:00
Alberto Escolar Piedras
bc5da1a158 native simulator: Get latest from upstream
Align with native_simulator's upstream main
d32b2504ad2b6d6d541bc71a0f9b16ab7b6a3831

Which includes:
* d32b250 Minor format fix
* 7b4f35b native HW counter: Provide new API to reset and control
* 4f815cb INT CNTLR: Bugfix for more than 32 interrupts
* 1d36254 Provide new 64 version of nsi_find_lsb_set

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:20:43 +02:00
Flavio Ceolin
2d5b781e99 llext: Fix wrong check
In llext_copy_symbols the check after llext_read
was looking the result of llext_seek operation instead
of the read.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-20 15:20:35 +02:00
Alberto Escolar Piedras
9834fabe2d nrf53: Correct sync_rtc kconfig dependencies for simulation
Let's make the sync_rtc kconfig depend on the SOC_COMPATIBLE
options which are set both by the real and simulated targets,
so this code works in the same way for both.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:20:09 +02:00
Alberto Escolar Piedras
32d0c8d8e5 nrf53: Refactor sync RTC options to their own file
So they can be reused by the simulated board

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:20:09 +02:00
Fabio Baltieri
d933e7417f doc: guidelines: add a note about specialized drivers
Add a note about requirements for specialized drivers, clarifying the
requirements about using Zephyr APIs.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-20 15:19:58 +02:00
Dawid Niedzwiecki
eac3ba2b3d mgmt: ec_host_cmd: remove timeout for UART callback
Do not use timeout for UART callback. The UART IRQ bases on the IDLE
line, so waiting for additional bytes is not necessary and it introduce
additional latency.

Another issue with the timeout is that the UART drivers use sysworkq for
implementing timeout. The sysworkq thread may have lower prio than the
host command thread, which may cause a delay in calling the UART
callback, which gives the semaphore to the HC handler.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-10-20 15:17:47 +02:00
Jordan Yates
7aa34e6482 bluetooth: hci_core: handle NUM_COMPLETED_PACKETS rsp
The `BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS` is not expected to generate a
response from the controller, but from the spec:

Normally, no event is generated after the
HCI_Host_Number_Of_Completed_Packets command has completed. However, if
the HCI_Host_Number_Of_Completed_Packets command contains one or more
invalid parameters, the Controller shall return an HCI_Command_Complete
event with a failure status indicating the Invalid HCI Command
Parameters error code.

In practice, this can also be generated if flow control is inadvertedly
turned off during operation. Running `hci_cmd_done` is not correct when
the event happens (as there is no corresponding command buffer), and
`ncmd` should not be returned as this command ignores the semaphore when
sending.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-20 15:16:54 +02:00
Anders Storrø
fe9ffdaded tests: Bluetooth: Mesh: Op_agg coex loopback test
Adds coexistence Bsim test for Opcode Aggregator models using loopback.
The test verifies that the Opcode Aggregator server and client can send
messages to each other on the loopback interface.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:16:33 +02:00
Anders Storrø
fc152c8e43 tests: Bluetooth: Mesh: Add op_agg coex test
Adds coexistence Bsim test for Opcode Aggregator models.
The test verifies that the Opcode Aggregator server and client can be
present and functional when operating on the same device.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:16:33 +02:00
Anders Storrø
0a25a61c7d Bluetooth: Mesh: Op agg mdl coex
Refactors the implementation of the Opcode Aggregator
models to allow them to coexist on the same device.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:16:33 +02:00
Jukka Rissanen
31081d8411 net: tcp: Change FL() macro to avoid runtime overhead
Instead of strlen() use sizeof() in FL() macro. This way
all the checks are done at compile time instead of runtime.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-20 15:15:28 +02:00
Martin Gritzan
ff2b827143 drivers: stm32-exti: do not lock hwsem on irq disable
Remove the HWSEM locking around stm32_exti_disable().

The STM32 EXTI driver uses the core-local interrupt mask regsiters on
STM32H7x7 asym. dualcore MCUs. There is no need to lock the HWSEM
guarding the EXTI when accessing these registers.

Some sensor drivers toggle their interrupt mask every time the sensor
triggers the IRQ line. Locking the HWSEM fails e.g. in situations where
one coprocessor serivces the sensor and the other coprocessor sets up
its interrupts initially during bootup. This prevents the sensor driver
from locking the HWSEM and causes a kernel panic on the corresponding
CPU.

Note: The opposing stm32_exti_enable() was already correctly without
locking.

Signed-off-by: Martin Gritzan <martin.gritzan@gmail.com>
2023-10-20 15:15:15 +02:00
Håvard Reierstad
765b31979f Bluetooth: mesh: update model extension
Adds a goto statement to ensure that model extensions are registered
in Composition Data Page 1 if it is enabled.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-10-20 15:14:41 +02:00
Alberto Escolar Piedras
7e852d1708 drivers timer nrf: Correct dependencies for simulation
Let's make the nrf rtc kconfig depend on the SOC_COMPATIBLE
options which are set both by the real and simulated targets
so the configuration matches in both cases.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:14:30 +02:00
Daniel Leung
d1813e547e arm: using -EAGAIN directly instead of _k_neg_eagain
_k_neg_eagain is there for used in assembly where including
errno.h is not possible. However, the usage in ARM was simply
to assign value to swap_return_value in a C file, which is
no need to use _k_neg_eagain as errno.h can be included.
So change that to use -EAGAIN directly. Saves 4 bytes in
built binaries in rodata.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-20 15:14:13 +02:00
Dennis Grijalva
2516aa8b0b drivers: regulator: pca9420: Add support for configuring ASYS UVLO
Add support for configuring ASYS UVLO (under voltage lock out) threshold

Signed-off-by: Dennis Grijalva <dennisgrijalva@meta.com>
2023-10-20 15:14:04 +02:00
Ludvig Jordet
c613e23b4a Bluetooth: Mesh: Fix issue where dfu_cli could get stuck
This fixes an issue where the DFU client could get stuck trying to
transmit a message to servers if the DFU client was misconfigured, for
instance missing application key or network key.

Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
2023-10-20 15:13:53 +02:00
Mariusz Skamra
281ffe5b4f tests: Bluetooth: tester: Fix bt_micp_mic_ctlr_mute_get invalid usage
The call to bt_micp_mic_ctlr_mute_get function will return the value of
mute state in bt_micp_mic_ctlr_cb.mute callback. This fixes invalid
function calls by storing the recent mute state value in the
application.

Fixes: MICP/CL/SPE/BI-01-C
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 15:13:46 +02:00
Pavel Vasilyev
337ba330a2 Bluetooth: Mesh: Allow to set the extension list size to zero
If instantiated models don't have any relations at all, then the
extensions list will be empty. We should allow to disable it at all
to not waste RAM.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-20 15:13:35 +02:00
Robert Lubos
822a82d619 tests: lib: thrift: Fix timing issues with TCP
The test delegates putting the server socket into listening (i. e.
calling listen() on the socket) to a separate thread, which did have a
chance to run before client attempted to establish TCP connection.

This was not visible before, as we did not reply with RST to a
connection attempt on a closed port, so the connection was eventually
establish after SYN retransmission. But as we do reject such a
connection now with RST, the connection attempt failed. Therefore, a
small delay was added after spawning the server thread, to give it a
chance to configure the server socket.

Additionally, lower the CONFIG_NET_TCP_TIME_WAIT_DELAY value so that TCP
contexts are released earlier, and add a respective delay in the test
teardown function. Not doing so also triggered unneeded SYN
retransmissions, as there were no enough TCP context to accept the
incoming connection, before freeing the resources allocated for the
previous one.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-20 15:13:22 +02:00
Robert Lubos
4ea3d247d0 net: tcp: Add Kconfig option to enable TCP RST on unbound ports
Add Kconfig option to control TCP RST behavior on connection attempts on
unbound ports. If enabled, TCP stack will reply with RST packet (enabled
by default).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-20 15:13:22 +02:00
Robert Lubos
2b601b34ff tests: net: tcp: Add tests to cover improved RST handling
Add tests which verify that Zephyr's TCP stack replies with RST packet
as expected.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-20 15:13:22 +02:00
Robert Lubos
95d9543e2e net: tcp: Send RST reply for unexpected TCP packets
Send RST as a reply for unexpected TCP packets in the following
scenarios:
1) Unexpected ACK value received during handshake (connection still open
   on the peer side),
2) Unexpected data packet on a listening port (accepted connection
   closed),
3) SYN received on a closed port.

This allows the other end to detect that the connection is no longer
valid (for example due to reboot) and release the resources.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-20 15:13:22 +02:00
Robert Lubos
a28215d028 net: tcp: Add helper function to send RST packet w/o active connection
Add a helper function which allows to send a RST packet in response to
an unexpected TCP packet, w/o associated connection or net context.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-20 15:13:22 +02:00
Tahir Akram
7c7c8f193e drivers: modem: introducing config for cereg/creg for gsm
This contribution addresses the support for various types of modems in
gsm driver. As some 4G modems have failed to return correct output
from AT+CREG?, so AT+CEREG? is the right AT command in such situation.
This commit provides the possibility for user to select one type of
AT command. This PR fixes zephyrproject-rtos#63917

Signed-off-by: Tahir Akram <mtahirbutt@hotmail.com>
2023-10-20 15:13:08 +02:00
Tomasz Leman
adf6d0e3d8 soc: intel_adsp: lpsram enable retention mode
This patch enables memory retention mode on lpsram.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2023-10-20 15:12:53 +02:00
Tomasz Leman
eeb4f2f76d soc: intel_adsp: hpsram enable retention mode
This patch enables memory retention mode on hpsram.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2023-10-20 15:12:53 +02:00
Tomasz Leman
16f729214b soc: intel_adsp: lpsram init refactor
This patch contains small refactor of lpsram init function (defines
registers and adds new macro).

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2023-10-20 15:12:53 +02:00
Tomasz Leman
112611378f soc: intel_adsp: hpsram init refactor
This patch reuse existing macro for better readability.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2023-10-20 15:12:53 +02:00
Seppo Takalo
a95bafec74 net: lwm2m: Check access rights on composite operations
Composite operations need to check read/write access
rights as well.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-20 15:12:39 +02:00
Seppo Takalo
77ea861f12 net: lwm2m: Fix composite operations
As composite operations don't have path in CoAP packet,
it wrongly triggered a check for security object and got
denied the access.

Fixes #64012

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-20 15:12:39 +02:00
Seppo Takalo
bd0ad5bd66 net: lwm2m: Initialize empty string sizes correctly on objects
When objects are initialized, empty strings should be set to length of
zero, instead of length of the full buffer.

So use INIT_OBJ_RES_DATA_LEN() to give both, the buffer size and data
length.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-20 15:11:32 +02:00
Seppo Takalo
015b1103fb net: lwm2m: Properly initialize buffers for resource instance
When resource instances are initialized, we must calculate
beginning of the data buffer using the index and maximum
data length. Otherwise buffers would overlap with previous.

Fixes #64011

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-20 15:11:32 +02:00
Seppo Takalo
36d6a7257b net: lwm2m: Count null-terminator in string size
As the lwm2m_registry.c and specificly lwm2m_set()
functions already ensure null-terminator on string and
count that into string lenght, the content type handlers
should do the same.

When string is written, strlen()+1 is the data length.
When string is read, use the data length, so we don't
leak uninitialized strings. If buffer overrun have
removed the null-terminator the strlen() migh be larger
than data_len.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-20 15:11:32 +02:00
Jun Lin
e5e599c100 soc: npcx: add HAS_PM to npcx4
The Kconfig option HAS_PM, which must be needed for SoCs providing PM
hooks, is missing in npcx4.
This commit adds it to soc/arm/nuvoton_npcx/npcx4/Kconfig.series.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-10-20 15:11:14 +02:00
Flavio Ceolin
05fb54b090 doc: security: Update info about tools
Since there are multiple static analysis tools being used
now, it is better to change references for a particular one
and just point to static analysis section in the documentation.

JIRA is no longer used for tracking security issues. Update it
to Github.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-20 15:11:01 +02:00
Ioannis Karachalios
833d2051ae dts: renesas: smartbond: Support the RTC peripheral.
Update DTS and board configurations to support the RTC peripheral.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-10-20 15:10:44 +02:00
Ioannis Karachalios
9f76879a0b drivers: rtc: smartbond: Support RTC peripheral.
Add support for the RTC peripheral.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2023-10-20 15:10:44 +02:00
Emil Gydesen
0e67c990cd tests: Bluetooth: BAP: Add broadcast sink with assistant test
Add a test for the broadcast sink that uses the BAP
Scan Delegator functionality with a Broadcast Assistant
device adding the broadcast source.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:10:37 +02:00
Emil Gydesen
f58bea6b7b Bluetooth: BAP: Scan Delegator bis_sync_req cb called on rem
If a receive state is removed, then the bis_syn_req callback
will be called with 0x00000000, to indicate to the application
that the sink should be desynced.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:10:37 +02:00
Emil Gydesen
8e9b2c745a Bluetooh: BAP: Fix issue with SRC_ID_VALID flag
The flag was not properly set when the broadcast sink
did not add the source (e.g. if a broadcast assistant
added it).

This also downgrades two LOG_WRN to LOG_DBG as they may
happen without indicating an issue.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:10:37 +02:00
Nick Kraus
0f50df41f1 drivers: uart_emul: Add Emulated Errors
Allows test code to set UART errors, for driver code wanting
to test proper error handling.

Signed-off-by: Nick Kraus <nick@nckraus.com>
2023-10-20 15:10:27 +02:00
Nick Kraus
aeb85db627 drivers: uart_emul: Add IRQ Based TX
Added an interrupt based transmit routine and interrupt based
uart_emul tests.

Signed-off-by: Nick Kraus <nick@nckraus.com>
2023-10-20 15:10:27 +02:00
Maxin John
acaaa9e2c5 boards: riscv: longan_nano: add adc support
Add ADC support for longan nano.

Tested using samples/drivers/adc. Also added longan_nano.overlay
and updated documentation.

Signed-off-by: Maxin John <maxin.john@gmail.com>
2023-10-20 15:10:20 +02:00
Anas Nashif
2ab8c1b779 ci: do not run twister on set_assignees.py changes
No need to run twister when changing this script.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:10:11 +02:00
Anas Nashif
d9a300e4ae ci: various set_assignee fixes
Cleanup of script and change how we assign PR in general:

Make sure that when multiple areas are changed, including platform or
driver changes, we set assignee of the general areas and not the
platform maintainers. For example, if I change 100 SoC files and touch
the kernel file, the assignee is set to the kernel maintainer.

First, we should as much possible try and split such changes and not
have common area changes with platform changes at the same time. Second,
it is important that such changes which affect everyone are reviewed and
approved by the maintainer of the general areas rather than leave them
to the platform maintainer.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:10:11 +02:00
Anas Nashif
db8191a336 MAINTAINERS: few optimizations
Some minor optimzations.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:10:11 +02:00
Juha Ylinen
1aef034126 net: coap: add support for Echo option (RFC 9175)
Resend the request with Echo option and the received Echo
option value when receiving a 4.01 (Unauthorized) response
with the Echo option.

Add missing header file kernel.h to coap_client.h.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-10-20 15:09:44 +02:00
Juha Ylinen
1d9098f3f0 net: coap: Add support for request-tag (RFC 9175)
Add support for Request-Tag (RFC 9175) when doing block-wise
send.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-10-20 15:09:44 +02:00
Jaxson Han
7904c6f0f3 arch: arm64: Use voting lock for multi-core boot race condition
The exclusive load/store instructions don't work well when MMU and cache
are disabled on some cores e.g. Cortex-A72. Change it to voting lock[1]
to select the primary core when multi-cores boot simultaneously.

The voting lock has reasonable but minimal requirements on the memory
system.

[1] https://www.kernel.org/doc/html/next/arch/arm/vlocks.html

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-10-20 15:09:34 +02:00
Pavel Vasilyev
5b8a9517a1 tests: bluetooth: tester: Allow to compile mesh without LPN
This can be needed to qualify features without LPN support.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-20 15:09:25 +02:00
Pavel Vasilyev
6a2c102aca Bluetooth: Mesh: Keep sending Partial Block Report message
When the BLOB server is in Pull mode and all chunks were received for
the current block, and the current block is the last block, then
according to section 5.2.4 of MshMBTv1.0 the server should stop sending
BLOB Partial Block Report messages if it determines that the client
knows that the transfer is complete:

```
While the Pull BLOB State Machine is in the All Chunks Received state,
the Pull BLOB State Machine continues to send the BLOB Partial Block
Report messages until one of the following happens:
•  The Receive BLOB Timeout timer expires.
•  If the current block is not the last block, then the client starts a
new block, in which case a new Pull BLOB State Machine is instantiated.
•  If the current block is the last block, then the server determines
that the client knows the transfer is complete. For example, a
higher-layer model may indicate that the client considers the transfer
complete.
```

We currently don't have any OOB mean (for example, API) to determine
whether the client knows that the transfer is complete. We also need to
keep in mind that the Partial Block Report message can get lost so one
transmission may not be enough. The client could immediately send BLOB
Transfer Get message to get the transfer status, but this goes against
its state machine defined in section 6.2.4.2, where a Block transmission
completes when a BLOB Partial Block Report message is received with an
empty list of requested chunks (table 6.4, figure 6.1).

Because of this, we need to keep sending Partial Block Report messages.
We can keep sending them at least until Block Report timer expires.
If the client sends BLOB Transfer Get message, then it finished with
sending the block and we can change the phase and finish the transfer.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-20 15:09:25 +02:00
Pavel Vasilyev
136c5a9d57 tests: bluetooth: tester: Fix BLOB server model pointer
PTS uses BLOB server model instantiated by DFD server for MBT tests as
it is the first BLOB server model in the device composition data. DFU
server, which also has BLOB server model, is instantiated after DFD
server.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-20 15:09:25 +02:00
Flavio Ceolin
84f679d22d logging: Fix misuse of const and k_tid_t
"const k_tid_t" is "struct k_thread * const" and not
"const struct k_thread *" as the code may be assuming. Just
drop it.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-20 15:08:42 +02:00
Daniel Leung
cdd4d84703 xtensa: add custom mem range check functions
This provides custom memory range check functions as
it gets a bit complicated with cached/uncached regions.
These functions are marked as __weak so SoC or board
can override these if needed.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-20 15:08:34 +02:00
Daniel Leung
943e434559 mm: introduce CONFIG_KERNEL_VM_USE_CUSTOM_MEM_RANGE_CHECK
Sometimes the generic address range checker is not adequate
(think Xtensa cached/uncached pointers). This provides a way
to implement custom memory range checkers for those
situations. When enabled, sys_mm_is_phys_addr_in_range()
and sys_mm_is_virt_addr_in_range() must be implemented.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-20 15:08:34 +02:00
Ambroise Vincent
68dfd819c1 net: gptp: Create a stack size Kconfig option
The stack size was previously hardcoded in the source code, making it
difficult to change when enabling options that require a larger stack.

Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
2023-10-20 15:08:25 +02:00
Ambroise Vincent
357f88bb59 net: ethernet: Don't use VLAN tag on gPTP messages
According to IEEE Std 802.1AS-2011 11.3.3, gPTP messages are not
VLAN-tagged.

Remove the use of VLAN headers for gPTP messages on the TX path.
The RX path is handled by the drivers. The network drivers in Zephyr
might need to be updated as well in order to accept receiving
non-VLAN-tagged gPTP messages when the CONFIG_NET_VLAN option is
selected.

Continue sending gPTP packets with VLAN tags when CONFIG_NET_GPTP_VLAN
is enabled. Specify that this option is for testing purposes.

Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
2023-10-20 15:08:25 +02:00
Ambroise Vincent
d0ac02a18d net: gptp: Invert priority of outgoing packets
The previous implementation was setting priority 3 (Critical
applications) for Sync, Pdelay and Pdelay_Resp messages; and priority 6
(Internetwork control) for the other PTP messages. This might have been
done under the incorrect understanding that "Critical applications" was
the highest priority.
This resulted in the Pdelay_Resp_Follow_Up getting sent before the
Pdelay_Resp message when enough TC_TX queues were being used
(NET_TC_TX_COUNT >= 2), which is an inversion compared to the intended
order.

Invert the priority of the outgoing PTP packets so that the PTP event
messages are sent with higher priority, as was originally intended.

Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
2023-10-20 15:08:25 +02:00
Ambroise Vincent
b7df39f81f net: ip: Clarify highest priority traffic class
The priority 3 (Critical applications) was incorrectly marked as
"highest priority", which might have led to incorrect use of
NET_PRIORITY_CA in some cases.

Note that this is already correctly advertized in other places, as it
was partially fixed in af8a0b1a5d.

NET_TC_SKIP_FOR_HIGH_PRIO was previously only allowing to push priority
3 (Critical applications) packets directly to the driver, but not the
ones with a higher priority. Change it so that it is now in effect for
priority 3 and above.

Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
2023-10-20 15:08:25 +02:00
Alperen Şener
2972341388 tests: bluetooth: tester: add page number to response
PTS requires IUT to send requests with page number with
0xFF or the highest supported page number in order to
retrieve all the composition data pages from the lower
tester.

This commit add the page number to the response, thus
the upper tester can follow the last page number and
send the next page request until page 0 is requested.

Signed-off-by: Alperen Şener <alperen.sener@nordicsemi.no>
2023-10-20 15:08:07 +02:00
Jonathan Rico
098b5bd05b tests: bsim: send SIGKILL if app doesn't respond to SIGTERM
I have seen the CI hang (both downstream and upstream) as the executable
doesn't always respond to the SIGTERM sent by `timeout`.

This will prevent that behavior. 5 whole seconds ought to be enough to
clean-up a small program.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-10-20 15:07:58 +02:00
Anders Storrø
cc87833116 tests: Bluetooth: Mesh: Add priv beacon cache test
Adds Bsim test that verifies private beacon cache functionality.
The test checks that replays of the same private beacon
message is discarded.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:07:51 +02:00
Anders Storrø
eb480a7599 tests: Bluetooth: Mesh: Add SNB cache test
Adds Bsim test that verifies SNB cache functionality.
The test checks that replays of the same SNB
message is discarded.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:07:51 +02:00
Anders Storrø
f9ee38060d tests: Bluetooth: Mesh: Arg bug in beacon creation
Fixes bug in private_beacon_create function in beacon test
implementation.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:07:51 +02:00
Anders Storrø
0ce77c227b Bluetooth: Host: CMake dependency for Mesh Bsim
Links host to mbedTLS library if Bluetooth Mesh is enabled, and
CONFIG_BT_TESTING=y.

Bluetooth Mesh has test dependencies in the host.
In order to compile Bsim tests with these test features
and PSA enabled, the libraries must be linked.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:07:51 +02:00
Seppo Takalo
2df58f65ce samples: lwm2m: Add docker test script
Add test script that uses same configuration that the
interoperability test.

This is only checking that unsecure client registers and
responds to a GET query.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-20 15:07:34 +02:00
Tim Lin
35e3dfed2d ITE: soc: Add the variant of it82002aw
This variant uses the same die as IT82202/IT82302 series and has
a pinout compatible with IT513xx series packages.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-10-20 15:07:28 +02:00
Mulin Chao
0d59aa1ab4 sensor: adc_cmp: npcx: use BUILD_ASSERT to check thr-sel value
This CL uses BUILD_ASSERT macro to check whether `thr-sel` is out of
range instead of using NPCX series definitions.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-10-20 15:07:21 +02:00
Mulin Chao
a6496e056b soc: npcx: replace Nuvoton NPCX series definitions in the npcx drivers
Replace Nuvoton NPCX series definitions with new Kconfig definitions in
the npcx drivers. The benefit of this approach is that we won't touch
the npcx driver sources again during introducing a new npcx series next
time.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-10-20 15:07:21 +02:00
Erwan Gouriou
7b50c38ec9 tests: drivers: serial: async: Add configuration for STM32WBA tests
Add STM32WBA test configuration to enable async API serial tests.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-20 15:05:59 +02:00
Erwan Gouriou
1e46413729 boards: nucleo_wba52cg: Add LPUART node description
Enable LPUART1 node on nucleo_wba52cg so it could be used to performed
uart tests.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-20 15:05:59 +02:00
Erwan Gouriou
52d47fcf96 dts: stm32wba: Add GPDMA support
Add GPDMA1 node description to STM32WBA devices.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-20 15:05:59 +02:00
Emil Gydesen
a38d534ae0 Bluetooth: BAP: Shell: Add better checks for bis_sync
Since the BIS indexes start at 0x01, then BIT(0) is a
invalid BIS sync value and shall not be sent by the
broadcast assistant.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:05:51 +02:00
Jonathan Rico
028cf8037b tests: Bluetooth: add sleep in notify cb testcase
Validates that nothing nefarious happens if the application decides to
wait an arbitrary amount of time in notification callbacks.

Also validates that a disconnection during said waiting works as
expected.

E.g. in #48505, the user was trying to send data synchronously over UART
_inside_ the notification callback. Then the device was disconnected
whilst still waiting.

This kind of pattern is not recommended, but the stack should still
function correctly, stalling the "BT RX" thread shouldn't result in
state corruption or resource leakage.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-10-20 15:05:45 +02:00
Emil Gydesen
779f725db3 Bluetooth: CAP: Add verification of CCIDs as the initiator
When the initiator provides CCID in the metadata, we verify
that the CCIDs exist on the device.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:05:33 +02:00
Lukasz Hawrylko
a422e1d8fb boards: arm: nucleo_wb55rg: enable aes1
Enable AES1 peripheral by default to add support for drivers/crypto sample.

Signed-off-by: Lukasz Hawrylko <lukasz@hawrylko.pl>
2023-10-20 15:05:26 +02:00
Lukasz Hawrylko
6424949dfd dts: arm: stm32: add AES1 peripheral to stm32wb family
STM32WB MCUs has two AES peripeherals. Add AES1 definition, AES2 must not
be used by application CPU core.

Signed-off-by: Lukasz Hawrylko <lukasz@hawrylko.pl>
2023-10-20 15:05:26 +02:00
Lukasz Hawrylko
5d113be341 drivers: crypto: add support for stm32wb family
STM32WB MCUs have two AES peripherals: AES1 for application use and AES2
dedicated for network stack. This patch modifies stm32 crypto driver to
use AES1 peripheral when building for STM32WB.

Signed-off-by: Lukasz Hawrylko <lukasz@hawrylko.pl>
2023-10-20 15:05:26 +02:00
Troels Nilsson
7d96c997e2 Bluetooth: Controller: Fix endianness issues for SyncInfo
Fix bitfield crossing byte boundary - replaced with macros for
setting/getting the values

Fix missing endianness conversion for evt_cntr

Changed aa from uint32_t to uint8_t[4] to align with the rest of
the code and avoid any potential endianness issues

Signed-off-by: Troels Nilsson <trnn@demant.com>
2023-10-20 15:05:20 +02:00
Emil Gydesen
3b58fec96c Bluetooth: CAP: Add size and rank checks for CAS register
For the CAP acceptor the size and rank characteristic shall
be set as per the CAP spec. Add checks for 0, as 0 indicates
not initializing the characteristics in the CSIS instance.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:05:00 +02:00
Anders Storrø
49bd77ad54 tests: Bluetooth: Mesh: Priv Proxy GATT test
Adds test verifying that Private Beacons are received
over a GATT proxy connection.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:04:54 +02:00
Anders Storrø
6f2ebb963a Bluetooth: Mesh: Add proxy test API
Adds internal proxy API to enhance testabillity of
the proxy implementation.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:04:54 +02:00
Anders Storrø
5551b4cfad Bluetooth: Mesh: Priv net id parse on proxy cli
Adds parsing of Private Network Identity parsing in the proxy client,
allowing the client to use these messages to establish a GATT
connection.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-20 15:04:54 +02:00
Andrei Emeltchenko
76c73938e7 drivers: ncp5623: Fix error check
num_colors cannot be not equal to different values at the same time.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-20 15:04:46 +02:00
Anas Nashif
488e959f03 manifest: zsclib module sha
Remove usage of obsolete Kconfig in module.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Anas Nashif
719fee2bbc doc: ztest: adapt ztest docs
Remove remaining usage and documenation of dropped kconfig that is now
the default.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Anas Nashif
996c8457d7 ztest: remove old ztest api
Remove old Ztest API entirely. New API is the now the default.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Anas Nashif
85c4703a46 drivers: fake: now just check for CONFIG_ZTEST
Old ztest API is deprecated, so only check for CONFIG_ZTEST.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Anas Nashif
f067bc43c9 tests: sensor: do not depend on ZTEST_NEW_API
Old ztest API is deprecated, so no need for the conditional code here.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Anas Nashif
e77a659698 cmsis_dsp: remove handling of old ztest API
Old ztest API is deprecated, so no need for the conditional code here.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Anas Nashif
345735d0a8 tests: remove CONFIG_ZTEST_NEW_API in all tests
Remove all usage of CONFIG_ZTEST_NEW_API from tests and sample as this
is now enabled by default.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Anas Nashif
01281ed8af ztest: enable ZTEST_NEW_API by default
Enable by default so we can remove kconfigs from tests/samples and keep
things working as before.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-20 15:04:29 +02:00
Adam Wojasinski
97b351fb66 drivers: i2c: i2c_nrfx_twim: Add support for new instances
This patch intoduces new instances in TWIM SHIM for i2c driver.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-10-20 15:04:10 +02:00
Adam Wojasinski
5685af0923 modules: hal_nordic: Add support for new TWIM instances
Add Kconfig and symbols for twim: 20-22, 30, 121, 130-137 instances

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-10-20 15:04:10 +02:00
Dmitrii Golovanov
c8d6a62b9d samples: gdbstub: doc: Remove redundant sample
Remove gdbstub sample (samples/subsys/debug/gdbstub) as duplicated
by a test (tests/subsys/debug/gdbstub).

Update the GDB stub documentation.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-20 15:03:55 +02:00
Dmitrii Golovanov
664d96785b tests: gdbstub: qemu: Cross-validate test behavior
Add a testcase to run the same test application and GDB script
which we use for Zephyr GDB stub testing, but now with
the GDB stub enabled at QEMU itself using it as a reference
RDP backend implementation. This allows to check the Zephyr's
gdbstub implementation has similar behavior as the reference.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-20 15:03:55 +02:00
Dmitrii Golovanov
236c1ac5de tests: gdbstub: Add GDB remote target parameter
Add `gdb_target_remote` test parameter for GDB `target remote`
command instead of its hardcoded value to allow different types
of gdbstub serial interfaces as well as different TCP ports in
gdbstub test suites possibly run in parallel on the same host.

Move all GDB log configuration parameters from GDB script to
the fixture code.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-20 15:03:55 +02:00
Dmitrii Golovanov
5008c31f8c config: qemu: Add QEMU_EXTRA_FLAGS config option
Add QEMU_EXTRA_FLAGS as QEMU board config option.

This allows Twister tests to provide additional device setup
commands to QEMU in prj.conf or testcase.yaml configuration files.

Example use case: to setup TCP or UDP network interfaces
with non-conflicting port numbers in different test suites
to avoid conflicts when Twister run tests in parallel on the
same host.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-20 15:03:55 +02:00
Dmitrii Golovanov
cbbb1cabd6 tests: gdbstub: Improve test case
Gdbstub test improvements: using pytest fixtures, parametrization, and
expected pattern matching on outputs from GDB and the test application.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-20 15:03:55 +02:00
Dmitrii Golovanov
c9e651b12c tests: samples: gdbstub: make test out of the sample
Clone samples/subsys/debug/gdbstub to tests and convert it back
to a build-only sample aligned with documentation.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-20 15:03:55 +02:00
Rubin Gerritsen
65501061ed Bluetooth: Controller: Kconfig: Move out BT_LL_SW_SPLIT configs
BT_CTLR_ISOAL_LOG_DBG_VERBOSE, BT_CTLR_ISO_TX_SEG_PLAYLOAD_MIN, and
BT_CTLR_CONN_ISO_AVOID_SEGMENTATION are very tied to the BT_LL_SW_SPLIT
implementation. It is very unlikely that these will ever be used by
another controller

Therefore move them out to the BT_LL_SW_SPLIT specific configuration
file. This will likely create less confusion when using another
controller.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2023-10-20 15:03:46 +02:00
Daniel DeGrasse
a9aad1de31 samples: modules: lvgl: enable widgets demo
Enable LVGL widgets demo within Zephyr. This demo requires additional
stack and heap space in order to execute correctly, so raise the stack
and heap size to enable it to run.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-20 15:03:37 +02:00
Dennis Grijalva
78b4735e07 drivers: led: led_pwm: Fix PM callback error logging
If the underlying PWM device does not have a PM callback,
the PWM LED driver will flood the console with error logs.
The change ignores the error if there is no PM callback
for the PWM device.

Signed-off-by: Dennis Grijalva <dennisgrijalva@meta.com>
2023-10-20 15:03:27 +02:00
Adam Wojasinski
30b8d4ca99 drivers: spi: spi_nrfx_spim: Add new SPIM instances in driver
Add support for new instances.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-10-20 15:03:17 +02:00
Adam Wojasinski
5c1daef5ab drivers: spi: nrfx: Add SPIM Kconfig symbols for new instances
Add support for upcomming SPIM instances.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-10-20 15:03:17 +02:00
Emil Gydesen
6054714a08 Bluetooth: BAP: Add PSN debug log support
Add a Kconfig that enables support for logging and
debugging invalid sequence numbers.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:02:55 +02:00
Adrian Wojak
5b9a7d0553 drivers/sensor: lis2dw12: add wakeup_duration support
Add wakeup_duration support. (WAKE_DUR in WAKE_UP_DUR)
Value is configurable through DT per instance.

Signed-off-by: Adrian Wojak <adrian.wojak@outlook.com>
2023-10-20 15:02:41 +02:00
Michele Imbriani - Oticon
a8f2dc21b5 bluetooth: audio: added broadcast source filtering
Added filtering the broadcast sources by CONFIG_BT_DEVICE_NAME.

Signed-off-by: Michele Imbriani - Oticon <mbim@demant.com>
2023-10-20 15:02:28 +02:00
Michele Imbriani - Oticon
b435dc1c6a bluetooth: shell: Fixed logic in is_substring function
Fixed the character check in is_substring function.

Signed-off-by: Michele Imbriani - Oticon <mbim@demant.com>
2023-10-20 15:02:28 +02:00
Alberto Escolar Piedras
a12dff48ac samples net/posix: Rename old Makefiles and clarify READMEs
The old Makefiles which can be used to build this samples
directly as Linux apps and the description in the READMEs
could be quite missleading.

Building this apps in this way has nothing to do with the
Zephyr native_posix/sim targets. This is about building
them as actual Linux applications without Zephyr or any
HW models.

So let's rename the Makefiles and change the description
in the docs to avoid confusion.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:01:42 +02:00
Alberto Escolar Piedras
5f8057e262 libC kconfig: default to PICOLIBC for NATIVE_LIBRARY if POSIX_API
When building with the POSIX_API we cannot use the host libC.
When using GETOPT it is similarly quite difficult for users
to use the host libC.
So to make it easier for users, let's just default to PICOBLIC
in those cases,
while we continue defaulting to the host library in other cases
so users can use the Linux APIs for whatever test functionality
they want.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:01:34 +02:00
Alberto Escolar Piedras
826c54efc9 tests posix pthread_pressure: Fix for native targtets
The infinite loop during the test needs to be broken
with a small delay when built for native targets.
Let's add it.
Note that this delay is only added for ARCH_POSIX targets
and not any other.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:01:25 +02:00
Alberto Escolar Piedras
5acca099ff POSIX API: Fix posix_types.h for native builds
The inclusion of the compiler provided sys/types.h
should depend on not using the host C library,
and not just of building for a native target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:01:25 +02:00
Alberto Escolar Piedras
11aa5c513f tests posix getopt: Minor fix for native targets
This test should be compiled without host headers
when built without the host libC, and at the same
time, it does not support building with the host
libC, so let's remove the condition that includes
the host libC header to avoid extra confusion.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:01:25 +02:00
Alberto Escolar Piedras
50793e32a8 tests posix event_fd: Fix for native targets
The infinite loop during the stress needs to be broken
with a small delay when built for native targets.
Let's add it.
Note that this delay is only added for ARCH_POSIX targets
and not any other.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-20 15:01:25 +02:00
Jeppe Odgaard
f1ae151ef6 samples: flash_shell: remove sample code and use FLASH_SHELL
The flash sample and flash shell have implementations that differ
providing similar features.
This commit removes all the code in main.c, only `main()` remains to
reduce redundancy.

Features or improved implementations has not been merged into the flash
shell in this commit.
It should be possible to do in future commits if desired.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-10-20 15:01:17 +02:00
Jeppe Odgaard
921104042d drivers: flash: enable MPU_ALLOW_FLASH_WRITE for ARM MPUs
Select MPU_ALLOW_FLASH_WRITE to avoid write test failure for ARM MPUs.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-10-20 15:01:17 +02:00
Daniel DeGrasse
906ee53834 drivers: i2s: i2s_mcux_sai: use clock-mux property to select SAI mux
Use a new property, "clock-mux" to select the clock mux for the SAI.
Previously, the clock mux was being selected using the "bits" specifier
of the "clocks" phandle property, which is not the purpose of this
specifier. This can be shown by the regression introduced by 5bebbb91,
which changed the "bits" field to the clock gate shift (which is the
intended meaning).

This incidently worked for the SAI1 and SAI3 peripherals, as the lower 2
bits of the correct clock source selection (0b10) are the same as the new
value placed in the "bit" specifier. For SAI2, the clock source was
switched to PLL3 PDF0 by this change.

To resolve this, use an explict "clock-mux" property for this selection.

Fixes #63541

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-20 15:01:10 +02:00
Alexander Kaiser
078cec1e1f usb: msc: Added check for negative overflow length
Added a check for when current_offset plus size is less than BLOCK_SIZE.

Signed-off-by: Alexander Kaiser <akaiser@urbansky.com>
2023-10-20 15:00:57 +02:00
Emil Gydesen
82552b8627 samples: Bluetooth: Add rx stats for BAP Broadcast Sink
Add additional RX stats for the BAP broadcast sink so that a
user can easily follow how well the RX is working, and
for several streams.

This also adds some additional logging to better see
what we are syncing to.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:00:49 +02:00
Jukka Rissanen
c345f59910 drivers: eth: native: Add native-sim support to posix Ethernet driver
This will enable Ethernet driver to be used when compiling
for native-sim board.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-20 15:00:41 +02:00
Jukka Rissanen
0bd323ab88 board: native: Update the posix Ethernet driver documentation
Remove the mention of startup script and update the documentation
to reflect the current way of working i.e., using net-setup.sh script
before starting the zephyr.exe process.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-20 15:00:41 +02:00
Jukka Rissanen
7b40014504 samples: net: Remove eth_native_posix sample app
This application is no longer needed as we have removed
the automatic startup support which was used by this sample.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-20 15:00:41 +02:00
Jukka Rissanen
28bd5423ff drivers: eth: native: Remove automatic start script support
As the automatic start requires that the zephyr exe is run as
a root user, it is somewhat cumbersome to use. Remove the script
support and require that the zeth device is created beforehand
by the net-setup.sh script found in net-tools zephyr project.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-20 15:00:41 +02:00
Alperen Şener
e3b63e7baf bluetooth: tester: Enable composition data page 2
Enabling the composition data page 2 feature and
adding tester support.

Signed-off-by: Alperen Şener <alperen.sener@nordicsemi.no>
2023-10-20 15:00:34 +02:00
Emil Gydesen
a2ab57c240 Bluetooth: Audio: Update bsim and shell to use codec set chan alloc
Update the BSIM test and the shell to use
bt_audio_codec_cfg_set_chan_allocation rather than implementing
their own versions.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 15:00:27 +02:00
Daniel Leung
7a7aeb21e2 boards: qemu_xtensa: use dc233c core
This changes qemu_xtensa to use dc233c core instead of
sample_controller. The sample_controller uses a very
basic configuration which lacks features usually needed
in real world applications. Instead, use the dc233c core
as the base for qemu_xtensa so we can use QEMU to cover
more of our code path.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-20 15:00:14 +02:00
Benjamin Cabé
17fad703c5 samples: lvgl: sensor: Add LVGL sample for real-time sensor data chart
This adds a new sample for LVGL that displays a real-time chart for
accelerometer data acquired from &accel0 sensor.

This also adds the appropriate overlays so that the sample can also run
on native POSIX and native sim using emulated BMI160.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-20 15:00:02 +02:00
Przemyslaw Bida
cc85223ed4 net: openthread: Remove waiting for DTR in openthread UART.
Uart driver for openthread have been waiting for host to start
communicating with coprocessor, during booting of the Zephyr and
by that blocking start os OS. There is no longer a need for
that since the stack will be soft rebooted after host connects
to coprocessor, removing the need to wait on host communication.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-10-20 14:59:47 +02:00
Henrik Eriksen
3aeeeb746a bluetooth: tester: cas: Added support for testing Common Audio Service
- Set Member Lock
- Get Member RSI

Signed-off-by: Henrik Eriksen <heri@demant.com>
2023-10-20 14:59:39 +02:00
Patryk Duda
ce438da14f llvm: Add support for LLVM libc++ C++ Standard Library
LLVM toolchain provides its own C++ standard library called libc++.
This patch adds new LLVM_LIBCXX config which should be used to indicate
that libc++ is used.

Information about library can be found at https://libcxx.llvm.org

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2023-10-20 14:59:31 +02:00
Mark Olsson
ffb4426877 boards: shields: add MikroElektronika ACCEL 13 Click shield
Add shield definition for the MikroElektronika ACCEL 13 Click.
The ACCEL 13 Click carries a IIS2DLPC ultra-low power triaxial
accelerometer sensor in a mikroBUS form factor.

Signed-off-by: Mark Olsson <mark@markolsson.se>
2023-10-20 14:59:20 +02:00
Radoslaw Koppel
48b93ee0aa scripts: build: gen_isr_tables: Cleanup access to ".intList"
This commit removes the needs or generating isrList.bin temporary file.
Now gen_isr_tables.py script access the required section directly in
elf file, that was accessed by the script anyway.
It simplifies the building removing one step.

Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
2023-10-20 14:58:55 +02:00
Florian Grandel
e9d5a98e9d drivers: ieee802154: improve CSL standard conformance
This change slightly simplifies the configuration of a CSL receiver and
generalized CSL_RX_TIME to EXPECTED_RX_TIME as a re-usable primitive
across several timing-sensitive IEEE 802.15.4 standard sub-protocols
(namely BE-PANs/DSME/CSL/RIT/TSCH).

This API change is based on the rules outlined in RFC #61227.

Fixes: #62918

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-20 14:58:32 +02:00
Florian Grandel
80da9ddfef drivers: ieee802154: improve ACK header IE config
Improves standard conformance of the IEEE802154_CONFIG_ENH_ACK_HEADER_IE
option and introduces certain "soft MAC" capabilities around header IEs:
 * Introduces types and helpers that allow driver maintainers to
   represent, parse, write and validate header IEs.
 * Introduces helper functions to access non-aligned fields in header
   IEs, namely element IDs.

Updates the only existing L2 and driver pair that uses
IEEE802154_CONFIG_ENH_ACK_HEADER_IE: OpenThread platform radio and nRF5
and improves header IE validation in the nRF5 driver.

This change should help further driver maintainers to support
OpenThread's CSL and vendor IE extensions. It is based on the rules
specified in RFC #61227.

It is also a precondition to generically support both, "soft MAC" and
"hard MAC", approaches to header IEs in the TSCH protocol, namely the
time synchronization IE.

Fixes: #62940

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-20 14:58:23 +02:00
Florian Grandel
62396443fc drivers: ieee802154: deprecate OT "sleep" nomenclature
"Sleeping" has a well defined meaning in Zephyr related to threading and
power management. This differs from OpenThread's definition:

- Deprecates the "SLEEP_TO_TX" capability as it is redundant and
  conflicts with all of Zephyr's nomenclature, #61227, RFC 2863, Thread
  standard and IEEE 802.15.4. This binds the API to an implementation
  detail of OpenThread, instead. See #63670 for the agreed migration path.

- Renames the "SLEEP" event to "RX_OFF" which conforms to the
  nomenclature in Zephyr, this API and IEEE 802.15.4.

Fixes: #62995

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-20 14:58:16 +02:00
Lukasz Majewski
768fe29f90 arm: stm32: nucleo_g431rb: Enable support for Random Number Generator (RNG)
The nucleo_g431rb board is equipped with STM32G491RE microcontroller,
which do have the RNG IP block.

However, by default it is not enabled. To make it working properly, the
provided clock needs to fulfill following condition:
fRNGCLK < fHCLK/32, otherwise RNG_SR would set CEIS (bit5) and CECS
(bit1).
When combined with enabled interrupt from RNG, one would experience the
interrupt storm.

In this patch the DTS for this board has been adjusted properly, as well
as the board description has been updated to reflect RNG support.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-10-20 14:57:57 +02:00
Seppo Takalo
8ffb64d46f net: lwm2m: Allow configuring update period
Add new configuration value CONFIG_LWM2M_UPDATE_PERIOD
that allows calculating update period from last update,
instead of calculating it from the lifetime.

In runtime, server is allowed to change the lifetime of the
registration which causes update perdiod to be effected.

When fixed update period is preferred, UPDATE_PERIOD
config is then used.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-20 14:57:38 +02:00
Michał Barnaś
5246cea800 usbc: improve error handling in the ucpd_stm32 and vbus_adc
As noted in PR#63165 checking of result should use comparison to
success value instead of checking if result is negative. It will
allow to check if function returned invalid but positive value.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
3848e4c023 usbc: add checks for results of TCPC functions
This commit adds checks for results and in case of error, handles it.
The failed initialization of the TCPC can postpone initialization in
case the TCPC needs more time after powering up. Otherwise if other
error happened, the Type-C Layer will be disabled.
Errors in other places of the USB-C stack, like communication errors,
moves the state machine to the error recovery, restarting the
communication with parner.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
fe0b6af337 usbc: merge the is_rx and get_rx_pending_msg functions
These two functions are used together so there is no need for
splitting them into two functions. This commit also makes this
function required to be implemented by the TCPC driver.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
793d29d23f usbc: check if setting the CC and VCONN was successful
This commit adds check in cc_open entry state and logs if setting
either of the values were unsuccessful.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
cff8bb2687 usbc: check if sampling CC lines were successful
When the get_cc function returns error, the CC lines should be
considered as open. It may happen either due to some chip malfunction
or chip going into sleep mode and needing time to reinitialize.
TCPC should only go to sleep if there is no partner attaches, so
in case of this error, the lines should be considered as disconnected.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
0f4eb42c97 usbc: check if message is pending before trying to receive it
If TCPC supports checking for pending messages, it should be done
instead of forcefully trying to read the message and getting no-data
result. This helps with powereficiency for chips that go to sleep
when there is no message pending. Trying to read the message can
wake up the chip providing higher power usage.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
216bc4db73 usbc: add check if tcpc initialization was successful
The TCPC driver initialization can be unsuccessful and it should be
checked and logged if that's the case.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
88b6fc62d5 usbc: change type for functions that may return error code
TCPC API functions should be able to inform the caller if the function
is supported and successfully executed. Bool values doesn't allow this
so it is needed to change the type to int.
For is_rx_pending_msg function the return code should conform to
existing error codes, so in case of function being not supported,
the -ENOSYS should be returned. In case of successful execution,
if there is no pending message, the -ENODATA should be returned and
in case of message pending, the value of 0.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:32 +02:00
Michał Barnaś
2e3fcbfaa4 usbc: add "chip" subcommand for "tcpc" shell command
Add "chip" subcommand that displays the vendor, product and device
identifiers for all TCPC referenced by USB-C connectors.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:12 +02:00
Michał Barnaś
8270d0495d usbc: add "vbus" subcommand for "tcpc" shell command
Add "vbus" subcommand that displays VBUS voltages for all USB-C
connectors.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:12 +02:00
Michał Barnaś
24d152ace3 usbc: add "tcpc" shell command
Add "tcpc" shell command with "dump" subcommand used to dump
all registers of all the TCPCs.

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2023-10-20 14:57:12 +02:00
Emil Gydesen
f67f840def tests: Bluetooth: Add tx/rx and data verification for BAP unicast
The BAP unicast babblesim tests now does RX and TX
and verifies that the data is correctly received on both
the client and server.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 14:56:28 +02:00
Emil Gydesen
ab60f5e6bc tests: bsim: Bluetooth: BAP Broadcast data validation
Add validation of sending and receiving dummy data.
Previously, due to a bug, we actually never sent any data
and still passed the test.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 14:56:28 +02:00
Emil Gydesen
9c47eb924f Bluetooth: Audio: Refactor codec_cfg_get_frame_duration_us
Refactor the codec_cfg_get_frame_duration function to return the
assigned numbers value, instead of a converted value, but with
support for converting the value.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 14:56:13 +02:00
Tim Lin
0bb77191c0 drivers/serial: ns16550: Add high speed baud rate support for IT8XXX2
Add the support of high speed baud rate 230.4k and 460.8k
for IT8XXX2 of ITE.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-10-20 14:56:06 +02:00
Ye Weize
2a86016aff drivers: spi: Add Intel SEDI driver
Add a new SPI shim driver for Intel SoCs. Builds upon the SEDI bare
metal SPI driver in the hal-intel module.

Co-Authored-By: Kong Li <li.kong@intel.com>
Signed-off-by: Ye Weize <weize.ye@intel.com>
2023-10-20 14:55:49 +02:00
Peter Ujfalusi
97bb67d66c drivers: intel: ssp: Revise receive FIFO draining
The receive FIFO needs to be drained in a different way depending when it
is done.
- before start
If the RX FIFO is in overflow state then we must read all the entries out
to empty it (it was after all full).

- before stop
The DMA might be already running to read out data. Check the FIFO level
change in one sample time which gives us the needed information to decide
to wait for another loop for the DMA burst to finish, wait for the DMA to
start it's burst (DMA request was asserted) or drain the FIFO directly.

No need to drain the RX fifo at probe time.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-10-20 14:55:43 +02:00
Peter Ujfalusi
d75127caa4 drivers: intel: ssp: Correct FIFO depth value for CAVS25 platforms
The actual FIFO depth in Tiger Lake platforms is 32 and not 16.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-10-20 14:55:43 +02:00
Ricardo Rivera-Matos
e8e907b5a5 tests: build_all: charger: Builds BQ24190 driver
Adds the BQ24190 driver to the build_all test.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
2107c9109f samples: charger: Creates a generic sample application for chargers
Creates a generic sample application that executes a simple charging
task loop capable of completing a basic charge cycle.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
fd06cd7c97 drivers: charger: Introduces BQ24190 support
Adds support for the BQ24190 family of charging ICs.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
65c36b7519 dts: charger: bq24190: Adds dt-bindings for BQ24190
Adds devicetree bindings for the BQ24190 family of charging ICs

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
5b1a7b0f2a dts: battery: Create bindings for common battery properties
Adds a devicetree for describing common battery characteristics used
by multiple devices and subsystems.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
59bb1c523c charger: Adds CHARGER_CONSTANT_CHARGE_VOLTAGE property
Adds a new runtime property called CHARGER_PROP_CONSTANT_CHARGE_VOLTAGE
to the charger API. This can be used to get/set the charger
constant voltage regulation target.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
c7f22eee9f charger: Adds CHARGER_CHARGE_TERM_CURRENT property
Adds a new runtime property called CHARGER_PROP_CHARGE_TERM_CURRENT
to the charger API. This can be used to get/set the charger
termination current target.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
610143dab4 charger: Adds CHARGER_PRECHARGE_CURRENT property
Adds a new runtime property called CHARGER_PROP_PRECHARGE_CURRENT
to the charger API. This can be used to get/set the charger
conditioning current sink target.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
ec024b850e charger: Adds CHARGER_CONSTANT_CHARGE_CURRENT property
Adds a new runtime property called CHARGER_PROP_CONSTANT_CHARGE_CURRENT
to the charger API. This can be used to get/set the charger constant
current sink target.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
d47447c763 charger: Adds CHARGER_HEALTH property
Adds a new runtime property called CHARGER_PROP_HEALTH to
the charger API. This can be used to get the charger health
condition.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
Ricardo Rivera-Matos
a32feddaf3 charger: Adds CHARGER_CHARGE_TYPE property
Adds a new runtime property called CHARGER_PROP_CHARGE_TYPE to
the charger API. This can be used to get/set the charging scheme
used to charge the battery pack.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-10-20 14:55:22 +02:00
TOKITA Hiroshi
90bd7863c7 drivers: spi: pl022: correcting error check condition
Only negative return values of pinctrl_apply_state are errors.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-10-20 14:55:03 +02:00
Øyvind Rønningstad
bb1cfbad19 twister: Add option for generating rom.json and ram.json
Generate the files via the 'footprint' target for each project.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2023-10-20 14:54:54 +02:00
Torsten Rasmussen
f9f0748c96 cmake: Zephyr kernel version.h and app_version.h creation
Change the creation of version.h and app_version.h to apply the
KERNEL_VERSION_CUSTOMIZATION APP_VERSION_CUSTOMIZATION values as target
properties instead of CMake variables.

This allows more freedom for users / Zephyr modules to adjust the value
of KERNEL_VERSION_CUSTOMIZATION and APP_VERSION_CUSTOMIZATION values and
thereby make use of the functionality introduced with #61635.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-10-20 14:54:36 +02:00
Pavel Vasilyev
7c7ea38471 bsim: bluetooth: mesh: Increase Net Transmit Count value on the node
This is to increase probability of reception of responses (Config Status
messages) from the node when the provisioner sends a Set message and the
node response with a Status message at the same time so that the message
collide.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-20 14:54:17 +02:00
Lingao Meng
c2b2641fc1 Bluetooth: Mesh: Move ext adv sector to vector
Obviously, it looks obscure by putting it in a sector,
so, let's move to vector.

refs: https://github.com/zephyrproject-rtos/zephyr/pull/57883

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-10-20 14:54:17 +02:00
Lingao Meng
1b22324317 Bluetooth: Mesh: Use system workqueue for dhkey gen
Since the default process dhkey gen in bt rx, will block send
Trans Ack, cause peer device send more package.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-10-20 14:54:17 +02:00
Lingao Meng
141467a261 Bluetooth: Mesh: Rename adv relay to adv simultaneous
Since notice that simultaneous advertising is not only used
by relay message, provision over pb-adv can also be used.
so it was changed to a more general name.

refs:https://github.com/zephyrproject-rtos/zephyr/pull/48903

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-10-20 14:54:17 +02:00
Lingao Meng
b14d235c31 Bluetooth: Mesh: Remove bits for adv tag
since tag for buf single only, no need for bit, also for
save some memory for rfu.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-10-20 14:54:17 +02:00
Mariusz Skamra
49e7030363 Bluetooth: audio: has: Minor logging improvement
This adds more logs for debugging purposes.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
27049744b9 Bluetooth: audio: has: Remove include of conn_internal header
This makes use of bt_conn_get_info function to access the conn address.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
df1fd21892 Bluetooth: audio: has: Truncate Control Point notifications to ATT MTU
This will truncate ATT notifications/indications if exceed ATT MTU size.
It is up to the client to exchange MTU.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
b0e7a1b0ac Bluetooth: audio: has: Fix missing memset of parameters
This fixes missing memset of parameters used for indications and/or
notifications.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
4d023023a3 Bluetooth: has: Fix preset list notifications after reconnection
This fixes sending proper Preset List notifications after
reconnection. The issue was observed when the last preset
known to the client has been removed.
As we do not hold the information about the deleted presets,
we need to use Generic Update procedure to:
 1. Notify the presets that have been removed in range
    (PrevIndex = current_preset_last, Index=previous_preset_last)
 2. Notify deletion of preset Index=previous_preset_last.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
a7406aa8f4 Bluetooth: has: Factor out bonded client persistent data
Some of the data shall be persistent across connections to bonded
clients. This includes notidication state flags that are used to
determine whether notify bonded client after reconnection.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
9c6419c615 Bluetooth: audio: has: Refactor preset list to single-linked list
This refactors the preset list to use sys_slist API. There have been
various issues seen while iterating presets, thus it's more save to use
well-defined and tested sys_slist API.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
31e329bb2d Bluetooth: audio: has: Defer notifications to sysworkq
Defer sending the features, active index, preset list and preset read
response to sysworkq and retry sending in case failed due to buffers not
available at the moment.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
2735339a82 tests: Bluetooth: has: Add test Preset Changed Offline Behavior
Verify that a HAS Server IUT sends changed characteristic notifications
or indications when the Lower Tester reconnects.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
b89cdadc74 Bluetooth: audio: has: Factor out set_preset_availability function
This moves common code to set_preset_availability function to be called
from bt_has_preset_available and bt_has_preset_unavailable.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
f63726da79 Bluetooth: audio: has: Fix sending notifications on reconnect
This fixes missing setting of FLAG_CONTROL_POINT_NOTIFY flag that
indicate whether submit control_point_work. In case the there are more
indications/notifications to sent (is_last flag is unset), the
FLAG_CONTROL_POINT_NOTIFY shall be set to resubmit control_point_work.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
c44f0da4f1 Bluetooth: audio: has: Don't revert features value on error
This removes revering the features value back to previous state if work
submission failes. Even if it fails it indicates an internal sysworkq
issue, so even retry won't help. The client can read the features value
anyway, thus it's sane to just log an error in such case.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
cf2f2df61d Bluetooth: audio: has: Fix indentation
This fixes code indentation.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Mariusz Skamra
b10f02da61 Bluetooth: audio: has: Fix checking wrong flag
This fixes testing and clearing features flag.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-20 14:53:37 +02:00
Daniel DeGrasse
96d6d70f13 samples: drivers: memc: get AHB address dynamically
Use MEMC API to extract AHB address from FlexSPI when using it with the
MEMC sample.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-20 14:53:10 +02:00
Daniel DeGrasse
9a63f39cd8 drivers: memc: update interface of memc flexspi driver for multi device
Update interface of memc flexspi driver to better handle multiple
devices. Previously, using multiple devices on one FlexSPI bus would
require the user to configure each device to install its command table
(referred to as a LUT table by the driver) at an offset, so that it did
not overlap with other devices on the bus.

This commit changes the interface of the memc flexspi driver to instead
configure the LUT and flash device in one call. This allows the memc
driver to record the port each LUT sequence is used with, so that
future FlexSPI transfer requests can have their LUT offsets adjusted
based on the target port (which will correspond to a target device)

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-20 14:53:10 +02:00
Daniel DeGrasse
f9b7f8c96d drivers: memc: memc_mcux_flexspi.c: update XIP state check
Check XIP state based on the value of CONFIG_FLASH_BASE_ADDRESS. This
check should be more reliable than the SOC based method currently
used.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-20 14:53:10 +02:00
Jeff Daly
13a87081b9 Microchip: MEC172X DTS files reorganization
MEC172X series SoCs share most IP but the -LJ series expands the PWM and
ADC channels available as well as defines extra pinctrl pins.
Separating these better to be able to simplify their inclusion and
driver code.  Any board based on either the -SZ or -LJ package can just
include the mec172x<sz/lj> dtsi files for their specific package.

Signed-off-by: Jeff Daly <jeffd@silicom-usa.com>
2023-10-20 14:52:53 +02:00
Roland Lezuo
b97376d71f test: drivers: flash: Add RDP (readout protection) tests for STM32L4x
Add device tests (successfully executed locally)

Signed-off-by: Roland Lezuo <roland.lezuo@embedded-solutions.at>
2023-10-20 14:52:46 +02:00
Roland Lezuo
e7799eb551 drivers: flash: Add RDP (readout protection) support for STM32L4x flash
Add support for Flash readout protection on the STM32L4x series

Signed-off-by: Roland Lezuo <roland.lezuo@embedded-solutions.at>
2023-10-20 14:52:46 +02:00
Arunmani Alagarsamy
71c1f89440 tests: posix: common: timer: add test for SIGEV_THREAD
this flag enables the timer expiry handler runs on thread

Signed-off-by: Arunmani Alagarsamy <arunmani@linumiz.com>
2023-10-20 14:52:07 +02:00
Arunmani Alagarsamy
53f1af9bd7 timer: add support for sigev_thread flag in zephyr timer posix api
add support for the sigev_thread flag in zephyr timer posix api following
the behaviour described in the linux man page. with this enhancement,
a single thread is created to receive all notifications from timers

Signed-off-by: Arunmani Alagarsamy <arunmani@linumiz.com>
2023-10-20 14:52:07 +02:00
Paweł Anikiel
2f7cb40dd2 drivers: sensor: Add driver for SB-TSI
Add a driver for the SB Temperature Sensor Interface. This is an I2C
temperature sensor on AMD SoCs.

Signed-off-by: Paweł Anikiel <pan@semihalf.com>
2023-10-20 14:51:59 +02:00
Niek Ilmer
bbba08ffe6 Boards: add da14695_dk_usb
This commit adds board files for the da14695_dk_usb.
The board features two Mikrobus sockets, these are added to the dts

Signed-off-by: Niek Ilmer <niek.ilmer.aj@renesas.com>
2023-10-20 14:51:49 +02:00
Niek Ilmer
4b38ee65db devicetree: DA1469x: Add UART2 and UART3 to devicetree
This commit adds devicetree bindings for UART2 and 3

Signed-off-by: Niek Ilmer <niek.ilmer.aj@renesas.com>
2023-10-20 14:51:49 +02:00
Niek Ilmer
9e6b1d5ba6 SOC: Smartbond: Add DA14695
This commits adds the DA14695 variant.
The main difference with the DA14699 is a smaller package with less
GPIO.

Signed-off-by: Niek Ilmer <niek.ilmer.aj@renesas.com>
2023-10-20 14:51:49 +02:00
Daniel Evans
105fb2a6e7 boards: arm: atmel: Add flash support to SAM0 xpro boards
Add the following XPRO boards to flash driver test:
SAMD20, SAMDE54 and SAMR21

Signed-off-by: Daniel Evans <photonthunder@gmail.com>

Co-authored-by: Gerson Fernando Budke nandojve@gmail.com
2023-10-20 14:51:17 +02:00
Daniel Evans
debc65fa63 drivers: flash: atmel SAM0 fix flash_write to handle smaller length.
Fix flash_sam0_write to handle byte lengths smaller than FLASH_PAGE_SIZE

Signed-off-by: Daniel Evans <photonthunder@gmail.com>
2023-10-20 14:51:17 +02:00
Kevin Wang
d3a73cdb0e drivers: dma: Add Andestech atcdmac300 driver.
Support the Andes atcdmac300 dma driver.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2023-10-20 14:51:08 +02:00
Emil Gydesen
84c01bb527 Bluetooth: Audio: Add ISO test parameters to the BAP API
Add support for the ISO test parameters in the BAP API.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 14:50:48 +02:00
Emil Gydesen
0521ffd5a3 Bluetooth: ISO: Rename BT_ISO_ADVANCED to BT_ISO_TEST_PARAMS
Rename the Kconfig option from BT_ISO_ADVANCED to
BT_ISO_TEST_PARAMS to more explicitly denote that it
enables support for using the ISO test parameters.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-20 14:50:48 +02:00
Johan Hedberg
697b44f013 release: bump main to v3.5.99
Update main development branch to version v3.5.99.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-20 14:32:45 +03:00
Johan Hedberg
a6eef0ba37 release: Zephyr 3.5.0 release
Update the version for the final release.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-20 13:20:49 +03:00
Johan Hedberg
bafcf57ac1 doc: release: add Zephyr 3.5 as supported release
Add Zephyr 3.5 as a supported release until July 26th 2024, i.e. when
3.7 is planned to be released.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-20 13:20:49 +03:00
Johan Hedberg
0d907c7428 doc: add 3.5.0 to the index of releases
Add the new release to the doc index.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-20 13:20:49 +03:00
Fabio Baltieri
aa316fbd2e docs: migration-guide-3.5: deduplicate the ram-disk notes
This point ended up being mentioned twice for some reasons.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-20 12:07:38 +03:00
Johan Hedberg
97956e402e doc: release: Remove "Working Draft" from titles
Remove "Working Draft" from the release notes and migration guide

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-20 09:37:20 +03:00
Johan Hedberg
625d1bfc61 doc: release: 3.5: Remove empty sections
Remove empty sections from the document.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 22:20:26 +03:00
Johan Hedberg
6597a65b23 doc: release: 3.5: Add more content to the major enhancements
List more items in the "major encements" section.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 20:07:34 +01:00
Benjamin Cabé
472def94e7 doc: use more modern fonts
Use Noto as baseline font and Inconsolata Nerd Font for source code.
These are both esthetically pleasing and have good Unicode coverage.

NOTE: Unsupported characters (i.e. emojis, at the time of this commit)
are rendered as tofu (i.e. a square).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-19 21:03:57 +03:00
Benjamin Cabé
201b666ecb doc: use XeLaTeX as TeX typesetting engine
XeLaTeX is a TeX typesetting engine that extends LaTeX with support for
Unicode and modern font technologies such as OpenType.

It is included in all the LaTeX distro recommended for Zephyr so it is
safe to assume it is available to the user interested in building the
PDF documentation locally

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-19 21:03:57 +03:00
Martí Bolívar
64f6ef860a doc: release-notes-3.5: devicetree
Document the changes in this release.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-19 18:14:04 +01:00
Martí Bolívar
853b8c4ca0 dts: add sqn to vendor-prefixes.txt
This is needed since commit f66b73197d
("drivers: hwspinlock: implement sqn hwspinlock driver") started
using it. Not sure how this got past CI.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-19 18:14:04 +01:00
Daniel DeGrasse
f190547dda docs: migration-guide-3.5: add note about ramdisk instantiation
Add note to migration guide describing how to instantiate a ramdisk
using devicetree, and calling out Kconfig options that have been removed
with this change

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-19 17:42:21 +01:00
Daniel DeGrasse
b8e6da0c86 doc: release: 3.5: add release notes for SDHC and Disk drivers
Add release notes for SDHC and disk driver updates merged since 3.4

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-19 18:45:11 +03:00
David Brown
1bc3bd71ea maintainers: Become maintainer of json/jwt
Become the maintainer for the jwt/json code.  The json code has been in
tree for a while, and I am the author of the jwt code.

Signed-off-by: David Brown <david.brown@linaro.org>
2023-10-19 18:32:30 +03:00
Marc Desvaux
11374943c4 boards: arm: disco_l475_iot1: add stm32cubeprogrammer
add stm32cubeprogrammer runner
for disco_l475_iot1 boards

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-10-19 18:30:31 +03:00
Daniel DeGrasse
7d32b552d0 docs: migration-guide-3.5: add changes for i.MX RT boards
Add migration guide notes for i.MX RT boards, including the following
changes:
- i.MX RT boards must now manually enable
  CONFIG_DEVICE_CONFIGURATION_DATA and CONFIG_NXP_IMX_EXTERNAL_SDRAM
  when required
- SNVS pin names have changed for i.MX RT11xx series boards

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-19 16:29:27 +01:00
Andrzej Głąbek
7e5b4219db doc: release: Add v3.5 notes for ADC, I2S, PWM, and Nordic HAL
Add release notes for ADC, I2S, and PWM drivers, and for Nordic HAL.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-10-19 16:23:02 +01:00
Johan Hedberg
6f7f80fe8a doc: migration-guide: Reorder the sections more logically
Reorder the sections so that the core/wide impact ones come first (e.g.
Kernel and C-Library) and more specific ones (e.g. architectures) come
last.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 17:51:39 +03:00
Johan Hedberg
76757a6bf0 doc: migration-guide: Add a link to the release notes
Add a link to the 3.5 release notes from the migration guide.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 17:51:39 +03:00
Johan Hedberg
7842fd9e4f doc: migration-guide: Remove extra backtick
Remove an extra backtick character.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 17:51:39 +03:00
Johan Hedberg
75860cd49a doc: release: 3.5: Provide a link to the migration guide
Add a reference from the release notes to the migration guide.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 10:25:14 +01:00
Johan Hedberg
3e22bb332d doc: release: 3.5: Mention ACPICA library
ACPI support was enhanced for 3.5 by adopting the ACPICA library as a
new module.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 10:14:50 +01:00
Johan Hedberg
1465c75483 doc: release: 3.5: Add information for new x86 boards
Mention ISH and Intel Alder Lake which which were added for 3.5.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 10:14:50 +01:00
Anas Nashif
69fd128771 doc: add sections to migration guide
Add sections to the migration guide to make it easier to spot and follow
suggestions of specific areas.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-19 11:32:11 +03:00
Evgeniy Paltsev
19912af70d board: nsim: doc: fix typo in platform name
Fix typo in nsim_hs6x_smp_12cores platform name (as previously
we had nsim_hs5x_smp_12cores platform mentioned two times)

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-10-19 09:58:31 +03:00
Evgeniy Paltsev
6076d54d07 doc: release-notes: arc: reword VPX part
Reword VPX part as was requested by @abrodkin

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-10-19 08:52:06 +03:00
Evgeniy Paltsev
47385a93ab doc: add release-notes for ARC architecture and platforms
Add release notes for ARC for 3.5 release

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-10-18 20:26:46 +03:00
Benjamin Cabé
cfe667deb8 doc: gsg: fix syntax highlighting of code blocks
Added explicit code blocks throughout the document.

Removed several incorrect uses of "console" language where it should have
been shell or bat.
"console" is only for _bash_ sessions that include a prompt.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 18:39:42 +03:00
Benjamin Cabé
70b49c7f51 doc: build: Fix highlighting of code blocks
Set appropriate language for code blocks to show up with the right
syntax highlighting.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 18:39:23 +03:00
Yanfeng Liu
4940a31b9e doc: hardware:porting:arch fix typo
remove unnessary item break to fix XIP kernel case.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2023-10-18 18:38:36 +03:00
Andrei Emeltchenko
d2c78faf75 doc: samples: smbus: Add console highlight to code block
Display Zephyr console as 'code-block:: console'.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-18 17:58:52 +03:00
Benjamin Cabé
86bff1e072 doc: Render app commands with "shell" language
The 'console' language in pygments is for Bash shell session, i.e code
snippets were commands MUST start with a prompt.
The commands rendered by the ZephyrAppCommandsDirective do not include
a prompt, and should therefore be set as "shell".

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 15:39:27 +01:00
TOKITA Hiroshi
a849303058 doc: release: 3.5: Add note on RaspberryPi Pico related changes
Adds notes on changes about rpi_pico

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-10-18 15:19:39 +01:00
Benjamin Cabé
d3487c48bf doc: Group linkcheck options together in conf.py
Group all sections related to linkcheck target together.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 17:08:19 +03:00
Benjamin Cabé
b3a52f4882 doc: Configure copybutton extension for ignoring shell prompts
Add required settings for telling the copybutton Sphinx extension to
ignore prompts when copying a code block.

Both bash prompt and Zephyr UART prompt are ignored.

Examples of the new behavior:

.. code-block:: console

    $ echo "Hello World"
    Hello World

The copied text will be: 'echo "Hello World"'.

.. code-block:: console

   uart:~$ l2cap connect 29
   Chan sec: 1
   L2CAP connection pending
   Channel 0x20000210 connected
   Channel 0x20000210 status 1
   uart:~$ l2cap send 3 14
   Rem 2
   Rem 1
   Rem 0
   Outgoing data channel 0x20000210 transmitted
   Outgoing data channel 0x20000210 transmitted
   Outgoing data channel 0x20000210 transmitted

The copied text will be: 'l2cap connect 29\nl2cap send 3 14'.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 17:08:19 +03:00
Fabio Baltieri
b640bbe1f7 MAINTAINERS: add migration guide under "Release Notes"
Release notes and migration guides go hand in hand right now, put the
file under the "Release Notes" area and exclude it from the normal
"Documentation" one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-18 16:28:46 +03:00
Vinayak Kariappa Chettimada
d15ce54db1 doc: releases: v3.5.0: Add Bluetooth release notes
Add Bluetooth release notes for Zephyr v3.5.0.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-18 13:52:12 +01:00
Benjamin Cabé
9b8b7b36be doc: samples: edac: add syntax highlight to code blocks
display Zephyr shell snippets as "console" code blocks.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 15:51:22 +03:00
Jeppe Odgaard
a58bf96d0d fs: fix missing semicolon in fuse_fs_access.c
Add missing semicolon in fuse_fs_access.c.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-10-18 15:50:50 +03:00
Benjamin Cabé
90c4498ca1 doc: boards: Set proper languages for syntax highlighting
Make sure devicetree, kconfig, etc. code snippets all have proper
pygments language set.

Note: only existing code-block:: directives have been updated. Another
pass should be made to address implicit code-blocks (`::`)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:51:13 +03:00
Benjamin Cabé
57c17da528 doc: devicetree: Fix highlighting of code blocks
Make sure devicetree code blocks all have proper pygments language set.
Fixed a few other "none" code blocks as well.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:22:45 +03:00
Benjamin Cabé
edf9435a68 doc: guidelines: Properly highlight .rst snippets
This commit fixes syntax higlighting of all the reStructuredText
snippets in the documentation guidelines by setting default
higlighting language to rst.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:18:43 +03:00
Benjamin Cabé
02226208bf doc: intro: cleanup VFS section
* add mention of ext2 as a supported file system.
* remove unnecessary mention to configurability and logging since it's
  not unique to VFS.
* capitalize FatFS properly

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:17:57 +03:00
Benjamin Cabé
00fc22a44a doc: porting: Set proper languages for syntax highlighting
Make sure devicetree, kconfig, etc. code snippets all have proper
pygments language set.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:16:34 +03:00
Benjamin Cabé
1be457f280 doc: kconfig: Add syntax highlighting for Kconfig snippets
Add proper pygments settings to make Kconfig snippets look pretty.
Also fixed a few config and devicetree code blocks.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:15:51 +03:00
Artur Lipowski
88ecf576f4 doc: kernel: k_busy_wait behavior with SYSTEM_CLOCK_SLOPPY_IDLE and PM
Added note k_busy_wait may not work when CONFIG_SYSTEM_CLOCK_SLOPPY_IDLE
and CONFIG_PM are enabled.
In such case timer used for time measurement may be disabled.

Fixes: #53522

Signed-off-by: Artur Lipowski <artur.lipowski@hidglobal.com>
2023-10-18 13:14:54 +03:00
Benjamin Cabé
822904733e doc: twister: syntax highlight + formatting cleanups
- Added language info to code-blocks when relevant (ex. for yaml
  snippets)
- Formatted grammar for expression language as antlr and added
  syntax highlighting
- Fixed various formatting issues with lists, definition lists...

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 10:13:19 +01:00
Emilio Benavente
b2b2afc672 docs: migration-guide-3.5: LPC55XXX Clock Init
The inclusion of this note in the migration guide
explains the clocking change that occured in the
LPC55XXX soc as well as the added Kconfig that toggles
the PLL1 from being initialized. Also updated the
lpc board docs to state the correct System
Clock Value.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2023-10-18 09:47:24 +03:00
Benjamin Cabé
447d19b701 doc: smf: Properly highlight C code
Set default syntax highlighting language to C for this page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 09:46:28 +03:00
Flavio Ceolin
363320a09e github: security: Fix supported versions
Update supported versions in the github security
policy.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-18 09:44:44 +03:00
Bjarki Arge Andreasen
8fada11761 doc: releases: Add modem modules to release notes 3.5
This commit adds an entry for the modem modules to
the release notes for release 3.5

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-17 21:58:30 +03:00
Bjarki Arge Andreasen
61e8793292 doc: services: Add modem entry
This commit adds an entry for the modem subsystem in the
services documentation section.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-17 21:58:30 +03:00
Bjarki Arge Andreasen
9123559961 modem: modem_ppp: Update documentation
This commit updates the documentation for the modem_ppp
modem module.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-17 21:58:30 +03:00
Bjarki Arge Andreasen
125ae53431 modem: modem_pipe: Update documentation
This commit updates the documentation for the modem_pipe
modem module.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-17 21:58:30 +03:00
Bjarki Arge Andreasen
a7564220cf modem: modem_cmux: Update documentation
This commit updates the documentation for
the modem_cmux modem module.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-17 21:58:30 +03:00
Bjarki Arge Andreasen
cc03017b13 doc: _doxygen: define modem group
Add @defgroup for modem APIs

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-17 21:58:30 +03:00
Benjamin Cabé
32918ddd92 doc: Fix broken references to Kconfig options
Fixed a few occurrences of incorrect references to Kconfig options
(missing the CONFIG_ prefix)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-17 19:50:39 +01:00
Peter Mitsis
36defb4287 tests: Update sys_kernel benchmark
This updates the sys_kernel benchmark project to replace references to
the defunct TICKS_NONE symbol with K_NO_WAIT. It also removes the
outdated build instructions from the README.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-17 21:48:51 +03:00
Peter Mitsis
b43d0ed2ee tests: Update app_kernel README
Removes stale information from the app_kernel benchmark's README.txt
file.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-17 21:48:51 +03:00
Fabio Baltieri
fb1af7785c submanifests: optional: update CHRE revision
Update CHRE revision to include a linker setup fix.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-17 19:55:38 +03:00
Flavio Ceolin
4b930e888d doc: migration-guide-3.5: Power management update
Add information about power management required changes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-17 17:41:30 +01:00
Flavio Ceolin
dbfd1971d8 doc: release: Add power management relnotes for 3.5
Add relevant power management notes for 3.5 release.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-17 17:41:30 +01:00
Florian Grandel
f3cbd27e5a drivers: ieee802154: cc13xx_cc26xx_subg: buflen sanity check
Introduces a (currently redundant) buffer length sanity check to prepare
for L2s that support PHYs with PHY payloads > 127 bytes.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-17 19:15:56 +03:00
Florian Grandel
0269170420 drivers: ieee802154: b91: buflen sanity check
Introduces a (currently redundant) buffer length sanity check to prepare
for L2s that support PHYs with PHY payloads > 127 bytes.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-17 19:15:56 +03:00
Håvard Reierstad
0ec6f18434 Bluetooth: mesh: update model extension
Specifies that if Composition Data Page 1 is enabled, the models passed
to 'bt_mesh_model_extend' needs to be initialized prior to the call.
This is to ensure that the composition data is registered correctly.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-10-17 19:11:42 +03:00
Håvard Reierstad
393c5ce065 bsim: Bluetooth: mesh: fix model extension
In 'test_access.c', model 3 on element 1 extending model 3 on element 0
is now registered correctly. When calling 'bt_mesh_model_extend' on
models on different elements, this needs to called from the
model with the highest element index to be registered correctly.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-10-17 19:11:42 +03:00
Piotr Wojnarowski
6e39775e5b doc: riscv: rv32m1_vega: Restore reset button image
This image was accidentally shrunk too much in
e81e92dbb9.
Restore the previous version.

Fixes #64021

Signed-off-by: Piotr Wojnarowski <pwojnarowski@antmicro.com>
2023-10-17 19:06:58 +03:00
Benjamin Cabé
54f51cbcb3 doc: intro: fix improper definition list
add missing blank line to not have the sentence render as a definition
list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-17 19:05:20 +03:00
Benjamin Cabé
a32d035fd6 doc: README: Rework Resources section
With close to 20 different links, the Resources section was not really
easy to navigate, defeating the purpose of providing quick access to
information. Reworked the section to break it down into sub sections,
and reworded the links to make them self explanatory.

Each sub-section has been re-ordered so that most important links appear
first.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-17 19:05:20 +03:00
Benjamin Cabé
a34fd9970d doc: README: remove mention of nightly builds
removed stale mention of nightly builds

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-17 19:05:20 +03:00
Alberto Escolar Piedras
ec273d1357 twister: Fix description of relationship between filter and allow/exclude
The current description of the relationship between the tests filter
and the arch/platform allow/exclude was actually incorrect.

Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-17 18:55:35 +03:00
Nando Galliard
b9748b5377 drivers: serial: Support STM32 LPUART if LPUART1 is not defined.
When LPUART1 is not defined, the driver did not compile even if
any other LPUART was defined. This patch fixes that.

Signed-off-by: Nando Galliard <nando.galliard@protonmail.com>
2023-10-17 14:30:38 +01:00
Carles Cufi
b732c6d564 actions: manifest: Update action revision
Upgrade to v1.2.0, which comes with a bugfix and support for processing
PRs that have removed modifications to the manifest.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-17 14:23:24 +01:00
Anas Nashif
3b9acef1ba ci: move footprint workflows to zephyr runners
looks like our docker image is way too big for the GH runners, so move
to own runners until we have a better solution.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-17 15:52:44 +03:00
Rodrigo Peixoto
475361b22c doc: releases: v3.5.0: zbus release notes
Add the changes of zbus during the Zephyr v3.5.0 development.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-10-17 15:34:39 +03:00
Pieter De Gendt
1244f109ee zbus: Remove obsolete function from header
_zbus_timeout_remainder was removed in a7b3584 however 7e44469
re-introduced it in the header.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-10-17 14:27:21 +03:00
Benjamin Cabé
9e9f439522 doc: releases: clean-up release notes section
The contents of the Release notes section was partly outdated and partly
misplaced. Moved the relevant bits to the actual intro of the doc.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-17 13:43:43 +03:00
Benjamin Cabé
1b34ddae96 doc: releases: Move release notes of EOL releases to a dedicated page
The ever growing list of release notes for past releases was making it
too easy to miss the migration guide for the latest release. This commit
moves the release notes for EOL releases to a dedicated page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-17 13:43:43 +03:00
Flavio Ceolin
b1b8b3b4d0 doc: migration-guide-3.5: Random subsys update
Add information about header name changes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-17 13:19:02 +03:00
Andrei Hutanu
9fcc609237 docs: mem: slabs: fix for mem_slab docs snippets
Attempting to run the memory slab docs snippets will
result in build issues. This PR is an attempt to fix
those.

Signed-off-by: Andrei Hutanu <andrei.hutanu.i@gmail.com>
2023-10-17 13:17:56 +03:00
Tom Burdick
edfddd6a11 docs: releases: RTIO Release Notes for 3.5
Adds release notes for the RTIO subsystem for 3.5 with notable bug
fixes, changes, and feature additions.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-17 13:17:01 +03:00
Tom Burdick
b272760f06 docs: releases: Adds I2C release notes for 3.5
Adds a subset (there was a lot!) of notable fixes, features, and driver
additions for I2C

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-16 22:32:55 +03:00
Tom Burdick
cb9230ee30 docs: releases: Add DMA release notes for 3.5
Adds notable bug fixes, driver additions, and feature additions to the
DMA API and drivers in 3.5.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-16 22:26:44 +03:00
Jeppe Odgaard
24085d05e6 boards: doc: Add programming tabs for mimx8mq_evk
Improve documentation by putting programming methods into tabs.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-10-16 15:35:00 +01:00
Christopher Friedt
137097f5c3 logging: log_core: correct timeout of -1 ms to K_FOREVER
Many releases ago, specifying to block indefinitely in the log
processing thread would do just that.

However, a subtle bug was introduced  such that specifying -1
for `CONFIG_LOG_BLOCK_IN_THREAD_TIMEOUT_MS` would have the
exact opposite effect than what was intended.

As per Kconfig, a value of -1 should translate to a timeout of
`K_FOREVER`. However, conversion via `K_MSEC(-1)` results in
a `k_timeout_t` that is equal to `K_NO_WAIT` rather than the
intent which is `K_FOREVER`.

Add a dedicated check to to ensure that a value of -1 is
correctly interpreted as `K_FOREVER` in `log_core.c`.

For reference, the blocking feature was described in #15196,
added in #16194, and it would appear that the regression
happened in c5f2cdef09.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-16 12:06:42 +02:00
Flavio Ceolin
90b9809c6f doc: security: cve-2023-4257 left embargo
Disclose information about cve-2023-4257.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-14 18:43:49 +03:00
Flavio Ceolin
52cf7e6fdf doc: vuln: Add information about CVE-2023-4263
Information about CVE-2023-4263

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-14 18:43:27 +03:00
Flavio Ceolin
bcd3882f88 doc: release: 3.5: Add info about CVE-2023-4263
Add CVE-2023-4263 info to release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-14 18:43:27 +03:00
Benjamin Cabé
8ec1a27920 doc: ring_buffer: fix typos and incoherences
Fixed an incorrect mention of buffer size being expressed in 32-byte
words for data item mode when it's in fact 32-bit.
Fixed a few broken references to C functions and structs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-14 18:42:34 +03:00
Benjamin Cabé
14c1ff25b1 doc: ring_buffer: Properly expose Doxygen doc for ring_buf struct
Move the ring_buf struct in the Doxygen group containing all other APIs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-14 18:42:34 +03:00
Johan Hedberg
bbf46b96ce release: Zephyr 3.5.0-rc3
Bump the version to 3.5.0-rc3.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-14 11:59:13 +03:00
Emilio Benavente
b9613389fb tests: drivers: spi: spi_loopback: Added mimxrt1170_evk_cm7
Added overlay inside the spi loopback test for the
mimxrt1170_evk_cm7, enabled DMA and Async by default.
Added testcase for async and dma.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2023-10-14 10:55:02 +03:00
Emilio Benavente
17032a093d drivers: spi: spi_mcux_lpspi: Updated the Async api
Updated the Async API allowing the code path
for DMA while Async is enabled. Added common
DMA function that sets up both tx and rx dma
channels.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2023-10-14 10:55:02 +03:00
Declan Snyder
dde691bdd4 doc: migration-guide-3.5: LPC DMA dma-channels
Include in migration guide about how the meaning of dma-channels
to the LPC DMA driver has been changed/fixed, which will
affect downstream boards, and information about the new Kconfig
achieving the old functionality of dma-channels.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-10-14 10:52:35 +03:00
Evgeniy Paltsev
433a85e7bf test: posix: skip nanosleep testcase for ARC HSDK boards
The comparison of cycles we get with k_cycle_get_32 may be
incorrect if counter wrap happened. In case of ARC HSDK and
ARC HSDK4xD platforms we have high counter clock frequency
(500MHz or 1GHz) so counter wrap quite likely to happen if
we wait long enough. As in some test cases we wait more than
1 second, there are significant chances to get false-positive
assertion.

So let's skip nanosleep testcase for ARC HSDK and ARC HSDK4xD
boards.

The proper fix is to use k_cycle_get_64 in this test case,
but we need to provide k_cycle_get_64 support for ARC HSDK and
ARC HSDK4xD platforms first.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-10-13 21:59:40 -04:00
Maureen Helm
e9a8497b0d doc: release: Add sensor release notes for v3.5.0
Added comments about new drivers, bug fixes, and enhancements made to
sensor drivers since the last release.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-13 23:04:11 +03:00
Ladislav Podivin
390b6520b8 Logging: improve help message of LOG_PRINTK Kconfig option
Improve it so that:
- it mentions the important fact that it redirects `printk` messages
 to the logging subsystem
- it is consistent with the help messages of the other options in this
 file (i.e. it starts with "If enabled")

Signed-off-by: Ladislav Podivin <ladislav.podivin@tietoevry.com>
2023-10-13 22:36:47 +03:00
Andrzej Głąbek
5e38471e71 modules: hal_nordic: cmake: Fix checking if uicr DT node is accessible
According to cmake documentation, in the `if(<string>)` expression
the string evaluates to false unless its value is one of the true
constants. Thus, the commands under `if(${uicr_path})` are never
executed. Use `if(DEFINED uicr_path)` instead, since `uicr_path`
is returned by `dt_nodelabel()` and it will be undefined if such
node does not exist.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-10-13 21:23:17 +03:00
Artur Lipowski
ded2c49e8a fs: nvs: Note about nvs_write with len equal to 0.
Add a note to explain what happens when entry with 0 data length is
written to NVS storage.

Signed-off-by: Artur Lipowski <artur.lipowski@hidglobal.com>
2023-10-13 19:10:57 +01:00
Flavio Ceolin
a0db528837 maintainers: random: Add Flavio Ceolin as maintainer
Mark this subsystem as maintained and add myself
as maintainer.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 19:10:09 +01:00
Martin Calsyn
12c0204b60 drivers: fuel_gauge: max17048: Fix overflow when calculating voltage
Annotate the calculation with type casts to force
promotion to uint32_t and then cast back down
to uint16_t for the return. This solves the issue
with invalid voltage (mV) values being returned
due to overflow during the conversion from the
register value on the max17048 chip.

Signed-off-by: Martin Calsyn <martin.calsyn@outcomex.com.au>
2023-10-13 19:07:38 +01:00
Flavio Ceolin
49d4ad9315 doc: vuln: Add information about CVE-2023-5563
Information about CVE-2023-5563

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 20:19:51 +03:00
Flavio Ceolin
5e10b34a56 doc: release: 3.5: Add info about CVE-2023-5563
Add CVE-2023-5563 info to release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 20:19:51 +03:00
Tom Burdick
c678f25bc1 llext: Fix a bug in section linking
When relocating section symbol addresses the value where the
relocation is to be written is an offset into the section to load.

Simply rewriting it with the section address is not enough, we need
to write the address of the section with the offset into it.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-13 16:47:02 +01:00
Christopher Friedt
7e8953ed7f posix: ensure that pooled ipc type is user-configurable
Previously it was not possible to n-select e.g.
CONFIG_PTHREAD_BARRIER because the Kconfig template for it
lacked a prompt. This made it impossible to disable some
unused POSIX features and unnecessarily increased code size
if unused code sections were not discarded by the linker.

Add a prompt so that each pooled IPC type is
user-configurable and can be disabled if unneeded.

Further, ensure that only the selected sources from lib/posix
are included in the cmake build.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-13 11:13:07 -04:00
Andrei Emeltchenko
d661c86e35 drivers: modem_cellular: Fix missing break
There is no fallthrough statement or comment so I assume break is
missing.

Fixes build time warning from some tools.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-13 17:42:40 +03:00
Wilfried Chauveau
f6fe61e598 arch: arm: cortex_m: Fix constraint on inline assembly for armv8-m.baseline
`mov` on armv8-m.baseline, when used with an immediate value is limited to
registers `r0` to `r7`. `=r` tells the compiler any register can be used.
`=l` needs to be used instead.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-10-13 13:56:42 +01:00
Andrei Emeltchenko
bdd8edd67b dts: x86: Remove old atom.dtsi
Remove old unused atom.dtsi and intel,atom.yaml binding.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-13 11:37:17 +01:00
Jakub Rzeszutko
69d50db53a shell: fix a memory corruption coverity issue
Added a condition to check if the size of the copied
memory is a positive number.

Fixes #58700
Fixes #58703

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
2023-10-13 13:11:28 +03:00
Sylvio Alves
4b5331ba45 linker: esp32: move snippets-section within rom boundary
This will guarantee that application snippets will be placed
into ROM section properly.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-10-13 13:10:22 +03:00
Sylvio Alves
ac67f245e7 west.yml: update esp32s3 to enable all flash ranges
Current hal only enable up to 16MB flash size in esp32s3 SoC.
This updates hal_espressif to include 32MB, 64MB and 128MB.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-10-13 10:13:56 +01:00
Declan Snyder
7d5d4ed907 drivers: eth_mcux: cache must be dcache
Currently the Kconfig for eth_mcux selects nocache if
HAS_MCUX_CACHE is set. But, for platforms that have a flexspi
cache but not a CPU cache, this is invalid, so clarify this
in the Kconfig definition.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-10-13 10:06:33 +01:00
Erwan Gouriou
179d435a30 Revert "drivers: serial: stm32: Make it compatible with runtime PM ....
This reverts commit 1c2d326579.
which was limited to CONFIG_UART_ASYNC_API=y case and causing regression
otherwise.

Fixes #63885

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-13 10:06:04 +01:00
Henrik Brix Andersen
b9675b05d3 drivers: can: mcux: flexcan: override maximum HAL wait loop iterations
Add option for overriding the maximum number of wait loop iterations for
entering/leaving freeze mode. Set the default to 10000 (as opposed to a
default of 1000 used in the HAL).

Fixes: #56171

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:04:57 +01:00
Dawid Niedzwiecki
f02c612c99 mgmt: ec_host_cmd: align buffers
Align the rx and tx buffers to prevent unaligned access.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-10-13 11:59:33 +03:00
Christopher Friedt
254c6711ed tests: posix: common: init check for stdin, stdout, and stderr
Add a test to help ensure stdin, stdout, and stderr are
initialized statically.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-13 04:48:47 -04:00
Christopher Friedt
12ea06cac2 posix: fdtable: ensure stdin, stdout, and stderr are initialized
Ensure that stdin, stdout, and stderr are initialized statically.

Previously, the mutex and condition variable were uninitialized.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-13 04:48:47 -04:00
Dmytro Semenets
d912be1c51 drivers/i2c: remove unnecessary includes
i2c_rcar.c includes soc.h header which doesn't need for this source
and exists not for all boards. soc.h header doesn't exist for rcar-gen3
soc based on arm64 core.
soc.h consists soc-depended defenitions and need to be included
by soc-depended sources.

Signed-off-by: Dmytro Semenets <dmytro_semenets@epam.com>
2023-10-13 09:46:34 +01:00
Alexander Stark
d385d10130 mgmt: mcumgr: update bt smp initialization
Oneline fix to smp_bt.c smp transport register.
smp_client_transport_register() is a void function and
has no return value, so it should be ignored.

Signed-off-by: Alexander Stark <alexander.t.stark@gmail.com>
2023-10-13 09:40:21 +01:00
Henrik Brix Andersen
e6197fed5f drivers: can: stm32: bxcan: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
cb207c4a11 drivers: can: sja1000: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
bb4a22fdbc drivers: can: rcar: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
443847f0f6 drivers: can: nxp: s32: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
c986dcc027 drivers: can: mcux: flexcan: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data. The limitation of how much data to copy is currently handled in the
NXP HAL.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
66daf05435 drivers: can: mcp251xfd: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
4d321448ad drivers: can: mcp2515: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data. Limit the amount of data copied to the actual DLC.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
27323a8af5 drivers: can: mcan: only copy frame data for non-RTR frames
Only copy frame data for non-RTR frames as RTR frames do not carry any
data.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
912fc489b8 net: socketcan: only copy data payload for non-RTR frames
Only copy the data payload for non-RTR frames as RTR frames do not carry
any data.

Fixes: #57002

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
b603910214 tests: net: socket: can: split RTR flag from data contents test
Split the conversion of the RTR frame flags from the data contents test as
RTR frames do not carry any data.

Replace a couple of direct DLC assignments with proper use of
can_bytes_to_dlc().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Henrik Brix Andersen
4d2251ad09 tests: drivers: can: api: only compare frame data for non-RTR frames
Only compare frame data contents for non-RTR frames as RTR frames do not
carry any data.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-13 10:08:45 +03:00
Hake Huang
cdd17ce100 test: posix: nanosleep: use k_cycle_64 as possible
as posix nanosleep is actually call us, so we need use a
higher clock to compare the result. try to use k_cycle_64
as possible.

Co-authored-by: Christopher Friedt <cfriedt@meta.com>
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-10-13 10:05:06 +03:00
Hake Huang
0136759707 test: posix: common: nanosleep test fix
in test_nanosleep_execution, the

actual_ns = k_cyc_to_ns_ceil64((now - then * selection));

is wrong, according to posix driver code

lib/posix/clock.c

line: 156
	if ((flags & TIMER_ABSTIME) == 0) {
		ns += uptime_ns;
	}

so we need change to

actual_ns = k_cyc_to_ns_ceil64((now + then * selection));

fixing: #62889

Co-authored-by: Christopher Friedt <cfriedt@meta.com>
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2023-10-13 10:05:06 +03:00
Flavio Ceolin
5fcae0c021 random: timer: Use build constant for seed
Use Kconfig symbol for initial seed.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 10:03:53 +03:00
Flavio Ceolin
991ff6f48b kernel: init: Build constant in early random generator
Use a Kconfig symbol for initial state in the early
random number generator.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 10:03:53 +03:00
Flavio Ceolin
a99a0700ba random: kconfig: Allow customizing timer initial state
Add a build option to allow changing the initial state used
in the timer based random generator and by the kernel in the
early random number generator.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 10:03:53 +03:00
Flavio Ceolin
6c0fad2888 kernel: Fixes for z_early_rand_get
The early random get function was making many wrong assumptions
about random subsys and entropy drivers. First, it was assuming
that entropy_get_entropy() would be ISR safe, that is not right,
the driver has an ISR safe callback and if it is not implemented
or not working it is not ok using the other callback.
Second, the fallback to the random subsys is even more problematic
since they can use kernel services to protect internal states and be
thread-safe.

Another incorrect thing in this function was the guard around it.
It was needed by features like stack randomization and stack canaries,
and not when those conditions were match. Just remove it and in case
it is not needed the linker will take care of it.

The drawback of this change is that in the absence of an entropy
generator with support to be called from ISR the randomness is very
weak.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 10:03:53 +03:00
Flavio Ceolin
974e336140 kernel: random: Make z_early_rand_get a weak symbol
Allow targets come up with their own early random generator
since the default can be NOT so random due constraints.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 10:03:53 +03:00
Flavio Ceolin
f9c7a5e6fb kernel: random: Rename early random get function
Rename z_early_boot_rand_get with z_early_rand_get to get consistent
with other early functions.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-13 10:03:53 +03:00
Peter Mitsis
86ed4c0ae8 west.yml: Pull in latest percepio updates
Pulls in the latest percepio updates that removes references to
the defunct k_pipe_block_put() routine (and k_mem_block too).

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-13 09:56:02 +03:00
Peter Mitsis
a35e40f410 kernel: Remove mempool_heap
Removes the mempool_heap.h header file as nothing needs it anymore.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-13 09:56:02 +03:00
Peter Mitsis
52f343c5c7 drivers: usb: Replace k_mem_block usage
The k_mem_block structure has been obsolete for some years with
a few loose ends still remaining. As its usage in the usb_dc_mcux
codebase was confined to needing its "void *" pointer field, it
was simple to enough to hoist that field to remove another loose end.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-13 09:56:02 +03:00
Peter Mitsis
e9987aabbc kernel: Remove legacy mem block from mailbox
Memory blocks are a legacy feature and are to be removed from
mailboxes.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-13 09:56:02 +03:00
Peter Mitsis
2b3821212d kernel: remove unused mailbox message field
Removing the legacy field '_rx_data' from  the mailbox message
structure 'k_mbox_msg' as the mailbox code that used it was removed
over six years ago.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-13 09:56:02 +03:00
Anas Nashif
38e86c8e86 twister: runner: change log message from info to debug
Very verbose log message without too much context that should be a debug
message rather than a info().

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-12 20:40:56 +03:00
Keith Packard
362d8906a6 kernel: Support platforms with runtime timer freq for thread init_delay
Platforms that determine their basic timer frequency at runtime instead of
build time cannot compute thread initialization timeouts during
compilation.

Switch back to storing the init_delay value in milliseconds and perform the
conversion to a k_timeout_t at runtime.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-12 20:39:20 +03:00
Jamie McCrae
8596697f08 tests: boot: mcuboot_data_sharing: Add missing Kconfig
Adds a missing Kconfig after some retention code was
refactored

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-12 17:25:27 +01:00
Fabio Baltieri
a16d58cdf3 Revert "tests: kernel: xip: exclude qemu_riscv32_xip"
This reverts commit 341590545a, the issue
has been fixed in e1647e35c0, tested with

west build -t run -p -b qemu_riscv32_xip \
	-T tests/kernel/xip/arch.common.xip

west build -t run -p -b qemu_riscv32_xip \
	-T tests/kernel/xip/arch.common.xip.minimallibc

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-12 17:23:40 +01:00
Anas Nashif
f1f5be1d1a boards: numaker_pfm_m467: do not treat as a default test platform
This is not something we run in CI, so remove as a default test
platform.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-12 18:52:31 +03:00
Mariusz Skamra
3828f1cec2 Bluetooth: ascs: Check subscription state on ASE notification
Check whether peer is subscribed for ASE state notification before
calling bt_gatt_notify. This handles an assert thrown when the
notification failed to be sent.

Fixes: #63728
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-12 18:48:09 +03:00
Maciej Perkowski
4cd7df2eec twister: Fix error for --device-testing with not runnable integration
An urforseen error was introduce with #62713. When "--device-testing"
or "--filter runnable" is used in CLI, twister will skip tests which
cannot be executed (not just built) on a given platform. If a given
platform is among integration platforms it will cause an error.
However, it shouldn't be the case. Such skip is intentional and
shouldn't be an error. Fixed by assigning an existing Filter.CMD_LINE,
which is exempted from being turned to error.

fixes: #63844

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-10-12 18:22:23 +03:00
Franciszek Pindel
e1647e35c0 linker: riscv: Align .last_section
Zephyr expects __rom_region_size to be aligned to 4, otherwise
assertion will fail.

This commit alignes last_section which results in aligned
__rom_region_size.

Signed-off-by: Franciszek Pindel <fpindel@internships.antmicro.com>
2023-10-12 18:20:35 +03:00
Emil Gydesen
c47b7f7936 Bluetooth: BAP: Broadcast sink: Clear pa_sync on PA terminated
If the PA gets terminated, we clear the pa_sync field of the
corresponding broadcast sink object.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 18:19:46 +03:00
Emil Gydesen
00deb0ea75 Bluetooth: BAP: Remove static from state_changed in mod_src
For some reason the state_change variable was static, which
does not make any sense. Changed it to a regular local
bool in bt_bap_scan_delegator_mod_src.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 18:18:42 +03:00
Emil Gydesen
58e40239fd Bluetooth: BAP: Scan delegator missing state change for bis_sync
If the bis_sync value changes, that should trigger a state change
notification.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 18:18:42 +03:00
Aleksandr Khromykh
00457ae6c6 Bluetooth: Mesh: improve solicitation debug logging
Commits adds debug logging for all reasons
preventing of the proxy solicitation.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-10-12 18:07:50 +03:00
Aleksandr Khromykh
917a3e6e64 tests: bluetooth: tester: enable proxy solicitation
Commit enables proxy solicitation functionality
(server part) for mesh proxy PTS tests.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-10-12 18:07:50 +03:00
Aleksandr Khromykh
625faa7f03 Bluetooth: Mesh: fix proxy solicitation
Commit makes workable proxy solicitation functionality
only server part without dependencies on client part.
Only on demand proxy server is required.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-10-12 18:07:50 +03:00
Anas Nashif
c2eb47a9f7 MAINTAINER: SimpleLink platform should only include ti_simplelink
Do not include all TI platform in something that is supposed to include
Simplelink.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-12 15:39:54 +01:00
Peter Ujfalusi
8dfa116750 drivers: dma: intel-adsp-hda: Correct DGCS:SCS bit for 32bit sample size
If the channel was used for 16bit in the once, subsequent 32bit sample size
audio will be broken since the SCS bit remains set.

Example sequence with SOF:
normal audio playback with 16bit
ChainDMA audio playback with 16bit
normal audio playback with 16bit

The last playback results garbled audio.

Introduce intel_adsp_hda_set_sample_container_size() helper function
to handle the SCS bit and use it in the driver.


Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-10-12 17:31:23 +03:00
Jamie McCrae
16bb226593 doc: release: 3.5: Add note on 2 fixed MCUmgr bugs
Adds notes on a fixed settings_mgmt and fs_mgmt bug

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-12 16:06:44 +03:00
Emil Gydesen
24e3966c98 Bluetooth: Improve bt_le_per_adv_sync_create documentation
The bt_le_per_adv_sync_create documentation did not mention
anything about the (lack of) timeout when using the function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 16:02:31 +03:00
Pavel Vasilyev
0af523eba7 Bluetooth: Mesh: Fix failing DFU/SR/FD/BV-08-C test
The `upload_status_rsp_with_progress` function uses the currently set
slot pointer to set firmware id field in the message. If another
upload starts but the firmware is already received, the slot API won't
let us to set the fwid and will return an error code. In this case, the
slot pointer stays invalid as fwid wasn't set, and
`upload_status_rsp_with_progress` will not add fwid as the lenght is
zero.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-12 15:29:45 +03:00
Nazar Palamar
4d76e26f17 drivers: pinctrl: Update Infineon CAT1 pinctrl driver
- if we have input enable use CY_GPIO_DM_xxxx else
CY_GPIO_DM_xxx_IN_OFF;

- added bias_high_impedance option

- Updated HIGHZ drive mode, now it sets if:
--- we have bias_high_impedance
--- or if input_enable and no addition bias mode

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2023-10-12 15:17:35 +03:00
Keith Packard
8be25e284a drivers/fdc2x1x: Depend on full C library, not just newlib
This driver uses the math library, so it cannot use the minimal C
library. However, it should be fine with any complete C library, not just
newlib.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-12 13:00:39 +01:00
Dmitrii Golovanov
496509cd65 twister: Reset TestInstance status before run
Reset TestInstance status when ProjectBuilder.run() is called
to run the test after its successful build, so the build status
will not propagate as the run status if the run fails.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-12 14:43:38 +03:00
Dmitrii Golovanov
9cdb0aaa14 twister: harness: Fix Console pattern matching for ztest
Fix the Twister Console harness ordered 'multi_line' and 'one_line'
pattern matching to treat the ztest as failed when not all of the
expected patterns were found in the console output, but the ztest
application itself reports 'PROJECT EXECUTION SUCCESSFUL'.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-12 14:43:38 +03:00
Pavel Vasilyev
5cf6218c62 Bluetooth: Mesh: Fix Capabilities Status message with OOB upload enabled
The `else` case was incorrectly excluded by preprocessor.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-12 13:59:06 +03:00
Jamie McCrae
c67560cbbd mcumgr: grp: settings_mgmt: Handle settings return values
Handles return values from settings handlers which were missing
and would return "Unknown error" to clients instead of the read
error

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-12 11:54:30 +01:00
Jamie McCrae
828940b420 mcumgr: grp: fs_mgmt: Fix error on hash/checksum of empty file
Fixes the error code being returned when trying to perform a
hash/checksum on an empty file to show it is because the file is
empty, not because a paramter (which was not provided) was too
large.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-12 11:54:01 +01:00
Jamie McCrae
65bb96f37c retention: blinfo: Fix issue with crash writing to keys
Fixes an issue which would cause a fault if someone attempted
to write to the (non-writable) blinfo keys

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-12 11:53:21 +01:00
Daniel Leung
04a0cf7d79 kernel: deprecate K_THREAD_STACK_MEMBER
The macro K_THREAD_STACK_MEMBER has actually been deprecated
since v2.4.0 in the macro doxygen description, but it was
never marked with __DEPRECATED_MACRO. Since this was being
used in various drivers, make it follow the deprecation
process.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-12 11:07:00 +01:00
Jukka Rissanen
5c6dca3c52 tests: net: sockets: mgmt: Add tests for too long message
Add test that checks we get proper return code if trying
to copy too much data.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-12 10:33:36 +03:00
Jukka Rissanen
0a16d5c7c3 net: socket: mgmt: Check buf size in recvfrom()
Return EMSGSIZE if trying to copy too much data into
user supplied buffer.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-12 10:33:36 +03:00
Torsten Rasmussen
2f79f5e992 MAINTAINERS: Create dedicated entries for 3rd party toolchains
Fixes: #63738

Create dedicated entries for ARC MWDT, arm compiler 6, and one Api
toolchains.

This helps contributors to identify whom to contact in case of issues
related to those toolchains.

The Zephyr SDK, cross-compile, and other GCC based compilers are covered
as part of the general cmake/toolchain,compiler,linker,bintools entry in
the MAINTAINERS file.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-10-12 10:23:45 +03:00
Vinayak Kariappa Chettimada
7ee427ff58 Bluetooth: Controller: Fix CIS encryption when DF support enabled
Fix hung Controller when establishing CIS on an encrypted
ACL connection with Controller built with direction finding
support enabled.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-12 09:48:54 +03:00
Yanfeng Liu
a275e45c85 doc: build:kconfig:settings rewise CONF_FILE description
make item#2 as part of item#1 to reduce confusions.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2023-10-12 09:47:19 +03:00
Yanfeng Liu
fc682c35a2 doc: build:kconfig:settings align with guidelines
use unnumbered list to align with guidelines

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2023-10-12 09:47:19 +03:00
Emil Gydesen
b63d8ffb2f tests: Bluetooth: BAP: Improve validation of broadcast source reconfig
Add verification of all stream's SDU, RTN and PHY rather than
just the first.

Also add another test case where only a subset of streams are being
reconfigured, but where the above values shall be updated for
all streams.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 09:41:30 +03:00
Emil Gydesen
de67ec9e67 Bluetooth: BAP: Fix broadcast source reconfig with subset of streams
When the bt_bap_broadcast_source_reconfig was supplied with a subset
of the streams, it would only update the codec cfg and qos for the
streams provided in the parameters.

This commit changes that, so all streams are properly updated,
as they share some common values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 09:41:30 +03:00
Emil Gydesen
7339849077 Bluetooth: BAP: Broadcast Sink should not terminate the PA Sync
When calling bt_bap_broadcast_sink_delete, the broadcast sink
should not attempt to terminate the PA Sync. The PA sync can live
on without the broadcast sink, just as the broadcast sink can live
on without the PA sync (which is why the PA sync check was completely
removed).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 09:40:41 +03:00
Emil Gydesen
37b6ddd918 Bluetooth: BAP: Broadcast Sink only set synced BIS indexes
When updating the Scan Delegator receive state, we shall only
set the BIS indexes in bis_sync that we are actually synced to.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-12 09:33:55 +03:00
Grzegorz Swiderski
5cf5282e60 cmake: extensions: Check status of "zephyr,memory-region" DT nodes
Functions `zephyr_linker_dts_memory()` and `zephyr_linker_dts_section()`
are described as defining a memory region or section based on a DT node,
as long as it "exists and has status okay". However, only the existence
of the node is actually checked, using `dt_node_exists()`. To fix that,
employ `dt_node_has_status()` instead, which can check both conditions.

The status check is important, because both functions require the given
DT node to contain a `zephyr,memory-region` property (not to be confused
with the compatible string). This property is required by the associated
binding as well, but required properties can be omitted from nodes which
don't have status "okay". In those cases, edtlib won't raise an error,
and neither should CMake, because those nodes should be ignored.

Speaking of that property, add a missing error check for it as a bonus
(tucked behind the status check, of course).

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-11 22:36:13 +03:00
Grzegorz Swiderski
de85a208a0 cmake: extensions: Robustify dt_node_has_status
Calling this function with an output variable named `var` or `okay`
could produce an incorrect result, due to the variable being mishandled.
Add simple changes to avoid this.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-11 22:36:13 +03:00
Rodrigo Peixoto
28eb47922e doc: zbus: add entries to the migration guide
ZBus had one break change related to the runtime observers'
configuration, and the VDED delivery sequence has changed. This commit
adds entries on the migration guide about the mentioned changes.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-10-11 22:33:40 +03:00
Rodrigo Peixoto
d2001eeb96 doc: zbus: update documentation with changes for 3.5
Add documentation for the new way to storage observers, the message
subscribers, and the confirmed message sample.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-10-11 22:33:40 +03:00
Martí Bolívar
9ceb8ce10a doc: west: build: fix info on --pristine default
In commit commit c19c6fb438
("Revert "scripts: west build: default build.pristine to auto""),
we set the default --pristine value back to 'never', but the
documentation never got updated. Fix it.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-11 09:47:23 -07:00
Bjarki Arge Andreasen
0339f2d41f modem: modem_cellular: Adjust chat scripts
This commit adjust the chat scripts for the simcom
sim7080 and gsm_ppp compatibles to fix an issue found
when trying to use a sim7080 modem. The CMUX command
includes optional parameters which are not identical
for all modems, so the AT+CMUX command has been adjusted
to only contain the mandatory parameters.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-10-11 18:57:11 +03:00
Bjarki Arge Andreasen
517bec233e modem: modem_cmux: Increase modem cmux buf size
This commit increases the buffer used for commands
in the control channel within an instance of the
modem_cmux module. The buffer was not large enough to
store an MSC command if the optional break signals
where included. This commit fixes the issue and
updates the test suite to use the max size MSC message.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-10-11 18:57:11 +03:00
Kevin Townsend
905b7dbf3b doc: releases: Rename Arm to Arc
Fixes a typo in the release notes where two 'Arm' entries were
present, and the first should have been 'Arc'.

Signed-off-by: Kevin Townsend <kevin.townsend@analog.com>
2023-10-11 18:44:09 +03:00
Manuel Argüelles
402e1da58d tests: gpio_basic_api: add WKPU interrupts test for mr_canhubk3
Use the same pins as when testing with SIUL2 EIRQ interrupt
controller, but instead test routing the external interrupts
to WKPU controller.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-11 16:38:34 +01:00
Manuel Argüelles
8a4ec8e024 tests: gpio_basic_api: use GPIO flags from DT
When configuring in/out pins for callback tests, pass the GPIO flags
coming from the in/out-gpios respective nodes.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-11 16:38:34 +01:00
Manuel Argüelles
f95c10d548 mr_canhubk3: document WKPU interrupt controller support
Enhance the documentation by providing an explanation of WKPU
interrupt controller support and how it integrates with GPIO.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-11 16:38:34 +01:00
Manuel Argüelles
7c661c625c nxp_s32k344: add external interrupts for WKPU
Define WKPU interrupt controller node and its respective interrupt
sources mapping to GPIO pins.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-11 16:38:34 +01:00
Manuel Argüelles
a034cce23c gpio: nxp_s32: support passing external interrupts to WKPU
Extend the NXP S32 GPIO driver to be able to route external interrupts
to either SIUL2 EIRQ interrupt controller or, when available on the
SoC, WKPU interrupt controller.

Since WKPU can support up to 64 external interrupt sources and SIUL2
EIRQ up to 32, gpio_get_pending_int() is removed and the interrupt
controller specific API must be used instead.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-11 16:38:34 +01:00
Manuel Argüelles
ea08227dd0 gpio: nxp_s32: prepare to support multiple interrupt controllers
Refactor external interrupts infrastructure to prepare supporting
multiple interrupt controllers.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-11 16:38:34 +01:00
Manuel Argüelles
c8a5cf6728 intc: add NXP S32 WKPU interrupt controller driver
Introduce an interrupt controller for the NXP S32 WKPU peripheral
that can be integrated with GPIO to trigger interrupts through
external interrupt pad inputs.

WKPU can trigger interrupts from certain input pads that support this
function, as well as wake-up events to the power management domain. This
patch only adds WKPU functionality as an interrupt controller to extend
the number of input pads that can interrupt the core. Power management
functionalities are not supported.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-11 16:38:34 +01:00
Andries Kruithof
125e65a976 samples: Bluetooth: remove dup pointer in broadcast_audio_sink
In the broadcast_audio_sink sample there are two pointers defined,
both referencing the same address. We reduce this to one pointer

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-11 18:29:34 +03:00
Gerard Marull-Paretas
7772cec6bd edtlib: always insert root node to the graph
When we have an empty Devicetree, ie,

```
/dts-v1/;

/ {

};
```

The node's dep_ordinal is never initialized because the node graph is
empty. This ends up with invalid ordinal tokens (-1) in
devicetree_generated.h which in turn produce some cryptic compiler
errors, see e.g.

```
error: pasting "dts_ord_" and "-" does not give a valid preprocessing
token
   95 | #define Z_DEVICE_DT_DEV_ID(node_id) _CONCAT(dts_ord_,
      DT_DEP_ORD(node_id))

...

include/zephyr/devicetree.h:2498:41:
note: in expansion of macro 'DT_FOREACH_OKAY_HELPER'
 2498 | #define DT_FOREACH_STATUS_OKAY_NODE(fn)
      DT_FOREACH_OKAY_HELPER(fn)
            |
	    ^~~~~~~~~~~~~~~~~~~~~~
include/zephyr/device.h:1022:1:
note: in expansion of macro 'DT_FOREACH_STATUS_OKAY_NODE'
     1022 |
	  DT_FOREACH_STATUS_OKAY_NODE(Z_MAYBE_DEVICE_DECLARE_INTERNAL)

```

(devicetree_generated.h)

```
...
 #define DT_N_ORD -1
 #define DT_N_ORD_STR_SORTABLE 000-1
...
```

This patch makes sure root node is always inserted (without any target)
so that it gets initialized later.

Discovered as part of
https://github.com/zephyrproject-rtos/zephyr/pull/63696

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-11 18:28:01 +03:00
Grzegorz Swiderski
ce1b8d6d16 scripts: kconfig: Make DEPRECATED/EXPERIMENTAL symbols optional
Make `kconfig.py` not crash when any one of these settings is undefined:

  * DEPRECATED
  * EXPERIMENTAL
  * WARN_DEPRECATED
  * WARN_EXPERIMENTAL

While these will continue to exist in Zephyr, they shouldn't be strictly
required for the script to work. One situation in which they could go
missing is when a user creates an application-specific Kconfig root, but
forgets to source "Kconfig.zephyr" inside it - not that this is expected
to work anyway, but it could at least raise a more intelligible error.

Note that when WARN_DEPRECATED is undefined, selecting DEPRECATED will
always produce warnings. Same with WARN_EXPERIMENTAL and EXPERIMENTAL.
This matches the fact that the WARN_* symbols normally have `default y`.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-11 18:25:57 +03:00
Grzegorz Swiderski
45c369f419 sysbuild: Support SB_CONF_FILE and SB_EXTRA_CONF_FILE as lists
These variables need to be converted to absolute paths internally, but
so far this has only worked when each value consisted of a single path.
Add a common loop to handle lists of paths.

As a bonus, run `string(CONFIGURE)` to expand those variables in the
same way as the regular CONF_FILE and EXTRA_CONF_FILE.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-11 18:25:05 +03:00
Benjamin Cabé
3ee0f305b0 dts: bindings: fix typo in iSentek spelling
Fixed a typo in the spelling of the sensor's manufacturer.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-11 15:45:59 +01:00
Cyril Fougeray
49126e2aa9 sensors: vl53l1: fix compilation without xshut or interrupt pin
Fix compilation when CONFIG_VL53L1X_INTERRUPT_MODE=n or
CONFIG_VL53L1X_XSHUT=n

Signed-off-by: Cyril Fougeray <cyril.fougeray@worldcoin.org>
2023-10-11 14:58:15 +01:00
Cyril Fougeray
1d0f28737b sensors: vl53l1: build_all without the default Kconfig
in case CONFIG_VL53L1X_INTERRUPT_MODE=n or
CONFIG_VL53L1X_XSHUT=n, the driver won't compile

Signed-off-by: Cyril Fougeray <cyril.fougeray@worldcoin.org>
2023-10-11 14:58:15 +01:00
Tomasz Moń
6b8b49c64a drivers: i2s_nrfx: Fix write race condition
There is inherent race condition between i2s_nrfx_write() and I2S
interrupt handler because I2S operates independently from the rest
of the system. If software takes too long to supply next TX pointer
then nRF I2S peripheral will simply resupply the previous buffer.

The race window is rather short. The failed race executes as follows:
  1. i2s_nrfx_write() checks state and loads next_tx_buffer_needed
  2. I2S interrupt handler executes and calls data_handler() which
     notices empty TX queue and therefore sets next_tx_buffer_needed
  3. i2s_nrfx_write() continues with the queue TX path (because the
     next_tx_buffer_needed was false when it was accessed)

If next i2s_nrfx_write() executes before next I2S interrupt:
  4a. i2s_nrfx_write() notices next_tx_buffer_needed is true and
      supplies the buffer directly to I2S peripheral. Previously queued
      buffer will remain in the queue until the just supplied buffer
      starts transmitting. Effectively swapping whole I2S block leads to
      clearly audible artifacts under normal circumstances.

If next I2S interrupt executes before next i2s_nrfx_write():
  4b. data_handler() notices that buffer was reused and stops despite
      having a buffer available in TX queue

Modify i2s_nrfx_write() to always queue the TX pointer first and only
supply the buffer to nrfx if the queue was empty when interrupt handler
executed. This prevents both the out-of-order TX and premature stop.

Fixes: #63730

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-10-11 15:36:15 +02:00
Torsten Rasmussen
8f7180bece cmake: remove clang++ lookup in clang/generic.cmake
Fixes: #63771

The 'compiler/*/generic.cmake' is intended to set a C preprocessor which
can be used for devicetree preprocessing.

No C++ compiler is needed as host tool and should therefore not be set
in this file.

Remove the code to avoid setting a not required C++ compiler.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-10-11 15:35:49 +02:00
Anas Nashif
8c6a3dbe37 tests: mcuboot: fix identifier: boot -> bootloader
Be consistent with other tests using bootloader.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
b1ee8b248a tests: logging: group logging testing and cleanup identifiers
Better group for logging tests removing verbosity and redundancy in
identifiers and making the sub-component a bit more uniform and clear.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
a2ed99687b tests: group all build system tests under build_system
Consistent naming of components related to build system.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
4dabea6f67 tests: settings: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
276a0e02c6 tests: mcumgr: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
2144d6f5e6 tests: bluetooth: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
f7456cb7cd tests: spsc_pbuf/ringbuffer: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
3a81c76b3a tests: fdtable: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
1164e33e0f tests: mpsc: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
38a480c20e tests: cbprintf: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
b2af50a836 tests: object cores: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
c9a2e0f0e8 tests: fcb: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
47983916a2 tests: nvs: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
36dde2c2ef tests: fs: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
4373f250bf tests: uart: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
d5bac8c9a2 tests: clock: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
b0b8f2ff80 tests: sensors: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Anas Nashif
dd743c97a4 tests: drivers: fix test meta data and components
Fix meta data and standarize components in test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-11 14:19:40 +03:00
Filip Kokosinski
739bbbb153 doc/releases/release-notes-3.5: add RISC-V release notes
This commit adds RISC-V release notes for Zephyr v3.5.0.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-10-11 14:13:15 +03:00
Pavel Vasilyev
2c9fc043d7 Bluetooth: Mesh: Print URI and FWID in Upload OOB Start msg
this is useful for debugging.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-11 14:04:11 +03:00
Pavel Vasilyev
1c1c5e22b7 tests: bluetooth: tester: Add Upload OOB support for mesh tester
This allow to run the following PTS test:
- DFU/SR/FD/BV-06-C
- DFU/SR/FD/BV-13-C
- DFU/SR/FD/BV-14-C
- DFU/SR/FD/BV-15-C
- DFU/SR/FD/BV-16-C
- DFU/SR/FD/BV-17-C
- DFU/SR/FD/BV-18-C
- DFU/SR/FD/BV-22-C

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-11 14:04:11 +03:00
Pavel Vasilyev
d1c2ca2525 Bluetooth: Mesh: Release previously reserved slot before reserving again
If the previous upload was in-band and it didn't complete, the slot will
stay reserved. By design we release slot not at the end of the upload
phase, but at the start of a new upload phase.

This fixes DFU/SR/FD/BV-13-C.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-11 14:04:11 +03:00
Pavel Vasilyev
7154f356af Bluetooth: Mesh: Ignore duplicate OOB upload request
If a Fw Distribution Client sends the Upload OOB Start message, but the
application layer didn't call bt_mesh_dfd_srv_oob_check_complete yet,
we have no other option other than ignore the message. The next phase
in this case could be Transfer Active, Transfer Success or Failed and it
will be set only after Check Firmware OOB procedure completes.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-11 14:04:11 +03:00
Pavel Vasilyev
1329a9d312 Bluetooth: Mesh: Fix Fw Dist Upload OOB Start msg length check
This message _at least_ 2 bytes long, but can be longer, thus
BT_MESH_LEN_MIN should be used.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-11 14:04:11 +03:00
Pavel Vasilyev
9641864a20 Bluetooth: Mesh: Fix Upload Progress for already received fw
In OOB upload, when Check Firmware OOB procedure completes successfully
and the firmware is already received, we send Firmware Distribution
Upload Status message with update Phase set to Transfer Success. In this
case, we must set Upload Progress to 100%. This can't be done through
the callback as the application layer doesn't yet know that the firmware
is already received. This will happen by the exist from
bt_mesh_dfd_srv_oob_check_complete function, which will return error
code -EEXIST.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-11 14:04:11 +03:00
Jonas Otto
4d59868397 dts: usb-c: fix invalid power-role in example
The example sets the power-role to "SINK", but the value is
case-sensitive and only accepts lowercase "sink".

Signed-off-by: Jonas Otto <jonas@jonasotto.com>
2023-10-11 11:19:06 +01:00
Rihards Skuja
153c418787 pinctrl: gecko: fix broken UART when SPI is enabled on Series 2
When SPI is enabled, pinctrl driver configures all the pins in UART pinctrl
config as gpioModeDisabled.

Signed-off-by: Rihards Skuja <rihards@skuja.eu>
2023-10-11 11:18:08 +01:00
Francois Ramu
c5f8427236 boards: arm: disco_l475_iot1 do not declare adc1 input on PA0
Do not declare the in5 on pin PA0 of the adc1 since it makes
conflict with uart4_tx_pa0.
Other ADC1 adc1_in1_pc0 or adc1_in2_pc1 are not available
(used by the i2c3).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-10-11 11:17:51 +01:00
Francois Ramu
1204b18aa3 drivers: sensor: stm32 vref sensor depends on ADC
Set the CONFIG_STM32_VREF depending on the ADC,
like the CONFIG_STM32_VBAT does

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-10-11 11:17:51 +01:00
Benjamin Cabé
4773f42c27 west: bossac: handle stty from coreutils on macOS
There might be situations where people are running the coreutils version
of stty on macOS, hence the need for being smarter at detecting when
that might be the case

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-11 11:05:48 +01:00
Marcin Gasiorek
47822586e4 doc: Remove two redundant characters in rst file
Remove additional dot and bracket.

Signed-off-by: Marcin Gasiorek <marcin.gasiorek@nordicsemi.no>
2023-10-11 11:10:05 +02:00
Andrzej Kuros
adec56bcee nrf5340: pretick decoupled from workaround anomaly 160
Coupling in code between workarounds for anomaly 160 and anomaly 165
(pretick) is decreased.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-10-11 11:09:29 +02:00
Andrzej Kuros
3eef769209 nrf53: fix RTC pretick for RTC rescheduling by other interrupts
It might happen that while some interrupt handler other than for RTC0
or RTC1 (e.g. for RADIO) is executed, the scheduled pretick CC triggers.
This starts pretick pulses due to the loop through IPC. The change
in pretick schedule did not stop the pretick pulses going through IPC
loop, what caused heavy increase in power consumption.

This commit fixes this behavior.
Added also clarifications for Kconfig option `SOC_NRF53_RTC_PRETICK`.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-10-11 11:09:29 +02:00
Andrzej Kuros
c4e53dabf7 nrf53: fix RTC pretick power usage for events on RTC0
For RTC0 events the RTC1 pretick event was not cleared what caused the
WDT to be not stopped. This resulted in increased power usage.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-10-11 11:09:29 +02:00
Erwan Gouriou
1c2d326579 drivers: serial: stm32: Make it compatible with runtime PM on console
Since #53979, runtime PM can be applied on serial device used by console.
While it should be transparent on serial driver side as the application
(console in this case) is driving the PM runtime requests, on STM32
it requires some modification on serial driver as UART interrupts are
generated to handle internal power management house cleaning.
When these interrupts are generated, PM runtime should also be driven
to ensure clock availability when treating the uart ISR.
On STM32, some additional changes are required

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-11 11:12:03 +03:00
Daniel Leung
2d25fae42e kernel: remove deprecated STACK EXTERN macros
These macros have been deprecated since v3.2.0. So remove them.

() K_KERNEL_STACK_EXTERN
   Use K_KERNEL_STACK_DECLARE instead.

() K_KERNEL_STACK_ARRAY_EXTERN
   Use K_KERNEL_STACK_ARRAY_DECLARE instead.

() K_KERNEL_PINNED_STACK_ARRAY_EXTERN
   Use K_KERNEL_PINNED_STACK_ARRAY_DECLARE instead.

() K_THREAD_STACK_EXTERN
   Use K_THREAD_STACK_DECLARE instead.

() K_THREAD_STACK_ARRAY_EXTERN
   Use K_THREAD_STACK_ARRAY_DECLARE instead.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-11 11:05:45 +03:00
Martin Jäger
b1cc4e9a14 doc: releases: release-notes-3.5: update CAN ISO-TP
Add sections for CAN ISO-TP changes in this release and describe API
changes in migration guide.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-10-11 09:38:08 +03:00
Erwan Gouriou
e0192e1287 doc: release note 3.5: Document Shields additions
Document shields added in V3.5 release.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-11 00:20:45 +03:00
Erwan Gouriou
dc3295608a doc: migration guide 3.5: Document STM32 changes
Document STM32 breaking or not backward compatible changes made on V3.5
release.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-11 00:20:45 +03:00
Erwan Gouriou
01c31f2dc5 doc: release note 3.5: Document STM32 changes
Document STM32 related changes made on V3.5 release.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-11 00:20:45 +03:00
Keith Packard
e7126b5d84 libc/common: Place malloc data structures in libc partition
Leave the malloc partition so that it only contains the heap itself; this
lets the initialization code adjust the address range when configuring the
arena at startup.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-10 23:39:40 +03:00
Keith Packard
eb024b655f libc: Control Z_LIBC_PARTITION_EXISTS from Kconfig
Instead of adding every possible subsystem which places variables in the C
library memory partition in libc-hooks.h, place those conditions in the
related Kconfig files and simplify the libc-hooks.h to just looking at
CONFIG_NEED_LIBC_MEM_PARTITION.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-10 23:39:40 +03:00
Martin Jäger
13e0abf4a5 doc: releases: release-notes v3.5: update DAC driver
Add section for added DAC drivers in this release.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-10-10 21:24:03 +01:00
Flavio Ceolin
cd291e5c98 doc: release: 3.5: Add info about CVE-2023-4259
Add CVE-2023-4259 info to release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-10 21:11:33 +03:00
Flavio Ceolin
b1fdce6336 doc: vuln: Add information about CVE-2023-4259
Information about CVE-2023-4259

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-10 21:11:33 +03:00
Gerard Marull-Paretas
a19c7f2294 tests: lib: hash_map: fix libc heap size setting
The malloc arena/heap size setting can be adjusted using different
Kconfig options, depending on the libc implementation. This means
prj.conf can't be used to set this value on projects that can be built
for multiple libcs without generating a Kconfig warning.

Note: similar fix was applied for the hash_map sample, see
7ef8911e8c

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-10 12:26:15 -04:00
Fabian Blatz
c5064cf708 doc: release-notes: Add 3.5.0 release notes for LVGL
Added section for LVGL changes done for release 3.5.0.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-10-10 17:44:24 +03:00
Robert Lubos
fdaba20b2c doc: net: Add page for net_time
So that the type is visible and "referencable" in the documentation.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-10 16:27:32 +03:00
Robert Lubos
ae109c6ea5 doc: release-notes: Add 3.5.0 release notes for networking
Add 3.5.0 release notes for networking.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-10 16:27:32 +03:00
Jamie McCrae
365a6f5da0 doc: retention: Add note on mutex configuration
Adds a note on how to configure and what to beware of when
disabling mutex support in a multithreading application

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-10 16:27:10 +03:00
Jamie McCrae
9ea9c85f00 doc: retained_mem: Add note on mutex configuration
Adds a note on how to configure and what to beware of when
disabling mutex support in a multithreading application

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-10 16:27:10 +03:00
Stefan Petersen
416dde7dd1 drivers: ethernet: eth_stm32_hal.c Fix mixup of DMA error and MAC error
There seems to be a copy-paste error where GetDMAError() et al is used
twice. The comment states that it is actually getMACError() et al that
should be used in the second instance.

Signed-off-by: Stefan Petersen <spe@ciellt.se>
2023-10-10 15:26:52 +02:00
Andrej Butok
86d606ba2d flash: nxp: fix lpc55s36 flash read
Add additional check if page is erased,
to avoid a possible fault exception.
Fixes #63087

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-10-10 15:26:18 +02:00
Alberto Escolar Piedras
b1515ac364 boards nrf_bsim: Set native_gdb as debug runner
Set native_gdb as the runner for the debug build target

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-10 15:26:09 +02:00
Alberto Escolar Piedras
9ce33d7512 native sim: Set native_gdb as debug runner
Set native_gdb as the runner for the debug build target.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-10 15:26:09 +02:00
Alberto Escolar Piedras
07e88a9fba west native_gdb runner: Fix to use exe instead of elf
The runnable output from the build system is the
exe file. In native_posix the elf happend to also be
runnable, but this is not the case in general,
and not for native_sim or the nrf5*bsim boards.

So lets use the exe instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-10 15:26:09 +02:00
Alberto Escolar Piedras
f8455b410e west runner: Add exe file to configuration
Add the exe fle to the runnerconfiguration class,
so we can use it from runners which will need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-10 15:26:09 +02:00
Anas Nashif
22042e7b4e ci: tags: include wifi/net drivers in the net group
Changes to networking and wifi drivers should trigger networking tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-10 16:22:54 +03:00
Lukasz Mrugala
eeb142d409 .github: workflows: Workflow for build_helpers
PR #63195 has managed to change code under test without
triggering those tests.

This change should remedy that by creating a new workflow,
based on twister_tests.yaml, that runs tests in
scripts/tests/build_helpers if build_helpers are modified.

Such a workflow should be easily extendable if we ever have more
non-Twister things to test in scripts/pylib.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-10 15:55:58 +03:00
Lukasz Mrugala
76f9a024c3 scripts: tests: twister: Domains tests fix
PR #63195 has changed how Domains work without
triggering necessary tests, thus breaking them.
This commit fixes the domains tests.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-10 15:55:58 +03:00
Lukasz Mrugala
2fcf4e3499 scripts: pylib: build_helpers: flash_order fix
If flash_order were to be missing from the YAML, the Domains init
would crash instead of substituting an empty list.
This commit fixes that.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-10 15:55:58 +03:00
Jukka Rissanen
493fe169a8 drivers: eswifi: Fix the SSID copying
The wrong ssid_len was used which causes build error.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-10 15:50:22 +03:00
Mariusz Skamra
916df03e7a Bluetooth: ascs: Fix Source ASE link loss state transition
According to the ASCS_v1.0 the ASE in Streaming state shall transit to
QoS Configured state when link loss happen.

Relates: ES-24215 (errata)
Fixes: BAP/USR/SCC/BV-168-C
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-10-10 15:18:37 +03:00
Emil Lindqvist
97d608b98f display: stm32: fix bug where missing backlight pin causes crash
When backlight pin is not defined, a display suspend will cause
a crash since it looks at the wrong pin when deciding if
it exists.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2023-10-10 15:16:59 +03:00
Flavio Ceolin
e7bd10ae71 random: Rename random header
rand32.h does not make much sense, since the random subsystem
provides more APIs than just getting a random 32 bits value.

Rename it to random.h and get consistently with other
subsystems.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-10 14:23:50 +03:00
Jordan Yates
c928e3b125 doc: release-notes: Add 3.5.0 notes for LoRaWAN
Document the upgrade from v4.6.0 to v4.7.0.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-10 14:04:44 +03:00
Szymon Janc
4f57614cbd tests: bluetooth: tester: Fix GATT read multiple
Pass only speficied number of handler to read_params for GATT read
multiple. This is to avoid sending invalid (zeros) handles in
ATT_READ_MULTIPLE_REQ.

This was affecting GATT/CL/GAR/BI-18-C and GATT/CL/GAR/BI-19-C
qualification test cases.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-10-10 12:48:11 +03:00
Flavio Ceolin
5f53d4977f doc: relnotes: 3.5: Random subsys release notes
Information about the removal of a deprecated symbol.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-10 12:42:58 +03:00
Flavio Ceolin
0c040501e6 doc: relnotes: 3.5: Entropy drivers release notes
Add relevant information about entropy drivers.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-10 12:42:58 +03:00
Daniel Leung
54c7cdb6a1 doc: release/3.5: add bits about UART drivers
This adds some bits on additions and changes for UART drivers.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-10 10:42:41 +01:00
Daniel Leung
73acdbbcaf doc: release/3.5: add bits about shadow variable warning
This adds bits about partially enabling warnings on shadow
variables for a subset of in-tree code.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-10 10:42:41 +01:00
Daniel Leung
e28a80d42b doc: release/3.5: add bits about userspace and syscalls
This adds bits about changes related to userspace and syscalls.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-10 10:42:41 +01:00
Daniel Leung
61f939da30 doc: release/3.5: added bits on I3C driver changes
This adds some bits about changes to the I3C CDNS driver.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-10 10:42:41 +01:00
Daniel Leung
83a6223da2 doc: release/3.5: add bits for PCIe
This adds some bits about changes on PCIe subsystem.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-10 10:42:41 +01:00
Daniel Leung
f0d71f54d9 doc: release/3.5: add some bits on Xtensa
This adds some bits on added Xtensa MMU support, refactoring of
ESP32 folder, and various board additions/removals.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-10 10:42:41 +01:00
Flavio Ceolin
ea109f6a20 drivers: eswifi: shell: Fix possible overflow
Limit the copied data to the buffer's size.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-10 11:41:49 +02:00
Flavio Ceolin
2504329b76 drivers: eswifi: Fix possible buffer overflow
Limit the number of the copied ssid to WIFI_SSID_MAX_LEN
and avoid a possible one byte overflow.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-10 11:41:49 +02:00
Daniel DeGrasse
daf6de7b99 drivers: flash: flexspi_mx25um513: enforce write size limit in DTR mode
Per the MX25UM51325G datasheet, all page programs in OPI DTR mode need to
start at an even address, and be of even length. Update the minimum
write size reported by the driver and check all writes when OPI DTR mode
is enabled, so that subsystems using the flash driver can align to this
requirement.

Fixes #63639

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-10 11:18:57 +02:00
Erwan Gouriou
1a00636895 samples: tfm_regression_test: Provide a working partition for nucleo_l5
This partition is designed to work regression TFM configuration.

Fixes #59794

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-10 11:18:48 +02:00
Szymon Janc
4c269d0d61 tests: bluetooth: tester: Increase BT RX thread stack
Default stack size if not enought and was causing MPU faults.
This was affecting GATT/SR/GAW/BV-14-C qualification test case.

<dbg> bttester_gatt: gatt_db_add: handle 0x0000
<err> os: ***** MPU FAULT *****
<err> os:   Stacking error (context area might be not valid)
<err> os:   Data Access Violation
<err> os:   MMFAR Address: 0x2000aa38
<err> os: r0/a1:  0x00000000  r1/a2:  0x00000000  r2/a3:  0x00000000
<err> os: r3/a4:  0x00000000 r12/ip:  0x00000000 r14/lr:  0x00000000
<err> os:  xpsr:  0x00000000
<err> os: Faulting instruction address (r15/pc): 0x00000000
<err> os: >>> ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0
<err> os: Current thread: 0x20002d28 (BT RX)
<err> os: Halting system

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-10-10 11:18:11 +02:00
Jukka Rissanen
d52cb2202f doc: release: 3.5: Add Ethernet and Wi-Fi info
Add changes to Ethernet and Wi-Fi drivers for v3.5.
Also add information about generic Ethernet and Wi-Fi changes.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-10-10 11:18:04 +02:00
Fabio Baltieri
cf75c88a61 tests: newlib/thread_safety: exclude acrn_ehl_crb from more tests
This was already excluded from
libraries.libc.newlib_nano.thread_safety.userspace.stress and it's now
failing in libraries.libc.newlib.thread_safety.userspace.stress as well.

The issue is being rootcaused to a toolchain issue but a proper fix has
not been identified yet, exclude that test as well in the meantime.

Link: https://github.com/zephyrproject-rtos/zephyr/issues/61129
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-10 09:05:02 +01:00
Henrik Brix Andersen
fc078f9d02 drivers: can: sja1000: do not attempt to sleep in IRQ context
The can_sja1000_handle_error_warning_irq() function should only attempt to
start bus-off recovery, but not wait for the result.

Fixes: #63712

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-09 23:54:47 +03:00
Henrik Brix Andersen
f09b67b304 doc: release: Fix formatting of bullet lists
Without the extra newline, Sphinx does not render bullet lists correctly.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-09 21:22:07 +03:00
Pieter De Gendt
9473b638b6 doc: release-notes: Add 3.5.0 release notes for nanopb
Added section for nanopb changes done for release 3.5.0.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-10-09 19:07:11 +03:00
Aleksander Wasaznik
f187d1bdf4 Bluetooth: drivers/rpmsg: Ensure coop prio bt_recv
Ensure that the Bluetooth rpmsg driver thread is temporarly in
cooperative mode using `k_sched_lock`.

The previous commit added the documentation on `bt_recv` stemming from
the general consensus among maintainers that `bt_recv` may not be called
from preemptible priorites.

Many uses may be affected by this race condition, since the default
configuration of rpmsg driver selects a preemtible priority.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-10-09 19:03:59 +03:00
Aleksander Wasaznik
e5240422cb Bluetooth: hci_driver: Require coop prio bt_recv
Document the general consensus among maintainers that `bt_recv` may not
be called from preemptible priorites.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-10-09 19:03:59 +03:00
Eivind Jølsgard
8203646cc4 boards: arm: nrf9161dk_nrf9161: Add ext flash support for 0.7.0 version
Add support for external flash on the 0.7.0 DK version.

Signed-off-by: Eivind Jølsgard <eivind.jolsgard@nordicsemi.no>
2023-10-09 19:03:22 +03:00
Aaron Massey
771770a772 fuel_gauge: Remove keep alphabetized comment
The fuel gauge header asks to alphabetize the properties in order to keep
them organized and easy to read. However, this is difficult to enforce
without adding an adhoc script for just this header. In addition, there
aren't so many properties such that it's difficult to parse unsorted. Since
the alphabetization is already not followed and not likely to be easily
followed in the future, remove this ask from the header.

Remove "keep properties alphabetized" from the header.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-10-09 19:01:49 +03:00
Aaron Massey
32b27384a6 fuel_gauge: Fix desired current/voltage units
The desired current/voltage properties make use of milliamps/volts while
the present current/voltage properties make use of microamps/volts.

Fix the desired current/voltage properties to be consistent with the
present current/voltage properties where they're most likely to be used
with.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-10-09 19:01:49 +03:00
Pavel Vasilyev
68365d5b67 Bluetooth: Mesh: Reset targets state before starting DFU on DFD srv
The list of receives in the Firmware Distribution Server model and
and the Firmware Update Client model are 2 different lists.

In the Firmware Update Client model it is called the Update Receives
state and the Active Update Receivers state which is a subset of
receivers from the Update Receivers State. In the Firmware Distribution
Server model it is called the Distribution Receivers List state.

When Distribute Firmware procedure starts, in the Initiate step, the
Receivers List input (which is the input for the Update Receivers
state), is composed of the Distribution Receives List state. During DFU,
the Update Receivers state becomes the Active Update Receivers state
which keeps only active nodes. Timed out or failed nodes dropped out
from this list. The Distribution Receivers List state stays unchanged
and thus don't need to be populated again after every successfull and
failed DFU.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-09 16:18:53 +03:00
Emil Gydesen
ab15043b72 tests: Bluetooth: BAP Broadcast source id and BASE unit tests
Add unit test to test the get_id and get_base functions.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-09 16:11:05 +03:00
Martin Jäger
33bd2fed08 task_wdt: fix race condition for task_wdt_add function
The task_wdt_add function changes the reload_period of the channel to a
non-null value, which indicates that the channel is used. If the
function is interrupted by a task_wdt_trigger running in ISR context
before adding of the new channel has finished, the next timeout will be
scheduled based on inconsistent channel data.

Using a spinlock avoids such data races.

Fixes #61004

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-10-09 16:10:00 +03:00
Gerard Marull-Paretas
474aa963ff doc: migration-guide: inform about device dependencies changes
Device dependencies are now optional, before they were always built.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas
f767cf48c9 doc: migration-guide: inform about CMSIS header changes
arch headers are deprecated, header in CMSIS glue code must be used
instead.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas
a7cbfa4970 doc: migration-guide: inform about NMI_INIT removal
It may be needed by out-of-tree ARM SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas
c4a579c5da doc: migration-guide: add PM/poweroff changes
Inform about required changes related to PM/poweroff.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas
2d3ea64d05 doc: migration-guide: inform about GPIO optional ops changes
Related to https://github.com/zephyrproject-rtos/zephyr/pull/62394
changes.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas
f7c21e5dd2 doc: release-notes: add documentation infra changes
Only relevant thing: Sphinx upgrade.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas
28c9c7b41d doc: release-notes: add regulator API changes
Add relevant changes to the regulator area.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Henrik Brix Andersen
a27d281722 doc: release-notes: add CAN release notes for v3.5.0
Add CAN related release notes for Zephyr v3.5.0. API changes are already
described in the migration guide for v3.5.0.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-09 15:27:17 +03:00
TOKITA Hiroshi
73f45f6573 doc: migration-guide: add notes on SSD1306 Kconfig changes
Some SSD1306 Kconfig options replaced by dts to make able to
configure per device.
Add the description how to migrate it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-10-09 15:06:35 +03:00
Håvard Reierstad
5969ad7811 bsim: Bluetooth: mesh: Implement CDP1 test
Adds bsim test to verify that composition data page 1 (CDP1) is
encoded and decoded correctly.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-10-09 15:06:06 +03:00
Håvard Reierstad
3d40d91f86 Bluetooth: mesh: access: Fix model relation register
Added offset to the model relation register for vendor
models to find correct model index
for Composition Data Page 1. The previous implementation used the
'mod_idx' from the 'bt_mesh_model' struct, which led to issues in the
model relation register due to SIG and vender models having the same
model index.
Modified existing functions related to the model relation
register to take in the offset.

Modified macros for determining if a model is a base- or
extending model.

Added check in 'add_items_to_page' to check whether the model relation
is an extension.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-10-09 15:06:06 +03:00
Håvard Reierstad
ea753eb52a Bluetooth: mesh: Change cfg_cli buffer length check
Changed buffer length check in bt_mesh_comp_p1_elem_pull.
The previous threshold would result in the
method not detecting the final element when it consisted of just one
model.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2023-10-09 15:06:06 +03:00
Al Semjonovs
955d85aa67 libc: picolibc: Fix picolibc to allow third party CPP
Picolibc dependencies limit ability to use third party minimal
implementations of CPP when enablng PICOLIBC_USE_MODULE.

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2023-10-09 15:05:39 +03:00
Henrik Brix Andersen
80997cc98f doc: release-notes: add EEPROM release notes for v3.5.0
Add EEPROM related release notes for Zephyr v3.5.0.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-09 15:02:13 +03:00
Pavel Vasilyev
94bd09b1f8 tests: bluetooth: tester: Fix prov ctx init in PTS tests
This fixes regression introduced in
https://github.com/zephyrproject-rtos/zephyr/pull/63556

In the PR above `bt_mesh_init()` call was moved to `BTP_MESH_INIT`
command to allow to select alternative composition data when starting
the stack. AutoPTS sends `BTP_MESH_CONFIG_PROVISIONING` command
before `BTP_MESH_INIT` to prepare the provisioning context. But
because `bt_mesh_init()` is now called after
`BTP_MESH_CONFIG_PROVISIONING` command is sent, this configuration is
reset to the default which makes PTS tests to fail.

To solve this, this commit calls introduces a new command,
`BTP_MESH_START`, which will replace the original `BTP_MESH_INIT`
command. `bt_mesh_init()` will stay in `BTP_MESH_INIT` while the stack
will be started in `BTP_MESH_START` command.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-09 14:56:58 +03:00
Christopher Friedt
9cd81c1640 doc: release: 3.5: (partial) kernel release notes
Include dynamic thread stack allocation and support for
k_spin_trylock().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-09 06:14:12 -04:00
Christopher Friedt
086dd2e03c doc: release: 3.5: add posix api release notes
Add release notes with  POSIX API updates for v3.5.0.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-09 06:08:17 -04:00
Christopher Friedt
b0a3736eff doc: posix: add posix timers and clock selection
Update the POSIX API documentation with details on
POSIX_TIMERS and POSIX_CLOCK_SELECTION.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-09 06:08:17 -04:00
Fabio Baltieri
d53b1a1c0e sensors: default_rtio_sensor: fix build warning
Fix a build warning on 64 bit architectures:

zephyr/drivers/sensor/default_rtio_sensor.c:238:17: error: format '%zu'
expects argument of type 'size_t', but argument 2 has type 'uint32_t'
{aka 'unsigned int'}

num_channels type changed to uint32_t in 96175fcc47.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-09 10:48:55 +01:00
Stephan Linz
e7f399f4a3 drivers: can: avoid integer overflow in expression
Change the integer arithmetic to divide first before multiply.

The muliplication of sys_clock_hw_cycles_per_sec() by ten leads
to a really big number on boards with high-speed clocking, thus
to the overflow warning, and to errors for integration tests.

Fixes: #63678

Signed-off-by: Stephan Linz <linz@li-pro.net>
2023-10-09 10:39:43 +01:00
Brett Witherspoon
f8e812aa3f dts: arm: st: u5: correct lptim2 clock enable bit
The LPTIM2 clock enable is bit 5 of RCC APB1 clock enable register 2
(RM0456 Rev 4 11.8.34).

Signed-off-by: Brett Witherspoon <brett@witherspoon.engineering>
2023-10-09 10:17:07 +02:00
Flavio Ceolin
29f6ea431d doc: vuln: Add information about CVE-2023-3725
Information about CVE-2023-3725

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:53 +02:00
Flavio Ceolin
49e811bb2d doc: release: 3.5: Add info about CVE-2023-3725
Add CVE-2023-3725 info to release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:53 +02:00
Peter Mitsis
d66cf91706 doc: Add missing threads references to object cores
Two references to the integration of object cores with threads were
missing from the documentation. This fixes that.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-10-09 10:16:46 +02:00
Flavio Ceolin
39068456c4 entropy: sam: Remove unused parameter
Do not propagate unused parameter. ISR callback is already handling
the given flags, there is not need to propagate it through internal
calls.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:19 +02:00
Flavio Ceolin
78af988546 entropy: sam: Fix get_entropy() behavior
entropy_get_entropy blocks if required to generate the necessary
random data.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:19 +02:00
Flavio Ceolin
1dcaf4637e entropy: fake_entropy: Fix return value in isr callback
get_entropy_isr() has to return the number of bytes copied or
a negative value in case of error.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:19 +02:00
Flavio Ceolin
58b0c8f4b7 entropy: neorv32: Return ENODATA on error
Return -ENODATA in neorv32_trng_get_entropy_isr when
there is no data available. This is consistent with other
drivers.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:19 +02:00
Flavio Ceolin
5133ac8af4 entropy: b91_trng: Fix callback return
get_entropy_isr() has to return the number of bytes copied or a negative
value for error. Since this driver is assuming that it will always
(????) get the number of requested bytes, change the function to return it
instead of 0.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:19 +02:00
Flavio Ceolin
ff074551b0 entropy: gecko_se: Remove unnecessary callback
get_entropy_isr is not implemented, just remove it and let the
driver interface handle it.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-09 10:16:19 +02:00
Jeroen van Dooren
fe8d30dd42 net: ip: tcp: Fix kernel crash on idle thread
Fixing kernel crash caused by memory release
while having a scheduled work item pending.

Signed-off-by: Jeroen van Dooren <jeroen.van.dooren@nobleo.nl>
2023-10-09 10:16:05 +02:00
Daniel Leung
c91a572b0e i3c: some doxygen API doc polishing
This polishes the doxygen doc on I3C API to make it,
hopefully, more usable. Fixed some typos too.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-09 10:15:49 +02:00
Daniel Leung
2c2d53c7e5 kernel: remove deprecate wording on arch_kernel_init()
The wording on deprecating arch_kernel_init() in favor of prep_c()
has never been materialized. Various architectures are using it to
perform initialization. So remove the wording.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-09 10:15:49 +02:00
Daniel Leung
edfbc2d7dc kernel: userspace: fix and clean up doxygen
This fixes and cleans up the doxygen doc for architecture
specific userspace APIs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-09 10:15:49 +02:00
Daniel Leung
dd6a7eb77d kernel: demand_paging: add doc to enum arch_page_location
This adds doc to enum arch_page_location.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-09 10:15:49 +02:00
Daniel Leung
77dc74136c kernel: tls: fix doc on arch_tls_stack_setup()
There was a typo there so fix it.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-10-09 10:15:49 +02:00
Kai Meinhard
06f35916e1 i2c: silabs: Fix I2C target crash on long ISR execution
Long I2C target callback functions could lead to an unresponsive
I2C peripheral. This commit ports the official ISR implementation
from Silicon labs to Zephyr:
https://github.com/SiliconLabs/peripheral_examples/blob/master/series2/i2c/i2c_follower/src/main.c

Signed-off-by: Kai Meinhard <meinhard@gessler.de>
2023-10-09 10:15:37 +02:00
Dennis Grijalva
b122685eff bluetooth: conn: Fix compiler warning
When compiling conn.c using arm-none-eabi-gcc version 11.3.1 20220712
with the -Wmaybe-uninitialized flag a warning is emitted due to
pending_no_cb not being initialized. I'm not sure if initializing it to
NULL is the "correct" fix, but it's certainly not any worse then it being
uninitialized, and it fixes the warning.

Signed-off-by: Dennis Grijalva <dennisgrijalva@meta.com>
2023-10-08 18:17:22 +03:00
Daniel DeGrasse
a6adaedd51 drivers: i2s: mcux_sai: fix PCM data format and respect CLK format
This commit fixes the following issues with the PCM data format output
by the MCUX SAI driver:

- WS signal should be only one clock cycle in length for short PCM
  format
- Word count should not be fixed to 2, except for classic I2S format
- BCLK polarity should be on falling edge for PCM long and short format

Additionally, the I2S_FMT_CLK_ constants now flip the frame and bit
clock polarity from the normal value expected for the selected I2S
format, as expected by the API.

Fixes #63041

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-08 11:25:24 +01:00
Daniel DeGrasse
b12813468a boards: arm: lpcxpresso: update core clock documentation
Update documentation for core clock frequency on LPC55xxx boards, to
indicate that they are clocked from PLL1 at 150MHz by default. Add a
note about the reduction to 96MHz required when using the flash
controller.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-08 11:25:02 +01:00
Daniel DeGrasse
faf5593272 soc: arm: nxp_lpc: Only clock core from PLL1 when CONFIG_FLASH=n
Do not clock the LPC55xxx cores from PLL1 when CONFIG_FLASH is set. This
is required due to the following limitation of the flash controller
(documented in the reference manual):

Flash operations (erase, blank check, program) and reading a single word
can only be performed for CPU frequencies of up to 100 MHz. These
operations cannot be performed for frequencies above 100 MHz.

The PLL1 clock source will result in a core clock of 150MHz, which
violates this requirement.

Fixes #62963

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-08 11:25:02 +01:00
Martin Åberg
7a9600816a tests: posix: Enable pthread_pressure test on SPARC
This sets the stack size appropriate for SPARC. Tested on the board
configurations qemu_leon3 and gr716a_mini.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-08 11:24:19 +01:00
Antoniu Miclaus
22a086216a dts: bindings: adxl372-i2c: update description
Specify only the bus corresponding to the current yaml file, as done in
the adi,adxl372-spi.yaml.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-10-08 11:17:02 +01:00
Thomas Chiantia
4ebc963ed5 drivers: eth: gmac: Fixed ethernet startup when fixed-link
When upgrading to version 3.4, our hardware lost ethernet connectivity.
Our hardware assumes a fixed link and does not communicate with the
underlying phy via the mdio bus.

I confirmed that the atsame54_xpro board also will lose ethernet
functionality when the atsame54_xpro configures the phy via to use a
fixed link...

The eth_sam_gmac driver changed the initialization behavior to call
net_if_carrier_off and notes to wait until phy link is up (via
callback.)  However, when in a fixed link configuration, the callback is
never called. So the net_if_carrier_on event never occurs.

This patch adds a check to see if link is up already before calling
net_if_carrior_off. This check works because in fixed-link mode, link-up
is set synchronously during phy driver initialization.

I tested that atsame54_xpro with fixed-link configuration will now work
after this patch.

Signed-off-by: Thomas Chiantia <thomas.chiantia@gmail.com>
2023-10-08 11:16:39 +01:00
Tom Burdick
ee588bae7a llext: Update the sample readme with a board
The commands showing west build had -b None which isn't quite right. Add
a :board: property with the tdk_robokit1 as its what I tested on myself.
Also noted that llext isn't supported on every architecture but
intentionally left this a bit vague as updating this little comment
every time something is added seems like a recipe for doc rot.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-06 20:53:04 +01:00
Johan Hedberg
c1b1dd78e2 release: Zephyr v3.5.0-rc2
Bump the version to v3.5.0-rc2.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-06 20:59:57 +03:00
Keith Packard
1b057d6295 tests/timer_api: Make sure constant time conversions are constants
When the timer frequency is known at compile time, make sure we can use any
time conversion macro as a global initializer.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-06 20:05:07 +03:00
Keith Packard
d8b276e929 sys/time_units.h: Make sys_clock_hw_cycles_per_sec() constant if possible
To be used in a global initializer, this must be a macro instead of a
static inline when the return value is constant.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-06 20:05:07 +03:00
Keith Packard
ea61c8c1bd sys/time_units.h: Work around clang div-by-zero warning
clang emits a warning for this code:

  foo.c:1:25: warning: division by zero is undefined [-Wdivision-by-zero]
  int i = (10 > 100 ? (20 / (10 / 100)) : (20 * (100 / 10)));
	                        ^ ~~~~~~~~~~

The warning is generated for code whose value does not affect the
expression result, but technically it is still 'undefined behavior'.

Work around this warning by checking for a zero divisor and substituting
one to make the compiler happy.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-06 20:05:07 +03:00
Carles Cufi
f2af4a7bfd Bluetooth: host: document the connection states
Connection states are non-trivial to understand based on their names
only, so add short descriptions in the header file explaining what they
do.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-06 17:50:03 +03:00
Henrik Brix Andersen
410c02ac57 drivers: can: sja1000: remove excessive debug logging
Remove excessive debug logging from the SJA1000 driver backend. Logging
each register access makes generic CAN debug logging unusable.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-06 17:43:36 +03:00
Fredrik Danebjer
fefbb28edb Bluetooth: Audio: Fix return code in PACS notify
Fix errenous return value in pacs_gatt_notify function. The function
would always return zero, and not forward the error correctly.

Signed-off-by: Fredrik Danebjer <frdn@demant.com>
2023-10-06 17:43:08 +03:00
Andy Sinclair
df23b0177f maintainers: Change regulator maintainer
Change regulator maintainer to aasinclair
Move gmarull from maintainer to collaborator

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-10-06 15:06:33 +01:00
Yuval Peress
96175fcc47 sensors: Fix alignment issues
Add padding to the header and remove unnecessary memset in order to fix
alignment faults in cores such as M0 or ones that support
CONFIG_TRAP_UNALIGNED_ACCESS

Signed-off-by: Yuval Peress <peress@google.com>
2023-10-06 14:54:37 +01:00
Laurentiu Mihalcea
3563347b10 modules: Kconfig.mcux: Remove implicit selection of HAS_CMSIS_CORE
CONFIG_HAS_MCUX is also selected by ARM64 and XTENSA-based cores
which don't have any CMSIS files. As such, it's wrong to implicitly
select CONFIG_HAS_CMSIS_CORE when CONFIG_HAS_MCUX is selected. Since
the ARM32-based cores implicitly select CONFIG_HAS_CMSIS_CORE there's
no point in CONFIG_HAS_MCUX also selecting it too.

The old approach caused config-related warnings
in external projects such as SOF after the introduction of
Commit '8d5ed53' ("modules: remove uncessary source for
external cmsis kconfig"). The warnings were in the form of:
"HAS_CMSIS_CORE (defined at modules/cmsis/Kconfig:7) has
direct dependencies 0 with value n ..."

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-10-06 16:49:51 +03:00
Pavel Vasilyev
f4a592f3bb Bluetooth: Mesh: Don't reset mod pointer
Don't reset values set in init callback as it is called only once by
bt_mesh_init call. The reset callback is called on every node reset.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-06 16:47:09 +03:00
Anders Storrø
65f029e185 Bluetooth: Mesh: Common comp page parse func
Create common composition page parser function.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-06 16:21:02 +03:00
Anders Storrø
2e3ae017e3 tests: Bluetooth: Mesh: LCD test all comp pages
Adds test for verifying split get operation for all
composition data pages.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-06 16:21:02 +03:00
Anders Storrø
57cb1b1ccb Bluetooth: Mesh: Add missing comp pages to LCD mod
Adds support for all composition data pages to the
Large Composition Data model.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-10-06 16:21:02 +03:00
Pavel Vasilyev
0eb027ab7c tests: bluetooth: tester: Fix self-update test DFU/SR/FD/BV-59-C
DFU/SR/FD/BV-59-C tests Distributor self-update. Because the actuall
firmware swapping doesn't happen, we need to just simulate the swapping
by setting new Firmware ID sent by LT. We use slot to take firmware id
as by procedure, Fw Update Server doesn't know about it.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-06 16:20:14 +03:00
Torsten Rasmussen
12c1fe4d83 cmake: fix git dependency for version.h creation
Fixes: #63610

Fix a variable spelling mistake which caused a required dependency to
not be set.

Together with this fix, then remove an unneeded CMake cache update.

The `ZEPHYR_GIT_INDEX-NOTFOUND` value is not really useful in this
case as a not set var will also ensure that Zephyr is checked to be
a git repo or not.
And when detected as a git repo, then `ZEPHYR_GIT_INDEX` is set
to correct value.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-10-06 16:19:43 +03:00
Carles Cufi
c0a349eac4 drivers: bluetooth: rpmsg: Send reset only when the Host is included
The rpmsg_close() call uses the HCI reset command to reset the
controller. But when building as controller-only we do not bring in the
infrastructure to send HCI commands (nor should we) and rpmsg_close()
will not be called anyway.

Fixes #63534.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-06 16:18:58 +03:00
Carles Cufi
ee0314a832 Bluetooth: host: Replace length check assert with if statement
A few of the length checks that deal with HCI packets coming from the
controller were using assert statements. But the recommended practice is
to drop invalid packets and continue execution whenever a malformed
packet arrives from an external source, so replace those assert
statements with branches that will drop the packet and return.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-06 16:18:43 +03:00
Emil Gydesen
8db7be7a6f samples: Bluetooth: Fix seq_num in broadcast audio source
When using multiple streams the seq_num provided to the
controller would be incorrect as we used a single global
seq_num rather than a proper seq_num per stream.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-06 16:18:06 +03:00
Henrik Eriksen
f977457c07 bluetooth: tester: pacs: Added set Locations and Contexts.
- Set Locations.
- Set Available Contexts.
- Set Supported Contexts.

Signed-off-by: Henrik Eriksen <heri@demant.com>
2023-10-06 16:15:54 +03:00
Seppo Takalo
1ecd4fda1a net: script: Fix the net-tools path
Fix the correct path to net-tools directory.
Also default to Bash instead of /bin/sh as we use
Bash syntax.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-06 16:14:39 +03:00
Seppo Takalo
5dcaf267fb net: lwm2m: Add Docker based test script
Add Docker based test script for LwM2M interoperability test.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-10-06 16:14:39 +03:00
Abram Early
6e789e7492 drivers: can: mcan: Move RF0L and RF1L to line 1
The code is designed to handle RF0L and RF1L in
line 1, but they were being sent to line 0. Becuase
they weren't handled, the interrupts would never
be handled which locked up the chip.

Signed-off-by: Abram Early <abram.early@gmail.com>
2023-10-06 16:14:03 +03:00
Ingar Kulbrandstad
a5d15ec017 Bluetooth: Mesh: Fixed issue with RPR server and client.
Fixed issue when reprovisioning is done on a device with
both RPR client and server on the same device.

Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
2023-10-06 16:06:12 +03:00
Andries Kruithof
e04c963d9c Test: Bluetooth: controller: add CI testing for advertising chaining
Update babblesim tests for testing chaining for advertising to ensure that
we spill over to the next PDU

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-06 16:04:11 +03:00
Andries Kruithof
e8716bf793 Bluetooth: controller: change calc for data in PDU
The existing formula for the amount of data that can be filled
in in the current PDU is correct but confusing. Replace it with
a simpler formula.

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-06 16:04:11 +03:00
Andries Kruithof
d00d44c925 Bluetooth: controller: fix failing EBQ advertising tests
Updates the chaining for advertising.
Instead of unconditionally adding a new PDU when new data
is added we now instead fill the last PDU in the chain with
the incoming data, only adding a new PDU when there is
not enough room.

This reduces the nr. of PDUs used for advertising, and also
fixes some qualification failures

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-06 16:04:11 +03:00
Benjamin Cabé
a601b43ef8 security: doc: add missing headings
Add headings for 2022 and 2023 CVEs to make document navigation easier.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 13:58:51 +01:00
Tomasz Moń
dbb4e8aa9d drivers: usb_dc_nrfx: Isochronous endpoint cannot be bulk
Prevent use of isochronous endpoints as bulk and/or interrupt endpoint.
The issue was observed when trying to use 4 CDC ACM instances where the
4th instance would claim the isochronous IN endpoint 0x88 to be bulk.
Because the isochronous endpoints cannot respond with handshake packet
the iso endpoints cannot be used as bulk or interrupt substitue.

Properly fail endpoint check and therefore make 4 CDC ACM instances not
enumerate at all because the hardware has endpoints that only allows up
to 3 CDC ACM instances.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-10-06 14:50:10 +02:00
Yonatan Schachter
de66defa44 west.yml: Update hal_silabs to pull request #45
Update hal_silabs to pull request #45, fixing a file that
was copied from a wrong version.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-10-06 14:39:20 +03:00
Detlev Zundel
42ea06cf21 soc: xtensa,riscv: esp32c3: Fix SOC_PART_NUMBER choices
Add the ESP32-C3-WROOM-02 modules with 4 or 8 MiB flash. The
temperature and antenna / connector variants are not mentioned
explicitely as they do not influence the software.

Signed-off-by: Detlev Zundel <dzu@member.fsf.org>
2023-10-06 12:24:49 +01:00
Steve Jacot-Guillarmod
13d74677ba drivers: led: pca9633: disable allcall
The PCA9633 i2c LED controller offers an All Call address in its nominal
operation, allowing simultaneous communication with all instances present
on the same i2c bus. The default address is 0x70. While this functionality
is convenient, it is possible that the board uses another i2c component
that also uses this address (for example, the shtcx). In such cases, the
address conflict prevents the proper functioning of the system.

The idea is to add a "disable-allcall" property to the device tree. If this
option is present, the initialization of the PCA9633 forces the bit 0
(ALLCALL) to be set to false, thereby disabling this function. It is
necessary to add this property to all PCA9633 devices on the bus to free up
the address 0x70.

Signed-off-by: Steve Jacot-Guillarmod <steve@piziwate.net>
2023-10-06 12:24:23 +01:00
Emil Gydesen
af953a1d07 Bluetooth: BAP: Fix bug in BASE bis index
The indexes were reset to 0 for each subgroup, which meant
that if we had a broadcast source with 2 subgroups and
1 BIS in each, both of them would use index 0x01.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-06 12:21:42 +01:00
Flavio Ceolin
9a1c5e2603 doc: release: 3.5 Add info about CVE-2023-4260
Add CVE-2023-4260 info to release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-06 12:20:46 +01:00
Flavio Ceolin
4667a0c07e doc: vuln: Add information about CVE-2023-4260
Information about CVE-2023-4260

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-06 12:20:46 +01:00
Gaël PORTAY
7bc822df04 boards: esp32: Fix documentation spelling
This fixes a simple documentation spelling typo on SoC name.

Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
2023-10-06 12:20:27 +01:00
Jonathan Rico
b1da312e9d Bluetooth: ATT: discard RX on a disconnected connection
A race condition between ATT RX and the connection teardown can happen, as
the teardown is executed from a workqueue.

For example:
- connection is established
- `connected` cb is called (in BT RX context)
- user calls `bt_conn_disconnect` in that cb
- connection is marked as disconnecting
- ATT teardown & general conn cleanup is scheduled
- BT RX gets an ATT request, tries to handle it
- ATT bearer is still not GC'd, so it tries and fails to send it
  -> results in error message "not connected" on log
- ATT teardown & general conn cleanup runs

To avoid that, we not only check the bearer state, but also its ACL conn
state.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-10-06 12:19:39 +01:00
Vinayak Kariappa Chettimada
e50748b67c Bluetooth: Controller: Fix leak in scheduled ticker node
Fix leak in scheduled ticker node when rescheduling ticker
nodes.

Applications having active Extended Advertising or Observer
role with the use of ticker reschedule in window feature
would experience assertion check failure due to delayed
radio event preparation or stalled controller with no active
roles.

Fix updating of the ticker linked list when handling
rescheduled tickers.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-06 12:54:12 +02:00
Vinayak Kariappa Chettimada
7495846b62 Bluetooth: Controller: Rename ticker reschedule variables
Rename ticker reschedule in window variable to improve
readability.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-06 12:54:12 +02:00
Yonatan Schachter
23b977d1c4 bindesc: Use UTC time by default and comply with ISO-8601
Use UTC time by default, and add the option to use local time.
Also, change the default formats to comply with ISO-8601.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-10-06 13:37:02 +03:00
Carles Cufi
a5e7ba3564 Bluetooth: Controller: Remove legacy BT_CTLR_FAST_ENC option
When the legacy LLCP implementation was removed this Kconfig option was
mistakenly left over. Remove it now with all its users.

Fixes #63212.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-06 13:32:33 +03:00
Andrzej Głąbek
cb1b1ce7d1 bluetooth: common: Kconfig: Add missing dependency for BT_MONITOR
This module calls `log_output_*` functions so it should enable
the `LOG_OUTPUT` Kconfig option explicitly.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-10-06 11:42:40 +03:00
Najumon B.A
b86b4b96a1 lib: acpi: update DSDT Kconfig with condition enable
update DSDT_SUPPORT Kconfig with condition enable only if both
ACPI and PCI enabled

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-10-06 10:40:14 +02:00
Najumon B.A
bec3b09f38 boards: ehl: disable PRT support for PCI interrupt
disable PRT support for retrieve interrupt routing information
for PCI legacy interrupt via ACPI PRT

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-10-06 10:40:14 +02:00
Najumon B.A
e89b005368 drivers: pcie: add config for enable PRT
add config support for enable IRQ information retrieve via
ACPI PRT (PCI Routing Table)

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-10-06 10:40:14 +02:00
Yuval Peress
468973513a rtio: cleanup blocking loop
The current blocking model will try calling `rtio_mpsc_pop` twice in a
row without any delay. Probably not the actual intent.

Signed-off-by: Yuval Peress <peress@google.com>
2023-10-06 09:30:11 +01:00
Benjamin Cabé
6db5d84dbb doc: Improve "Contributing to Zephyr" landing page
The "Contributing to Zephyr" page used to be a simple table of contents
with pointers to sub-pages. This bland page was not very inviting to new
contributors, and provided little to no context as to what to expect in
each sub-section. This commit improves the landing page by implenmenting
the following changes:

- Remove auto toctree and replace with manually curated entries that
  provide more context about each sub-section.
- Add a section about the Zephyr Contributor Badge.
- Add a section about getting help, with links to Discord and dev
  mailing list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
620f6b9a6d doc: guidelines: remove stale mention to nightly builds
Drop the mention to nightly builds being posted to the build@ mailing
list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
3ba4b6f95b doc: Improve documentation guidelines intro
The intro of this document was starting to show its age. Simplified
some of the wording and added a reference to the documentation build
instructions.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Tom Burdick
9e8d609b5d rtio: Remove unused Kconfigs for executors
There's only one executor now and its always built, no need for these
old crufty Kconfigs.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-06 09:18:43 +02:00
Bjarki Arge Andreasen
1816b6380b modem: modem_cmux: Set C/R bit in UIH frames
This commit sets the C/R (command/response) bit when UIH
CMUX frames are sent from the modem_cmux module. This bit
is ignored by some modems like the Quectel BG95, as there
is no defined response to this specific CMUX frame type.
However, other modems, like the TELIT ME910, require the
bit to be set (command). If the bit is not set, the modem
will simply ignore the frame completely.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-06 09:18:32 +02:00
Jamie McCrae
b3c5150753 doc: release: 3.5: Add fixed bug to MCUboot log
Adds a note on a bug being fixed with align on non-swap modes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-06 09:17:06 +02:00
Jamie McCrae
fed8115733 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  13767d0b72eb14ce42eb8aad1e5a133ef66afc54

Brings following Zephyr relevant fixes:
 - bootutil: Disable MCUBOOT_BOOT_MAX_ALIGN assert for
   non-swap modes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-06 09:17:06 +02:00
Pavel Vasilyev
8b4994f22f tests: bluetooth: tester: Allow to pass int instead of bool in comp cmd
This will allow to choose more variants of cdp in future if needed.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-06 09:16:39 +02:00
Martin Åberg
7fb2929e5b boards/sparc: Ignore tests for net and bluetooth
These boards do not typically use Bluetooth or the Zephyr network stack.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-05 18:34:30 +03:00
Martin Åberg
7aebe0c2a4 boards/sparc: Update simulator_exec
The tsim executable is named tsim-leon3, tsim-leon4, tsim-gr716, etc.
This is needed to find the emulator program for twister to do the run
step.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-05 18:34:30 +03:00
Grant Ramsay
236318332b drivers: systick: Fix Cortex-M SysTick dropping 1 cycle per tick
`last_load` is the full N cycles and `SysTick->LOAD` should
be loaded with `last_load - 1` for the calculations work
correctly.

Note: This only affects a kernel in ticked operation.
Tickless kernels periodically restart the timer correctly.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-10-05 15:30:20 +01:00
Grant Ramsay
1951d83783 tests: timer_monotonic: Add mps2_an385 test with icount disabled
This is to validate that GH-48608 is fixed
and stays fixed.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-10-05 15:30:20 +01:00
Grant Ramsay
e032f9520d drivers: systick: Fix Cortex-M systick jumping forward and back again
The existing implementation did not properly
handle when `SysTick->VAL` is zero.

This caused three subtle edge cases:
* val1=0,COUNTFLAG=0,val2=0
  This should result in no cycles elapsed,
  however `(last_load - val2) = last_load`.
  So an extra `last_load` cycles was returned.
* val1=0,COUNTFLAG=0,val2=(last_load-1)
  This should result in 1 cycle elapsed,
  however `val1 < val2` so an extra `last_load`
  cycles was returned.
* val1=[2,1,0],COUNTFLAG=1,val2=0
  This should result in `last_load` cycles elapsed.
  However, `last_load * 2` cycles was returned.

To fix the calculation, val1 and val2 are first
wrapped/realigned from [0:last_load-1] to [1:last_load].

Tidy comments to better reflect the SysTick
behaviour and link reference manuals.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-10-05 15:30:20 +01:00
Emil Gydesen
147cef6660 Bluetooth: Controller: Add hdl checks in isoal.c
Add checks to verify the `hdl` parameters before accessing
the sink and source arrays.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-05 15:25:17 +02:00
Emil Gydesen
f4221d66c1 Bluetooth: Controller: Make aa in radio_aa_set const
Make the aa argument const to solve a Coverity issue
that assumes that any value that is being byteswapped
is tainted. Making the argument const should avoid
this assumption from Coverity.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-05 15:25:09 +02:00
Andries Kruithof
c5d844fe41 Bluetooth: controller: fix comparision of unsigned int to 0
Fix the coverity issue CWE570, comparison of unsigned int to 0
in the definition of IS_SYNC_ISO_HANDLE

There is a potentially the same issue for IS_ADV_ISO_HANDLE,
fixed that as well

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-10-05 15:24:54 +02:00
Yong Cong Sin
019ae15f05 tests: kernel: work: fix uninitialized timer's work item
The `test_1cpu_drain_wait` tests iff the thread of a work queue
that is waiting to be drained can submit work item to the
queue. A timer is created with a callback funciton to submit a
work item to the same queue, to help demonstrate that behavior.

However, the work item submitted by `test_drain_wait_cb` to the
`coophi_queue` isn't initialized, and can hit assertion if it
is processed by the work queue.

Fixes #63559

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-05 13:43:07 +01:00
Yong Cong Sin
0cd135920a kernel: work: check handler when submit to queue
Assert that the handler of a work is not NULL when submitting
it to the queue. This allows early detection of the
code that is submitting a non-NULL work with NULL handler to
the work queue (where it happens), rather than right before the
work item get executed in the queue (when it happens).

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-05 13:43:07 +01:00
Andrzej Głąbek
38470a4231 drivers: pwm_nrfx: Connect IRQ handlers for anomaly 109 workaround
The workaround for the nRF52 anomaly 109 that is implemented in
the nrfx_pwm driver uses interrupts generated by a selected EGU
instance and by the enabled PWM instances (even if the interrupts
are not used in generation of the PWM output signals).
Add required IRQ_CONNECT calls so that those interrupts are
properly handled.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-10-05 12:48:29 +01:00
Yong Cong Sin
93cbfcfee9 board: riscv: qemu: increase ndev of PLIC to 1024
Increase the `ndev` of PLIC to the max of 1024 from 53, as
supported by the RISCV PLIC. The total number of IRQs is now
1035(1024 + 11), up from 64(53 + 11).

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-05 06:10:06 -04:00
Yong Cong Sin
0722c621c8 util: increase several macros limit from 255 to 4095
Currently, the following macros will only work for 0 - 255:
- `IS_EQ`
- `UTIL_X2`
- `UTIL_INC`
- `UTIL_DEC`
- `LISTIFY`

This patch increases their limit to 4095.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-05 06:10:06 -04:00
Stasys Aužbikas
deac568b18 mgmt: mcumgr: transport: dummy: Fix truncating uint16_t
`smp_send_pos` is 16 bits wide but it was being
passed as uint8_t, thus truncating.
This made it impossible to receive packets
larger than 256 bytes.

Signed-off-by: Stasys Aužbikas <stasysau@gmail.com>
2023-10-05 11:22:32 +02:00
Ryan McClelland
2a2d032341 modules: hal_ethos_u: ethosu_log depends on stdout console
ethosu_log.h uses the stdout as it's stream for printf. This could
cause an issue where if CONFIG_LOG=n and CONFIG_CONSOLE=y then there
would be no way to control the log level and it would default to debug
level. There is no NONE option as with the way the ethos-u hal is set
up with no way to go below the err level.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-10-05 11:12:28 +02:00
Pavel Vasilyev
bd82ff245a tests: bluetooth: tester: Remove comp_alt_set command
Remove this command as composition can only be set in bt_mesh_init call
which is called before settings are loaded.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-05 11:08:05 +02:00
Pavel Vasilyev
2445e55cd4 tests: bluetooth: tester: Move bt_mesh_init call to BTP_MESH_INIT cmd
In some RPR tests we need to pass alternative composition data when
testing CDP128. When bt_mesh_init is called from mesh service
registration callback, we can't pass any arguments. Therefore we need
to move bt_mesh_init call out from mesh service registration to
BTP_MESH_INIT command.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-10-05 11:08:05 +02:00
Florian Grandel
4b0e730fb1 drivers: ieee802154: cc13xx_cc26xx_subg: check radio op status
Not only the return code of TI's RF command queueing mechanism but also
the command status need to be checked to assert that a command was
executed successfully. This change introduces additional checking of the
command status.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
f2979edd5c drivers: ieee802154: cc13xx_cc26xx_subg: fix initial CMD_FS
The frequency synchronization command requires a proper frequency to be
set in order to be successfully executed. The command not being executed
leads to unnecessary internal error handling wrt command scheduling.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
0c1c443fc6 drivers: ieee802154: cc13xx_cc26xx_subg: improve readability
Moves the RX callback closer to where it's actually being used also
removing the necessity to declare a function prototype.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
fce4788415 drivers: ieee802154: cc13xx_cc26xx_subg: fix oper. state
The driver API now distinguishes between operational UP/DOWN states as
required by Zephyr's network API and receiver on/off states as an
internal driver state for improved standard conformance.

This change closes the gap between the driver API requirements and the
implementation in this respect.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
016d3bed5c drivers: ieee802154: cc13xx_cc26xx_subg: improve locking
Replaces the mutex by a semaphore for ISR readiness as requested by the
driver API specification.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
26a0ef15c4 drivers: ieee802154: cc13xx_cc26xx_subg: check for RX up
Checks whether the receiver is already on before trying to switch it on.
This also closes a gap wrt the driver API specification.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
35cfe00e91 drivers: ieee802154: cc13xx_cc26xx_subg: remove redundant code
Removes redunant reset statements that update immutable data.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
128354ae17 drivers: ieee802154: cc13xx_cc26xx_subg: simplify static funcs
Restructuring and renaming of driver-internal functions for improved
readability and maintainability:
- distinguish between externally exposed API methods
  (cc13xx_cc26xx_sub_* prefix) and internal helper methods
  (drv_* prefix).
- extract a few functions to reduce complexity and improve re-use

Also removes unnecessary initial runtime blanking of static (.bss) data
in the newly introduced extracted buffer initialization functions.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Florian Grandel
c81c38114a drivers: ieee802154: cc13xx_cc26xx_subg: minor cleanup
Cleans up includes and a few other minor non-functional errors in the
CC13/26xx driver.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-05 12:01:29 +03:00
Aleksandr Khromykh
0ba6e80a12 Bluetooth: Mesh: fix settings work queue size for rpr
If RPR server is used then Mesh settings work queue
requires more size during provisioning procedure.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-10-05 09:44:00 +01:00
Torsten Rasmussen
c7779bec8c cmake: stub zephyr_set(... SCOPE ...) function in package helper
Fixes: #63011

Custom targets are not available in script mode, which cause snippet
loading to fail when using package helper.

Lookup of snippets is supported by package helper, thus allowing twister
to filter test cases based on snippets.

However, loading of snippets itself is not supported as snippets make
use of Zephyr scoping, which uses custom targets, something that is not
available in script mode.

Therefore overload the `zephyr_set()` function, so that CMake package
helper can be used together with snippets.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-10-05 09:43:28 +01:00
Flavio Ceolin
3521c95c2f fs: fuse: Fix possible buffer overflow
Ensure that the path in fuse_fs_access_readdir does not overflow
the local buffer.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-05 09:42:17 +01:00
Daniel DeGrasse
14d88c6dc8 tests: drivers: flash: remove platform_allow filter
Prior to commit 903a79431, drivers.flash.common.default would have
executed on any platform that passed the filter condition. With the
addition of the platform_allow filter, this is no longer the case, and
is masking issues such as those seen in #62963. Remove the
platform_allow filter to return this test to the previous behavior.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-05 09:39:38 +01:00
Martin Åberg
ccbbb493da tests: kernel: Add qemu_leon3 to no-multithreading tests
Add qemu_leon3 target to the tests that list below. These set
CONFIG_MULTITHREADING=n.

- tests/kernel/mem_heap/mheap_api_concept
- tests/kernel/mem_slab/mslab_api
- tests/kernel/threads/no-multithreading
- tests/kernel/timer/timer_api

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-05 09:37:10 +01:00
Jun Lin
db8855aaa3 driver: crypto: SHA: npcx: change to support npcx4
The pre-alloacted size of the buffer for the SHA ROM API code increases
in npcx4 chip. This commit adds a new property context-buffer-size to
sha0 DT node in npcx9 and npcx4 separately. The driver can pre-allocate
buffer with the correct size based on the property.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2023-10-05 09:14:05 +01:00
Flavio Ceolin
66d76d4afa doc: vuln: Add CVEs under embargo
Add placeholders for CVEs under embargo.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-05 09:13:53 +01:00
Flavio Ceolin
78f24b0a27 doc: release: 3.5 Add CVEs under embargo
Add CVEs fixed that are under embargo.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-05 09:13:53 +01:00
Erwan Gouriou
6d56851eb5 boards: frdm_k64f: Add uart-mcumgr chosen
Since frdm_k64f is used as example in mcumgr sample with serial transport,
make it ready for compilation.

Fixes #63520

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-05 11:11:48 +03:00
Alperen Şener
85fa412201 bluetooth: tester: add support for variable static oob size
Adding variable static auth size support to be compatible
both mesh 1.0.1 and mesh 1.1.

Signed-off-by: Alperen Şener <alperen.sener@nordicsemi.no>
2023-10-05 09:20:33 +02:00
Emil Gydesen
e962fda0ee Bluetooth: Audio: Fix BAP Broadcast source reconfig param count
The check for number of streams in a subgroup was reversed, so
it would never allow for correct values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-05 09:19:56 +02:00
Flavio Ceolin
078967671c doc: vuln: Add information about CVE-2023-4264
Information about CVE-2023-4264

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-04 21:46:57 +03:00
Flavio Ceolin
e9e698e4f1 doc: release: 3.5 Add info about CVE-2023-4264
Add CVE-2023-4264 info to release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-04 21:46:57 +03:00
Wojciech Slenska
dcf6327d6a net: context: set context->local for offloaded iface
Currently context->local is not set for offloaded interface.
This change move net_offload_bind call after set of context->local.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-10-04 20:29:33 +02:00
Mario Jaun
01bdd845db drivers: i2c: stm32: disable reload mode at the end of a transfer
Fixes an issue that reload mode is not disabled in case of an error.
From this case the driver could not recover because in msg_init()
no new transfer could be initialized.

Signed-off-by: Mario Jaun <mario.jaun@gmail.com>
2023-10-04 20:25:20 +02:00
Daniel DeGrasse
d487794dd6 drivers: i2s: i2s_mcux_sai: fix logging statements for k_mem_slab
Since 2f003e59 reworked the structure of k_mem_slab information fields,
we need to update the logging statements in the i2s_mcux_sai driver to
access these fields correctly.

Fixes #63527

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-04 20:25:09 +02:00
Grzegorz Swiderski
9bbf7e5a48 scripts: domains: Convert Domain to a dataclass
For conciseness.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-04 18:04:18 +02:00
Grzegorz Swiderski
652b0a8a98 scripts: domains: Support initialization only from YAML
By requiring a full-on YAML fragment, the Domains class can rely on
pykwalify to do the heavy lifting with validating types and structure.
Remove support for loading domains from a dictionary, so that we don't
ever have to replicate the same checks on the input, and we can instead
have a single entry point.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-04 18:04:18 +02:00
Grzegorz Swiderski
f82e2ef043 scripts: domains: Tighten up initialization
Do extra checks to reject inconsistent `domains.yaml` contents early:

   default: app
   build_dir: /path/to/build
   domains:
     - name: image_1
       build_dir: /path/to/build/image_1
     - name: image_2
       build_dir: /path/to/build/image_2
   flash_order:
     - image_1
     - image_2
     - unknown

This example lists "image_1" and "image_2" as known domains, but an
entry for the default "app" is missing, which should never be allowed.
A valid `domains.yaml` file shall also not contain extra domains under
`flash_order`, such as "unknown", which doesn't appear under `domains`.
Either of these cases can now be caught while initializing an instance
of the Domains class.

It follows that a valid `domains.yaml` file must always contain a list
of domains with at least one entry - the default image. Since `default`
is a required key in the YAML schema, `domains` should be required too.
Thus, empty lists will be rejected by pykwalify, so the questionable
warning for "no domains defined; this probably won't work" can be axed.

Fixes #63166

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-04 18:04:18 +02:00
Fabio Baltieri
2f64ac9ab6 doc: release: add 3.5 change and release notes about bq274xx
Few channels of this driver were using the wrong units, add a note
pointing out that this needs a matching change in any application using
them.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:19:24 +01:00
Fabio Baltieri
761dac4fa7 doc: release: add 3.5 add build time checking release notes
Add few notes about the change in build time priority cheking and the
new initlevels target.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:19:24 +01:00
Fabio Baltieri
9eaa6a2798 doc: release: add 3.5 migration notes about CONTAINER_OF
Add a migration note entry about CONTAINER_OF type checking for the
k_work use case. This was common enough that it's probably worth a note
pointing at the conversion function.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:19:24 +01:00
Fabio Baltieri
a51593b8fa doc: release: add 3.5 input notes and migration guide
Add 3.6 release notes and migration guide for various changes in the
input subsystem.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:19:24 +01:00
Fabio Baltieri
6f0a5961e3 drivers: i2c: i2c_nrfx_twim: fail gracefully on dma max size
Different nRF52 devices have different maximum TWI DMA transfer size,
and it's easy to hit the limit with i2c displays on nrf52832 (8 bit) and
nrf52810 (10 bit). Currently neither the driver or the hal validate the
limit, leading to random NACK errors when trying to transfer more data.

Add a check on the driver to fail gracefully when going over the limit.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:17:15 +01:00
Fabio Baltieri
591c1bb867 bindings: move cst816s and cap1203 to input
These two have been converted from kscan to input already, move the
bindings over to match the change.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:05:05 +01:00
Jeppe Odgaard
e2d7ba093e boards: doc: Add serial programming for mimx8mq_evk
Extend the programming section with serial programming using `screen` and
`xmodem`.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-10-04 16:36:20 +02:00
Alberto Escolar Piedras
e851725e62 boards nrf52_bsim docs: Minor updates
Minor updates both to make it more consistent with the
nrf53bsim documentation, and include more links
and a small section about the C library choice.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-04 16:35:41 +02:00
Alberto Escolar Piedras
d12fac706d boards nrf_bsim docs: Update common documentation
Update the documentation describing the bsim boards overall
to match the current reality.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-04 16:35:41 +02:00
Alberto Escolar Piedras
84f76e42da boards nrf_bsim docs: Add documentation for nrf5340bsim
Add documentation for the newly introduced nrf5340bsim boards.
And rename the nrf52bsim documentation file as it is not the only
one anymore.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-04 16:35:41 +02:00
Alberto Escolar Piedras
8b78eecfd6 boards posix: Fix in POSIX arch common description
Minor updates as now we have also native_sim, so we
should not only refer to native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-04 16:35:41 +02:00
Moritz Stötter
099d67902e bluetooth: audio: add support for cpp in bap.h
Small patch adding extern "C"

Signed-off-by: Moritz Stötter <hi@moritzstoetter.dev>
2023-10-04 16:35:04 +02:00
Benjamin Cabé
f7f8acaf03 doc: remove instructions regarding numbered steps
"Numbered steps" were dropped a long time ago in a previous revamp of
the stylesheet, so dropping instructions related to them in the
documentation guidelines.

Also remove unecessary mention to "how to build the doc" as it's
already mentioned as a note at the top of the document.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-04 15:05:31 +01:00
Benjamin Cabé
ce15b5af0c doc: gsg: remove unused numbered steps
There used to be a dedicated style to number headings in a .rst document
but there is currently no actual stylesheet for it, and the added value
 is somewhat limited: dropping the associated directive from the GSG.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-04 15:05:31 +01:00
Henrik Brix Andersen
df156d7faf dts: bindings: can: reword the CAN controller bindings descriptions
Reword the descriptions for the bus-speed, sample-point, bus-speed-data,
and sample-point-data CAN controller devicetree properties.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-04 14:53:39 +01:00
Mateusz Kapala
3c0c634340 bluetooth: tests: Improve bondable_per_connection bsim test
Added fail on pairing_failed callback for both central and peripheral.
Added pairing status checks in peripheral.

It has been done to test the case when multi-role BT device tried to
pair without bonding (peripheral role) while already previously bonded
with the same device on another Bluetooth identity as it seems that
there was an issue with it previously.

Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
2023-10-04 14:53:26 +01:00
Mateusz Kapala
7a1b194a97 bluetooth: host: smp: Add runtime check for central-specific path
Added run-time BT_CENTRAL role check for the path that was
central specific and did not have such check.

When multi-role BT device tried to pair without bonding (peripheral role)
while already previously bonded with the same device on another
Bluetooth identity, pairing failed.
It executed central-specific code, which should not be executed in case
when the device acts as peripheral (as it is even opt-out from code when
CONFIG_BT_CENTRAL is not enabled).

Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
2023-10-04 14:53:26 +01:00
Emil Gydesen
c6cecef120 Bluetooth: Controll: Fix dead code in ll_setup_iso_path
In ll_setup_iso_path cis is only ever set if CONFIG_BT_CTLR_CONN_ISO
is enabled, and similarly adv_stream is only ever set if
CONFIG_BT_CTLR_ADV_ISO is enabled.

The two assignments were reported as dead code by Coverity due
to this, which has been fixed by guarding the code with
the respective Kconfigs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-04 14:52:54 +01:00
Daniel DeGrasse
dbdbc64d94 tests: drivers: regulator: clean up testcase.yaml for voltage test
Clean up testcase definition for voltage test, by moving the
LPCXpresso55s36 board overlay file into the boards/ folder of the test,
as well as adding a fixture to the testcase so that it will only be
executed on properly configured boards.

Fixes #62884

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-04 14:52:40 +01:00
Nicola Guerrera
93beac7a69 docs: update sha256 for SDK
Update sha256.sum urls to 0.16.3 in index.rst and
installation_linux.rst.

Signed-off-by: Nicola Guerrera <guerrera.nicola@gmail.com>
2023-10-04 14:52:25 +01:00
Evgeniy Paltsev
1234b4919d Revert "boards/arc/qemu_arc: Disable use of branch delay slots"
This reverts commit 8084ea55b7.

The rootcause is fixed in the ARC QEMU which is in SDK 0.16.3.
As we've updated SDK in upstream CI we can revert this
workaround.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-10-04 14:52:03 +01:00
Rait Rääk
6c2da47e4c bluetooth: conn: Fix forced pairing request handling
BT_SECURITY_FORCE_PAIR option gets overridden when CONFIG_BT_SMP_SC_ONLY
or CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY is defined. Cache the bit value
before overrides.
Add explicit forced pair handling to existing security level check.
Functionality did not change as this was done implicitly due to integer
comparison for enums.
Add extra clarification to the method doc.
Signed-off-by: Rait Rääk <raitraak@gmail.com>
2023-10-04 14:49:58 +01:00
Grzegorz Chwierut
fd6f3c5a2a twister: Fix quarantine performance issue
When using a quarantine file with more than 512 unique
entries, than time of matching quarantine increases
significantly. This is because regexp cache size is
512. Add precompiled regexp entries to the quarantine
as a fix.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-10-04 14:49:38 +01:00
Benjamin Cabé
0e6bef270e doc: drivers: counter: cleanup Doxygen docs
Properly document structs and convert some @defgroups to @name'd
headings that are more appropriate.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-04 14:48:56 +01:00
Yong Cong Sin
39433f0669 drivers: intc: plic: define all registers' offset in the driver
Define all the register offset directly in the driver according
to the RISCV PLIC specification as they are not configurable,
see: https://github.com/riscv/riscv-plic-spec.

Updated devicetrees that has PLIC accordingly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-04 09:06:28 -04:00
Yong Cong Sin
8db1a5add2 drivers: intc: plic: support trigger type by default and hardcode offset
Removing the edge-trigger Kconfig as it is supported by default
in the RISCV PLIC specifications.

Define the edge-trigger register offset in the driver instead
of retrieving the value from devicetree as it is not something
configurable. The value 0x1080 is defined in Andes & Telink
datasheets.

Updated build_all testcase.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-04 09:06:28 -04:00
Fabio Baltieri
ecefcd7f87 misc: check_init_priorities: drop CONFIG_DEVICE_DEPS=y
This runs fine without CONFIG_DEVICE_DEPS, let's drop it from here.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 12:19:06 +01:00
Juha Ylinen
22f09e9fa0 net: coap: release non-confirmable messages
Only confirmable messages need pending tracking. Non-confirmable
messages are released after sending.
Match incoming packets with token, not message ID.
Ignore responses with non-matching tokens.
Remove unused function send_reset().

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-10-04 11:25:16 +02:00
Robert Lubos
1b21109c2c net: lwm2m: Reset ongoing notification in case token changes
In case observation token changes (the LwM2M server re-sends
observation request to the client), the LwM2M engine should cancel any
ongoing notifications based on the old token. Otherwise, it will be
impossible to match the pending notification reply (ACK) with the
observer context anymore, causing new notifications for this
observation to stall.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-04 11:23:53 +02:00
Wilfried Chauveau
d79ba86c04 lib: libc: armstdc: add missing retarget of fputc to _stdout_hook
Fixes #62677 where printf defaults to using armclang's semihosting backed
implementation of printf.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-10-04 11:02:37 +02:00
Emil Gydesen
89db200117 Bluetooth: Controller: Remove unused terminate_ack
Remove the terminate_ack from struct ll_conn since it is
not used anywhere, and results in dead code.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-04 10:08:07 +02:00
Alperen Şener
fe6fb0f467 bluetooth: mesh: fix static oob auth padding
The remaining bit should be zero if auth is
shorter than PROV_AUTH_MAX_LEN and it should
be trimmed by removing octets with indexes
higher than PROV_AUTH_MAX_LEN.

Signed-off-by: Alperen Şener <alperen.sener@nordicsemi.no>
2023-10-04 10:07:55 +02:00
Benjamin Cabé
ba1af3f36b sensors: mpu6050: add missing break statement
Add missing break statement so that SENSOR_CHAN_DIE_TEMP is properly
supported.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-04 10:07:43 +02:00
Benjamin Cabé
fc13204937 sensors: mpu6050: samples: fix wrong channel fetch
The MPU6050 does not have SENSOR_CHAN_AMBIENT_TEMP. It should be
SENSOR_CHAN_DIE_TEMP.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-04 10:07:43 +02:00
Yonatan Schachter
c461441cc5 soc: silabs: Added Kconfig to indicate the existence of a radio PHY
Added SOC_GECKO_HAS_RADIO symbol, to indicate that a SoC has a radio
phy, so that radio related code would only apply to devices with radio.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-10-04 10:30:00 +03:00
Yonatan Schachter
5adc6d5203 dts: silabs: Added pinctrl nodes for Silabs devices
Added pinctrl nodes for Silabs SoCs where they were missing:
efm32pg, efm32hg, efm32wg, efr32mg21.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-10-04 10:30:00 +03:00
Jamie McCrae
b375092441 doc: services: device_mgmt: smp_group_0: Tidy documentation
Minor doc changes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-04 10:29:08 +03:00
Jaxson Han
d489ec087e lib: posix: mutex: to_posix_mutex should be spinlocked
to_posix_mutex allocates a mutex which will race to change the value of
the lock, thus to_posix_mutex should be performed under the spinlock to
prevent the racy issue.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-10-03 22:30:38 -04:00
Christopher Friedt
99ab1ab06c drivers: serial: uart_emul: make api implementation static
Keep uart API implementation of the uart_emul driver "private"
by adding the static keyword.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-03 14:58:19 -04:00
Christopher Friedt
9d79728c48 drivers: serial: uart_emul: support interrupt-driven receive
Previously, the uart_emul device did not support interrupt-driven
receive, which is an unwritten requirement for hooking up a uart to
the Zephyr console driver.

The console is a fairly high-traffic subsystem, and we should be able
to perform more extensive testing on it, aside from maching twister
output against a regular expression. With this change, we can use
the emulation uart within the body of a ZTest.

Testing Done:
```shell
west build -p auto -b qemu_riscv64 -t run tests/drivers/console_switching
...
*** Booting Zephyr OS build zephyr-v3.4.0-4277-gae0d63471be1 ***
Running TESTSUITE console_switching
===================================================================
START - test_read
read "Hello, uart_emul0!" from uart_emul0
read "Hello, uart_emul1!" from uart_emul1
read "Hello, uart_emul0!" from uart_emul0
read "Hello, uart_emul1!" from uart_emul1
 PASS - test_read in 0.005 seconds
===================================================================
START - test_write
wrote "Hello, uart_emul0!" to uart_emul0
wrote "Hello, uart_emul1!" to uart_emul1
wrote "Hello, uart_emul0!" to uart_emul0
wrote "Hello, uart_emul1!" to uart_emul1
 PASS - test_write in 0.003 seconds
===================================================================
TESTSUITE console_switching succeeded

------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [console_switching]: pass = 2, fail = 0, skip = 0...
 - PASS - [console_switching.test_read] duration = 0.005 seconds
 - PASS - [console_switching.test_write] duration = 0.003 seconds

------ TESTSUITE SUMMARY END ------

===================================================================
PROJECT EXECUTION SUCCESSFUL
```

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-03 14:58:19 -04:00
Tim Lin
6552e05100 ITE: dts: it8xxx2: Correct the clock frequency of baud rate
The baud rate clock frequency is 1.8432MHz.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-10-03 18:26:45 +01:00
Keith Packard
5b76d95a73 kernel: Re-order _static_thread_data initializer to match type
C++ compilers complain if the order of designated initializers doesn't
match the order of the members in the type. Re-order the initializers
for the _static_thread_data struct to match the new order of the type.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-03 18:17:47 +01:00
Henrik Brix Andersen
f91bfae0a7 drivers: can: mcux: flexcan: validate initial timing parameters
Validate the initial timing parameters set via devicetree.

Fixes: #61909

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-03 18:16:46 +01:00
Flavio Ceolin
fee22dae40 kconfig: Deprecate CONFIG_MP_NUM_CPUS
Mark CONFIG_MP_NUM_CPUS deprecated and point to
CONFIG_MP_MAX_NUM_CPUS.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-03 17:45:53 +01:00
Flavio Ceolin
15aa3acaf6 kconfig: Remove MP_NUM_CPUS usage
Zephyr's code base uses MP_MAX_NUM_CPUS to
know how many cores exists in the target. It is
also expected that both symbols MP_MAX_NUM_CPUS
and MP_NUM_CPUS have the same value, so lets
just use MP_MAX_NUM_CPUS and simplify it.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-03 17:45:53 +01:00
Benjamin Cabé
d24de87aed samples: tfm: wrap lines at 100 characters.
Run formatter to wrap lines at 100 characters.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-03 17:38:36 +02:00
Benjamin Cabé
496faf8677 samples: tfm: fix 404 link to tfm docs
Fix HTTP 404 in link to "Adding Secure Partition" external doc page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-03 17:38:36 +02:00
Øyvind Rønningstad
fea8caccea twister: Make string stripping consistent across handlers
All handlers except QEMU were right-stripping console lines before
checking them. In certain cases where the regex is expecting the
whitespace, this could make the test fail on qemu when it is passing
on something else. Change QEMUHandler to us .rstrip instead of .strip()

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2023-10-03 16:38:02 +01:00
Alberto Escolar Piedras
e11bc94a44 cmake run_native: Fix target dependency
The run_native (and therefore run) targets did not depend
on the proper thing for native_simulator based targets

Fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-03 15:40:08 +01:00
Robert Lubos
3f39f70799 doc: api: Update link for connection manager
Update link for connection manager in API overview page.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-10-03 15:38:18 +01:00
Flavio Ceolin
e3dc860429 doc: vuln: Add information about CVE-2023-4262
Information about CVE-2023-4262

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-03 15:36:28 +01:00
Aaron Ye
a94422f686 drivers: spi: Fix the Ambiq apollo4p SPI transmission failure.
The instruction length can only be 0~5.
Use am_hal_iom_blocking_transfer and specify clearly the TX/RX direction.
Hold CS to continue to RX expected response after instruction transmission.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-10-03 15:24:20 +01:00
Aaron Ye
7cf21d1080 drivers: spi: Fix Ambiq apollo4p SPI reconfiguration.
The configured SPI should not be configured again.
Otherwise it would cause SPI transmission failure.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-10-03 15:24:20 +01:00
Aaron Ye
4e7d1b0f74 drivers: spi: Fix Ambiq apollo4p SPI mode configuration.
The commit fixes the SPI mode improper configuration.
Otherwise the MODE_3 and MODE_0 cases would never be entered as expected.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-10-03 15:24:20 +01:00
Andrei Emeltchenko
06e8e9f5f5 posix: pthread: Reuse variable for return code
No need to have different variables for different function's return
codes.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-03 15:23:43 +01:00
Andrei Emeltchenko
0ee0380643 posix: pthread: Move logging out of spinlock area
Move LOG_ERR() outside of K_SPINLOCK().

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-03 15:23:43 +01:00
Andrei Emeltchenko
3d82fbe357 posix: pthread: Remove dead code warning
It is better to put LOG_ERR() before K_SPINLOCK_BREAK().

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-03 15:23:43 +01:00
Lukasz Mrugala
b892a4bc49 scripts: tests: twister: Add log_helper tests
Log helper is a small module that this commit
covers with an explicit test.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-03 15:22:08 +01:00
Florian Grandel
630bfff65f net: lib: zperf: fix compiler warning
The compiler emits a "null where non-null expected" warning unless the
argument of strlen is non-null at compile time.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-03 15:21:34 +01:00
Erwan Gouriou
c5408ab51c drivers: clock_control: stm32: Use hclk freq for flash latency computation
Flash is clocked with HCLK, while CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC
reflects SYSCLK. HCLK = SYCLK / AHB prescaler.
When dealing with flash latency, use HCLK instead of SYSCLK.

This changes reverts a abusive change done in an old commit (efd8ee465c)

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-03 15:19:12 +01:00
Erwan Gouriou
b99651df24 drivers: clock_control: stm32: Set flash latency before increasing clocks
Latency should be set before HCLK clock increase. Not doing so can result
in broken behavior.
For instance, at startup, MSI is @4MHz on L4 series.
If MSI is required to be configured at 48 MHz for future use a USB clock,
this will be done in set_up_fixed_clock_sources(). If flash latency is
not correctly set at this point fetching flash will fail..

Move flash latency configuration before setting up fixed clocks.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-03 15:19:12 +01:00
Kai Meinhard
33494d4ea2 LLEXT: Make max size in shell configurable
The maximum size of an extension accept by the shell
was previously a define and is now made configurable through Kconfig.

Signed-off-by: Kai Meinhard <meinhard@gessler.de>
2023-10-03 15:17:39 +01:00
Martin Åberg
0edfd664af tests: mcumgr: smp_version: Enable for SPARC
This has been tested on the following boards. The result is PASS on all.
 - qemu_leon3
 - generic_leon3
 - gr716a_mini

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-03 15:14:30 +01:00
Martin Åberg
8130435c2a mgmt: mcumgr: grp: os_mgmt: Add SPARC
Define the preprocessor symbol PROCESSOR_NAME for SPARC to avoid a
preprocessor warning.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-03 15:14:30 +01:00
Bjarki Arge Andreasen
7cac905e57 drivers: modem: modem_cellular: extend CMUX timeout
This commit adds a timeout of 300ms to the generic (gsm_ppp) init
chat script. This delay is required for some modems (discovered on
a Telit ME910G1-WW) to allow it to enter CMUX mode. Without this
delay, the modem simply refuses to respond to any CMUX commands.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-03 15:13:47 +01:00
Carles Cufi
2332a1db39 west: runners: nrf: Document why the network core is recovered first
The network core needs to be recovered first due to the fact that
recovering it erases both the network and application cores' flash
memory. This means that the little flash image that is programmed during
the recover operation would be lost for the app core if we inverted the
order.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-03 15:11:55 +01:00
Kieran Tyrrell
a714b42080 net: ip: fix promiscuous mode altering packets
Always clone net_pkt to pass to promiscuous queue.
Previously, net_pkt was passed to L2 before conditionally cloning.
But L2 would in some cases strip ethernet headers, so cloned
net_pkt received through promiscuous interface would be missing headers.

Signed-off-by: Kieran Tyrrell <kieran@sienda.com>
2023-10-03 15:10:57 +01:00
Andrei Emeltchenko
d68db1ecfa net: dhcpv6: Fix params check
Fix params check.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-03 15:10:41 +01:00
Florian Grandel
f3556f3f8c doc: ieee802154: fix driver API
Fixes a few minor documentation issues that slipped through in the
recent large documentation update:
- Fixes the ordering of sections to follow the ordering of the
  correspondig sections in the IEEE 802.15.4 standard.
- Fixes a few note/detail sections that were not recognized as such.
- Removes internal TODO markers from the publicly visible docs.
- Fixes wording and typos in a few instances.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-03 15:10:25 +01:00
Florian Grandel
edb9aa308b doc: ieee802154: fixes L2 docs
Fixes several minor doc glitches that were overlooked in the previous
major doc update:
- Fixes some minor formatting issues.
- Fixes wording and typos in some instances.
- Adds at least a one-sentence definition to all concepts that
  previously only had a spec pointer.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-03 15:10:25 +01:00
Maureen Helm
00d03fe942 tests: drivers: build_all: Add adin2111 to ethernet driver build test
Ensures that the eth_adin2111 driver builds for both of its supported
devicetree compatibles by adding adi,adin2111 and adi,adin1110
compatible nodes to the ethernet driver build test.

Sets relevant device device driver initialization priorities to be
equal, allowing devicetree dependency ordinals to determine the
initialization sequence.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-03 15:10:12 +01:00
Maureen Helm
aab537c8e2 drivers: ethernet: Decouple generic MII PHY and adin2111 driver Kconfigs
Decouples the generic MII PHY driver from the adin2111 driver by making
it depend on an ethernet-phy compatible devicetree node rather than the
adin2111 driver not being enabled. This makes it possible to add the
adin2111 driver to tests/drivers/build_all/ethernet

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-03 15:10:12 +01:00
Maureen Helm
66a03e6a38 drivers: ethernet: Remove CONFIG_ETH_ADIN2111_INIT_PRIORITY
Simplifies the adin2111 ethernet driver to use the generic driver class
initialization priority instead of a driver-specific priority.

Suggested-by: Georgij Cernysiov <geo.cgv@gmail.com>
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-03 15:10:12 +01:00
Maureen Helm
e503ec4064 drivers: ethernet: Fix adin2111 multiple compatibles support
The adin2111 ethernet driver supports both adi,adin2111 and adi,adin1110
devicetree compatibles, however it failed to build when both compatibles
existed in the same devicetree. This may be an unusual configuration for
real systems, but was found when extending
tests/drivers/build_all/ethernet to cover both compatibles.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-03 15:10:12 +01:00
Mulin Chao
cdebe6ef71 boards: arm: npcx: update flashing information
Update flashing information for npcx7m6fb_evb and npcx9m6f_evb since
current OpenOCD in zephyr-sdk has supported them.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-10-03 14:42:12 +01:00
Johann Fischer
a2a21e6dcf doc: release: add migration guide for RAM disk driver
Add migration guide and devicetree example for RAM disk driver.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-03 14:41:49 +01:00
Johann Fischer
9dc12095a0 samples: usb: mass: update build instruction using RAM disk
Follow up on commit f67dd39bb2
("drivers: ramdisk: use devicetree to instantiate RAM disk").
Unfortunately, the additional argument must be passed for the default
build. Using app.overlay would not always help since the sample has few
board-specific overlays.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-03 14:41:49 +01:00
Emil Gydesen
e67d6c2fa4 tests: bsim: Bluetooth: Remove broadcast_source_stop_inval
Removed the tests for invalid bt_bap_broadcast_source_stop
parameters and state, as those tests now implemented as unit tests.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-03 14:28:19 +01:00
Emil Gydesen
6c12ed18ad tests: Bluetooth: Add inval testing of bt_bap_broadcast_source_stop
Add invalid parameter and state testing of bt_bap_broadcast_source_stop

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-03 14:28:19 +01:00
Alberto Escolar Piedras
8f5b3334ed doc: release: 3.5: native boards updates
Release notes content related to the POSIX arch
and native boards.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-03 14:24:17 +01:00
Torsten Rasmussen
026dbdf539 cmake: LLVM LLD minimum version 14.0.0
Fixes: #35671

Add minimal version required for LLVM LLD linker.
Linking fails with older LLVM LLD, such as v10.0.0.

LLVM v14.0.0 was released in 2022, and latest LLVM is v17.0.1.
Zephyr currently doesn't have a strict minimum version of LLVM
specified, but based on LLVM development and known issues on older
releases, then a minimum version of v14.0.0 has been chosen in this
commit.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-10-03 11:40:19 +02:00
Vivekananda Uppunda
b0c9658029 net: l2: wifi: Fix Wi-Fi mode get command bug
The mode command operation has to be set to WIFI_MGMT_GET when the
option -g is provided. It was mistakenly set to true. Correcting the
same

This PR fixes #63424 and sets the proper value for the get command

Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
2023-10-03 11:30:13 +02:00
Andrei Emeltchenko
ca1de2fc39 tests: btp_mesh: Check correct error code
Check actual error code.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-10-03 09:21:40 +02:00
Emil Gydesen
2248394327 Bluetooth: Audio: Fix issues when setting new cfg values
Fix issues when setting new values in cfg that modify
the length of the codec configuration LTV value.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-10-03 09:21:20 +02:00
Alberto Escolar Piedras
baec80fe41 CI bsim workflow: Also run controller tests on nrf5340bsim_nrf5340_cpunet
Run all bsim bluetooth controller tests also
on a nrf5340bsim_nrf5340_cpunet, as the controller
runs in a quite different mode.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-03 09:21:13 +02:00
Li Feng
4b17907621 intel_ish: Enable ISH boards for coverage.
When build ISH project in Chromium repo, the coverage report error:

zmake build --coverage rex-ish
lcov: ERROR: no valid records found in tracefile.

To fix this, enable coverage config to link ISH boards with coverage
library.

Signed-off-by: Li Feng <li1.feng@intel.com>
2023-10-03 09:20:49 +02:00
Grzegorz Swiderski
08a0bd65da MAINTAINERS: Add domains.py under West area
This small library is shared by both west and twister, where it's used
to parse the `domains.yaml` files generated by sysbuild. It also defines
the schema that sysbuild itself must adhere to when generating the file.

`domains.py` used to be located in `scripts/west_commands/`, which means
that it once belonged under "West". Having one file appear in multiple
areas is discouraged, so let's just move it back to "West".

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-10-03 09:20:05 +02:00
Christopher Friedt
c6c97002b5 tests: subsys: zbus: do not use verbose logging
This change fixes a regression on `qemu_riscv64_smp` and
`qemu_riscv32_smp` that arose because debug logging was
enabled. My guess is that subtle races exist and that
debug logging exacerbates the condidtions for those
races.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-02 23:30:10 +03:00
Ivan Iushkov
c650f6aea0 Bluetooth: documentation change of kconfig.iso configs
Added comment to KConfig.iso file to make description
of BT_ISO_TX_MTU and BT_ISO_RX_MTU more clear

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2023-10-02 22:58:58 +03:00
Ivan Iushkov
a4a196f002 Bluetooth: fix iso_has_ts field for SDU fragmented to multiple HCI packets
iso_has_ts wasn't set correcrly for fragments of HCI ISO Data packets,
now it is set depending on timestamp
provided in the original buffer provided by host user

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2023-10-02 22:58:58 +03:00
Ivan Iushkov
4f5323a1cf Bluetooth: fix HCI ISO Data packets fragmentation
this commit partially reverts e460847b60

According to Core Spec 5.4, Vol. 4, Part E, 5.4.5, Data_Total_Length field
contains length of the whole packet including optional fields of SDU
(Time_Stamp, Packet_Sequence_Number, ISO_SDU_Length, RFU and
Packet_Status_Flag). In Zephyr Host, Data_Total_Length value
is stored in bt_dev.le.iso_mtu field.
Therefore, there is no need to calculate iso_hdr_len(),
this length is already taken into account in conn_mtu(conn).

This commits removes iso_hdr_len() function and fixes
calculation of HCI ISO Data packet length calculations.

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2023-10-02 22:58:58 +03:00
Florian Grandel
7ac34d0957 drivers: ieee802154: cc13xx_cc26xx_subg: fix timing regression
Fixes a timing regression introduced by commit
a12a6ab5b9.

This caused a massively increased package error rate.

Fixes: #63324.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-10-02 15:53:45 -04:00
Benjamin Cabé
feb3896e66 boards: doc: cypress: Update all cypress.com links to use HTTPS
While recent browsers seem to transparently try to use https when
hitting http://www.cypress.com/... URLs, they are effectively not
working anymore, so use https://www.cypress.com/... URLs instead. And
it's a good practice anyway to promote secure links vs. plain http :)

curl http://www.cypress.com/products/32-bit-arm-cortex-m4-psoc-6 -v -m 5
*   Trying [2a02:26f0:2b00:1a::212:b1ac]:80...
* Connected to www.cypress.com (2a02:26f0:2b00:1a::212:b1ac) port 80
  (#0)
> GET /products/32-bit-arm-cortex-m4-psoc-6 HTTP/1.1 Host:
> www.cypress.com User-Agent: curl/8.1.2 Accept: */*
>
* Operation timed out after 5004 milliseconds with 0 bytes received
* Closing connection 0 curl: (28) Operation timed out after 5004
milliseconds with 0 bytes received

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-02 20:20:46 +02:00
Christopher Friedt
58444cc23b boards: riscv: qemu: enable coverage support for all targets
Support code coverage on all RISC-V qemu targets. Additional
boards may choose to enable coveage support as well.

Tested by following the procedure documented at
https://docs.zephyrproject.org/latest/develop/test/coverage.html
with the qemu_riscv64 target.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-02 14:00:07 -04:00
Jamie McCrae
ea4a463cc0 doc: release: 3.5: Add additional retention change note
Adds a note on the change to disable retention system mutex
support

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Jamie McCrae
d0b1031593 doc: release: 3.5: Add retained memory changes
Adds notes on changes to retained memory

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Jamie McCrae
12639b6860 doc: release: 3.5: Add additional MCUmgr changes
Adds some additional notes on changes to MCUmgr in 3.5

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Jamie McCrae
c80750ec9c doc: release: 3.5: Add MCUboot release notes
Adds the changes in MCUboot to this release

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Jamie McCrae
7e37df33de doc: migration-guide: 3.5: Add note on SMP version 2 error handlers
Adds a note about required changed for Zephyr 3.4 SMP version 2
error translation handlers in Zephyr 3.5 (or newer)

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Jamie McCrae
2aafc0d4d7 doc: release: 3.5: Correct word in MCUmgr update
Changes wrong word transport to group

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Henrik Brix Andersen
9bf17f9276 drivers: can: remove unnecessary asserts in timing callbacks
Remove unnecessary calls to __ASSERT_NO_MSG() in CAN controller driver
timing setter callbacks. The CAN API functions can_set_timing and
can_set_timing_data() already provide run-time timing parameter validation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-02 16:59:42 +01:00
Benjamin Cabé
9c7672bfbc net: coap: Improve CoAP Doxygen comments
Improve the Doxygen comments for coap.h by adding missing documentation
for most of the compilation units.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-02 16:59:14 +01:00
Benjamin Cabé
fea507faee net: coap: Capitalize and document COAP_MAKE_RESPONSE_CODE macro
- Capitalize COAP_MAKE_RESPONSE_CODE macro to align
  better with coding style
- Added missing Doxygen comments

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-02 16:59:14 +01:00
Flavio Ceolin
3d91b927c2 doc: release: 3.5: Add info about CVE-2023-5184
Add CVE-2023-5184 to 3.5 release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-02 16:58:21 +01:00
Flavio Ceolin
390fcd9adf doc: vuln: Add information about CVE-2023-5184
Information about CVE-2023-5184

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-02 16:58:21 +01:00
Sylvio Alves
b7fbec7920 drivers: i2c: esp32: check busy line before transfer
I2C scan might fail as peripheral is still busy completing last
operation. This makes sure transfer call waits for free line.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-10-02 16:57:39 +01:00
Grzegorz Chwierut
0badef8091 twister: Fix missing timeout in handler class
In PR #62947 a timeout variable was replaced with a method,
but this timeout was used in another place to start
pytest subprogram. This commit provides a fix.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-10-02 16:40:11 +01:00
Donatien Garnier
6de57d0985 Bluetooth: Host: Document required changes for L2CAP accept() callback
Add a required change in the migration guide to document the changes
to the accept() callback in struct bt_l2cap_server.

Signed-off-by: Donatien Garnier <donatien.garnier@blecon.net>
2023-10-02 15:24:05 +02:00
Johan Hedberg
dee64613c2 samples: tracing: Reenable the percepio test case
Update to a fixed percepio tree, which allows the build to pass for valid
version numbers with 0 being one of the version number components.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-02 16:17:10 +03:00
Alberto Escolar Piedras
55940f701c tests bsim: Limit parallel build
The compile script had been modified
to fully parallelize all images builds
in 1de363d9d5

And has been kept building everything in parallel since then.
Over time we have seen an increase in the number of hangs
for this job in CI.
This is understood as being the result of the number of images
having increased, leading to a too high load
on the worker machines which cause them to timeout their
connection to the github CI scheduler.

In b83a828825
these jobs priority was lowered to aleviate this issue,
but again we see an increased number of CI runner
disconnects.

Let's parallelize this compile jobs a bit less.
With this change, we do not build anymore the sets of
host ll and mesh test images in parallel but sequencially.
On a local test this reduces peak load from
~1700 to ~700, and eliminates issues with system
unresponsiveness; while there is no statistically measurable
increase in overall build time.
Note that the single audio image is still built in parallel
to the other 3 sets, as this was seen to improve total
build time by 2 seconds out of 1m51s.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-02 15:54:10 +03:00
Anas Nashif
ebc8fdac4f doc: fix link to manifest listing and documentation
Point to the correct page referencing manifest entries.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-02 14:52:10 +02:00
Kai Vehmanen
8c4eec7ac6 intel_adsp: boot_complete must be done PRE_KERNEL_1
Commit 759e07bebe ("intel_adsp: move memory window setup to
PRE_KERNEL_1") moved memory window setup from EARLY to
PRE_KERNEL_1. Similar change must be done to boot_complete, or
otherwise boot-up sequence will not be completed correctly
on all platforms.

Suggested-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-10-02 13:40:40 +01:00
Tomasz Moń
113600eb4b drivers: i2s: use new k_mem_slab definition
Commit 2f003e59e4 ("kernel: Re-factor k_mem_slab definition") moved
block_size into from k_mem_slab to k_mem_slab_info without updating i2s
handlers. Use the new member to fix build failures.

Fixes: #63363

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-10-02 08:23:48 -04:00
Jerzy Kasenberg
2c6fd67d59 manifest: hal_renesas: Update hal with runtime crash fixes
hal has to simple corrections:
- One of the asserts were obviously checking wrong condition.
  It resulted in crash when asserts were enabled
- pdc module was using calloc in PRE_KERNEL_1 stage which is
  not allowed. Latest Zephyr changes of default c library
  triggered crash. Before calloc returned NULL and that was handled,
  but now it simple returns some random data.
  Now static buffers are utilized instead.

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2023-10-02 13:59:11 +02:00
Vinayak Kariappa Chettimada
48c83a1f42 Bluetooth: Controller: Fix num cmplt for BIS HCI ISO Data fragments
Fix number of completed packets generated when BIS HCI ISO
Data packets sent to Controller are in fragments. Use the
ISOAL stored sdu_fragment count to generate the number of
completed packets count.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 11:36:33 +02:00
Vinayak Kariappa Chettimada
a178aa9855 Bluetooth: Controller: Review rework flush timeout support
Review rework changed related to flush timeout support.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
27c92fe238 tests: bsim: Bluetooth: Test RTN=2, FT=2, Cen skip 4 SE in Controller
Test RTN=2, FT=2 in Controller with 4 subevents dropped by
central.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
291cd03818 tests: bsim: Bluetooth: Test RTN=2, FT=2, Cen skip 2 SE in Controller
Test RTN=2, FT=2 in Controller with 2 subevents dropped by
central.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
a7d2fdd02b tests: bsim: Bluetooth: Test RTN=2, FT=2, Per skip 4 SE in Controller
Test RTN=2, FT=2 in Controller with 4 subevents dropped by
peripheral.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
2935d3b731 tests: bsim: Bluetooth: Test RTN=2, FT=2, Per skip 2 SE in Controller
Test RTN=2, FT=2 in Controller with 2 subevents dropped by
peripheral.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
61d00467b4 Bluetooth: Controller: Option to ignore Tx ISO Data Packet Seq Num
Kconfig option to turn off ISO Data Packet Sequence Number
use to place the ISO Data in the correct radio event,
instead simply buffer it to next radio event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
e3ecab3142 Bluetooth: Controller: Fix ISO Data timestamp when FT > 1
Fix ISO data timestamp to reflect the SDU reference point
and not the ISO event anchor point when PDUs received after
retransmissions.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
7fa77a67fc Bluetooth: Controller: Use of payload_count for Flush Timeout
Use of payload_count for supporting flush timeout in
Central and Peripheral ISO Lower Link Layer.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Vinayak Kariappa Chettimada
7a14830d85 Bluetooth: Controller: Remove HCI ISO data with invalid status
Remove incorrect implementation of HCI ISO data with invalid
status.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-10-02 10:00:27 +02:00
Manuel Argüelles
d044dfe7e9 tests: error_hook: skip test_catch_fatal_error for Armv8-R
Skip `test_catch_fatal_error` test case for Armv8-R because
divide by zero trapping is not supported on this architecture.

Fixes #63268

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-10-02 09:40:25 +02:00
Johan Hedberg
1fc16e6565 release: Zephyr 3.5.0-rc1
Bump the version to 3.5.0-rc1.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-01 20:29:10 +03:00
Johan Hedberg
021003c5c0 samples: tracing: Skip broken percepio test case
The percepio build seems to have a bug and fail whenever the major, minor
or patchlevel numeric value is 0:

Invalid version specified: major: 3, minor: 5, patchlevel: 0

Disable the sample until a proper fix is available.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-01 20:29:10 +03:00
Johan Hedberg
29521a4bdd posix: Fix release name length in struct utsname
The release name length forgot to take into account the optional
EXTRAVERSION string (e.g. rc1).

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-01 20:29:10 +03:00
Johann Fischer
ed7d56f04e tests: usb: add test for new USB device support
This is initial patch to add tests for new USB device support.
The test uses USB host support and virtual USB bus by default,
but should work on real hardware as well. For now, only the
Get Configuration and Set Interface requests are tested by default.
More tests will follow.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
d18cb6c189 usb: host: usbh_ch9: add ASSERT for unresolved data stage conditions
Do not explicitly check buf parameter in usbh_req_setup()
but add ASSERT to check unresolved data stage conditions.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
dd43679fdf usb: host: add command to get the current device configuration
Add command to get the current device configuration.
Revise the shell part to have a set|get configuration
subcommands.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
2cea6e091b usb: host: remove unused USBH_DEFINE_CLASS(bazfoo) from the shell
With the latest change, there is no need for this structure
to be used as a completion handler.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
c1065e0e19 usb: host: rework ch9 tools to work on USB device
Use the USB device structure and wrappers introduced earlier.
With this patch, users of ch9 requests do not need to work
directly with the UHC API. The requests are now blocked until
there is a response from the UHC. Callers finally have access
to the data buffer and request status.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
c3bcf31481 usb: host: add a structure to represent a USB device.
Add a structure to represent a USB device and wrappers to avoid
glue UHC calls when operating on devices. Although there is a long
road to device configuration and management, we can start with
the tools that can also be used for USB device support testing.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
aced8f528e usb: host: cleanup UHC event processing
Remove ugly hack to call class driver ops.
This is preparation for later changes where we will change
parts to work on structure that represents USB device and
not on glue UHC functions.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
9cb777b95e drivers: uhc: rework transfer buffer handling
The current approach is a bit impractical in the upper layer.
This patch removes the two fifos that hold the transfer buffers
and replaces them with a byte array for the setup packet and
a pointer to a data buffer. The data buffer is mandatory for
all types of transfers except control without a data stage.
The waste of eight unused bytes for non-control transfers should
be insignificant, since an additional pointer would be at least
half of it, and then there would be the overhead of handling it.

This patch also clean up the transfer flags, rename owner to callback
as it reflects the upper layer use case, and add an additional member
to hold the pointer to the USB device (peripheral on the bus).

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
960e758e6b drivers: uhc: move transfer status to transfer structure
Aling with the changes in UDC done in the commit ad81b3b797
("drivers: udc: move transfer status to buffer info structure")
This allows us to get the result of synchronous transfer and
simplify uhc_submit_event().

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
bb3193a9f0 include: usbh: remove usbh_peripheral and rename class_code
Rename usbh_class_code to usbh_code_triple and remove reserved
member to bettter reflect the purpose of this structure.
Remove unused struct usbh_peripheral.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Johann Fischer
ef72f73945 usb: device_next: loopback: fixup left over from early state
Class instance must not call usbd_ep_ctrl_enqueue().

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-01 09:26:07 +03:00
Tom Burdick
1369a1d152 llext: Cleanups noted in initial PR
There were a few small nits that were pointed out in the initial PR.
Fixes the LOG_ macro in the arm elf implementation, replaces a few stray
mentions of modules in llext.h with extensions.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-10-01 09:22:18 +03:00
Anas Nashif
a3eff88792 samples: tfm: depend on psa-arch-tests
Those samples/tests depend on psa-arch-tests module.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
2ed4cf0fde samples: tflite-micro: depend on module
The sample depends on on the tflite-micro module.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
a0005188ce samples: compression: add dependency on lz4 module
This sample depends on lz4.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
dd7532dcf9 doc: add manifest extension
Generate index of west projects and information about them.
Based on an extension from sdk-nrf repo.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
f669e156d4 ci: pull optional modules for now
While we cleanup, pull optional modules as before to keep CI happy.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
9d9f3b5c67 twister: do not error on module filters
If a module is not available, then it is optional, so do not error in
--integration mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
f00b4a8a15 doc: modules: integration modes
Document integration modes of modules.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
f30f08a3ce manifest: move optional modules to a submanifest and make them optional
Move optional modules to a submanifest and make them optional by
default.
This is just a POC, might require some more thought. The idea is to look
at the optional manifest as an area for modules that work with Zephyr,
but not needed directly by zephyr. This could be documented somewhere
for discovery purposes allowing users to enable such modules in their
downstream if desired.

See #54276

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Andriy Gelman
1211d778ac tests: drivers: build_all: can: Add mcp251xfd test case
Adds build test case for mcp25xxfd with arduino_uno_click and
mikroe_mcp2518fd_click shield.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-10-01 09:20:37 +03:00
Andriy Gelman
4cbb727e39 shields: Add CAN-FD MikroElektronika mcp2518fd click shield
Adds MikroElektronica click shield for the Microchip
MCP2518FD CAN-FD controller.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-10-01 09:20:37 +03:00
Andriy Gelman
31bef35897 drivers: can: mcp251xfd: Add driver
This continue PR #31270. The updated changes are:
- Updated to work with latest zephyr
- Inplace reads/writes of registers
- Batch read of RX messages when multiple messages can be read
- FIFO abstraction of RX/TEF queues
- Handle ivmif errors
- Use READ_CRC for register reads
- Use bitmasks instead of bitfield members
- Rename mcp25xxfd to mcp251xfd
- General cleanups

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-10-01 09:20:37 +03:00
Abram Early
33277f9b48 drivers: can: Implement MCP25xxFD driver
Implementation for Microchip MCP2517FD/MCP2518FD SPI based CAN-FD
controller.

Signed-off-by: Abram Early <abram.early@gmail.com>
2023-10-01 09:20:37 +03:00
Andrzej Kuros
d44e96e486 nrf53: pretick with NRF_802154_RADIO_DRIVER
The `SOC_NRF53_RTC_PRETICK` option is now allowed to be used with
`NRF_802154_RADIO_DRIVER`.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-09-30 18:48:19 +02:00
Andrzej Kuros
e03d5d4c6d nrf53: RTC pretick allows user channels and require just one CC
The nrf53 pretick can be used with non-zero
`NRF_RTC_TIMER_USER_CHAN_COUNT` Kconfig option.

The nrf53 pretick requires just one RTC1 CC channel.

The nrf53 pretick handles also RTC1 and RTC0 both CCs and OVERFLOW
events by examination of events scheduled on them. The pretick is set
based on number of ticks to the closest event scheduled that can trigger
an interrupt.

Because the operation in `z_arm_on_enter_cpu_idle` hook would
take too much time with interrupts disabled, the
`z_arm_on_enter_cpu_idle_prepare` hook enabled by Kconfig option
`ARM_ON_ENTER_CPU_IDLE_PREPARE_HOOK` is used. It performs RTC0 and RTC1
examination, and sets pretick without interrupts being blocked.

The LDREX/STREX are leveraged to detect if exception took place
between start of `z_arm_on_enter_cpu_idle_prepare` and
`z_arm_on_enter_cpu_idle`. If exception has not been taken, the pretick
calculation can be trusted because source data could not changed and
too much time could not pass. Otherwise the sleep attempt is disallowed,
the idle will loop again and try later.

Prompt for `SOC_NRF53_RTC_PRETICK` Kconfig option allows to control
this option by an user and turn the feature off if necessary.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-09-30 18:48:19 +02:00
Andrzej Kuros
3d89d58cb8 arch: arm: aarch32: Introduce z_arm_on_enter_cpu_idle_prepare() hook
Introduce an optional hook to be called when the CPU is made idle.
If needed, this hook can be used to prepare data for upcoming
call to z_arm_on_enter_cpu_idle(). The main difference is that
z_arm_on_enter_cpu_idle_prepare() hook is called before interrupts
are disabled.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2023-09-30 18:48:19 +02:00
Krzysztof Chruściński
31eaffdf05 nrf53: Add RTC pretick
Add RTC pretick option that triggers HW activity one tick before and
RTC event that leads to the interrupt. Option is active only on nrf53
network core.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-09-30 18:48:19 +02:00
Chandler Keep
27b4b9f4c8 mgmt/MCUmgr/mgmt: Support for finding registered command groups
This commit adds support for finding registered mcumgr command groups.

By default, supported command groups are local to the namespace where
they're registered. This api addition allows applications to get
reference to these supported command groups to deregister & re-register
them.

This adds scope for applications to support multiple implementations
of a command group alongside the default.

Signed-off-by: Chandler Keep <chandlersamkeep@gmail.com>
2023-09-30 18:48:06 +02:00
Flavio Ceolin
56627e40cb net: wifi_utils: Fix wifi_utils_parse_scan_ssids doc
Function recently changed its behavior, just changing the documentation
to reflect that.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-30 18:47:55 +02:00
Bjarki Arge Andreasen
da9c821ce0 modem: modem_pipe: Update documentation
This commit improves the documentation in the header for the
modem_pipe to include return value descriptions and notes
regarding when specific events are invoked resulting from
calls to the modem_pipe API.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-09-30 18:47:48 +02:00
Bjarki Arge Andreasen
48a069204c modem: modem_pipe: Avoid inconsequential open/close calls
This PR adds a mechanism to avoid calling open() or close()
on pipes which are already opened or closed respectively.

This optimization can help simplify backends implementing
the modem_pipe API by avoiding duplicated boilerplate code.

The TTY backend test suite has been updated to match the
new behavior.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-09-30 18:47:48 +02:00
Benjamin Cabé
9ad403e9ca doc: pm: policy: Hide internal/private fields.
Use INTERNAL_HIDDEN to hide private fields from public
documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-30 18:47:41 +02:00
Bjarki Arge Andreasen
74b2c8c123 net: ppp: Remove unused flag from struct ppp_context
Remove unused flag from ppp_context struct.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-09-30 18:47:33 +02:00
Bjarki Arge Andreasen
d6a96a4b24 net: l2: ppp: Don't attempt reestablish PPP if carrier is down
This commit adds a check to prevent attempting to reestablish
the PPP session if the carrier is down. Without this check,
the PPP FSM attempts and fails to establish a PPP session
twice before giving up. The behavior is not breaking anything,
but it is not desired.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-09-30 18:47:33 +02:00
Daniel Fladerer
9d1b7086d7 drivers: serial: uart_mcux_iuart: Add parity bit handling
Adding parity bit handling according to uart_mcux.c

Signed-off-by: Daniel Fladerer <d.fladerer@gmx.de>
2023-09-30 18:45:34 +02:00
Anas Nashif
c910dc81a6 sys_clock: header: minor cleanup and doxygenization
Minor cleanup and doxygen related changes adding missing coverage.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-30 18:43:28 +02:00
Anas Nashif
b9f8b91692 kernel: sys_clock: remove stray z_enable_sys_clock prototype
The implementation was removed, but we still have the prototype.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-30 18:43:28 +02:00
Anas Nashif
cc2a558707 kernel: move more internal smp calls into internal domain
Move 3 more internal APIs into internal area as the first step for
cleanup. Having them in kernel.h is just an invitation for them to be
used by someone.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-30 18:43:28 +02:00
Anas Nashif
a1c7bfbc63 kernel: remove unused z_init_thread_base from kernel.h
This API is internal and not used in any way in kernel.h, so move it
back to where it is needed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-30 18:43:28 +02:00
Anas Nashif
209ff606be kernel: move internal smp calls to a internal header
Those APIs are internal and should not be part of the main public API
header.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-30 18:43:28 +02:00
Anas Nashif
e19f21cb27 kernel: move z_is_thread_essential out of public kernel header
This is a private API to the kernel, so move out of kernel.h

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-30 18:43:28 +02:00
Anas Nashif
f0c7fbf0f1 kernel: move sched_priq.h to internal/ folder
This header is internal to the kernel and shall not be included directly.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-30 18:43:28 +02:00
Peter Mitsis
a956f7aef1 west.yml: Pull in latest percepio updates
Pulls in the latest percepio module updates that alter how it
accesses the k_mem_slab structure (due to changes from this PR).

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
13712dbea2 test: Shorten object core API stats test name
Changing the name of the routine test_obj_core_stats_deregister()
to something shorter (test_obj_core_stats_dereg) has been found to
be a workaround to the issue identified in #61087.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
1afc32e762 doc: Add object core documentation
Adds documentation for both object cores and object core statistics.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
eb86a0cca5 test: Implement obj core stats test
Adds a test to test the objects integrated into the object core
statistics framework.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
d709182ba5 test: Implement object core stats API test
Creates a set of tests to verify that the top-level
k_obj_core_stats_xxx() routines behave as expected.
Note that this test is not meant to test the details
of the object core statistics operator function pointers.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
5594de49ea test: Implement object core test
Creates a test to verify that kernel objects can be found within
the object core framework.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
e6f1090553 kernel: Integrate object core statistics
Integrates object core statistics framework into the following
kernel objects:
  sys_mem_blocks, k_mem_slab
  threads, _cpu, z_kernel

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
1d5d674e0d kernel: Add initial k_obj_core_stats infrastructure
Adds the infrastructure to integrate statistics into
the object core.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
6df8efe354 kernel: Integrate object cores into kernel
Integrates object cores into the following kernel structures
   sys_mem_blocks, k_mem_slab
   _cpu, z_kernel
   k_thread, k_timer
   k_condvar, k_event, k_mutex, k_sem
   k_mbox, k_msgq, k_pipe, k_fifo, k_lifo, k_stack

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
55db86e512 kernel: Add initial obj_core infrastructure
Adds the initial object core infrastructure.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
eb1e5a161d kernel: FIFO and LIFO have their own sections
Instead of placing both FIFOs and LIFOs into a common k_queue
type section, they are now placed into their own custom iterable
secitons. This is necessary when employing object cores as FIFOs
and LIFOs will be associated with different lists.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
9bedfd82a2 kernel: Refactor CPU usage
Refactors CPU usage (thread runtime stats) to make it easier to
integrate with the object core statistics framework.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
baea37aeb4 kernel: Re-factor sys_mem_blocks definition
Rearranges the sys_mem_blocks fields so that information that describes
how much of the memory block is used is co-located. This will allow
easier of its statistics into the object core statistics reporting
framework.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Peter Mitsis
2f003e59e4 kernel: Re-factor k_mem_slab definition
Rearranges the k_mem_slab fields so that information that describes
how much of the memory slab is used is co-located. This will allow
easier of its statistics into the object core statistics reporting
framework.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-09-30 08:04:14 +03:00
Tom Burdick
77e193eb03 llext: Maintainers file
Adds to the maintainers file the llext subsystem making myself the
maintainer and Guennadi Lyakh a collaborator.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-09-29 20:50:38 -04:00
Tom Burdick
9c366973e4 llext: Shell loader sample
Adds a sample application that can be used for trying out llext
with the shell. The docs cover how to load a hello world ELF
on to the device, assuming its an arm v7 architecture.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-09-29 20:50:38 -04:00
Tom Burdick
b7f3182f79 llext: Simple hello world test case
Adds a very simple hello world test case for llext. The loadable
extension is built and then included as a binary array into the test
making it very easy to load, debug, and inspect. The extension is
built using the same toolchain as the base image by default.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-09-29 20:50:38 -04:00
Tom Burdick
09f38b5f20 docs: Add documentation for llext
Adds a basic overview and API docs for llext.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-09-29 20:50:38 -04:00
Tom Burdick
41e0a4a371 llext: Linkable loadable extensions
Adds the linkable loadable extensions (llext) subsystem which provides
functionality for reading, parsing, and linking ELF encoded executable
code into a managed extension to the running elf base image.

A loader interface, and default buffer loader implementation,
make available to the llext subsystem the elf data. A simple management
API provide the ability to load and unload extensions as needed. A shell
interface for extension loading and unloading makes it easy to try.

Adds initial support for armv7 thumb built elfs with very specific
compiler flags.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Co-authored-by: Chen Peng1 <peng1.chen@intel.com>
Co-authored-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-09-29 20:50:38 -04:00
Anas Nashif
34e16225eb neural_net: remove unused experimental API
Experimental API is not being used anymore, remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-29 20:48:33 -04:00
Benjamin Cabé
a6f8935e4f doc: sphinx.util.progress_message is deprecated
As of Sphinx 6.1, sphinx.util.progress_message is deprecated and
sphinx.util.display.progress_message should be used instead.

See https://www.sphinx-doc.org/en/master/changes.html#id165

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-29 20:57:30 +03:00
Jamie McCrae
76e58af542 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  4fe28b3cf6d30c3e57d6a4f7ee3dba8617aa9a0a

Brings following Zephyr relevant fixes:
 - 4fe28b3 Update zephyr version files for 2.0.0-rc1
 - 6a6de4b scripts: imgtool: update to 2.0.0-rc1 release

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-29 20:37:24 +03:00
Manuel Argüelles
3923cda6d8 tests: kernel: syscalls: use default faulty address for s32z270dc2
Before Picolibc was made default, this board needed a custom test
faulty address. Now this address does not produce a fault anymore so
switch back to the default faulty address.

Fixes #63270

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-29 20:34:51 +03:00
Benjamin Cabé
639b11742a doc: include: uart: cleanup doxygen documentation
Add a bunch of missing docstrings
Properly document structs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-29 12:21:15 -05:00
Jukka Rissanen
a59b67c521 samples: net: socket: echo_server: conn mgmt header file missing
The conn_mgr_monitor.h was not included so the compilation
gave warning for missing conn_mgr_ignore_iface() function.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-29 18:57:07 +03:00
Alberto Escolar Piedras
c883d397f6 tests/drivers/flash common: Allow on nrf53_bsim boards
Add the new simulated nrf53 targets to this test, as they
can run it without problems.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 18:56:33 +03:00
Alberto Escolar Piedras
f1f066ec7d test drivers.entropy.bt_hci: Allow on simulated nrf5340bsim_nrf5340_cpunet
The simulated nrf5340bsim_nrf5340_cpunet board can run this test
also just fine, so let's enable it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 18:56:33 +03:00
Alberto Escolar Piedras
e41f836c53 tests nrf_rtc_timer: Allow on simulated nrf53
The simulated nrf53 bsim boards can run this test also just
fine, so let's enable them.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 18:56:33 +03:00
Robert Lubos
51d3341066 net: icmp: Don't unref net_pkt from the registered handler
A minor overlook from the recent ICMP rework, the registered handlers
should no longer unref the processed packet as it's now the
responsibility of the ICMP module.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-29 18:49:43 +03:00
Benjamin Cabé
d7aaf0daf7 doc: net: tftp: doxygen cleanup
- Add missing docstrings for TFTP client error codes
- Fix documentation for tftp_put() & tftp_get()
- Fix rendering of notes for tftp_evt_type

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-29 18:49:07 +03:00
Martí Bolívar
23ed21c0a0 scripts: runners: rework RunnerCaps implementation
This provides miscellaneous quality of life improvements:

- We couldn't use dataclasses when this class was originally written.
  We can now, so move to dataclass to avoid having to write
  __repr__().

- Add missing validation for the advertised commands

- Add missing documentation for the 'file' capability

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-09-29 16:30:07 +02:00
Emil Gydesen
f5dd62bbec Bluetooth: Audio: Update codec_cfg_get_chan_allocation
Update the function name from codec_cfg_get_chan_allocation_val
to just codec_cfg_get_chan_allocation, and add
codec_cfg_set_chan_allocation.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 16:29:58 +02:00
Grzegorz Swiderski
a35decaf90 doc: boards: Link to the board porting guide
This is the more useful document to point newer Zephyr users to.

The support documentation template is already mentioned in the guide
(under "Contributing your board"), but leave the existing link to it for
quick reference, just changing a few words.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-09-29 16:29:49 +02:00
Grzegorz Swiderski
f62c805a3d doc: board_porting: Extend the board extensions section
Tweak a few sentences and add a basic example, to fit in with the
overall document a little better. Also, fix an invalid cross-reference.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-09-29 16:29:49 +02:00
Grzegorz Swiderski
491901d605 doc: board_porting: Move the board extensions section
It was awkwardly placed in the middle of the "Write your devicetree"
section, breaking up the flow of the guide. A more natural placement
would be underneath "Contributing your board", considering that this
feature deals with boards already submitted to Zephyr.

Let's relocate this part and swap two of its paragraphs in the process,
to motivate the feature before describing it.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-09-29 16:29:49 +02:00
Manuel Argüelles
b38dab48c6 counter: nxp_s32_sys_timer: use clock control APIs
Use clock control API to retrieve the counter module's frequency and
update the boards using it to provide the source clocks.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-29 16:29:31 +02:00
Maciej Perkowski
066cc2c9d2 twister: Add options deciding if paths be included in tests' names
Test suites names are not being handled uniformly for tests not
in zephyr tree. Their names depend on -T arg used in twister's CLI.
The newly added options allow to select if twister should add paths
to suite names. This is needed if test plans are to be used for tests
outside of zephyr tree.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-09-29 16:29:16 +02:00
Maciej Perkowski
4e4b743fe1 twister: Add "path" entry to json test report
"Path" is a path (relative to zephyr) to a directory with test suite's
definition. Such entry helps to locate a given test.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-09-29 16:29:16 +02:00
Najumon B.A
dfec79c948 boards: x86: add eMMC support for Intel Alder lake platform
add DTS entry for enable eMMC support on Intel Alder lake platforms

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-09-29 16:29:00 +02:00
Najumon B.A
a14bc241c0 drivers: sdhc: add driver support for emmc host controller
add host controller driver support for emmc version 5.1.
The driver expose zephyr sdhc api interface for emmc host controller.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-09-29 16:29:00 +02:00
Najumon B.A
c5094776e9 sd: add check for maximum supported voltage by host controller
add check for maximum voltage supported by hc before apply card voltage.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2023-09-29 16:29:00 +02:00
Kelly Helmut Lord
12fa534089 drivers: flash: shell: adjusted load command prompt
Adjusted the prompt of the load command to make it more obvious that
the user is being prompted for keyboard input.

Signed-off-by: Kelly Helmut Lord <helmut@helmutlord.com>
2023-09-29 16:28:40 +02:00
Anisetti Avinash Krishna
d2af54fc02 doc: devlop: api: Added TGPIO api overview
Added TGPIO API overview as experimental.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00
Anisetti Avinash Krishna
db70b8ed11 doc: hardware: peripherals: Added tgpio.rst
Added tgpio.rst file for documentation generation.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00
Anisetti Avinash Krishna
0ed8d90444 samples: drivers: misc: Added sample application for timeaware-gpio
Added sample application for timeaware-gpio uasge.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00
Anisetti Avinash Krishna
ea2094e636 dts: x86: raptor_lake: Added timeaware gpio instance
Added timeaware gpio instance in raptorlake dtsi

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00
Anisetti Avinash Krishna
c45b719442 drivers: misc: timeaware_gpio: Added intel PCH driver
Added intel PCH driver for timeaware GPIO.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00
Anisetti Avinash Krishna
667c35a019 qinclude: zephyr: misc: Added timeaware gpio header file
Added timeaware gpio interface.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00
Florian Grandel
60ad26403b net: l2: ieee802154: only log fully assembled pkts
As we already log fragmented packets there's no need to log them again
unless they have been fully assembled and the result is to be logged.

We also want to log the final packet in all cases (after mangling LL
address) for the non-fragmented case.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-29 16:27:31 +02:00
Florian Grandel
a5d46e7d66 net: l2: ieee802154: mgmt: NET_CONTINUE unless pkt is unrefed
It is the general rule in Zephyr's network stack that methods that
return NET_OK are expected to have "consumed" the packet, i.e. it should
not be referenced any more.

This change applies this rule to the methods in ieee802154_mgmt.* for
improved consistency with the remainder of the network stack.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-29 16:27:31 +02:00
Florian Grandel
203391a378 net: l2: ieee802154: security config
The "encryption only" security level was deprecated in IEEE
802.15.4-2015. This deprecation has already been introduced in the code
but was overlooked in net config.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-29 16:27:31 +02:00
Florian Grandel
36402b6d2a net: pkt: time: introduce ns timestamp helper
A little refactoring that simplifies dealing with nanosecond timestamp
values in packets and further decouples calling code from PTP:

Benefits:
- simplifies calling code by removing redundant conversions.
- prepares for removing PTP dependencies from net_pkt.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-29 16:27:15 +02:00
David Corbeil
8a25b039e4 logging: net: changing syslog server address while running bug
Fixed bug where changing the syslog network server's address while it's
still running would fail most of the time

Signed-off-by: David Corbeil <david.corbeil@dynon.com>
2023-09-29 16:27:04 +02:00
Alperen Şener
05e806d31d bluetooth: mesh: check upload slot before release
Check if the slot is not reseved, NULL before try to
releas it.

Signed-off-by: Alperen Şener <alperen.sener@nordicsemi.no>
2023-09-29 16:26:42 +02:00
Alperen Şener
a54c18ad31 tests: bluetooth: tester: fix improper large comp rsp struct init
Large composition data response struct should have a
data buffer to store the reponse data to

Signed-off-by: Alperen Şener <alperen.sener@nordicsemi.no>
2023-09-29 16:26:42 +02:00
Alperen Şener
90fac3045d tests: bluetooth: tester: add transfer ttl to mbt inputs
adding transfer ttl ixit value to be used as input for
mbt test cases

Signed-off-by: Alperen Şener <alperen.sener@nordicsemi.no>
2023-09-29 16:26:42 +02:00
Lukasz Mrugala
66730c961e scripts: tests: twister: Domain module testing
Domain module was not yet covered by explicit unit tests.
This commit adds a new test file to cover that gap.
It achieves 100% coverage at the time of creation.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-09-29 16:26:35 +02:00
Manoel Brunnen
ae924b2afc twister: Fix test-only tests with hardware map fixtures
In test-only mode with a hardware map, all tests with fixtures were
skipped, even when the hardware map has appropriate fixtures defined.

TestPlan.load_from_file had the check for fixtures missing, but actually
best is that the TestInstance checks the fixtures in the hardware map.

Signed-off-by: Manoel Brunnen <manoel.brunnen@ithinx.io>
2023-09-29 16:25:47 +02:00
Rahul Singh
6ef75a26ea net: zperf: Add support for bind to host option for tcp/udp download
The current zperf tcp/udp download command doesn't provide the option
to bind the server to a specific host address. If there is more than
one interface, it will not be possible to test each interface with zperf
tcp/udp download command without building the Zpehyr.

This patch will add support for zperf tcp/udp download command to bind
server to host interface address.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
2023-09-29 16:25:26 +02:00
Emil Gydesen
c8a79e1fc1 Bluetooth: Audio: Add codec_cfg_set_frame_blocks_per_sdu
Add the bt_audio_codec_cfg_set_frame_blocks_per_sdu function
to set or add the frame blocks per SDU field in the
codec configuration.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 16:25:17 +02:00
Andrzej Głąbek
222593f8c4 tests: kernel: timer: jitter_drift: Restore initial alignment to tick
This is a follow-up to commit 4cc21e2f4a.

That short sleeping before starting the test was removed together with
accuracy improvements (specifically, with moving of the first readout
of the cycle counter). Nevertheless, this tick alignment it still
needed, as without it in specific conditions the test may undesirably
fail.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-09-29 16:25:10 +02:00
Juha Heiskanen
647fb4dc8f net: lwm2m: RD client Deregister event indicate
Added a new event for LWM2M_RD_CLIENT_EVENT_DEREGISTER for
indicate LwM2M client dereistartion.

Updated unit test and sample for new event type

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2023-09-29 16:53:55 +03:00
Guillaume Gautier
69fb18a19d drivers: adc: stm32: ADC nocache buffers can be in CONFIG_NOCACHE_MEMORY
CONFIG_NOCACHE_MEMORY is a valid way of declaring buffers in
nocache regions. Consider them valid in the STM32 ADC driver
nocache check.
Copied from commit 818aa2d

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 16:52:33 +03:00
Gerard Marull-Paretas
2de7a8124a dts: bindings: serial: nxp,kinetis-lpsci: do not re-specify pinctrl-0
Property type is already defined in pinctrl-device.yaml.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-29 08:44:19 -05:00
Iuliana Prodan
4289359eb2 modules: mcux: fix HAS_CMSIS_CORE selection
Do not select HAS_CMSIS_CORE for SOC_FAMILY_NXP_ADSP.
This soc family refers to the Audio DSP from i.MX MPU,
which is a HiFi4 core, Xtensa arch.

HAS_CMSIS_CORE is for ARM cores (A, M, R cores) -
see modules/cmsis/Kconfig.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-09-29 08:41:37 -05:00
Dat Nguyen Duy
2aded4006f tests: pwm_loopback: enable test for mr_canhubk3
Enable PWM loopback testing for mr_canhubk3

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-29 15:40:04 +02:00
Dat Nguyen Duy
0b0988db2d drivers: pwm_nxp_s32_emios: add support for pwm capture
This introduces pwm capture shim driver for NXP S32 EMIOS,
the driver uses SAIC mode that is supported for all channels,
to capture the counter value on each edge for period/pulse
measurement

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-29 15:40:04 +02:00
Dat Nguyen Duy
05fd40012f drivers: pwm_nxp_s32_emios: prepare for support pwm capture
This prepares support pwm capture APIs by extended current pwm
shim driver but use a differrence hal component:

- Introduce a Kconfig options that will be set when PWM pulse
  generation API is used, it is also used to select the hal
  component. Guarding current code inside this Kconfig option

- Increase #pwm-cells to 3, flags is supported for PWM capture

- Do not require duty-cycle and polarity be set in dt, PWM
  capture doesn't need it.

- Rename emum value for pwm-mode to keep only key information

- Add preprocessor in case no channel is configured for generate
  PWM output, to avoid warning when build

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-29 15:40:04 +02:00
Dat Nguyen Duy
e021108ace misc: nxp_s32_emios: enable and declare interrupt handler
This enables and declares interrupt handlers for eMIOS,
the handlers defined and implemented at HAL, the driver
takes the name for each id from interrupt-names devicetree

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-29 15:40:04 +02:00
Alberto Escolar Piedras
2243d7b717 Bluetooth controller nrf: Provide radio hal header for simulated nrf5340
Provide a radio HAL header for the new nrf53 bsim target

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
6ef42d0b80 boards nrf53_bsim: Set net core as primary
So it gets the command line arguments by default.
This eases running the BT test which run on the
nrf52_bsim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
dd2eefb1ce nrf_bsim: nrf53_bsim_cpunet: Automatically start CPU
Automatically start the Network domain CPU during HW boot.
In the real HW this CPU is held on reset until something else
(Typically the application MCU) releases it.
But doing so facilitates running tests in this MCU as there is
no requirement for an image for the application core.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
b9f23b0c71 nrf_bsim boards: Add new simulated nrf53 boards
Add the first definition for the new simulated nrf5340 boards.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
d116a06a92 boards nrf_bsim: Add MCU number to traces
When we have more than 1 MCU, add the MCU number to the traces
so we can identify from which MCU they come from.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
27f32af8ec nrf5x_bsim: Add command line options to control MCU boot
Add options to force MCUs to boot/not boot, overriding
of how they would behave otherwise, as well as an
option to print info about the MCUs present in the
platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
fa470ca57d native SOC: Add option to make a MCU to boot on its own
As a development helper, add a kconfig option to
automatically start the MCU this Zephyr image is built
for during HW boot, even if in other circumstances
this MCU would not start automatically (for ex. because
another core is meant to release its reset).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
af00bd8cb1 nrf_bsim: Handle test options for N MCUs
Handle test options for N MCUs instead of just 1.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
4fd9ffb995 boards nrf52_bsim: Rename folder to nrf_bsim
As we will now we having more nrf5*_bsim boards defined in this
same folder, the old folder names became missleading.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
f0a09a3f10 nrf52_bsim: bstest options: Prepend options with mcu number
To allow knowing for which MCU are the options,
prepend them with the MCU number.
The primary/preferred MCU will also keep an alias to the
old options (without the cpu<n>_ prefix)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
ddea15fbe1 nrf52_bsim: Rename the native simulator hooks appropriately
Each MCU hooks need to be named according to its MCU number.
Rename the hooks appropriately.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
6e30d10c09 native SOC: Rename option NATIVE_SIMULATOR_CPU_N to MCU_N
To be more accurate, as this option represents a microcontroller
number, not a CPU number.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 16:21:43 +03:00
Alberto Escolar Piedras
48f70eba2b Bluetooth: Controller: Fix clang warning on ull
Fix a clang warning
ull.c:1235: warning: use of bitwise '|' with boolean operands

The result of ({1/0} &&(int)) is either true(1) or false(0),
not the int and therefore bm is not a bitmask, but just true(1)
or false(0) all together.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 15:07:34 +02:00
Jamie McCrae
636c4ab796 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  bf8cf46b348eb8c8c10a1f1e4a7c24cdef52acf0

Brings following Zephyr relevant fixes:
 - 2929a975 bootutil: Show error if flash area open fails

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-29 14:45:53 +02:00
Vinayak Kariappa Chettimada
303ce143c2 Bluetooth: Controller: Fix regression in Adv PDU overflow calculation
Fix regression in Adv PDU payload length overflow
calculation.

Regression in commit de8c19da5e ("Bluetooth: controller:
Handle fragmented AD without chaining PDUs").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-29 15:41:14 +03:00
Pawel Osypiuk
7bc93a62b8 drivers: bluetooth: rpmsg: implement .close()
Add .close() implementation for the HCI RPMsg driver.

When running on the nRF5340 application core, it will power-cycle the
network core.

Signed-off-by: Pawel Osypiuk <pawelosyp@gmail.com>
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-09-29 13:53:13 +02:00
Henrik Lindblom
1f65c9be87 samples: modbus: add user function code example
Demonstrate user function codes with a simple example with a user defined
fc that maps to a function that just increments a counter every time it's
read.

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2023-09-29 13:05:42 +02:00
Henrik Lindblom
01757cfd32 modbus: add support for defining custom functions
Enables support for custom function codes. Modbus specification allows
vendor specific function codes in the range 65-72 & 100-110 [1] and this
feature allows users to implement custom logic for those codes.
Additionally, since the Zephyr Modbus stack doesn't implement all defined
Modbus fcs this feature allows users to add support for codes outside the
basic register reading / writing functionality offered by Zephyr.

Custom function codes can be added on a per-interface basis and the handler
structures are allocated by the caller.

[1]: https://modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2023-09-29 13:05:42 +02:00
Flavio Ceolin
121d051c9a kernel: fatal: Remove redundant function
We don't need re-implement a function to get the current cpu.
Simply use _current_cpu that even contains additional sanity checks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-29 13:05:13 +02:00
Flavio Ceolin
711c17182f kernel: s/k_current_get/_current
Running inside kernel we can use _current instead of
k_current_get that can lead to additional function call
checks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-29 13:05:13 +02:00
Emil Gydesen
1442a6cf5b tests: bsim: Bluetooth: Remove bsim testing of broadcast create inval
Removing the babblesim testing of the invalid parameters for
bt_bap_broadcast_source_create as they are now done in a unit
test instead.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 12:59:54 +02:00
Emil Gydesen
638316cbb5 tests: Bluetooth: Add inval test of bt_bap_broadcast_source_create
Add unit tests that tests invalid parameters for the
bt_bap_broadcast_source_create function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 12:59:54 +02:00
Emil Gydesen
62787bd208 tests: bsim: Bluetooth: Remove broadcast_source_delete_inval
Removed the tests for invalid bt_bap_broadcast_source_delete
parameters and state, as those tests now implemented as unit tests.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 12:59:41 +02:00
Emil Gydesen
bc6962b755 tests: Bluetooth: Add inval testing of bt_bap_broadcast_source_delete
Add invalid parameter and state testing of
bt_bap_broadcast_source_delete

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 12:59:41 +02:00
Evgeniy Paltsev
5133f62523 doc: twister: add chapter about managing tests timeouts
Document timeout_multiplier board.yaml option and
--timeout-multiplier twister option.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-29 12:59:31 +02:00
Evgeniy Paltsev
80d2872a41 twister: introduce twister-level timeout multiplier
Twister allows us to control maximum execution time for each test
with timeout value in test's .yaml configuration and
platform level timeout multiplier which allows us to tweak
timeout value for specific platform.

However, sometimes we want to additionally adjust tests timeouts
when running twister. This is especially useful in case of
simulation platform as simulation time may depend on the host
speed & load, we may select different (i.e. cycle accurate but
slower one) simulation method, etc...

Let's introduce global (twister-level) timeout multiplier option.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-29 12:59:31 +02:00
Evgeniy Paltsev
c2de739f1f twister: tests: handler: fix incorrect timeout mock
There is clearly an issue with current timeout value
timeout into mocked_instance as this value is used only
once before this mock happen, so this mock is actually useless
and we always use default value. Fix that.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-29 12:59:31 +02:00
Jeppe Odgaard
a2f1e6222e samples: led_ws2812: adjustable led update delay
Add a Kconfig option to adjust update frequency of the LED strip.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-09-29 12:59:04 +02:00
Wilfried Chauveau
8e1b9b38f2 MAINTAINERS: Adding ithinuel as Arm collaborator
Add myself as collaborator of Arm platforms

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-09-29 11:57:35 +02:00
Bernt Johan Damslora
9eac29d532 drivers: sensor: npm1300_charger: Correct temperature order of magnitude
Changes the interpreted unit of the threshold temperatures to match the
description (millidegrees).

Signed-off-by: Bernt Johan Damslora <Bernt.Damslora@nordicsemi.no>
2023-09-29 11:57:23 +02:00
Guillaume Gautier
04de62d56d tests: drivers: adc: adc_api: add nucleo u5a5zj-q board
Add Nucleo U5A5ZJ-Q board to the list of supported boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:34:33 +02:00
Guillaume Gautier
504bf0760e tests: drivers: dac: dac_api: add nucleo u5a5zj-q board
Add Nucleo U5A5ZJ-Q board to the list of supported boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:34:33 +02:00
Guillaume Gautier
f2fa77a3e3 boards: arm: nucleo_u5a5zj_q: add nucleo u5a5zj q board
Add support for Nucleo U5A5ZJ Q board.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:34:33 +02:00
Guillaume Gautier
6f76e0dcf8 soc: arm: st_stm32: stm32u5: add stm32u5a5 soc
Add STM32U5A5 SOC

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:34:33 +02:00
Guillaume Gautier
c2175e9ed5 dts: arm: st: u5: add stm32u5a5 dtsi
Add STM32U5A5 dtsi.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:34:33 +02:00
Guillaume Gautier
950fba73ee dts: arm: st: u5: add missing compatibles for stm32u595 and u599
Add missing compatibles for STM32U595 and STM32U599.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:34:33 +02:00
Wilfried Chauveau
0781a86862 arch: arm: cortex_m: enable armv8m.baseline to use BASEPRI based irq lock
This allows for armv8m.baseline cores to rely on BASEPRI based interrupt
masking and share the same code as v7m and v8m.mainline.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-09-29 10:34:20 +02:00
Wilfried Chauveau
8fe6150e0c arch: arm: cortex_m: restrict usage of atomic_operations_c for Cortex-m0/+
Armv8-m baseline support various instruction carrying exclusive-monitor and
acquire-release semantic. By adding this guard we let armv8-m.baseline
fall-back to arch defined or compiler built-in support for atomic
operations.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-09-29 10:34:20 +02:00
Jukka Rissanen
6661f05daf net: ppp: Mark the PPP L2 as non-experimental
The experimental status of the PPP L2 is long overdue so
it can be removed as the component is working fine.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-29 10:33:50 +02:00
Guillaume Gautier
85fa6746de drivers: clock_control: stm32u5: enable backup access before enabling lsi
LSI needs write access to backup domain to be enabled.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:33:42 +02:00
Krzysztof Chruściński
72ec6ce4db logging: Fix _LOG_LEVEL_RESOLVE macro for LOG_LEVEL case
Z_LOG_EVAL returns 1 for non-zero log level so if LOG_LEVEL was 0
with intention to disable logs in the current module Z_LOG_EVAL was
jumping to the second option and was applying default logging level.
Since LOG_LEVEL set to 0 should also lead to evaluation of LOG_LEVEL
COND_CODE_0 is added.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-09-29 09:48:57 +02:00
Krzysztof Chruściński
6b7c8ae1b3 logging: log_output: Minor code cleanup
Z_LOG_EVAL was used in place where COND_CODE_1 was a much
better fit. Z_LOG_EVAL gave the same result but it was not
intended to be used here.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-09-29 09:48:57 +02:00
Krzysztof Chruściński
a52e92a148 Revert "logging: Fix case when LOG_LEVEL is 0"
This reverts commit bd428663e9.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-09-29 09:48:57 +02:00
Armin Brauns
9727f61371 logging: return actual filter level when runtime filter is disabled
log_filter_set() is defined to return the actual level that was set by the
call. In case runtime filtering is disabled, this is always the compiled-in
log level, not the level passed by the user.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-09-29 09:48:49 +02:00
Wouter Horré
3bc531e9c6 drivers: i2c: stm32: Support wakeup from STOP
This commit adds support for wakeup from STOP mode when the i2c device is
configured as a target.

Signed-off-by: Wouter Horré <wouter@versasense.com>
2023-09-29 09:48:04 +02:00
Dat Nguyen Duy
f2ddadf3a0 boards: mr_canhubk3: enable dma for automation testing
Enable dma for automation testing

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-29 09:47:57 +02:00
Dat Nguyen Duy
d4cab4474b tests: drivers: uart_async_api: enable test for mr_canhubk3
Run this test on lpuart10 with internal loopback enabled.
Use DTCM region for this test because in some local
variables are used for dma buffer which requires
non-cacheable

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-29 09:47:57 +02:00
Dat Nguyen Duy
c67de647fb boards: mr_canhubk3: configuring DMA for LPUART
Assign DMA channels/sources for all LPUARTs exist on the
board so that async APIs can be used for all instances
when enabled.

Because LPUART 1 & 9, LPUART 2 & 10 share the same DMA
sources for TX and RX, be aware when using async APIs
for those instances.

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-29 09:47:57 +02:00
Stefan Petersen
58ca047fa7 dts: stm32h7: flash-controller: Add default STM32 as compatible
Add "st,stm32-flash-controller" as compatible for STM32H7 so that
what is defined for STM32 in general  is also defined for STM32H7.
Already most of the other STM32 versions have this addition.

Also removed the specific STM32H7 flag check in
/flash/driver/Kconfig.stm32.

Signed-off-by: Stefan Petersen <spe@ciellt.se>
2023-09-29 09:47:46 +02:00
Manuel Argüelles
fcdf31521f tests: counter: enable RTU.PIT tests for s32z270dc2_r52 boards
Enable testing RTU.PIT on s32z270dc2_r52 boards.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-29 09:47:35 +02:00
Manuel Argüelles
d212e50eaf soc: nxp_s32: enable RTU.PIT timers for S32ZE
Each RTU includes one PIT instance that can be used by any
of the cores.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-29 09:47:35 +02:00
Maureen Helm
d5287578fe dts: bindings: boards: Update Ethernet PHY to use reg property
Updates Ethernet PHY devicetree bindings to be more consistent with
Linux by using the standard `reg` property for the PHY address instead
of a custom `address` property. As a result, MDIO controller bindings
now require standard `#address-cells` and `#size-cells` properties.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-09-29 09:47:15 +02:00
Maureen Helm
ce42ffcce0 dts: boards: Use ethernet-phy devicetree node name consistently
Some Ethernet PHYs used the devicetree node name `phy`, while others
used `ethernet-phy`. Be consistent and use `ethernet-phy` throughout.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-09-29 09:47:15 +02:00
Guillaume Gautier
e8e5d5554c drivers: adc: stm32: reset acquisition time between reads
For all STM32 ADC that use common sampling times, there is a check made to
ensure that all channels of a sequence use the same sampling time.
The value was not reset between reads, resulting in error if two
consecutive sequences used different values.
This commit adds a reset of this value once read is done.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 09:47:07 +02:00
Emil Gydesen
5656c23243 Bluetooth: Audio: Add codec_cfg_set_octets_per_frame
Add the bt_audio_codec_cfg_set_octets_per_frame function
to set or add the octets per frame field in the
codec configuration.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 09:46:58 +02:00
Yong Cong Sin
8cd64fd791 drivers: gpio: sifive: use Kconfig to convert between levels
The number of IRQ first level bits is not necessarily 8 bits
now, so use `CONFIG_1ST_LEVEL_INTERRUPT_BITS` instead of
hardcoded value.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-09-29 09:46:24 +02:00
Emil Gydesen
8ab3fbf570 Bluetooth: Audio: Split bt_audio_codec_meta_get to cfg and cap
Split the bt_audio_codec_meta_get functions to cfg and cap
variants. This provides a more explicit API where users
do not need to dereference their cfg/cap structs in order
to use this functions.

Furthermore this will also make the get functions more
similar to the upcoming set functions, where the set functions
will require the use of the cfg and cap structs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-29 09:46:15 +02:00
Armando Visconti
1c67228428 dts: stm32: stm32u5: Add sdmmc1 and sdmmc2 configuration
Provide the soc configuration for sdmmc1 and sdmmc2 controllers.
This includes registers address, clocks, resets and interrupt line
details.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-09-29 09:46:08 +02:00
Benjamin Perseghetti
f19b8f2c1d soc: nxp_rt11xx: fix missing unique PWM name.
Adds missing PWM unique device name.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-09-29 09:45:57 +02:00
Armin Brauns
4c8866243d bluetooth: disable BT_ATT_ENFORCE_FLOW for BlueNRG devices
The firmware on these devices seems to have a bug that can cause reordering
of received packets. This can lead to new GATT requests being received
before the acknowledgement of the previous GATT response, accompanied by
log messages like the following:

<wrn> bt_att: bt_att_recv: Ignoring unexpected request

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-09-29 09:45:48 +02:00
Carles Cufi
f39944933d dts: arm: nordic: Add support for ieee802154 in the nRF52820 radio
The nRF52820 radio peripheral supports IEEE 802.15.4, add the required
property and node to reflect this.

See
https://infocenter.nordicsemi.com/topic/ps_nrf52820/radio.html?cp=5_3_0_5_11

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-29 09:44:00 +02:00
Alberto Escolar Piedras
d1ada164a4 nrf_hw_models: Update HW models to latest and align with them
* In Zephyr:
  * The HW models now include N fake timers, and N
  bst timers.
  The embedded code needs to target the one for its
  CPU specifically.

* Update the HW models module to
  f4595802d32d103718bf50b3d390b7a450895843

  Including the following:
  * f459580 TEMP & ECB: Fix INTEN sideeffect prototypes
  * 50c2abe nrfx_common: Fix build error with clang
  * 5f0ae29 FICR: Add nrf53 variants
  * 82ee9bd DPPI: On initialization, set all registers to their reset value
  * 1472c34 NVMC & UICR: Readied for nrf53
  * f425c08 NVMC & UICR: Refactor
  * 3a4cfc2 RADIO: Parametrize ED_RSSIOFFS
  * a20e9fc nrfx_get_irq_number() Add missing CCM peripheral for nrf5340net
  * c199715 DPPI: Bugfix
  * 93806ac Zephyr cmake: Align with nrf53 board rename
  * 51f26a3 VREQCTRL: Add register stub and definitions for nrf53
  * 802e0cf RADIO: Switch to level interrupts, readied for nrf53
  * 49bcea2 Templates: Added shortcut check & event signaling version for s
  * a880cd6 Template: Move static out of signal handler definition
  * 709f82b TEMP: Switched to level interrupts, readied for nrf53
  * 6ef0069 AES_CCM: Switched to level interrupts, readied for nrf53
  * eaa89da RNG: Use common templates
  * 75a6cb4 AAR: Switched to level interrupts, readied for nrf53
  * fbf58f3 AES_ECB: Switched to level interrupts, readied for nrf53
  * d084647 RNG: Bugfix in STOP subscription
  * 8007318 Templates: Added template code for the most common models logic
  * bab6a54 int ctrl: Added new API
  * daaaaa0 config: Fix nrf53 Net core EGU instance HAL mapping
  * 54570a0 nrf5340 RTC int mapping fix
  * 043af26 nrfx_common: Provide nrfx_get_irq_number() for 5340 cores
  * ecd7b9b SWI: Add SWI pseudo peripheral
  * a70c73b CLOCK: Add missing TASK sideeffecting prototypes, and fix typo
  * 56c7581 nrf5340: Split HAL files in net and app sets
  * 3892d3e Add API to get the MCUs/domains names
  * 8f485bc RADIO: Prevent clang build warning
  * 5aac1c2 hal: Build weak version of the HAL for the 53 series also
  * f18422d standalone nrfx_config: Provide needed definitions for nrf53
  * 4015d5a nrfx_glue_bsim: Provide 2 trivial definitions for standalone bu
  * 4af80d5 cmsis stubs: Provide trivial macro to replace ISB
  * b6c2769 cmsis replacements: Fix for other Zephyr bsim targets
  * 8316930 zephyr CMakefile: Set HAL version based on Kconfig
  * 4404106 RNG: Rename functions to match new naming convention
  * a3dbb38 RTC: Rename functions to match new naming convention
  * 886dc73 CLOCK: Rename functions to match new naming convention
  * bcb2b99 EGU: Rename functions to match new naming convention
  * 50af67e TIMER: Rename functions to match new naming convention
  * 8120224 CLOCK/POWER/RESET: Add DPPI connections, generalize to N instan
  * 450337c RTC: Add DPPI connection, nrf53 support and new functionality
  * 2918ce6 DPPI common subscription: Minor API change
  * ec1c2a7 TIMER: Add DPPI connection, nrf53 support and functionality
  * e6f9860 EGU: Add DPPI connection, nrf53 support and generalize
  * c8a4368 bst_ticker: Generalize to N instances
  * 093deee fake timer: Generalize to N instances
  * 302da8d DPPI: Typo fix

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 10:42:29 +03:00
Alberto Escolar Piedras
0a8500e79f manifest: hal_nordic: Update to enable 15.4 on simulated nrf53
Take in a minor fix necessary to run 15.4 on the
incoming simulated nrf53 targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 09:57:46 +03:00
Alberto Escolar Piedras
536aee1e1a native soc: Add option to pass extra images to native simulator build
Add a new kconfig option to be able to pass extra images to the
native simulator build.
So one can, for ex., use one application build to produce one core image,
and at the same time have it produce the final link with the native
simulator runner and the other MCU images.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 08:50:52 +02:00
Alberto Escolar Piedras
9fea8f5f6b native boards: AMP fix: localize the CONFIG_ symbols
The Zephyr build leaves all kconfig options as absolute symbols
in the image. This need to be localized, otherwise they will
appear as duplicates with other Zephyr images.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 08:50:52 +02:00
Alberto Escolar Piedras
dd29dffca4 native SOC: Add option to define how many MCUs a SOC has
Add a new Kconfig option to define how many MCUs a SOC has

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 08:50:52 +02:00
Alberto Escolar Piedras
c7f85e6ee9 native SOC: Add option to select the primary MCU
Add a new kconfig option to select which is the
preffered embedded MCU.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-29 08:50:52 +02:00
Yong Cong Sin
f5fbaa18a3 tests: build_all: plic: relocate and cleanup
The test is for intc_plic only, so move them into the
intc_plic folder.

Also cleaned up the testcase.yaml a bit while I'm at it

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-09-29 01:26:52 -04:00
Robert Lubos
815e7a1e34 samples: net: sockets: socketpair: Replace integration platform
mps2_an385 was excluded from networking tests, therefore can no longer
be used as an integration platform. Replace it with qemu_x86.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 17:29:00 -04:00
Robert Lubos
6a3612666e boards: mps2_an385: Exclude platform from networking tests
The platform is known for having unstable system timer with networking
enabled (see https://github.com/zephyrproject-rtos/zephyr/issues/48608)
causing occasional failures of time-sensitive networking testsuties
(TLS, now DHCPv6). Instead of excluding the platform on per-test basis,
just exclude the platform from networking testing globally.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 17:29:00 -04:00
Daniel Leung
d47b1c05f3 kernel: userspace: add k_object_is_valid()
This adds a function k_object_is_valid() to check if a kernel
object exists, of certain type, and has been initialized.
This replaces the same (or very similar) code that has been
copied from kernel into the network subsystem.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-28 17:28:43 -04:00
Bjarki Arge Andreasen
cc219c0132 drivers: serial: serial_test.c: Patch 64-bit incompat
The serial_test.c driver uses size_t to store read_size,
which becomes a 64-bit type when built for 64-bit
architectures. This is incompatible with the print
format %d which is 32-bit. Updated to %zd

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-09-28 16:38:30 -04:00
Bjarki Arge Andreasen
b054d162f2 tests: drivers: modem: Specify targets for cellular
Many boards do not build properly if UART_ASYNC_API
is enabled, which is causing an overly large list
of targets to exclude for the
build_all.modem.modem_cellular.build test suite.

This commit instead specifies 4 emulated boards, two
of 32-bit, two of 64-bit instead.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-09-28 16:38:30 -04:00
Bjarki Arge Andreasen
d118d19293 drivers: serial: serial_test: Move ring buf dep to Kconfig
This commit moves the dependency management between the
RING_BUFFER and UART_ASYNC_API or UART_INTERRUPT_DRIVEN
options to the Kconfig Kconfig.test.

If either UART API options listed are selected, the
RING_BUFFER option must be selected. This is now handled
automatically by Kconfig instead of causing a build
assert.

The asserts where added with this PR #59880, and are
removed in this commit.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-09-28 16:38:30 -04:00
Bjarki Arge Andreasen
ebd6681589 drivers: serial: serial_test: Patch irq_isr set to undefined
This commit fixes an error where the irq_isr callback is set
to an undefined variable instead of NULL.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-09-28 16:38:30 -04:00
Bjarki Arge Andreasen
7fb10c82cc tests: build_all: modem: Patch dependencies preventing build
Some dependencies where missing from the build_all test
for the modem_cellular.c driver. These have been added.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-09-28 16:38:30 -04:00
Benjamin Cabé
79674debcb samples: bindesc: doc: Describe sample using zephyr:code-sample
Describe the code sample using zephyr:code-sample directive to help
with making it easier to find from API reference.
Also cross-referenced main bindesc page from the sample.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-28 23:04:47 +03:00
Yonatan Schachter
66c4cef240 west_commands: bindesc: Fixed crash when no sub-command is given
The west bindesc command currently crashes when no subcommand is
given. This is because the subcommand was not marked as required.
This commit fixes the issue.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 23:04:47 +03:00
Yonatan Schachter
f4e2a669eb samples: hello_bindesc: Improved README.md
Improved the README.md of the hello_bindesc sample by adding a
note about non existing bin files and referencing the relevant
parts of the documentation.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 23:04:47 +03:00
Yonatan Schachter
0bc277b7a0 release-notes: Added binary descriptors
Added binary descriptors to the release notes, under
"Libraries / Subsystems".

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 23:04:47 +03:00
Yonatan Schachter
3a4a82bb58 MAINTAINERS.yml: Add entry for bindesc
Add a MAINTAINERS.yml entry for binary descriptors, with yonsch
as maintainer.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 23:04:47 +03:00
Carles Cufi
2d38c095a6 west: runners: Add support for a common --reset argument
Some of the runners in the tree have been adding their own,
class-specific versions of a switch to instruct the runner to reset or
not the device after flashing.

In order to better support multi-image builds that require more than one
flash operation, introduce a new --reset,--no-reset command-line
parameter that is part of the RunnerCaps so taht this functionality can
be accessed in a standardized manner.

Implementations for the new parameter are provided for the runner
classes that were already configurable in this regard.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-28 11:08:25 -07:00
Jeroen Reeskamp
1134245ac9 sensors: lsm6dso: Values now match better with the ODR values.
Values are specified in the datasheet(page 30, table 18).
Values match with values defined in lsm6dso-common.yaml

Signed-off-by: Jeroen Reeskamp <jeroen.reeskamp@vention.nl>
2023-09-28 12:21:54 -05:00
Henrik Brix Andersen
ddd2b490b0 doc: releases: update v3.5 migration guide with changes in CAN timing
Update the migration guide for v3.5 to mention the changes related to
setting CAN timing.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-28 16:28:56 +02:00
Henrik Brix Andersen
9783ed56d9 dts: bindings: can: deprecate the sjw and sjw-data properties
Update the descriptions for the various CAN devicetree timing properties
specified in Time Quanta (TQ) to make it clear that these, if present, are
only used for the initial timing parameters.

Deprecate the (Re-)Synchronization Jump Width (SJW) devicetree properties
for both arbitration and data phase timing as these are now only used in
combination with the other TQ-based CAN timing properties, which are all
deprecated.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-28 16:28:56 +02:00
Henrik Brix Andersen
a9d3935fa0 drivers: can: solely use sjw from devicetree for initial timing
Update the CAN controller drivers to solely use the sjw and sjw-data
devicetree properties for setting the initial timing when devicetree timing
parameters are specified in Time Quanta (TQ).

Any timing set via the CAN timing APIs will contain either user-provided or
automatically calculated SJW values. This includes any timing parameters
calculated from bus-speed and bus-speed-data devicetree properties.

Update the CAN controller driver tests accordingly and remove the
CAN_SJW_NO_CHANGE definition as it has lost its meaning.

Fixes: #63033

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-28 16:28:56 +02:00
Henrik Brix Andersen
e397b85eb8 drivers: can: calculate a default SJW value
Change the CAN timing calculation APIs to automatically calculate a default
(Re-)Synchronization Jump Width (SJW) value. The calculated value can be
overwritten by the caller if desired.

This allows automatically scaling the SJW according to the number of Time
Quanta (TQ) used for phase segment 2 instead of relying on a compile-time
fallback value defined in devicetree.

This reduces the can_set_timing()/can_set_timing_data() API functions to
simple setters (with validation).

Fixes: #63033

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-28 16:28:56 +02:00
Dominik Ermel
e48354455a mgmt/MCUmgr/grp/os: Add booloader info support
Adds command allowing to query information on bootloader.
In this case support is provided to query MCUboot information.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-28 16:27:45 +02:00
Dominik Ermel
7668b4fbb3 doc/services/device_mgmt: Bootloader info request definition
Specification for MCUmgr OS group command allowing to query
for bootloader information.
Provide information on supported MCUboot parameters query by MCUmgr
group OS.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-28 16:27:45 +02:00
Dominik Ermel
83d69f50ad doc/release-notes: MCUboot overwrite mode Kconfig info
Note on CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-28 16:27:45 +02:00
Dominik Ermel
5d28fdea63 modules/MCUboot: Add overwrite mode for MCUboot
Add MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY mode.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-28 16:27:45 +02:00
Daniel Leung
9686f6e000 kernel: do not expose z_tls_current in kernel.h
This moves the declaration of z_tls_current inside
k_current_get() so it will not be exposed as a public
variable.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-28 16:15:46 +02:00
Daniel Leung
0a50ff366e kernel: rename z_current_get() to k_sched_current_thread_query()
The original idea of z_current_get() was to be the counterpart
of k_current_get() when thread local variable for current has
not been initialized if TLS is enabled, otherwise they are
the same function. Now since z_current_get() is being used
outside of core kernel, rename it under kernel namespace so
other subsystem can conceptually use them too.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-28 16:15:46 +02:00
Keith Packard
41e8b44619 kernel: Make thread 'init_delay' k_timeout_t rather than int msecs
Storing this value in milliseconds rather than using k_timeout_t requires
the system to perform division at runtime to convert types. This pulls in
the 64-bit soft division code on platforms without hardware for this.

Perform the conversion at build time instead by using the runtime time
directly.

The init_delay field was moved within the _static_thread_data structure to
avoid introducing a hole for alignment on 32-bit systems when using 64-bit
timeouts.

Use SYS_TIMEOUT_MS instead of K_MSEC so that the initial delay can be set
to forever.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-28 16:15:27 +02:00
Keith Packard
477bf558de west: Pull in espressif linker alignment fix
This PR fixes the espressif esptool to deal with ELF section alignment
which would otherwise create holes in the resulting binary.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-28 16:15:27 +02:00
Keith Packard
4269bbc4ea test/kernel: Adjust timer test to deal with time_units macros
All of the time_units conversion routines are now macros which means the
test cannot reference them as functions. Instead, create local static
functions which call each one of them and use those instead.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-28 16:15:27 +02:00
Keith Packard
9c47239264 sys/time_units.h: Make SYS_TIMEOUT_MS usable as constant initializer
To make this macro usable as an initializer for static or global data, it
cannot have struct values within the expression, instead it must compute
the tick value as a primitive value and then wrap that in the struct as the
final step.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-28 16:15:27 +02:00
Keith Packard
8f5d0791bf sys/time_units.h: Convert time conversion to macros
The intent of this patch is to leave all of the semantics of the macros
unchanged, only replacing the easy-to-read static inline conversion
function with a pile of ?: operators.

Ick. This is not a cleanup. However, what it does enable is using constant
results while initializing global variables, which cannot be done with
either static inline functions or even statement expressions, even when
those generate constant results.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-28 16:15:27 +02:00
Grant Ramsay
a8497c5216 kernel: msg_q: Remove alignment requirements from message queue docs
Alignment of the message queue's ring buffer is not necessary.
The underlying implementation uses memcpy (which is
alignment-agnostic) and does not expose any internal pointers

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-09-28 16:14:56 +02:00
Benjamin Cabé
a46f1b9c33 kernel: Fix unused-parameter warnings
Add missing ARG_UNUSED where needed.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-28 16:14:39 +02:00
Mulin Chao
21d7c2db6d drivers: sensor: npcx: fix debug message when port B is captured
Fix wrong debug message when port B of tachometer is captured.

Signed-off-by: Evan Chang <MCCHANG1@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-09-28 09:08:29 -05:00
Andrei Emeltchenko
9e6960fe90 boards: x86: Indicate smp support for ADL and EHL boards
Indicate SMP support to be able to run related tests on the boards.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-28 15:46:07 +02:00
Andrei Emeltchenko
bf4dc31015 tests: spinlock: Make local functions static
Make local functions static.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-28 15:46:07 +02:00
Andrei Emeltchenko
a3959af4f5 tests: spinlock: Increase thread execution to prevent quick exit
On Intel boards (like intel_ehl_crb and intel_rpl_s_crb) for the
trylock_test some part is executed very fast and since there is no
synchronization, there might be situation when there is no
trylock_failures. Increasing time spend in this part fixes the issue.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-28 15:46:07 +02:00
Jordan Yates
2b92598df1 net: wifi: re-add WIFI_MGMT_FORCED_PASSIVE_SCAN
Re-add the `WIFI_MGMT_FORCED_PASSIVE_SCAN` option removed in #62751.
Now that `struct wifi_scan_params` is a reasonable size, we can enforce
the passive scan request even when no parameter struct is supplied by
the user.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-28 15:44:01 +02:00
Jordan Yates
3b7237e6cd net: wifi: shell: update SSID argument format
Instead of providing a comma seperated list of SSIDs, provide the SSIDs
individually. This substantially simplifies the implementation.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-28 15:44:01 +02:00
Jordan Yates
a32e7aaa10 net: wifi_mgmt: update SSID storage type
Update the storage type of the SSID strings to pointers to the strings,
instead of needing to copy the strings into the struct. This
substantially reduces the parameter struct size.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-28 15:44:01 +02:00
Dominik Ermel
1f3605de21 drivers/flash/nrf: Workaround for nrf91 errata 7
Fix UICR read access.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-28 15:33:52 +02:00
Emil Gydesen
cc5766bc4b tests: Bluetooth: Fix for btp_bap broadcast create/reconfig
This updates the struct name for the create parameter,
and fixes the call to reconfig.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 15:31:30 +02:00
Juha Ylinen
3ffa1d5550 net: coap: Fix coap client timeout
Fix bug in timeout_expired() function. Coap client was resending
pending messages after 500 ms (COAP_PERIODIC_TIMEOUT) and didn't
wait for retransmission timeout.

Use 64-bit k_uptime_get()

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-09-28 15:18:12 +02:00
Robert Lubos
e836427f97 tests: net: socket: reuseaddr_reuseport: Fix userspace testing
net_context_foreach() is not a systemcall, therefore should not be used
from userspace threads. Usage of this API made SO_REUSADDR/SO_REUSEPORT
userspace tests unfunctional (crashing).

Fix this by using CONFIG_NET_TCP_TIME_WAIT_DELAY instead for tests that
involve TCP connections. Other tests don't really need to wait as
there's no teardown delay on UDP or unconnected TCP contexts.

Additionally, remove the platform exclude for qemu_x86 platform, as this
was the sole reason the tests were crashing on that platform.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 15:15:44 +02:00
Florian Grandel
e63969521c doc: ieee802154: mgmt: improved docs
Hides types in the IEEE 802.15.4 net_mgmt sub-API that are of no public
interest and improves documentation of the remainder.

All constants that are not meant to be used by applications have been
hidden. Only the API actually being of relevance to application
developers is now publicly visible and documented.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-28 15:13:12 +02:00
Florian Grandel
c315d13102 doc: ieee802154: driver: improved docs
Hides types in the IEEE 802.15.4 driver sub-API that are of no public
interest and improves documentation of the remainder.

Apart from extending and clarifying many details of the driver API, this
change also specifies certain formal properties of API calls, such as
"sleeps" or "isr-ok". Plus it removes semantic ambivalence that had been
resolved and hidden in existing implementation details but is highly
relevant to the way the API can be used and shall be implemented.

As far as possible this change introduces formal requirements language
(MAY, SHALL/MUST, SHOULD) to specify driver implementation requirements.

This change also introduces two definitions - for the moment being of
purely documentary relevance (i.e. to be referred in the documentation):
* IEEE802154_CONFIG_RX_SLOT_NONE
* IEEE802154_CONFIG_RX_SLOT_OFF

These "magic" values are required to clarify the exact semantics of RX
slots as to receiver activity.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-28 15:13:12 +02:00
Florian Grandel
bd038fc743 doc: ieee802154: l2: improved docs
Hides types used in the IEEE 802.15.4 L2 sub-API and L2-internal APIs
that are of no public interest and improves documentation of the
remainder.

The changes are mostly minor as the API documentation had already been
improved and clarified in previous changes. Also includes non-visible
documentation to the subsystem-internal Frame API by adding references
to the specification.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-28 15:13:12 +02:00
Florian Grandel
9864d03c6e doc: openthread: integrate ot/ieee802154 docs
Integrates and cross-references OpenThread and native IEEE 802.15.4 docs
as they share a common driver layer.

While OpenThread is of course not an IEEE 802.15.4 subsystem API it is
still included in the ieee802154 documentation group, purely for
convenience to the documentation readers.

For organizational purposes OT is considered a separate area of
maintenance and therefore keeps its dedicated documentation page - but
the two subsystems now cross-reference each other for convenience.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-28 15:13:12 +02:00
Florian Grandel
80fc350849 doc: ieee802154: improved API documentation structure
Improves the API documentation including it's structure and integration
into the Zephyr documentation.

Previously the API status of the IEEE 802.15.4 API (and its sub-APIs)
was unclear.

This change adds three APIs in an "unstable" state:
- IEEE 802.15.4 L2 for subsystem developers
- IEEE 802.15.4 drivers for driver developers
- IEEE 802.15.4 net_mgmt for application developers

The corresponding APIs are documented at a group level.

These sub-APIs need to be separately versioned as they have different
audiences, change velocities and levels of stability.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-28 15:13:12 +02:00
Florian Grandel
0fad581211 doc: connectivity/networking/utils: minor fixes
Fixes bugs in USB and DSA group titles (networking) and a minor bug in
sys/utils.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-28 15:13:12 +02:00
Georges Oates_Larsen
034f0fca93 MAINTAINERS: Update maintainers/codeowners for conn_mgr docs
conn_mgr now has docs, so add them to the maintainers/codeowners files.

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2023-09-28 15:11:14 +02:00
Georges Oates_Larsen
98a506f341 net: conn_mgr: Write documentation
Write documentation for conn_mgr and its subsystems, especially
guidelines for writing connectivity implementations

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2023-09-28 15:11:14 +02:00
Georges Oates_Larsen
fe61d65b2e net: conn_mgr: Fix connectivity event enum type
Connectivity event enum type was erroneously named
net_event_ethernet_cmd.

This PR corrects the name to net_event_conn_cmd.

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2023-09-28 15:11:14 +02:00
Gerard Marull-Paretas
c9686e18b6 dts: bindings: nxp,kinetis-*: do not re-specify pinctrl-0 type
It's already defined in pinctrl-device.yaml.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-28 14:46:16 +02:00
Jamie McCrae
86763727f0 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  ae2aeedfe8bb66f7fdddc25271689144d3579959

Brings following Zephyr relevant fixes:
 - 268433e zephyr: Allow user-defined boot serial extensions
 - 50f8b5f bootutil: Add shared data support for XIP with revert
   mode
 - 8d0b35a bootutil: Add mode for XIP with revert

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-28 14:10:56 +02:00
Emil Gydesen
85bb2624bc Bluetooth: Audio: Refactor codec_cfg_get_freq
Refactor the codec_cfg_get_freq function to return the assigned
numbers value, instead of a converted value, but with
support for converting the value.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 14:05:18 +02:00
Erik Brockhoff
551b9afe11 Bluetooth: controller: adding unittest for Central CIS Create
Adding unittests for basic Central CIS Create functionality

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-09-28 14:05:00 +02:00
Erik Brockhoff
1de8a76f58 Bluetooth: controller: adding API for unmasking peer features
For asymetrical features there needs to be a separate mechanism to
unmask features in peer. This must be used in central for unmasking in case
of 'unsupported in peer' condition for CIS Create.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-09-28 14:05:00 +02:00
Erik Brockhoff
730f7caa21 Bluetooth: controller: add missing NTF alloc in central CIS Create
If a CIS create is requested prior to having a complete feature exchange
the central will initiate a feat exch before enqueing the CIS create.
IF then the feature exchange results in peripheral NOT supporting
CIS create the central needs to allocate an RX node for the NTF

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-09-28 14:05:00 +02:00
Alberto Escolar Piedras
25897f8baa tests bluetooth mesh: Fix ASSERT_TRUE/FALSE with messages
The previous ASSERT_TRUE/FALSE macros looked like
they could take extra printf like parameters but did not
(those extra arguments were just dropped).

Define 2 new macros that can take those extra parameters
and fix all uses that intended to print those extra messages.

Also add an extra "\n" as the underlaying print functions
do not add end of lines on their own.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-28 13:43:51 +02:00
Alberto Escolar Piedras
146d025aa0 tests bluetooth mesh: Fix a incorrect assert
This ASSERT_TRUE should have been an assert equal
(ASSERT_TRUE checks that the first paramters != 0)
and the condition was not correct.
Fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-28 13:43:51 +02:00
honglin leng
c4f102fd8b boards: arm64: add support for Raspberry Pi 4 Model B
This is an AArch64 board. We also add BCM2711 SoC support

Signed-off-by: honglin leng <a909204013@gmail.com>
2023-09-28 13:40:45 +02:00
Yonatan Schachter
859be8cb73 tests: bindesc: Added definition tests
Added tests for the bindesc subsystem, testing definition of
binary descriptors on several qemu architectures, and using
several C standards (c99, c11, etc.).

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Yonatan Schachter
726e14e475 doc: bindesc: Add documentation for binary descriptors
Add documentation for binary descriptors under "OS Services"

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Yonatan Schachter
fd5fe8fe10 samples: bindesc: Add hello_bindesc sample
Add the hello_bindesc sample which shows the basic usage of
binary descriptors.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Yonatan Schachter
c42a7dff4d west: commands: Add bindesc command
Added the bindesc command to west, for working with binary
descriptors. Currently it supports dump, list and search
subcommands, for bin, hex, elf and uf2 file types.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Yonatan Schachter
5508b17fb4 bindesc: Add initial support for binary descriptor definition
Binary descriptors are data objects stored at a known location
of a binary image. They can be read by an external tool or image,
and are used mostly for build information: version, build time,
host information, etc.
This commit adds initial support for defining such descriptors.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Yonatan Schachter
a7df77cd99 tests: byteorder: Add tests for sys_uint*_to_array macros
Add tests for sys_uint*_to_array macros to the byteorder suite.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Yonatan Schachter
111b181b14 byteorder: Add macros for converting ints to arrays
Add three macros: sys_uint{16,32,64}_to_array, to convert
integers to byte arrays in a byte order aware manner.
For example, sys_uint16_to_array(0x0123) evaluates to:
{0x01, 0x23} for big endian machines, and {0x23, 0x01} for
little endian machines.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Yonatan Schachter
6e188d9757 arch: Add ARCH_SUPPORTS_ROM_START kconfig symbol
Add an ARCH_SUPPORTS_ROM_START kconfig symbol to mark architectures
that support ROM_START as an argument to zephyr_linker_sources.
This was added so that features relying on this feature could
depend on this kconfig symbol.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Magdalena Kasenberg
efb5c0902b bluetooth: tester: Add support for BAP broadcast
Support for BAP/BSRC and BAP/BSNK test cases.

Add partial support for GAP/PADV as periodic advertising is needed
for BAP/BSRC tests and they can share common code.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-09-28 13:36:46 +02:00
Vinayak Kariappa Chettimada
28ed48cbac Bluetooth: Controller: Fix connected ISO dynamic tx power
Fix connected ISO dynamic tx power support compilation
error.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-28 13:31:40 +02:00
Jonathan Rico
c1baa8282d tests: Bluetooth: Add ATT sequential procedures test
The purpose of this test is to prove that the zephyr host can handle the
behavior described in the Bluetooth Core Specification Vol.3 Part.F
3.3.2 "Sequential protocol".

The host should be able to handle all of those in parallel: one
indication, one write request, multiple commands and multiple
notifications.

The "tester" part had to be written with a "tiny host" implementation
instead of the Zephyr host, as the ZH conflates GATT client and server
and doesn't allow a device to enqueue an ATT request + an ATT indication
on the same bearer.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-09-28 14:21:27 +03:00
Jonathan Rico
7093538c42 Bluetooth: att: don't re-use the ATT buffer for confirmations
If the peer is a zephyr host, there is no problem, as the Zephyr
host limits sending parallel REQs and INDs.

But the spec allows sending those in parallel, and it may end up that
the re-used REQ buffer hasn't been destroyed when an indication comes.

Only re-use the buffer when enqueuing ATT responses.

This means that we may run out of buffers if the peer sends too many
indications and our application also sends a lot of commands/notifications.

The rationale for this is that having to handle a lot of requests is a
more plausible scenario (e.g. being discovered by multiple peers) than
handling lots of parallel indications.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-09-28 14:21:27 +03:00
Vinayak Kariappa Chettimada
3bfeadfa4a Bluetooth: Controller: Fix ULL_HIGH ticker operations count
Fix ULL_HIGH ticker operations count, it is discovered in
new BabbleSim test implementations that mesh tests using
Extended Advertising and Scanning enqueue upto 4 ticker
operations before ULL_LOW ticker_job could process it.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-28 13:21:05 +02:00
Pavel Vasilyev
b7579065f9 tests: bluetooth: tester: Move mesh-1.1 features to a separate conf
This allows to compile mesh tester for 1.0.1 and 1.1 specs sepately.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-28 14:19:03 +03:00
Krzysztof Kopyściński
a8334210c1 tests: Bluetooth: tester: add support for Proxy Solicitation
Adds BTP commands implemantation needed to pass tests for Proxy
Solicitation.

Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Michał Narajowski
2ad0eaa9ab tests: Bluetooth: tester: Add Models Metadata Page 128
Add Models Metadata Page 128 support to tester.

Signed-off-by: Michal Narajowski <michal.narajowski@codecoup.pl>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-28 14:19:03 +03:00
Krzysztof Kopyściński
26e697bd04 tests: Bluetooth: tester: enable Composition Data Page 1
This allows to tests this page using BTP protocol.

Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Krzysztof Kopyściński
7b69f8faf0 Tests: Bluetooth: Tester: Add BTP command to enable Private NID
This allows to advertise beacons with Private Node Identity on demand,
like was available for regular Node Identity.

Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Michal Narajowski
1e5eeb83f4 tests: bluetooth: tester: Add Opcodes Aggregator support
- Add entry for client and server in composition data.
- Add Client commands to aggregate and send messages.

MESH/SR/AGG/BV-02-C requires more key slots.

Signed-off-by: Michal Narajowski <michal.narajowski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Krzysztof Kopyściński
51ec2462d6 Bluetooth: Tester: Add Blob, DFU and DFD tests support
Adding support for automatic testing BLOB, DFU and DFD models.

Co-authored-by: Agata Ponitka <agata.ponitka@codecoup.pl>
Co-authored-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-28 14:19:03 +03:00
Krzysztof Kopyściński
68928e050f Tests: Bluetooth: tester: enable Remote Provisioning
This enables Remote Provisioning in tester application. Adds basic
setup and required structures/functions.

add BTP API for Remote Provisioning Client

This adds BTP commands for RPR Client API.

Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Michał Narajowski
a73727c2fe Bluetooth: tester: Add Transport SAR Configuration models
Add support for testing the new SAR Configuration models in tester
application.

Signed-off-by: Michal Narajowski <michal.narajowski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Michał Narajowski
11bdcb859e tester: Add Large Comp Data models
- Adds Large Comp Data Server and Client
- Defines some dummy metadata for Health Server

Signed-off-by: Michal Narajowski <michal.narajowski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Michał Narajowski
959e55cdc0 Bluetooth: tester: Add ttl param to Model Send CMD
Some test cases require more control over transmission parameters used
when sending access messages.

Signed-off-by: Michal Narajowski <michal.narajowski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Michał Narajowski
0efc66df5e Bluetooth: tester: Use Model Receive testing callback
Send a BTP event to the automation framework that a model message has
been received.

Signed-off-by: Michal Narajowski <michal.narajowski@codecoup.pl>
2023-09-28 14:19:03 +03:00
Emil Gydesen
34c9587539 samples: Bluetooth: Add broadcast sink data validation
Add validation of incoming ISO data for the broadcast sink
sample.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 13:18:07 +02:00
Piotr Narajowski
54126ec4e5 bluetooth: audio: Add API to get VCP service ATT handles
This is needed for upper tester.

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-09-28 13:16:23 +02:00
Piotr Narajowski
8e5898f039 bluetooth: tester: VCP Client tests
Add support for VCP Client tests

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-09-28 13:16:23 +02:00
Emil Gydesen
b470e82a95 tests: bsim: Bluetooth: Remove broadcast_source_reconfigure_inval
Removed the tests for invalid bt_bap_broadcast_source_reconfigure
parameters and state, as those tests now implemented as unit tests.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 13:14:49 +02:00
Emil Gydesen
4ab658be42 tests: Bluetooth: Add inval testing of bt_bap_broadcast_source_reconfigure
Add invalid parameter and state testing of
bt_bap_broadcast_source_reconfigure

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 13:14:49 +02:00
Emil Gydesen
0f9f528214 tests: bsim: Bluetooth: ISO: Add host CIS tests
Add a simple central and peripheral CIS test that
exercises the ISO host API for unicast ISO (CIS).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 13:12:19 +02:00
Emil Gydesen
cbf7312e37 Bluetooth: Controller: ISO: Fix compile issue with unicast
There was a case where TICKER_ID_ADV_AUX_BASE was not available
but was attempted to be used.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 13:12:19 +02:00
Emil Gydesen
c2328a7bc3 Bluetooth: ISO: Fix issue with bt_iso_cig_reconfigure
bt_iso_cig_reconfigure would almost always fail due to invalid
checks that did not take the functioner properly into account.

The CIS provided to bt_iso_cig_reconfigure can now be allocated
beforehand, if the CIG for the CIS is the same as the one being
reconfigured.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-28 13:12:19 +02:00
Aleksander Wasaznik
347ce7aa7f bluetooth: samples: Add hci_uart_async
This sample is an alternative implementation of hci_uart. The new sample
differs from the existing sample in that it uses the async UART API
instead of the interrupt driven API.

Included in this commit is a new test for HCI UART flow control. It's
enabled for hci_uart_async. The test can excercise also the existing
hci_uart sample (with some minimal changes to allow compiling in the
mock controller and test suite). The existing hci_uart sample currently
fails the flow control test.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-09-28 14:07:52 +03:00
Aleksander Wasaznik
4d926ac041 drivers: serial_test: Implement interrupt and async APIs
This allows testing code that uses the UART interrupt-driven API and
UART asynchronous API.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-09-28 14:07:52 +03:00
Aleksander Wasaznik
0e83c66cef dts: bindings: Remove reg from vnd,serial
`vnd,serial` is a virtual device which does not have an address.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-09-28 14:07:52 +03:00
Kapil Bhatt
29bbcb1e38 net: wifi: Move function from shell to mgmt
The CONFIG_NET_L2_WIFI_SHELL isn't always enabled.
But these functions might still be used, so need to
move functions into mgmt.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2023-09-28 12:30:29 +02:00
Anas Nashif
6d23a960db lib: os: build fdtable conditionally
Stop building fdtable by default, make it conditional and build it only
when needed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-28 06:25:16 -04:00
Pieter De Gendt
cf8f92d73e net: lib: mdns_responder: Fallback IPv4/IPv6 address
If an IPv4 address is requested on an IPv6 interface or vice versa
use a sane default fallback address to send the response.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-09-28 10:53:53 +03:00
Vinayak Kariappa Chettimada
1b0cb324f3 Bluetooth: Controller: nRF53: Fix back-to-back PDU chaining
Fix back-to-back PDU chaining using DPPI on nRF53x SoC.
Relates to commit b61bd2364c ("Bluetooth: Controller:
nrf53: Fix back-to-back Tx Rx implementation").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-28 09:35:33 +02:00
Franciszek Zdobylak
60fae8a0aa boards: x86: intel_adl: adjust models and compats
Adjust model names and compats for Intel alder-lake boards. Names are now
consistent with names used in other Intel boards.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-09-28 09:35:16 +02:00
Franciszek Zdobylak
c95026a9ac dts: bindings: rename quicklogic uart binding
Rename filename of binding for quicklogic,usbserialport-s3b to make it
consistent with compatible string.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-09-28 09:35:16 +02:00
Franciszek Zdobylak
510bffde45 boards: x86: Update compats
Update compatible strings of Intel CPUs. Always use dash instead of
underscore.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-09-28 09:35:16 +02:00
Franciszek Zdobylak
5ea64eb9c6 dts: x86: intel: Update compats
Update compatible strings of Intel CPUs. Always use dash instead of
underscore.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-09-28 09:35:16 +02:00
Franciszek Zdobylak
df4d64c15e dts: bindings: Update compats and filenames
Update compatible strings and file names of Intel CPUs. Always use dash
instead of underscore. This will make all the compat strings and binding
files names for Intel consistent.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-09-28 09:35:16 +02:00
Zoltan Havas
3cc9fa4512 gecko: Fix sdid for xg27 part
Please see the original slcc sdid value:
https://github.com/SiliconLabs/gecko_sdk/blob/gsdk_4.3/platform/Device/component/efr32bg27c140f768im40.slcc#L70

Signed-off-by: Zoltan Havas <zoltan.havas@silabs.com>
2023-09-28 09:35:06 +02:00
Fabiola Kwasowiec
02e4e60f2f dmic: add the correct gain values to the dmic registers
Zephyr increments the gain until it reaches the maximum value and
then sets the registers to zero which is incorrect.
The values set in the DMIC config should be restored.

Signed-off-by: Fabiola Kwasowiec <fabiola.kwasowiec@intel.com>
2023-09-28 09:34:44 +02:00
Jukka Rissanen
729a8e622b tests: net: mld: Fix ICMP usage in the test
Convert the test to use new ICMP API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
274f5d9a4b tests: net: ipv6_fragment: Fix ICMP usage in the test
Convert the test to use new ICMP API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
fa4e978fba net: zperf: Fix the IPv6 ping done in shell
The zperf shell sends a IPv6 ping at the start when working
with IPv6. Convert the sending of the ping to use the new API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
8f74148bdd tests: net: icmpv6: Convert to use new ICMP API
Converting the ICMPv6 tests to use the new ICMP API so that
the tests pass.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
fe5638cf0f tests: net: icmpv4: Convert to use new ICMP API
Converting the ICMPv4 tests to use the new ICMP API so that
the tests pass.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
44151d5ccd tests: net: icmp: Add offloaded ICMP API tests
Add some tests that verify that offloaded ICMP API works
as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
19d1dd747f tests: net: icmp: Add test cases for new ICMP API
Tests cases for new ICMP API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
3baaa72920 net: icmp: Add offloading support
Add suitable functions that offloaded network device driver
can receive ICMP Echo-Request (ping) requests and give
ICMP responses back when it receives them from the network.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
c473626267 net: if: Add function for network interface offloading status
Add new net_if_is_offloaded(iface) that returns true if
the network interface is offloaded (either IP or socket
offloading is enabled for that interface) and false if
the interface is not offloaded.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
e3fb634e7a net: shell: Use the ICMP API for ping command
Change the ping command to use the ICMP API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
19273087f2 net: Use the ICMP API for receiving ICMP messages
Modify the internal network stack code to use the ICMP API.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jukka Rissanen
31a25da8c2 net: icmp: Introduce new API to send ICMP messages
Allow user to send ICMP Echo Request message a.k.a pings.
The same ICMP API and framework is used for network stack
internal needs in later commits. One benefit for this new
API is that it allows sending Echo Requests to offlined
network devices.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-28 09:34:20 +02:00
Jakub Rzeszutko
c631bc7757 shell: modules: kernel: add human readable uptime
Added options: -p and --pretty to the kernel updtime command.

Fixes: #62543

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
2023-09-28 09:34:00 +02:00
Jakub Rzeszutko
dccc575767 include: add new time macros to sys_clock.h
New defines added: SEC_PER_MIN, MIN_PER_HOUR, HOUR_PER_DAY.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
2023-09-28 09:34:00 +02:00
Pavel Vasilyev
b2c163e108 doc: Bluetooth: Mesh: Fix line width to 100 in mesh docs
From Codying Style guideline:
https://docs.zephyrproject.org/latest/contribute/guidelines.html#coding-style

`The line length is 100 columns or fewer. In the documentation, longer
lines for URL references are an allowed exception.`

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-28 09:33:37 +02:00
Manuel Argüelles
977ad483b4 mdio: shell: add Clause 45 commands
Add MDIO shell commands for Clause 45 read/write operations.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-28 09:33:10 +02:00
Manuel Argüelles
280ddaef4a mdio: introduce Clause 45 APIs
Add `mdio_read_c45()`/`mdio_write_c45()` APIs for Clause 45 access
and remove the `protocol` MDIO binding property so that MDIO bus
controller can support more than one protocol.

A new MDIO header is introduced with generic opcodes, MMD and
registers addresses, to be used by MDIO and PHY drivers.

Existing MDIO drivers that support both Clause 22 and Clause 45
access are migrated to the new APIs.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-28 09:33:10 +02:00
Manuel Argüelles
62b28cb443 mdio: rename argument devad to regad
Rename argument `devad` to `regad` to indicate this is the register
address in a given PHY device and to not be confused with the
Clause 45 device address within a port.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-28 09:33:10 +02:00
Dat Nguyen Duy
9f9aaf83f4 tests: spi_loopback: enable lpspi + dma testing for mr_canhubk3
This enables lpspi + dma testing by default for mr_canhubk3

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-28 09:31:52 +02:00
Robert Lubos
d9f4c1cff0 tests: net: dhcpv6: Add tests
Add tests for the DHCPv6 library. The tests verify that:
* message format is valid for the outgoing messages
* incoming messages are only processed in respective states
* processing through standard DHCPv6 transactions is correct
  (Solicit/Confirm/Renew/Rebind)

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 09:31:20 +02:00
Robert Lubos
6fb19bc7f0 net: shell: Add DHCPv6 support
Print DHCPv6 status in net shell (with "net iface" command).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 09:31:20 +02:00
Robert Lubos
72cf06ada4 net: config: Add DHCPv6 support
Add DHCPv6 support to the net config library. In case DHCPv6 is enabled,
net config will attempt to acquire IPv6 address and/or prefix when used.
The user can select with Kconfig whether to request address or prefix
(or both).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 09:31:20 +02:00
Robert Lubos
afa5887b70 net: dhcpv6: Introduce net events for DHCPv6
Add net events for DHCPv6, in similar fashion as it's done for
DHCPv4.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 09:31:20 +02:00
Robert Lubos
e73e78a550 net: dhcpv6: Add Zephyr DHCPv6 client
Add a DHCPv6 client implementation for Zephyr (RFC 8415).

The implementation allows to request IPv6 address and/or prefix from the
DHCPv6 server, and for now supports only the mandatory set of DHCPv6
options needed to achieve this. Currently the implementation supports
the following scenarios:
 * Requesting new IPv6 address/prefix with Solicit/Request exchange
 * Refreshing existing leases with Confirm, Renew or Rebind (depending
   on the context).

For now, no Information Request (the case where neither IPv6 address or
prefix are requested) is supported. No support for Reconfigure was added
either, as this is optional (the client manifests clearly to the server
that it does not support Reconfigure). Support for these can be added
later if needed.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-28 09:31:20 +02:00
Francois Ramu
1d29a8c3c2 drivers: i2c: stm32 i2c driver supports 10-bit addressing
When slave_address is 10 bits, data type should be
uint16_t instead of uint8_t,
like the data typeof data->slave_cfg->address.
https://github.com/zephyrproject-rtos/zephyr/issues/55987

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-09-28 09:27:09 +02:00
Théo Battrel
2e13802a38 Bluetooth: Test: Update security/ccc_update
Previous commit reverted the `link_encrypted` filed of CCC config.
Update the test to match the new expected behavior.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2023-09-28 09:21:57 +02:00
Théo Battrel
c2b99c0123 Revert "Bluetooth: Host: Fix GATT server handling of CCC"
This reverts commit cfd368fef1.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2023-09-28 09:21:57 +02:00
Théo Battrel
888a8c644c Bluetooth: Test: SC Indication
Test that SC Indication is correctly sent when the client reconnect and
the server updated the GATT database since last connection. Test that
the indication is sent even if the bond is not restored.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2023-09-28 09:21:57 +02:00
Daniel Leung
b4da11f929 gdbstub: xtensa: add support for dc233c core
This adds support for using coredump with Xtensa DC233C core,
which are being used by qemu_xtensa and qemu_xtensa_mmu.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-27 19:30:15 -05:00
Daniel Leung
1c0178ae6e boards: xtensa: rename qemu_xtensa_dc233c to qemu_xtensa_mmu
This renames the board from qemu_xtensa_dc233c to
qemu_xtensa_mmu to better signal that it is for testing with
MMU on QEMU Xtensa. Also turn on testing by default to make
sure future changes will not break Xtensa MMU support.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-27 19:30:15 -05:00
Ederson de Souza
5c65a60eab tests/kernel/timer/timer_behavior: Add support for Saleae Logic 2
This patch shows an example of how to use the timer behavior external
tool testing, using the Saleae Logic 2 application.

Also, some board overlays were added as examples.

Finally, testcase.yaml updated with parameters for the Saleae sample.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2023-09-27 20:25:09 -04:00
Ederson de Souza
22ba9456de tests/kernel/timer/timer_behavior: Add support for external tool
This patch adds a way to simplify using an external tool to measure
timer behaviour on Zephyr. It modifies the timer behaviour
jitter_drift.c tests to toggle a GPIO pin (defined via a new DTS
compatible, "test-kernel-timer-behavior-external") that can be connected
to an external tool, such as a logic analyzer, to measure timer
behaviour.

This GPIO pin toggle is behind a new CONFIG_TIMER_EXTERNAL_TEST Kconfig.

A new pytest test is added so that it can collect the statistics from
the external tool and assert some measurements. To collect statistics
from the external tool, one needs to provide a Python module which
provides a `run(seconds, config)` method, that will perform the test and
return the statistics. Check the README file for more information about
this interface.

Finally, this on twister, this new test is behind a new fixture,
"gpio-timerout".

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-09-27 20:25:09 -04:00
Jamie McCrae
14fe04dbf3 doc: release: 3.5: Add note on new blinfo subsystem
Adds a note that a new retention module, bootloader information
(blinfo) has been added

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 20:18:31 -04:00
Jamie McCrae
3205a5865d doc: api: Add blinfo as experimental
Adds blinfo as an experimental API

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 20:18:31 -04:00
Jamie McCrae
4fe6f52175 doc: retention: Add blinfo subsystem documentation
Adds some documentation on how to use the new subsystem

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 20:18:31 -04:00
Jamie McCrae
ce65806cd4 tests: boot: Add MCUboot data sharing test
Adds a test for the data sharing retention feature of MCUboot
configuration to an application.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 20:18:31 -04:00
Jamie McCrae
db4febc584 retention: Add bootloader configuration interface
Adds a bootloader configuration interface which allows for a
bootloader (e.g. MCUboot) to set configuration in a shared data
area which is then read by the application.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 20:18:31 -04:00
Flavio Ceolin
59c501c6df doc: security: Add information about backports
Clarify about how to proceed with backports for vulnerabilities.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 20:15:56 -04:00
Anas Nashif
79aaa9061c doc: release: update merge criteria
Document 4 eye principal for reviews and merges.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-27 20:13:04 -04:00
Anas Nashif
6dc15abb85 doc: roles: remove reference to slide
Reference to slide that does not exist.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-27 20:13:04 -04:00
Ryan McClelland
8d5ed530d7 modules: remove uncessary source for external cmsis kconfig
CMSIS uses an external KConfig so sourcing the KConfig is uncessary. This
also adds a comment if it is not available.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-09-27 18:33:40 -04:00
Ryan McClelland
90c6465f1f modules: fix naming of cmsis-nn,cmsis-dsp folder
The names have underscores within them. Somehow it was still being found
within the build but not with building documents. This renames them to
the correct name.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-09-27 18:33:40 -04:00
Anas Nashif
d885048637 tests: pm: power_domains: rename testcase, demo is ambigous
Rename testcase and use native_posix for coverage.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-27 15:11:18 -04:00
Anas Nashif
c532595519 tests: pm: driver_init: rename testcase, demo is ambigous
Use a more descriptive testcase name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-27 15:11:18 -04:00
Anas Nashif
eb956d0853 tests: pm: driver_init: use native_posix for testing
Use native_posix, this is a better platform for getting test coverage.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-27 15:11:18 -04:00
Benjamin Cabé
9b1e8cd3c2 doc: boards: Fix typo in Arduino Giga R1 note directive
Fix a minor typo causing Sphinx note to not render.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-27 15:10:59 -04:00
Dat Nguyen Duy
11f5eb5913 tests: drivers: dma: enable dma test for mr_canhubk3
Add devicetree overlay for enabling dma test for mr_canhubk3 board

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Dat Nguyen Duy
b4f390e880 boards: arm: mr_canhubk3: enable dma support
Enable dma support for mr_canhubk3 board

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Dat Nguyen Duy
8185faa0cb drivers: dma_mcux_edma: add support dma driver for s32k344
On S32K344, the offset in memory map between each channel
is 0x4000 for most channels, but there is specific case is
between channel 11 and 12 which is 0x1D4000 instead. As a
consequence, 32 channels are divided to two parts: one
starts from channel 0 -> 11. The other is from channel 128
to 145. The channel gap is from 12 -> 127.

For user and data structures in shim driver, the channel's
value comes from 0 --> 31. Above constraint will be counted
when interact with the mcux sdk

Beside that, the DMAMUX register in this platform is very
specific, not in identical with DMAMUX channel, so shim
driver is updated to cover this case

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Dat Nguyen Duy
d4a2b2244f drivers: dma_mcux_edma: add support for edma version 3
Add new dt binding for edma v3 that inherits whole dt
properties from current version. One more property is
added for SoCs that don't have separate error interrupt
id, use same id with channel interrupt

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Dat Nguyen Duy
a5cf757c9e drivers: dma_mcux_edma: improve interrupt handling
The current implementation iterates over all channels
even if only several channels share the same irq. This
introduces one more dt property to describe an offset
between two channels share the same interrupt id.

Beside that, the error interrupt must be put as last
element of "interrupt" dt property.

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Dat Nguyen Duy
03b5ba5990 drivers: dma_mcux_edma: add support for multiple DMAMuxes
This adds support for platforms that have multiple DMAMUXes
per DMA instance

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Dat Nguyen Duy
f27815d645 dts: bindings: correct information in mcux edma bindings
With the current implementation, the 1st cell is not DMAMUX id
as mentioned in the bindings (0 for DMAMUX0 and 1 for DMAMUX1).

Moreover, the referenced Linux bindings is obsoleted, it was
migrated to use yaml syntax

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Dat Nguyen Duy
ad08d71efa drivers: dma_mcux_edma: correct valid values for dma channel/slot
The dma-channels devicetree value - 1 = maximum valid channel
The dma-requests devicetree value - 1 = maximum valid request

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-27 14:02:09 -05:00
Benjamin Cabé
f5efa59fc3 boards: riscv: doc: Fix link to getting started guide
Do not use hardcoded http link to the getting started guide but a
proper ref instead.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-27 13:19:52 -05:00
Benjamin Cabé
3055401607 boards: riscv: doc: Use https for links to Telink wiki
Update URLs to Telink wiki to use https instead of http.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-27 13:19:52 -05:00
Benjamin Cabé
90c3547479 boards: riscv: doc: Fix dead link in Telink TLSR9518ADK80D documentation
Updated a link to a Telink wiki page that was an HTTP 404.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-27 13:19:52 -05:00
Andrei Emeltchenko
1dc6a8aa13 boards: x86: Detect SMBus IRQ instead of hardcoding
Detect IRQ for SMBus instead of hardcoding.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-27 20:35:06 +03:00
Andrei Emeltchenko
d7fd3db32e drivers: smbus: pch: Simplify IRQ flags
Use COND_CODE_1() macro instead of macro trampoline.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-27 20:35:06 +03:00
Rodrigo Peixoto
43c8df7893 test: zbus: Add tests for MSG_SUBSCRIBERS
Add specification-based and integration tests for `MSG_SUBSCRIBERS`.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-09-27 20:03:43 +03:00
Rodrigo Peixoto
94f98b6cf0 samples: zbus: add Message subscriber sample
This sample illustrates how to use message subscribers with ZBus.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-09-27 20:03:43 +03:00
Rodrigo Peixoto
0b0aa435af zbus: Add Message subscriber
Besides the changed channel reference, the message subscribers receive a
copy of the message during the VDED execution. ZBus guarantees message
delivery for `MSG_SUBSCRIBERS`.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-09-27 20:03:43 +03:00
Marc Desvaux
a49720ab08 west.yml: use latest STM32 HAL to get PTP to work
In the HAL_ETH_ReadData function where it checks for the last
descriptor, I added a checked if the TSA bit was set in DESC1
If the TSA bit is set then have a peak at the context descriptor
which should be the one after the last descriptor
If the CTXT bit is set in the context descriptor then extract
the timestamps


Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-09-27 11:57:59 -05:00
Flavio Ceolin
5d505c7b28 random: Fix feature dependency usage
Code using sys_csrand_get should depend on CONFIG_CSPRNG_ENABLED symbol
and not in ENTROPY_HAS_DRIVER since they are not using the entropy
device directly.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:55:10 -05:00
Flavio Ceolin
646a06c9fe random: Fix kconfig symbol name
s/CSPRING_ENABLED/CSPRNG_ENABLED/g

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:55:10 -05:00
Flavio Ceolin
23106b81c8 random: Remove deprecated Kconfig symbol
XOROSHIRO_RANDOM_GENERATOR has been deprecated in
Zephyr 1.12 (???), time to remove it.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:55:10 -05:00
Flavio Ceolin
8be60b40b6 drivers: entropy: Add thread safeness note
Add a note in entropy_get_entropy about thread safeness,
since this is used by the random subsystem in its CSPRNG.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:55:10 -05:00
Flavio Ceolin
37be80ddbe random: ctr_drbg: Thread safe in SMP
irq_lock() does not make this this csprng api thread safe
in SMP systems. Change it to use a mutex.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:55:10 -05:00
Flavio Ceolin
eba567cf18 random: ctr_drbg: Remove unused variable
state_sem was statically defined but never used.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:55:10 -05:00
Flavio Ceolin
eeea26d206 ipm: cavs: Fix possible buffer overflow
A buffer overflow happens in send() when size is negative because
it is promoted to signed when used in memcpy.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:51:34 -05:00
Flavio Ceolin
98857c267d ipm: imx: Initialize variable before using it
Since the driver is passing the whole buffer, let's zero it to avoid
pass garbage in case of size != buffer's size.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:51:34 -05:00
Flavio Ceolin
0a12a05e63 ipm: imx: Fix possible buffer overflow
It is possible to happen a buffer overflow in ipm_send due the lack
of a checking for negative value.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:51:34 -05:00
Flavio Ceolin
4ff32d9290 ipm: mcux: Initialize variable before using it
Since the driver is passing the whole buffer, let's zero it to avoid
pass garbage in case of size != buffer's size.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:51:34 -05:00
Flavio Ceolin
6654d18596 ipm: mcux: Fix possible buffer overflow
It is possible to happen a buffer overflow in ipm_send callback
due a wrong comparison between signed/unsigned types.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-27 11:51:34 -05:00
Florian Grandel
a12a6ab5b9 drivers: ieee802154: introduce channel pages
Replaces the previous approach to define bands via hardware capabilities
by the standard conforming concept of channel pages.

In the short term this allows us to correctly calculate the PHY specific
symbol rate and several parameters that directly depend from the symbol
rate and were previously not being correctly calculated for some of the
drivers whose channel pages could not be represented previously:
* We now support sub-nanosecond precision symbol rates for UWB. Rounding
  errors are being minimized by switching from a divide-then-multiply
  approach to a multiply-then-divide approach.
* UWB HRP: symbol rate depends on channel page specific preamble symbol
  rate which again requires the pulse repetition value to be known
* Several MAC timings are being corrected based on the now correctly
  calculated symbol rates, namely aTurnaroundTime, aUnitBackoffPeriod,
  aBaseSuperframeDuration.

In the long term, this change unlocks such highly promising functional
areas as UWB ranging and SUN-PHY channel hopping in the SubG area (plus
of course any other PHY specific feature).

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-27 12:44:15 -04:00
Florian Grandel
7c00b81705 drivers: ieee802154: cc13xx_cc26xx: readability improvement
Aligns the name of the return value variable with what is used elsewhere
in the driver and the subsystem for improved readability and
consistency.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-27 12:44:15 -04:00
Florian Grandel
ea6248b870 drivers: ieee802154: cc1200: SUN-FSK compatibility
Preparative change to introduce build-time configured channel pages.
This fixes the description of the driver's available PHYs and makes
channel page and channel range independent from runtime attributes.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-27 12:44:15 -04:00
Benjamin Cabé
dce3df81d4 boards: wio-terminal: Default to swapped 16-bit colors for LVGL.
Set default value for LV_COLOR_16_SWAP when LVGL is enabled to get
correct colors out-of-the-box.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-27 11:07:39 -05:00
Andrzej Głąbek
eafe6a9a31 drivers: spi_nrfx_spis: Handle empty spi_buf_set structures properly
SPI API allows `spi_buf_set` structures with no buffers linked to them
(with `.buffers = NULL`). Correct the spi_nrfx_spis driver so that it
is able to deal with such structures.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-09-27 17:49:28 +02:00
Grzegorz Swiderski
8b273a45a6 doc: sysbuild: Update documentation about BUILD_ONLY
It is now possible to `west flash` or `west debug` a build-only image.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-09-27 17:49:12 +02:00
Grzegorz Swiderski
05d7769073 sysbuild: Do not exclude images from domains.yaml
The recent support for BUILD_ONLY images was implemented by excluding
them from `domains.yaml`, in order to crudely prevent them from being
picked up by `west flash`. Arguably, this is incorrect or unexpected,
because the sysbuild documentation defines a "domain" as:

   Every Zephyr CMake build system managed by sysbuild.

Another consequence is that, given a build-only `<image>`, this makes it
impossible to pass `--domain <image>` to `west flash`, `west debug`, and
ironically `west build`.

To fix that, `domains.yaml` should again represent all domains, and the
build-only ones should be indicated in another way. Enter `flash_order`:
a new top-level key in the domains YAML schema. It contains the default
sequence of images used by `west flash`, where the build-only images are
excluded, and the order is influenced by `sysbuild_add_dependencies()`.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-09-27 17:49:12 +02:00
Benjamin Cabé
14348c53d4 net: doc: coap: Eclipse Titan is now on Gitlab
Eclipse Titan is now hosted on Gitlab (previously GitHub).
Update URLs accordingly.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-27 15:49:14 +02:00
Théo Battrel
545f17b722 Bluetooth: Host: Fix SYS_SLIST_FOR_EACH_NODE_SAFE misuse
In `gatt_write_ccc_rsp`, the third field of
`SYS_SLIST_FOR_EACH_NODE_SAFE` was use as the `prev` sys_node when
calling `gatt_sub_remove`. This was wrong because the third field of
`SYS_SLIST_FOR_EACH_NODE_SAFE` is actually the next node.

Fix the issue by adding a pointer to the previous node and passing it to
`gatt_sub_remove`.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2023-09-27 15:48:49 +02:00
Vinayak Kariappa Chettimada
7af967a2f5 Bluetooth: Controller: Fix BIS payload sliding window overrun check
Fix BIS implementation for checking overrun of the BIS PDU
sliding window buffer overrun.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-27 15:48:38 +02:00
Dominik Ermel
dfccc473a6 Bluetooth: Host: Use memcpy instad of strncpy in bt_set_name
memcpy makes more sense here.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-27 15:48:25 +02:00
Alberto Escolar Piedras
f8e34e6684 tests/drivers/flash common: Allow on nrf52_bsim
903a79431a
seems to have attempted to limit in how
many platforms this test runs due to issues in some
platforms. But how it was done (using platform allow apart
from integration platform) it prevents it running on
other platforms in which it works.
Add the nrf52_bsim target to this allow list so the
test can be run on it too.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-27 15:48:17 +02:00
Aleksandr Khromykh
4cf78b1e6d tests: Bluetooth: tester: fix mesh1d1 EHP pts tests
Mesh1d1 uses EHP wth SHA256 algorithm as the main one.
This mandates to use 32 bytes static oob if static oob
has been chosen.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-09-27 15:48:08 +02:00
Aleksandr Khromykh
0e98a35e39 Bluetooth: Mesh: refactor mandatory oob for mesh1d1
Provisioner should be able to manage received capabilities
unconditionally. Mandatory oob authentication is the node
feature and it is still compile time feature.
Split handling of this feature on provisioner and node part.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-09-27 15:48:08 +02:00
Aleksandr Khromykh
236e3b64db Bluetooth: Mesh: shell supports 32 bytes static oob
Commit adds support of 32 bytes static oob in mesh shell.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-09-27 15:48:08 +02:00
Aleksandr Khromykh
707d1ed819 Bluetooth: Mesh: fix static oob setting
According to specification it is possible to provide
static oob value with any length. Mesh should trim or
append\prepend by zeroes if it is longer\shorter than
required value.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-09-27 15:48:08 +02:00
Vinayak Kariappa Chettimada
3c2b1f952c Bluetooth: Controller: Add BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX Kconfig
Add BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX Kconfig to allow the
omit of EVENT_OVERHEAD_START_US and EVENT_OVERHEAD_END_US in
the time reservation calculations.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-27 15:47:45 +02:00
Vinayak Kariappa Chettimada
1ab007a2ba Bluetooth: Controller: Fix compile error when BT_CTLR_CENTRAL_SPACING=n
Fix compile error when CONFIG_BT_CTLR_CENTRAL_SPACING is
undefined.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-27 15:47:45 +02:00
Fredrik Danebjer
c2a13a0bec Bluetooth: Audio: Make CSIP delete bonds in cache locally
This change from using the mechanic of CONFIG_BT_KEYS_OVERWRITE_OLDEST
to instead handle the bonding cache through bond_deleted.

Signed-off-by: Fredrik Danebjer <frdn@demant.com>
2023-09-27 15:47:33 +02:00
Fredrik Danebjer
078b00b155 Bluetooth: Audio: Add resend mechanic to CSIP notifications
Added retry mechanic to CSIP notifications by adding them into system
workqueue. Bookkeeping is done for notifications for all clients, and
potentially disconncted clients will also receive notifications on
reconnect. This also adds mechanic to restore the local clients list
upon registration of the service, as well as BSIMs to test notify on
reconnect.

Signed-off-by: Fredrik Danebjer <frdn@demant.com>
2023-09-27 15:47:33 +02:00
Fredrik Danebjer
147796b36f Bluetooth: Audio: Change CSIP notification to use Atomic flags
Reformated csip_set_member to use atomic flags for notifications
instead of a pending notification array. This better conforms the
style of the code to how its done in other LE Audio services.

Signed-off-by: Fredrik Danebjer <frdn@demant.com>
2023-09-27 15:47:33 +02:00
Anders Storrø
c2677fe2e4 tests: Bluetooth: Mesh: Add PRB proxy bsim test
Adds Bsim test for checking behavior of private Net ID
and private Node ID.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-09-27 15:47:06 +02:00
Anders Storrø
8d253086c3 tests: Bluetooth: Mesh: Fix bug in priv beacon
Fix several pointer related bugs in the private beacon test
framework.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-09-27 15:47:06 +02:00
Daniel Gaston Ochoa
c870fb70ce drivers: spi: Test rx bigger than tx
Test that SPI works when the rx buffer is longer than
the tx one.

Signed-off-by: Daniel Gaston Ochoa <dgastonochoa@gmail.com>
2023-09-27 15:44:50 +02:00
Seppo Takalo
a8f9777586 net: lwm2m: Generate new tokens for LwM2M SEND blocks
Previously each piece of LwM2M SEND was
using token length of zero. I think this was unintentional.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Seppo Takalo
1606d352e1 net: lwm2m: Append CoAP Etag to protect integrity of blockwise
To protect the integrity of outgoing block-wise transfers, append
Etag option that allows client to see if the received block is
generated from same content as it is expecting.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Seppo Takalo
ebb90c5184 net: lwm2m: Fix composite read on SenML-CBOR
Composite read was incorrectly trying to parse CoAP packet
instead of payload of the packet.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Seppo Takalo
69cd597887 net: lwm2m: Refactor blockwise SEND to support GET and FETCH
Allow blockwise-send buffers to be used with GET and FETCH
queries as well.
When outgoing packet is split into multiple blocks, don't free
it when first block is send. Keep it in memory until some other requests
come.

Following queries to next block are matched using CoAP token.
However, this required Leshan to use COAP.BLOCKWISE_REUSE_TOKEN=true
option from Californium.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Seppo Takalo
b9028bb722 net: lwm2m: Remove unneeded function pointer parameter
lwm2m_udp_receive() is only called with same function
pointer, so there no need to carry that in the parameter.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Seppo Takalo
4e97607c27 net: lwm2m: Only parse block1 option for WRITE operation
In reality, single-write is the only operation that handles
BLOCK1 operations when receiving paylod.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Seppo Takalo
f227b56792 net: lwm2m: Separate opaque content format into its own
Opaque content format is not part of clear-text, so it
should be separated into its own file.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Seppo Takalo
42ce4bbfd7 net: lwm2m: Allow content formats to support only some data types
Partial content format support is required to have a proper support
for content format OPAQUE instead of threading it as a part of
plain text format.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-27 15:44:30 +02:00
Emil Gydesen
a5384bbf1a tests: Bluetooth: BAP: Initial Broadcast reconfigure test
Add a simple initial test for the reconfigure unittest.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-27 15:44:02 +02:00
Grzegorz Chwierut
ae336f69c3 tests: mcuboot: pytest: Add image swap test with mcumgr
Added application based on SMP Server Sample. Application is built together
with MCUboot using sysbuild and is flashed onto device in one step.
Tests are automated with pytest - new harness of Twister.
The image for upgrade is prepared using west sign command
then is uploaded by mcumgr into device and tested.
Automated scenarios to test upgrade (image upload, test, revert, confirm),
to test downgrade prevention mechanism and to test upgrade with image,
that is signed with an invalid key.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-09-27 15:43:56 +02:00
Fabio Baltieri
cf6bb282e2 scripts: set_assignee: set reviewers for modules
Add support for setting reviewers as well for module PRs, in addition to
the assignees.

Note that this still only works on repositories with an assignee on
record since it does not seem to be possible to query for PRs that have
no reviewers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-27 15:27:19 +02:00
Gerard Marull-Paretas
73b803ab4b edtlib: pinctrl properties are required in the binding
Consumers need to include `pinctrl-device.yaml` where this is defined.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-27 13:58:28 +02:00
Gerard Marull-Paretas
078d6c9b41 boards: mimxrt1062_fmurt6: remove regulator-fixed pinctrl entries
regulator-fixed is not a pinctrl-device, so these entries were invalid
(and not used).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-27 13:58:28 +02:00
Gerard Marull-Paretas
7ff50882e9 boards: vmu_rt1170: remove regulator-fixed pinctrl entries
regulator-fixed is not a pinctrl-device, so these entries were invalid
(and not used).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-27 13:58:28 +02:00
Gerard Marull-Paretas
ad08b3c300 dts: bindings: add missing pinctrl-device.yaml includes
These worked because edtlib allows 'pinctrl-.*' properties without
specifying them on the bindings. However, this has never been an
anounced pinctrl feature, the reference documents explicitly mention
that usage of pinctrl-device.yaml is mandatory.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-27 13:58:28 +02:00
Piotr Dymacz
e0a0b357a8 boards: arm: cc1352*/cc26x2* based: add hwinfo as supported
Add 'hwinfo' to supported features list in CC1352* and CC26x2* based
boards yaml and documentation files. Driver for this platform was
included in 634416bc49.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2023-09-27 06:33:49 -04:00
Anas Nashif
9e87bd7ad6 gitlint: exclude long line with co-authored-by
Treat co-authored-by like signed-off-by.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-27 06:20:16 -04:00
Aaron Massey
12cbfcf397 fuel_gauge: Repl property struct w/ union
Based on review of the similar charger driver API, it's been demonstrated
from the community that embedding a per value property type when fetching
properties. Separating off the property types from the property values
themselves also allow an array of property types to declared as static
const.

Break up fuel_gauge_property struct into a fuel_gauge_prop_val union and a
fuel_gauge_prop_t property type as inputs into fuel gauge API functions.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-09-27 12:07:59 +02:00
Aaron Massey
329ecd1e12 fuel_gauge: Remove status from fuel gauge properties
Based on review of the similar charger driver API, it's been demonstrated
from the community that embedding a per value status code when fetching
multiple properties isn't particularly wanted or needed. It was largely
considered not worth the additional maintenance to have the extra per
property error information.

Remove the status field from the fuel_gauge property value structs.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-09-27 12:07:59 +02:00
Aaron Massey
bddd88955d fuel_gauge: Add fuel_guage_set_props()
The fuel_gauge_set_prop() function prototype declares a function that sets
multiple fuel gauge properties at once. The naming suggests it ought to
fetch a singular property at a time. Moreso, some clients may just want to
set properties one at a time and may feel uncomfortable using a prototype
for fetching multiple properties when wanting to fetch them one at a time.

Modify fuel_gauge_set_prop() to fetch a single property and add
fuel_gauge_set_props() to support fetching multiple properties. Modify
existing tests/drivers/samples.

This is part of #61818 work.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-09-27 12:07:59 +02:00
Aaron Massey
e294b16a2f fuel_gauge: Add fuel_guage_get_props()
The fuel_gauge_get_prop() function prototype declares a function that
retrieves multiple fuel gauge properties at once. The naming suggests it
ought to fetch a singular property at a time. Moreso, some clients may just
want to fetch properties one at a time and may feel uncomfortable using a
prototype for fetching multiple properties when wanting to fetch them one
at a time.

Modify fuel_gauge_get_prop() to fetch a single property and add
fuel_gauge_get_props() to support fetching multiple properties. Modify
existing tests/drivers/samples.

This is part of #61818 work.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-09-27 12:07:59 +02:00
Sylvio Alves
18eff4ea00 samples: ipc: update esp32 board reference
After esp32 board was split into several different models,
rpmsg sample code was missing the change. Make esp32_devkitc_wrover
the default option.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-09-27 12:07:21 +02:00
Sylvio Alves
41e615c7ac samples: ipc: add esp32s3_devkitm as supported board
Add IPC same code for esp32s3_devkitm enabling second core.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-09-27 12:07:21 +02:00
Sylvio Alves
5c85c45e7d boards: esp32s3_devkitm: add appcpu board model
Adds into esp32s3_devkitm the appcpu board to allow
building applications running in ESP32S3 2nd core (appcpu).

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-09-27 12:07:21 +02:00
Sylvio Alves
bdda8ac48e soc: esp32s3: add esp32s3_appcpu for AMP support
Adds esp32s3_appcpu SoC and update default esp32s3 SoC
to support AMP feature.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-09-27 12:07:21 +02:00
Neal Liu
df64ae2d2d dts: bindings: reset: ast10x0: revise cells' name
Revise property's name & cells' name for further
devicetree reset macro used.

Signed-off-by: Neal Liu <neal_liu@aspeedtech.com>
Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
2023-09-27 11:51:13 +02:00
Jamie McCrae
7c0137afa6 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  6c8c76fc37f10d7f3ce44474dc2a450f61ff46e0

Brings following Zephyr relevant fixes:
 - 4da51013 zephyr: Add shared data support
 - 9bef51ce bootutil/crypto: Do not include import key with PSA
 - db2024eb espressif: update secure boot and flash encryption

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 11:25:54 +02:00
Carles Cufi
acb4e2748c actions: greet: Update the PR greeting text
Update the text so it points to useful parts of the documentation
regarding CI and contribution guidelines.

Also invite users to join Discord to ask for help.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-27 09:29:41 +01:00
Dominik Ermel
a2b238eee7 modules/MCUboot: Fix missing dependency
The CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP has been missing
select of CONFIG_MCUBOOT_BOOTLOADER_MODE_HAS_NO_DOWNGRADE.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-27 09:54:28 +02:00
Fabian Blatz
c7f8033f2b modules: lvgl: simplify sys_heap memory size configs
Changes the Kconfig symbols for the sys_heap based memory management option
and removes the notion of `BLOCKS` with a more concise single
`LV_Z_MEM_POOL_SIZE` option. Also adds `LV_MEM_CUSTOM` to the lv_conf.h,
since in any option the memory management is considered to be custom.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-09-27 09:54:08 +02:00
Robert Lubos
bcea9f7c92 samples: net: sockets: big_http_download: Align documentation
Update the TLS part of the big_http_download sample to reference the
currently used server used for file download.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-27 09:53:58 +02:00
Robert Lubos
36dec835c4 samples: net: sockets: big_http_download: Update root certificate
The download server that the origin server redirects to seems now to
use different certificate (signed by a different root CA). Therefore
add the additional root CA to the certificate list and refactor the
sample code a bit to allow to easily extend/replace certificates in the
future.

Bump the mbed TLS heap size a bit to accommodate the extra registered
certificate.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-27 09:53:58 +02:00
Iuliana Prodan
b16220916e manifest: update hal_xtensa
Update hal_xtensa for NXP RT500 overlay support.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-09-27 09:53:42 +02:00
Anas Nashif
31c22c9a77 samples: gdbstub: test using pytest
Test gdb stub using pytest.

Co-developed-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-27 09:53:23 +02:00
Gerson Fernando Budke
037618a638 drivers: ieee802154: rf2xx: Fix rx promiscuous behaviour
When radio is set to promiscuous mode it is desirable to receive
invalid frames. This skip a few checks and allow an invalid and
non-standard frames be delivered for diagnose.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2023-09-27 09:53:08 +02:00
Vinayak Kariappa Chettimada
b61bd2364c Bluetooth: Controller: nrf53: Fix back-to-back Tx Rx implementation
Back-to-back Tx Rx implementation was incorrect for nRF53
that uses DPPI. Both current and next DPPI channels where
enabled in the implementation which only worked correctly
to have the right tIFS when current and next PDU length
were same.

Fix ensures that the correct current DPPI is subscribed
to by the radio subscribe.

The implementation has been refactor to be able to use the
current sw_tifs_toggle value in the HAL implementation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-27 09:52:53 +02:00
Vinayak Kariappa Chettimada
e39d98302d Bluetooth: Controller: nRF53: Cleanup dppi and dppi resources file
Minor cleanup typo, redundant conditional compile and
refinition.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-27 09:52:53 +02:00
Jonas Otto
1402d2d8b4 drivers: i2c_ll_stm32_v2: add warning about i2c speeds above fast
The i2c_ll_stm32_v2 driver requires manual timing configuration for
"fast mode plus" speed.
This adds an error message linking to the appropriate documentation.

Signed-off-by: Jonas Otto <jonas@jonasotto.com>
2023-09-27 09:13:31 +02:00
David Corbeil
d732a8678b logging: runtime setting of syslog server ip address
Added functionality to change the syslog server's
ip address at runtime as well as sample for
syslog network backend

Signed-off-by: David Corbeil <david.corbeil@dynon.com>
2023-09-27 09:13:23 +02:00
Joshua Lilly
f51575212b testsuite: coverage: extend code coverage to include risc-v
This PR adds regions for gcov symbols in bss to enable gcov
functionality for risc-v

Signed-off-by: Joshua Lilly <jgl@meta.com>
2023-09-26 23:32:45 -04:00
Al Semjonovs
b1b4932373 logging: Unused arg in log_msg_get_tid
Resolve unused arg compiler error

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2023-09-26 15:00:48 -07:00
Franciszek Pindel
a50343cf62 tests: twister: robot: Fix setting testcases status
Currently, when a Robot test is run, the test case status value is
reported as `None`, which causes the XML to contain information about
the test being skipped due to misconfiguration.

This commit fixes the value reported in Twister XML test result by
assigning the test result to the `status` variable of a testcase
instance after the test has finished running.

Signed-off-by: Franciszek Pindel <fpindel@internships.antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
2023-09-26 15:10:07 -04:00
Lukasz Mrugala
4b934551ff scripts: pylib: twister: twisterlib: Fix size_calc error checking
Fixes #63042

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-09-26 15:05:56 -04:00
Seppo Takalo
ebfbf83153 net: lwm2m: Clean up shell documentation
Move commands that require parameters first into the list.

Move syntax line first, command documentation second,
flags last. This is much like Unix commands do

❯ /bin/ls --help
Usage: /bin/ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).

Compared to:

uart:~$ lwm2m
lwm2m - LwM2M commands
Subcommands:
  read    :read PATH [OPTIONS]
          Read value from LwM2M resource
          -x   Read value as hex stream (default)
          -s   Read value as string

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-26 16:55:16 +02:00
Benjamin Cabé
14c92da96d doc: stm32: Update all st.com links to use HTTPS
While recent browsers seem to transparently try to use https for
http://www.st.com/... URLs, they are effectively not working anymore, so use
https://www.st.com/... URLs instead.

curl http://www.st.com/en/evaluation-tools/nucleo-g070rb.html -m 5 -v
*   Trying 104.89.117.48:80...
* Connected to www.st.com (104.89.117.48) port 80 (#0)
> GET /en/evaluation-tools/nucleo-g070rb.html HTTP/1.1
> Host: www.st.com
> User-Agent: curl/8.1.2
> Accept: */*
>
* Operation timed out after 5002 milliseconds with 0 bytes received
* Closing connection 0
curl: (28) Operation timed out after 5002 milliseconds with 0 bytes
received

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-26 16:55:08 +02:00
Jilay Pandya
4e262bf83a fix: drivers: remove redundant config checks in cmake files
This commit does not introduce any functional change to the
codebase. Just removes certain redundant checks from
various CMakeLists.txt files in order to bring more coherence
in the codebase.

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2023-09-26 16:54:58 +02:00
Piotr Narajowski
d20c95e529 bluetooth: tester: MICP BTP event
Enhance AICS BTP events functionality for invalid behavior tests.

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-09-26 16:54:20 +02:00
Piotr Narajowski
6c4b9c9933 bluetooth: tester: AICS BTP event
Enhance AICS BTP Events Functionality for invalid behavior tests.

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-09-26 16:54:20 +02:00
Iuliana Prodan
8148643881 ipm: imx: send firmware ready reply to check for fw boot completion
Send a fw ready reply message as soon as possible.
This is usually used on host side which is waiting
for this message in order to establish the
communication with the remote processor - see
imx_dsp_rproc driver from Linux.

This can be enabled by IPM_IMX_FW_READY_REPLY config,
which is by default N.

Set CONFIG_IPM_IMX_FW_READY_REPLY as Y for
openamp_rsc_table sample, running on nxp_adsp_imx8m.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-09-26 16:54:04 +02:00
Jeff Daly
83de11d9f3 Microchip MEC172X: Rework GPIO definitions to separate package types.
MEC172X has 2 package sizes with additional pins on the -LJ package.
This commit separates the package-specific parts into different files.
In addition, this patch removes unnecessary package-specific enums in
favor of calculated offsets into the desired registers.

Signed-off-by: Jeff Daly <jeffd@silicom-usa.com>
2023-09-26 16:53:29 +02:00
Seppo Takalo
7b4f22edd1 net: lwm2m: Add functional tests for LwM2M against Leshan
Use the new Pytest integration to run testcases against Leshan.

Test with:
twister -T tests/net/lib/lwm2m/functional -p native_posix -vv

This requires Leshan running in localhost using following setup:
tcp/8080 Leshan web interface and REST API
tcp/8081 Leshan bootstrap server REST API
udp/5683 Leshan non-secure CoAP
udp/5684 Leshan DTLS CoAP
udp/5783 non-secure Bootstrap CoAP
udp/5684 DTLS Bootstrap CoAP

Leshan and Boostrap server must be reachable from native_posix
run using IP address 192.0.2.2 as in most of the examples.

Tests are written from test spec;
OMA Enabler Test Specification (Interoperability) for
Lightweight M2M

Following tests are implemented in this commit:
* LightweightM2M-1.1-int-0 – Client Initiated Bootstrap
* LightweightM2M-1.1-int-1 – Client Initiated Bootstrap Full (PSK)
* LightweightM2M-1.1-int-101 – Initial Registration
* LightweightM2M-1.1-int-102 – Registration Update
* LightweightM2M-1.1-int-104 – Registration Update Trigge
* LightweightM2M-1.1-int-105 - Discarded Register Update
* LightweightM2M-1.1-int-107 – Extending the lifetime of a registration
* LightweightM2M-1.1-int-108 – Turn on Queue Mode
* LightweightM2M-1.1-int-109 – Behavior in Queue Mode
* LightweightM2M-1.1-int-201 – Querying basic information in Plain Text
* LightweightM2M-1.1-int-203 – Querying basic information in TLV format
* LightweightM2M-1.1-int-204 – Querying basic information in JSON format
* LightweightM2M-1.1-int-205 – Setting basic information in Plain Text
* LightweightM2M-1.1-int-211 – Querying basic information in CBOR format
* LightweightM2M-1.1-int-212 – Setting basic information in CBOR format
* LightweightM2M-1.1-int-215 – Setting basic information in TLV format
* LightweightM2M-1.1-int-220 – Setting basic information in JSON format
* LightweightM2M-1.1-int-221 – Attempt to perform operations on Security
* LightweightM2M-1.1-int-401 – UDP Channel Security – PSK Mode

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-09-26 16:53:16 +02:00
Vinayak Kariappa Chettimada
652544e396 Bluetooth: Controller: Fix CIS assymmetric PHY usage
Fix CIS assymmetric PHY usage by adding implementation to
use correct PHY in radio when switching transceiver.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-26 17:45:18 +03:00
Dominik Ermel
a43107299f doc/release-notes: Add info on downgrade prevention Kconfig
Adds note on addition of
MCUBOOT_BOOTLOADER_MODE_WITH_DOWNGRADE_PREVENTION
to MCUboot Kconfig module.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-26 16:41:25 +02:00
Dominik Ermel
f17e4f1b76 modules/MCUboot: Add new Kconfig indicating downgrade prevention
Add the MCUBOOT_BOOTLOADER_NO_DOWNGRADE Kconfig option that allows,
when paired with MCUboot mode Kconfig, to indicate that the MCUboot
has been configured with downgrade prevention, which means that only
application with version higher than running can be swapped on next boot.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-26 16:41:25 +02:00
Manuel Argüelles
ca3310145f drivers: select nocache only when supported
NOCACHE_MEMORY depends on ARCH_HAS_NOCACHE_MEMORY_SUPPORT, so
don't try to select the symbol if not supported.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-26 15:09:51 +02:00
Vinayak Kariappa Chettimada
9e01c4df53 Bluetooth: Controller: nRF53: Fix missing NRF_CCM subscribe clear
Fix missing NRF_CCM subscribe clear which can lead to
spurious trigger of TASK_CRYPT in NRF_CCM. This may
lead to corruption of Rx PDU buffers.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-26 15:09:31 +02:00
Yong Cong Sin
0538411c09 drivers: mm: refine includes of the header
Refines the `system_mm.h` to include `zephyr/types.h` instead
of `zephyr/kernel.h` as that is all it needs.

Updated the includes of `mm_drv_ti_rat.c` accordingly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-09-26 15:09:12 +02:00
Jordan Yates
16b0a7ba68 manifest: update loramac-node to v4.7.0
Update loramac-node to release v4.7.0 from v4.6.0. The `v4.7.0-zephyr`
branch contains the same 4 additional commits as `v4.6.0-zephyr`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-26 15:08:24 +02:00
Vinayak Kariappa Chettimada
ed5883d9a0 Bluetooth: Controller: Use unique goto label in scan aux code
Use unique goto label in scan aux connect response ISR.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-26 15:08:07 +02:00
Jukka Rissanen
0e5016e502 net: arp: Directly send the queued pkt
We must send the packet without queueing it. The pkt has already
been queued for sending, once by net_if and second time in the ARP
queue. We must not queue it twice in net_if so that the statistics
of the pkt are not counted twice and the packet filter callbacks
are only called once.

Fixes #62483

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-26 15:07:20 +02:00
Jatty Andriean
3eea17c5de tests: drivers: clock_control: Add PLL fracn test
Added a test case that generates a 160 MHz system clock
using a 16777216 Hz HSE clock and also using a 16 MHz HSI

Signed-off-by: Jatty Andriean <jandriea@outlook.com>
2023-09-26 15:06:56 +02:00
Jatty Andriean
e364a095a6 drivers: clock_control: Add PLL fracn for STM32U5
Based on RM0456, each PLL in the STM32U5 has the
capability to work either in integer or fractional mode.
In this update, the fractional mode can be enabled
by setting the fracn value in the device tree.

Signed-off-by: Jatty Andriean <jandriea@outlook.com>
2023-09-26 15:06:56 +02:00
Dawid Niedzwiecki
68292b0310 counter: stm32 rtc: improve readability
Split the read function into 2 versions (date and no date) since they
don't have common code.

It improves readability.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-09-26 15:05:35 +02:00
Dawid Niedzwiecki
49f9aa7d12 counter: stm32 rtc: handle sub second registers
Add support for using the sub second registers. It allows reading and
setting alarm with the sub second tick resolution.

The RTC module is configured to get as high frequency as possible, which
equals the source clock (RTCCLK) divided by 2. To get such frequency,
the asynchronous prescaler is set to 1.

According to RM, setting the asynchronous prescaler to a high value
minimize consumption, so the change increase the power consumption.

Use a config to enable the sub second support.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-09-26 15:05:35 +02:00
Dawid Niedzwiecki
322f7980c5 counter: stm32 rtc: simplify calculation
RTC drivers uses only seconds, so transition to microseconds is
necessary.

Change way of calculation tick<->time to avoid unnecessary
conversations.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-09-26 15:05:35 +02:00
Dawid Niedzwiecki
c7d779f6e2 counter: stm32 rtc: fix indentations
Fix indentations of the API definition.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-09-26 15:05:35 +02:00
Dawid Niedzwiecki
16370a259a counter: stm32 rtc: improve reading registers
Synchronize reading two separate registers. In some edge cases the read
registers could point different dates.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-09-26 15:05:35 +02:00
Dawid Niedzwiecki
ad53863d1a counter: stm32 rtc: improve assigning configs
The config values have been hardcoded as magic values. Introduce
universal calculation based on the DTS entries.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-09-26 15:05:35 +02:00
Andrzej Głąbek
54f848cfaa boards: nrf9160dk_nrf52840: Add missing inclusion
This code uses the `NRF_DT_GPIOS_TO_PSEL` macro, so it should include
`<soc.h>` explicitly and not rely on the header being included by some
other one.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-09-26 13:49:43 +02:00
Dominik Ermel
11ab88f10c samples/mcumgr/smp_svr: Build for DirectXIP with revert
Adds sample build for
 CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP_WITH_REVERT=y

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-26 13:40:11 +02:00
Dominik Ermel
f3067f2364 mgmt/MCUmgr/grp/img: Add support for DirectXIP with revert
The commit adds support for uploading image to board with MCUboot
configured with DirectXIP with revert.
It allows to set uploaded image either for test or as permanent
boot application, until newer image gets confirmed.
Note that in DirectXIP with revert MCUboot will remove image
that has not been set for test nor confirmed and MCUmgr does not
set either mode unless image has the mode set within uploaded
binary.
The commit adds Kconfig option
CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP_WITH_REVERT
that enabled the new mode of operation within MCUmgr.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-26 13:40:11 +02:00
Pieter De Gendt
cb4fb765f0 net: if: Add ASSERT in net_if_ipv4/6_select_src_addr
Add an assert for the destination address provided to find the best
source address.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-09-26 12:04:03 +02:00
Yong Cong Sin
3300b31de8 boards: ti_k3: prevent header dependencies
These headers are using things like `uint32_t` & devicetree
macros, so they should include the `devicetree.h` & `types.h`.

Otherwise they depend on the parent file to have those headers
included before they are included.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-09-26 12:03:54 +02:00
Yong Cong Sin
b49d0addc5 soc: ti_k3: guard the soc header
Add macro guard to the soc header to prevent multiple inclusion

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-09-26 12:03:54 +02:00
Yong Cong Sin
e4fbf769c9 kernel: mmu: fix compilation error when base addr is 0
When these base addresses are defined to be zero, the
assertions test will be comparing an unsigned int against zero
which result in compilation warning, and will be raised to
error in Twister

Fix them by conditional compilation

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-09-26 12:03:54 +02:00
Daniel Leung
c1e488c2ed doc: release: 3.5: add a note on UART ns16550 driver changes
This adds a note on the changes related to the device
initialization macros and removal of two kconfigs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
3374e81438 uart: ns16550: separate IO/MMIO and PCIe init macros
This separates the DT device init macros into two: one for
UART accessed via IO port or MMIO, the other for PCIe UART.
All the conditions needed to setup the device structs are
getting complicated. Hopefully separating them would make
them easier to decode, and to avoid the conditions having
too many levels.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
9f9b4a8afa uart: ns16550: use io-mapped DT property for IO port access
The old CONFIG_UART_NS16550_ACCESS_IOPORT has been used to
indicate whether to access the NS16550 UART via IO port
before device tree is used to describe hardware. Now we have
device tree, and we can specify whether a particular UART
needs to be accessed via IO port using property io-mapped.
Therefore, CONFIG_UART_NS16550_ACCESS_IOPORT is no longer
needed (and thus also CONFIG_UART_NS16550_SIMULT_ACCESS).
Remove these two kconfigs and modify code to use device tree
to figure out how to access the UART hardware.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
3296956331 uart: ns16550: move setting .reset_spec inside initializer
This moves setting .reset_spec inside struct initializer
instead of using macro trampoline.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
53bc95e218 uart: ns16550: refactor UART_NS16550_IRQ_CONFIG_*
Instead of PCIE0 and PCIE1, use no suffix for IO port/MMIO IRQ
configuration funct, and suffix PCIE for IRQ config on PCIE
bus.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
566d21804c uart: ns16550: simplify DEV_DATA_FLOW_CTRL
Use COND_CODE_1() instead of macro trampoline and move it
into struct initializer.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
8b54cb859e uart: ns16550: simplify BOOT_LEVEL
Use CODE_CODE_1() instead of macro trampolines when
CONFIG_UART_NS16550_PARENT_INIT_LEVEL is enabled.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
7d0e223112 uart: ns16550: simplify DEV_CONFIG_PCIE_INIT/DEV_PCIE_DECLARE
Use COND_CODE_1() instead of macro trampolines.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
39f8b7d51d uart: ns16550: simplify UART_NS16550_IRQ_FLAGS
Using COND_CODE_1() is more intuitive when looking at the code,
instead of some macro trampoline magic.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
fe10897f70 uart: ns16550: simplify DLF and PCP related macros
This simplifies DLF and PCP enabling devicetree macros with
DT_ANY_INST_HAS_PROP_STATUS_OKAY() instead of the complicated
ones.

Also, this moves the macro to initialize struct elements into
the struct initializer itself. This makes it clearer on which
element is being initialized directly inside the struct
initializer instead of having to do mental macro trampoline
to find the correct macro.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Daniel Leung
2899df629f uart: ns16550: remove unused forward declaration
Remove the unused forward declaration of the driver API struct.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Benjamin Cabé
2479af21f6 doc: samples: Fix incorrect maxdepth for some toctrees
The table of contents for the samples' catalog was showing too many
levels for some sections.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-26 12:02:54 +02:00
Benjamin Cabé
7a6f251edb doc: samples: tfm: remove extra title
Removed the redundant title heading from this page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-26 12:02:54 +02:00
Bindu S
79852e216e drivers: dma: dma_dw_common: Updated check condition of DMA channel
updating check condition for dma channel for correct limit

Signed-off-by: Bindu S <bindu.s@intel.com>
2023-09-26 12:02:23 +02:00
Bindu S
361555721b boards: x86: rpl_crb: Added lpss dma support for raptor lake crb
added intel lpss dma support for raptor lake crb

Signed-off-by: Bindu S <bindu.s@intel.com>
2023-09-26 12:02:23 +02:00
Bindu S
a1654585bf dts: x86: intel: Added dts changes to support dma for RPL
Added dts changes to support lpss dma for I2C driver
for RPL platform.

Signed-off-by: Bindu S <bindu.s@intel.com>
2023-09-26 12:02:23 +02:00
Bindu S
877208dc78 drivers: i2c: i2c_dw: Added intel lpss dma support for I2C
Enabled intel LPSS DMA interface using dw common to support
usage of internal DMA in LPSS I2C to transfer and
receive data.

Signed-off-by: Bindu S <bindu.s@intel.com>
2023-09-26 12:02:23 +02:00
Alberto Escolar Piedras
292ca93795 Bluetooth controller nrf: nrf52 bsim radio hal fix
hal_radio_tx_chain_delay_ns_get() was incorrectly
returning the microsecond value, resulting in a 1us
error in the timing => Fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-26 11:43:43 +02:00
Alberto Escolar Piedras
865f3c1614 Bluetooth controller nrf: nrf52 bsim radio hal header minor updates
Align the header a bit with the one for the real radio,
adding missing Tx power levels and removing TODO which did not
need doing.
The old one originated as a copy of the nrf52833 one, and did not
evolve like the real ones.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-26 11:43:43 +02:00
Alberto Escolar Piedras
07bb88d28a Bluetooth: Controller: nrf: HAL for DPPI configuration cleanup
Remove a few macros which are not used anywhere in the tree.
For the sake of simplifying the header and easing its understanding.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-26 11:43:31 +02:00
Alberto Escolar Piedras
c5191ba5b7 Bluetooth: Controller: nrf: Use HAL for DPPI configuration
The following changes have been done:
1.
HAL_SW_SWITCH_GROUP_TASK_DISABLE_PPI_REGISTER_TASK(index)
  = HAL_SW_SWITCH_GROUP_TASK_DISABLE_PPI_TASK(channel)
has been convered into
HAL_SW_SWITCH_GROUP_TASK_DISABLE_PPI_REGISTER_TASK(index, channel)

2.
HAL_SW_SWITCH_GROUP_TASK_ENABLE_PPI_REGISTER_TASK(index)
  = HAL_SW_SWITCH_GROUP_TASK_ENABLE_PPI_TASK
Which was only used in one place, has been replaced with the
equivalent HAL call

3.
HAL_SW_SWITCH_GROUP_TASK_ENABLE_PPI_REGISTER_TASK(index) = 0
was replaced with the HAL subscribe clear function
nrf_dppi_subscribe_clear(NRF_DPPIC,
   HAL_SW_DPPI_TASK_EN_FROM_IDX(SW_SWITCH_TIMER_TASK_GROUP(index)));

4.
NRF_DPPIC->SUBSCRIBE_CHG[group].EN/DIS = 0;
have been replaced with the equivalent HAL clear call

5.
NRF_DPPIC->TASKS_CHG[group].DIS = 1;
have been replaced with the equivalent hal task_trigger() call

6.
Manually setting the CHG registers, has been replaced with a
clear + add (because the hal does not have a set function yet)
So,
  NRF_DPPIC->CHG[group] = value
has been replaced with
  nrf_dppi_group_clear(NRF_DPPIC, group);
  nrf_dppi_channels_include_in_group(NRF_DPPIC, value, group);
(A set function has been requested from the HAL team)

Note: There is other direct registes writes to the dppi subscribe and CHG
registers in the coded phy parts which have not been changed yet.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-26 11:43:31 +02:00
Flavio Ceolin
acc4dcec1e doc: release: 3.5 Add info about CVE-2023-4258
Add security related information in 3.5 release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-26 08:39:16 +02:00
Flavio Ceolin
f4baa2b094 doc: vuln: Add information about CVE-2023-4258
Information about CVE-2023-4258

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-26 08:39:16 +02:00
Jonathan Rico
480e228a50 Bluetooth: host: document settings backend requirement
This requirement was implicit as the only backend the host is currently
tested with behaves this way.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-09-26 08:39:09 +02:00
Benjamin Cabé
d0f27ac7ed doc: samples: Fix typos introduced by f6a4217a
Fixed typos in references to several doc pages introduced
with f6a4217a.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-26 08:38:42 +02:00
Alberto Escolar Piedras
03b601f0a9 tests BT privacy: Simplify a bit scripts
Reduce the unnecessary hidding and indirection,
as it makes the scripts more difficult to follow
for no benefit.
If somebody wants to debug these tests, they'll want
to see the sim_id, and won't benefit from going around
opening files needlessly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-26 08:38:36 +02:00
Lucas Dietrich
66b131928b lorawan: Set dev_nonce to 0 during join_cfg initialization
Ensure the LoRaWAN dev nonce is initialized with a known state in the
class_a sample.

Signed-off-by: Lucas Dietrich <lucas.dietrich@socomec.com>
2023-09-26 08:38:05 +02:00
Lucas Dietrich
8b9e064823 lorawan: Update data type of dev_nonce in lorawan_join_otaa struct
Make the dev_nonce size match the LoRaWAN specification, which is 2 bytes.

Signed-off-by: Lucas Dietrich <lucas.dietrich@socomec.com>
2023-09-26 08:38:05 +02:00
Daniel Leung
ba6c9c2136 xtensa: dc233c: enable backtrace support
Adds the necessary bits to enable backtrace support
for Xtensa DC233C core.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 08:37:43 +02:00
Daniel Leung
1194a35aa2 xtensa: cast char* to void* during stack dump with %p
cbprintf_package() warns about using char* for %p. So cast
it to void* to avoid the warning.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 08:37:29 +02:00
Daniel Leung
fcf22e59b8 xtensa: mark arch_switch ALWAYS_INLINE
arch_switch() is basically an alias to xtensa_switch() so
we can mark arch_switch() as ALWAYS_INLINE to avoid another
function call, especially when no optimization is used when
debugging.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 08:37:29 +02:00
Franciszek Zdobylak
fc4ae7ae84 tests: drivers: Unify labels of sensors
Unify labels of all sensors used in tests/drivers/build_all/sensor test.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-09-26 08:36:52 +02:00
Franciszek Zdobylak
862cd57a2a tests: drivers: Move the DHT22 sensor to gpio.dtsi
Move the DHT22 GPIO sensor to the gpio.dtsi overlay file.

Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
2023-09-26 08:36:52 +02:00
Michal Morsisko
8e32b5ee0a drivers: sensor: Add suport for TMAG5170 3D Hall sensor
Introduce support for Texas Instruments TMAG5170
high-precision linear 3D Hall-effect SPI sensor.
This driver allows to configure measurements on
magnetic and temperature channels. It is also
possible to read rotation of the magnet.

Signed-off-by: Michal Morsisko <morsisko@gmail.com>
2023-09-26 08:36:09 +02:00
Michal Morsisko
39aa2ad719 lib: crc: Add CRC4
Add two new functions: crc4 for generic calculations
of CRC4, and crc4_ti which use look-up table for
faster calculations of CRC4 algortihms that base
on 0x03 polynomial.

Signed-off-by: Michal Morsisko <morsisko@gmail.com>
2023-09-26 08:36:09 +02:00
Carles Cufi
d118ef5fde doc: migration: Move picolibc section to required changes
After having migrated a bunch of apps to the new default C library we
have realized that some of the caveats described in the existing
picolibc section of the migration guide do require action on the user
more often than previously thought. In order to ensure that all users
see those and can act upon them, move the picolibc migration info to the
required changes section.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-25 18:44:34 -04:00
Anisetti Avinash Krishna
d7c353cdf4 drivers: dma: intel_lpss: Used phandle to get base address
Added usage of dma_parent phandle instead of using parent-child
method to get DMA base address.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-25 18:43:29 -04:00
Anisetti Avinash Krishna
0b57fdb1ad dts: bindings: dma: intel_lpss: Added phandle dma-parent
Added a phandle named dma-parent to get base address instead of
adding DMA as child node because it is causing a build warning
(avoid_unnecessary_addr_size) if the parent instance has
"#address-cells/#size-cells" dts properties marked required
and child doesn't have reg property. DMA doesn't have reg
as it gets the base address from parent device

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-25 18:43:29 -04:00
Anas Nashif
b90288b42b ci: do not run twister tests on push events
This workflow is needed for pull requests, not push events.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 18:42:39 -04:00
Anas Nashif
6338768b45 ci: rename twister testing workflow
Rename blackbox_tests.yml -> twister_tests_blackbox.yml for clarity.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 18:42:39 -04:00
Keith Packard
ae92df1e4a libc/common: Don't use malloc mutex when CONFIG_MULTITHREADING=n
When multithreading is disabled, the whole mutex infrastructure isn't
available. The common malloc code wasn't checking for this case which
caused build failures.

Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Detlev Zundel dzu@member.fsf.org
2023-09-25 18:42:21 -04:00
Anas Nashif
a833d20ffb boards: nucleo_g0b1re: add arduino_serial as supported
To make some tests requiring the dependency happy.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 18:42:05 -04:00
Anas Nashif
6ff3f62295 boards: mec172xevb_assy6906: add spi as supported
Add SPI to supported features in board yaml file.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 18:42:05 -04:00
Anas Nashif
3e2ada7451 tests: tracing: TraceRecorderSource was renamed to percepio
Change module name in dependencies of test.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 18:42:05 -04:00
Anas Nashif
8eedef6f94 tests: dma/chan_blen_transfer: fix hardware dependency and syntax
Removed 'drivers' from supported field and fix syntax.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 18:42:05 -04:00
Anas Nashif
59a15818e3 tests: uart_emul: remove hardware dependency
Remove depends_on in test, this is not needed and not part of any board.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 18:42:05 -04:00
Anas Nashif
687f2507e3 doc: point to new zephyr sdk: 0.16.3
Change docs to point to new Zephyr SDK.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 17:11:42 -04:00
Anas Nashif
d2879f9a48 ci: use zephyr sdk 0.16.3
Modify CI tpo use new SDK and new docker containing this SDK.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 17:11:42 -04:00
Benjamin Cabé
4d10c960da drivers: sensor: Add initial support for hm330x dust sensor
Adds initial support for hm330x dust sensor series. Allows to read PM1,
PM2.5 and PM10 concentrations in atmospheric environment. A further
update to the driver may add support for also reading "standard" CF1
concentrations by exposing of a custom sensor attribute or a Kconfig
option. Tested with Grove - Laser PM2.5 Sensor (HM3301) attached to a
Wio Terminal.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-25 19:53:49 +02:00
Alberto Escolar Piedras
0ff2ba8c8e tests: BT privacy: Fix printf format
Fix the print format string so the "%" is printed
instead of a bogus value.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-25 19:48:15 +02:00
Wojciech Slenska
90dfe9f2db modem: chat: extend request_size to uint16_t
Some AT commands, are longer than 255 chars.
Also, script_send_request_pos is uint16_t, so with this change,
request_size will have the same type.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-09-25 19:47:50 +02:00
Vinayak Kariappa Chettimada
8c9ac505db Bluetooth: Controller: nRF53: Fix sw switch single timer id regression
Fix regression in sw switch single timer id use for nRF53x
series SoC.

Regression introduced in commit cfcbe5d68e ("Bluetooth:
Controller: Remove redudant header file includes").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-25 19:47:10 +02:00
Pavlo Havrylyuk
3a119979d6 samples: userspace: exclude cy8cproto boards from sample
Excluded cy8cproto_062_4343w and cy8cproto_063_ble from
samples/userspace/shared_mem sample due to a hardware
limitation with number of available MPU regions.
Sample throws warning:
`num_parts of 4 exceeds maximum allowable partitions (2)`
With the Cortex M4 on the boards only 2 mpu regions are left
and available to be used with the sample.

Signed-off-by: Pavlo Havrylyuk <pavlo.havrylyuk@infineon.com>
2023-09-25 19:42:13 +02:00
Keith Packard
389f061c8d scripts/log_parser: Handle signed and unsigned char length modifier
The C standard specifies 'hh' as a length modifier indicating an integer
conversion specifier applies to a signed char or unsigned char
argument. Python doesn't do that, so replace relevant %hh with %h.

Also fix the handling of %ll so that it applies to all integer specifiers
as well.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-25 19:41:50 +02:00
Warren Buffer
af22475f98 boards: efr32_radio_brd4170a: Setup console with pinctrl
Prior to this patch, the BRD4170A did not enable the UART console
using pinctrl, which was recently added for this SoC series.

Signed-off-by: Warren Buffer <warren.buffer78@gmail.com>
2023-09-25 11:34:35 -05:00
Nick Ward
3dba54b92d drivers: current sense amp: add pm
Enable power management for current sense amp.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 11:23:45 -05:00
Aaron Ye
d404f018a6 boards: arm: apollo4p_blue_kxr_evb: Enable MSPI.
This commit enables MSPI instance for apollo4p_blue_kxr_evb board.
Also adds pin configuration for each instance.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-25 10:46:04 -05:00
Aaron Ye
d91ef40a7e boards: arm: apollo4p_blue_kxr_evb: Enable SPI.
This commit enables SPI instance for apollo4p_blue_kxr_evb board.
Also adds pin configuration for each instance.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-25 10:46:04 -05:00
Aaron Ye
c2a5f03138 boards: arm: apollo4p_blue_kxr_evb: Enable I2C.
This commit enables I2C instance for apollo4p_blue_kxr_evb board.
Also adds pin configuration for each instance.
IOM4 is used for Bluetooth HCI-SPI inside of chip.
So no i2c4_default is defined.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-25 10:46:04 -05:00
Aaron Ye
03849370bd dts: arm: ambiq: Add MSPI instances to Apollo4 Blue Plus SoC.
This commit instantiates the MSPI peripherals.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-25 10:46:04 -05:00
Aaron Ye
b7433fd297 dts: arm: ambiq: Add IOM instances to Apollo4 Blue Plus SoC.
This commit instantiates the IOM peripherals.
IOM can be configured to SPI or I2C master.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-25 10:46:04 -05:00
Wojciech Slenska
f1bf05e63a net: wifi: Added missing extern "C"
This change allows to include this header directly from cpp file.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-09-25 16:44:33 +02:00
Daniel Leung
b2f7ea0523 soc: xtensa/intel_adsp/ace: fix _end location
The symbol _end is used to indicate the start of heap in
the common libc malloc code. On ACE, heap is in uncached
area. However, _end was in the cached area while end of
heap is in uncached area. This resulted in incorrect
calculation of heap size. So move _end into uncached
area so correct heap size can be calculated.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-25 16:44:22 +02:00
Mia Koen
0a0198898d doc: bluetooth: mesh: note and spec name fix
Fixed a note in Config Server model
and spec name in couple of other models

Signed-off-by: Mia Koen <mia.koen@nordicsemi.no>
2023-09-25 16:43:54 +02:00
Jordan Yates
c667b43697 bluetooth: hci: enable backends by default
Enable backends by default, instead of requiring some other module to
turn them on. This aligns with the behaviour of sensor drivers and
`BT_RPMSG`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-25 16:43:42 +02:00
Jordan Yates
ca5931065c testsuite: boards: unit_testing: default HCI bus
Be explicit about the HCI backend that Bluetooth unit tests require.
Some unit tests depend on `BT_HAS_HCI_VS`, so also enable that.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-25 16:43:42 +02:00
Benjamin Cabé
32dcd2e523 samples: shields: Update Nucleo shields to new code-sample extension
Update all Nucleo shield samples and references to them so that they
use the new zephyr:code-sample extension.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-25 16:43:05 +02:00
Pavel Vasilyev
0e26a0ddb9 doc: Bluetooth: Mesh: Correct DFU and BLOB models specs names
Correct DFU and BLOB models specs names. Also mentioning that they are
experimental yet (under BT_MESH_V1d1 option).

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-25 16:42:55 +02:00
Pavel Vasilyev
1146f5a8ea doc: Bluetooth: Mesh: Fix note rendering
Fix tabulation for correct note rendering.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-25 16:42:55 +02:00
Pavel Vasilyev
663a54c6d5 doc: Bluetooth: Mesh: Remove "draft" word from mesh 1.1 spec
The specification is now adopted.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-25 16:42:55 +02:00
Alberto Escolar Piedras
bae0dace16 Bluetooth controller nrf: Rename bsim radio hal header
Rename the bsim header in preparation for having more
simulated targets.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-25 16:42:45 +02:00
Alberto Escolar Piedras
f1557804a9 Bluetooth controller nrf: ifdef some coded phy only code
To avoid a build error when coded phy is not enabled
for a nrf53: These three functions are only used for coded phy,
and depend on macros which are only defined if coded phy
is enabled.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-25 16:42:45 +02:00
Alberto Escolar Piedras
bab4ed1623 Bluetooth controller: nrf: Switch to use SOC_COMPATIBLE
Switch use of kconfig:
* SOC_SERIES_NRF53X -> SOC_COPATIBLE_NRF53X
* SOC_NRF5340_CPUNET -> SOC_COMPATIBLE_NRF5340_CPUNET
to also select those options/code when building for
the nrf53 simulated targets.

Also switch three kconfig range dependencies from
SOC_SERIES_NRF52X to SOC_COPATIBLE_NRF52X
(IRQ priority related) for consistency. These sound
not really have an impact.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-25 16:42:45 +02:00
Alberto Escolar Piedras
c7c3c82aa0 soc nordic_nrf: Select new compatible kconfig options
Select the newly introduced nrf53 compatible kconfig options.
These are common both for real HW and for simulated HW,
allowing SW to behave appropriately for both.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-25 16:42:45 +02:00
Vinayak Kariappa Chettimada
94bd4837bb Bluetooth: Controller: Fix missing host feature reset
Fix missing host feature reset on HCI reset command.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-25 16:42:20 +02:00
Vinayak Kariappa Chettimada
cb28104cb0 Bluetooth: Controller: Fix assertion due to late PER CIS active set
Fix assertion due to late Peripheral CIS active flag being
initialized. CIS active flag shall be initialized when it is
acquired.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-25 16:42:20 +02:00
Vinayak Kariappa Chettimada
e4cc5838fd Bluetooth: Controller: Fix PHY value in HCI LE CIS Established Event
Fix PHY_C_TO_P and PHY_P_TO_C value in HCI LE CIS
Established Event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-09-25 16:42:20 +02:00
Nick Ward
4fe5beb2c5 drivers: adc: shell: add differential command
Add differential command.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 16:42:10 +02:00
Nick Ward
f2af46aaa0 drivers: adc: shell: remove \n from logs
Remove \n from logs.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 16:42:10 +02:00
Nick Ward
50462228f2 drivers: adc: shell: fix - read result is signed
Previously negative read results were being printed
by the shell as large uint16_t.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 16:42:10 +02:00
Andrei Emeltchenko
11f0e59d19 drivers: wdt_tco: Use DT_DRV_COMPAT interface
DT_DRV_COMPAT was unused for this driver. To get a node identifier
DT_NODELABEL() macro was used. Refactor to use the correct interfaces
using instance number 0.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-25 16:41:42 +02:00
Goh Shun Jing
029e756009 drivers: gpio: altera_pio add spinlock
Add spinlock for write access to register

Signed-off-by: Goh Shun Jing <shun.jing.goh@intel.com>
2023-09-25 16:41:17 +02:00
Teoh Shi Lin
11a8c5cd9e drivers: gpio: altera_pio: enhancement
update to make interrupt optional since they are not always available

Signed-off-by: Teoh Shi Lin <shi.lin.teoh@intel.com>
2023-09-25 16:41:17 +02:00
Teoh Shi Lin
d98229c352 drivers: gpio: Add ALTERA PIO
Add driver for altera avalon pio.

Signed-off-by: Teoh Shi Lin <shi.lin.teoh@intel.com>
2023-09-25 16:41:17 +02:00
Teoh Shi Lin
c6f4715554 CODEOWNERS: Add code owener for gpio_altera_pio.c
Add code owener for gpio_altera_pio.c

Signed-off-by: Teoh Shi Lin <shi.lin.teoh@intel.com>
2023-09-25 16:41:17 +02:00
Evgeniy Paltsev
927f09c1b6 ARC: boards: qemu: define vendor properly
Set vendor to `snps` to be consistent with vendor in board yaml
file.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-25 07:42:01 -04:00
Anas Nashif
1640d37189 drivers: neural_net: remove obsolete driver
This driver is not being used by anything and is not being built or
tested, so remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 07:40:07 -04:00
Jamie McCrae
c350c65be8 samples: mgmt: mcumgr: smp_svr: Add sysbuild file
Adds a sysbuild file which includes MCUboot, as the sample is
dependent upon it.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-25 12:47:22 +02:00
Jamie McCrae
30092d1910 doc: release: 3.5: Add note on sysbuild MCUboot encryption support
Adds a note that sysbuild can now set the encryption key for
MCUboot and target images.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-25 12:45:44 +02:00
Jamie McCrae
97123c4f4a scripts: ci: check_compliance: Add sysbuild Kconfig exceptions
Adds exceptions for Kconfigs which sysbuild uses when configuring
MCUboot.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-25 12:45:44 +02:00
Jamie McCrae
62f07c67d5 sysbuild: Add support for MCUboot/app encryption keys
Adds support for controlling the MCUboot (and application) signing
key, and allows for generating encrypted updates.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-25 12:45:44 +02:00
Tomasz Moń
c796e1bee2 manifest: hal_nordic: update to prevent USBD bad DMA
The bad DMA request was observed as SPU FLASHACCERR when building for
nrf5340dk_nrf5340_cpuapp_ns target. The bad DMA request would manifest
itself as device failing to reconnect after USB cable was reconnected.
The issue was especially visible with CDC ACM sample because SET LINE
CODING request has 7 bytes payload.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-09-25 12:13:10 +02:00
Jukka Rissanen
37b8dc17bc net: socket: Allow same port if different address family
It is always possible to bind to same port if the sockets
are in different address family.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-25 10:53:49 +02:00
Gerson Fernando Budke
12720fec51 drivers: ieee802154: rf2xx: Fix rf231 invalid frame
The at86rf231 frame buffer access mode read differs from all other
transceivers by only transfer one more byte after PSDU data instead
three. This difference is not evaluated in the current version of
the driver. The current change add the necessary check and read the
missing data (EQ, TRAC).

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2023-09-25 09:52:28 +02:00
Nick Ward
ead0c4f865 drivers: adc: use adc_read_dt api
Where struct adc_dt_spec is in use use adc_read_dt().

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 09:52:16 +02:00
Nick Ward
451568c645 drivers: adc: add adc_read_dt api
This was missing from the ADC Devicetree API set.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 09:52:16 +02:00
Christopher Friedt
a05c88daa5 drivers: console: uart_console: avoid infinite loop in isr
Previously, the `uart_console_isr()` routine assumed that the
return value of several uart API functions would only ever
return the equivalent of a boolean value. In fact, an integer
is returned on occasion, and that integer can take on many
values.

Since unary operations would either go to "true" or "false"
and since any non-zero integer evaluates to "true", even a
return value of something like `-ENODEV` would evalueate
to true.

Explicitly compare against the integer-equivalent value of
the expected boolean output.

With this, in the case of errors, negative return values do
not evaluate to "true", and the infinite loop is avoied.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-09-25 09:51:45 +02:00
Benjamin Cabé
fef887a7b3 doc: bluetooth: mesh: Fix LaTeX math equations
While it doesn't seem to be an issue for HTML rendering, the use of
\verb is not allowed within LaTeX equations and breaks the PDF build.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-25 09:50:45 +02:00
Dat Nguyen Duy
910d417a92 drivers: spi_mcux_lpspi: add support dma per instance
Currently, the driver imply understand that all instances
will use dma when CONFIG_SPI_MCUX_LPSPI_DMA is set. There
might be an instance doesn't need DMA, so instead of enforce
spi_transceive API to use DMA, add more flexible to enable
DMA only when required

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2023-09-25 09:50:01 +02:00
Evgeniy Paltsev
7ce5a2e629 ARC: board: nSIM: update documentation about new platforms
Update nSIM board documentation about new platforms (12 cores HS5x
& HS6x)

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-25 09:49:50 +02:00
Evgeniy Paltsev
6048269f95 ARC: boards: nSIM: add 12-core SMP HS6x platform
Add new simulation (nSIM) SMP platform based on 12-core ARCv3 HS6x

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-25 09:49:50 +02:00
Evgeniy Paltsev
d76f345688 ARC: boards: nSIM: add 12-core SMP HS5x platform
Add new simulation (nSIM) SMP platform based on 12-core ARCv3 HS5x

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-25 09:49:50 +02:00
Evgeniy Paltsev
06b28fc4ea ARC: west: mdb runner: support 12 cores targets
Bump number of cores limit in mdb west runner.
As we are here - adjust core number in runner test closer to
the limit.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-25 09:49:50 +02:00
Evgeniy Paltsev
54e0731666 kernel: SMP: allow more than 5 CPU cores
Previously we limit maximum number of CPU cores to 5, now be
bumping this restriction so we can use 12 cores.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2023-09-25 09:49:50 +02:00
Nikolay Agishev
baeda6ada0 ARC: fix dynamic thread stack allocation
ACR use the same logic for dynamic thread stacks allocation as ARM.
This fixup reuses ARM code.

Signed-off-by: Nikolay Agishev <agishev@synopsys.com>
2023-09-25 09:49:36 +02:00
Tim Lin
dca9cbff08 ITE: drivers/pinctrl: Add alternate function additional setting
When the alternate setting is configured as func3, in addition to
the setting of func3-gcr, some pins require external setting.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2023-09-25 09:48:57 +02:00
Emil Gydesen
63badb0fa7 tests: Bluetooth: Audio: bt_audio_codec_cap_get unit tests
Add unit tests for the bt_audio_codec_cap_get* functions.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-25 09:48:47 +02:00
Emil Gydesen
e51ac69156 Bluetooth: Audio: Add bt_audio_codec_cap_get helper functions
Add helper function to get specific values from
a codec capability struct.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-25 09:48:47 +02:00
Jordan Yates
b54951b86e net: wifi_mgmt: linearise scan_params->chan arrays
Turn the nested arrays of `scan_params->chan` into a single array.
This adds the requirement to specify the band for each channel, but
eliminates the large amount of dead memory for unused bands. Overall,
this saves 50% of the RAM space for this variable.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-25 09:48:16 +02:00
Jordan Yates
6a428f19b6 net: wifi_mgmt: make number of scan channels configurable
Make the maximum number of channels that can be manually scanned
configurable by the application. The previous value of 233 was vastly
overallocating memory as the largest band only contains 60 allocated
channels.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-25 09:48:16 +02:00
Jordan Yates
8940343ead net: wifi_mgmt: avoid declaring zero length array
Zero length arrays are a GNUism not supported by all compilers. If
`zephyr/net/wifi_mgmt.h` is included by an application without WiFi
enabled, ensure array is at least one element long.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-09-25 09:48:16 +02:00
Benjamin Cabé
c702b03abd samples: webusb: Fix HTML validator issues
Running the HTML code through W3C Validator revealed several issues with
the markup that this commit fixes.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-25 09:48:01 +02:00
Andrei Emeltchenko
5942343a81 samples: webusb: Update README
Update webusb README with recent changes after index.html was moved to
sample from the external repository.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-25 09:48:01 +02:00
Andrei Emeltchenko
17fcf58a5e doc: samples: usb: Include only README to TOC
Include only README.rst to docs, skipping helpers included with :doc:
directive.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-25 09:48:01 +02:00
Benjamin Cabé
43c139a5f6 samples: webusb: Include demo.rst to documentation
Include demo.rst to the webusb sample documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-25 09:48:01 +02:00
Andrei Emeltchenko
0aaa5a9ac2 samples: webusb: Copy needed file from the external repository
Copy file index.html from the external repository
finikorg/webusb-sample.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-09-25 09:48:01 +02:00
Sri Surya
049aaac696 drivers: rtc: new ambiq am1805 rtc driver
Added RTC driver for am1805 with rtc time, alarm set/get,
callback and calibration.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2023-09-25 09:47:46 +02:00
Tristan Honscheid
0bf220161b test: Update generic sensor test to use new vertical decoder API
Update the code in the generic test to work with the updated sensor
decoder API that retrieves data vertically by channel.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2023-09-25 09:47:26 +02:00
Tristan Honscheid
80ed7afab2 sensors: akm09918c: Add RTIO one-shot implementation
Implement the RTIO/Sensors V2/Async API for the AKM09918C. Add a decoder
API implementation as well.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2023-09-25 09:47:26 +02:00
Tristan Honscheid
2b06884afe sensors: icm42688: Remove unused function from driver
This function is no longer used and causes a compiler error.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2023-09-25 09:47:26 +02:00
Yuval Peress
5e14088a3f sensors: vertically decode raw data
Update the decoder APIs to vertically decode the raw sensor data. This
means that instead of getting each channel on a frame by frame basis,
the API takes a channel specifier and returns as many frames of that
given channel as there's room.

The goal of this is to make the end decoded result the most useful and
usable for the Zephyr application. See #60944 for details.

Signed-off-by: Yuval Peress <peress@google.com>
2023-09-25 09:47:26 +02:00
Yuval Peress
acc5501118 zdsp: Add Q value print formatting helpers for
Introduce PRI style formatting for DSP values. These require the use
of another separate macro to set up the argument (PRIq_arg).

Signed-off-by: Yuval Peress <peress@google.com>
2023-09-25 09:47:26 +02:00
Nick Ward
a55d7eefef tests: drivers: build all: sensor: add voltage
Add voltage sensor driver to tests.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 09:47:03 +02:00
Nick Ward
71db188091 drivers: sensor: voltage: add driver
Add voltage sensor driver.

Co-authored-by: Marco Argiolas <marco.argiolas@ftpsolutions.com.au>

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 09:47:03 +02:00
Daniel DeGrasse
40a52eb486 boards: add support for SMARTDMA when using RM67162 display shield
Add support for using SMARTDMA when using RM67162 display shield with
Zephyr, so that the DMA engine can be leveraged for improved performance
when using the MIPI DSI in command mode.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-09-25 09:46:55 +02:00
Daniel DeGrasse
36ad0b10b3 drivers: display: rm67162: write full buffer to MIPI_DSI
With update to handle DSI transfer length in MIPI_DSI driver, the logic
can be removed from the RM67162 driver. The driver now will simply
continue writing data until the full buffer is sent.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-09-25 09:46:55 +02:00
Daniel DeGrasse
61515cf31f drivers: mipi_dsi: dsi_mcux_2l add support for SMARTDMA, and byte swapping
Add support for SMARTDMA transfers, and byte swapping of RGB565 data.
Additionally, the limits on TX data size have been impelemented in the
MIPI DSI driver, as opposed to the RM67162 display where they were
previously added.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-09-25 09:46:55 +02:00
Daniel DeGrasse
9e5188353e soc: arm: nxp_imx: add support for SMARTDMA for RT5xx
Add support for SMARTDMA to RT5xx SOCs. SMARTDMA ram banks will be
powered up, so code can be programmed into this region for the SMARTDMA
engine.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-09-25 09:46:55 +02:00
Daniel DeGrasse
8d2f4633f2 drivers: dma: introduce SMARTDMA dma driver
Introduce SMARTDMA dma driver. The SMARTDMA is a peripheral present on
some NXP SOCs, which implements a programmable DMA engine. The DMA
engine does not use channels, but rather provides a series of API
functions implemented by the firmware provided with MCUX SDK.

These API functions can be selected by the dma_config slot parameter. A
custom API is also provided to allow the user to install an alternate
firmware into the SMARTDMA.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-09-25 09:46:55 +02:00
Daniel DeGrasse
9bcd8e9b3e drivers: mipi_dsi: dsi_mcux: limit DSI TX to max payload size
Limit DSI data TX to the max payload size possible with this peripheral,
rather than relying on display drivers to respect this limitation.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-09-25 09:46:55 +02:00
Ryan McClelland
65a15e9299 samples: tflite-micro: update samples for latest tflite-micro
tflite-micro now uses MicroPrintf instead of MicroErrorReporter. Update
the samples to use this function instead. AllOpsResolver is now removed
from tflite-micro. AllOpsResolver was also removed in the latest
tflite-micro. Use MicroMutableOpResolver and only include the kernels
used instead.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-09-25 09:46:33 +02:00
Ryan McClelland
d2f82648cd modules: tflite-micro: update to latest
Update tflite-micro to use the latest. This also updates to use
the cmsis-nn module.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-09-25 09:46:33 +02:00
Ryan McClelland
b092094815 modules: cmsis-nn: add cmsis-nn module
This adds the cmsis-nn module since it moved to its own realm.
This also adds a kconfig for the long short-term memory.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-09-25 09:46:33 +02:00
Ryan McClelland
104ea2ccca modules: cmsis-dsp: add cmsis-dsp module
Use CMSIS-DSP from its new realm. This also changes change how you
initialize FFT tables as well to use arm_cfft_init_64_f32 if you
know the FFT size in advance rather than the generic initialization
arm_cfft_init_f32.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-09-25 09:46:33 +02:00
Henrik Brix Andersen
c1ad82e5fb drivers: can: mcux: flexcan: fix initial of CAN-FD timing when using TQs
Fix the assignment of initial CAN bus timing parameters for the CAN-FD data
phase.

Fixes: #62979

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-24 20:47:32 -05:00
Aleksandr Senin
cec9bc29ba tests: drivers: build_all: mdio: add bit bang testsuite
- Add mdio to a build_all testsuite
- Add mdio bit bang to a build_all testsuite

Signed-off-by: Aleksandr Senin <al@meshium.net>
2023-09-24 08:28:10 -04:00
Aleksandr Senin
a1e2fdcc4d drivers: mdio: add bit-bang driver
Add MDIO driver that works through GPIO pins. This driver is
useful when a microcontroller doesn't have MDIO bus or when multiple
separate MDIO buses are required. The driver provides access to
the MDIO bus through GPIO pins for any SoC that has GPIO pin control
available.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2023-09-24 08:28:10 -04:00
Martin Jäger
bedf5dd5f9 MAINTAINERS.yml: LoRa and LoRaWAN: add martinjaeger as collaborator
He has contributed time synchronization services and some bug fixes in
the past and is going to work con Class B support in the future.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-09-23 08:30:38 -04:00
Martin Jäger
81e641f8b6 MAINTAINERS.yml: LoRa and LoRaWAN: make JordanYates the maintainer
Previous maintainer Mani-Sadhasivam is presumably busy with other work
and has not been very active in Zephyr recently.

JordanYates has reviewed all recent PRs and driven the discussions
around LoRa/LoRaWAN, so he should become the new maintainer.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-09-23 08:30:38 -04:00
Martin Jäger
0459d594a2 MAINTAINERS.yml: Move LoRa to subsys section and add LoRaWAN
LoRaWAN is not a driver. LoRa and LoRaWAN together are better
categorized as a subsystem.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-09-23 08:30:38 -04:00
Manuel Argüelles
51a300c66b boards: s32z270dc2_r52: remove duplicated DT include
This DT source is already included on each RTU board.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-23 08:29:15 -04:00
Fabio Baltieri
799c8ddf9f ci: doc-build: add a rebase step
Add a rebase step after checkout for the documentation build CI run.

This is in line with what pretty much all other workfloww already do,
and means that if a PR is opened on a broken tree and the breakage get
fixed, the PR run just have to be retried for the test to pass and we
don't have to ask the authors to rebase and lose any pending approvals.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-23 08:27:05 -04:00
Fabio Baltieri
341590545a tests: kernel: xip: exclude qemu_riscv32_xip
This board seems to have issue with data alignemnt after 843f66f and is
failing in CI. Exclude it while the problem is investigated.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 17:39:38 +01:00
Benjamin Cabé
2e5f56665b doc: tracing: fix formatting issue
The list of user-defined functions in "User-Defined Tracing" section was
not properly formatted (missing blank line).
Switched the (broken) list to a code block to now provide C syntax
highlighting.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 16:42:32 +01:00
YuLong Yao
21fcf61c87 tests: drivers: debug: add esp32s3_luatos_core
add overlay for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
1a2a8fd49b tests: drivers: uart: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
676eed840c tests: drivers: spi: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
c884d7f0c4 tests: drivers: pwm: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
32fe3619b5 tests: drivers: pwm: add esp32s3_luatos_core
add overlay for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
6060082914 tests: drivers: gpio: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
23253ab503 tests: drivers: dma: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
a553ab97bf tests: drivers: dma: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
b89e90b2b5 tests: drivers: counter: add esp32s3_luatos_core
add overlay for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
36cd04c8e5 tests: drivers: adc: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
0b1cc77aff samples: sensor: qdec: add esp32s3_luatos_core
add support for esp32s3_luatos_core

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
cf8ac53d0d samples: basic: blinky_pwm: add esp32s3_luatos_core
add support for esp32s3_luatos_core

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
e69616291b samples: drivers: counter: add esp32s3_luatos_core
add support for esp32s3_luatos_core

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
24b35d0ddb samples: drivers: adc: add esp32s3_luatos_core
add support for esp32s3_luatos_core

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
196ce41f63 samples: subsys: settings: add esp32s3_luatos_core
add support for esp32s3_luatos_core

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
YuLong Yao
3ebb8953e4 samples: net: wifi: support esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
Fabio Baltieri
667a37374c ci: workflows: run twister tests on collab branches
Include CI runs to push and pull request against collab- branches so
that thay can be used for detecting CI breakages before trying to open
PRs against main.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:49:24 -04:00
Nick Ward
ee3b9c117e sensor: vl53l0x: pm resume fix
When active XSHUT resets the chip so we must
re-initialise chip when resuming from PM suspend.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-22 08:40:05 -05:00
Benjamin Cabé
d30ec30a85 doc: guides: Update PDF output path
The zephyr.pdf file is to be found in _build/latex folder, not
_build/pdf.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 14:38:12 +01:00
Henrik Brix Andersen
49ab0b22f0 drivers: can: switch to CAN_DEVICE_DT_INST_DEFINE for remaining drivers
Switch from using DEVICE_DT_DEFINE()/DEVICE_DT_INST_DEFINE() to using
CAN_DEVICE_DT_DEFINE()/CAN_DEVICE_DT_INST_DEFINE() for remaining drivers.

This unifies CAN controller device driver initialization regardless of the
driver implementing CAN statistics support or not.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-22 08:37:05 -05:00
Manuel Argüelles
c45e9ec715 MAINTAINERS: add NXP collaborator
Add Dat-NguyenDuy to NXP collaborators.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 08:32:19 -05:00
Roland Lezuo
f4c901b82d soc: arm: st_stm32: add config to allow debugger attach in sleep/stop modes
Adds CONFIG_STM32_ENABLE_DEBUG_SLEEP_STOP to allow debugger attaching in
sleep/stop mode of STM32 parts. Mainly useful for debugging. Move DBGMCU
from part-sepcific power.c to common soc_config.c. CONFIG_USE_SEGGER_RTT
depends on this as well.

Signed-off-by: Roland Lezuo <roland.lezuo@embedded-solutions.at>
2023-09-22 15:31:47 +02:00
Guillaume Gautier
47d1dcda4e tests: drivers: adc: adc_api: boards: add sequence for b_u585i_iot02a
Add multiple channels in overlay to test the sequencer for ADC4.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
b72e4910cc tests: drivers: adc: adc_api: boards: add sequence for b_u585i_iot02a
Add multiple channels in overlay to test the sequencer for ADC1.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
d79bf2383a tests: drivers: adc: adc_api: boards: add sequence for disco l475 iot1
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
80b3b2a7dd tests: drivers: adc: adc_api: boards: add sequence for stm32l562e dk
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
3716a1b4e5 tests: drivers: adc: adc_api: boards: add sequence for stm32h573i dk
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
6a725d08dd tests: drivers: adc: adc_api: boards: add sequence for stm32f3 disco
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
a6ece6a0c8 tests: drivers: adc: adc_api: boards: add sequence for nucleo wl55jc
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
83ab36f2a1 tests: drivers: adc: adc_api: boards: add sequence for nucleo wba52cg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
7eec6ea1e4 tests: drivers: adc: adc_api: boards: add sequence for nucleo wb55rg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
ec51e3978b tests: drivers: adc: adc_api: boards: add sequence for nucleo l552ze_q
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
6224784a0b tests: drivers: adc: adc_api: boards: add sequence for nucleo l152re
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
8d145da53c tests: drivers: adc: adc_api: boards: add sequence for nucleo l073rz
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
c833abc15c tests: drivers: adc: adc_api: boards: add sequence for nucleo g474re
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
0446f59c30 tests: drivers: adc: adc_api: boards: add sequence for nucleo f746zg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
3c82c6fb7c tests: drivers: adc: adc_api: boards: add sequence for nucleo f429zi
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
0986c07443 tests: drivers: adc: adc_api: boards: add sequence for nucleo f207zg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
7a19b995bb tests: drivers: adc: adc_api: boards: add sequence for nucleo f091rc
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
06842bc2e0 tests: drivers: adc: adc_api: boards: add sequence for nucleo f401re
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
0473cf5bb0 tests: drivers: adc: adc_api: boards: add sequence for nucleo g071rb
Add multiple channels in overlay to test the sequencer.
Change clock source to correctly pass the test.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
e09c594711 drivers: adc: stm32: remove channel count limit
Remove CHANNEL_COUNT limit used to check the channel bitmask.
This value was not applicable on STM32L1 where channel can go up to 31.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
c201d21964 drivers: adc: rework stm32 adc sequencer
Add sequencer support for all STM32 series.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
6d6d7b5607 dts: arm: st: add st,adc-sequencer properties to all stm32 adc
Add st,adc-sequencer to all STM32 ADC instances.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
723b24fc58 dts: bindings: adc: stm32: add a property for adc sequencer type
Add a property for STM32 ADC to indicate which type of sequencer is used
by the device (fully configurable or not).
Add defines to help with this setting.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Aaron Ye
0691079f47 manifest: Update hal_ambiq revision.
This change adds Apollo4 Blue Plus SoC support.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-22 08:29:29 -05:00
Aaron Ye
7c9b76ecdf board: arm: Add support for apollo4p_blue_kxr_evb board.
Add devicetree, Kconfig and doc for Ambiq Apollo4 Blue Plus KXR EVB board.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-22 08:29:29 -05:00
Aaron Ye
09e7e2db51 soc: arm: Add support for Ambiq Apollo4 Blue Plus.
Added devicetree and Kconfig for Apollo4 Blue Plus SoC.
They are needed for the apollo4p_blue_kxr_evb board.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2023-09-22 08:29:29 -05:00
Dominik Ermel
ea6129cd7c mgmt/MCUmgr/grp/img: Add support for three image configuration
The commit adds support for uploading images to secondary slots
of three images.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-22 15:13:31 +02:00
Daniel Stuart
9a193ac1c3 settings: shell: Add value type and allow for strings to be used
This can be further extended to support other data types.

Signed-off-by: Daniel Stuart <daniel.stuart@localiza.com>
2023-09-22 14:02:02 +02:00
Pieter De Gendt
09e58e1ecc test: http_server: Fix copy-paste references
Fixed HTTP resource references in test_HTTP_RESOURCE_DEFINE.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-09-22 13:44:13 +02:00
Pieter De Gendt
e24bb4a5a0 net: http: service: Fix typo in HTTP_RESOURCE_FOREACH doc
Fixed a documentation typo.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-09-22 13:44:13 +02:00
Marc Herbert
4cba9e6d42 cmake: warn the user that the toolchain cache hides errors
When `toolchain_is_ok` fails, the error message points the user at the
CMake logs. But those logs will be empty if the user tried to compile
more than once (typically: cleans everything and tries again). So tell
the user that cleaning the toolchain cache is required to see the error.

Tell the user to "move" the cache instead of removing it in case
technical support needs the cache for forensics.

Some finicky toolchains can be "non-deterministic" and fail
_sometimes_. For instance a license server can be flaky, or the
toolchain can require an "elaborate" set of environment variables
triggering some configuration "trial-and-error". In such a
non-deterministic case deleting the cache is enough to get rid of the
issue and move on! Looking at logs is not even required; even
better. Once the toolchain cache believes that the toolchain works, any
future toolchain glitch will be obvious at actual compilation time.

To test all this:
```
 # Verify that the toolchain can compile a dummy file, if it is not we
 # won't be able to test for compatibility with certain C flags.
-zephyr_check_compiler_flag(C "" toolchain_is_ok)
+zephyr_check_compiler_flag(C "-fubar" toolchain_is_ok)
 assert(toolchain_is_ok "The toolchain is unable to build a dummy C file.\
```

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-09-22 13:42:21 +02:00
Benjamin Cabé
b6165e01ca doc: can: samples: fix bad reference to can-counter sample
Fixed a dangling reference that was silently ignored before.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 10:18:02 +01:00
Pavel Vasilyev
6267259f91 Bluetooth: Mesh: Use decimals instead of hex nums in DFD shell cmds
JSON doesn't support hexdecimals as numbers.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-22 09:30:07 +02:00
Brunon Blok
bac9b73442 boards: arm: enable stmpe811 on stm32f429i_disc1
Enable STMPE811 driver on stm32f429i_disc1 board.

Signed-off-by: Brunon Blok <bblok@internships.antmicro.com>
Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-09-22 09:29:56 +02:00
Brunon Blok
bf830ba780 drivers: input: add driver for stmpe811 i2c touch controller
This commit adds STMPE811 I2C touch controller driver.

Signed-off-by: Brunon Blok <bblok@internships.antmicro.com>
Signed-off-by: Mateusz Sierszulski <msierszulski@antmicro.com>
2023-09-22 09:29:56 +02:00
Anas Nashif
2857f781b4 boards: atmel atsamr34: fix vendor in compatible
Fix vendor in compatible and match vendor database.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-22 09:29:36 +02:00
Anas Nashif
9a0e8325f9 boards: cypress cy8xx: fix vendor in compatible
Fix vendor in compatible and match vendor database.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-22 09:29:36 +02:00
Anas Nashif
08cf158926 boards: laird BLXX: fix vendor in compatible
Fix vendor in compatible and match vendor database.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-22 09:29:36 +02:00
Anas Nashif
7d2c91aa7e boards: lpcxpresso11u68: add vendor to compatible
Add nxp as the vendor in the compatible.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-22 09:29:36 +02:00
Anas Nashif
e560bd6b8c boards: intel_adsp: fix board compatible
compatible was missing the hardware information.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-22 09:29:36 +02:00
Anas Nashif
c3827ec48e boards: add vendor to board yaml
This is coming from devicetree and corrosponds to what we have in the
dts/bindings/vendor-prefixes.txt file.

This will allow for static filtering, especially with twister, i.e. no
need to build anything to know the vendor of a board

All of the vendor data was extracted automatically from the devicetree,
so some platforms might not have the right vendor or no vendor at all
right now, we need to fix some of the DTS information or do this
manually to get this 100% correct. But we are close.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-22 09:29:36 +02:00
Anas Nashif
3966d30a4f twister: support filtering by vendor
Add a new option --vendor which allows filtering by vendors tracked in
the board/platform yaml file. The vendor string is compatible with DTS
and is what we have in dts/bindings/vendor-prefixes.txt.

Providing multiple vendors is also supported.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-22 09:29:36 +02:00
Carlo Caione
85c4111002 memory-attr: Rationalize _MASK and _GET(x) macros
Let's make this official: we use the suffix `_MASK` for the define
carrying the GENMASK for the attributes, and the suffix `_GET(x)` for
the actual macro extracting the attributes.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-09-22 09:27:57 +02:00
Petr Hlineny
b2fb3d49bf drivers: i2c: stm32: Fix for i2c PM
Remove unwanted "pm_device_runtime_get" lock which makes i2c power
management working incorrectly.

Fixes: #62790
Signed-off-by: Petr Hlineny <development@hlineny.cz>
2023-09-22 09:27:46 +02:00
Robert Lubos
05e974cab0 net: openthread: Fix TX time inconsistency in multi-CCA TX mode docs
Align with other delayed TX modes, by specifying the transmit time as
the start of the frame PHR, not SHR.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-09-22 09:27:35 +02:00
Fabian Blatz
b94641697f samples/modules: Add LVGL demo sample
Adds a sample which allows to build the LVGL upstream demo applications
(music, benchmark, stress).

Resolves issue #62744.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-09-22 09:26:29 +02:00
Jaxson Han
2a8548b036 tests: Kernel: semaphore: semaphore: Set test case to 1cpu
The test_sem_take_timeout_isr depends on the thread's priority. But for
SMP platforms, the priority is different with no-SMP. High-priority
threads and low-priority threads might run simultaneously at different
cores. Set the test case run at 1cpu to fix such an issue.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
5b8df16ef6 samples: arch: smp: pi: fix the stack overflow issue
The stack guard report this testcase has the stack overflow issue. To
fix the issue, slightly increse the stack size.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
64086d04d5 tests: kernel: threads: dynamic_thread: increase the heap size
The heap size is not enough so that it will cause the testcase fail.
Increase to 32k to make sure it works for a long time in the future.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
eeaf3bdb2d tests: posix: eventfd: Move thread from stack to data section
The test case allocate struct k_thread thread in the stack. This will
lead the random initial value of thread and thus cause the test cases
randomly hang. To fix such issue, move the declartion of struct k_thread
thread outside the function as a stacic variable.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
0928830409 arch: arm64: Enable stack guard for v8R
Enable stack guard for v8R which is backed by MPU.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
5878898328 arch: arm64: Add stack guard support for MPU
To make the stack guard works well, clean and refine the MPU code. To
save the MPU regions (the number of MPU regions are limited), we choose
to remove the guard region. Comparing to add an individual region to
guard the stack, removing the guard region can at least save 2 regions
per core.

Similarly with userspace, the stack guard will leverage the dynamic
regions switching mechanism which means we need a region switch during
the context switch. Otherwise, the other option is using stack guard
region, but this is very limited since the number of MPU regions is
limited.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
d3ec98806d arch: arm64: Refactor the stack relevant macros
Refactor the stack relevant macros to prepare to introduce the stack
guard. Also add comments about the changes related to stack layout.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
d4dd47b9c5 arch: arm64: Add stack check at z_arm64_fatal_error
Add the stack check function z_arm64_stack_corruption_check at
z_arm64_fatal_error to handle the stack overflow triggered by the
hardware region.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
1fe9a06d8b arch: arm64: Kconfig: Introduce ARM64_STACK_PROTECTION
Introduce the ARM64_STACK_PROTECTION config. This option leverages the
MMU or MPU to cause a system fatal error if the bounds of the current
process stack are overflowed. This is done by preceding all stack areas
with a fixed guard region. The config depends on MPU for now since MMU
stack protection is not ready.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
1ac3d1cc5e arch: arm64: thread: Clean thread arch when creating thread
Clean the thread->arch during the arch_new_thread to avoid unexpected
behavior. If the thread struct is allocated from heap or in stack, the
data in thread->arch might be dirty.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Jaxson Han
c57fa2c231 arch: arm64: Fix the cache coherence issue
Accessing mem before mmu or mpu init will cause a cache coherence issue.
To avoid such a problem, move the safe exception stack init function
after the mmu or mpu is initiated.

Also change the data section attribute from INNER_SHAREABLE to
OUTER_SHAREABLE. Otherwise there will be a cache coherence issue during
the memory regions switch. Because we are using background region to do
the regions switch, and the default background region is
OUTER_SHAREABLE, if we use INNER_SHAREABLE as the foreground region,
then we have to flush all cache regions to make sure the cached values
are right. However, flushing all regions is too heavy, so we set
OUTER_SHAREABLE to fix this issue.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
Manuel Argüelles
cdcba384bc spi: nxp_s32: use clock control APIs
Use clock control API to retrieve the module's frequency and
update the boards using it to provide the source clocks.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 09:24:40 +02:00
Manuel Argüelles
be08ce18d0 wdt: nxp_s32: use clock control APIs
Use clock control API to retrieve the module's frequency and
update the boards using it to provide the source clocks.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 09:24:32 +02:00
Daniel Baluta
b4998c357e mm_drv: tlb: Fix compile time warning
This fixes the following compile time warning;

drivers/mm/mm_drv_intel_adsp_mtl_tlb.c: In function 'sys_mm_drv_mm_init':
include/zephyr/sys/__assert.h:44:52: error: format '%p' expects argument
of type 'void *', but argument 2 has type
'long unsigned int' [-Werror=format=]
__ASSERT_PRINT("\t" fmt "\n", ##__VA_ARGS__)

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2023-09-22 09:24:02 +02:00
Pavel Vasilyev
ac050455c5 Bluetooth: Mesh: Fix printing device UUID
IS_ENABLED was incorrectly used here.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-22 09:23:44 +02:00
Manuel Argüelles
45c8cb2343 counter: nxp_pit: use clock control to obtain module's clock rate
Use standard clock control API to retrieve the PIT clock rate instead of
using the HAL.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 09:23:30 +02:00
Manuel Argüelles
ddaacd9ee8 counter: nxp_pit: allow to specify max load value
The PIT maximum load value may not be always 32-bit. Allow the SoC to
define this value from devicetree.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 09:23:30 +02:00
Manuel Argüelles
f8e16ae81a counter: nxp_pit: support flexible number of interrupts
Depending on the SoC design, the PIT channel interrupts can be
individual or OR'ed together to a single interrupt line.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 09:23:30 +02:00
Manuel Argüelles
d590fb2f78 counter: nxp_pit: support only top callback
This periodic timer (PIT) has a single load value register for each
channel, which is currently used for both alarm and top callback APIs.
If using both APIs together (which is a valid use-case) it will write
to the same register causing unexpected behavior of the timer.

The nature of the PIT is to trigger an event (like interrupts) at a
certain rate, and not to produce single-shot events. Hence keep only top
callback functionality.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 09:23:30 +02:00
Manuel Argüelles
e22f634f33 counter: nxp_pit: support multiple instances
Add support for multiple device instances.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-22 09:23:30 +02:00
Tomasz Bursztyka
ba02d85c74 doc/nvme: NVMe mandates dword-aligned buffer addresses
In Zephyr, this is let to the disk access API user. There is nothing the
driver can do about it.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-09-22 09:23:18 +02:00
Tomasz Bursztyka
95b8493857 drivers/nvme: Return an error in case of non dword-aligned data buffer
This is a specific case for NVMe where given data buffer pointers must
be dword (4 bytes) aligned.

There is no virtual memory management between the user thread and NVMe
driver (which one could detect such wrong alignement on physical memory
and thus reallocate the memory properly, so it would be fully
transparent for the user thread), thus the need to push that check to
the user.

This has been going under the radar so far as Qemu does not seem to
follow NVMe specifications where PRP1 (in DPTR) must always be
dword-aligned. It really does not follow the rule: specifications
details that if bits 1:0 of PRP1 are set, the controller may generate
an error or treat the address as if these bits were unset. Seems like
a bug in Qemu, I did not check the code there however.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-09-22 09:23:18 +02:00
Tomasz Bursztyka
2caced752a drivers/nvme: Rewrite how data pointer is filled
Former way was difficult to read, so let's have a better way which
easily follows the specifications.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-09-22 09:23:18 +02:00
Tomasz Bursztyka
f21760252a drivers/nvme: Make sure PRP2 value is encoded in little endian.
To avoid issue in address translation when CPU is running in big endian.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-09-22 09:23:18 +02:00
Tomasz Bursztyka
0b45688335 drivers/nvme: Rely on CONFIG_MMU_PAGE_SIZE for PRP
Getting rid of 4Kib page size hardcoded value on PRP handling.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-09-22 09:23:18 +02:00
Tomasz Bursztyka
eeea64a19c drivers/nvme: Add debug information in case of request error
This will provide a detailed error status report.

As for most of the original code of the driver, this is a backport of
the work done by Jim Harris in FreeBSD.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-09-22 09:23:18 +02:00
Mulin Chao
68dd26574c boards: arm: npcx: add support for npcx4m8f_evb
Add support for npcx4m8f_evb board that is a development platform to
evaluate the Nuvoton NPCX4 embedded controller.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-09-22 09:23:06 +02:00
Fabio Baltieri
794893315a intc: loapic: convert DEVICE_DEFINE to DEVICE_DT_INST_DEFINE
Convert DEVICE_DEFINE to DEVICE_DT_INST_DEFINE, this allows the build
system to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
ceb02b3f31 intc: intc_nxp_pint: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Adjust some DT_INST macro as well while at it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
e9a67aabf7 intc: swerv_pic: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
aea618ebc0 intc: nuclei_eclic: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
a7e0cb0c80 intc: vexriscv_litex: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Fix an incorrectly declared compatible and adjust some DT macros as
well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
6fbe62bdb5 intc: arcv2: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
17ae9a7680 intc: gic: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
1539ca906e intc: irqmp: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Fabio Baltieri
843f66f52d intc: plic: convert SYS_INIT to DEVICE_DT_INST_DEFINE
Convert SYS_INIT to DEVICE_DT_INST_DEFINE, this allows the build system
to track the device dependencies and ensure that the interrupt
controller is initialized before other devices using it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-22 09:22:55 +02:00
Emil Gydesen
2147eefa15 Bluetooth: PACS: Remove CONFIG_BT_PACS_{SNK,SRC}_CONTEXT
The Kconfig option was never used by the stack and should
thus be removed.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-09-22 09:21:53 +02:00
Benjamin Cabé
f6a4217a88 doc: driver: samples: Update driver samples to use new Sphinx extension
Migrated existing driver samples to use the new code-sample directive
and role.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 09:21:43 +02:00
Benjamin Cabé
336941a1e5 samples: drivers: cleanup led_xec README
The README file for led_xec sample had several formatting issues
causing it to render very poorly.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 09:21:43 +02:00
Guillaume Gautier
01f080ebe0 doc: releases: update migration guide
Update migration guide

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 09:21:34 +02:00
Guillaume Gautier
fa1f33316d dts: arm: st: remove sensor channels from stm32 adc nodes
Remove temp-, vref- and vbat-channel from STM32 ADC nodes as it is not
used in the driver anymore.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 09:21:34 +02:00
Guillaume Gautier
a1adc17b31 drivers: adc: stm32: move internal path setting to sensor drivers
On some STM32 families (such as F4), temperature and Vbat sensor share the
same ADC channel, which can lead to conflict when reading them, and wrong
measurement can follow.

To alleviate this problem, this commit moves the setting of the common
path internal channel to the sensor drivers themselves instead of doing
it in the ADC driver.

The teardown is still done in the ADC driver, systematically, instead of
channel by channel (which has the same result).

By moving this logic in the sensor drivers, the properties temp-channel,
vbat-channel and vref-channel becomes useless and are thus removed.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 09:21:34 +02:00
Saw Xu
8951bab7e7 samples: subsys: usb: audio: Add volume control case
Add sample code for getting volume to headset sample and
headphone_microphone sample

Signed-off-by: Saw Xu <Saw1993@126.com>
2023-09-21 15:04:14 +02:00
Saw Xu
459f8e3251 usb: device: audio: Support volume control
Makes USB device audio class support volume control feature.

Signed-off-by: Saw Xu <Saw1993@126.com>
2023-09-21 15:04:14 +02:00
Saw Xu
16487c7047 dts: bindings: usb_audio: Add volume properties
Add volume feature specific fields. So remove this outdated description.

Signed-off-by: Saw Xu <Saw1993@126.com>
2023-09-21 15:04:14 +02:00
Erwan Gouriou
235319cfaa samples: boards: stm32: power_mgmt: Disable exclusive device PM
Disable exclusive PM run time handling as PM_DEVICE_RUNTIME is not
supported in all drivers.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-09-21 15:04:05 +02:00
Gerard Marull-Paretas
3ff5222a6f tests: kernel: device: drop APPLICATION level
Level is about to be removed, so stop testing it.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-21 15:02:45 +02:00
Gerard Marull-Paretas
beec8b05a8 device: only allow PRE_KERNEL_1/2 and POST_KERNEL levels
Because devices share the same underlying infrastructure with SYS_INIT,
the same levels have always been available. However, not all of them are
needed, and some are not even usable. For example, `EARLY` can't be used
because when initialized `z_device_state_init` has not been called yet.
`SMP` has never been used by device drivers, and it is now in question,
likely to be moved to SMP specific hooks. Finally, `APPLICATION` does
not make much sense in the context of Kernel devices. Note that of the 3
levels just mentioned, only one was actively tested (`APPLICATION`) by
Kernel tests, meaning others were likely never considered in the context
of devices.

This patch leaves `PRE_KERNEL_1`, `PRE_KERNEL_2` and `POST_KERNEL`
available to devices. Others have been deprecated, and will generate a
compiler warning if used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-21 15:02:45 +02:00
12129 changed files with 571412 additions and 137353 deletions

View File

@@ -67,6 +67,7 @@ ForEachMacros:
- 'Z_GENLIST_FOR_EACH_NODE_SAFE'
- 'STRUCT_SECTION_FOREACH'
- 'TYPE_SECTION_FOREACH'
- 'K_SPINLOCK'
IfMacros:
- 'CHECKIF'
# Disabled for now, see bug https://github.com/zephyrproject-rtos/zephyr/issues/48520

6
.github/SECURITY.md vendored
View File

@@ -8,12 +8,12 @@ updates:
- The most recent release, and the release prior to that.
- Active LTS releases.
At this time, with the latest release of v3.3, the supported
At this time, with the latest release of v3.5, the supported
versions are:
- v2.7: Current LTS
- v3.2: Prior release
- v3.3: Current release
- v3.4: Prior release
- v3.5: Current release
## Reporting process

View File

@@ -1,51 +0,0 @@
name: Pull Request Assigner
on:
pull_request_target:
types:
- opened
- synchronize
- reopened
- ready_for_review
branches:
- main
- v*-branch
issues:
types:
- labeled
jobs:
assignment:
name: Pull Request Assignment
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
steps:
- name: Install Python dependencies
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -U PyGithub>=1.55 west
- name: Check out source code
uses: actions/checkout@v3
- name: Run assignment script
env:
GITHUB_TOKEN: ${{ secrets.ZB_GITHUB_TOKEN }}
run: |
FLAGS="-v"
FLAGS+=" -o ${{ github.event.repository.owner.login }}"
FLAGS+=" -r ${{ github.event.repository.name }}"
FLAGS+=" -M MAINTAINERS.yml"
if [ "${{ github.event_name }}" = "pull_request_target" ]; then
FLAGS+=" -P ${{ github.event.pull_request.number }}"
elif [ "${{ github.event_name }}" = "issues" ]; then
FLAGS+=" -I ${{ github.event.issue.number }}"
elif [ "${{ github.event_name }}" = "schedule" ]; then
FLAGS+=" --modules"
else
echo "Unknown event: ${{ github.event_name }}"
exit 1
fi
python3 scripts/set_assignees.py $FLAGS

52
.github/workflows/assigner.yml.disabled vendored Normal file
View File

@@ -0,0 +1,52 @@
name: Pull Request Assigner
on:
pull_request_target:
types:
- opened
- synchronize
- reopened
- ready_for_review
branches:
- main
- collab-*
- v*-branch
issues:
types:
- labeled
jobs:
assignment:
name: Pull Request Assignment
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
steps:
- name: Install Python dependencies
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -U PyGithub>=1.55 west
- name: Check out source code
uses: actions/checkout@v4
- name: Run assignment script
env:
GITHUB_TOKEN: ${{ secrets.ZB_GITHUB_TOKEN }}
run: |
FLAGS="-v"
FLAGS+=" -o ${{ github.event.repository.owner.login }}"
FLAGS+=" -r ${{ github.event.repository.name }}"
FLAGS+=" -M MAINTAINERS.yml"
if [ "${{ github.event_name }}" = "pull_request_target" ]; then
FLAGS+=" -P ${{ github.event.pull_request.number }}"
elif [ "${{ github.event_name }}" = "issues" ]; then
FLAGS+=" -I ${{ github.event.issue.number }}"
elif [ "${{ github.event_name }}" = "schedule" ]; then
FLAGS+=" --modules"
else
echo "Unknown event: ${{ github.event_name }}"
exit 1
fi
python3 scripts/set_assignees.py $FLAGS

View File

@@ -1,31 +0,0 @@
name: Backport Issue Check
on:
pull_request_target:
branches:
- v*-branch
jobs:
backport:
name: Backport Issue Check
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Check out source code
uses: actions/checkout@v3
- name: Install Python dependencies
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -U pygithub
- name: Run backport issue checker
env:
GITHUB_TOKEN: ${{ secrets.ZB_GITHUB_TOKEN }}
run: |
./scripts/release/list_backports.py \
-o ${{ github.event.repository.owner.login }} \
-r ${{ github.event.repository.name }} \
-b ${{ github.event.pull_request.base.ref }} \
-p ${{ github.event.pull_request.number }}

View File

@@ -0,0 +1,39 @@
name: Backport Issue Check
on:
pull_request_target:
types:
- edited
- opened
- reopened
- synchronize
branches:
- v*-branch
jobs:
backport:
name: Backport Issue Check
concurrency:
group: backport-issue-check-${{ github.ref }}
cancel-in-progress: true
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Check out source code
uses: actions/checkout@v4
- name: Install Python dependencies
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -U pygithub
- name: Run backport issue checker
env:
GITHUB_TOKEN: ${{ secrets.ZB_GITHUB_TOKEN }}
run: |
./scripts/release/list_backports.py \
-o ${{ github.event.repository.owner.login }} \
-r ${{ github.event.repository.name }} \
-b ${{ github.event.pull_request.base.ref }} \
-p ${{ github.event.pull_request.number }}

View File

@@ -1,99 +0,0 @@
# Copyright (c) 2023 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
name: Twister BlackBox TestSuite
on:
push:
branches:
- main
paths:
- 'scripts/pylib/twister/**'
- 'scripts/twister'
- 'scripts/tests/twister_blackbox/**'
- '.github/workflows/blackbox_tests.yml'
pull_request:
branches:
- main
paths:
- 'scripts/pylib/twister/**'
- 'scripts/twister'
- 'scripts/tests/twister_blackbox/**'
- '.github/workflows/blackbox_tests.yml'
jobs:
twister-tests:
name: Twister Black Box Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10']
os: [ubuntu-22.04]
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
env:
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
steps:
- name: Apply Container Owner Mismatch Workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Checkout
uses: actions/checkout@v3
- name: Environment Setup
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
west init -l . || true
west config --global update.narrow true
west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /github/cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
- name: Set Up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Go Into Venv
shell: bash
run: |
python3 -m pip install --user virtualenv
python3 -m venv env
source env/bin/activate
echo "$(which python)"
- name: Install Packages
run: |
python3 -m pip install -U -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt -r scripts/requirements-run-test.txt
- name: Run Pytest For Twister Black Box Tests
shell: bash
env:
ZEPHYR_BASE: ./
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
run: |
echo "Run twister tests"
source zephyr-env.sh
PYTHONPATH="./scripts/tests" pytest ./scripts/tests/twister_blackbox
- name: Upload Unit Test Results
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: Black Box Test Results (Python ${{ matrix.python-version }})
path: |
twister-out*/twister.log
twister-out*/twister.json
twister-out*/testplan.log
retention-days: 14
- name: Clear Workspace
if: success() || failure()
run: |
rm -rf twister-out*/

View File

@@ -1,165 +0,0 @@
name: BabbleSim Tests
on:
pull_request:
paths:
- ".github/workflows/bsim-tests.yaml"
- ".github/workflows/bsim-tests-publish.yaml"
- "west.yml"
- "subsys/bluetooth/**"
- "tests/bsim/**"
- "samples/bluetooth/**"
- "boards/posix/**"
- "soc/posix/**"
- "arch/posix/**"
- "include/zephyr/arch/posix/**"
- "scripts/native_simulator/**"
- "samples/net/sockets/echo_*/**"
- "modules/openthread/**"
- "subsys/net/l2/openthread/**"
- "include/zephyr/net/openthread.h"
- "drivers/ieee802154/**"
- "include/zephyr/net/ieee802154*"
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
bsim-test:
if: github.repository_owner == 'zephyrproject-rtos'
runs-on: zephyr-runner-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
options: '--entrypoint /bin/bash'
volumes:
- /repo-cache/zephyrproject:/github/cache/zephyrproject
env:
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
BSIM_OUT_PATH: /opt/bsim/
BSIM_COMPONENTS_PATH: /opt/bsim/components
EDTT_PATH: ../tools/edtt
bsim_bluetooth_test_results_file: ./bsim_bluetooth/bsim_results.xml
bsim_networking_test_results_file: ./bsim_net/bsim_results.xml
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /github/cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Environment Setup
env:
BASE_REF: ${{ github.base_ref }}
run: |
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Bot"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
west init -l . || true
west config manifest.group-filter -- +ci
west config --global update.narrow true
west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /github/cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
- name: Check common triggering files
uses: tj-actions/changed-files@v35
id: check-common-files
with:
files: |
.github/workflows/bsim-tests.yaml
.github/workflows/bsim-tests-publish.yaml
west.yml
boards/posix/**
soc/posix/**
arch/posix/**
include/zephyr/arch/posix/**
scripts/native_simulator/**
tests/bsim/*
- name: Check if Bluethooth files changed
uses: tj-actions/changed-files@v35
id: check-bluetooth-files
with:
files: |
tests/bsim/bluetooth/**
samples/bluetooth/**
subsys/bluetooth/**
- name: Check if Networking files changed
uses: tj-actions/changed-files@v35
id: check-networking-files
with:
files: |
tests/bsim/net/**
samples/net/sockets/echo_*/**
modules/openthread/**
subsys/net/l2/openthread/**
include/zephyr/net/openthread.h
drivers/ieee802154/**
include/zephyr/net/ieee802154*
- name: Update BabbleSim to manifest revision
if: >
steps.check-bluetooth-files.outputs.any_changed == 'true'
|| steps.check-networking-files.outputs.any_changed == 'true'
|| steps.check-common-files.outputs.any_changed == 'true'
run: |
export BSIM_VERSION=$( west list bsim -f {revision} )
echo "Manifest points to bsim sha $BSIM_VERSION"
cd /opt/bsim_west/bsim
git fetch -n origin ${BSIM_VERSION}
git config --global advice.detachedHead false
git checkout ${BSIM_VERSION}
west update
make everything -s -j 8
- name: Run Bluetooth Tests with BSIM
if: steps.check-bluetooth-files.outputs.any_changed == 'true' || steps.check-common-files.outputs.any_changed == 'true'
run: |
export ZEPHYR_BASE=${PWD}
WORK_DIR=${ZEPHYR_BASE}/bsim_bluetooth nice tests/bsim/bluetooth/compile.sh
RESULTS_FILE=${ZEPHYR_BASE}/${bsim_bluetooth_test_results_file} \
SEARCH_PATH=tests/bsim/bluetooth/ tests/bsim/run_parallel.sh
- name: Run Networking Tests with BSIM
if: steps.check-networking-files.outputs.any_changed == 'true' || steps.check-common-files.outputs.any_changed == 'true'
run: |
export ZEPHYR_BASE=${PWD}
WORK_DIR=${ZEPHYR_BASE}/bsim_net nice tests/bsim/net/compile.sh
RESULTS_FILE=${ZEPHYR_BASE}/${bsim_networking_test_results_file} \
SEARCH_PATH=tests/bsim/net/ tests/bsim/run_parallel.sh
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: bsim-test-results
path: |
./bsim_bluetooth/bsim_results.xml
./bsim_net/bsim_results.xml
${{ github.event_path }}
if-no-files-found: warn
- name: Upload Event Details
if: always()
uses: actions/upload-artifact@v3
with:
name: event
path: |
${{ github.event_path }}

View File

@@ -0,0 +1,219 @@
name: BabbleSim Tests
on:
pull_request:
paths:
- ".github/workflows/bsim-tests.yaml"
- ".github/workflows/bsim-tests-publish.yaml"
- "west.yml"
- "subsys/bluetooth/**"
- "tests/bsim/**"
- "samples/bluetooth/**"
- "boards/posix/**"
- "soc/posix/**"
- "arch/posix/**"
- "include/zephyr/arch/posix/**"
- "scripts/native_simulator/**"
- "samples/net/sockets/echo_*/**"
- "modules/openthread/**"
- "subsys/net/l2/openthread/**"
- "include/zephyr/net/openthread.h"
- "drivers/ieee802154/**"
- "include/zephyr/net/ieee802154*"
- "drivers/serial/*nrfx*"
- "tests/drivers/uart/**"
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
bsim-test:
if: github.repository_owner == 'zephyrproject-rtos'
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.7.20240313
options: '--entrypoint /bin/bash'
env:
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
BSIM_OUT_PATH: /opt/bsim/
BSIM_COMPONENTS_PATH: /opt/bsim/components
EDTT_PATH: ../tools/edtt
bsim_bt_52_test_results_file: ./bsim_bt/52_bsim_results.xml
bsim_bt_53_test_results_file: ./bsim_bt/53_bsim_results.xml
bsim_bt_53split_test_results_file: ./bsim_bt/53_bsim_split_results.xml
bsim_net_52_test_results_file: ./bsim_net/52_bsim_results.xml
bsim_uart_test_results_file: ./bsim_uart/uart_bsim_results.xml
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /repo-cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Environment Setup
env:
BASE_REF: ${{ github.base_ref }}
run: |
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Bot"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
west init -l . || true
west config manifest.group-filter -- +ci
west config --global update.narrow true
west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /repo-cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: Check common triggering files
uses: tj-actions/changed-files@v41
id: check-common-files
with:
files: |
.github/workflows/bsim-tests.yaml
.github/workflows/bsim-tests-publish.yaml
west.yml
boards/posix/**
soc/posix/**
arch/posix/**
include/zephyr/arch/posix/**
scripts/native_simulator/**
tests/bsim/*
- name: Check if Bluethooth files changed
uses: tj-actions/changed-files@v41
id: check-bluetooth-files
with:
files: |
tests/bsim/bluetooth/**
samples/bluetooth/**
subsys/bluetooth/**
- name: Check if Networking files changed
uses: tj-actions/changed-files@v41
id: check-networking-files
with:
files: |
tests/bsim/net/**
samples/net/sockets/echo_*/**
modules/openthread/**
subsys/net/l2/openthread/**
include/zephyr/net/openthread.h
drivers/ieee802154/**
include/zephyr/net/ieee802154*
- name: Check if UART files changed
uses: tj-actions/changed-files@v41
id: check-uart-files
with:
files: |
tests/bsim/drivers/uart/**
drivers/serial/*nrfx*
tests/drivers/uart/**
- name: Update BabbleSim to manifest revision
if: >
steps.check-bluetooth-files.outputs.any_changed == 'true'
|| steps.check-networking-files.outputs.any_changed == 'true'
|| steps.check-uart-files.outputs.any_changed == 'true'
|| steps.check-common-files.outputs.any_changed == 'true'
run: |
export BSIM_VERSION=$( west list bsim -f {revision} )
echo "Manifest points to bsim sha $BSIM_VERSION"
cd /opt/bsim_west/bsim
git fetch -n origin ${BSIM_VERSION}
git config --global advice.detachedHead false
git checkout ${BSIM_VERSION}
west update
make everything -s -j 8
- name: Run Bluetooth Tests with BSIM
if: steps.check-bluetooth-files.outputs.any_changed == 'true' || steps.check-common-files.outputs.any_changed == 'true'
run: |
export ZEPHYR_BASE=${PWD}
export WORK_DIR=${ZEPHYR_BASE}/bsim_bt
# Build and run the BT tests for nrf52_bsim:
nice tests/bsim/bluetooth/compile.sh
RESULTS_FILE=${ZEPHYR_BASE}/${bsim_bt_52_test_results_file} \
TESTS_FILE=tests/bsim/bluetooth/tests.nrf52bsim.txt tests/bsim/run_parallel.sh
# Build and run the BT controller tests also for the nrf5340bsim_nrf5340_cpunet
BOARD=nrf5340bsim_nrf5340_cpunet \
nice tests/bsim/bluetooth/compile.nrf5340bsim_nrf5340_cpunet.sh
BOARD=nrf5340bsim_nrf5340_cpunet \
RESULTS_FILE=${ZEPHYR_BASE}/${bsim_bt_53_test_results_file} \
TESTS_FILE=tests/bsim/bluetooth/tests.nrf5340bsim_nrf5340_cpunet.txt \
tests/bsim/run_parallel.sh
# Build and run the nrf5340 split stack tests set
BOARD=nrf5340bsim_nrf5340_cpuapp \
nice tests/bsim/bluetooth/compile.nrf5340bsim_nrf5340_cpuapp.sh
BOARD=nrf5340bsim_nrf5340_cpuapp \
RESULTS_FILE=${ZEPHYR_BASE}/${bsim_bt_53split_test_results_file} \
TESTS_FILE=tests/bsim/bluetooth/tests.nrf5340bsim_nrf5340_cpuapp.txt \
tests/bsim/run_parallel.sh
- name: Run Networking Tests with BSIM
if: steps.check-networking-files.outputs.any_changed == 'true' || steps.check-common-files.outputs.any_changed == 'true'
run: |
export ZEPHYR_BASE=${PWD}
WORK_DIR=${ZEPHYR_BASE}/bsim_net nice tests/bsim/net/compile.sh
RESULTS_FILE=${ZEPHYR_BASE}/${bsim_net_52_test_results_file} \
SEARCH_PATH=tests/bsim/net/ tests/bsim/run_parallel.sh
- name: Run UART Tests with BSIM
if: steps.check-uart-files.outputs.any_changed == 'true' || steps.check-common-files.outputs.any_changed == 'true'
run: |
echo "UART: Single device tests"
./scripts/twister -T tests/drivers/uart/ --force-color --inline-logs -v -M -p nrf52_bsim \
--fixture gpio_loopback -- -uart0_loopback
echo "UART: Multi device tests"
export ZEPHYR_BASE=${PWD}
WORK_DIR=${ZEPHYR_BASE}/bsim_uart nice tests/bsim/drivers/uart/compile.sh
RESULTS_FILE=${ZEPHYR_BASE}/${bsim_uart_test_results_file} \
SEARCH_PATH=tests/bsim/drivers/uart/ tests/bsim/run_parallel.sh
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: bsim-test-results
path: |
./bsim_bt/52_bsim_results.xml
./bsim_bt/53_bsim_results.xml
./bsim_bt/53_bsim_split_results.xml
./bsim_net/52_bsim_results.xml
./bsim_uart/uart_bsim_results.xml
./twister-out/twister.xml
./twister-out/twister.json
${{ github.event_path }}
if-no-files-found: warn
- name: Upload Event Details
if: always()
uses: actions/upload-artifact@v4
with:
name: event
path: |
${{ github.event_path }}

View File

@@ -1,67 +0,0 @@
# Copyright (c) 2021, 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Make a snapshot of open bugs as a python pickle file, compressed
# using xz. Upload the xz file to Amazon S3.
name: Bug Snapshot
on:
workflow_dispatch:
branches: [main]
schedule:
# Run daily at 14:05
- cron: '5 14 * * *'
jobs:
make_bugs_pickle:
name: Make bugs pickle
runs-on: ubuntu-22.04
if: github.repository_owner == 'zephyrproject-rtos'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Python dependencies
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -U pygithub
- name: Snapshot bugs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BUGS_PICKLE_FILENAME="zephyr-bugs-$(date -I).pickle.xz"
BUGS_PICKLE_PATH="${RUNNER_TEMP}/${BUGS_PICKLE_FILENAME}"
set -euo pipefail
python3 scripts/make_bugs_pickle.py | xz > ${BUGS_PICKLE_PATH}
echo "BUGS_PICKLE_FILENAME=${BUGS_PICKLE_FILENAME}" >> ${GITHUB_ENV}
echo "BUGS_PICKLE_PATH=${BUGS_PICKLE_PATH}" >> ${GITHUB_ENV}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Upload to AWS S3
run: |
REPOSITORY_NAME="${GITHUB_REPOSITORY#*/}"
PUBLISH_BUCKET="builds.zephyrproject.org"
PUBLISH_DOMAIN="builds.zephyrproject.io"
if [ "${{github.event_name}}" = "schedule" ]; then
PUBLISH_ROOT="${REPOSITORY_NAME}/bug-snapshot/daily"
else
PUBLISH_ROOT="${REPOSITORY_NAME}/bug-snapshot"
fi
PUBLISH_UPLOAD_URI="s3://${PUBLISH_BUCKET}/${PUBLISH_ROOT}/${BUGS_PICKLE_FILENAME}"
PUBLISH_DOWNLOAD_URI="https://${PUBLISH_DOMAIN}/${PUBLISH_ROOT}/${BUGS_PICKLE_FILENAME}"
aws s3 cp --quiet ${BUGS_PICKLE_PATH} ${PUBLISH_UPLOAD_URI}
echo "Bug pickle is available at: ${PUBLISH_DOWNLOAD_URI}" >> ${GITHUB_STEP_SUMMARY}

View File

@@ -0,0 +1,67 @@
# Copyright (c) 2021, 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Make a snapshot of open bugs as a python pickle file, compressed
# using xz. Upload the xz file to Amazon S3.
name: Bug Snapshot
on:
workflow_dispatch:
branches: [main]
schedule:
# Run daily at 14:05
- cron: '5 14 * * *'
jobs:
make_bugs_pickle:
name: Make bugs pickle
runs-on: ubuntu-22.04
if: github.repository_owner == 'zephyrproject-rtos'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Python dependencies
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -U pygithub
- name: Snapshot bugs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BUGS_PICKLE_FILENAME="zephyr-bugs-$(date -I).pickle.xz"
BUGS_PICKLE_PATH="${RUNNER_TEMP}/${BUGS_PICKLE_FILENAME}"
set -euo pipefail
python3 scripts/make_bugs_pickle.py | xz > ${BUGS_PICKLE_PATH}
echo "BUGS_PICKLE_FILENAME=${BUGS_PICKLE_FILENAME}" >> ${GITHUB_ENV}
echo "BUGS_PICKLE_PATH=${BUGS_PICKLE_PATH}" >> ${GITHUB_ENV}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Upload to AWS S3
run: |
REPOSITORY_NAME="${GITHUB_REPOSITORY#*/}"
PUBLISH_BUCKET="builds.zephyrproject.org"
PUBLISH_DOMAIN="builds.zephyrproject.io"
if [ "${{github.event_name}}" = "schedule" ]; then
PUBLISH_ROOT="${REPOSITORY_NAME}/bug-snapshot/daily"
else
PUBLISH_ROOT="${REPOSITORY_NAME}/bug-snapshot"
fi
PUBLISH_UPLOAD_URI="s3://${PUBLISH_BUCKET}/${PUBLISH_ROOT}/${BUGS_PICKLE_FILENAME}"
PUBLISH_DOWNLOAD_URI="https://${PUBLISH_DOMAIN}/${PUBLISH_ROOT}/${BUGS_PICKLE_FILENAME}"
aws s3 cp --quiet ${BUGS_PICKLE_PATH} ${PUBLISH_UPLOAD_URI}
echo "Bug pickle is available at: ${PUBLISH_DOWNLOAD_URI}" >> ${GITHUB_STEP_SUMMARY}

View File

@@ -1,163 +0,0 @@
name: Build with Clang/LLVM
on: pull_request_target
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
clang-build:
if: github.repository_owner == 'zephyrproject-rtos'
runs-on: zephyr-runner-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
options: '--entrypoint /bin/bash'
volumes:
- /repo-cache/zephyrproject:/github/cache/zephyrproject
strategy:
fail-fast: false
matrix:
platform: ["native_posix"]
env:
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
LLVM_TOOLCHAIN_PATH: /usr/lib/llvm-16
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
BASE_REF: ${{ github.base_ref }}
outputs:
report_needed: ${{ steps.twister.outputs.report_needed }}
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /github/cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: Environment Setup
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Bot"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
west init -l . || true
west config --global update.narrow true
# In some cases modules are left in a state where they can't be
# updated (i.e. when we cancel a job and the builder is killed),
# So first retry to update, if that does not work, remove all modules
# and start over. (Workaround until we implement more robust module
# west caching).
west update --path-cache /github/cache/zephyrproject 2>&1 1> west.log || west update --path-cache /github/cache/zephyrproject 2>&1 1> west2.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /github/cache/zephyrproject)
- name: Check Environment
run: |
cmake --version
${LLVM_TOOLCHAIN_PATH}/bin/clang --version
gcc --version
ls -la
- name: Prepare ccache timestamp/data
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
string(REPLACE "/" "_" repo ${{github.repository}})
string(REPLACE "-" "_" repo2 ${repo})
file(APPEND $ENV{GITHUB_OUTPUT} "repo=${repo2}\n")
- name: use cache
id: cache-ccache
uses: zephyrproject-rtos/action-s3-cache@v1.2.0
with:
key: ${{ steps.ccache_cache_timestamp.outputs.repo }}-${{ github.ref_name }}-clang-${{ matrix.platform }}-ccache
path: /github/home/.cache/ccache
aws-s3-bucket: ccache.zephyrproject.org
aws-access-key-id: ${{ vars.AWS_CCACHE_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_CCACHE_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- name: ccache stats initial
run: |
mkdir -p /github/home/.cache
test -d github/home/.cache/ccache && rm -rf /github/home/.cache/ccache && mv github/home/.cache/ccache /github/home/.cache/ccache
ccache -M 10G -s
- name: Run Tests with Twister
id: twister
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=llvm
# check if we need to run a full twister or not based on files changed
python3 ./scripts/ci/test_plan.py --platform ${{ matrix.platform }} -c origin/${BASE_REF}..
# We can limit scope to just what has changed
if [ -s testplan.json ]; then
echo "report_needed=1" >> $GITHUB_OUTPUT
# Full twister but with options based on changes
./scripts/twister --force-color --inline-logs -M -N -v --load-tests testplan.json --retry-failed 2
else
# if nothing is run, skip reporting step
echo "report_needed=0" >> $GITHUB_OUTPUT
fi
- name: ccache stats post
run: |
ccache -s
ccache -p
- name: Upload Unit Test Results
if: always() && steps.twister.outputs.report_needed != 0
uses: actions/upload-artifact@v3
with:
name: Unit Test Results (Subset ${{ matrix.platform }})
path: twister-out/twister.xml
clang-build-results:
name: "Publish Unit Tests Results"
needs: clang-build
runs-on: ubuntu-22.04
if: (success() || failure() ) && needs.clang-build.outputs.report_needed != 0
steps:
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- name: Merge Test Results
run: |
pip3 install junitparser junit2html
junitparser merge artifacts/*/twister.xml junit.xml
junit2html junit.xml junit-clang.html
- name: Upload Unit Test Results in HTML
if: always()
uses: actions/upload-artifact@v3
with:
name: HTML Unit Test Results
if-no-files-found: ignore
path: |
junit-clang.html
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
check_name: Unit Test Results
files: "**/twister.xml"
comment_mode: off

154
.github/workflows/clang.yaml.disabled vendored Normal file
View File

@@ -0,0 +1,154 @@
name: Build with Clang/LLVM
on: pull_request_target
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
clang-build:
if: github.repository_owner == 'zephyrproject-rtos'
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.7.20240313
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
matrix:
platform: ["native_sim"]
env:
CCACHE_DIR: /node-cache/ccache-zephyr
CCACHE_REMOTE_STORAGE: "redis://cache-*.keydb-cache.svc.cluster.local|shards=1,2,3"
CCACHE_REMOTE_ONLY: "true"
LLVM_TOOLCHAIN_PATH: /usr/lib/llvm-16
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
BASE_REF: ${{ github.base_ref }}
outputs:
report_needed: ${{ steps.twister.outputs.report_needed }}
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /repo-cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: Environment Setup
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Bot"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
west init -l . || true
west config --global update.narrow true
west config manifest.group-filter -- +ci,+optional
# In some cases modules are left in a state where they can't be
# updated (i.e. when we cancel a job and the builder is killed),
# So first retry to update, if that does not work, remove all modules
# and start over. (Workaround until we implement more robust module
# west caching).
west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.log || west update --path-cache /repo-cache/zephyrproject 2>&1 1> west2.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /repo-cache/zephyrproject)
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: Check Environment
run: |
cmake --version
${LLVM_TOOLCHAIN_PATH}/bin/clang --version
gcc --version
ls -la
- name: Set up ccache
run: |
mkdir -p ${CCACHE_DIR}
ccache -M 10G
ccache -p
ccache -z -s -vv
- name: Run Tests with Twister
id: twister
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=llvm
# check if we need to run a full twister or not based on files changed
python3 ./scripts/ci/test_plan.py --platform ${{ matrix.platform }} -c origin/${BASE_REF}..
# We can limit scope to just what has changed
if [ -s testplan.json ]; then
echo "report_needed=1" >> $GITHUB_OUTPUT
# Full twister but with options based on changes
./scripts/twister --force-color --inline-logs -M -N -v --load-tests testplan.json --retry-failed 2
else
# if nothing is run, skip reporting step
echo "report_needed=0" >> $GITHUB_OUTPUT
fi
- name: Print ccache stats
if: always()
run: |
ccache -s -vv
- name: Upload Unit Test Results
if: always() && steps.twister.outputs.report_needed != 0
uses: actions/upload-artifact@v4
with:
name: Unit Test Results (Subset ${{ matrix.platform }})
path: twister-out/twister.xml
clang-build-results:
name: "Publish Unit Tests Results"
needs: clang-build
runs-on: ubuntu-22.04
if: (success() || failure() ) && needs.clang-build.outputs.report_needed != 0
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Merge Test Results
run: |
pip3 install junitparser junit2html
junitparser merge artifacts/*/twister.xml junit.xml
junit2html junit.xml junit-clang.html
- name: Upload Unit Test Results in HTML
if: always()
uses: actions/upload-artifact@v4
with:
name: HTML Unit Test Results
if-no-files-found: ignore
path: |
junit-clang.html
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
check_name: Unit Test Results
files: "**/twister.xml"
comment_mode: off

View File

@@ -1,176 +0,0 @@
name: Code Coverage with codecov
on:
schedule:
- cron: '25 */3 * * 1-5'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
codecov:
if: github.repository == 'zephyrproject-rtos/zephyr'
runs-on: zephyr-runner-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
options: '--entrypoint /bin/bash'
volumes:
- /repo-cache/zephyrproject:/github/cache/zephyrproject
strategy:
fail-fast: false
matrix:
platform: ["native_posix", "qemu_x86", "unit_testing"]
env:
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Update PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /github/cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: west setup
run: |
west init -l . || true
west update 1> west.update.log || west update 1> west.update-2.log
- name: Check Environment
run: |
cmake --version
gcc --version
ls -la
- name: Prepare ccache keys
id: ccache_cache_prop
shell: cmake -P {0}
run: |
string(REPLACE "/" "_" repo ${{github.repository}})
string(REPLACE "-" "_" repo2 ${repo})
file(APPEND $ENV{GITHUB_OUTPUT} "repo=${repo2}\n")
- name: use cache
id: cache-ccache
uses: zephyrproject-rtos/action-s3-cache@v1.2.0
with:
key: ${{ steps.ccache_cache_prop.outputs.repo }}-${{github.event_name}}-${{matrix.platform}}-codecov-ccache
path: /github/home/.cache/ccache
aws-s3-bucket: ccache.zephyrproject.org
aws-access-key-id: ${{ vars.AWS_CCACHE_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_CCACHE_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- name: ccache stats initial
run: |
mkdir -p /github/home/.cache
test -d github/home/.cache/ccache && mv github/home/.cache/ccache /github/home/.cache/ccache
ccache -M 10G -s
- name: Run Tests with Twister (Push)
continue-on-error: true
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
mkdir -p coverage/reports
./scripts/twister --force-color -N -v --filter runnable -p ${{ matrix.platform }} --coverage -T tests
- name: Generate Coverage Report
run: |
mv twister-out/coverage.info lcov.pre.info
lcov -q --remove lcov.pre.info mylib.c --remove lcov.pre.info tests/\* \
--remove lcov.pre.info samples/\* --remove lcov.pre.info ext/\* \
--remove lcov.pre.info *generated* \
-o coverage/reports/${{ matrix.platform }}.info --rc lcov_branch_coverage=1
- name: ccache stats post
run: |
ccache -s
ccache -p
- name: Upload Coverage Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Coverage Data (Subset ${{ matrix.platform }})
path: coverage/reports/${{ matrix.platform }}.info
codecov-results:
name: "Publish Coverage Results"
needs: codecov
runs-on: ubuntu-22.04
# the codecov job might be skipped, we don't need to run this job then
if: success() || failure()
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: coverage/reports
- name: Move coverage files
run: |
mv ./coverage/reports/*/*.info ./coverage/reports
ls -la ./coverage/reports
- name: Generate list of coverage files
id: get-coverage-files
shell: cmake -P {0}
run: |
file(GLOB INPUT_FILES_LIST "coverage/reports/*.info")
set(MERGELIST "")
set(FILELIST "")
foreach(ITEM ${INPUT_FILES_LIST})
get_filename_component(f ${ITEM} NAME)
if(FILELIST STREQUAL "")
set(FILELIST "${f}")
else()
set(FILELIST "${FILELIST},${f}")
endif()
endforeach()
foreach(ITEM ${INPUT_FILES_LIST})
get_filename_component(f ${ITEM} NAME)
if(MERGELIST STREQUAL "")
set(MERGELIST "-a ${f}")
else()
set(MERGELIST "${MERGELIST} -a ${f}")
endif()
endforeach()
file(APPEND $ENV{GITHUB_OUTPUT} "mergefiles=${MERGELIST}\n")
file(APPEND $ENV{GITHUB_OUTPUT} "covfiles=${FILELIST}\n")
- name: Merge coverage files
run: |
sudo apt-get update
sudo apt-get install -y lcov
cd ./coverage/reports
lcov ${{ steps.get-coverage-files.outputs.mergefiles }} -o merged.info --rc lcov_branch_coverage=1
- name: Upload coverage to Codecov
if: always()
uses: codecov/codecov-action@v3
with:
directory: ./coverage/reports
env_vars: OS,PYTHON
fail_ci_if_error: false
verbose: true
files: merged.info

179
.github/workflows/codecov.yaml.disabled vendored Normal file
View File

@@ -0,0 +1,179 @@
name: Code Coverage with codecov
on:
schedule:
- cron: '25 06,18 * * 1-5'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
codecov:
if: github.repository_owner == 'zephyrproject-rtos'
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.7.20240313
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
matrix:
platform: ["mps2_an385", "native_sim", "qemu_x86", "unit_testing"]
env:
CCACHE_DIR: /node-cache/ccache-zephyr
CCACHE_REMOTE_STORAGE: "redis://cache-*.keydb-cache.svc.cluster.local|shards=1,2,3"
CCACHE_REMOTE_ONLY: "true"
# `--specs` is ignored because ccache is unable to resovle the toolchain specs file path.
CCACHE_IGNOREOPTIONS: '--specs=*'
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: Update PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /repo-cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: west setup
run: |
west init -l . || true
west update 1> west.update.log || west update 1> west.update-2.log
- name: Environment Setup
run: |
cmake --version
gcc --version
ls -la
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: Set up ccache
run: |
mkdir -p ${CCACHE_DIR}
ccache -M 10G
ccache -p
ccache -z -s -vv
- name: Run Tests with Twister (Push)
continue-on-error: true
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
mkdir -p coverage/reports
pip3 install gcovr==6.0
./scripts/twister -i --force-color -N -v --filter runnable -p ${{ matrix.platform }} \
--coverage -T tests --coverage-tool gcovr -xCONFIG_TEST_EXTRA_STACK_SIZE=4096 -e nano \
--timeout-multiplier 2
- name: Print ccache stats
if: always()
run: |
ccache -s -vv
- name: Rename coverage files
if: always()
run: |
cp twister-out/coverage.json coverage/reports/${{ matrix.platform }}.json
- name: Upload Coverage Results
if: always()
uses: actions/upload-artifact@v4
with:
name: Coverage Data (Subset ${{ matrix.platform }})
path: coverage/reports/${{ matrix.platform }}.json
codecov-results:
name: "Publish Coverage Results"
needs: codecov
runs-on: ubuntu-22.04
# the codecov job might be skipped, we don't need to run this job then
if: success() || failure()
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: coverage/reports
- name: Move coverage files
run: |
mv ./coverage/reports/*/*.json ./coverage/reports
ls -la ./coverage/reports
- name: Generate list of coverage files
id: get-coverage-files
shell: cmake -P {0}
run: |
file(GLOB INPUT_FILES_LIST "coverage/reports/*.json")
set(MERGELIST "")
set(FILELIST "")
foreach(ITEM ${INPUT_FILES_LIST})
get_filename_component(f ${ITEM} NAME)
if(FILELIST STREQUAL "")
set(FILELIST "${f}")
else()
set(FILELIST "${FILELIST},${f}")
endif()
endforeach()
foreach(ITEM ${INPUT_FILES_LIST})
get_filename_component(f ${ITEM} NAME)
if(MERGELIST STREQUAL "")
set(MERGELIST "--add-tracefile ${f}")
else()
set(MERGELIST "${MERGELIST} -a ${f}")
endif()
endforeach()
file(APPEND $ENV{GITHUB_OUTPUT} "mergefiles=${MERGELIST}\n")
file(APPEND $ENV{GITHUB_OUTPUT} "covfiles=${FILELIST}\n")
- name: Merge coverage files
run: |
cd ./coverage/reports
pip3 install gcovr==6.0
gcovr ${{ steps.get-coverage-files.outputs.mergefiles }} --merge-mode-functions=separate --json merged.json
gcovr ${{ steps.get-coverage-files.outputs.mergefiles }} --merge-mode-functions=separate --cobertura merged.xml
- name: Upload Merged Coverage Results
if: always()
uses: actions/upload-artifact@v4
with:
name: Merged Coverage Data
path: |
coverage/reports/merged.json
coverage/reports/merged.xml
- name: Upload coverage to Codecov
if: always()
uses: codecov/codecov-action@v3
with:
directory: ./coverage/reports
env_vars: OS,PYTHON
fail_ci_if_error: false
verbose: true
files: merged.xml

View File

@@ -1,59 +0,0 @@
name: Coding Guidelines
on: pull_request
jobs:
compliance_job:
runs-on: ubuntu-22.04
name: Run coding guidelines checks on patch series (PR)
steps:
- name: Checkout the code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: cache-pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-doc-pip
- name: Install python dependencies
run: |
pip3 install unidiff
pip3 install wheel
pip3 install sh
- name: Install Packages
run: |
sudo apt-get update
sudo apt-get install coccinelle
- name: Run Coding Guildeines Checks
continue-on-error: true
id: coding_guidelines
env:
BASE_REF: ${{ github.base_ref }}
run: |
export ZEPHYR_BASE=$PWD
git config --global user.email "actions@zephyrproject.org"
git config --global user.name "Github Actions"
git remote -v
git rebase origin/${BASE_REF}
source zephyr-env.sh
# debug
ls -la
git log --pretty=oneline | head -n 10
./scripts/ci/guideline_check.py --output output.txt -c origin/${BASE_REF}..
- name: check-warns
run: |
if [[ -s "output.txt" ]]; then
errors=$(cat output.txt)
errors="${errors//'%'/'%25'}"
errors="${errors//$'\n'/'%0A'}"
errors="${errors//$'\r'/'%0D'}"
echo "::error file=output.txt::$errors"
exit 1;
fi

View File

@@ -0,0 +1,59 @@
name: Coding Guidelines
on: pull_request
jobs:
compliance_job:
runs-on: ubuntu-22.04
name: Run coding guidelines checks on patch series (PR)
steps:
- name: Checkout the code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: cache-pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('.github/workflows/coding_guidelines.yml') }}
- name: Install python dependencies
run: |
pip3 install unidiff
pip3 install wheel
pip3 install sh
- name: Install Packages
run: |
sudo apt-get update
sudo apt-get install coccinelle
- name: Run Coding Guildeines Checks
continue-on-error: true
id: coding_guidelines
env:
BASE_REF: ${{ github.base_ref }}
run: |
export ZEPHYR_BASE=$PWD
git config --global user.email "actions@zephyrproject.org"
git config --global user.name "Github Actions"
git remote -v
git rebase origin/${BASE_REF}
source zephyr-env.sh
# debug
ls -la
git log --pretty=oneline | head -n 10
./scripts/ci/guideline_check.py --output output.txt -c origin/${BASE_REF}..
- name: check-warns
run: |
if [[ -s "output.txt" ]]; then
errors=$(cat output.txt)
errors="${errors//'%'/'%25'}"
errors="${errors//$'\n'/'%0A'}"
errors="${errors//$'\r'/'%0D'}"
echo "::error file=output.txt::$errors"
exit 1;
fi

View File

@@ -1,90 +0,0 @@
name: Compliance Checks
on: pull_request
jobs:
check_compliance:
runs-on: ubuntu-22.04
name: Run compliance checks on patch series (PR)
steps:
- name: Update PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Checkout the code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: cache-pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-doc-pip
- name: Install python dependencies
run: |
pip3 install setuptools
pip3 install wheel
pip3 install python-magic lxml junitparser gitlint pylint pykwalify yamllint
pip3 install west
- name: west setup
env:
BASE_REF: ${{ github.base_ref }}
run: |
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git remote -v
# Ensure there's no merge commits in the PR
[[ "$(git rev-list --merges --count origin/${BASE_REF}..)" == "0" ]] || \
(echo "::error ::Merge commits not allowed, rebase instead";false)
git rebase origin/${BASE_REF}
# debug
git log --pretty=oneline | head -n 10
west init -l . || true
west update 2>&1 1> west.update.log || west update 2>&1 1> west.update2.log
- name: Run Compliance Tests
continue-on-error: true
id: compliance
env:
BASE_REF: ${{ github.base_ref }}
run: |
export ZEPHYR_BASE=$PWD
# debug
ls -la
git log --pretty=oneline | head -n 10
./scripts/ci/check_compliance.py --annotate -e KconfigBasic \
-c origin/${BASE_REF}..
- name: upload-results
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: compliance.xml
path: compliance.xml
- name: check-warns
run: |
if [[ ! -s "compliance.xml" ]]; then
exit 1;
fi
files=($(./scripts/ci/check_compliance.py -l))
for file in "${files[@]}"; do
f="${file}.txt"
if [[ -s $f ]]; then
errors=$(cat $f)
errors="${errors//'%'/'%25'}"
errors="${errors//$'\n'/'%0A'}"
errors="${errors//$'\r'/'%0D'}"
echo "::error file=${f}::$errors"
exit=1
fi
done
if [ "${exit}" == "1" ]; then
exit 1;
fi

View File

@@ -0,0 +1,91 @@
name: Compliance Checks
on: pull_request
jobs:
check_compliance:
runs-on: ubuntu-22.04
name: Run compliance checks on patch series (PR)
steps:
- name: Update PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Checkout the code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: cache-pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('.github/workflows/compliance.yml') }}
- name: Install python dependencies
run: |
pip3 install setuptools
pip3 install wheel
pip3 install python-magic lxml junitparser gitlint pylint pykwalify yamllint
pip3 install west
- name: west setup
env:
BASE_REF: ${{ github.base_ref }}
run: |
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git remote -v
# Ensure there's no merge commits in the PR
[[ "$(git rev-list --merges --count origin/${BASE_REF}..)" == "0" ]] || \
(echo "::error ::Merge commits not allowed, rebase instead";false)
git rebase origin/${BASE_REF}
# debug
git log --pretty=oneline | head -n 10
west init -l . || true
west config manifest.group-filter -- +ci,-optional
west update -o=--depth=1 -n 2>&1 1> west.update.log || west update -o=--depth=1 -n 2>&1 1> west.update2.log
- name: Run Compliance Tests
continue-on-error: true
id: compliance
env:
BASE_REF: ${{ github.base_ref }}
run: |
export ZEPHYR_BASE=$PWD
# debug
ls -la
git log --pretty=oneline | head -n 10
./scripts/ci/check_compliance.py --annotate -e KconfigBasic \
-c origin/${BASE_REF}..
- name: upload-results
uses: actions/upload-artifact@v4
continue-on-error: true
with:
name: compliance.xml
path: compliance.xml
- name: check-warns
run: |
if [[ ! -s "compliance.xml" ]]; then
exit 1;
fi
files=($(./scripts/ci/check_compliance.py -l))
for file in "${files[@]}"; do
f="${file}.txt"
if [[ -s $f ]]; then
errors=$(cat $f)
errors="${errors//'%'/'%25'}"
errors="${errors//$'\n'/'%0A'}"
errors="${errors//$'\r'/'%0D'}"
echo "::error file=${f}::$errors"
exit=1
fi
done
if [ "${exit}" == "1" ]; then
exit 1;
fi

View File

@@ -1,38 +0,0 @@
# Copyright (c) 2020 Intel Corp.
# SPDX-License-Identifier: Apache-2.0
name: Publish commit for daily testing
on:
schedule:
- cron: '50 22 * * *'
push:
branches:
- refs/tags/*
jobs:
get_version:
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: install-pip
run: |
pip3 install gitpython
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Upload to AWS S3
run: |
python3 scripts/ci/version_mgr.py --update .
aws s3 cp versions.json s3://testing.zephyrproject.org/daily_tests/versions.json

View File

@@ -0,0 +1,38 @@
# Copyright (c) 2020 Intel Corp.
# SPDX-License-Identifier: Apache-2.0
name: Publish commit for daily testing
on:
schedule:
- cron: '50 22 * * *'
push:
branches:
- refs/tags/*
jobs:
get_version:
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: install-pip
run: |
pip3 install gitpython
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Upload to AWS S3
run: |
python3 scripts/ci/version_mgr.py --update .
aws s3 cp versions.json s3://testing.zephyrproject.org/daily_tests/versions.json

View File

@@ -1,75 +0,0 @@
# Copyright (c) 2020 Linaro Limited.
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
name: Devicetree script tests
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/dts/**'
- '.github/workflows/devicetree_checks.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/dts/**'
- '.github/workflows/devicetree_checks.yml'
jobs:
devicetree-checks:
name: Devicetree script tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10']
os: [ubuntu-22.04, macos-11, windows-2022]
exclude:
- os: macos-11
python-version: 3.6
- os: windows-2022
python-version: 3.6
steps:
- name: checkout
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: cache-pip-mac
if: startsWith(runner.os, 'macOS')
uses: actions/cache@v3
with:
path: ~/Library/Caches/pip
# Trailing '-' was just to get a different cache name
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
- name: cache-pip-win
if: startsWith(runner.os, 'Windows')
uses: actions/cache@v3
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install python dependencies
run: |
pip3 install wheel
pip3 install pytest pyyaml tox
- name: run tox
working-directory: scripts/dts/python-devicetree
run: |
tox

View File

@@ -0,0 +1,75 @@
# Copyright (c) 2020 Linaro Limited.
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
name: Devicetree script tests
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/dts/**'
- '.github/workflows/devicetree_checks.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/dts/**'
- '.github/workflows/devicetree_checks.yml'
jobs:
devicetree-checks:
name: Devicetree script tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
os: [ubuntu-22.04, macos-11, windows-2022]
exclude:
- os: macos-11
python-version: 3.6
- os: windows-2022
python-version: 3.6
steps:
- name: checkout
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: cache-pip-mac
if: startsWith(runner.os, 'macOS')
uses: actions/cache@v4
with:
path: ~/Library/Caches/pip
# Trailing '-' was just to get a different cache name
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
- name: cache-pip-win
if: startsWith(runner.os, 'Windows')
uses: actions/cache@v4
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install python dependencies
run: |
pip3 install wheel
pip3 install pytest pyyaml tox
- name: run tox
working-directory: scripts/dts/python-devicetree
run: |
tox

View File

@@ -1,18 +0,0 @@
name: Do Not Merge
on:
pull_request:
types: [synchronize, opened, reopened, labeled, unlabeled]
jobs:
do-not-merge:
if: ${{ contains(github.event.*.labels.*.name, 'DNM') ||
contains(github.event.*.labels.*.name, 'TSC') }}
name: Prevent Merging
runs-on: ubuntu-22.04
steps:
- name: Check for label
run: |
echo "Pull request is labeled as 'DNM' or 'TSC'"
echo "This workflow fails so that the pull request cannot be merged"
exit 1

View File

@@ -0,0 +1,20 @@
name: Do Not Merge
on:
pull_request:
types: [synchronize, opened, reopened, labeled, unlabeled]
jobs:
do-not-merge:
if: ${{ contains(github.event.*.labels.*.name, 'DNM') ||
contains(github.event.*.labels.*.name, 'TSC') ||
contains(github.event.*.labels.*.name, 'Architecture Review') ||
contains(github.event.*.labels.*.name, 'dev-review') }}
name: Prevent Merging
runs-on: ubuntu-22.04
steps:
- name: Check for label
run: |
echo "Pull request is labeled as 'DNM', 'TSC', 'Architecture Review' or 'dev-review'."
echo "This workflow fails so that the pull request cannot be merged."
exit 1

View File

@@ -1,179 +0,0 @@
# Copyright (c) 2020 Linaro Limited.
# SPDX-License-Identifier: Apache-2.0
name: Documentation Build
on:
schedule:
- cron: '0 */3 * * *'
push:
tags:
- v*
pull_request:
paths:
- 'doc/**'
- '**.rst'
- 'include/**'
- 'kernel/include/kernel_arch_interface.h'
- 'lib/libc/**'
- 'subsys/testsuite/ztest/include/**'
- 'tests/**'
- '**/Kconfig*'
- 'west.yml'
- '.github/workflows/doc-build.yml'
- 'scripts/dts/**'
- 'doc/requirements.txt'
env:
# NOTE: west docstrings will be extracted from the version listed here
WEST_VERSION: 1.0.0
# The latest CMake available directly with apt is 3.18, but we need >=3.20
# so we fetch that through pip.
CMAKE_VERSION: 3.20.5
DOXYGEN_VERSION: 1.9.6
jobs:
doc-build-html:
name: "Documentation Build (HTML)"
runs-on: zephyr-runner-linux-x64-4xlarge
timeout-minutes: 45
concurrency:
group: doc-build-html-${{ github.ref }}
cancel-in-progress: true
steps:
- name: checkout
uses: actions/checkout@v3
- name: install-pkgs
run: |
sudo apt-get update
sudo apt-get install -y ninja-build graphviz
wget --no-verbose "https://github.com/doxygen/doxygen/releases/download/Release_${DOXYGEN_VERSION//./_}/doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz"
tar xf doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz
echo "${PWD}/doxygen-${DOXYGEN_VERSION}/bin" >> $GITHUB_PATH
- name: cache-pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('doc/requirements.txt') }}
- name: install-pip
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -r doc/requirements.txt
pip3 install west==${WEST_VERSION}
pip3 install cmake==${CMAKE_VERSION}
- name: west setup
run: |
west init -l .
- name: build-docs
shell: bash
run: |
if [[ "$GITHUB_REF" =~ "refs/tags/v" ]]; then
DOC_TAG="release"
else
DOC_TAG="development"
fi
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
DOC_TARGET="html-fast"
else
DOC_TARGET="html"
fi
DOC_TAG=${DOC_TAG} SPHINXOPTS_EXTRA="-q -t publish" make -C doc ${DOC_TARGET}
- name: compress-docs
run: |
tar cfJ html-output.tar.xz --directory=doc/_build html
- name: upload-build
uses: actions/upload-artifact@v3
with:
name: html-output
path: html-output.tar.xz
- name: process-pr
if: github.event_name == 'pull_request'
run: |
REPO_NAME="${{ github.event.repository.name }}"
PR_NUM="${{ github.event.pull_request.number }}"
DOC_URL="https://builds.zephyrproject.io/${REPO_NAME}/pr/${PR_NUM}/docs/"
echo "${PR_NUM}" > pr_num
echo "Documentation will be available shortly at: ${DOC_URL}" >> $GITHUB_STEP_SUMMARY
- name: upload-pr-number
uses: actions/upload-artifact@v3
if: github.event_name == 'pull_request'
with:
name: pr_num
path: pr_num
doc-build-pdf:
name: "Documentation Build (PDF)"
if: github.event_name != 'pull_request'
runs-on: zephyr-runner-linux-x64-4xlarge
container: texlive/texlive:latest
timeout-minutes: 60
concurrency:
group: doc-build-pdf-${{ github.ref }}
cancel-in-progress: true
steps:
- name: checkout
uses: actions/checkout@v3
- name: install-pkgs
run: |
apt-get update
apt-get install -y python3-pip python3-venv ninja-build doxygen graphviz librsvg2-bin
- name: cache-pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('doc/requirements.txt') }}
- name: setup-venv
run: |
python3 -m venv .venv
. .venv/bin/activate
echo PATH=$PATH >> $GITHUB_ENV
- name: install-pip
run: |
pip3 install -U setuptools wheel pip
pip3 install -r doc/requirements.txt
pip3 install west==${WEST_VERSION}
pip3 install cmake==${CMAKE_VERSION}
- name: west setup
run: |
west init -l .
- name: build-docs
shell: bash
continue-on-error: true
run: |
if [[ "$GITHUB_REF" =~ "refs/tags/v" ]]; then
DOC_TAG="release"
else
DOC_TAG="development"
fi
DOC_TAG=${DOC_TAG} SPHINXOPTS="-q -j auto" LATEXMKOPTS="-quiet -halt-on-error" make -C doc pdf
- name: upload-build
if: always()
uses: actions/upload-artifact@v3
with:
name: pdf-output
if-no-files-found: ignore
path: |
doc/_build/latex/zephyr.pdf
doc/_build/latex/zephyr.log

234
.github/workflows/doc-build.yml.disabled vendored Normal file
View File

@@ -0,0 +1,234 @@
# Copyright (c) 2020 Linaro Limited.
# SPDX-License-Identifier: Apache-2.0
name: Documentation Build
on:
schedule:
- cron: '0 */3 * * *'
push:
tags:
- v*
pull_request:
paths:
- 'doc/**'
- '**.rst'
- 'include/**'
- 'kernel/include/kernel_arch_interface.h'
- 'lib/libc/**'
- 'subsys/testsuite/ztest/include/**'
- 'tests/**'
- '**/Kconfig*'
- 'west.yml'
- '.github/workflows/doc-build.yml'
- 'scripts/dts/**'
- 'doc/requirements.txt'
env:
# NOTE: west docstrings will be extracted from the version listed here
WEST_VERSION: 1.2.0
# The latest CMake available directly with apt is 3.18, but we need >=3.20
# so we fetch that through pip.
CMAKE_VERSION: 3.20.5
DOXYGEN_VERSION: 1.9.6
jobs:
doc-build-html:
name: "Documentation Build (HTML)"
if: github.repository_owner == 'zephyrproject-rtos'
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
timeout-minutes: 45
concurrency:
group: doc-build-html-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: install-pkgs
run: |
sudo apt-get update
sudo apt-get install -y wget python3-pip git ninja-build graphviz lcov
wget --no-verbose "https://github.com/doxygen/doxygen/releases/download/Release_${DOXYGEN_VERSION//./_}/doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz"
sudo tar xf doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz -C /opt
echo "/opt/doxygen-${DOXYGEN_VERSION}/bin" >> $GITHUB_PATH
echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Rebase
if: github.event_name == 'pull_request'
continue-on-error: true
env:
BASE_REF: ${{ github.base_ref }}
PR_HEAD: ${{ github.event.pull_request.head.sha }}
run: |
git config --global user.email "actions@zephyrproject.org"
git config --global user.name "Github Actions"
git rebase origin/${BASE_REF}
git log --graph --oneline HEAD...${PR_HEAD}
- name: cache-pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('doc/requirements.txt') }}
- name: install-pip
run: |
sudo pip3 install -U setuptools wheel pip
pip3 install -r doc/requirements.txt
pip3 install west==${WEST_VERSION}
pip3 install cmake==${CMAKE_VERSION}
pip3 install coverxygen
- name: west setup
run: |
west init -l .
- name: build-docs
shell: bash
run: |
if [[ "$GITHUB_REF" =~ "refs/tags/v" ]]; then
DOC_TAG="release"
else
DOC_TAG="development"
fi
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
DOC_TARGET="html-fast"
else
DOC_TARGET="html"
fi
DOC_TAG=${DOC_TAG} SPHINXOPTS_EXTRA="-q -t publish" make -C doc ${DOC_TARGET}
# API documentation coverage
python3 -m coverxygen --xml-dir doc/_build/html/doxygen/xml/ --src-dir include/ --output doc-coverage.info
# deprecated page causing issues
lcov --remove doc-coverage.info \*/deprecated > new.info
genhtml --no-function-coverage --no-branch-coverage new.info -o coverage-report
- name: compress-docs
run: |
tar cfJ html-output.tar.xz --directory=doc/_build html
tar cfJ api-output.tar.xz --directory=doc/_build html/doxygen/html
tar cfJ api-coverage.tar.xz coverage-report
- name: upload-build
uses: actions/upload-artifact@v4
with:
name: html-output
path: html-output.tar.xz
- name: upload-api-coverage
uses: actions/upload-artifact@v4
with:
name: api-coverage
path: api-coverage.tar.xz
- name: process-pr
if: github.event_name == 'pull_request'
run: |
REPO_NAME="${{ github.event.repository.name }}"
PR_NUM="${{ github.event.pull_request.number }}"
DOC_URL="https://builds.zephyrproject.io/${REPO_NAME}/pr/${PR_NUM}/docs/"
API_DOC_URL="https://builds.zephyrproject.io/${REPO_NAME}/pr/${PR_NUM}/docs/doxygen/html/"
API_COVERAGE_URL="https://builds.zephyrproject.io/${REPO_NAME}/pr/${PR_NUM}/api-coverage/"
echo "${PR_NUM}" > pr_num
echo "Documentation will be available shortly at: ${DOC_URL}" >> $GITHUB_STEP_SUMMARY
echo "API Documentation will be available shortly at: ${API_DOC_URL}" >> $GITHUB_STEP_SUMMARY
echo "API Coverage Report will be available shortly at: ${API_COVERAGE_URL}" >> $GITHUB_STEP_SUMMARY
- name: upload-pr-number
uses: actions/upload-artifact@v4
if: github.event_name == 'pull_request'
with:
name: pr_num
path: pr_num
doc-build-pdf:
name: "Documentation Build (PDF)"
if: |
github.event_name != 'pull_request' &&
github.repository_owner == 'zephyrproject-rtos'
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container: texlive/texlive:latest
timeout-minutes: 60
concurrency:
group: doc-build-pdf-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Apply container owner mismatch workaround
run: |
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: checkout
uses: actions/checkout@v4
- name: install-pkgs
run: |
apt-get update
apt-get install -y python3-pip python3-venv ninja-build doxygen graphviz librsvg2-bin
- name: cache-pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('doc/requirements.txt') }}
- name: setup-venv
run: |
python3 -m venv .venv
. .venv/bin/activate
echo PATH=$PATH >> $GITHUB_ENV
- name: install-pip
run: |
pip3 install -U setuptools wheel pip
pip3 install -r doc/requirements.txt
pip3 install west==${WEST_VERSION}
pip3 install cmake==${CMAKE_VERSION}
- name: west setup
run: |
west init -l .
- name: build-docs
shell: bash
continue-on-error: true
run: |
if [[ "$GITHUB_REF" =~ "refs/tags/v" ]]; then
DOC_TAG="release"
else
DOC_TAG="development"
fi
DOC_TAG=${DOC_TAG} SPHINXOPTS="-q -j auto" LATEXMKOPTS="-quiet -halt-on-error" make -C doc pdf
- name: upload-build
if: always()
uses: actions/upload-artifact@v4
with:
name: pdf-output
if-no-files-found: ignore
path: |
doc/_build/latex/zephyr.pdf
doc/_build/latex/zephyr.log

View File

@@ -1,63 +0,0 @@
# Copyright (c) 2020 Linaro Limited.
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
name: Documentation Publish (Pull Request)
on:
workflow_run:
workflows: ["Documentation Build"]
types:
- completed
jobs:
doc-publish:
name: Publish Documentation
runs-on: ubuntu-22.04
if: |
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success' &&
github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@v2
with:
workflow: doc-build.yml
run_id: ${{ github.event.workflow_run.id }}
- name: Load PR number
run: |
echo "PR_NUM=$(<pr_num/pr_num)" >> $GITHUB_ENV
- name: Check PR number
id: check-pr
uses: carpentries/actions/check-valid-pr@v0.14.0
with:
pr: ${{ env.PR_NUM }}
sha: ${{ github.event.workflow_run.head_sha }}
- name: Validate PR number
if: steps.check-pr.outputs.VALID != 'true'
run: |
echo "ABORT: PR number validation failed!"
exit 1
- name: Uncompress HTML docs
run: |
tar xf html-output/html-output.tar.xz -C html-output
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_BUILDS_ZEPHYR_PR_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_PR_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Upload to AWS S3
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
aws s3 sync --quiet html-output/html \
s3://builds.zephyrproject.org/${{ github.event.repository.name }}/pr/${PR_NUM}/docs \
--delete

View File

@@ -0,0 +1,67 @@
# Copyright (c) 2020 Linaro Limited.
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
name: Documentation Publish (Pull Request)
on:
workflow_run:
workflows: ["Documentation Build"]
types:
- completed
jobs:
doc-publish:
name: Publish Documentation
runs-on: ubuntu-22.04
if: |
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success' &&
github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@v2
with:
workflow: doc-build.yml
run_id: ${{ github.event.workflow_run.id }}
- name: Load PR number
run: |
echo "PR_NUM=$(<pr_num/pr_num)" >> $GITHUB_ENV
- name: Check PR number
id: check-pr
uses: carpentries/actions/check-valid-pr@v0.14.0
with:
pr: ${{ env.PR_NUM }}
sha: ${{ github.event.workflow_run.head_sha }}
- name: Validate PR number
if: steps.check-pr.outputs.VALID != 'true'
run: |
echo "ABORT: PR number validation failed!"
exit 1
- name: Uncompress HTML docs
run: |
tar xf html-output/html-output.tar.xz -C html-output
tar xf api-coverage/api-coverage.tar.xz -C api-coverage
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_BUILDS_ZEPHYR_PR_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_PR_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Upload to AWS S3
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
aws s3 sync --quiet html-output/html \
s3://builds.zephyrproject.org/${{ github.event.repository.name }}/pr/${PR_NUM}/docs \
--delete
aws s3 sync --quiet api-coverage/coverage-report/ \
s3://builds.zephyrproject.org/${{ github.event.repository.name }}/pr/${PR_NUM}/api-coverage \
--delete

View File

@@ -1,55 +0,0 @@
# Copyright (c) 2020 Linaro Limited.
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
name: Documentation Publish
on:
workflow_run:
workflows: ["Documentation Build"]
branches:
- main
- v*
types:
- completed
jobs:
doc-publish:
name: Publish Documentation
runs-on: ubuntu-22.04
if: |
github.event.workflow_run.event != 'pull_request' &&
github.event.workflow_run.conclusion == 'success' &&
github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@v2
with:
workflow: doc-build.yml
run_id: ${{ github.event.workflow_run.id }}
- name: Uncompress HTML docs
run: |
tar xf html-output/html-output.tar.xz -C html-output
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_DOCS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_DOCS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Upload to AWS S3
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
if [ "${HEAD_BRANCH:0:1}" == "v" ]; then
VERSION=${HEAD_BRANCH:1}
else
VERSION="latest"
fi
aws s3 sync --quiet html-output/html s3://docs.zephyrproject.org/${VERSION} --delete
aws s3 sync --quiet html-output/html/doxygen/html s3://docs.zephyrproject.org/apidoc/${VERSION} --delete
aws s3 cp --quiet pdf-output/zephyr.pdf s3://docs.zephyrproject.org/${VERSION}/zephyr.pdf

View File

@@ -0,0 +1,57 @@
# Copyright (c) 2020 Linaro Limited.
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
name: Documentation Publish
on:
workflow_run:
workflows: ["Documentation Build"]
branches:
- main
- v*
types:
- completed
jobs:
doc-publish:
name: Publish Documentation
runs-on: ubuntu-22.04
if: |
github.event.workflow_run.event != 'pull_request' &&
github.event.workflow_run.conclusion == 'success' &&
github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@v2
with:
workflow: doc-build.yml
run_id: ${{ github.event.workflow_run.id }}
- name: Uncompress HTML docs
run: |
tar xf html-output/html-output.tar.xz -C html-output
tar xf api-coverage/api-coverage.tar.xz -C api-coverage
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_DOCS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_DOCS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Upload to AWS S3
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
if [ "${HEAD_BRANCH:0:1}" == "v" ]; then
VERSION=${HEAD_BRANCH:1}
else
VERSION="latest"
fi
aws s3 sync --quiet html-output/html s3://docs.zephyrproject.org/${VERSION} --delete
aws s3 sync --quiet html-output/html/doxygen/html s3://docs.zephyrproject.org/apidoc/${VERSION} --delete
aws s3 sync --quiet api-coverage/coverage-report/ s3://docs.zephyrproject.org/api-coverage/${VERSION} --delete
aws s3 cp --quiet pdf-output/zephyr.pdf s3://docs.zephyrproject.org/${VERSION}/zephyr.pdf

View File

@@ -1,32 +0,0 @@
name: Error numbers
on:
pull_request:
paths:
- '.github/workflows/errno.yml'
- 'lib/libc/minimal/include/errno.h'
- 'scripts/ci/errno.py'
jobs:
check-errno:
runs-on: ubuntu-22.04
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
env:
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: checkout
uses: actions/checkout@v3
- name: Run errno.py
run: |
export ZEPHYR_BASE=${PWD}
./scripts/ci/errno.py

34
.github/workflows/errno.yml.disabled vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Error numbers
on:
pull_request:
paths:
- '.github/workflows/errno.yml'
- 'lib/libc/minimal/include/errno.h'
- 'scripts/ci/errno.py'
jobs:
check-errno:
runs-on: ubuntu-22.04
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.7
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: checkout
uses: actions/checkout@v4
- name: Environment Setup
run: |
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: Run errno.py
run: |
export ZEPHYR_BASE=${PWD}
./scripts/ci/errno.py

View File

@@ -1,85 +0,0 @@
name: Footprint Tracking
# Run every 12 hours and on tags
on:
schedule:
- cron: '50 1/12 * * *'
push:
paths:
- 'VERSION'
- '.github/workflows/footprint-tracking.yml'
branches:
- main
- v*-branch
tags:
# only publish v* tags, do not care about zephyr-v* which point to the
# same commit
- 'v*'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
footprint-tracking:
runs-on: ubuntu-22.04
if: github.repository_owner == 'zephyrproject-rtos'
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
env:
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Update PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install packages
run: |
sudo apt-get update
sudo apt-get install -y python3-venv
sudo pip3 install -U setuptools wheel pip gitpython
- name: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: west setup
run: |
west init -l . || true
west config --global update.narrow true
west update 2>&1 1> west.update.log || west update 2>&1 1> west.update2.log
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Record Footprint
env:
BASE_REF: ${{ github.base_ref }}
run: |
export ZEPHYR_BASE=${PWD}
./scripts/footprint/track.py -p scripts/footprint/plan.txt
- name: Upload footprint data
run: |
python3 -m venv .venv
. .venv/bin/activate
pip3 install awscli
aws s3 sync --quiet footprint_data/ s3://testing.zephyrproject.org/footprint_data/

View File

@@ -0,0 +1,95 @@
name: Footprint Tracking
# Run every 12 hours and on tags
on:
schedule:
- cron: '50 1/12 * * *'
push:
paths:
- 'VERSION'
- '.github/workflows/footprint-tracking.yml'
branches:
- main
- v*-branch
tags:
# only publish v* tags, do not care about zephyr-v* which point to the
# same commit
- 'v*'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
footprint-tracking:
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
if: github.repository_owner == 'zephyrproject-rtos'
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.7.20240313
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
env:
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: Update PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install packages
run: |
sudo apt-get update
sudo apt-get install -y python3-venv
sudo pip3 install -U setuptools wheel pip gitpython
- name: checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Environment Setup
run: |
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: west setup
run: |
west init -l . || true
west config --global update.narrow true
west update 2>&1 1> west.update.log || west update 2>&1 1> west.update2.log
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Record Footprint
env:
BASE_REF: ${{ github.base_ref }}
run: |
export ZEPHYR_BASE=${PWD}
./scripts/footprint/track.py -p scripts/footprint/plan.txt
- name: Upload footprint data
run: |
python3 -m venv .venv
. .venv/bin/activate
pip3 install awscli
aws s3 sync --quiet footprint_data/ s3://testing.zephyrproject.org/footprint_data/

View File

@@ -1,71 +0,0 @@
name: Footprint Delta
on: pull_request
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
footprint-delta:
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
env:
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Update PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: west setup
run: |
west init -l . || true
west config --global update.narrow true
west update 2>&1 1> west.update.log || west update 2>&1 1> west.update.log
- name: Detect Changes in Footprint
env:
BASE_REF: ${{ github.base_ref }}
run: |
export ZEPHYR_BASE=${PWD}
git config --global user.email "actions@zephyrproject.org"
git config --global user.name "Github Actions"
git remote -v
git rebase origin/${BASE_REF}
git checkout -b this_pr
west update
west build -b frdm_k64f tests/benchmarks/footprints -t ram_report
cp build/ram.json ram2.json
west build -b frdm_k64f tests/benchmarks/footprints -t rom_report
cp build/rom.json rom2.json
git checkout origin/${BASE_REF}
west update
west build -p always -b frdm_k64f tests/benchmarks/footprints -t ram_report
west build -b frdm_k64f tests/benchmarks/footprints -t rom_report
cp build/ram.json ram1.json
cp build/rom.json rom1.json
git checkout this_pr
./scripts/footprint/fpdiff.py ram1.json ram2.json
./scripts/footprint/fpdiff.py rom1.json rom2.json

View File

@@ -1,52 +0,0 @@
name: Greet first time contributor
on:
issues:
types: [opened]
pull_request_target:
types: [opened, closed]
jobs:
check_for_first_interaction:
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- uses: actions/checkout@v3
- uses: zephyrproject-rtos/action-first-interaction@v1.1.1-zephyr-4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: >
Hi @${{github.event.issue.user.login}}! We appreciate you submitting your first issue
for our open-source project. 🌟
Even though I'm a bot, I can assure you that the whole community is genuinely grateful
for your time and effort. 🤖💙
pr-opened-message: >
Hello @${{ github.event.pull_request.user.login }}, and thank you very much for your
first pull request to the Zephyr project!
A project maintainer just triggered our CI pipeline to run it against your PR and
ensure it's compliant and doesn't cause any issues. You might want to take this
opportunity to review the project's [Contributor
Expectations](https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html)
and make any updates to your pull request if necessary. 😊
pr-merged-message: >
Hi @${{ github.event.pull_request.user.login }}!
Congratulations on getting your very first Zephyr pull request merged 🎉🥳. This is a
fantastic achievement, and we're thrilled to have you as part of our community!
To celebrate this milestone and showcase your contribution, we'd love to award you the
Zephyr Technical Contributor badge. If you're interested, please claim your badge by
filling out this form: [Claim Your Zephyr Badge](https://forms.gle/oCw9iAPLhUsHTapc8).
Thank you for your valuable input, and we look forward to seeing more of your
contributions in the future! 🪁

View File

@@ -0,0 +1,58 @@
name: Greet first time contributor
on:
issues:
types: [opened]
pull_request_target:
types: [opened, closed]
jobs:
check_for_first_interaction:
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- uses: actions/checkout@v4
- uses: zephyrproject-rtos/action-first-interaction@v1.1.1-zephyr-5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: >
Hi @${{github.event.issue.user.login}}! We appreciate you submitting your first issue
for our open-source project. 🌟
Even though I'm a bot, I can assure you that the whole community is genuinely grateful
for your time and effort. 🤖💙
pr-opened-message: >
Hello @${{ github.event.pull_request.user.login }}, and thank you very much for your
first pull request to the Zephyr project!
Our Continuous Integration pipeline will execute a series of checks on your Pull Request
commit messages and code, and you are expected to address any failures by updating the PR.
Please take a look at [our commit message guidelines](https://docs.zephyrproject.org/latest/contribute/guidelines.html#commit-message-guidelines)
to find out how to format your commit messages, and at [our contribution workflow](https://docs.zephyrproject.org/latest/contribute/guidelines.html#contribution-workflow)
to understand how to update your Pull Request.
If you haven't already, please make sure to review the project's [Contributor
Expectations](https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html)
and update (by amending and force-pushing the commits) your pull request if necessary.
If you are stuck or need help please join us on [Discord](https://chat.zephyrproject.org/)
and ask your question there. Additionally, you can [escalate the review](https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html#pr-review-escalation)
when applicable. 😊
pr-merged-message: >
Hi @${{ github.event.pull_request.user.login }}!
Congratulations on getting your very first Zephyr pull request merged 🎉🥳. This is a
fantastic achievement, and we're thrilled to have you as part of our community!
To celebrate this milestone and showcase your contribution, we'd love to award you the
Zephyr Technical Contributor badge. If you're interested, please claim your badge by
filling out this form: [Claim Your Zephyr Badge](https://forms.gle/oCw9iAPLhUsHTapc8).
Thank you for your valuable input, and we look forward to seeing more of your
contributions in the future! 🪁

View File

@@ -0,0 +1,80 @@
name: Hello World (Multiplatform)
on:
push:
branches:
- main
- v*-branch
- collab-*
pull_request:
branches:
- main
- v*-branch
- collab-*
paths:
- 'scripts/build/**'
- 'scripts/requirements*.txt'
- '.github/workflows/hello_world_multiplatform.yaml'
- 'SDK_VERSION'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, macos-12, macos-14, windows-2022]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: zephyr
fetch-depth: 0
- name: Rebase
if: github.event_name == 'pull_request'
env:
BASE_REF: ${{ github.base_ref }}
PR_HEAD: ${{ github.event.pull_request.head.sha }}
working-directory: zephyr
shell: bash
run: |
git config --global user.email "actions@zephyrproject.org"
git config --global user.name "Github Actions"
git rebase origin/${BASE_REF}
git log --graph --oneline HEAD...${PR_HEAD}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: zephyr
toolchains: all
- name: Build firmware
working-directory: zephyr
shell: bash
run: |
if [ "${{ runner.os }}" = "macOS" ]; then
EXTRA_TWISTER_FLAGS="-P native_sim --build-only"
elif [ "${{ runner.os }}" = "Windows" ]; then
EXTRA_TWISTER_FLAGS="-P native_sim --short-build-path -O/tmp/twister-out"
fi
./scripts/twister --force-color --inline-logs -T samples/hello_world -T samples/cpp/hello_world -v $EXTRA_TWISTER_FLAGS
- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
if-no-files-found: ignore
path:
zephyr/twister-out/*/samples/hello_world/sample.basic.helloworld/build.log
zephyr/twister-out/*/samples/cpp/hello_world/sample.cpp.helloworld/build.log

View File

@@ -1,54 +0,0 @@
name: Issue Tracker
on:
schedule:
- cron: '*/10 * * * *'
env:
OUTPUT_FILE_NAME: IssuesReport.md
COMMITTER_EMAIL: actions@github.com
COMMITTER_NAME: github-actions
COMMITTER_USERNAME: github-actions
jobs:
track-issues:
name: "Collect Issue Stats"
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Download configuration file
run: |
wget -q https://raw.githubusercontent.com/$GITHUB_REPOSITORY/main/.github/workflows/issues-report-config.json
- name: install-packages
run: |
sudo apt-get update
sudo apt-get install discount
- uses: brcrista/summarize-issues@v3
with:
title: 'Issues Report for ${{ github.repository }}'
configPath: 'issues-report-config.json'
outputPath: ${{ env.OUTPUT_FILE_NAME }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: upload-stats
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: ${{ env.OUTPUT_FILE_NAME }}
path: ${{ env.OUTPUT_FILE_NAME }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Post Results
run: |
mkd2html IssuesReport.md IssuesReport.html
aws s3 cp --quiet IssuesReport.html s3://testing.zephyrproject.org/issues/$GITHUB_REPOSITORY/index.html

View File

@@ -0,0 +1,54 @@
name: Issue Tracker
on:
schedule:
- cron: '*/10 * * * *'
env:
OUTPUT_FILE_NAME: IssuesReport.md
COMMITTER_EMAIL: actions@github.com
COMMITTER_NAME: github-actions
COMMITTER_USERNAME: github-actions
jobs:
track-issues:
name: "Collect Issue Stats"
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- name: Download configuration file
run: |
wget -q https://raw.githubusercontent.com/$GITHUB_REPOSITORY/main/.github/workflows/issues-report-config.json
- name: install-packages
run: |
sudo apt-get update
sudo apt-get install discount
- uses: brcrista/summarize-issues@v3
with:
title: 'Issues Report for ${{ github.repository }}'
configPath: 'issues-report-config.json'
outputPath: ${{ env.OUTPUT_FILE_NAME }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: upload-stats
uses: actions/upload-artifact@v4
continue-on-error: true
with:
name: ${{ env.OUTPUT_FILE_NAME }}
path: ${{ env.OUTPUT_FILE_NAME }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Post Results
run: |
mkd2html IssuesReport.md IssuesReport.html
aws s3 cp --quiet IssuesReport.html s3://testing.zephyrproject.org/issues/$GITHUB_REPOSITORY/index.html

View File

@@ -1,32 +0,0 @@
name: Scancode
on: [pull_request]
jobs:
scancode_job:
runs-on: ubuntu-22.04
name: Scan code for licenses
steps:
- name: Checkout the code
uses: actions/checkout@v3
- name: Scan the code
id: scancode
uses: zephyrproject-rtos/action_scancode@v4
with:
directory-to-scan: 'scan/'
- name: Artifact Upload
uses: actions/upload-artifact@v3
with:
name: scancode
path: ./artifacts
- name: Verify
run: |
if [ -s ./artifacts/report.txt ]; then
report=$(cat ./artifacts/report.txt)
report="${report//'%'/'%25'}"
report="${report//$'\n'/'%0A'}"
report="${report//$'\r'/'%0D'}"
echo "::error file=./artifacts/report.txt::$report"
exit 1
fi

View File

@@ -0,0 +1,34 @@
name: Scancode
on: [pull_request]
jobs:
scancode_job:
runs-on: ubuntu-22.04
name: Scan code for licenses
steps:
- name: Checkout the code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Scan the code
id: scancode
uses: zephyrproject-rtos/action_scancode@v4
with:
directory-to-scan: 'scan/'
- name: Artifact Upload
uses: actions/upload-artifact@v4
with:
name: scancode
path: ./artifacts
- name: Verify
run: |
if [ -s ./artifacts/report.txt ]; then
report=$(cat ./artifacts/report.txt)
report="${report//'%'/'%25'}"
report="${report//$'\n'/'%0A'}"
report="${report//$'\r'/'%0D'}"
echo "::error file=./artifacts/report.txt::$report"
exit 1
fi

View File

@@ -1,38 +0,0 @@
name: Manifest
on:
pull_request_target:
jobs:
contribs:
runs-on: ubuntu-22.04
name: Manifest
steps:
- name: Checkout the code
uses: actions/checkout@v3
with:
path: zephyrproject/zephyr
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: west setup
env:
BASE_REF: ${{ github.base_ref }}
working-directory: zephyrproject/zephyr
run: |
pip3 install west
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
west init -l . || true
- name: Manifest
uses: zephyrproject-rtos/action-manifest@f223dce288b0d8f30bfd57eb2b14b18c230a7d8b
with:
github-token: ${{ secrets.ZB_GITHUB_TOKEN }}
manifest-path: 'west.yml'
checkout-path: 'zephyrproject/zephyr'
use-tree-checkout: 'true'
label-prefix: 'manifest-'
verbosity-level: '1'
labels: 'manifest'
dnm-labels: 'DNM'

38
.github/workflows/manifest.yml.disabled vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Manifest
on:
pull_request_target:
jobs:
contribs:
runs-on: ubuntu-22.04
name: Manifest
steps:
- name: Checkout the code
uses: actions/checkout@v4
with:
path: zephyrproject/zephyr
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: west setup
env:
BASE_REF: ${{ github.base_ref }}
working-directory: zephyrproject/zephyr
run: |
pip3 install west
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
west init -l . || true
- name: Manifest
uses: zephyrproject-rtos/action-manifest@v1.2.2
with:
github-token: ${{ secrets.ZB_GITHUB_TOKEN }}
manifest-path: 'west.yml'
checkout-path: 'zephyrproject/zephyr'
use-tree-checkout: 'true'
label-prefix: 'manifest-'
verbosity-level: '1'
labels: 'manifest'
dnm-labels: 'DNM'

View File

@@ -0,0 +1,54 @@
# Copyright (c) 2023 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
name: Misc. Pylib Scripts TestSuite
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/pylib/build_helpers/**'
- '.github/workflows/pylib_tests.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/pylib/build_helpers/**'
- '.github/workflows/pylib_tests.yml'
jobs:
pylib-tests:
name: Misc. Pylib Unit Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
os: [ubuntu-22.04]
steps:
- name: checkout
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install-packages
run: |
pip3 install -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt
- name: Run pytest for build_helpers
env:
ZEPHYR_BASE: ./
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
run: |
echo "Run build_helpers tests"
PYTHONPATH=./scripts/tests pytest ./scripts/tests/build_helpers

View File

@@ -1,60 +0,0 @@
name: Create a Release
on:
push:
tags:
- 'v*'
- '!v*rc*'
jobs:
release:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get the version
id: get_version
run: |
echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
echo "TRIMMED_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
with:
args: spdx -o zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
- name: upload-results
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
path: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
- name: Create empty release notes body
run: |
echo "TODO: add release overview and notes link" > release-notes.txt
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Zephyr ${{ steps.get_version.outputs.TRIMMED_VERSION }}
body_path: release-notes.txt
draft: true
prerelease: true
- name: Upload Release Assets
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
asset_name: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
asset_content_type: text/plain

60
.github/workflows/release.yml.disabled vendored Normal file
View File

@@ -0,0 +1,60 @@
name: Create a Release
on:
push:
tags:
- 'v*'
- '!v*rc*'
jobs:
release:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get the version
id: get_version
run: |
echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
echo "TRIMMED_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
with:
args: spdx -o zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
- name: upload-results
uses: actions/upload-artifact@v4
continue-on-error: true
with:
name: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
path: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
- name: Create empty release notes body
run: |
echo "TODO: add release overview and notes link" > release-notes.txt
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Zephyr ${{ steps.get_version.outputs.TRIMMED_VERSION }}
body_path: release-notes.txt
draft: true
prerelease: true
- name: Upload Release Assets
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
asset_name: zephyr-${{ steps.get_version.outputs.VERSION }}.spdx
asset_content_type: text/plain

View File

@@ -1,71 +0,0 @@
# Copyright 2023 Google LLC
# SPDX-License-Identifier: Apache-2.0
name: Scripts tests
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/build/**'
- '.github/workflows/scripts_tests.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/build/**'
- '.github/workflows/scripts_tests.yml'
jobs:
scripts-tests:
name: Scripts tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10']
os: [ubuntu-20.04]
steps:
- name: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Rebase
continue-on-error: true
env:
BASE_REF: ${{ github.base_ref }}
PR_HEAD: ${{ github.event.pull_request.head.sha }}
run: |
git config --global user.email "actions@zephyrproject.org"
git config --global user.name "Github Actions"
git rebase origin/${BASE_REF}
git log --graph --oneline HEAD...${PR_HEAD}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install-packages
run: |
pip3 install -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt
- name: Run pytest
env:
ZEPHYR_BASE: ./
run: |
echo "Run script tests"
pytest ./scripts/build

View File

@@ -0,0 +1,71 @@
# Copyright 2023 Google LLC
# SPDX-License-Identifier: Apache-2.0
name: Scripts tests
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/build/**'
- '.github/workflows/scripts_tests.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/build/**'
- '.github/workflows/scripts_tests.yml'
jobs:
scripts-tests:
name: Scripts tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
os: [ubuntu-20.04]
steps:
- name: checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Rebase
continue-on-error: true
env:
BASE_REF: ${{ github.base_ref }}
PR_HEAD: ${{ github.event.pull_request.head.sha }}
run: |
git config --global user.email "actions@zephyrproject.org"
git config --global user.name "Github Actions"
git rebase origin/${BASE_REF}
git log --graph --oneline HEAD...${PR_HEAD}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install-packages
run: |
pip3 install -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt
- name: Run pytest
env:
ZEPHYR_BASE: ./
run: |
echo "Run script tests"
pytest ./scripts/build

View File

@@ -1,28 +0,0 @@
name: "Close stale pull requests/issues"
on:
schedule:
- cron: "16 00 * * *"
jobs:
stale:
name: Find Stale issues and PRs
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- uses: actions/stale@v8
with:
stale-pr-message: 'This pull request has been marked as stale because it has been open (more
than) 60 days with no activity. Remove the stale label or add a comment saying that you
would like to have the label removed otherwise this pull request will automatically be
closed in 14 days. Note, that you can always re-open a closed pull request at any time.'
stale-issue-message: 'This issue has been marked as stale because it has been open (more
than) 60 days with no activity. Remove the stale label or add a comment saying that you
would like to have the label removed otherwise this issue will automatically be closed in
14 days. Note, that you can always re-open a closed issue at any time.'
days-before-stale: 60
days-before-close: 14
stale-issue-label: 'Stale'
stale-pr-label: 'Stale'
exempt-pr-labels: 'Blocked,In progress'
exempt-issue-labels: 'In progress,Enhancement,Feature,Feature Request,RFC,Meta,Process'
operations-per-run: 400

View File

@@ -0,0 +1,28 @@
name: "Close stale pull requests/issues"
on:
schedule:
- cron: "16 00 * * *"
jobs:
stale:
name: Find Stale issues and PRs
runs-on: ubuntu-22.04
if: github.repository == 'zephyrproject-rtos/zephyr'
steps:
- uses: actions/stale@v8
with:
stale-pr-message: 'This pull request has been marked as stale because it has been open (more
than) 60 days with no activity. Remove the stale label or add a comment saying that you
would like to have the label removed otherwise this pull request will automatically be
closed in 14 days. Note, that you can always re-open a closed pull request at any time.'
stale-issue-message: 'This issue has been marked as stale because it has been open (more
than) 60 days with no activity. Remove the stale label or add a comment saying that you
would like to have the label removed otherwise this issue will automatically be closed in
14 days. Note, that you can always re-open a closed issue at any time.'
days-before-stale: 60
days-before-close: 14
stale-issue-label: 'Stale'
stale-pr-label: 'Stale'
exempt-pr-labels: 'Blocked,In progress'
exempt-issue-labels: 'In progress,Enhancement,Feature,Feature Request,RFC,Meta,Process,Coverity'
operations-per-run: 400

View File

@@ -0,0 +1,24 @@
name: Merged PR stats
on:
pull_request_target:
branches:
- main
- v*-branch
types: [closed]
jobs:
record_merged:
if: github.event.pull_request.merged == true && github.repository == 'zephyrproject-rtos/zephyr'
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v4
- name: PR event
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ELASTICSEARCH_KEY: ${{ secrets.ELASTICSEARCH_KEY }}
ELASTICSEARCH_SERVER: "https://elasticsearch.zephyrproject.io:443"
PR_STAT_ES_INDEX: ${{ vars.PR_STAT_ES_INDEX }}
run: |
pip3 install pygithub elasticsearch
python3 ./scripts/ci/stats/merged_prs.py --pull-request ${{ github.event.pull_request.number }} --repo ${{ github.repository }}

View File

@@ -1,331 +0,0 @@
name: Run tests with twister
on:
push:
branches:
- main
- v*-branch
pull_request_target:
branches:
- main
- v*-branch
schedule:
# Run at 03:00 UTC on every Sunday
- cron: '0 3 * * 0'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
twister-build-prep:
if: github.repository_owner == 'zephyrproject-rtos'
runs-on: zephyr-runner-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
options: '--entrypoint /bin/bash'
volumes:
- /repo-cache/zephyrproject:/github/cache/zephyrproject
outputs:
subset: ${{ steps.output-services.outputs.subset }}
size: ${{ steps.output-services.outputs.size }}
fullrun: ${{ steps.output-services.outputs.fullrun }}
env:
MATRIX_SIZE: 10
PUSH_MATRIX_SIZE: 15
DAILY_MATRIX_SIZE: 80
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
BSIM_OUT_PATH: /opt/bsim/
BSIM_COMPONENTS_PATH: /opt/bsim/components
TESTS_PER_BUILDER: 700
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
BASE_REF: ${{ github.base_ref }}
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Clone cached Zephyr repository
if: github.event_name == 'pull_request_target'
continue-on-error: true
run: |
git clone --shared /github/cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
if: github.event_name == 'pull_request_target'
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: Environment Setup
if: github.event_name == 'pull_request_target'
run: |
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Bot"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
west init -l . || true
west config manifest.group-filter -- +ci
west config --global update.narrow true
west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /github/cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
- name: Generate Test Plan with Twister
if: github.event_name == 'pull_request_target'
id: test-plan
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
python3 ./scripts/ci/test_plan.py -c origin/${BASE_REF}.. --pull-request -t $TESTS_PER_BUILDER
if [ -s .testplan ]; then
cat .testplan >> $GITHUB_ENV
else
echo "TWISTER_NODES=${MATRIX_SIZE}" >> $GITHUB_ENV
fi
rm -f testplan.json .testplan
- name: Determine matrix size
id: output-services
run: |
if [ "${{github.event_name}}" = "pull_request_target" ]; then
if [ -n "${TWISTER_NODES}" ]; then
subset="[$(seq -s',' 1 ${TWISTER_NODES})]"
else
subset="[$(seq -s',' 1 ${MATRIX_SIZE})]"
fi
size=${TWISTER_NODES}
elif [ "${{github.event_name}}" = "push" ]; then
subset="[$(seq -s',' 1 ${PUSH_MATRIX_SIZE})]"
size=${MATRIX_SIZE}
elif [ "${{github.event_name}}" = "schedule" -a "${{github.repository}}" = "zephyrproject-rtos/zephyr" ]; then
subset="[$(seq -s',' 1 ${DAILY_MATRIX_SIZE})]"
size=${DAILY_MATRIX_SIZE}
else
size=0
fi
echo "subset=${subset}" >> $GITHUB_OUTPUT
echo "size=${size}" >> $GITHUB_OUTPUT
echo "fullrun=${TWISTER_FULL}" >> $GITHUB_OUTPUT
twister-build:
runs-on: zephyr-runner-linux-x64-4xlarge
needs: twister-build-prep
if: needs.twister-build-prep.outputs.size != 0
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.4
options: '--entrypoint /bin/bash'
volumes:
- /repo-cache/zephyrproject:/github/cache/zephyrproject
strategy:
fail-fast: false
matrix:
subset: ${{fromJSON(needs.twister-build-prep.outputs.subset)}}
env:
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.1
BSIM_OUT_PATH: /opt/bsim/
BSIM_COMPONENTS_PATH: /opt/bsim/components
TWISTER_COMMON: ' --force-color --inline-logs -v -N -M --retry-failed 3 '
DAILY_OPTIONS: ' -M --build-only --all --show-footprint'
PR_OPTIONS: ' --clobber-output --integration'
PUSH_OPTIONS: ' --clobber-output -M --show-footprint'
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
BASE_REF: ${{ github.base_ref }}
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /github/cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: Environment Setup
run: |
if [ "${{github.event_name}}" = "pull_request_target" ]; then
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Builder"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
fi
echo "$HOME/.local/bin" >> $GITHUB_PATH
west init -l . || true
west config --global update.narrow true
west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /github/cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
- name: Check Environment
run: |
cmake --version
gcc --version
ls -la
echo "github.ref: ${{ github.ref }}"
echo "github.base_ref: ${{ github.base_ref }}"
echo "github.ref_name: ${{ github.ref_name }}"
- name: Prepare ccache timestamp/data
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
string(REPLACE "/" "_" repo ${{github.repository}})
string(REPLACE "-" "_" repo2 ${repo})
file(APPEND $ENV{GITHUB_OUTPUT} "repo=${repo2}\n")
- name: use cache
id: cache-ccache
uses: zephyrproject-rtos/action-s3-cache@v1.2.0
continue-on-error: true
with:
key: ${{ steps.ccache_cache_timestamp.outputs.repo }}-${{ github.ref_name }}-${{github.event_name}}-${{ matrix.subset }}-ccache
path: /github/home/.cache/ccache
aws-s3-bucket: ccache.zephyrproject.org
aws-access-key-id: ${{ vars.AWS_CCACHE_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_CCACHE_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- name: ccache stats initial
run: |
mkdir -p /github/home/.cache
test -d github/home/.cache/ccache && rm -rf /github/home/.cache/ccache && mv github/home/.cache/ccache /github/home/.cache/ccache
ccache -M 10G -s
- if: github.event_name == 'push'
name: Run Tests with Twister (Push)
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} ${TWISTER_COMMON} ${PUSH_OPTIONS}
if [ "${{matrix.subset}}" = "1" ]; then
./scripts/zephyr_module.py --twister-out module_tests.args
if [ -s module_tests.args ]; then
./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${PUSH_OPTIONS}
fi
fi
- if: github.event_name == 'pull_request_target'
name: Run Tests with Twister (Pull Request)
run: |
rm -f testplan.json
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
python3 ./scripts/ci/test_plan.py -c origin/${BASE_REF}.. --pull-request
./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} --load-tests testplan.json ${TWISTER_COMMON} ${PR_OPTIONS}
if [ "${{matrix.subset}}" = "1" -a ${{needs.twister-build-prep.outputs.fullrun}} = 'True' ]; then
./scripts/zephyr_module.py --twister-out module_tests.args
if [ -s module_tests.args ]; then
./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${PR_OPTIONS}
fi
fi
- if: github.event_name == 'schedule'
name: Run Tests with Twister (Daily)
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} ${TWISTER_COMMON} ${DAILY_OPTIONS}
if [ "${{matrix.subset}}" = "1" ]; then
./scripts/zephyr_module.py --twister-out module_tests.args
if [ -s module_tests.args ]; then
./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${DAILY_OPTIONS}
fi
fi
- name: ccache stats post
run: |
ccache -p
ccache -s
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Unit Test Results (Subset ${{ matrix.subset }})
if-no-files-found: ignore
path: |
twister-out/twister.xml
twister-out/twister.json
module_tests/twister.xml
testplan.json
twister-test-results:
name: "Publish Unit Tests Results"
env:
ELASTICSEARCH_KEY: ${{ secrets.ELASTICSEARCH_KEY }}
ELASTICSEARCH_SERVER: "https://elasticsearch.zephyrproject.io:443"
needs: twister-build
runs-on: ubuntu-22.04
# the build-and-test job might be skipped, we don't need to run this job then
if: success() || failure()
steps:
# Needed for opensearch and upload script
- if: github.event_name == 'push' || github.event_name == 'schedule'
name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
persist-credentials: false
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- if: github.event_name == 'push' || github.event_name == 'schedule'
name: Upload to opensearch
run: |
pip3 install elasticsearch
# set run date on upload to get consistent and unified data across the matrix.
run_date=`date --iso-8601=minutes`
if [ "${{github.event_name}}" = "push" ]; then
python3 ./scripts/ci/upload_test_results_es.py -r ${run_date} \
--index zephyr-main-ci-push-1 artifacts/*/*/twister.json
elif [ "${{github.event_name}}" = "schedule" ]; then
python3 ./scripts/ci/upload_test_results_es.py -r ${run_date} \
--index zephyr-main-ci-weekly-1 artifacts/*/*/twister.json
fi
- name: Merge Test Results
run: |
pip3 install junitparser junit2html
junitparser merge artifacts/*/*/twister.xml junit.xml
junit2html junit.xml junit.html
- name: Upload Unit Test Results in HTML
if: always()
uses: actions/upload-artifact@v3
with:
name: HTML Unit Test Results
if-no-files-found: ignore
path: |
junit.html
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
check_name: Unit Test Results
files: "**/twister.xml"
comment_mode: off

350
.github/workflows/twister.yaml.disabled vendored Normal file
View File

@@ -0,0 +1,350 @@
name: Run tests with twister
on:
push:
branches:
- main
- v*-branch
- collab-*
pull_request_target:
branches:
- main
- v*-branch
- collab-*
schedule:
# Run at 03:00 UTC on every Sunday
- cron: '0 3 * * 0'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
twister-build-prep:
if: github.repository_owner == 'zephyrproject-rtos'
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.7.20240313
options: '--entrypoint /bin/bash'
outputs:
subset: ${{ steps.output-services.outputs.subset }}
size: ${{ steps.output-services.outputs.size }}
fullrun: ${{ steps.output-services.outputs.fullrun }}
env:
MATRIX_SIZE: 10
PUSH_MATRIX_SIZE: 20
DAILY_MATRIX_SIZE: 80
BSIM_OUT_PATH: /opt/bsim/
BSIM_COMPONENTS_PATH: /opt/bsim/components
TESTS_PER_BUILDER: 700
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
BASE_REF: ${{ github.base_ref }}
steps:
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: Clone cached Zephyr repository
if: github.event_name == 'pull_request_target'
continue-on-error: true
run: |
git clone --shared /repo-cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
if: github.event_name == 'pull_request_target'
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: Environment Setup
if: github.event_name == 'pull_request_target'
run: |
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Bot"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
west init -l . || true
west config manifest.group-filter -- +ci,+optional
west config --global update.narrow true
west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /repo-cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: Generate Test Plan with Twister
if: github.event_name == 'pull_request_target'
id: test-plan
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
python3 ./scripts/ci/test_plan.py -c origin/${BASE_REF}.. --pull-request -t $TESTS_PER_BUILDER
if [ -s .testplan ]; then
cat .testplan >> $GITHUB_ENV
else
echo "TWISTER_NODES=${MATRIX_SIZE}" >> $GITHUB_ENV
fi
rm -f testplan.json .testplan
- name: Determine matrix size
id: output-services
run: |
if [ "${{github.event_name}}" = "pull_request_target" ]; then
if [ -n "${TWISTER_NODES}" ]; then
subset="[$(seq -s',' 1 ${TWISTER_NODES})]"
else
subset="[$(seq -s',' 1 ${MATRIX_SIZE})]"
fi
size=${TWISTER_NODES}
elif [ "${{github.event_name}}" = "push" ]; then
subset="[$(seq -s',' 1 ${PUSH_MATRIX_SIZE})]"
size=${MATRIX_SIZE}
elif [ "${{github.event_name}}" = "schedule" -a "${{github.repository}}" = "zephyrproject-rtos/zephyr" ]; then
subset="[$(seq -s',' 1 ${DAILY_MATRIX_SIZE})]"
size=${DAILY_MATRIX_SIZE}
else
size=0
fi
echo "subset=${subset}" >> $GITHUB_OUTPUT
echo "size=${size}" >> $GITHUB_OUTPUT
echo "fullrun=${TWISTER_FULL}" >> $GITHUB_OUTPUT
twister-build:
runs-on:
group: zephyr-runner-v2-linux-x64-4xlarge
needs: twister-build-prep
if: needs.twister-build-prep.outputs.size != 0
container:
image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.7.20240313
options: '--entrypoint /bin/bash'
strategy:
fail-fast: false
matrix:
subset: ${{fromJSON(needs.twister-build-prep.outputs.subset)}}
timeout-minutes: 1440
env:
CCACHE_DIR: /node-cache/ccache-zephyr
CCACHE_REMOTE_STORAGE: "redis://cache-*.keydb-cache.svc.cluster.local|shards=1,2,3"
CCACHE_REMOTE_ONLY: "true"
# `--specs` is ignored because ccache is unable to resolve the toolchain specs file path.
CCACHE_IGNOREOPTIONS: '--specs=*'
BSIM_OUT_PATH: /opt/bsim/
BSIM_COMPONENTS_PATH: /opt/bsim/components
TWISTER_COMMON: ' --force-color --inline-logs -v -N -M --retry-failed 3 --timeout-multiplier 2 '
DAILY_OPTIONS: ' -M --build-only --all --show-footprint'
PR_OPTIONS: ' --clobber-output --integration'
PUSH_OPTIONS: ' --clobber-output -M --show-footprint'
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
BASE_REF: ${{ github.base_ref }}
steps:
- name: Print cloud service information
run: |
echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
- name: Apply container owner mismatch workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Clone cached Zephyr repository
continue-on-error: true
run: |
git clone --shared /repo-cache/zephyrproject/zephyr .
git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: Environment Setup
run: |
if [ "${{github.event_name}}" = "pull_request_target" ]; then
git config --global user.email "bot@zephyrproject.org"
git config --global user.name "Zephyr Builder"
rm -fr ".git/rebase-apply"
git rebase origin/${BASE_REF}
git log --pretty=oneline | head -n 10
fi
echo "$HOME/.local/bin" >> $GITHUB_PATH
west init -l . || true
west config manifest.group-filter -- +ci,+optional
west config --global update.narrow true
west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /repo-cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: Check Environment
run: |
cmake --version
gcc --version
ls -la
echo "github.ref: ${{ github.ref }}"
echo "github.base_ref: ${{ github.base_ref }}"
echo "github.ref_name: ${{ github.ref_name }}"
- name: Set up ccache
run: |
mkdir -p ${CCACHE_DIR}
ccache -M 10G
ccache -p
ccache -z -s -vv
- if: github.event_name == 'push'
name: Run Tests with Twister (Push)
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} ${TWISTER_COMMON} ${PUSH_OPTIONS}
if [ "${{matrix.subset}}" = "1" ]; then
./scripts/zephyr_module.py --twister-out module_tests.args
if [ -s module_tests.args ]; then
./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${PUSH_OPTIONS}
fi
fi
- if: github.event_name == 'pull_request_target'
name: Run Tests with Twister (Pull Request)
run: |
rm -f testplan.json
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
python3 ./scripts/ci/test_plan.py -c origin/${BASE_REF}.. --pull-request
./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} --load-tests testplan.json ${TWISTER_COMMON} ${PR_OPTIONS}
if [ "${{matrix.subset}}" = "1" -a ${{needs.twister-build-prep.outputs.fullrun}} = 'True' ]; then
./scripts/zephyr_module.py --twister-out module_tests.args
if [ -s module_tests.args ]; then
./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${PR_OPTIONS}
fi
fi
- if: github.event_name == 'schedule'
name: Run Tests with Twister (Daily)
run: |
export ZEPHYR_BASE=${PWD}
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} ${TWISTER_COMMON} ${DAILY_OPTIONS}
if [ "${{matrix.subset}}" = "1" ]; then
./scripts/zephyr_module.py --twister-out module_tests.args
if [ -s module_tests.args ]; then
./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${DAILY_OPTIONS}
fi
fi
- name: Print ccache stats
if: always()
run: |
ccache -s -vv
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: Unit Test Results (Subset ${{ matrix.subset }})
if-no-files-found: ignore
path: |
twister-out/twister.xml
twister-out/twister.json
module_tests/twister.xml
testplan.json
- if: matrix.subset == 1 && github.event_name == 'push'
name: Save the list of Python packages
shell: bash
run: |
FREEZE_FILE="frozen-requirements.txt"
timestamp="$(date)"
version="$(git describe --abbrev=12 --always)"
echo -e "# Generated at $timestamp ($version)\n" > $FREEZE_FILE
pip3 freeze | tee -a $FREEZE_FILE
- if: matrix.subset == 1 && github.event_name == 'push'
name: Upload the list of Python packages
uses: actions/upload-artifact@v4
with:
name: Frozen PIP package set
path: |
frozen-requirements.txt
twister-test-results:
name: "Publish Unit Tests Results"
env:
ELASTICSEARCH_KEY: ${{ secrets.ELASTICSEARCH_KEY }}
ELASTICSEARCH_SERVER: "https://elasticsearch.zephyrproject.io:443"
needs: twister-build
runs-on: ubuntu-22.04
# the build-and-test job might be skipped, we don't need to run this job then
if: success() || failure()
steps:
# Needed for opensearch and upload script
- if: github.event_name == 'push' || github.event_name == 'schedule'
name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- if: github.event_name == 'push' || github.event_name == 'schedule'
name: Upload to opensearch
run: |
pip3 install elasticsearch
# set run date on upload to get consistent and unified data across the matrix.
run_date=`date --iso-8601=minutes`
if [ "${{github.event_name}}" = "push" ]; then
python3 ./scripts/ci/upload_test_results_es.py -r ${run_date} \
--index zephyr-main-ci-push-1 artifacts/*/*/twister.json
elif [ "${{github.event_name}}" = "schedule" ]; then
python3 ./scripts/ci/upload_test_results_es.py -r ${run_date} \
--index zephyr-main-ci-weekly-1 artifacts/*/*/twister.json
fi
- name: Merge Test Results
run: |
pip3 install junitparser junit2html
junitparser merge artifacts/*/*/twister.xml junit.xml
junit2html junit.xml junit.html
- name: Upload Unit Test Results in HTML
if: always()
uses: actions/upload-artifact@v4
with:
name: HTML Unit Test Results
if-no-files-found: ignore
path: |
junit.html
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
check_name: Unit Test Results
files: "**/twister.xml"
comment_mode: off

View File

@@ -1,66 +0,0 @@
# Copyright (c) 2020 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
name: Twister TestSuite
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/pylib/twister/**'
- 'scripts/twister'
- 'scripts/tests/twister/**'
- '.github/workflows/twister_tests.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/pylib/twister/**'
- 'scripts/twister'
- 'scripts/tests/twister/**'
- '.github/workflows/twister_tests.yml'
jobs:
twister-tests:
name: Twister Unit Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10']
os: [ubuntu-22.04]
steps:
- name: checkout
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install-packages
run: |
pip3 install -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt
- name: Run pytest for twisterlib
env:
ZEPHYR_BASE: ./
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
run: |
echo "Run twister tests"
PYTHONPATH=./scripts/tests pytest ./scripts/tests/twister
- name: Run pytest for pytest-twister-harness
env:
ZEPHYR_BASE: ./
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
PYTHONPATH: ./scripts/pylib/pytest-twister-harness/src:${PYTHONPATH}
run: |
echo "Run twister tests"
pytest ./scripts/pylib/pytest-twister-harness/tests

View File

@@ -0,0 +1,66 @@
# Copyright (c) 2020 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
name: Twister TestSuite
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/pylib/**'
- 'scripts/twister'
- 'scripts/tests/twister/**'
- '.github/workflows/twister_tests.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/pylib/**'
- 'scripts/twister'
- 'scripts/tests/twister/**'
- '.github/workflows/twister_tests.yml'
jobs:
twister-tests:
name: Twister Unit Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
os: [ubuntu-22.04]
steps:
- name: checkout
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install-packages
run: |
pip3 install -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt -r scripts/requirements-run-test.txt
- name: Run pytest for twisterlib
env:
ZEPHYR_BASE: ./
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
run: |
echo "Run twister tests"
PYTHONPATH=./scripts/tests pytest ./scripts/tests/twister
- name: Run pytest for pytest-twister-harness
env:
ZEPHYR_BASE: ./
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
PYTHONPATH: ./scripts/pylib/pytest-twister-harness/src:${PYTHONPATH}
run: |
echo "Run twister tests"
pytest ./scripts/pylib/pytest-twister-harness/tests

View File

@@ -0,0 +1,91 @@
# Copyright (c) 2023 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
name: Twister BlackBox TestSuite
on:
pull_request:
branches:
- main
paths:
- 'scripts/pylib/twister/**'
- 'scripts/twister'
- 'scripts/tests/twister_blackbox/**'
- '.github/workflows/twister_tests_blackbox.yml'
jobs:
twister-tests:
name: Twister Black Box Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
os: [ubuntu-22.04]
container:
image: ghcr.io/zephyrproject-rtos/ci:v0.26.7
steps:
- name: Apply Container Owner Mismatch Workaround
run: |
# FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
# match the container user UID because of the way GitHub
# Actions runner is implemented. Remove this workaround when
# GitHub comes up with a fundamental fix for this problem.
git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Checkout
uses: actions/checkout@v4
- name: Environment Setup
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
west init -l . || true
west config --global update.narrow true
west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /github/cache/zephyrproject)
west forall -c 'git reset --hard HEAD'
echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
- name: Set Up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Go Into Venv
shell: bash
run: |
python3 -m pip install --user virtualenv
python3 -m venv env
source env/bin/activate
echo "$(which python)"
- name: Install Packages
run: |
python3 -m pip install -U -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt -r scripts/requirements-run-test.txt
- name: Run Pytest For Twister Black Box Tests
shell: bash
env:
ZEPHYR_BASE: ./
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
run: |
echo "Run twister tests"
source zephyr-env.sh
PYTHONPATH="./scripts/tests" pytest ./scripts/tests/twister_blackbox
- name: Upload Unit Test Results
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: Black Box Test Results (Python ${{ matrix.python-version }})
path: |
twister-out*/twister.log
twister-out*/twister.json
twister-out*/testplan.log
retention-days: 14
- name: Clear Workspace
if: success() || failure()
run: |
rm -rf twister-out*/

View File

@@ -1,80 +0,0 @@
# Copyright (c) 2020 Linaro Limited.
# SPDX-License-Identifier: Apache-2.0
name: Zephyr West Command Tests
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/west-commands.yml'
- 'scripts/west_commands/**'
- '.github/workflows/west_cmds.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/west-commands.yml'
- 'scripts/west_commands/**'
- '.github/workflows/west_cmds.yml'
jobs:
west-commnads:
name: West Command Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10']
os: [ubuntu-22.04, macos-11, windows-2022]
exclude:
- os: macos-11
python-version: 3.6
- os: windows-2022
python-version: 3.6
steps:
- name: checkout
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: cache-pip-mac
if: startsWith(runner.os, 'macOS')
uses: actions/cache@v3
with:
path: ~/Library/Caches/pip
# Trailing '-' was just to get a different cache name
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
- name: cache-pip-win
if: startsWith(runner.os, 'Windows')
uses: actions/cache@v3
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install pytest
run: |
pip3 install wheel
pip3 install pytest west pyelftools canopen natsort progress mypy intelhex psutil ply pyserial
- name: run pytest-win
if: runner.os == 'Windows'
run: |
python ./scripts/west_commands/run_tests.py
- name: run pytest-mac-linux
if: runner.os != 'Windows'
run: |
./scripts/west_commands/run_tests.py

View File

@@ -0,0 +1,80 @@
# Copyright (c) 2020 Linaro Limited.
# SPDX-License-Identifier: Apache-2.0
name: Zephyr West Command Tests
on:
push:
branches:
- main
- v*-branch
paths:
- 'scripts/west-commands.yml'
- 'scripts/west_commands/**'
- '.github/workflows/west_cmds.yml'
pull_request:
branches:
- main
- v*-branch
paths:
- 'scripts/west-commands.yml'
- 'scripts/west_commands/**'
- '.github/workflows/west_cmds.yml'
jobs:
west-commnads:
name: West Command Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
os: [ubuntu-22.04, macos-11, windows-2022]
exclude:
- os: macos-11
python-version: 3.6
- os: windows-2022
python-version: 3.6
steps:
- name: checkout
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: cache-pip-linux
if: startsWith(runner.os, 'Linux')
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: cache-pip-mac
if: startsWith(runner.os, 'macOS')
uses: actions/cache@v4
with:
path: ~/Library/Caches/pip
# Trailing '-' was just to get a different cache name
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
- name: cache-pip-win
if: startsWith(runner.os, 'Windows')
uses: actions/cache@v4
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}
- name: install pytest
run: |
pip3 install wheel
pip3 install pytest west pyelftools canopen natsort progress mypy intelhex psutil ply pyserial
- name: run pytest-win
if: runner.os == 'Windows'
run: |
python ./scripts/west_commands/run_tests.py
- name: run pytest-mac-linux
if: runner.os != 'Windows'
run: |
./scripts/west_commands/run_tests.py

1
.gitignore vendored
View File

@@ -76,6 +76,7 @@ ImageSize.txt
Kconfig.txt
KconfigBasic.txt
KconfigBasicNoModules.txt
KeepSorted.txt
MaintainersFormat.txt
ModulesMaintainers.txt
Nits.txt

View File

@@ -118,19 +118,7 @@ zephyr_include_directories(
include(${ZEPHYR_BASE}/cmake/linker_script/${ARCH}/linker.cmake OPTIONAL)
# Don't add non-existing include directories, it creates noise and
# warnings in some tooling
foreach(optional_include_dir
${SOC_DIR}/${ARCH}/${SOC_PATH}
${SOC_DIR}/${ARCH}/${SOC_PATH}/include
${SOC_DIR}/${ARCH}/${SOC_PATH}/include/${SOC_NAME}
${SOC_DIR}/${ARCH}/${SOC_FAMILY}/include
${SOC_DIR}/${ARCH}/${SOC_FAMILY}/common/include
)
if(EXISTS ${optional_include_dir})
zephyr_include_directories(${optional_include_dir})
endif()
endforeach()
zephyr_include_directories(${SOC_DIR}/${ARCH}/${SOC_PATH})
# Don't inherit compiler flags from the environment
foreach(var AFLAGS CFLAGS CXXFLAGS CPPFLAGS LDFLAGS)
@@ -225,6 +213,11 @@ endif()
# Apply the final optimization flag(s)
zephyr_compile_options(${OPTIMIZATION_FLAG})
if(CONFIG_LTO)
add_compile_options($<TARGET_PROPERTY:compiler,optimization_lto>)
add_link_options($<TARGET_PROPERTY:linker,lto_arguments>)
endif()
# @Intent: Obtain compiler specific flags related to C++ that are not influenced by kconfig
zephyr_compile_options($<$<COMPILE_LANGUAGE:CXX>:$<TARGET_PROPERTY:compiler-cpp,required>>)
@@ -484,38 +477,12 @@ if(CONFIG_USERSPACE)
set(KOBJECT_LINKER_DEP kobject_linker)
endif()
get_property(TOPT GLOBAL PROPERTY TOPT)
get_property(COMPILER_TOPT TARGET compiler PROPERTY linker_script)
set_ifndef( TOPT "${COMPILER_TOPT}")
set_ifndef( TOPT -Wl,-T) # Use this if the compiler driver doesn't set a value
if(CONFIG_HAVE_CUSTOM_LINKER_SCRIPT)
set(LINKER_SCRIPT ${APPLICATION_SOURCE_DIR}/${CONFIG_CUSTOM_LINKER_SCRIPT})
if(NOT EXISTS ${LINKER_SCRIPT})
set(LINKER_SCRIPT ${CONFIG_CUSTOM_LINKER_SCRIPT})
assert_exists(CONFIG_CUSTOM_LINKER_SCRIPT)
endif()
else()
# Try a board specific linker file
set(LINKER_SCRIPT ${BOARD_DIR}/linker.ld)
if(NOT EXISTS ${LINKER_SCRIPT})
# If not available, try an SoC specific linker file
set(LINKER_SCRIPT ${SOC_DIR}/${ARCH}/${SOC_PATH}/linker.ld)
endif()
endif()
if(NOT EXISTS ${LINKER_SCRIPT})
message(FATAL_ERROR "Could not find linker script: '${LINKER_SCRIPT}'. Corrupted configuration?")
endif()
if(DEFINED BUILD_VERSION)
set(build_version_argument "-DBUILD_VERSION=${BUILD_VERSION}")
elseif(NOT ZEPHYR_GIT_INDEX)
set(ZEPHYR_GIT_INDEX ZEPHYR_GIT_INDEX-NOTFOUND CACHE PATH
"Path to Zephyr git repository index file")
if(EXISTS ${ZEPHYR_BASE}/.git/index)
set(ZEPHYR_GIT_DIR ${ZEPHYR_BASE}/.git/index CACHE PATH
"Path to Zephyr git repository index file" FORCE)
set(ZEPHYR_GIT_INDEX ${ZEPHYR_BASE}/.git/index CACHE PATH
"Path to Zephyr git repository index file")
elseif(EXISTS ${ZEPHYR_BASE}/.git)
# Likely a git-submodule. Let's ask git where the real database is located.
find_package(Git QUIET)
@@ -535,7 +502,7 @@ elseif(NOT ZEPHYR_GIT_INDEX)
message(WARNING "BUILD_VERSION: git rev-parse warned: ${stderr}")
endif()
set(ZEPHYR_GIT_INDEX ${zephyr_git_dir}/index CACHE PATH
"Path to Zephyr git repository index file" FORCE)
"Path to Zephyr git repository index file")
endif()
else()
message(WARNING "Could not find git installation, "
@@ -557,10 +524,11 @@ add_custom_command(
-DOUT_FILE=${PROJECT_BINARY_DIR}/include/generated/version.h
-DVERSION_TYPE=KERNEL
-DVERSION_FILE=${ZEPHYR_BASE}/VERSION
-DKERNEL_VERSION_CUSTOMIZATION="${KERNEL_VERSION_CUSTOMIZATION}"
-DKERNEL_VERSION_CUSTOMIZATION="$<TARGET_PROPERTY:version_h,KERNEL_VERSION_CUSTOMIZATION>"
${build_version_argument}
-P ${ZEPHYR_BASE}/cmake/gen_version_h.cmake
DEPENDS ${ZEPHYR_BASE}/VERSION ${git_dependency}
COMMAND_EXPAND_LISTS
)
add_custom_target(version_h DEPENDS ${PROJECT_BINARY_DIR}/include/generated/version.h)
@@ -571,10 +539,11 @@ if(EXISTS ${APPLICATION_SOURCE_DIR}/VERSION)
-DOUT_FILE=${PROJECT_BINARY_DIR}/include/generated/app_version.h
-DVERSION_TYPE=APP
-DVERSION_FILE=${APPLICATION_SOURCE_DIR}/VERSION
-DAPP_VERSION_CUSTOMIZATION="${APP_VERSION_CUSTOMIZATION}"
-DAPP_VERSION_CUSTOMIZATION="$<TARGET_PROPERTY:app_version_h,APP_VERSION_CUSTOMIZATION>"
${build_version_argument}
-P ${ZEPHYR_BASE}/cmake/gen_version_h.cmake
DEPENDS ${APPLICATION_SOURCE_DIR}/VERSION ${git_dependency}
COMMAND_EXPAND_LISTS
)
add_custom_target(app_version_h DEPENDS ${PROJECT_BINARY_DIR}/include/generated/app_version.h)
add_dependencies(zephyr_interface app_version_h)
@@ -617,12 +586,14 @@ foreach(module_name ${ZEPHYR_MODULE_NAMES})
# https://cmake.org/pipermail/cmake/2019-June/069547.html
zephyr_string(SANITIZE TOUPPER MODULE_NAME_UPPER ${module_name})
if(NOT ${ZEPHYR_${MODULE_NAME_UPPER}_CMAKE_DIR} STREQUAL "")
set(ZEPHYR_CURRENT_MODULE_NAME ${ZEPHYR_${MODULE_NAME_UPPER}_MODULE_NAME})
set(ZEPHYR_CURRENT_MODULE_DIR ${ZEPHYR_${MODULE_NAME_UPPER}_MODULE_DIR})
set(ZEPHYR_CURRENT_CMAKE_DIR ${ZEPHYR_${MODULE_NAME_UPPER}_CMAKE_DIR})
add_subdirectory(${ZEPHYR_CURRENT_CMAKE_DIR} ${CMAKE_BINARY_DIR}/modules/${module_name})
endif()
endforeach()
# Done processing modules, clear ZEPHYR_CURRENT_MODULE_DIR and ZEPHYR_CURRENT_CMAKE_DIR.
# Done processing modules, clear module variables
set(ZEPHYR_CURRENT_MODULE_NAME)
set(ZEPHYR_CURRENT_MODULE_DIR)
set(ZEPHYR_CURRENT_CMAKE_DIR)
@@ -839,6 +810,10 @@ target_include_directories(${OFFSETS_LIB} PRIVATE
kernel/include
${ARCH_DIR}/${ARCH}/include
)
# Make sure that LTO will never be enabled when compiling offsets.c
set_source_files_properties(${OFFSETS_C_PATH} PROPERTIES COMPILE_OPTIONS $<TARGET_PROPERTY:compiler,prohibit_lto>)
target_link_libraries(${OFFSETS_LIB} zephyr_interface)
add_dependencies(zephyr_interface
${SYSCALL_LIST_H_TARGET}
@@ -976,6 +951,29 @@ set(CMAKE_C_COMPILE_FEATURES ${compile_features_${CSTD}} PARENT_SCOPE)
# @Intent: Configure linker scripts, i.e. generate linker scripts with variables substituted
toolchain_ld_configure_files()
get_property(TOPT GLOBAL PROPERTY TOPT)
get_property(COMPILER_TOPT TARGET compiler PROPERTY linker_script)
set_ifndef( TOPT "${COMPILER_TOPT}")
set_ifndef( TOPT -Wl,-T) # Use this if the compiler driver doesn't set a value
if(CONFIG_HAVE_CUSTOM_LINKER_SCRIPT)
set(LINKER_SCRIPT ${APPLICATION_SOURCE_DIR}/${CONFIG_CUSTOM_LINKER_SCRIPT})
if(NOT EXISTS ${LINKER_SCRIPT})
set(LINKER_SCRIPT ${CONFIG_CUSTOM_LINKER_SCRIPT})
assert_exists(CONFIG_CUSTOM_LINKER_SCRIPT)
endif()
elseif(DEFINED BOARD_LINKER_SCRIPT)
set(LINKER_SCRIPT ${BOARD_LINKER_SCRIPT})
elseif(DEFINED SOC_LINKER_SCRIPT)
set(LINKER_SCRIPT ${SOC_LINKER_SCRIPT})
else()
find_package(Deprecated COMPONENTS SEARCHED_LINKER_SCRIPT)
endif()
if(NOT EXISTS ${LINKER_SCRIPT})
message(FATAL_ERROR "Could not find linker script: '${LINKER_SCRIPT}'. Corrupted configuration?")
endif()
if(CONFIG_USERSPACE)
set(APP_SMEM_ALIGNED_LD "${PROJECT_BINARY_DIR}/include/generated/app_smem_aligned.ld")
set(APP_SMEM_UNALIGNED_LD "${PROJECT_BINARY_DIR}/include/generated/app_smem_unaligned.ld")
@@ -1125,7 +1123,7 @@ if(CONFIG_USERSPACE)
${PROCESS_GPERF}
-i ${KOBJECT_PREBUILT_HASH_OUTPUT_SRC_PRE}
-o ${KOBJECT_PREBUILT_HASH_OUTPUT_SRC}
-p "struct z_object"
-p "struct k_object"
$<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
DEPENDS kobj_prebuilt_hash_output_src_pre ${KOBJECT_PREBUILT_HASH_OUTPUT_SRC_PRE}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
@@ -1239,20 +1237,14 @@ if(CONFIG_GEN_ISR_TABLES)
# isr_tables.c is generated from ${ZEPHYR_LINK_STAGE_EXECUTABLE} by
# gen_isr_tables.py
add_custom_command(
OUTPUT isr_tables.c isrList.bin
COMMAND $<TARGET_PROPERTY:bintools,elfconvert_command>
$<TARGET_PROPERTY:bintools,elfconvert_flag>
$<TARGET_PROPERTY:bintools,elfconvert_flag_intarget>${OUTPUT_FORMAT}
$<TARGET_PROPERTY:bintools,elfconvert_flag_outtarget>binary
$<TARGET_PROPERTY:bintools,elfconvert_flag_section_only>.intList
$<TARGET_PROPERTY:bintools,elfconvert_flag_infile>$<TARGET_FILE:${ZEPHYR_LINK_STAGE_EXECUTABLE}>
$<TARGET_PROPERTY:bintools,elfconvert_flag_outfile>isrList.bin
$<TARGET_PROPERTY:bintools,elfconvert_flag_final>
OUTPUT isr_tables.c isr_tables_vt.ld isr_tables_swi.ld
COMMAND ${PYTHON_EXECUTABLE}
${ZEPHYR_BASE}/scripts/build/gen_isr_tables.py
--output-source isr_tables.c
--linker-output-files isr_tables_vt.ld isr_tables_swi.ld
--kernel $<TARGET_FILE:${ZEPHYR_LINK_STAGE_EXECUTABLE}>
--intlist isrList.bin
--intlist-section .intList
--intlist-section intList
$<$<BOOL:${CONFIG_BIG_ENDIAN}>:--big-endian>
$<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--debug>
${GEN_ISR_TABLE_EXTRA_ARG}
@@ -1324,7 +1316,7 @@ if(CONFIG_USERSPACE)
${PROCESS_GPERF}
-i ${KOBJECT_HASH_OUTPUT_SRC_PRE}
-o ${KOBJECT_HASH_OUTPUT_SRC}
-p "struct z_object"
-p "struct k_object"
$<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
DEPENDS kobj_hash_output_src_pre ${CMAKE_CURRENT_BINARY_DIR}/${KOBJECT_HASH_OUTPUT_SRC_PRE}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
@@ -1642,18 +1634,20 @@ if(CONFIG_BUILD_OUTPUT_BIN AND CONFIG_BUILD_OUTPUT_UF2)
endif()
if(CONFIG_BUILD_OUTPUT_META)
set(KERNEL_META_PATH ${PROJECT_BINARY_DIR}/${KERNEL_META_NAME} CACHE INTERNAL "")
list(APPEND
post_build_commands
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/zephyr_module.py
${WEST_ARG}
${ZEPHYR_MODULES_ARG}
${EXTRA_ZEPHYR_MODULES_ARG}
--meta-out ${KERNEL_META_NAME}
--meta-out ${KERNEL_META_PATH}
--zephyr-base=${ZEPHYR_BASE}
$<$<BOOL:${CONFIG_BUILD_OUTPUT_META_STATE_PROPAGATE}>:--meta-state-propagate>
)
list(APPEND
post_build_byproducts
${KERNEL_META_NAME}
${KERNEL_META_PATH}
)
endif()
@@ -1771,7 +1765,6 @@ if(CONFIG_BUILD_OUTPUT_EXE)
post_build_byproducts
${KERNEL_EXE_NAME}
)
set(BYPRODUCT_KERNEL_EXE_NAME "${PROJECT_BINARY_DIR}/${KERNEL_EXE_NAME}" CACHE FILEPATH "Kernel exe file" FORCE)
else()
if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
set(MAKE "${CMAKE_MAKE_PROGRAM}" CACHE FILEPATH "cmake defined make")
@@ -1782,12 +1775,13 @@ if(CONFIG_BUILD_OUTPUT_EXE)
COMMENT "Building native simulator runner, and linking final executable"
COMMAND
${MAKE} -f ${ZEPHYR_BASE}/scripts/native_simulator/Makefile all --warn-undefined-variables
-r NSI_CONFIG_FILE=${CMAKE_BINARY_DIR}/zephyr/NSI/nsi_config
-r NSI_CONFIG_FILE=${APPLICATION_BINARY_DIR}/zephyr/NSI/nsi_config
# nsi_config is created by the board cmake file
DEPENDS ${logical_target_for_zephyr_elf}
BYPRODUCTS ${KERNEL_EXE_NAME}
)
endif()
set(BYPRODUCT_KERNEL_EXE_NAME "${PROJECT_BINARY_DIR}/${KERNEL_EXE_NAME}" CACHE FILEPATH "Kernel exe file" FORCE)
endif()
if(CONFIG_BUILD_OUTPUT_INFO_HEADER)
@@ -1804,39 +1798,51 @@ if(CONFIG_BUILD_OUTPUT_INFO_HEADER)
)
endif()
if(CONFIG_CHECK_INIT_PRIORITIES)
if(CONFIG_CHECK_INIT_PRIORITIES_FAIL_ON_WARNING)
set(fail_on_warning "--fail-on-warning")
endif()
list(APPEND
post_build_commands
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/check_init_priorities.py
--elf-file=${ZEPHYR_BINARY_DIR}/${KERNEL_ELF_NAME}
${fail_on_warning}
)
endif()
if(NOT CMAKE_C_COMPILER_ID STREQUAL "ARMClang")
set(check_init_priorities_input
$<IF:$<TARGET_EXISTS:native_runner_executable>,${BYPRODUCT_KERNEL_EXE_NAME},${BYPRODUCT_KERNEL_ELF_NAME}>
)
set(check_init_priorities_command
${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/check_init_priorities.py
--elf-file=${check_init_priorities_input}
)
set(check_init_priorities_dependencies
${logical_target_for_zephyr_elf}
$<$<TARGET_EXISTS:native_runner_executable>:native_runner_executable>
)
if(CONFIG_CHECK_INIT_PRIORITIES)
add_custom_target(
check_init_priorities
ALL
COMMAND ${check_init_priorities_command}
DEPENDS ${check_init_priorities_dependencies}
)
endif()
add_custom_target(
initlevels
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/check_init_priorities.py
--elf-file=${ZEPHYR_BINARY_DIR}/${KERNEL_ELF_NAME}
--initlevels
DEPENDS ${logical_target_for_zephyr_elf}
COMMAND ${check_init_priorities_command} --initlevels
DEPENDS ${check_init_priorities_dependencies}
USES_TERMINAL
)
endif()
# Generate and use MCUboot related artifacts as needed.
if(CONFIG_BOOTLOADER_MCUBOOT)
# Generate signed (MCUboot or other) related artifacts as needed. Priority is:
# * Sysbuild (if set)
# * SIGNING_SCRIPT target property (if set)
# * MCUboot signing script (if MCUboot is enabled)
zephyr_get(signing_script VAR SIGNING_SCRIPT SYSBUILD)
if(NOT signing_script)
get_target_property(signing_script zephyr_property_target SIGNING_SCRIPT)
if(NOT signing_script)
set_target_properties(zephyr_property_target PROPERTIES SIGNING_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/cmake/mcuboot.cmake)
if(NOT signing_script AND CONFIG_BOOTLOADER_MCUBOOT)
set(signing_script ${CMAKE_CURRENT_LIST_DIR}/cmake/mcuboot.cmake)
endif()
endif()
# Include signing script, if set
get_target_property(signing_script zephyr_property_target SIGNING_SCRIPT)
if(signing_script)
message(STATUS "Including signing script: ${signing_script}")
@@ -1898,12 +1904,11 @@ endif()
add_custom_command(
TARGET ${logical_target_for_zephyr_elf}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Generating files from ${PROJECT_BINARY_DIR}/${KERNEL_ELF_NAME} for board: ${BOARD}"
${post_build_commands}
BYPRODUCTS
${post_build_byproducts}
COMMENT "Generating files from ${KERNEL_ELF_NAME} for board: ${BOARD}"
COMMAND_EXPAND_LISTS
# NB: COMMENT only works for some CMake-Generators
)
# To populate with hex files to merge, do the following:

View File

@@ -11,25 +11,13 @@
# add others as needed.
# Do not use wildcard on all source yet
# * @galak @nashif
#
# +++++++++++ NOTE ++++++++++++++++
#
# Please use the MAINTAINERS file to add yourself in an area or to add a new
# component or code. This file is going to be deprecated and currently only had
# entries that are not covered by the MAINTAINERS file.
/.github/ @nashif @stephanosio
/.github/workflows/ @galak @nashif
/MAINTAINERS.yml @MaureenHelm
/arch/arc/ @abrodkin @ruuddw @evgeniy-paltsev
/arch/arm/ @MaureenHelm @galak @ioannisg
/arch/arm/core/cortex_m/cmse/ @ioannisg
/arch/arm/include/cortex_m/cmse.h @ioannisg
/arch/arm/core/cortex_a_r/ @MaureenHelm @galak @ioannisg @bbolen @stephanosio
/arch/arm64/ @carlocaione
/arch/arm64/core/cortex_r/ @povergoing
/arch/arm64/core/xen/ @lorc @firscity
/arch/common/ @ioannisg @andyross
/arch/mips/ @frantony
/soc/arc/snps_*/ @abrodkin @ruuddw @evgeniy-paltsev
/soc/nios2/ @nashif
/soc/arm/ @MaureenHelm @galak @ioannisg
/soc/arm/arm/mps2/ @fvincenzo
/soc/arm/aspeed/ @aspeeddylan
/soc/arm/atmel_sam/common/*_sam4l_*.c @nandojve
/soc/arm/atmel_sam/sam3x/ @ioannisg
@@ -38,18 +26,9 @@
/soc/arm/atmel_sam/sam4s/ @fallrisk
/soc/arm/atmel_sam/same70/ @nandojve
/soc/arm/atmel_sam/samv71/ @nandojve
/soc/arm/cypress/ @ifyall @npal-cy
/soc/arm/bcm*/ @sbranden
/soc/arm/gigadevice/ @nandojve
/soc/arm/infineon_cat1/ @ifyall @npal-cy
/soc/arm/infineon_xmc/ @parthitce
/soc/arm/nxp*/ @mmahadevan108 @dleach02
/soc/arm/nxp_s32/ @manuargue
/soc/arm/nordic_nrf/ @anangl
/soc/arm/nuvoton_npcx/ @MulinChao @ChiHuaL
/soc/arm/nuvoton_numicro/ @ssekar15
/soc/arm/quicklogic_eos_s3/ @fkokosinski @kgugala
/soc/arm/rpi_pico/ @yonsch
/soc/arm/silabs_exx32/efm32pg1b/ @rdmeneze
/soc/arm/silabs_exx32/efr32mg21/ @l-alfred
/soc/arm/st_stm32/ @erwango
@@ -63,37 +42,11 @@
/soc/arm/xilinx_zynq7000/ @ibirnbaum
/soc/arm/xilinx_zynqmp/ @stephanosio
/soc/arm/renesas_rcar/ @aaillet
/soc/arm64/ @carlocaione
/soc/arm64/qemu_cortex_a53/ @carlocaione
/soc/arm64/bcm_vk/ @abhishek-brcm
/soc/arm64/nxp_layerscape/ @JiafeiPan
/soc/arm64/xenvm/ @lorc @firscity
/soc/arm64/nxp_imx/ @MrVan @JiafeiPan
/soc/arm64/arm/ @povergoing
/soc/arm64/arm/fvp_aemv8a/ @carlocaione
/soc/arm64/intel_socfpga/* @siclim
/soc/arm64/renesas_rcar/ @lorc @xakep-amatop
/soc/Kconfig @tejlmand @galak @nashif @nordicjm
/submanifests/* @mbolivar-ampere
/arch/x86/ @jhedberg @nashif
/arch/nios2/ @nashif
/arch/posix/ @aescolar @daor-oti
/arch/riscv/ @kgugala @pgielda
/soc/mips/ @frantony
/soc/posix/ @aescolar @daor-oti
/soc/riscv/ @kgugala @pgielda
/soc/riscv/openisa*/ @dleach02
/soc/riscv/riscv-privileged/andes_v5/ @cwshu @kevinwang821020 @jimmyzhe
/soc/riscv/riscv-privileged/neorv32/ @henrikbrixandersen
/soc/riscv/riscv-privileged/gd32vf103/ @soburi
/soc/riscv/riscv-privileged/niosv/ @sweeaun
/soc/x86/ @dcpleung @nashif
/arch/xtensa/ @dcpleung @andyross @nashif
/soc/xtensa/ @dcpleung @andyross @nashif
/arch/sparc/ @julius-barendt
/soc/sparc/ @julius-barendt
/boards/arc/ @abrodkin @ruuddw @evgeniy-paltsev
/boards/arm/ @MaureenHelm @galak
/boards/arm/96b_argonkey/ @avisconti
/boards/arm/96b_avenger96/ @Mani-Sadhasivam
/boards/arm/96b_carbon/ @idlethread
@@ -102,7 +55,6 @@
/boards/arm/96b_neonkey/ @Mani-Sadhasivam
/boards/arm/96b_stm32_sensor_mez/ @Mani-Sadhasivam
/boards/arm/96b_wistrio/ @Mani-Sadhasivam
/boards/arm/arduino_due/ @ioannisg
/boards/arm/acn52832/ @sven-hm
/boards/arm/arduino_mkrzero/ @soburi
/boards/arm/bbc_microbit_v2/ @LingaoM
@@ -168,15 +120,7 @@
/boards/arm/rcar_*/ @aaillet
/boards/arm/ubx_bmd345eval_nrf52840/ @Navin-Sankar @brec-u-blox
/boards/arm/nrf5340_audio_dk_nrf5340 @koffes @alexsven @erikrobstad @rick1082 @gWacey
/boards/common/ @mbolivar-ampere
/boards/deprecated.cmake @tejlmand
/boards/mips/ @frantony
/boards/nios2/ @nashif
/boards/nios2/altera_max10/ @nashif
/boards/arm/stm32_min_dev/ @sidcha
/boards/posix/ @aescolar @daor-oti
/boards/posix/nrf52_bsim/ @aescolar @wopu-ot
/boards/riscv/ @kgugala @pgielda
/boards/riscv/rv32m1_vega/ @dleach02
/boards/riscv/adp_xc7k_ae350/ @cwshu @kevinwang821020 @jimmyzhe
/boards/riscv/longan_nano/ @soburi
@@ -184,16 +128,12 @@
/boards/riscv/niosv*/ @sweeaun
/boards/riscv/sparkfun_red_v_things_plus/ @soburi
/boards/riscv/stamp_c3/ @soburi
/boards/shields/ @erwango
/boards/shields/atmel_rf2xx/ @nandojve
/boards/shields/esp_8266/ @nandojve
/boards/shields/inventek_eswifi/ @nandojve
/boards/x86/ @dcpleung @nashif
/boards/x86/acrn/ @enjiamai
/boards/xtensa/ @nashif @dcpleung
/boards/xtensa/odroid_go/ @ydamigos
/boards/xtensa/nxp_adsp_imx8/ @iuliana-prodan @dbaluta
/boards/sparc/ @julius-barendt
/boards/xtensa/kincony_kc868_a32/ @bbilas
/boards/arm64/qemu_cortex_a53/ @carlocaione
/boards/arm64/bcm958402m2_a72/ @abhishek-brcm
/boards/arm64/mimx8mm_evk/ @MrVan @JiafeiPan
@@ -205,26 +145,15 @@
/boards/arm64/fvp_baser_aemv8r/ @povergoing
/boards/arm64/fvp_base_revc_2xaemv8a/ @carlocaione
/boards/arm64/intel_socfpga_agilex_socdk/ @siclim @ngboonkhai
/boards/arm64/intel_socfpga_agilex5_socdk/ @chongteikheng
/boards/arm64/intel_socfpga_agilex5_socdk/ @teikheng @gdengi
/boards/arm64/rcar_*/ @lorc @xakep-amatop
/boards/Kconfig @tejlmand @galak @nashif @nordicjm
# All cmake related files
/cmake/ @tejlmand @nashif
/cmake/*/arcmwdt/ @abrodkin @evgeniy-paltsev @tejlmand
/CMakeLists.txt @tejlmand @nashif
/doc/ @carlescufi
/doc/develop/tools/coccinelle.rst @himanshujha199640 @JuliaLawall
/doc/services/device_mgmt/smp_protocol.rst @de-nordic @nordicjm
/doc/services/device_mgmt/smp_groups/ @de-nordic @nordicjm
/doc/services/sensing/ @lixuzha @ghu0510 @qianruh
/doc/CMakeLists.txt @carlescufi
/doc/_scripts/ @carlescufi
/doc/connectivity/bluetooth/ @alwa-nordic @jhedberg @Vudentz
/doc/build/dts/ @galak @mbolivar-ampere
/doc/build/sysbuild/ @tejlmand @nordicjm
/doc/hardware/peripherals/canbus/ @alexanderwachter @henrikbrixandersen
/doc/security/ @ceolin @d3zd3z
/drivers/debug/ @nashif
/drivers/*/*sam4l* @nandojve
/drivers/*/*cc13xx_cc26xx* @bwitherspoon
/drivers/*/*gd32* @nandojve
@@ -238,28 +167,24 @@
/drivers/*/*ifx_cat1* @ifyall @npal-cy
/drivers/*/*neorv32* @henrikbrixandersen
/drivers/*/*_s32* @manuargue
/drivers/adc/ @anangl
/drivers/adc/adc_ads1x1x.c @XenuIsWatching
/drivers/adc/adc_stm32.c @cybertale
/drivers/adc/adc_rpi_pico.c @soburi
/drivers/adc/*ads114s0x* @benediktibk
/drivers/adc/*max11102_17* @benediktibk
/drivers/adc/adc_ad5592.c @bbilas
/drivers/audio/*nrfx* @anangl
/drivers/auxdisplay/*pt6314* @xingrz
/drivers/auxdisplay/* @thedjnK
/drivers/bbram/* @yperess @sjg20 @jackrosenthal
/drivers/bluetooth/ @alwa-nordic @jhedberg @Vudentz
/drivers/bluetooth/hci/hci_esp32.c @sylvioalves
/drivers/cache/ @carlocaione
/drivers/syscon/ @carlocaione @yperess
/drivers/can/ @alexanderwachter @henrikbrixandersen
/drivers/can/*mcp2515* @karstenkoenig
/drivers/can/*rcar* @aaillet
/drivers/clock_control/*agilex* @siclim @gdengi
/drivers/clock_control/*nrf* @nordic-krch
/drivers/clock_control/*esp32* @extremegtx @sylvioalves
/drivers/clock_control/*cpg_mssr* @aaillet
/drivers/counter/ @nordic-krch
/drivers/console/ipm_console.c @finikorg
/drivers/console/semihost_console.c @luozhongyao
/drivers/console/jailhouse_debug_console.c @MrVan
@@ -271,8 +196,8 @@
/drivers/crypto/*nrf_ecb* @maciekfabia @anangl
/drivers/display/*rm68200* @mmahadevan108
/drivers/display/display_ili9342c.* @extremegtx
/drivers/dac/ @martinjaeger
/drivers/dac/*ad56xx* @benediktibk
/drivers/dac/dac_ad5592.c @bbilas
/drivers/dai/ @kv2019i @marcinszkudlinski @abonislawski
/drivers/dai/intel/ @kv2019i @marcinszkudlinski @abonislawski
/drivers/dai/intel/ssp/ @kv2019i @marcinszkudlinski @abonislawski
@@ -287,34 +212,29 @@
/drivers/dma/*intel_adsp* @teburd @abonislawski
/drivers/dma/*rpi_pico* @soburi
/drivers/dma/*xmc4xxx* @talih0
/drivers/edac/ @finikorg
/drivers/eeprom/ @henrikbrixandersen
/drivers/eeprom/eeprom_stm32.c @KwonTae-young
/drivers/entropy/*b91* @andy-liu-telink
/drivers/entropy/*bt_hci* @JordanYates
/drivers/entropy/*rv32m1* @dleach02
/drivers/entropy/*litex* @mateusz-holenko @kgugala @pgielda
/drivers/espi/ @albertofloyd @franciscomunoz @sjvasanth1
/drivers/ethernet/ @tbursztyka @jukkar
/drivers/ethernet/*dwmac* @npitre
/drivers/ethernet/*stm32* @Nukersson @lochej
/drivers/ethernet/*w5500* @parthitce
/drivers/ethernet/*xlnx_gem* @ibirnbaum
/drivers/ethernet/*smsc91x* @sgrrzhf
/drivers/ethernet/*adin2111* @GeorgeCGV
/drivers/ethernet/*oa_tc6* @lmajewski
/drivers/ethernet/*lan865x* @lmajewski
/drivers/ethernet/phy/ @rlubos @tbursztyka @arvinf @jukkar
/drivers/ethernet/phy/*adin2111* @GeorgeCGV
/drivers/mdio/ @rlubos @tbursztyka @arvinf
/drivers/mdio/*adin2111* @GeorgeCGV
/drivers/flash/ @nashif @de-nordic
/drivers/flash/*stm32_qspi* @lmajewski
/drivers/flash/*b91* @andy-liu-telink
/drivers/flash/*cadence* @ngboonkhai
/drivers/flash/*cc13xx_cc26xx* @pepe2k
/drivers/flash/*nrf* @de-nordic
/drivers/flash/*esp32* @sylvioalves
/drivers/fpga/ @tgorochowik @kgugala
/drivers/gpio/ @mnkp
/drivers/flash/flash_cadence_nand* @nbalabak
/drivers/gpio/*b91* @andy-liu-telink
/drivers/gpio/*lmp90xxx* @henrikbrixandersen
/drivers/gpio/*nct38xx* @MulinChao @ChiHuaL
@@ -327,7 +247,8 @@
/drivers/gpio/*ads114s0x* @benediktibk
/drivers/gpio/*bd8lb600fs* @benediktibk
/drivers/gpio/*pcal64xxa* @benediktibk
/drivers/hwinfo/ @alexanderwachter
/drivers/gpio/gpio_altera_pio.c @shilinte
/drivers/gpio/gpio_ad5592.c @bbilas
/drivers/i2c/i2c_common.c @sjg20
/drivers/i2c/i2c_emul.c @sjg20
/drivers/i2c/i2c_ite_enhance.c @GTLin08
@@ -342,7 +263,6 @@
/drivers/i2s/*litex* @mateusz-holenko @kgugala @pgielda
/drivers/i2s/i2s_ll_stm32* @avisconti
/drivers/i2s/*nrfx* @anangl
/drivers/i3c/ @dcpleung
/drivers/i3c/i3c_cdns.c @XenuIsWatching
/drivers/ieee802154/ @rlubos @tbursztyka @jukkar @fgrandel
/drivers/ieee802154/*b91* @andy-liu-telink
@@ -363,31 +283,22 @@
/drivers/ipm/ipm_stm32_hsem.c @cameled
/drivers/ipm/ipm_esp32.c @uLipe
/drivers/ipm/ipm_ivshmem.c @uLipe
/drivers/kscan/ @VenkatKotakonda @franciscomunoz @sjvasanth1
/drivers/kscan/*xec* @franciscomunoz @sjvasanth1
/drivers/kscan/*ft5336* @MaureenHelm
/drivers/kscan/*ht16k33* @henrikbrixandersen
/drivers/led/ @Mani-Sadhasivam
/drivers/led_strip/ @mbolivar-ampere
/drivers/lora/ @Mani-Sadhasivam
/drivers/mbox/ @carlocaione
/drivers/misc/ @tejlmand
/drivers/mfd/mfd_ad5592.c @bbilas
/drivers/mfd/mfd_max20335.c @bbilas
/drivers/misc/ft8xx/ @hubertmis
/drivers/mm/ @dcpleung
/drivers/modem/hl7800.c @rerickson1
/drivers/modem/simcom-sim7080.c @lgehreke
/drivers/modem/simcom-sim7080.h @lgehreke
/drivers/modem/Kconfig.hl7800 @rerickson1
/drivers/modem/Kconfig.simcom-sim7080 @lgehreke
/drivers/pcie/ @dcpleung @nashif @jhedberg
/drivers/peci/ @albertofloyd @franciscomunoz @sjvasanth1
/drivers/pinctrl/ @gmarull
/drivers/pinctrl/*esp32* @sylvioalves
/drivers/pinctrl/*it8xxx2* @ite
/drivers/pm_cpu_ops/ @carlocaione @gdengi
/drivers/pm_cpu_ops/psci_shell.c @nbalabak @gdengi
/drivers/power_domain/ @ceolin
/drivers/ps2/ @franciscomunoz @sjvasanth1
/drivers/ps2/*xec* @franciscomunoz @sjvasanth1
/drivers/ps2/*npcx* @MulinChao @ChiHuaL
/drivers/pwm/*b91* @andy-liu-telink
@@ -405,13 +316,12 @@
/drivers/pwm/*rcar* @aaillet
/drivers/pwm/*max31790* @benediktibk
/drivers/regulator/* @gmarull
/drivers/regulator/regulator_max20335.c @bbilas
/drivers/regulator/regulator_pca9420.c @danieldegrasse
/drivers/regulator/regulator_rpi_pico.c @soburi
/drivers/regulator/regulator_shell.c @danieldegrasse
/drivers/reset/ @andrei-edward-popa
/drivers/reset/reset_intel_socfpga.c @nbalabak
/drivers/reset/Kconfig.intel_socfpga @nbalabak
/drivers/sensor/ @MaureenHelm
/drivers/sensor/ams_iAQcore/ @alexanderwachter
/drivers/sensor/ens210/ @alexanderwachter
/drivers/sensor/grow_r502a/ @DineshDK03
@@ -442,28 +352,21 @@
/drivers/serial/*numicro* @ssekar15
/drivers/serial/*apbuart* @julius-barendt
/drivers/serial/*rcar* @aaillet
/drivers/serial/Kconfig.test @str4t0m
/drivers/serial/serial_test.c @str4t0m
/drivers/serial/Kconfig.xen @lorc @firscity
/drivers/serial/uart_hvc_xen.c @lorc @firscity
/drivers/serial/uart_hvc_xen_consoleio.c @lorc @firscity
/drivers/serial/Kconfig.it8xxx2 @GTLin08
/drivers/serial/uart_ite_it8xxx2.c @GTLin08
/drivers/smbus/ @finikorg
/drivers/sip_svc/ @maheshraotm
/drivers/disk/ @jfischer-no
/drivers/serial/*intel_lw* @shilinte
/drivers/disk/sdmmc_sdhc.h @JunYangNXP
/drivers/disk/sdmmc_stm32.c @anthonybrandon
/drivers/net/ @rlubos @tbursztyka @jukkar
/drivers/ptp_clock/ @tbursztyka @jukkar
/drivers/spi/ @tbursztyka
/drivers/spi/*b91* @andy-liu-telink
/drivers/spi/spi_rv32m1_lpspi* @karstenkoenig
/drivers/spi/*esp32* @sylvioalves
/drivers/spi/*pl022* @soburi
/drivers/sdhc/ @danieldegrasse
/drivers/timer/*apic* @dcpleung @nashif
/drivers/timer/apic_tsc.c @andyross
/drivers/sdhc/sdhc_cdns* @roymurlidhar @tanmaykathpalia
/drivers/timer/*arm_arch* @carlocaione
/drivers/timer/*cortex_m_systick* @anangl
/drivers/timer/*altera_avalon* @nashif
@@ -483,10 +386,7 @@
/drivers/timer/*rv32m1_lptmr* @mbolivar
/drivers/timer/*nrf_rtc* @anangl
/drivers/timer/*hpet* @dcpleung
/drivers/usb/ @jfischer-no
/drivers/usb/device/usb_dc_stm32.c @ydamigos @loicpoulain
/drivers/usb_c/ @sambhurst
/drivers/video/ @loicpoulain
/drivers/i2c/*b91* @andy-liu-telink
/drivers/i2c/i2c_ll_stm32* @ydamigos
/drivers/i2c/i2c_rv32m1_lpi2c* @henrikbrixandersen
@@ -494,7 +394,6 @@
/drivers/i2c/i2c_dw* @dcpleung
/drivers/i2c/*tca954x* @kurddt
/drivers/*/*xec* @franciscomunoz @albertofloyd @sjvasanth1
/drivers/w1/ @str4t0m
/drivers/watchdog/*gecko* @oanerer
/drivers/watchdog/*sifive* @katsuster
/drivers/watchdog/wdt_handlers.c @dcpleung @nashif
@@ -503,14 +402,12 @@
/drivers/watchdog/Kconfig.it8xxx2 @RuibinChang
/drivers/watchdog/wdt_counter.c @nordic-krch
/drivers/watchdog/*rpi_pico* @thedjnK
/drivers/watchdog/*dw* @softwarecki
/drivers/watchdog/*dw* @softwarecki @pbalsundar
/drivers/watchdog/*ifx* @sreeramIfx
/drivers/wifi/ @rlubos @tbursztyka @jukkar
/drivers/wifi/esp_at/ @mniestroj
/drivers/wifi/eswifi/ @loicpoulain @nandojve
/drivers/wifi/winc1500/ @kludentwo
/drivers/virtualization/ @tbursztyka
/drivers/xen/ @lorc @firscity
/dts/arc/ @abrodkin @ruuddw @iriszzw @evgeniy-paltsev
/dts/arm/acsip/ @NorthernDean
/dts/arm/aspeed/ @aspeeddylan
@@ -523,10 +420,9 @@
/dts/arm/atmel/ @galak
/dts/arm/broadcom/ @sbranden
/dts/arm/cypress/ @ifyall @npal-cy
/dts/arm/gigadevice/ @nandojve
/dts/arm/gd/ @nandojve
/dts/arm/infineon/xmc4* @parthitce @ifyall @npal-cy
/dts/arm/infineon/psoc6/ @ifyall @npal-cy
/dts/arm64/ @carlocaione
/dts/arm64/armv8-r.dtsi @povergoing
/dts/arm64/intel/*intel_socfpga* @siclim
/dts/arm64/nxp/ @JiafeiPan
@@ -553,7 +449,6 @@
/dts/arm/silabs/efm32pg1b* @rdmeneze
/dts/arm/silabs/efr32mg21* @l-alfred
/dts/arm/silabs/efr32fg13* @yonsch
/dts/riscv/ @kgugala @pgielda
/dts/riscv/ite/ @ite
/dts/riscv/microchip/microchip-miv.dtsi @galak
/dts/riscv/openisa/rv32m1* @dleach02
@@ -566,13 +461,10 @@
/dts/arm/armv7-r.dtsi @bbolen @stephanosio
/dts/arm/xilinx/ @bbolen @stephanosio
/dts/arm/renesas/rcar/ @aaillet
/dts/x86/ @jhedberg
/dts/xtensa/xtensa.dtsi @ydamigos
/dts/xtensa/intel/ @dcpleung
/dts/xtensa/espressif/ @sylvioalves
/dts/xtensa/nxp/ @iuliana-prodan @dbaluta
/dts/sparc/ @julius-barendt
/dts/bindings/ @galak
/dts/bindings/can/ @alexanderwachter @henrikbrixandersen
/dts/bindings/i2c/zephyr*i2c-emul*.yaml @sjg20
/dts/bindings/adc/st*stm32-adc.yaml @cybertale
@@ -604,7 +496,6 @@
/dts/bindings/ethernet/*gem.yaml @ibirnbaum
/dts/bindings/auxdisplay/*pt6314.yaml @xingrz
/dts/bindings/auxdisplay/* @thedjnK
/dts/posix/ @aescolar @daor-oti
/dts/bindings/sensor/*bme680* @BoschSensortec
/dts/bindings/sensor/*ina23* @bbilas
/dts/bindings/sensor/st* @avisconti
@@ -619,338 +510,3 @@
/dts/bindings/gpio/*ads114s0x* @benediktibk
/dts/bindings/pwm/*max31790* @benediktibk
/dts/bindings/dac/*ad56* @benediktibk
/dts/common/ @galak
/include/ @nashif @carlescufi @galak @MaureenHelm
/include/zephyr/drivers/*/*litex* @mateusz-holenko @kgugala @pgielda
/include/zephyr/drivers/adc.h @anangl
/include/zephyr/drivers/adc/ads114s0x.h @benediktibk
/include/zephyr/drivers/auxdisplay.h @thedjnK
/include/zephyr/drivers/can.h @alexanderwachter @henrikbrixandersen
/include/zephyr/drivers/can/ @alexanderwachter @henrikbrixandersen
/include/zephyr/drivers/counter.h @nordic-krch
/include/zephyr/drivers/dac.h @martinjaeger
/include/zephyr/drivers/espi.h @albertofloyd @franciscomunoz @sjvasanth1
/include/zephyr/drivers/bluetooth/ @alwa-nordic @jhedberg @Vudentz
/include/zephyr/drivers/flash.h @nashif @carlescufi @galak @MaureenHelm @de-nordic
/include/zephyr/drivers/i2c_emul.h @sjg20
/include/zephyr/drivers/i3c.h @dcpleung
/include/zephyr/drivers/i3c/ @dcpleung
/include/zephyr/drivers/led/ht16k33.h @henrikbrixandersen
/include/zephyr/drivers/interrupt_controller/ @dcpleung @nashif
/include/zephyr/drivers/interrupt_controller/gic.h @stephanosio
/include/zephyr/drivers/modem/hl7800.h @rerickson1
/include/zephyr/drivers/pcie/ @dcpleung
/include/zephyr/drivers/hwinfo.h @alexanderwachter
/include/zephyr/drivers/led.h @Mani-Sadhasivam
/include/zephyr/drivers/led_strip.h @mbolivar-ampere
/include/zephyr/drivers/sensor.h @MaureenHelm
/include/zephyr/drivers/smbus.h @finikorg
/include/zephyr/drivers/spi.h @tbursztyka
/include/zephyr/drivers/sip_svc/ @maheshraotm
/include/zephyr/drivers/lora.h @Mani-Sadhasivam
/include/zephyr/drivers/peci.h @albertofloyd @franciscomunoz @sjvasanth1
/include/zephyr/drivers/pm_cpu_ops.h @carlocaione
/include/zephyr/drivers/pm_cpu_ops/ @carlocaione
/include/zephyr/drivers/w1.h @str4t0m
/include/zephyr/drivers/pwm/max31790.h @benediktibk
/include/zephyr/app_memory/ @dcpleung
/include/zephyr/arch/arc/ @abrodkin @ruuddw @evgeniy-paltsev
/include/zephyr/arch/arc/arch.h @abrodkin @ruuddw @evgeniy-paltsev
/include/zephyr/arch/arc/v2/irq.h @abrodkin @ruuddw @evgeniy-paltsev
/include/zephyr/arch/arm @MaureenHelm @galak @ioannisg
/include/zephyr/arch/arm/cortex_a_r/ @stephanosio
/include/zephyr/arch/arm64/ @carlocaione
/include/zephyr/arch/arm64/cortex_r/ @povergoing
/include/zephyr/arch/arm/irq.h @carlocaione
/include/zephyr/arch/mips/ @frantony
/include/zephyr/arch/nios2/ @nashif
/include/zephyr/arch/nios2/arch.h @nashif
/include/zephyr/arch/posix/ @aescolar @daor-oti
/include/zephyr/arch/riscv/ @kgugala @pgielda
/include/zephyr/arch/x86/ @jhedberg @dcpleung
/include/zephyr/arch/common/ @andyross @nashif
/include/zephyr/arch/xtensa/ @andyross @dcpleung
/include/zephyr/arch/sparc/ @julius-barendt
/include/zephyr/sys/atomic.h @andyross
/include/zephyr/bluetooth/ @alwa-nordic @jhedberg @Vudentz @sjanc
/include/zephyr/bluetooth/audio/ @jhedberg @Vudentz @Thalley
/include/zephyr/cache.h @carlocaione @andyross
/include/zephyr/canbus/ @alexanderwachter @henrikbrixandersen
/include/zephyr/tracing/ @nashif
/include/zephyr/debug/ @nashif
/include/zephyr/debug/coredump.h @dcpleung
/include/zephyr/debug/gdbstub.h @ceolin
/include/zephyr/device.h @tbursztyka @nashif
/include/zephyr/devicetree.h @galak
/include/zephyr/devicetree/can.h @henrikbrixandersen
/include/zephyr/dt-bindings/clock/kinetis_mcg.h @henrikbrixandersen
/include/zephyr/dt-bindings/clock/kinetis_scg.h @henrikbrixandersen
/include/zephyr/dt-bindings/ethernet/xlnx_gem.h @ibirnbaum
/include/zephyr/dt-bindings/pcie/ @dcpleung
/include/zephyr/dt-bindings/pinctrl/esp* @sylvioalves
/include/zephyr/dt-bindings/pwm/*it8xxx2* @RuibinChang
/include/zephyr/dt-bindings/usb/usb.h @galak
/include/zephyr/dt-bindings/adc/ads114s0x_adc.h @benediktibk
/include/zephyr/drivers/emul.h @sjg20
/include/zephyr/fs/ @nashif @de-nordic
/include/zephyr/init.h @nashif @andyross
/include/zephyr/irq.h @dcpleung @nashif @andyross
/include/zephyr/irq_offload.h @dcpleung @nashif @andyross
/include/zephyr/kernel.h @dcpleung @nashif @andyross
/include/zephyr/kernel_version.h @dcpleung @nashif @andyross
/include/zephyr/linker/app_smem*.ld @dcpleung @nashif
/include/zephyr/linker/ @dcpleung @nashif @andyross
/include/zephyr/logging/ @nordic-krch
/include/zephyr/lorawan/lorawan.h @Mani-Sadhasivam
/include/zephyr/mgmt/osdp.h @sidcha
/include/zephyr/mgmt/mcumgr/ @nordicjm
/include/zephyr/net/ @rlubos @tbursztyka @jukkar
/include/zephyr/net/buf.h @jhedberg @tbursztyka @rlubos @jukkar
/include/zephyr/net/coap*.h @rlubos
/include/zephyr/net/conn_mgr*.h @rlubos @glarsennordic @jukkar
/include/zephyr/net/gptp.h @rlubos @jukkar @fgrandel
/include/zephyr/net/ieee802154*.h @rlubos @tbursztyka @jukkar @fgrandel
/include/zephyr/net/lwm2m*.h @rlubos
/include/zephyr/net/mqtt.h @rlubos
/include/zephyr/net/mqtt_sn.h @rlubos @BeckmaR
/include/zephyr/net/net_pkt_filter.h @npitre
/include/zephyr/posix/ @cfreidt
/include/zephyr/pm/pm.h @nashif @ceolin
/include/zephyr/drivers/ptp_clock.h @tbursztyka @jukkar
/include/zephyr/rtio/ @teburd
/include/zephyr/sensing/ @lixuzha @ghu0510 @qianruh
/include/zephyr/shared_irq.h @dcpleung @nashif @andyross
/include/zephyr/shell/ @jakub-uC @nordic-krch
/include/zephyr/shell/shell_mqtt.h @ycsin
/include/zephyr/sw_isr_table.h @dcpleung @nashif @andyross
/include/zephyr/sd/ @danieldegrasse
/include/zephyr/sip_svc/ @maheshraotm
/include/zephyr/sys_clock.h @dcpleung @nashif @andyross
/include/zephyr/sys/sys_io.h @dcpleung @nashif @andyross
/include/zephyr/sys/kobject.h @dcpleung @nashif
/include/zephyr/toolchain.h @dcpleung @andyross @nashif
/include/zephyr/toolchain/ @dcpleung @nashif @andyross
/include/zephyr/zephyr.h @dcpleung @nashif @andyross
/kernel/ @dcpleung @nashif @andyross
/lib/cpp/ @stephanosio
/lib/smf/ @sambhurst
/lib/util/ @carlescufi @jakub-uC
/lib/util/fnmatch/ @carlescufi @jakub-uC
/lib/open-amp/ @arnopo
/lib/os/ @dcpleung @nashif @andyross
/lib/os/cbprintf_packaged.c @npitre
/lib/posix/ @cfriedt
/lib/posix/getopt/ @jakub-uC
/subsys/portability/ @nashif
/subsys/sensing/ @lixuzha @ghu0510 @qianruh
/lib/libc/ @nashif
/lib/libc/arcmwdt/ @abrodkin @ruuddw @evgeniy-paltsev
/misc/ @tejlmand
/modules/ @nashif
/modules/canopennode/ @henrikbrixandersen
/modules/mbedtls/ @ceolin @d3zd3z
/modules/hal_gigadevice/ @nandojve
/modules/hal_nordic/nrf_802154/ @jciupis
/modules/trusted-firmware-m/ @microbuilder
/kernel/device.c @andyross @nashif
/kernel/idle.c @andyross @nashif
/samples/ @nashif
/samples/application_development/sysbuild/ @tejlmand @nordicjm
/samples/basic/minimal/ @carlescufi
/samples/basic/servo_motor/boards/*microbit* @jhe
/samples/bluetooth/ @jhedberg @Vudentz @alwa-nordic @sjanc
/samples/compression/ @Navin-Sankar
/samples/drivers/can/ @alexanderwachter @henrikbrixandersen
/samples/drivers/clock_control_litex/ @mateusz-holenko @kgugala @pgielda
/samples/drivers/eeprom/ @henrikbrixandersen
/samples/drivers/ht16k33/ @henrikbrixandersen
/samples/drivers/lora/ @Mani-Sadhasivam
/samples/drivers/smbus/ @finikorg
/samples/subsys/lorawan/ @Mani-Sadhasivam
/samples/modules/canopennode/ @henrikbrixandersen
/samples/net/ @rlubos @tbursztyka @jukkar
/samples/net/cloud/tagoio_http_post/ @nandojve
/samples/net/dns_resolve/ @rlubos @tbursztyka @jukkar
/samples/net/gptp/ @rlubos @jukkar @fgrandel
/samples/net/lwm2m_client/ @rlubos
/samples/net/mqtt_publisher/ @rlubos
/samples/net/mqtt_sn_publisher/ @rlubos @BeckmaR
/samples/net/sockets/coap_*/ @rlubos
/samples/net/sockets/ @rlubos @tbursztyka @jukkar
/samples/sensor/ @MaureenHelm
/samples/shields/ @avisconti
/samples/subsys/ipc/ipc_service/icmsg @emob-nordic
/samples/subsys/logging/ @nordic-krch @jakub-uC
/samples/subsys/logging/syst/ @dcpleung
/samples/subsys/shell/ @jakub-uC @nordic-krch @gdengi
/samples/subsys/sip_svc/ @maheshraotm
/samples/subsys/mgmt/mcumgr/ @de-nordic @nordicjm
/samples/subsys/mgmt/updatehub/ @nandojve @otavio
/samples/subsys/mgmt/osdp/ @sidcha
/samples/subsys/usb/ @jfischer-no
/samples/subsys/usb_c/ @sambhurst
/samples/subsys/pm/ @nashif @ceolin
/samples/subsys/sensing/ @lixuzha @ghu0510 @qianruh
/samples/tfm_integration/ @microbuilder
/samples/userspace/ @dcpleung @nashif
/scripts/release/bug_bash.py @cfriedt
/scripts/coccicheck @himanshujha199640 @JuliaLawall
/scripts/coccinelle/ @himanshujha199640 @JuliaLawall
/scripts/coredump/ @dcpleung
/scripts/footprint/ @nashif
/scripts/kconfig/ @ulfalizer
/scripts/logging/dictionary/ @dcpleung
/scripts/native_simulator/ @aescolar
/scripts/pylib/twister/expr_parser.py @nashif
/scripts/schemas/twister/ @nashif
/scripts/build/gen_app_partitions.py @dcpleung @nashif
scripts/build/gen_image_info.py @tejlmand
/scripts/get_maintainer.py @nashif
/scripts/dts/ @mbolivar-ampere @galak
/scripts/release/ @nashif
/scripts/ci/ @nashif
/scripts/ci/check_compliance.py @nashif @carlescufi
/arch/x86/gen_gdt.py @dcpleung @nashif
/arch/x86/gen_idt.py @dcpleung @nashif
/scripts/build/gen_kobject_list.py @dcpleung @nashif
/scripts/build/gen_kobject_placeholders.py @dcpleung
/scripts/build/gen_syscalls.py @dcpleung @nashif
/scripts/list_boards.py @mbolivar-ampere
/scripts/build/process_gperf.py @dcpleung @nashif
/scripts/build/gen_relocate_app.py @dcpleung
/scripts/generate_usb_vif/ @madhurimaparuchuri
/scripts/requirements*.txt @mbolivar-ampere @galak @nashif
/scripts/tests/build/test_subfolder_list.py @rmstoi
/scripts/tracing/ @nashif
/scripts/pylib/twister/ @nashif
/scripts/twister @nashif
/scripts/series-push-hook.sh @erwango
/scripts/utils/pinctrl_nrf_migrate.py @gmarull
/scripts/utils/migrate_mcumgr_kconfigs.py @de-nordic
/scripts/west_commands/ @mbolivar-ampere
/scripts/west_commands/blobs.py @carlescufi
/scripts/west_commands/fetchers/ @carlescufi
/scripts/west_commands/runners/gd32isp.py @mbolivar-ampere @nandojve
/scripts/west_commands/tests/test_gd32isp.py @mbolivar-ampere @nandojve
/scripts/west-commands.yml @mbolivar-ampere
/scripts/zephyr_module.py @tejlmand
/scripts/build/uf2conv.py @petejohanson
/scripts/build/user_wordsize.py @cfriedt
/scripts/valgrind.supp @aescolar @daor-oti
/share/sysbuild/ @tejlmand @nordicjm
/share/zephyr-package/ @tejlmand
/share/zephyrunittest-package/ @tejlmand
/subsys/bluetooth/ @alwa-nordic @jhedberg @Vudentz
/subsys/bluetooth/audio/ @jhedberg @Vudentz @Thalley @sjanc
/subsys/bluetooth/controller/ @carlescufi @cvinayak @thoh-ot @kruithofa
/subsys/bluetooth/host/ @alwa-nordic @jhedberg @Vudentz @sjanc
/subsys/bluetooth/mesh/ @jhedberg @PavelVPV @Vudentz @LingaoM
/subsys/canbus/ @alexanderwachter @henrikbrixandersen
/subsys/debug/ @nashif
/subsys/debug/coredump/ @dcpleung
/subsys/debug/gdbstub/ @ceolin
/subsys/debug/gdbstub.c @ceolin
/subsys/dfu/ @de-nordic @nordicjm
/subsys/disk/ @jfischer-no
/subsys/dsp/ @yperess
/subsys/tracing/ @nashif
/subsys/debug/asan_hacks.c @aescolar @daor-oti
/subsys/demand_paging/ @dcpleung @nashif
/subsys/emul/ @sjg20
/subsys/fb/ @jfischer-no
/subsys/fs/ @nashif
/subsys/fs/nvs/ @Laczen
/subsys/ipc/ @carlocaione
/subsys/ipc/ipc_service/*/*icmsg* @emob-nordic
/subsys/logging/ @nordic-krch
/subsys/logging/backends/log_backend_net.c @nordic-krch @rlubos @jukkar
/subsys/lorawan/ @Mani-Sadhasivam
/subsys/mgmt/ec_host_cmd/ @jettr
/subsys/mgmt/mcumgr/ @carlescufi @de-nordic @nordicjm
/subsys/mgmt/hawkbit/ @Navin-Sankar
/subsys/mgmt/updatehub/ @nandojve @otavio
/subsys/mgmt/osdp/ @sidcha
/subsys/modbus/ @jfischer-no
/subsys/net/buf.c @jhedberg @tbursztyka @rlubos @jukkar
/subsys/net/conn_mgr/ @rlubos @glarsennordic @jukkar
/subsys/net/ip/ @rlubos @tbursztyka @jukkar
/subsys/net/lib/ @rlubos @tbursztyka @jukkar
/subsys/net/lib/dns/ @rlubos @tbursztyka @cfriedt @jukkar
/subsys/net/lib/lwm2m/ @rlubos
/subsys/net/lib/config/ @rlubos @tbursztyka @jukkar
/subsys/net/lib/mqtt/ @rlubos
/subsys/net/lib/mqtt_sn/ @rlubos @BeckmaR
/subsys/net/lib/coap/ @rlubos
/subsys/net/lib/sockets/socketpair.c @cfriedt
/subsys/net/lib/sockets/ @rlubos @tbursztyka @jukkar
/subsys/net/lib/tls_credentials/ @rlubos
/subsys/net/l2/ @rlubos @tbursztyka @jukkar
/subsys/net/l2/ethernet/gptp/ @rlubos @jukkar @fgrandel
/subsys/net/l2/ieee802154/ @rlubos @tbursztyka @jukkar @fgrandel
/subsys/net/l2/canbus/ @alexanderwachter
/subsys/net/pkt_filter/ @npitre
/subsys/net/*/openthread/ @rlubos
/subsys/pm/ @nashif @ceolin
/subsys/random/ @dleach02
/subsys/shell/ @jakub-uC @nordic-krch
/subsys/shell/backends/shell_mqtt.c @ycsin
/subsys/sd/ @danieldegrasse
/subsys/sip_svc/ @maheshraotm
/subsys/task_wdt/ @martinjaeger
/subsys/testsuite/ @nashif
/subsys/testsuite/ztest/*/ztress* @nordic-krch
/subsys/timing/ @nashif @dcpleung
/subsys/usb/ @jfischer-no
/subsys/usb/usb_c/ @sambhurst
/tests/ @nashif
/tests/arch/arm/ @ioannisg @stephanosio
/tests/benchmarks/cmsis_dsp/ @stephanosio
/tests/boards/native_posix/ @aescolar @daor-oti
/tests/bluetooth/ @alwa-nordic @jhedberg @Vudentz @sjanc
/tests/bluetooth/audio/ @jhedberg @Vudentz @wopu-ot @Thalley
/tests/bluetooth/controller/ @cvinayak @thoh-ot @kruithofa @erbr-ot @sjanc @ppryga
/tests/bsim/bluetooth/ @alwa-nordic @jhedberg @Vudentz @wopu-ot
/tests/bsim/bluetooth/audio/ @jhedberg @Vudentz @wopu-ot @Thalley
/tests/bsim/bluetooth/mesh/ @jhedberg @Vudentz @wopu-ot @PavelVPV
/tests/bluetooth/mesh_shell/ @jhedberg @Vudentz @sjanc @PavelVPV
/tests/bluetooth/tester/ @alwa-nordic @jhedberg @Vudentz @sjanc
/tests/posix/ @cfriedt
/tests/crypto/ @ceolin
/tests/crypto/mbedtls/ @nashif @ceolin @d3zd3z
/tests/drivers/can/ @alexanderwachter @henrikbrixandersen
/tests/drivers/counter/ @nordic-krch
/tests/drivers/eeprom/ @henrikbrixandersen @sjg20
/tests/drivers/flash_simulator/ @de-nordic
/tests/drivers/gpio/ @mnkp
/tests/drivers/hwinfo/ @alexanderwachter
/tests/drivers/smbus/ @finikorg
/tests/drivers/spi/ @tbursztyka
/tests/drivers/uart/uart_async_api/ @anangl
/tests/drivers/w1/ @str4t0m
/tests/kernel/ @dcpleung @andyross @nashif
/tests/lib/ @nashif
/tests/lib/cmsis_dsp/ @stephanosio
/tests/net/ @rlubos @tbursztyka @jukkar
/tests/net/buf/ @jhedberg @tbursztyka @jukkar
/tests/net/conn_mgr_monitor/ @rlubos @glarsennordic @jukkar
/tests/net/conn_mgr_conn/ @rlubos @glarsennordic @jukkar
/tests/net/ieee802154/l2/ @rlubos @tbursztyka @jukkar @fgrandel
/tests/net/lib/ @rlubos @tbursztyka @jukkar
/tests/net/lib/http_header_fields/ @rlubos @tbursztyka @jukkar
/tests/net/lib/mqtt_packet/ @rlubos
/tests/net/lib/mqtt_sn_packet/ @rlubos @BeckmaR
/tests/net/lib/mqtt_sn_client/ @rlubos @BeckmaR
/tests/net/lib/coap/ @rlubos
/tests/net/npf/ @npitre
/tests/net/socket/socketpair/ @cfriedt
/tests/net/socket/ @rlubos @tbursztyka @jukkar
/tests/subsys/debug/coredump/ @dcpleung
/tests/subsys/fs/ @nashif @de-nordic
/tests/subsys/mgmt/mcumgr/ @de-nordic @nordicjm
/tests/subsys/sd/ @danieldegrasse
/tests/subsys/rtio/ @teburd
/tests/subsys/shell/ @jakub-uC @nordic-krch
# Get all docs reviewed
*.rst @nashif
/doc/kernel/ @andyross @nashif
*posix*.rst @aescolar @daor-oti

View File

@@ -2,77 +2,138 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
Examples of behavior that contributes to a positive environment for our
community include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior by participants include:
Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
professional setting
## Our Responsibilities
## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at conduct@zephyrproject.org.
Reports will be received by Kate Stewart (Linux Foundation) and Amy Occhialino
(Intel). All complaints will be reviewed and investigated, and will result in a
response that is deemed necessary and appropriate to the circumstances. The
project team is obligated to maintain confidentiality with regard to the
reporter of an incident. Further details of specific enforcement policies may
be posted separately.
reported to the community leaders responsible for enforcement at
conduct@zephyrproject.org. Reports will be received by the Chair of the Zephyr
Governing Board, the Zephyr Project Director (Linux Foundation), and the Zephyr
Project Developer Advocate (Linux Foundation). You may refer to the [Governing
Board](https://zephyrproject.org/governing-board/) and [Linux Foundation
Staff](https://zephyrproject.org/staff/) web pages to identify who are the
individuals currently holding these positions.
All complaints will be reviewed and investigated promptly and fairly.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
The only changes made by The Zephyr Project to the original document were to
make explicit who the recipients of Code of Conduct incident reports are.
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

View File

@@ -141,6 +141,17 @@ config ROM_START_OFFSET
alignment requirements on most ARM targets, although some targets
may require smaller or larger values.
config ROM_END_OFFSET
hex "ROM end offset"
default 0
help
If non-zero, this option reduces the maximum size that the Zephyr image is allowed to
occupy, this is to allow for additional image storage which can be created and used by
other systems such as bootloaders (for MCUboot, this would include the image swap
fields and TLV storage at the end of the image).
If unsure, leave at the default value 0.
config LD_LINKER_SCRIPT_SUPPORTED
bool
default y
@@ -306,6 +317,24 @@ config LINKER_USE_RELAX
endmenu # "Linker Sections"
config LINKER_DEVNULL_SUPPORT
bool
default y if CPU_CORTEX_M || (RISCV && !64BIT)
config LINKER_DEVNULL_MEMORY
bool "Devnull region"
depends on LINKER_DEVNULL_SUPPORT
help
Devnull region is created. It is stripped from final binary but remains
in byproduct elf file.
config LINKER_DEVNULL_MEMORY_SIZE
int "Devnull region size"
depends on LINKER_DEVNULL_MEMORY
default 262144
help
Size can be adjusted so it fits all data placed in that region.
endmenu
menu "Compiler Options"
@@ -316,10 +345,22 @@ config CODING_GUIDELINE_CHECK
Use available compiler flags to check coding guideline rules during
the build.
config NATIVE_BUILD
config NATIVE_LIBC
bool
select FULL_LIBC_SUPPORTED
select FULL_LIBCPP_SUPPORTED if CPP
help
Zephyr will use the host system C library.
config NATIVE_LIBCPP
bool
select FULL_LIBCPP_SUPPORTED
help
Zephyr will use the host system C++ library
config NATIVE_BUILD
bool
select NATIVE_LIBC if EXTERNAL_LIBC
select NATIVE_LIBCPP if EXTERNAL_LIBCPP
help
Zephyr will be built targeting the host system for debug and
development purposes.
@@ -387,6 +428,13 @@ config NO_OPTIMIZATIONS
default stack sizes in order to avoid stack overflows.
endchoice
config LTO
bool "Link Time Optimization [EXPERIMENTAL]"
depends on (!(GEN_ISR_TABLES || GEN_IRQ_VECTOR_TABLE) || ISR_TABLES_LOCAL_DECLARATION) && !NATIVE_LIBRARY
select EXPERIMENTAL
help
This option enables Link Time Optimization.
config COMPILER_WARNINGS_AS_ERRORS
bool "Treat warnings as errors"
help
@@ -747,7 +795,9 @@ config BUILD_OUTPUT_STRIP_PATHS
config CHECK_INIT_PRIORITIES
bool "Build time initialization priorities check"
default y
depends on !NATIVE_LIBRARY
# If we are building a native_simulator target, we can only check the init priorities
# if we are building the final output but we are not assembling several images together
depends on !(NATIVE_LIBRARY && (!BUILD_OUTPUT_EXE || NATIVE_SIMULATOR_EXTRA_IMAGE_PATHS != ""))
depends on "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "armclang"
help
Check the build for initialization priority issues by comparing the
@@ -755,16 +805,7 @@ config CHECK_INIT_PRIORITIES
derived from the devicetree definition.
Fails the build on priority errors (dependent devices, inverted
priority), see CHECK_INIT_PRIORITIES_FAIL_ON_WARNING to fail on
warnings (dependent devices, same priority) as well.
config CHECK_INIT_PRIORITIES_FAIL_ON_WARNING
bool "Fail the build on priority check warnings"
depends on CHECK_INIT_PRIORITIES
help
Fail the build if the dependency check script identifies any pair of
devices depending on each other but initialized with the same
priority.
priority).
config EMIT_ALL_SYSCALLS
bool "Emit all possible syscalls in the tree"
@@ -838,7 +879,7 @@ config IS_BOOTLOADER
a separate Zephyr image payload.
config BOOTLOADER_SRAM_SIZE
int "SRAM reserved for bootloader"
int "SRAM reserved for bootloader [DEPRECATED]"
default 0
depends on !XIP || IS_BOOTLOADER
depends on ARM || XTENSA
@@ -849,6 +890,20 @@ config BOOTLOADER_SRAM_SIZE
- Zephyr is a !XIP image, which implicitly assumes existence of a
bootloader that loads the Zephyr !XIP image onto SRAM.
This option is deprecated, users should transition to using DTS to set this, if needed.
To be removed after Zephyr 3.7 release.
config BOOTLOADER_SRAM_SIZE_DEPRECATED
bool
default y
select DEPRECATED
depends on BOOTLOADER_SRAM_SIZE != 0
depends on !XIP || IS_BOOTLOADER
depends on ARM || XTENSA
help
Non-prompt symbol to indicate that the deprecated BOOTLOADER_SRAM_SIZE Kconfig has a
non-0 value. Please transition to using devicetree.
config BOOTLOADER_ESP_IDF
bool "ESP-IDF bootloader support"
depends on SOC_FAMILY_ESP32 && !BOOTLOADER_MCUBOOT && !MCUBOOT
@@ -900,14 +955,3 @@ config BOOTLOADER_BOSSA_ADAFRUIT_UF2
endchoice
endmenu
menu "Compatibility"
config COMPAT_INCLUDES
bool "Suppress warnings when using header shims"
default y
help
Suppress any warnings from the pre-processor when including
deprecated header files.
endmenu

File diff suppressed because it is too large Load Diff

View File

@@ -54,39 +54,59 @@ Resources
Here's a quick summary of resources to help you find your way around:
* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
repository; https://elixir.bootlin.com/zephyr/latest/source contains a
searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
devel@lists.zephyrproject.org are the main user and developer mailing lists,
respectively. You can join the developer's list and search its archives at
`Zephyr Development mailing list`_. The other `Zephyr mailing list
subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
security issues; also see our `Security`_ documentation. Security issues are
tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org
Getting Started
---------------
.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
| 📖 `Zephyr Documentation`_
| 🚀 `Getting Started Guide`_
| 🙋🏽 `Tips when asking for help`_
| 💻 `Code samples`_
Code and Development
--------------------
| 🌐 `Source Code Repository`_
| 📦 `Releases`_
| 🤝 `Contribution Guide`_
Community and Support
---------------------
| 💬 `Discord Server`_ for real-time community discussions
| 📧 `User mailing list (users@lists.zephyrproject.org)`_
| 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
| 📬 `Other project mailing lists`_
| 📚 `Project Wiki`_
Issue Tracking and Security
---------------------------
| 🐛 `GitHub Issues`_
| 🔒 `Security documentation`_
| 🛡️ `Security Advisories Repository`_
| ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org
Additional Resources
--------------------
| 🌐 `Zephyr Project Website`_
| 📺 `Zephyr Tech Talks`_
.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks

1
SDK_VERSION Normal file
View File

@@ -0,0 +1 @@
0.16.9

View File

@@ -1,5 +1,5 @@
VERSION_MAJOR = 3
VERSION_MINOR = 4
PATCHLEVEL = 99
VERSION_MINOR = 6
PATCHLEVEL = 0
VERSION_TWEAK = 0
EXTRAVERSION =

View File

@@ -19,9 +19,9 @@ source "$(ARCH_DIR)/$(ARCH)/Kconfig"
config ARC
bool
select ARCH_IS_SET
select HAS_DTS
imply XIP
select ARCH_HAS_THREAD_LOCAL_STORAGE
select ARCH_SUPPORTS_ROM_START
help
ARC architecture
@@ -29,7 +29,6 @@ config ARM
bool
select ARCH_IS_SET
select ARCH_SUPPORTS_COREDUMP if CPU_CORTEX_M
select HAS_DTS
# FIXME: current state of the code for all ARM requires this, but
# is really only necessary for Cortex-M with ARM MPU!
select GEN_PRIV_STACKS
@@ -42,7 +41,6 @@ config ARM64
bool
select ARCH_IS_SET
select 64BIT
select HAS_DTS
select ARCH_SUPPORTS_COREDUMP
select HAS_ARM_SMCCC
select ARCH_HAS_THREAD_LOCAL_STORAGE
@@ -57,14 +55,12 @@ config MIPS
bool
select ARCH_IS_SET
select ATOMIC_OPERATIONS_C
select HAS_DTS
help
MIPS architecture
config SPARC
bool
select ARCH_IS_SET
select HAS_DTS
select USE_SWITCH
select USE_SWITCH_SUPPORTED
select BIG_ENDIAN
@@ -79,8 +75,8 @@ config X86
bool
select ARCH_IS_SET
select ATOMIC_OPERATIONS_BUILTIN
select HAS_DTS
select ARCH_SUPPORTS_COREDUMP
select ARCH_SUPPORTS_ROM_START if !X86_64
select CPU_HAS_MMU
select ARCH_MEM_DOMAIN_DATA if USERSPACE && !X86_COMMON_PAGE_TABLE
select ARCH_MEM_DOMAIN_SYNCHRONOUS_API if USERSPACE
@@ -100,7 +96,6 @@ config NIOS2
bool
select ARCH_IS_SET
select ATOMIC_OPERATIONS_C
select HAS_DTS
imply XIP
select ARCH_HAS_TIMING_FUNCTIONS
help
@@ -109,8 +104,8 @@ config NIOS2
config RISCV
bool
select ARCH_IS_SET
select HAS_DTS
select ARCH_SUPPORTS_COREDUMP
select ARCH_SUPPORTS_ROM_START if !SOC_SERIES_ESP32C3
select ARCH_HAS_CODE_DATA_RELOCATION
select ARCH_HAS_THREAD_LOCAL_STORAGE
select IRQ_OFFLOAD_NESTED if IRQ_OFFLOAD
@@ -125,20 +120,18 @@ config RISCV
config XTENSA
bool
select ARCH_IS_SET
select HAS_DTS
select USE_SWITCH
select USE_SWITCH_SUPPORTED
select IRQ_OFFLOAD_NESTED if IRQ_OFFLOAD
select ARCH_HAS_CODE_DATA_RELOCATION
select ARCH_HAS_TIMING_FUNCTIONS
imply ATOMIC_OPERATIONS_ARCH
select ARCH_MEM_DOMAIN_DATA if USERSPACE
help
Xtensa architecture
config ARCH_POSIX
bool
select ARCH_IS_SET
select HAS_DTS
select ATOMIC_OPERATIONS_BUILTIN
select ARCH_HAS_CUSTOM_SWAP_TO_MAIN
select ARCH_HAS_CUSTOM_BUSY_WAIT
@@ -146,6 +139,8 @@ config ARCH_POSIX
select NATIVE_BUILD
select HAS_COVERAGE_SUPPORT
select BARRIER_OPERATIONS_BUILTIN
# POSIX arch based targets get their memory cleared on entry by the host OS
select SKIP_BSS_CLEAR
help
POSIX (native) architecture
@@ -396,6 +391,29 @@ config NOCACHE_MEMORY
menu "Interrupt Configuration"
config ISR_TABLES_LOCAL_DECLARATION_SUPPORTED
bool
default y
# Userspace is currently not supported
depends on !USERSPACE
# List of currently supported architectures
depends on ARM || ARM64
# List of currently supported toolchains
depends on "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "zephyr" || "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "gnuarmemb"
config ISR_TABLES_LOCAL_DECLARATION
bool "ISR tables created locally and placed by linker [EXPERIMENTAL]"
depends on ISR_TABLES_LOCAL_DECLARATION_SUPPORTED
select EXPERIMENTAL
help
Enable new scheme of interrupt tables generation.
This is totally different generator that would create tables entries locally
where the IRQ_CONNECT macro is called and then use the linker script to position it
in the right place in memory.
The most important advantage of such approach is that the generated interrupt tables
are LTO compatible.
The drawback is that the support on the architecture port is required.
config DYNAMIC_INTERRUPTS
bool "Installation of IRQs at runtime"
help
@@ -518,6 +536,16 @@ config IRQ_OFFLOAD_NESTED
synchronous nested interrupt on the current CPU. Not all
hardware is capable.
config EXCEPTION_DEBUG
bool "Unhandled exception debugging"
default y
depends on PRINTK || LOG
help
Install handlers for various CPU exception/trap vectors to
make debugging them easier, at a small expense in code size.
This prints out the specific exception vector and any associated
error codes.
config EXTRA_EXCEPTION_INFO
bool "Collect extra exception info"
depends on ARCH_HAS_EXTRA_EXCEPTION_INFO
@@ -597,6 +625,9 @@ config ARCH_SUPPORTS_COREDUMP
config ARCH_SUPPORTS_ARCH_HW_INIT
bool
config ARCH_SUPPORTS_ROM_START
bool
config ARCH_HAS_EXTRA_EXCEPTION_INFO
bool
@@ -657,6 +688,11 @@ config CPU_HAS_FPU
This option is enabled when the CPU has hardware floating point
unit.
config CPU_HAS_DSP
bool
help
This option is enabled when the CPU has hardware DSP unit.
config CPU_HAS_FPU_DOUBLE_PRECISION
bool
select CPU_HAS_FPU
@@ -694,6 +730,13 @@ config CPU_HAS_DCACHE
help
This hidden configuration should be selected when the CPU has a d-cache.
config CPU_CACHE_INCOHERENT
bool
help
This hidden configuration should be selected when the CPU has
incoherent cache. This applies to intra-CPU multiprocessing
incoherence and makes only sense when MP_NUM_CPUS > 1.
config CPU_HAS_ICACHE
bool
help
@@ -821,6 +864,17 @@ config CODE_DATA_RELOCATION
the target regions should be specified in CMakeLists.txt using
zephyr_code_relocate().
menu "DSP Options"
config DSP_SHARING
bool "DSP register sharing"
depends on CPU_HAS_DSP
help
This option enables preservation of the hardware DSP registers
across context switches to allow multiple threads to perform concurrent
DSP operations.
endmenu
menu "Floating Point Options"
config FPU
@@ -878,6 +932,17 @@ config ICACHE
help
This option enables the support for the instruction cache (i-cache).
config CACHE_DOUBLEMAP
bool "Cache double-mapping support"
depends on CPU_CACHE_INCOHERENT
default y
help
Double-mapping behavior where a pointer can be cheaply converted to
point to the same cached/uncached memory at different locations.
This applies to intra-CPU multiprocessing incoherence and makes only
sense when MP_NUM_CPUS > 1.
config CACHE_MANAGEMENT
bool "Cache management features"
depends on DCACHE || ICACHE
@@ -980,3 +1045,10 @@ config TOOLCHAIN_HAS_BUILTIN_FFS
default y if !(64BIT && RISCV)
help
Hidden option to signal that toolchain has __builtin_ffs*().
config ARCH_CPU_IDLE_CUSTOM
bool "Custom arch_cpu_idle implementation"
default n
help
This options allows applications to override the default arch idle implementation with
a custom one.

View File

@@ -253,20 +253,17 @@ config ARC_USE_UNALIGNED_MEM_ACCESS
to support unaligned memory access which is then disabled by default.
Enable unaligned access in hardware and make software to use it.
config FAULT_DUMP
int "Fault dump level"
default 2
range 0 2
config ARC_CURRENT_THREAD_USE_NO_TLS
bool
select CURRENT_THREAD_USE_NO_TLS
default y if (RGF_NUM_BANKS > 1) || ("$(ZEPHYR_TOOLCHAIN_VARIANT)" = "arcmwdt")
help
Different levels for display information when a fault occurs.
2: The default. Display specific and verbose information. Consumes
the most memory (long strings).
1: Display general and short information. Consumes less memory
(short strings).
0: Off.
Disable current Thread Local Storage for ARC. For cores with more then one
RGF_NUM_BANKS the parameter is disabled by-default because banks syncronization
requires significant time, and it slows down performance.
ARCMWDT works with tls pointer in different way then GCC. Optimized access to
TLS pointer via _current variable does not provide significant advantages
in case of MetaWare.
config GEN_ISR_TABLES
default y
@@ -376,15 +373,6 @@ config ARC_EXCEPTION_STACK_SIZE
endmenu
config ARC_EXCEPTION_DEBUG
bool "Unhandled exception debugging information"
default n
depends on PRINTK || LOG
help
Print human-readable information about exception vectors, cause codes,
and parameters, at a cost of code/data size for the human-readable
strings.
config ARC_EARLY_SOC_INIT
bool "Make early stage SoC-specific initialization"
help

View File

@@ -26,7 +26,7 @@ zephyr_library_sources_ifdef(CONFIG_IRQ_OFFLOAD irq_offload.c)
zephyr_library_sources_ifdef(CONFIG_USERSPACE userspace.S)
zephyr_library_sources_ifdef(CONFIG_ARC_CONNECT arc_connect.c)
zephyr_library_sources_ifdef(CONFIG_ARC_CONNECT arc_smp.c)
zephyr_library_sources_ifdef(CONFIG_ARC_CONNECT smp.c)
zephyr_library_sources_ifdef(CONFIG_THREAD_LOCAL_STORAGE tls.c)

View File

@@ -1,193 +0,0 @@
/*
* Copyright (c) 2019 Synopsys.
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @file
* @brief codes required for ARC multicore and Zephyr smp support
*
*/
#include <zephyr/device.h>
#include <zephyr/kernel.h>
#include <zephyr/kernel_structs.h>
#include <ksched.h>
#include <zephyr/init.h>
#include <zephyr/irq.h>
#include <arc_irq_offload.h>
volatile struct {
arch_cpustart_t fn;
void *arg;
} arc_cpu_init[CONFIG_MP_MAX_NUM_CPUS];
/*
* arc_cpu_wake_flag is used to sync up master core and slave cores
* Slave core will spin for arc_cpu_wake_flag until master core sets
* it to the core id of slave core. Then, slave core clears it to notify
* master core that it's waken
*
*/
volatile uint32_t arc_cpu_wake_flag;
volatile char *arc_cpu_sp;
/*
* _curr_cpu is used to record the struct of _cpu_t of each cpu.
* for efficient usage in assembly
*/
volatile _cpu_t *_curr_cpu[CONFIG_MP_MAX_NUM_CPUS];
/* Called from Zephyr initialization */
void arch_start_cpu(int cpu_num, k_thread_stack_t *stack, int sz,
arch_cpustart_t fn, void *arg)
{
_curr_cpu[cpu_num] = &(_kernel.cpus[cpu_num]);
arc_cpu_init[cpu_num].fn = fn;
arc_cpu_init[cpu_num].arg = arg;
/* set the initial sp of target sp through arc_cpu_sp
* arc_cpu_wake_flag will protect arc_cpu_sp that
* only one slave cpu can read it per time
*/
arc_cpu_sp = Z_KERNEL_STACK_BUFFER(stack) + sz;
arc_cpu_wake_flag = cpu_num;
/* wait slave cpu to start */
while (arc_cpu_wake_flag != 0U) {
;
}
}
#ifdef CONFIG_SMP
static void arc_connect_debug_mask_update(int cpu_num)
{
uint32_t core_mask = 1 << cpu_num;
/*
* MDB debugger may modify debug_select and debug_mask registers on start, so we can't
* rely on debug_select reset value.
*/
if (cpu_num != ARC_MP_PRIMARY_CPU_ID) {
core_mask |= z_arc_connect_debug_select_read();
}
z_arc_connect_debug_select_set(core_mask);
/* Debugger halts cores at all conditions:
* ARC_CONNECT_CMD_DEBUG_MASK_H: Core global halt.
* ARC_CONNECT_CMD_DEBUG_MASK_AH: Actionpoint halt.
* ARC_CONNECT_CMD_DEBUG_MASK_BH: Software breakpoint halt.
* ARC_CONNECT_CMD_DEBUG_MASK_SH: Self halt.
*/
z_arc_connect_debug_mask_set(core_mask, (ARC_CONNECT_CMD_DEBUG_MASK_SH
| ARC_CONNECT_CMD_DEBUG_MASK_BH | ARC_CONNECT_CMD_DEBUG_MASK_AH
| ARC_CONNECT_CMD_DEBUG_MASK_H));
}
#endif
void arc_core_private_intc_init(void);
/* the C entry of slave cores */
void z_arc_slave_start(int cpu_num)
{
arch_cpustart_t fn;
#ifdef CONFIG_SMP
struct arc_connect_bcr bcr;
bcr.val = z_arc_v2_aux_reg_read(_ARC_V2_CONNECT_BCR);
if (bcr.dbg) {
/* configure inter-core debug unit if available */
arc_connect_debug_mask_update(cpu_num);
}
z_irq_setup();
arc_core_private_intc_init();
arc_irq_offload_init_smp();
z_arc_connect_ici_clear();
z_irq_priority_set(DT_IRQN(DT_NODELABEL(ici)),
DT_IRQ(DT_NODELABEL(ici), priority), 0);
irq_enable(DT_IRQN(DT_NODELABEL(ici)));
#endif
/* call the function set by arch_start_cpu */
fn = arc_cpu_init[cpu_num].fn;
fn(arc_cpu_init[cpu_num].arg);
}
#ifdef CONFIG_SMP
static void sched_ipi_handler(const void *unused)
{
ARG_UNUSED(unused);
z_arc_connect_ici_clear();
z_sched_ipi();
}
/* arch implementation of sched_ipi */
void arch_sched_ipi(void)
{
uint32_t i;
/* broadcast sched_ipi request to other cores
* if the target is current core, hardware will ignore it
*/
unsigned int num_cpus = arch_num_cpus();
for (i = 0U; i < num_cpus; i++) {
z_arc_connect_ici_generate(i);
}
}
static int arc_smp_init(void)
{
struct arc_connect_bcr bcr;
/* necessary master core init */
_curr_cpu[0] = &(_kernel.cpus[0]);
bcr.val = z_arc_v2_aux_reg_read(_ARC_V2_CONNECT_BCR);
if (bcr.dbg) {
/* configure inter-core debug unit if available */
arc_connect_debug_mask_update(ARC_MP_PRIMARY_CPU_ID);
}
if (bcr.ipi) {
/* register ici interrupt, just need master core to register once */
z_arc_connect_ici_clear();
IRQ_CONNECT(DT_IRQN(DT_NODELABEL(ici)),
DT_IRQ(DT_NODELABEL(ici), priority),
sched_ipi_handler, NULL, 0);
irq_enable(DT_IRQN(DT_NODELABEL(ici)));
} else {
__ASSERT(0,
"ARC connect has no inter-core interrupt\n");
return -ENODEV;
}
if (bcr.gfrc) {
/* global free running count init */
z_arc_connect_gfrc_enable();
/* when all cores halt, gfrc halt */
z_arc_connect_gfrc_core_set((1 << arch_num_cpus()) - 1);
z_arc_connect_gfrc_clear();
} else {
__ASSERT(0,
"ARC connect has no global free running counter\n");
return -ENODEV;
}
return 0;
}
SYS_INIT(arc_smp_init, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
#endif

View File

@@ -218,8 +218,7 @@ int arch_icache_flush_and_invd_range(void *addr, size_t size)
static int init_dcache(void)
{
arch_dcache_enable();
sys_cache_data_enable();
#if defined(CONFIG_DCACHE_LINE_SIZE_DETECT)
init_dcache_line_size();

View File

@@ -3,13 +3,8 @@
# Copyright (c) 2022 Synopsys
# SPDX-License-Identifier: Apache-2.0
config ARC_HAS_DSP
bool
help
This option is enabled when the ARC CPU has hardware DSP unit.
menu "ARC DSP Options"
depends on ARC_HAS_DSP
depends on CPU_HAS_DSP
config ARC_DSP
bool "digital signal processing (DSP)"
@@ -22,7 +17,7 @@ config ARC_DSP_TURNED_OFF
help
This option disables DSP block via resetting DSP_CRTL register.
config ARC_DSP_SHARING
config DSP_SHARING
bool "DSP register sharing"
depends on ARC_DSP && MULTITHREADING
select ARC_HAS_ACCL_REGS
@@ -49,7 +44,7 @@ config ARC_XY_ENABLE
config ARC_AGU_SHARING
bool "ARC address generation unit register sharing"
depends on ARC_XY_ENABLE && MULTITHREADING
default y if ARC_DSP_SHARING
default y if DSP_SHARING
help
This option enables preservation of the hardware AGU registers
across context switches to allow multiple threads to perform concurrent

View File

@@ -9,7 +9,7 @@
* @brief ARCv2 DSP and AGU structure member offset definition file
*
*/
#ifdef CONFIG_ARC_DSP_SHARING
#ifdef CONFIG_DSP_SHARING
GEN_OFFSET_SYM(_callee_saved_stack_t, dsp_ctrl);
GEN_OFFSET_SYM(_callee_saved_stack_t, acc0_glo);
GEN_OFFSET_SYM(_callee_saved_stack_t, acc0_ghi);

View File

@@ -10,7 +10,7 @@
*
*/
.macro _save_dsp_regs
#ifdef CONFIG_ARC_DSP_SHARING
#ifdef CONFIG_DSP_SHARING
ld_s r13, [r2, ___thread_base_t_user_options_OFFSET]
bbit0 r13, K_DSP_IDX, dsp_skip_save
lr r13, [_ARC_V2_DSP_CTRL]
@@ -136,7 +136,7 @@ agu_skip_save :
.endm
.macro _load_dsp_regs
#ifdef CONFIG_ARC_DSP_SHARING
#ifdef CONFIG_DSP_SHARING
ld_s r13, [r2, ___thread_base_t_user_options_OFFSET]
bbit0 r13, K_DSP_IDX, dsp_skip_load
ld_s r13, [sp, ___callee_saved_stack_t_dsp_ctrl_OFFSET]

View File

@@ -17,36 +17,38 @@
#include <zephyr/arch/cpu.h>
#include <zephyr/logging/log.h>
#include <kernel_arch_data.h>
#include <zephyr/arch/arc/v2/exc.h>
#include <zephyr/arch/arc/v2/exception.h>
#include <err_dump_handling.h>
LOG_MODULE_DECLARE(os, CONFIG_KERNEL_LOG_LEVEL);
#ifdef CONFIG_ARC_EXCEPTION_DEBUG
#ifdef CONFIG_EXCEPTION_DEBUG
static void dump_arc_esf(const z_arch_esf_t *esf)
{
LOG_ERR(" r0: 0x%" PRIxPTR " r1: 0x%" PRIxPTR " r2: 0x%" PRIxPTR " r3: 0x%" PRIxPTR "",
esf->r0, esf->r1, esf->r2, esf->r3);
LOG_ERR(" r4: 0x%" PRIxPTR " r5: 0x%" PRIxPTR " r6: 0x%" PRIxPTR " r7: 0x%" PRIxPTR "",
esf->r4, esf->r5, esf->r6, esf->r7);
LOG_ERR(" r8: 0x%" PRIxPTR " r9: 0x%" PRIxPTR " r10: 0x%" PRIxPTR " r11: 0x%" PRIxPTR "",
esf->r8, esf->r9, esf->r10, esf->r11);
LOG_ERR("r12: 0x%" PRIxPTR " r13: 0x%" PRIxPTR " pc: 0x%" PRIxPTR "",
ARC_EXCEPTION_DUMP(" r0: 0x%" PRIxPTR " r1: 0x%" PRIxPTR " r2: 0x%" PRIxPTR
" r3: 0x%" PRIxPTR "", esf->r0, esf->r1, esf->r2, esf->r3);
ARC_EXCEPTION_DUMP(" r4: 0x%" PRIxPTR " r5: 0x%" PRIxPTR " r6: 0x%" PRIxPTR
" r7: 0x%" PRIxPTR "", esf->r4, esf->r5, esf->r6, esf->r7);
ARC_EXCEPTION_DUMP(" r8: 0x%" PRIxPTR " r9: 0x%" PRIxPTR " r10: 0x%" PRIxPTR
" r11: 0x%" PRIxPTR "", esf->r8, esf->r9, esf->r10, esf->r11);
ARC_EXCEPTION_DUMP("r12: 0x%" PRIxPTR " r13: 0x%" PRIxPTR " pc: 0x%" PRIxPTR "",
esf->r12, esf->r13, esf->pc);
LOG_ERR(" blink: 0x%" PRIxPTR " status32: 0x%" PRIxPTR "", esf->blink, esf->status32);
ARC_EXCEPTION_DUMP(" blink: 0x%" PRIxPTR " status32: 0x%" PRIxPTR "",
esf->blink, esf->status32);
#ifdef CONFIG_ARC_HAS_ZOL
LOG_ERR("lp_end: 0x%" PRIxPTR " lp_start: 0x%" PRIxPTR " lp_count: 0x%" PRIxPTR "",
esf->lp_end, esf->lp_start, esf->lp_count);
ARC_EXCEPTION_DUMP("lp_end: 0x%" PRIxPTR " lp_start: 0x%" PRIxPTR
" lp_count: 0x%" PRIxPTR "", esf->lp_end, esf->lp_start, esf->lp_count);
#endif /* CONFIG_ARC_HAS_ZOL */
}
#endif
void z_arc_fatal_error(unsigned int reason, const z_arch_esf_t *esf)
{
#ifdef CONFIG_ARC_EXCEPTION_DEBUG
#ifdef CONFIG_EXCEPTION_DEBUG
if (esf != NULL) {
dump_arc_esf(esf);
}
#endif /* CONFIG_ARC_EXCEPTION_DEBUG */
#endif /* CONFIG_EXCEPTION_DEBUG */
z_fatal_error(reason, esf);
}

View File

@@ -20,6 +20,8 @@
#include <zephyr/kernel_structs.h>
#include <zephyr/arch/common/exc_handle.h>
#include <zephyr/logging/log.h>
#include <err_dump_handling.h>
LOG_MODULE_DECLARE(os, CONFIG_KERNEL_LOG_LEVEL);
#ifdef CONFIG_USERSPACE
@@ -69,7 +71,7 @@ static bool z_check_thread_stack_fail(const uint32_t fault_addr, uint32_t sp)
* "guard" installed in this case, instead what's
* happening is that the stack pointer is crashing
* into the privilege mode stack buffer which
* immediately precededs it.
* immediately precedes it.
*/
guard_end = thread->stack_info.start;
guard_start = (uint32_t)thread->stack_obj;
@@ -104,7 +106,7 @@ static bool z_check_thread_stack_fail(const uint32_t fault_addr, uint32_t sp)
}
#endif
#ifdef CONFIG_ARC_EXCEPTION_DEBUG
#ifdef CONFIG_EXCEPTION_DEBUG
/* For EV_ProtV, the numbering/semantics of the parameter are consistent across
* several codes, although not all combination will be reported.
*
@@ -137,32 +139,32 @@ static void dump_protv_exception(uint32_t cause, uint32_t parameter)
{
switch (cause) {
case 0x0:
LOG_ERR("Instruction fetch violation (%s)",
ARC_EXCEPTION_DUMP("Instruction fetch violation (%s)",
get_protv_access_err(parameter));
break;
case 0x1:
LOG_ERR("Memory read protection violation (%s)",
ARC_EXCEPTION_DUMP("Memory read protection violation (%s)",
get_protv_access_err(parameter));
break;
case 0x2:
LOG_ERR("Memory write protection violation (%s)",
ARC_EXCEPTION_DUMP("Memory write protection violation (%s)",
get_protv_access_err(parameter));
break;
case 0x3:
LOG_ERR("Memory read-modify-write violation (%s)",
ARC_EXCEPTION_DUMP("Memory read-modify-write violation (%s)",
get_protv_access_err(parameter));
break;
case 0x10:
LOG_ERR("Normal vector table in secure memory");
ARC_EXCEPTION_DUMP("Normal vector table in secure memory");
break;
case 0x11:
LOG_ERR("NS handler code located in S memory");
ARC_EXCEPTION_DUMP("NS handler code located in S memory");
break;
case 0x12:
LOG_ERR("NSC Table Range Violation");
ARC_EXCEPTION_DUMP("NSC Table Range Violation");
break;
default:
LOG_ERR("unknown");
ARC_EXCEPTION_DUMP("unknown");
break;
}
}
@@ -171,46 +173,46 @@ static void dump_machine_check_exception(uint32_t cause, uint32_t parameter)
{
switch (cause) {
case 0x0:
LOG_ERR("double fault");
ARC_EXCEPTION_DUMP("double fault");
break;
case 0x1:
LOG_ERR("overlapping TLB entries");
ARC_EXCEPTION_DUMP("overlapping TLB entries");
break;
case 0x2:
LOG_ERR("fatal TLB error");
ARC_EXCEPTION_DUMP("fatal TLB error");
break;
case 0x3:
LOG_ERR("fatal cache error");
ARC_EXCEPTION_DUMP("fatal cache error");
break;
case 0x4:
LOG_ERR("internal memory error on instruction fetch");
ARC_EXCEPTION_DUMP("internal memory error on instruction fetch");
break;
case 0x5:
LOG_ERR("internal memory error on data fetch");
ARC_EXCEPTION_DUMP("internal memory error on data fetch");
break;
case 0x6:
LOG_ERR("illegal overlapping MPU entries");
ARC_EXCEPTION_DUMP("illegal overlapping MPU entries");
if (parameter == 0x1) {
LOG_ERR(" - jump and branch target");
ARC_EXCEPTION_DUMP(" - jump and branch target");
}
break;
case 0x10:
LOG_ERR("secure vector table not located in secure memory");
ARC_EXCEPTION_DUMP("secure vector table not located in secure memory");
break;
case 0x11:
LOG_ERR("NSC jump table not located in secure memory");
ARC_EXCEPTION_DUMP("NSC jump table not located in secure memory");
break;
case 0x12:
LOG_ERR("secure handler code not located in secure memory");
ARC_EXCEPTION_DUMP("secure handler code not located in secure memory");
break;
case 0x13:
LOG_ERR("NSC target address not located in secure memory");
ARC_EXCEPTION_DUMP("NSC target address not located in secure memory");
break;
case 0x80:
LOG_ERR("uncorrectable ECC or parity error in vector memory");
ARC_EXCEPTION_DUMP("uncorrectable ECC or parity error in vector memory");
break;
default:
LOG_ERR("unknown");
ARC_EXCEPTION_DUMP("unknown");
break;
}
}
@@ -219,54 +221,54 @@ static void dump_privilege_exception(uint32_t cause, uint32_t parameter)
{
switch (cause) {
case 0x0:
LOG_ERR("Privilege violation");
ARC_EXCEPTION_DUMP("Privilege violation");
break;
case 0x1:
LOG_ERR("disabled extension");
ARC_EXCEPTION_DUMP("disabled extension");
break;
case 0x2:
LOG_ERR("action point hit");
ARC_EXCEPTION_DUMP("action point hit");
break;
case 0x10:
switch (parameter) {
case 0x1:
LOG_ERR("N to S return using incorrect return mechanism");
ARC_EXCEPTION_DUMP("N to S return using incorrect return mechanism");
break;
case 0x2:
LOG_ERR("N to S return with incorrect operating mode");
ARC_EXCEPTION_DUMP("N to S return with incorrect operating mode");
break;
case 0x3:
LOG_ERR("IRQ/exception return fetch from wrong mode");
ARC_EXCEPTION_DUMP("IRQ/exception return fetch from wrong mode");
break;
case 0x4:
LOG_ERR("attempt to halt secure processor in NS mode");
ARC_EXCEPTION_DUMP("attempt to halt secure processor in NS mode");
break;
case 0x20:
LOG_ERR("attempt to access secure resource from normal mode");
ARC_EXCEPTION_DUMP("attempt to access secure resource from normal mode");
break;
case 0x40:
LOG_ERR("SID violation on resource access (APEX/UAUX/key NVM)");
ARC_EXCEPTION_DUMP("SID violation on resource access (APEX/UAUX/key NVM)");
break;
default:
LOG_ERR("unknown");
ARC_EXCEPTION_DUMP("unknown");
break;
}
break;
case 0x13:
switch (parameter) {
case 0x20:
LOG_ERR("attempt to access secure APEX feature from NS mode");
ARC_EXCEPTION_DUMP("attempt to access secure APEX feature from NS mode");
break;
case 0x40:
LOG_ERR("SID violation on access to APEX feature");
ARC_EXCEPTION_DUMP("SID violation on access to APEX feature");
break;
default:
LOG_ERR("unknown");
ARC_EXCEPTION_DUMP("unknown");
break;
}
break;
default:
LOG_ERR("unknown");
ARC_EXCEPTION_DUMP("unknown");
break;
}
}
@@ -274,7 +276,7 @@ static void dump_privilege_exception(uint32_t cause, uint32_t parameter)
static void dump_exception_info(uint32_t vector, uint32_t cause, uint32_t parameter)
{
if (vector >= 0x10 && vector <= 0xFF) {
LOG_ERR("interrupt %u", vector);
ARC_EXCEPTION_DUMP("interrupt %u", vector);
return;
}
@@ -283,59 +285,59 @@ static void dump_exception_info(uint32_t vector, uint32_t cause, uint32_t parame
*/
switch (vector) {
case ARC_EV_RESET:
LOG_ERR("Reset");
ARC_EXCEPTION_DUMP("Reset");
break;
case ARC_EV_MEM_ERROR:
LOG_ERR("Memory Error");
ARC_EXCEPTION_DUMP("Memory Error");
break;
case ARC_EV_INS_ERROR:
LOG_ERR("Instruction Error");
ARC_EXCEPTION_DUMP("Instruction Error");
break;
case ARC_EV_MACHINE_CHECK:
LOG_ERR("EV_MachineCheck");
ARC_EXCEPTION_DUMP("EV_MachineCheck");
dump_machine_check_exception(cause, parameter);
break;
case ARC_EV_TLB_MISS_I:
LOG_ERR("EV_TLBMissI");
ARC_EXCEPTION_DUMP("EV_TLBMissI");
break;
case ARC_EV_TLB_MISS_D:
LOG_ERR("EV_TLBMissD");
ARC_EXCEPTION_DUMP("EV_TLBMissD");
break;
case ARC_EV_PROT_V:
LOG_ERR("EV_ProtV");
ARC_EXCEPTION_DUMP("EV_ProtV");
dump_protv_exception(cause, parameter);
break;
case ARC_EV_PRIVILEGE_V:
LOG_ERR("EV_PrivilegeV");
ARC_EXCEPTION_DUMP("EV_PrivilegeV");
dump_privilege_exception(cause, parameter);
break;
case ARC_EV_SWI:
LOG_ERR("EV_SWI");
ARC_EXCEPTION_DUMP("EV_SWI");
break;
case ARC_EV_TRAP:
LOG_ERR("EV_Trap");
ARC_EXCEPTION_DUMP("EV_Trap");
break;
case ARC_EV_EXTENSION:
LOG_ERR("EV_Extension");
ARC_EXCEPTION_DUMP("EV_Extension");
break;
case ARC_EV_DIV_ZERO:
LOG_ERR("EV_DivZero");
ARC_EXCEPTION_DUMP("EV_DivZero");
break;
case ARC_EV_DC_ERROR:
LOG_ERR("EV_DCError");
ARC_EXCEPTION_DUMP("EV_DCError");
break;
case ARC_EV_MISALIGNED:
LOG_ERR("EV_Misaligned");
ARC_EXCEPTION_DUMP("EV_Misaligned");
break;
case ARC_EV_VEC_UNIT:
LOG_ERR("EV_VecUnit");
ARC_EXCEPTION_DUMP("EV_VecUnit");
break;
default:
LOG_ERR("unknown");
ARC_EXCEPTION_DUMP("unknown");
break;
}
}
#endif /* CONFIG_ARC_EXCEPTION_DEBUG */
#endif /* CONFIG_EXCEPTION_DEBUG */
/*
* @brief Fault handler
@@ -384,10 +386,11 @@ void _Fault(z_arch_esf_t *esf, uint32_t old_sp)
return;
}
LOG_ERR("***** Exception vector: 0x%x, cause code: 0x%x, parameter 0x%x",
#ifdef CONFIG_EXCEPTION_DEBUG
ARC_EXCEPTION_DUMP("***** Exception vector: 0x%x, cause code: 0x%x, parameter 0x%x",
vector, cause, parameter);
LOG_ERR("Address 0x%x", exc_addr);
#ifdef CONFIG_ARC_EXCEPTION_DEBUG
ARC_EXCEPTION_DUMP("Address 0x%x", exc_addr);
dump_exception_info(vector, cause, parameter);
#endif

View File

@@ -26,7 +26,7 @@
#include <kernel_arch_data.h>
#include <gen_offset.h>
#include <kernel_offsets.h>
#ifdef CONFIG_ARC_DSP_SHARING
#ifdef CONFIG_DSP_SHARING
#include "../dsp/dsp_offsets.c"
#endif

View File

@@ -20,10 +20,10 @@
#include <zephyr/toolchain.h>
#include <zephyr/linker/linker-defs.h>
#include <zephyr/arch/arc/v2/aux_regs.h>
#include <zephyr/arch/arc/cluster.h>
#include <zephyr/kernel_structs.h>
#include <kernel_internal.h>
/* XXX - keep for future use in full-featured cache APIs */
#if 0
/**
@@ -67,6 +67,51 @@ static void invalidate_dcache(void)
}
#endif
#ifdef CONFIG_ISA_ARCV3
/* NOTE: it will be called from early C code - we must NOT use global / static variables in it! */
static void arc_cluster_scm_enable(void)
{
unsigned int cluster_version;
/* Check that we have cluster and its version is supported */
cluster_version = z_arc_v2_aux_reg_read(_ARC_REG_CLN_BCR) & _ARC_CLN_BCR_VER_MAJOR_MASK;
if (cluster_version < _ARC_REG_CLN_BCR_VER_MAJOR_ARCV3_MIN) {
return;
}
/* Check that we have shared cache in cluster */
if (!(z_arc_v2_aux_reg_read(_ARC_CLNR_BCR_0) & _ARC_CLNR_BCR_0_HAS_SCM)) {
return;
}
/* Disable SCM, just in case. */
arc_cln_write_reg_nolock(ARC_CLN_CACHE_STATUS, 0);
/* Invalidate SCM before enabling. */
arc_cln_write_reg_nolock(ARC_CLN_CACHE_CMD,
ARC_CLN_CACHE_CMD_OP_REG_INV | ARC_CLN_CACHE_CMD_INCR);
while (arc_cln_read_reg_nolock(ARC_CLN_CACHE_STATUS) & ARC_CLN_CACHE_STATUS_BUSY)
;
arc_cln_write_reg_nolock(ARC_CLN_CACHE_STATUS, ARC_CLN_CACHE_STATUS_EN);
}
#endif /* CONFIG_ISA_ARCV3 */
#ifdef __CCAC__
extern char __device_states_start[];
extern char __device_states_end[];
/**
* @brief Clear device_states section
*
* This routine clears the device_states section,
* as MW compiler marks the section with NOLOAD flag.
*/
static void dev_state_zero(void)
{
z_early_memset(__device_states_start, 0, __device_states_end - __device_states_start);
}
#endif
extern FUNC_NORETURN void z_cstart(void);
/**
* @brief Prepare to and run C code
@@ -74,9 +119,16 @@ extern FUNC_NORETURN void z_cstart(void);
* This routine prepares for the execution of and runs C code.
*/
void _PrepC(void)
void z_prep_c(void)
{
#ifdef CONFIG_ISA_ARCV3
arc_cluster_scm_enable();
#endif
z_bss_zero();
#ifdef __CCAC__
dev_state_zero();
#endif
z_data_copy();
z_cstart();
CODE_UNREACHABLE;

View File

@@ -40,7 +40,7 @@ GTEXT(__start)
*
* Locking interrupts prevents anything from interrupting the CPU.
*
* When these steps are completed, jump to _PrepC(), which will finish setting
* When these steps are completed, jump to z_prep_c(), which will finish setting
* up the system for running C code.
*/
@@ -151,6 +151,16 @@ done_mpu_regions_reset:
#endif
#endif
#ifdef CONFIG_ISA_ARCV3
/* Enable HW prefetcher if exist */
lr r0, [_ARC_HW_PF_BUILD]
breq r0, 0, hw_pf_setup_done
lr r1, [_ARC_HW_PF_CTRL]
or r1, r1, _ARC_HW_PF_CTRL_ENABLE
sr r1, [_ARC_HW_PF_CTRL]
hw_pf_setup_done:
#endif
#if defined(CONFIG_SMP) || CONFIG_MP_MAX_NUM_CPUS > 1
_get_cpu_id r0
breq r0, 0, _master_core_startup
@@ -174,7 +184,7 @@ _slave_core_wait:
jl z_arc_firq_stack_set
pop r0
#endif
j z_arc_slave_start
j arch_secondary_cpu_init
_master_core_startup:
#endif
@@ -202,4 +212,4 @@ _master_core_startup:
jl z_arc_firq_stack_set
#endif
j _PrepC
j z_prep_c

192
arch/arc/core/smp.c Normal file
View File

@@ -0,0 +1,192 @@
/*
* Copyright (c) 2019 Synopsys.
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @file
* @brief codes required for ARC multicore and Zephyr smp support
*
*/
#include <zephyr/device.h>
#include <zephyr/kernel.h>
#include <zephyr/kernel_structs.h>
#include <ksched.h>
#include <zephyr/init.h>
#include <zephyr/irq.h>
#include <arc_irq_offload.h>
volatile struct {
arch_cpustart_t fn;
void *arg;
} arc_cpu_init[CONFIG_MP_MAX_NUM_CPUS];
/*
* arc_cpu_wake_flag is used to sync up master core and slave cores
* Slave core will spin for arc_cpu_wake_flag until master core sets
* it to the core id of slave core. Then, slave core clears it to notify
* master core that it's waken
*
*/
volatile uint32_t arc_cpu_wake_flag;
volatile char *arc_cpu_sp;
/*
* _curr_cpu is used to record the struct of _cpu_t of each cpu.
* for efficient usage in assembly
*/
volatile _cpu_t *_curr_cpu[CONFIG_MP_MAX_NUM_CPUS];
/* Called from Zephyr initialization */
void arch_start_cpu(int cpu_num, k_thread_stack_t *stack, int sz,
arch_cpustart_t fn, void *arg)
{
_curr_cpu[cpu_num] = &(_kernel.cpus[cpu_num]);
arc_cpu_init[cpu_num].fn = fn;
arc_cpu_init[cpu_num].arg = arg;
/* set the initial sp of target sp through arc_cpu_sp
* arc_cpu_wake_flag will protect arc_cpu_sp that
* only one slave cpu can read it per time
*/
arc_cpu_sp = Z_KERNEL_STACK_BUFFER(stack) + sz;
arc_cpu_wake_flag = cpu_num;
/* wait slave cpu to start */
while (arc_cpu_wake_flag != 0U) {
;
}
}
#ifdef CONFIG_SMP
static void arc_connect_debug_mask_update(int cpu_num)
{
uint32_t core_mask = 1 << cpu_num;
/*
* MDB debugger may modify debug_select and debug_mask registers on start, so we can't
* rely on debug_select reset value.
*/
if (cpu_num != ARC_MP_PRIMARY_CPU_ID) {
core_mask |= z_arc_connect_debug_select_read();
}
z_arc_connect_debug_select_set(core_mask);
/* Debugger halts cores at all conditions:
* ARC_CONNECT_CMD_DEBUG_MASK_H: Core global halt.
* ARC_CONNECT_CMD_DEBUG_MASK_AH: Actionpoint halt.
* ARC_CONNECT_CMD_DEBUG_MASK_BH: Software breakpoint halt.
* ARC_CONNECT_CMD_DEBUG_MASK_SH: Self halt.
*/
z_arc_connect_debug_mask_set(core_mask, (ARC_CONNECT_CMD_DEBUG_MASK_SH
| ARC_CONNECT_CMD_DEBUG_MASK_BH | ARC_CONNECT_CMD_DEBUG_MASK_AH
| ARC_CONNECT_CMD_DEBUG_MASK_H));
}
#endif
void arc_core_private_intc_init(void);
/* the C entry of slave cores */
void arch_secondary_cpu_init(int cpu_num)
{
arch_cpustart_t fn;
#ifdef CONFIG_SMP
struct arc_connect_bcr bcr;
bcr.val = z_arc_v2_aux_reg_read(_ARC_V2_CONNECT_BCR);
if (bcr.dbg) {
/* configure inter-core debug unit if available */
arc_connect_debug_mask_update(cpu_num);
}
z_irq_setup();
arc_core_private_intc_init();
arc_irq_offload_init_smp();
z_arc_connect_ici_clear();
z_irq_priority_set(DT_IRQN(DT_NODELABEL(ici)),
DT_IRQ(DT_NODELABEL(ici), priority), 0);
irq_enable(DT_IRQN(DT_NODELABEL(ici)));
#endif
/* call the function set by arch_start_cpu */
fn = arc_cpu_init[cpu_num].fn;
fn(arc_cpu_init[cpu_num].arg);
}
#ifdef CONFIG_SMP
static void sched_ipi_handler(const void *unused)
{
ARG_UNUSED(unused);
z_arc_connect_ici_clear();
z_sched_ipi();
}
/* arch implementation of sched_ipi */
void arch_sched_ipi(void)
{
uint32_t i;
/* broadcast sched_ipi request to other cores
* if the target is current core, hardware will ignore it
*/
unsigned int num_cpus = arch_num_cpus();
for (i = 0U; i < num_cpus; i++) {
z_arc_connect_ici_generate(i);
}
}
int arch_smp_init(void)
{
struct arc_connect_bcr bcr;
/* necessary master core init */
_curr_cpu[0] = &(_kernel.cpus[0]);
bcr.val = z_arc_v2_aux_reg_read(_ARC_V2_CONNECT_BCR);
if (bcr.dbg) {
/* configure inter-core debug unit if available */
arc_connect_debug_mask_update(ARC_MP_PRIMARY_CPU_ID);
}
if (bcr.ipi) {
/* register ici interrupt, just need master core to register once */
z_arc_connect_ici_clear();
IRQ_CONNECT(DT_IRQN(DT_NODELABEL(ici)),
DT_IRQ(DT_NODELABEL(ici), priority),
sched_ipi_handler, NULL, 0);
irq_enable(DT_IRQN(DT_NODELABEL(ici)));
} else {
__ASSERT(0,
"ARC connect has no inter-core interrupt\n");
return -ENODEV;
}
if (bcr.gfrc) {
/* global free running count init */
z_arc_connect_gfrc_enable();
/* when all cores halt, gfrc halt */
z_arc_connect_gfrc_core_set((1 << arch_num_cpus()) - 1);
z_arc_connect_gfrc_clear();
} else {
__ASSERT(0,
"ARC connect has no global free running counter\n");
return -ENODEV;
}
return 0;
}
SYS_INIT(arch_smp_init, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
#endif

View File

@@ -19,7 +19,7 @@
#include <zephyr/arch/arc/v2/mpu/arc_core_mpu.h>
#endif
#if defined(CONFIG_ARC_DSP) && defined(CONFIG_ARC_DSP_SHARING)
#if defined(CONFIG_ARC_DSP) && defined(CONFIG_DSP_SHARING)
#include <zephyr/arch/arc/v2/dsp/arc_dsp.h>
static struct k_spinlock lock;
#endif
@@ -297,7 +297,7 @@ FUNC_NORETURN void z_arc_switch_to_main_no_multithreading(k_thread_entry_t main_
}
#endif /* !CONFIG_MULTITHREADING */
#if defined(CONFIG_ARC_DSP) && defined(CONFIG_ARC_DSP_SHARING)
#if defined(CONFIG_ARC_DSP) && defined(CONFIG_DSP_SHARING)
void arc_dsp_disable(struct k_thread *thread, unsigned int options)
{
/* Ensure a preemptive context switch does not occur */
@@ -319,4 +319,4 @@ void arc_dsp_enable(struct k_thread *thread, unsigned int options)
k_spin_unlock(&lock, key);
}
#endif /* CONFIG_ARC_DSP && CONFIG_ARC_DSP_SHARING */
#endif /* CONFIG_ARC_DSP && CONFIG_DSP_SHARING */

View File

@@ -0,0 +1,16 @@
/*
* Copyright (c) 2023 Synopsys.
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_ARCH_ARC_INCLUDE_ERR_DUMP_HANDLING_H_
#define ZEPHYR_ARCH_ARC_INCLUDE_ERR_DUMP_HANDLING_H_
#if defined CONFIG_LOG
#define ARC_EXCEPTION_DUMP(...) LOG_ERR(__VA_ARGS__)
#else
#define ARC_EXCEPTION_DUMP(format, ...) printk(format "\n", ##__VA_ARGS__)
#endif
#endif /* ZEPHYR_ARCH_ARC_INCLUDE_ERR_DUMP_HANDLING_H_ */

View File

@@ -160,7 +160,7 @@ struct _callee_saved_stack {
#endif
#endif
#ifdef CONFIG_ARC_DSP_SHARING
#ifdef CONFIG_DSP_SHARING
#ifdef CONFIG_ARC_DSP_BFLY_SHARING
uintptr_t dsp_fft_ctrl;
uintptr_t dsp_bfly0;

View File

@@ -46,7 +46,7 @@ GTEXT(__ev_div_zero)
GTEXT(__ev_dc_error)
GTEXT(__ev_maligned)
GTEXT(_PrepC)
GTEXT(z_prep_c)
GTEXT(_isr_wrapper)
#else

View File

@@ -16,23 +16,23 @@ config CPU_CORTEX
config ARM_CUSTOM_INTERRUPT_CONTROLLER
bool
depends on !CPU_CORTEX_M
help
This option indicates that the ARM CPU is connected to a custom (i.e.
non-GIC) interrupt controller.
non-GIC or NVIC) interrupt controller.
A number of Cortex-A and Cortex-R cores (Cortex-A5, Cortex-R4/5, ...)
allow interfacing to a custom external interrupt controller and this
option must be selected when such cores are connected to an interrupt
controller that is not the ARM Generic Interrupt Controller (GIC).
controller that is not the ARM Generic Interrupt Controller (GIC) or
the Cortex-M ARM Nested Vectored Interrupt Controller (NVIC).
When this option is selected, the architecture interrupt control
functions are mapped to the SoC interrupt control interface, which is
implemented at the SoC level.
N.B. This option is only applicable to the Cortex-A and Cortex-R
family cores. The Cortex-M family cores are always equipped with
the ARM Nested Vectored Interrupt Controller (NVIC).
N.B. Since all Cortex-M cores have a NVIC, if this option is selected it
is assumed that the custom interrupt control interface implementation
assumes responsibility for handling the NVIC.
config CODE_DATA_RELOCATION_SRAM
bool "Relocate code/data sections to SRAM"
@@ -53,6 +53,16 @@ config ARM_ON_ENTER_CPU_IDLE_HOOK
If needed, this hook can be used to prevent the CPU from actually
entering sleep by skipping the WFE/WFI instruction.
config ARM_ON_ENTER_CPU_IDLE_PREPARE_HOOK
bool
help
Enables a hook (z_arm_on_enter_cpu_idle_prepare()) that is called when
the CPU is made idle (by k_cpu_idle() or k_cpu_atomic_idle()).
If needed, this hook can prepare data to upcoming call to
z_arm_on_enter_cpu_idle(). The z_arm_on_enter_cpu_idle_prepare differs
from z_arm_on_enter_cpu_idle because it is called before interrupts are
disabled.
config ARM_ON_EXIT_CPU_IDLE
bool
help

View File

@@ -13,6 +13,8 @@ zephyr_library_sources_ifdef(CONFIG_IRQ_OFFLOAD irq_offload.c)
zephyr_library_sources_ifdef(CONFIG_THREAD_LOCAL_STORAGE tls.c)
zephyr_library_sources_ifdef(CONFIG_USERSPACE userspace.S)
zephyr_library_sources_ifdef(CONFIG_ARM_ZIMAGE_HEADER header.S)
zephyr_library_sources_ifdef(CONFIG_LLEXT elf.c)
zephyr_library_sources_ifdef(CONFIG_GDBSTUB gdbstub.c)
add_subdirectory_ifdef(CONFIG_CPU_CORTEX_M cortex_m)
add_subdirectory_ifdef(CONFIG_CPU_CORTEX_M_HAS_CMSE cortex_m/cmse)
@@ -33,3 +35,11 @@ else()
zephyr_linker_sources(ROM_START SORT_KEY 0x0vectors vector_table.ld)
zephyr_linker_sources(ROM_START SORT_KEY 0x1vectors cortex_m/vector_table_pad.ld)
endif()
if(CONFIG_GEN_SW_ISR_TABLE)
if(CONFIG_DYNAMIC_INTERRUPTS)
zephyr_linker_sources(RWDATA swi_tables.ld)
else()
zephyr_linker_sources(RODATA swi_tables.ld)
endif()
endif()

View File

@@ -23,6 +23,7 @@ config CPU_CORTEX_M
select ARCH_SUPPORTS_ARCH_HW_INIT
select ARCH_HAS_SUSPEND_TO_RAM
select ARCH_HAS_CODE_DATA_RELOCATION
select ARCH_SUPPORTS_ROM_START
imply XIP
help
This option signifies the use of a CPU of the Cortex-M family.
@@ -33,10 +34,12 @@ config CPU_AARCH32_CORTEX_R
select HAS_CMSIS_CORE
select ARCH_HAS_NESTED_EXCEPTION_DETECTION
select HAS_FLASH_LOAD_OFFSET
select ARCH_HAS_USERSPACE if ARM_MPU
select ARCH_HAS_EXTRA_EXCEPTION_INFO
select ARCH_HAS_USERSPACE if ARM_MPU && !USE_SWITCH
select ARCH_HAS_EXTRA_EXCEPTION_INFO if !USE_SWITCH
select ARCH_HAS_CODE_DATA_RELOCATION
select ARCH_HAS_NOCACHE_MEMORY_SUPPORT if ARM_MPU && CPU_HAS_ARM_MPU && CPU_HAS_DCACHE
select ARCH_SUPPORTS_ROM_START
select USE_SWITCH_SUPPORTED
help
This option signifies the use of a CPU of the Cortex-R family.
@@ -52,11 +55,21 @@ config CPU_AARCH32_CORTEX_A
select CPU_HAS_MMU
select HAS_CMSIS_CORE
select HAS_FLASH_LOAD_OFFSET
select ARCH_HAS_EXTRA_EXCEPTION_INFO
select ARCH_HAS_EXTRA_EXCEPTION_INFO if !USE_SWITCH
select ARCH_HAS_NOCACHE_MEMORY_SUPPORT
select USE_SWITCH_SUPPORTED
# GDBSTUB has not yet been tested on Cortex M or R SoCs
select ARCH_HAS_GDBSTUB
# GDB on ARM needs the etxra registers
select EXTRA_EXCEPTION_INFO if GDBSTUB
help
This option signifies the use of a CPU of the Cortex-A family.
config GDBSTUB_BUF_SZ
# GDB for ARM expects up to 18 4-byte plus 8 12-byte
# registers - 336 HEX letters
default 350 if GDBSTUB
config ISA_THUMB2
bool
help
@@ -264,17 +277,11 @@ choice
config FP_HARDABI
bool "Floating point Hard ABI"
# TF-M build system does not build the NS app and libraries correctly with Hard ABI.
# This limitation should be removed in the next TF-M synchronization.
depends on !TFM_BUILD_NS
depends on !(BUILD_WITH_TFM && !TFM_IPC)
help
This option selects the Floating point ABI in which hardware floating
point instructions are generated and uses FPU-specific calling
conventions.
Note: When building with TF-M enabled only the IPC mode is supported.
config FP_SOFTABI
bool "Floating point Soft ABI"
help

View File

@@ -4,7 +4,6 @@ zephyr_library()
zephyr_library_sources(
exc.S
exc_exit.S
fault.c
irq_init.c
reboot.c
@@ -12,12 +11,11 @@ zephyr_library_sources(
stacks.c
tcm.c
vector_table.S
swap.c
swap_helper.S
irq_manage.c
prep_c.c
thread.c
cpu_idle.S
smp.c
)
zephyr_library_sources_ifdef(CONFIG_GEN_SW_ISR_TABLE isr_wrapper.S)
@@ -25,3 +23,5 @@ zephyr_library_sources_ifdef(CONFIG_USERSPACE thread.c)
zephyr_library_sources_ifdef(CONFIG_SEMIHOST semihost.c)
zephyr_library_sources_ifdef(CONFIG_THREAD_LOCAL_STORAGE __aeabi_read_tp.S)
zephyr_library_sources_ifdef(CONFIG_ARCH_CACHE cache.c)
zephyr_library_sources_ifdef(CONFIG_USE_SWITCH switch.S)
zephyr_library_sources_ifndef(CONFIG_USE_SWITCH swap.c swap_helper.S exc_exit.S)

View File

@@ -99,7 +99,7 @@ config CPU_CORTEX_R52
select AARCH32_ARMV8_R
select CPU_HAS_ICACHE
select CPU_HAS_DCACHE
select VFP_SP_D16
select VFP_SP_D16 if !USE_SWITCH
help
This option signifies the use of a Cortex-R52 CPU
@@ -130,6 +130,7 @@ config ARMV7_R_FP
config AARCH32_ARMV8_R
bool
select ATOMIC_OPERATIONS_BUILTIN
select SCHED_IPI_SUPPORTED if SMP
help
This option signifies the use of an ARMv8-R AArch32 processor
implementation.
@@ -188,3 +189,6 @@ config ICACHE_LINE_SIZE
default 32
endif # CPU_AARCH32_CORTEX_R
config TEST_EXTRA_STACK_SIZE
default 1024 if SMP

View File

@@ -11,5 +11,8 @@ _ASM_FILE_PROLOGUE
GTEXT(__aeabi_read_tp)
SECTION_FUNC(text, __aeabi_read_tp)
mrc 15, 0, r0, c13, c0, 3
/*
* TPIDRURW will be used as a base pointer point to TLS aera.
*/
mrc 15, 0, r0, c13, c0, 2
bx lr

View File

@@ -0,0 +1,30 @@
/*
* Copyright (c) 2023 Arm Limited (or its affiliates). All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @file
* @brief Definitions for boot code
*/
#ifndef _BOOT_H_
#define _BOOT_H_
#ifndef _ASMLANGUAGE
extern void *_vector_table[];
extern void __start(void);
#endif /* _ASMLANGUAGE */
/* Offsets into the boot_params structure */
#define BOOT_PARAM_MPID_OFFSET 0
#define BOOT_PARAM_IRQ_SP_OFFSET 4
#define BOOT_PARAM_FIQ_SP_OFFSET 8
#define BOOT_PARAM_ABT_SP_OFFSET 12
#define BOOT_PARAM_UDF_SP_OFFSET 16
#define BOOT_PARAM_SVC_SP_OFFSET 20
#define BOOT_PARAM_SYS_SP_OFFSET 24
#endif /* _BOOT_H_ */

View File

@@ -27,6 +27,7 @@
#include <zephyr/linker/sections.h>
#include <offsets_short.h>
#include <zephyr/arch/cpu.h>
#include "macro_priv.inc"
_ASM_FILE_PROLOGUE
@@ -41,6 +42,8 @@ GTEXT(z_arm_undef_instruction)
GTEXT(z_arm_prefetch_abort)
GTEXT(z_arm_data_abort)
#ifndef CONFIG_USE_SWITCH
.macro exception_entry mode
/*
* Store r0-r3, r12, lr, lr_und and spsr_und into the stack to
@@ -86,10 +89,10 @@ GTEXT(z_arm_data_abort)
#endif
/* Increment exception nesting count */
ldr r2, =_kernel
ldr r1, [r2, #_kernel_offset_to_nested]
get_cpu r2
ldr r1, [r2, #___cpu_t_nested_OFFSET]
add r1, r1, #1
str r1, [r2, #_kernel_offset_to_nested]
str r1, [r2, #___cpu_t_nested_OFFSET]
.endm
.macro exception_exit
@@ -128,10 +131,10 @@ SECTION_SUBSEC_FUNC(TEXT, __exc, z_arm_undef_instruction)
sub sp, #24
/* Increment exception nesting count */
ldr r2, =_kernel
ldr r1, [r2, #_kernel_offset_to_nested]
get_cpu r2
ldr r1, [r2, #___cpu_t_nested_OFFSET]
add r1, r1, #1
str r1, [r2, #_kernel_offset_to_nested]
str r1, [r2, #___cpu_t_nested_OFFSET]
#if defined(CONFIG_FPU_SHARING)
sub sp, #___fpu_t_SIZEOF
@@ -232,3 +235,59 @@ SECTION_SUBSEC_FUNC(TEXT, __exc, z_arm_data_abort)
streq r1, [sp, #24 + FPU_SF_SIZE]
b z_arm_exc_exit
#else
/**
* @brief Undefined instruction exception handler
*
* An undefined instruction (UNDEF) exception is generated when an undefined
* instruction, or a VFP instruction when the VFP is not enabled, is
* encountered.
*/
SECTION_SUBSEC_FUNC(TEXT, __exc, z_arm_undef_instruction)
/*
* The undefined instruction address is offset by 2 if the previous
* mode is Thumb; otherwise, it is offset by 4.
*/
push {r0}
mrs r0, spsr
tst r0, #T_BIT
subeq lr, #4 /* ARM (!T_BIT) */
subne lr, #2 /* Thumb (T_BIT) */
pop {r0}
z_arm_cortex_ar_enter_exc
bl z_arm_fault_undef_instruction
b z_arm_cortex_ar_exit_exc
/**
* @brief Prefetch abort exception handler
*
* A prefetch abort (PABT) exception is generated when the processor marks the
* prefetched instruction as invalid and the instruction is executed.
*/
SECTION_SUBSEC_FUNC(TEXT, __exc, z_arm_prefetch_abort)
/*
* The faulting instruction address is always offset by 4 for the
* prefetch abort exceptions.
*/
sub lr, #4
z_arm_cortex_ar_enter_exc
bl z_arm_fault_prefetch
b z_arm_cortex_ar_exit_exc
/**
* @brief Data abort exception handler
*
* A data abort (DABT) exception is generated when an error occurs on a data
* memory access. This exception can be either synchronous or asynchronous,
* depending on the type of fault that caused it.
*/
SECTION_SUBSEC_FUNC(TEXT, __exc, z_arm_data_abort)
sub lr, #8
z_arm_cortex_ar_enter_exc
bl z_arm_fault_data
b z_arm_cortex_ar_exit_exc
#endif

View File

@@ -18,6 +18,7 @@
#include <zephyr/linker/sections.h>
#include <offsets_short.h>
#include <zephyr/arch/cpu.h>
#include "macro_priv.inc"
_ASM_FILE_PROLOGUE
@@ -52,8 +53,8 @@ GDATA(_kernel)
bne system_thread_exit\@
/* Restore user stack pointer */
ldr r0, =_kernel
ldr r0, [r0, #_kernel_offset_to_current]
get_cpu r0
ldr r0, [r0, #___cpu_t_current_OFFSET]
cps #MODE_SYS
ldr sp, [r0, #_thread_offset_to_sp_usr] /* sp_usr */
cps #MODE_SVC
@@ -68,8 +69,8 @@ system_thread_exit\@:
* If the floating point context pointer is null, then a context was
* saved so restore the float context from the exception stack frame.
*/
ldr r2, =_kernel
ldr r1, [r2, #_kernel_offset_to_fp_ctx]
get_cpu r2
ldr r1, [r2, #___cpu_t_fp_ctx_OFFSET]
cmp r1, #0
beq vfp_restore\@
@@ -79,7 +80,7 @@ system_thread_exit\@:
*/
cmp r0, #0
moveq r1, #0
streq r1, [r2, #_kernel_offset_to_fp_ctx]
streq r1, [r2, #___cpu_t_fp_ctx_OFFSET]
b vfp_exit\@
vfp_restore\@:
@@ -140,23 +141,24 @@ SECTION_SUBSEC_FUNC(TEXT, _HandlerModeExit, z_arm_int_exit)
#ifdef CONFIG_PREEMPT_ENABLED
/* Do not context switch if exiting a nested interrupt */
ldr r3, =_kernel
ldr r0, [r3, #_kernel_offset_to_nested]
get_cpu r3
ldr r0, [r3, #___cpu_t_nested_OFFSET]
cmp r0, #1
bhi __EXIT_INT
ldr r1, [r3, #_kernel_offset_to_current]
ldr r0, [r3, #_kernel_offset_to_ready_q_cache]
ldr r1, [r3, #___cpu_t_current_OFFSET]
ldr r2, =_kernel
ldr r0, [r2, #_kernel_offset_to_ready_q_cache]
cmp r0, r1
blne z_arm_do_swap
__EXIT_INT:
#endif /* CONFIG_PREEMPT_ENABLED */
/* Decrement interrupt nesting count */
ldr r2, =_kernel
ldr r0, [r2, #_kernel_offset_to_nested]
get_cpu r2
ldr r0, [r2, #___cpu_t_nested_OFFSET]
sub r0, r0, #1
str r0, [r2, #_kernel_offset_to_nested]
str r0, [r2, #___cpu_t_nested_OFFSET]
/* Restore previous stack pointer */
pop {r2, r3}
@@ -207,8 +209,8 @@ __EXIT_INT:
*/
SECTION_SUBSEC_FUNC(TEXT, _HandlerModeExit, z_arm_exc_exit)
/* Do not context switch if exiting a nested exception */
ldr r3, =_kernel
ldr r1, [r3, #_kernel_offset_to_nested]
get_cpu r3
ldr r1, [r3, #___cpu_t_nested_OFFSET]
cmp r1, #1
bhi __EXIT_EXC
@@ -239,10 +241,10 @@ SECTION_SUBSEC_FUNC(TEXT, _HandlerModeExit, z_arm_exc_exit)
bl z_arm_do_swap
/* Decrement exception nesting count */
ldr r3, =_kernel
ldr r0, [r3, #_kernel_offset_to_nested]
get_cpu r3
ldr r0, [r3, #___cpu_t_nested_OFFSET]
sub r0, r0, #1
str r0, [r3, #_kernel_offset_to_nested]
str r0, [r3, #___cpu_t_nested_OFFSET]
/* Return to the switched thread */
cps #MODE_SYS
@@ -255,9 +257,9 @@ SECTION_SUBSEC_FUNC(TEXT, _HandlerModeExit, z_arm_exc_exit)
__EXIT_EXC:
/* Decrement exception nesting count */
ldr r0, [r3, #_kernel_offset_to_nested]
ldr r0, [r3, #___cpu_t_nested_OFFSET]
sub r0, r0, #1
str r0, [r3, #_kernel_offset_to_nested]
str r0, [r3, #___cpu_t_nested_OFFSET]
#if defined(CONFIG_FPU_SHARING)
add sp, sp, #___fpu_t_SIZEOF

View File

@@ -10,6 +10,11 @@
#include <kernel_internal.h>
#include <zephyr/arch/common/exc_handle.h>
#include <zephyr/logging/log.h>
#if defined(CONFIG_GDBSTUB)
#include <zephyr/arch/arm/gdbstub.h>
#include <zephyr/debug/gdbstub.h>
#endif
LOG_MODULE_DECLARE(os, CONFIG_KERNEL_LOG_LEVEL);
#define FAULT_DUMP_VERBOSE (CONFIG_FAULT_DUMP == 2)
@@ -147,7 +152,7 @@ bool z_arm_fault_undef_instruction_fp(void)
__set_FPEXC(FPEXC_EN);
if (_kernel.cpus[0].nested > 1) {
if (_current_cpu->nested > 1) {
/*
* If the nested count is greater than 1, the undefined
* instruction exception came from an irq/svc context. (The
@@ -155,12 +160,12 @@ bool z_arm_fault_undef_instruction_fp(void)
* the undef exception would increment it to 2).
*/
struct __fpu_sf *spill_esf =
(struct __fpu_sf *)_kernel.cpus[0].fp_ctx;
(struct __fpu_sf *)_current_cpu->fp_ctx;
if (spill_esf == NULL)
return false;
_kernel.cpus[0].fp_ctx = NULL;
_current_cpu->fp_ctx = NULL;
/*
* If the nested count is 2 and the current thread has used the
@@ -170,9 +175,9 @@ bool z_arm_fault_undef_instruction_fp(void)
* saved exception stack frame, then save the floating point
* context because it is about to be overwritten.
*/
if (((_kernel.cpus[0].nested == 2)
if (((_current_cpu->nested == 2)
&& (_current->base.user_options & K_FP_REGS))
|| ((_kernel.cpus[0].nested > 2)
|| ((_current_cpu->nested > 2)
&& (spill_esf->undefined & FPEXC_EN))) {
/*
* Spill VFP registers to specified exception stack
@@ -213,6 +218,12 @@ bool z_arm_fault_undef_instruction(z_arch_esf_t *esf)
z_arm_fpu_caller_save(&esf->fpu);
#endif
#if defined(CONFIG_GDBSTUB)
z_gdb_entry(esf, GDB_EXCEPTION_INVALID_INSTRUCTION);
/* Might not be fatal if GDB stub placed it in the code. */
return false;
#endif
/* Print fault information */
LOG_ERR("***** UNDEFINED INSTRUCTION ABORT *****");
@@ -247,6 +258,17 @@ bool z_arm_fault_prefetch(z_arch_esf_t *esf)
/* Read Instruction Fault Address Register (IFAR) */
uint32_t ifar = __get_IFAR();
#if defined(CONFIG_GDBSTUB)
/* The BKPT instruction could have caused a software breakpoint */
if (fs == IFSR_DEBUG_EVENT) {
/* Debug event, call the gdbstub handler */
z_gdb_entry(esf, GDB_EXCEPTION_BREAKPOINT);
} else {
/* Fatal */
z_gdb_entry(esf, GDB_EXCEPTION_MEMORY_FAULT);
}
return false;
#endif
/* Print fault information*/
LOG_ERR("***** PREFETCH ABORT *****");
if (FAULT_DUMP_VERBOSE) {
@@ -314,6 +336,12 @@ bool z_arm_fault_data(z_arch_esf_t *esf)
/* Read Data Fault Address Register (DFAR) */
uint32_t dfar = __get_DFAR();
#if defined(CONFIG_GDBSTUB)
z_gdb_entry(esf, GDB_EXCEPTION_MEMORY_FAULT);
/* return false - non-fatal error */
return false;
#endif
#if defined(CONFIG_USERSPACE)
if ((fs == COND_CODE_1(CONFIG_AARCH32_ARMV8_R,
(FSR_FS_TRANSLATION_FAULT),

Some files were not shown because too many files have changed in this diff Show More