rewirte code and remove code that use internal phy functions.
A few Kconfig options got removed, that are now set by the
phy via the DT.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
add mdio and phy node to every stm32board that
supports ethernet.
Also set the phy-handle for every ethernet mac.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The api takes care, if the mdio bus_enable and bus_disable
are not needed, so there is no need to have tis in the driver.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Introduce a generic reset MMIO driver to be used for devices with a
single memory mapped reset bit required to take them out of reset.
Signed-off-by: Mohith Potluri <saimohith@google.com>
Adds ability to enable the XSTBY functionality on GPIO0 pin, if enabled
in devicetree.
Signed-off-by: Marek Maškarinec <marek.maskarinec@hardwario.com>
If the display is MONO01 and invert=false or display is MONO10 and
invert=true the nthe special logic is needed.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
The Chip ID field of the GC2145 was assumed to be 0x2155, but sensors
with Chip ID 0x2145 are still present. Rework how chip IDs verification
is done slightly and add support for both.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Move the common tunnel setup code to samples/net/common directory
so that other network samples can utilize that too.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Replace single-letter function argument names in the FT8xx coprocessor
API with full names of the arguments for better code clarity.
The arguments in the ft8xx_reference_api.h are left as single-ltters to
keep the same function declarations as described in the FT8xx
programming guides.
Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
When using the asynchronous TX API, skip the `data->pm_policy_state_on`
checks for PM policy updates. This fixes two issues:
* State conflicts with the `poll_out` implementation when both APIs are
used on the same port, resulting in the SoC sleeping while
transmissions are running.
* Scheduling a TX from the `TX_DONE` callback resulting in the PM
policy not being applied, resulting in TX errors.
Every call to `uart_tx` should have a corresponding `TX_DONE` event
generated, which makes the raw (reference counted) calls to
`pm_policy_state_lock_put/get` the correct API to use here.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This sensor may trigger data at a very fast pace (20,000 fps) and this
may not be useful for the application. Instead, it may affect its
proper functioning. Therefore, this patch includes a cool-down timer
before which time the INT line won't be enabled.
Please note that this sensor accumulates the delta compared to the
last reading, so on its own, not reading data-changes does not imply
losing data, as long as it does not saturate.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Working with DRDY and Motion triggers.
DRDY contains a backup software timer to guarantee checking in with
the sensor.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Add a streaming implementation for the BMA4XX using both
FIFO watermark and FIFO full interrupts. A batch duration of
3,000 have been used for verification.
Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
Updated the sensor configuration to use the bma4xx_safely_configure
function for safer and more reliable initialization.
Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
Added register definitions, bit masks, and related constants
for the BMA4XX sensor in a separate header file.
Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
In current implementation, the bonding information of classic is
queried by calling the function `bt_foreach_bond()`. And the bonding
information of classic is deleted by calling `bt_unpair()`.
There are two issues if the LE and classic are bonded at same time for
dual mode peer device.
Issue 1, for the function `bt_foreach_bond()`, there are two bonding
information will be found. But there is no way to find which bonding
information belongs to LE or classic.
Issue 2, For the function `bt_unpair()`, all bonding information will
be deleted if the passed address is the public address. But there is
no way to delete the bonding information of LE or classic.
Remove the calling of function `bt_foreach_bond_br()` from the
function `bt_foreach_bond()`. And rename it to `bt_br_foreach_bond()`,
and public it as an API to query the bonding information of classic.
Remove the calling of function `bt_keys_link_key_clear_addr()` from
the function `bt_unpair()`. Add an API `bt_br_unpair()` to delete the
bonding information of classic.
Add a `br_bond_deleted` to structure `bt_conn_auth_info_cb` for
classic. The callback will be triggered if the bonding information has
been deleted by the function `bt_br_unpair()`.
Add a `clear` shell command for classic to delete the bonding
information.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The i2c driver is missing the option to check if a I2C_IODEV is ready for
use. The proposed function works the same as the check for a SPI_IODDEV
to keep the use consistent across different bus systems.
Signed-off-by: Patrik Sieverding <sieverdp@uni-bremen.de>
Added support for differentail or single ended setup.
Reading resolution form dt - adc spec.
Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
In current implementation, when receiving the L2CAP frame
`L2CAP_COMMAND_REJECT_RSP` if the L2CAP is working as client role, the
L2CAP frame `L2CAP_COMMAND_REJECT_RSP` will be sent by the L2CAP
client incorrectly.
When the command response `L2CAP_COMMAND_REJECT_RSP` is received, find
the channel of the command request according to the received `ident`.
If the channel is found, try to disconnect the channel. If fail to
disconnect the channel, remove and delete the channel.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, the `ident` of the command response is not
checked whether it is same as the `ident` sent by the L2CAP command.
Keep the `ident` of the command. If the received `ident` of the
command response is not aligned with the `ident` of the command,
discard the response silently. Or, clear the saved `ident`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If more than one CIS in the same CIG was shutdown at the same time
(e.g. due to supervision timeout), the mayfly calling cis_tx_lll_flush
would be busy and the assert would be triggered
cis_tx_lll_flush now operates similar to cis_disabled_cb; Loop through
all CISes for a CIG and flush any marked as LLL_CIS_FLUSH_PENDING
Signed-off-by: Troels Nilsson <trnn@demant.com>
Allows erasing secondary slot which is marked for test or confirmed.
This is safe as bootloader doesn't make any action on boot-setup yet.
Erase of such pending image might considered like the case when it
was never downloaded as well.
This allow user to not stuck with pending irremovable image.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
When sys_heap_realloc() is expressed in terms of sys_heap_aligned_realloc()
it invokes a longer aligned allocation code path with an extra runtime
overhead even though no alignment is necessary.
Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.
Improve realloc documentation while at it.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
When k_malloc() is expressed in terms of k_aligned_alloc() it invokes a
longer aligned allocation code path with an extra runtime overhead even
though no alignment is necessary.
Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.
Also bypass k_heap_malloc() and friends given they're invoked with
K_NO_WAIT. Go directly to sys_heap_*() instead to cut some more unneeded
overhead.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
In .../modules/debug/percepio/TraceRecorder/kernelports/Zephyr/include/\
tracing_tracerecorder.h there is a concealed non-parameterized direct
reference to a local variable that is no longer in scope. Provide a dummy
stub for compilation to succeed until that module's layering violation is
fixed, after which this could be reverted.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
When k_heap_alloc() is expressed in terms of k_heap_aligned_alloc()
it invokes a longer aligned allocation code path with an extra runtime
overhead even though no alignment is necessary.
Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Let's avoid division and modulus operations as they're costly... and even
more so when they're unnecessary as in this case the main constraint is
about the alignment being a power of 2 which is a very small subset of
sizeof(void *) multiples.
Then move the assertion to common code for wider coverage.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>