Fix mcux flexcan driver failed to transfer when both loop back mode
and CAN FD mode are enabled.
Transceiver Delay Compensation feature must be disabled in loopback
mode. For some platforms, both FDCTRL[TDCEN] and ETDC[ETDCEN] can
enable such feature. In this case, SDK API only configure ETDC register
and current driver do not clear ETDC[ETDCEN].
Fix this issue by add ETDC[ETDCEN] configuration according to SDK
macro `FSL_FEATURE_FLEXCAN_HAS_ENHANCED_BIT_TIMING_REG` vaule.
Test this commit on mimxrt1180_evk/mimxrt1189/cm33 and set both CAN FD
mode and loop back mode.
Signed-off-by: William Tang <william.tang@nxp.com>
Product photo from https://learn.adafruit.com/assets/86994
Tested with the command mentioned in the index.rst file.
Compile testing of the overlay file is done via the mag_polling
sample.
Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
This adds a babblesim test that checks
* That duplicate net key index pairs are filtered out in the bridged
subnets list.
* That indexing into the filtered list works as expected (indexing
happens into the already filtered list, not the full bridging table)
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
This commit adds functionality to filter out duplicate entries in the
Bridged Subnets List message.
This is done by iterating through the part of the table we have already
processed, to check if this is the first time we see a given key pair or
not.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
Change HDC_302X_TEMP_OFFSET_SCALE and HDC_302X_HUMIDITY_OFFSET_SCALE
from float literals to double literals to avoid implicit conversion
warnings when compiling with clang and -Wdouble-promotion flag.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Redefine some macros due to different naming scheme in the header file.
Get the clock rate from the device tree when 'SOC_ATMEL_SAM_MCK_FREQ_HZ'
is not defined.
Signed-off-by: Tony Han <tony.han@microchip.com>
When the PWM is activated in the DT, configure it's register region
with strong ordered, read and write access.
Signed-off-by: Tony Han <tony.han@microchip.com>
The HDC302X sensor driver is added,
you can use this driver to read temperature and humidity.
Also set an offset, upper and lower limits to get warned
when temperature or humidity get out of band.
The sensor is build for ultra low power applications.
Signed-off-by: COUSSEMENT Stijn <stijn.coussement@psicontrol.com>
Do not register the device when the class instance has already been
initialised. Fail on initialization if no HID device is registered.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Reduce floating-point operations in the nxp_pmc_tmpsns.
Provide new calculation method without floating-point operations.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. The updated regex better matches device names
for various temperature sensors. If a device name
contains hyphens, the new regex can match it.
2. enable rt700 die_temp_polling sample
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Adds initial SoC-level support for the Microchip
PIC32CX SG series, including SoC definition files.
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
Adds common and SoC-specific .dtsi files for the Microchip
PIC32CX SG family. These files define core peripherals,
address maps, and interrupt controller structure shared
across the PIC32CX SG variants.
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
Use of the `sensor get` help. No channel provided allows the sensor_shell
to iterate through every channels. Getting the last channel gives the last
channel index and therefor the channel count. Provide futur proofing for
new channels.
Signed-off-by: Logan Saint-Germain <l.saintgermain@catie.fr>
The max30101 allows to configure time slots in samples acquisition.
It is now supported by adding matrix mapping for the slot/fifo
indexing. When a channel is present multiple times, the resulting
sample from the `sensor_channel_get` is averaging each entry.
Added Die temperature sample acquisition with
`CONFIG_MAX30101_DIS_TEMPERATURE` Kconfig.
Signed-off-by: Logan Saint-Germain <l.saintgermain@catie.fr>
The max30101 sensor driver doesn't support triggers.
Add `.trigger_set` API and corresponding Kconfig and
device tree parameters. Add `SENSOR_CHAN_AMBIENT_LIGHT`
and `SENSOR_TRIG_OVERFLOW`.
Signed-off-by: Logan Saint-Germain <l.saintgermain@catie.fr>
The max30101 sensor driver doesn't support multiple instance.
Update Kconfig and maxim,max30101.yaml for instance based
configuration. Propagate changes over existing files.
Signed-off-by: Logan Saint-Germain <l.saintgermain@catie.fr>
Enable this kconfig setting to force using a specific raw value for the
OVRDVAL field in the DLLCR registers.
This option gives more granularity than the 'data-valid-time' field in
the dts. The unit of 'data-valid-time' is nanoseconds while the unit of
OVRDVAL are raw delay cells.
Normally the 'data-valid-time' on any 'nxp,imx-flexspi-device' device
will set the OVRDVAL and OVRDEN fields in the DLLCR register
but works only when the 'rx-clock-source' is configured to '#0 External
input from DQS pad' and the frequency <= 100MHz.
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
This commit enables MCXN236, MCXN947 LPUART pin internal
pullup resistor. For MCXN947 and MCXN236, during LPUAR
initialization, the RX pin is pulled down internally
and STAT[RAF] is set to one. In this state, attempting
to enter low power mode will trigger LPACK reset and
therefore cannot truly enter low power mode. The correct
setting should be to enable LPUART pin internal pullup
resistor.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Implement Modem Status Command(MSC) and a per DLC flow
control by using it.
Send flow control signals when our input buffer don't fit
full frame anymore.
Stop TX if we have received from controls on MSC.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Replace the look-up table used to obtain the prescaler enumeration with
a simple multiplication.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
The existing formula assumed prescaler enumerations were consecutive,
which led to incorrect values being passed to HAL functions. Update
the code to calculate correct prescaler enumerations.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
In case of using HAL_OVERRIDE, avoid clearing the FIFO ERROR flag
before calling the HAL DMA IrqHandler so that the HAL DMA code
handling can be used.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
If hal_override is set, avoid reporting an error and clear the
transfer error (TE) bit so that HAL code can properly handle it.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The size of icm45686_encoded_data fifo_payload is guaranteed
to span the full number of frames read as it was allocated during
icm45686_event_handler() buf_len_required size.
This update suppresses the static analysis warning of
out of bounds memory access at index 1 by explicitly declaring
fifo_payload to be a VLA at the end of icm45686_encoded_data.
Signed-off-by: Anthony Williams <anthony289478@gmail.com>
Change the __ASSERT on unsupported fifo packet header to
CHECKIF so the user can choose how to handle the invalid
packet.
Signed-off-by: Anthony Williams <anthony289478@gmail.com>
When operating in streaming mode, a FIFO empty event, which
is caused by host reading the last byte of the last FIFO frame,
can cause FIFO data corruption.
During subsequent reads to the FIFO, the first frame that arrives
after the empty condition will be corrupted. Once the issue occurs,
the internal state cannot recover and the FIFO must be flushed in
bypass mode to clear the corrupted state.
The current workaround from TDK is to read M-1 frames when M frames
are reported by fifo_count. Since M is fixed by the fifo_watermark
DT parameter, and in cases where fifo_watermark == 1, the watermark
trigger threshold is set to M + 1 frames and M frames are read out
during a watermark threshold event.
Signed-off-by: Anthony Williams <anthony289478@gmail.com>
When an unsupported fifo packet triggers an assert, it is
helpful to see the packet as a hex value to help when debugging.
Signed-off-by: Anthony Williams <anthony289478@gmail.com>
Fixes incorrect 'dma-requests' value in
dts/arm/nxp/nxp_mcxn23x_common.dtsi and
dts/arm/nxp/nxp_mcxnx4x_common.dtsi. The
'dma-requests' indicates the maximum value of
the DMA request sources (slots) index supported
by DMAMUX rather than the number of request sources.
Fixes: #97389 (which introduced the incorrect values)
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
In commit f3edf52264, I erroneously put
"main" under the existing "tags" entry which is obvisouly wrong, it
should be under "branches". Sorry :|
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>