Extract common GOEP RFCOMM initialization logic into a separate function
to eliminate code duplication between accept and connect paths.
- Add new goep_rfcomm_init() function containing shared initialization:
* MTU calculation and validation
* Transport operations registration
* RFCOMM DLC configuration
* GOEP state setup
- Update goep_rfcomm_accept() to use the new init function
- Update bt_goep_transport_rfcomm_connect() to use the new init function
This refactoring reduces code duplication and ensures consistent
initialization behavior for both server (accept) and client (connect)
code paths.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Extract common GOEP L2CAP initialization logic into a separate function
to eliminate code duplication between accept and connect paths.
- Add new goep_l2cap_init() function containing shared initialization:
* MTU calculation and validation
* Transport operations registration
* L2CAP channel configuration
* GOEP state setup
- Update goep_l2cap_accept() to use the new init function
- Update bt_goep_transport_l2cap_connect() to use the new init function
This refactoring reduces code duplication and ensures consistent
initialization behavior for both server (accept) and client (connect)
code paths.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The clock initialization for RX devices is not appropriate when it is
placed under the root clock node. Without an external fixed clock on the
board, the clock is never initialized. Therefore, the clock
setup must be handled inside soc_early_init_hook.
Signed-off-by: Y Huynh <y.huynh.xw@renesas.com>
Two important changes:
- i2c: Add work-around to make i2c scan work
- dma: Add axi dma driver for ISH 5.8.0
Signed-off-by: Dong Wang <dong.d.wang@intel.com>
Reconfigure the bandcfg when disabling AP so that the band
configurations are match between hostapd and wifi driver.
Signed-off-by: Hui Bai <hui.bai@nxp.com>
rename gpio_step_dir.c to gpio_step_dir_stepper_ctrl.c
rename h_bridge_stepper.c to h_bridge_stepper_ctrl.c
remover zephyr prefix from gpio_step_dir_stepper_ctrl.c structs
add ctrl suffix to h_bridge_stepper_ctrl.c structs and function
rename in kconfig to match
adds a prefix STEPPER_ in cmake to comply the changes in the kconfig
Signed-off-by: Mustafa Taher <mustafataherramp@gmail.com>
- Enables GPIO input+output mode to enable gpio_api_1pin test
- Retains current pin state when no output init flag specified.
- Adds pull up register validation, sets pull up register in
both pull-up and pull-up+pull-down cases.
Signed-off-by: John Batch <john.batch@infineon.com>
Refactors the drive mode selection logic for input and output pins into
dedicated helper functions.
Signed-off-by: John Batch <john.batch@infineon.com>
Add CCOUNT compensation for time spent in LPM mode (CPU stalled).
Add sys_clock_idle_exit() for dticks announcement when leaving LPM.
Add hooks for SoC specific implementation of LP timer timestamp call.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
This change ensure that TBS bearers promote dialing -> alerting
independently of GTBS. GTBS no longer blocks the state transitions,
promotion only waits for the bearer's own pending notifications to
clear, preserving notification ordering. GTBS continues to aggregate
the updated state correctly
Signed-off-by: Alex Ciascai <alexandru.ciascai@nordicsemi.no>
Modify driver to process interrupts from upper half ISR then signal a
bottom half ISR thread which performs callback invokation. This ensures
callbacks run in thread context which is necessary for proper operation of
various classes.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
If we receive a control point notification with an ASE ID that
does not match any existing streams, i.e. audio_stream_by_ep_id
returns NULL, we should not continue by calling the subsequent
functions like unicast_client_notify_ep_config with a NULL stream.
A single notification may contain multiple ASE IDs; if any of them
are unknown, we can either reject the entire notification, or
we can ignore the specific ASE ID. For now, ignore the
specific ASE ID to do a best effort to continue with
any other changes.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In the bt_hci_stm32wba_send() function, in case of the function
bt_buf_get_evt() fails, call k_sem_give() before return.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Restore the channel in the stm32wba_802154_start()
function because channel is reset by the link layer
when the stm32wba_802154_ral_sleep() is called
in the stm32wba_802154_stop() function.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Disable continuous reception when ieee802154 stop
is called.
Configure continuous reception when ieee802154 start
is called.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Add BLEPLAT_AesCcmCrypt() function required by
the stm32wba ble library in the release
STM32Cube_FW_WBA_V1.8.0
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Add FM_Init() function call in the Flash driver initialization
to initialize the Flash Module.
This function is introduced by the STM32Cube_FW_WBA_V1.8.0
release.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
This change introduces:
- Registration of stream \`enabled\` callback and automatic start of sink
ASEs when the client enables them.
- Initialization of PACS locations for both Sink and Source directions,
including proper handling of HA_LEFT / HA_RIGHT / Banded profiles.
- Publication of Supported and Available Audio Contexts for Sink and
Source, ensuring the sample exposes the correct capabilities.
- Stream ops registration for all allocated streams.
- Minor cleanup around capabilities and PACS registration flow.
- Add board config for nrf5340 audio,
Signed-off-by: Rasmus Moeller <rslm@demant.com>
Remove calls to atomic_clear_bit on reads. Even if a characterstic
is read while there is a pending notification, we shall
(as per the MCS spec) still send the notification.
There are 3 special cases for long (string) values, where we
need to know the difference between a changed value (pending
for notification), and a value that has changed since last
read. To support this, these 3 cases now have _DIRTY flags
to indicate that the values are dirty and must be read from
the beginning again.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add board support for the Microchip RNBD451 shield.
This shield is compatible with a development board that includes a
mikroBUS socket.
Signed-off-by: James Liu <James.Liu2@microchip.com>
Expand SERCOM serial ports in the sam_e54_xpro board. This add and
enable sercom0, sercom1 and sercom5 ports which are located in the
xplained pro header. It makes use of the microchip,xpro-header to
easy use with shields.
Signed-off-by: James Liu <James.Liu2@microchip.com>
The Xplained Pro layout provide a standard 20 pin header. A board
can have one or more headers and can share pins. The extension
headers are given names EXTn where n ϵ [1…7], n is determined by
which ID pin is connected to the embedded debugger.
Signed-off-by: James Liu <James.Liu2@microchip.com>
When tickless is enabled, it is necessary to ensure
that lptmr can be set for a period of time instead of generating
an interrupt at one tick.
LPTMR hardware does not synchronize writes to the
compare register (CMR)
If CMR is changed exactly when the counter increments,
the hardware may compare part of the counter against
the old CMR value and part against the new one, leading to TCF
being set incorrectly on some SoCs.
Reorder the update sequence to:
- disable the LPTMR interrupt,
- clear TCF,
- write the new CMR,
- re-enable the interrupt.
This provides a safe workaround for tickless mode case.
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
Add support for prescaler bypass configuration via devicetree
property. This aligns the timer driver with the counter driver
implementation.
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
add lptmr1 node into imx95 m7 dts which locate on Always On
domain and can continue work when whole soc enter system sleep mode
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
The ethenernet drivers area is deeply connected to the ethernet
networking area, therefore add me here as a collaborator.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
When everything goes well, run_cmake() returns the combined stdout+stderr
from CMake. But when CMake fails, it was raising a Python exception with
the barely useful exit status and discarding all messages. Use log.err()
to print CMake outputs on failure.
This issue was reported on Discord: someone had a Python version lower
than the minimum currently required by listsdk.cmake and there was zero
useful message. Running listsdk.cmake directly showed the issue. Error
handling: never tested much.
Fixes commit 31bdad5299 ("west: Implement CMake helpers in
scripts/west_commands")
Signed-off-by: Marc Herbert <marc.herbert@gmail.com>
Logic for error handling for CE polarity was inverted, causing
configuration to incorrectly return early without completing
the configuration when a valid CE polarity was provided.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
On MAX32 SoCs, some timer instances can use an external clock input.
This commit ensures that when the external clock is selected as the
source, its frequency is read and used correctly.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Some low-power timers (LPTMR) on MAX32 SoCs support external clock
sources. Add fixed-clock nodes to the devicetree files of such SoCs
to represent these external clock inputs.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Update the hal_adi module to include recent fixes related to external
clock input configuration for low-power timer instances.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
MAX32 timers can optionally use external input/output pins.
Enable pinctrl support in the counter driver so these pins
can be properly configured via device tree.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Add feather_spi/feather_i2c node labels to the configured buses, and adjust
the power source for those pins to ensure compatability with feather(wing)
shields using SPI/I2C.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Mark `settings_nvs_itf` and `settings_zms_itf` as `const` since
they are statically defined interface tables that are never
modified at runtime.
This lets the compiler place them in read-only storage and
trims RAM usage.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Properly handle the scenario where the reset GPIO is not connected, and
simply rely on software reset during init.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Add bounds checking to PTP management interval parameters to prevent
undefined behavior from bitwise shift operations.
The port_timer_set_timeout() and port_timer_set_timeout_random()
functions perform left and right shift operations using the
log_announce_interval and log_sync_interval values as shift counts.
Without bounds validation, these int8_t parameters could be set to
extreme values (e.g., via PTP management messages) that exceed the
valid shift range, causing undefined behavior.
(C11, 6.5.7p3)
> If the value of the right operand is negative or is greater than
or equal to the width of the promoted left operand,
the behavior is undefined
(C++11, 5.8p1)
> The behavior is undefined if the right operand is negative,
or greater than or equal to the length in bits of the promoted
left operand.
Limit both log_announce_interval and log_sync_interval to the range
[-63, 63] using MIN/MAX macros when accepting values from PTP management
frames. This range is preventing shift operations outside
the 64-bit width used in the timeout calculations.
Fixes: GHSA-3v98-458v-388r
Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
Renames this file to have the CPU core in the filename to align
with other files, this seemingly was missed when the other files
were renamed
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Now that requesting ACLK made it into PDM driver,
allow it on target with CLKSELECT as long as
clock control is enabled.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>