Commit graph

25,525 commits

Author SHA1 Message Date
Steven Chang
64b4a3fe08 drivers: pinctrl: initial device driver for ENE KB1200
Add pinctrl driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00
Krisna Resi
7dd7175336 drivers: rtc: Fix RTC alarm when using both CONFIG_COUNTER and CONFIG_PM
It is found that when we use CONFIG_COUNTER and CONFIG_PM concurrently,
the RTC alarm callback can be used only once (in some cases, it just
won't work at all, e.g., using CONFIG_BT). By set the DBP bit on PWR
control register 1 via LL_PWR_EnableBkUpAccess function to temporarily
disable write protection every time we assign RTC alarm, we can register
alarm callback correctly. Tested on Nucleo WB55RG.

Fixes: #68673
Signed-off-by: Krisna Resi <krisna_resi@ymail.com>
2024-03-15 09:33:14 +00:00
Jun Lin
0bf4ec6d7b drivers: gpio: npcx: workaround both trigger issue for npcx9m7fb
Apply the workaround for the issue "MIWU Any Edge Trigger Condition" in
the NPCX99nFB_Errata.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-03-15 08:43:47 +00:00
Benedikt Schmidt
4e4049d939 drivers: sensor: add diagnostics sensor for BD8LB600FS
Implement a sensor for the output diagnostics of the low side
switch BD8LB600FS.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-03-15 09:00:26 +01:00
Benedikt Schmidt
31450fcb12 drivers: gpio: split up driver for BD8LB600FS into a GPIO and MFD
Split up the driver for the low side switch BD8LB600FS into a GPIO
and MFD part.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-03-15 09:00:26 +01:00
Serhiy Katsyuba
41b3c71586 drivers: dma: intel_adsp_hda: Fix L1 exit condition
Transition to a low power DMI L1 state should be allowed only after all
pending DMA channels transfers have started.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2024-03-15 08:59:12 +01:00
Phi Bang Nguyen
4b8d3dbed8 drivers: video: sw_generator: Fix set_format
Add code to handle invalid formats when setting format

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2024-03-15 08:52:13 +01:00
Phi Bang Nguyen
d1275f7fde drivers: video: sw_generator: Support XRGB32 pixel format
Add support for XRGB32 pixel format as this is useful to test camera
and display drivers on i.MX RT11xx

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2024-03-15 08:52:13 +01:00
Phi Bang Nguyen
cd2d987e82 drivers: video: sw_generator: Fix minor macro usage
VIDEO_PATTERN_FPS should be coherently used across the entire code file.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2024-03-15 08:52:13 +01:00
Fabio Baltieri
d0a8c4158c 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>
2024-03-14 17:03:01 -05:00
Jun Lin
6057a83060 drivers: entropy: npcx: add rng driver support
This commit add the rng driver support by using the npcx drgb API.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-03-14 18:14:04 +00:00
Kurtis Dinelle
3c3bee96ef drivers: sensor: tsl2591
Add the tsl2591 sensor to drivers.

Signed-off-by: Kurtis Dinelle <kurtisdinelle@gmail.com>
2024-03-14 16:32:24 +00:00
Emil Lindqvist
b610312314 modem_cellular: add registration status API
This commit implements a network registration status API,
including return of reject cause in case of denial.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2024-03-14 16:30:57 +00:00
Sebastian Głąb
3c2b68eb61 drivers: watchdog: wdt_nrfx.c Fix channel id check in wdt_feed()
A Bug in the watchdog driver code allows an unconfigured
WDT timer channel to be feed.

The first configured WDT timer channel has an id of zero.
At this point, data->m_allocated_channels is equal to one.
The condition of the if statement is invalid and allows
channel one to be feed.

Change the test condition from greater to greater-or-equal.
Add check if channel id is less than zero.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-03-14 11:02:19 -05:00
Tomas Galbicka
9882cf11cc drivers: mbox: Fix nxp,mbox kconfig depends on
This commit fixes Kconfig.nxp_mailbox depends on is now
set to correct value DT_HAS_NXP_MBOX_MAILBOX_ENABLED.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2024-03-14 11:01:07 -05:00
Andrzej Głąbek
cb6f44c3b9 drivers: nrf_qspi_nor: Handle anomaly 159 on nRF5340
The nrfx_qspi driver in nrfx 3.4.0 started checking conditions that
could trigger anomaly 159 on nRF5340 so make sure that QSPI transfers
are only performed with properly configured clocks (PCLK192M undivided
and HCLK128M divided by 2).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-03-14 15:35:06 +01:00
Fabio Baltieri
154b2b9c1c input: pat912x: fix build with default cpi setting
Fix up the BUILD_ASSERT so that it does not trigger if the resolution
cpi is not specified in the devicetree and left to the default value.
Also use the correct spelling for "cpi".

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-14 09:47:36 +00:00
Tom Chang
87f77ca35f drivers: espi: npcx: fix warning when using ESPI_OOB_RX_ASYNC macro
This CL prevents unused warnings when CONFIG_ESPI_OOB_CHANNEL_RX_ASYNC
is used.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2024-03-14 09:33:01 +01:00
Tim Lin
ebbc96534c ITE: drivers/i2c: Change GPIO output type to open-drain in recovery mode
If I2C recovery mode uses GPIO push-pull to drive(3.3v), it will result
leakage in a pull-up voltage of 1.8V on the power rail, leading to
damage to 1.8V devices, including SoC, sensors.
Therefore, the recovery mode should be changed to GPIO open-drain type
to avoid this.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-03-14 09:31:50 +01:00
Declan Snyder
5254fcbd0a drivers: gpio_mcux: Add support for GPIO ICR
Add support for devices that use the kinetis
GPIO/PORT scheme but with the slight modification
that the interrupt control bits are in the GPIO
peripheral instead of the PORT peripheral.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-13 22:38:46 +00:00
Mahesh Mahadevan
205a8fed79 drivers: pinctrl: Add support for more ports
MCX has more port modules which requires updating
the pinctrl driver

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-13 22:38:46 +00:00
Mahesh Mahadevan
61d1a711fc drivers: uart: Use the register define instead of enum define
The enum define is not implemented with the same name on all SoC's.
Use the register define instead.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-13 22:38:46 +00:00
Mahesh Mahadevan
bb9386473b dts: nxp_lpuart: Interrupts is no longer a required property
Some NXP SoC's have a FlexComm interface which manages
interrupts.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-13 22:38:46 +00:00
Mahesh Mahadevan
742a8e85d8 drivers: clock: Enable PORT & LP Flexcomm in NXP syscon driver
1. Add support to enable PORT control clocks
2. Add support for LP Flexcomm
3. MCX family has a different Clock API for USDHC.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-13 22:38:46 +00:00
Mahesh Mahadevan
301ebf83f3 drivers: uart: Use the NXP Flexcomm driver to interrupt handling
The Low Power Flexcomm driver manages the interrupt handling
and provides an API to register interrupt callbacks.
Register the NXP LPUART interrupt handler.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-13 22:38:46 +00:00
Mahesh Mahadevan
72fd8d14da drivers: mfd: Add NXP LP Flexcomm driver
1. This driver allows to configure the Low Power Flexcomm
   interface as a UART, SPI or I2C device.
2. Manages the interrupts and dispatches it to the
   appropriate device driver.
3. A Flexcomm interface can be configured to be used as
   I2C and UART device. However a SPI device cannot be used
   concurrently with I2C or UART. Add checks for this feature.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-13 22:38:46 +00:00
Ryan Erickson
06c62e4c17 modem: modem_cellular: fixes for hl7800
Add connect match for dialing PPP connection.
Ensure PDP authentication is disabled.
Request manufacturer, firmware version, and IMSI from the modem.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2024-03-13 13:05:51 -05:00
Declan Snyder
5f53afca0a soc: nxp: Add RW SOC Family
Add SOC definition for NXP RW Family

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-13 16:45:13 +00:00
Declan Snyder
17ab3d5deb drivers: gpio: mcux_lpc: Support MCI_IO_MUX
Support MCI_IO_MUX pinctrl in LPC GPIO driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Co-authored-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-13 16:45:13 +00:00
Declan Snyder
6f4cf5c73c drivers: pinctrl: Add RW pinctrl driver
Add pinctrl driver for NXP RW6XX chip.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Co-authored-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-13 16:45:13 +00:00
Glenn Andrews
2f691ad8de Driver Input: FT5336 reports touch pressed on no touches
See https://github.com/zephyrproject-rtos/zephyr/discussions/69997

The driver thinks that when there are zero touches, the screen is
pressed. This changes it so zero touches mean the screen is not
pressed.

Also, multi-touch is now considered a single touch, and the
TOUCH_ID is checked so that only valid touches are registered.

Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
2024-03-13 11:39:19 -05:00
Lucas Denefle
08aa504e66 modem: modem_cellular: increase imsi size
Fixes an issue introduced with `080d51bb`

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2024-03-13 09:46:38 -05:00
Lucas Denefle
b287ad70f8 modem: modem_cellular: increase imei size
Fixes an issue introduced with `b668296a`

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2024-03-13 09:46:38 -05:00
Lucas Denefle
fe4f002eef modem: modem_cellular: increase model_id size
Fixes an issue introduced with `08a51bae`

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2024-03-13 09:46:38 -05:00
Lucas Denefle
c36b1039be modem: modem_cellular: increase manufacturer size
Fixes an issue introduced with `ae951f5f`

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2024-03-13 09:46:38 -05:00
Lucas Denefle
4cd0dee7cc modem: modem_cellular: increase fw_version size
Fixes an issue introduced with `adcdf64a`

Signed-off-by: Lucas Denefle <lucas.denefle@converge.io>
2024-03-13 09:46:38 -05:00
Fabio Baltieri
a63b3d1de6 input: xec: use the generic keyboard code
Split the common keyboard scanning code out of the XEC specific driver
and use the generic code instead.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-12 19:30:09 -04:00
Fabio Baltieri
ddd2cf1fdc input: convert kscan_mchp_xec.c driver to input
Convert the XEC 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>
2024-03-12 19:30:09 -04:00
Guillaume Gautier
3b50237699 drivers: adc: stm32: use correct macros for dma transfer
Use the correct dedicated macros for enabling DMA transfer for STM32H7 and
U5.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-03-12 19:28:54 -04:00
Guillaume Gautier
5d2558bdad drivers: adc: stm32: dma fixes
Add a blank define for the case where DMA channels are defined in ADC node
of the dts but STM32_ADC_DMA is not enabled. Otherwise compilation fails.
Also fix the way the DMA channel is configured by using a standard DT
macro, otherwise it doesn't work for dma-v2bis DMA types.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-03-12 19:28:54 -04:00
Fabio Baltieri
d123a4571a input: kbd_matrix: define PRIkbdrow coherently
It's not supposed to have the "%" in the macro, reuse the existin one
for the data type.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-12 19:28:40 -04:00
Daniel DeGrasse
5b6fadc10d 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>
2024-03-12 15:12:12 -05:00
Alberto Escolar Piedras
62e9a38590 drivers counter_nrfx_rtc: Fix for simulation
For simulation, let's convert 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>
2024-03-12 17:57:18 +00:00
Yasushi SHOJI
98903d48c3 drivers: sensor: ams_as5600: Fix calculation of fractional part
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-12 16:08:17 +01:00
Fabio Baltieri
fe2b03178a gpio: pcal64xxa: switch to 8 bit internal data automatically
Convert the internal uint16_t data of the driver to an internal type
that automatically switches from uint8_t to uint16_t depending on
whether any 16 bit device is present in the system or not. This shrinks
the internal structures by few bytes when the extra data is not needed.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-12 16:06:25 +01:00
Dat Nguyen Duy
9c500a8a82 drivers: mbox: fix build failures when userspace enabled
Fix build failures due to using wrong arguments when
calling the implementation functions

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2024-03-12 15:39:05 +01:00
Andrzej Głąbek
6692d880e9 modules: hal_nordic: Enable support for DPPI on nRF54H20
Include into compilation the nrfx_gppi_dppi_ppib helper and related
interconnect layers when DPPIC nodes are enabled in DTS. Provide macro
definitions required by those interconnect layers based on information
from devicetree (the nrf_grtc_timer is only modified because a macro
that it uses became more generic).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-03-12 14:27:16 +00:00
Mikhail Siomin
8dbfdd6f9f drivers: mcux: flexio: Added MCUX FlexIO SPI driver
Added SPI driver using FlexIO.

Signed-off-by: Mikhail Siomin <victorovich.01@mail.ru>
2024-03-12 14:00:45 +01:00
Mikhail Siomin
877b10bef1 drivers: mcux: flexio: Added generic MCUX FlexIO driver
Added FlexIO driver that distributes hardware resources
between interfaces using them.

Signed-off-by: Mikhail Siomin <victorovich.01@mail.ru>
2024-03-12 14:00:45 +01:00
Mikhail Siomin
b12e8cd2b0 clock: nxp_imx: Added clock control support for FlexIO
Added clock control support for flexIO for i.MX series.

Signed-off-by: Mikhail Siomin <victorovich.01@mail.ru>
2024-03-12 14:00:45 +01:00