Commit Graph

88868 Commits

Author SHA1 Message Date
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 bffa0c6bddbc91d39f4b01baa34e3d0595760d50.

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