Commit graph

8801 commits

Author SHA1 Message Date
Andrew Featherstone
36613aa359 dts: arm: rp2040: Improve naming of included files
Rename rpi_pico_common.dtsi to rp2040_reset.h . This is more consistent
with the wider Zephyr source tree, and is foundation work ahead of
introducing the RP2350 SoC.

Add missing include guard. This shouldn't be required, but it is
consistent with other header files in the same directory.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-12-05 12:29:33 +01:00
Andrew Featherstone
d257460e9d dts: arm: Move rpi_pico under raspberrypi
Follow the wider directory convention of dts/<arch>/<vendor>/<family>.

This is foundation work ahead of introducing support for the RP2350.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-12-05 12:29:33 +01:00
Duy Nguyen
6b287b0e4e drivers: eth: Initial support for Renesas RA Ethernet driver
This commit is to enable Ethernet drivers support on Renesas RA
MCU, first target support is the Renesas RA8 series

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2024-12-05 07:45:19 +01:00
Duy Nguyen
f9705969b7 drivers: mdio: Initial support for renesas RA mdio driver
Add support for mdio driver for Renesas RA MCU series
This support utilize the r_ether_phy driver in hal renesas
to support mdio write and read function

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2024-12-05 07:45:19 +01:00
TOKITA Hiroshi
538d34c1de boards: shields: Add support for Adafruit AW9523 board
Add support for Adafruit AW9523 GPIO Expander/LED Controller

Co-authored-by: Benjamin Cabé <kartben@gmail.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-12-05 07:44:58 +01:00
TOKITA Hiroshi
0161dd0938 drivers: gpio: Add support for Awinic AW9523B GPIO controller
Add support for GPIO controller feature of AW9523B.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
2024-12-05 07:44:58 +01:00
TOKITA Hiroshi
62f725a0ab dts: bindings: gpio: Add STEMMA-QT connector
Add a definition of a STEMMA QT connector to which I2C
devices can be connected.

Since STEMMA-QT does not specify uses other than I2C,
this is just a formal definition.
(It may be helpful when using this connector as a GPIO,
 which is not defined in STEMMA-QT)

Maybe in usual need to define i2c alias such like as,

```
stemma_qt_i2c: &i2c0 { }
```

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
2024-12-05 07:44:58 +01:00
Neil Chen
787ba09292 dts: arm/nxp: Add USBHS nodes to NXP MCXN23x dtsi file
Add USBHS nodes to NXP MCXN23x dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-05 07:44:46 +01:00
Audun Korneliussen
66ccc2e241 drivers: watchdog: npm2100: Add driver for npm2100 pmic
Add watchdog driver for npm2100 pmic.

This pmic has one timer that can be used for multiple functions,
including a watchdog that can reset or power-cycle connected devices.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-12-04 14:19:53 -05:00
Audun Korneliussen
439d3b2973 drivers: sensor: npm2100: Add driver for npm2100 pmic
Add sensor driver for npm2100 pmic.

This pmic performs measurements of battery voltage, regulator voltage
and die temperature.

Configurable pmic attributes are also organized under this driver.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-12-04 14:19:53 -05:00
Audun Korneliussen
f4443617d8 drivers: regulator: npm2100: Add driver for npm2100 pmic
Add regulator driver for npm2100 pmic.
This pmic has one boost and one ldo regulator.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-12-04 14:19:53 -05:00
Audun Korneliussen
7fccb646cd drivers: gpio: npm2100: Add driver for npm2100 pmic
Add gpio driver for npm2100 pmic.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-12-04 14:19:53 -05:00
Audun Korneliussen
506dfc815a drivers: mfd: npm2100: Add npm2100 mfd driver
Add mfd driver for the npm2100 pmic device.
The driver contains basic initialization routines,
and functionality not covered by other device driver APIs.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-12-04 14:19:53 -05:00
Manuel Argüelles
1428fd02a2 dts: bindings: rename nxp,imx-lpi2c compatible
Rename "nxp,imx-lpi2c" compatible to "nxp,lpi2c" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-04 14:15:52 -05:00
Neil Chen
f9c6eea5b8 dts: arm/nxp: Add pwm nodes to NXP MCXA156 dtsi file
Add pwm nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-04 14:15:22 -05:00
Rafał Kuźnia
401f784337 dts: nordic: Add dppic0 label to nRF53 and nRF91 devices
Added dppic0 node label, alongside the dppic to maintain backward
compatibility. The use of dppic0 is preferred.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-12-04 09:23:55 +01:00
Alexander Kozhinov
4212b52b46 dts: bindings: vendor-prefixes.txt
Add Makerbase Co., Ltd. board vendor

Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2024-12-04 09:23:33 +01:00
Florijan Plohl
55602a5b6b boards: norik: Add support for Norik Octopus IO-Board
Add support for Norik Systems Octopus IO-Board based on
Norik Systems Octopus SoM.

Supported features:
 - LTE-M/NB-IoT
 - GPS
 - LED
 - 3-axis accelerometer
 - Battery charger
 - Solar charger
 - SPI NOR flash
 - Nano SIM connector

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
2024-12-03 19:57:15 +01:00
Jeppe Odgaard
c41570871b drivers: sensor: tmp116: support set sample frequency
Add support for setting the sample frequency via `attr_set` and the
output data rate from device tree source.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-12-03 19:57:06 +01:00
Tim Lin
788bca2ea8 drivers: gpio: it8801: Add I2C-based GPIO device driver
Add I2C-based GPIO device driver. Supports 16-port GPIO divided
into 3 groups.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-12-03 19:56:50 +01:00
Tim Lin
54b91c7748 drivers: pwm: it8801: Add I2C-based PWM device driver
Add I2C-based PWM device driver. Supports 7 open-drain/push-pull
outputs.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-12-03 19:56:50 +01:00
Tim Lin
69224e7b72 drivers: input: it8801: Add I2C-based keyboard matrix scan controller
Add I2C-based keyboard matrix scan device driver.
IT8801 support 8 KSI pins and 19 KSO pins [22:11] [6:0].

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-12-03 19:56:50 +01:00
Tim Lin
70739a1e74 drivers: mfd: it8801_altctrl: Add alternate controller for MFD
IT8801 support GPIO alternate function switching.
Some GPIO pins can be switched as KSO or PWM function.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-12-03 19:56:50 +01:00
Tim Lin
3de8989852 drivers: mfd: it8801: Initialize IT8801 multi-function device drivers
The IT8801 is an I/O expander that provides GPIO, PWM, Keyboard
functions via the I2C bus.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-12-03 19:56:50 +01:00
Manuel Argüelles
2f7402d14a dts: bindings: rename nxp,kinetis-adc12 compatible
Rename "nxp,kinetis-adc12" compatible to "nxp,adc12" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-03 19:55:50 +01:00
Vladislav Pejic
60c042604e driver: sensor: adxl366: .yaml files
Added .yaml files for ADXL366 accelerometer

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2024-12-03 15:48:01 +00:00
Neil Chen
2d37c3dfcf dts: arm/nxp: Add dac nodes to NXP MCXA156 dtsi file
Add dac nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-03 08:27:08 +01:00
Hao Luo
5d4353dc9a drivers: timer: ambiq: add clock source selection for stimer
Add clock source selection for stimer and make it configurable

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-12-03 04:01:45 +01:00
Manuel Argüelles
4ab9172c92 dts: bindings: rename nxp,imx-lpspi compatible
Rename "nxp,imx-lpspi" compatible to "nxp,lpspi" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-02 22:06:47 +00:00
Manuel Argüelles
dbd20bd039 dts: bindings: rename nxp,kinetis-wdog32 compatible
Rename "nxp,kinetis-wdog32" compatible to "nxp,wdog32" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-02 22:06:39 +00:00
Rafał Kuźnia
d890cfd818 soc: nordic: enable DPPI and PPIB nodes by default
The DPPI and PPIB peripheral nodes must be enabled to allow the
CONFIG_HAS_HW_NRF_DPPIC to be set. This change is consistent with what
was done on nRF5340 and does not introduce any additional memory
overhead, because there is no Zephyr driver behind the nrf-dppic and
nrf-ppib bindings.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-12-02 18:18:39 +01:00
Michał Stasiak
cde88046e4 dts: common: nordic: Add clock property for fast PWM120
Added hsfll120 clock for fast PWM120 nodes.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2024-12-02 14:25:09 +01:00
Jordan Yates
3a9e693087 tests: lib: devicetree: api: test DT_ANY_INST_HAS_BOOL_STATUS_OKAY
Add tests for the new `DT_ANY_INST_HAS_BOOL_STATUS_OKAY` macro.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-12-02 11:13:52 +01:00
Maximilian Werner
66df541d6c drivers: pwm: mcux_tpm: allow configuring the clock prescaler
Allow configuring the clock prescaler divider for the NXP Kinetis
Timer/PWM Module (TPM). Setting the prescaler to a lower value
allows for higher resolution for the generated PWM waveforms.
This change is inspired from the pwm_mcux_ftm driver:

Link: https://github.com/zephyrproject-rtos/zephyr/pull/25396

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2024-12-02 01:33:59 +01:00
Ian Morris
f80de97c26 dts: arm: renesas: ra: fixed ioport2 irq assigments
Only IRQ's 0-3 are available on ioport2.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-12-02 01:33:29 +01:00
Adam Kondraciuk
0bb3a1ccff dts: nordic: nrf54h20: Update pm policy values
Apply nRF54H20 `min-residency-us` and `exit-latency-us` values for
existing power states.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2024-11-29 11:44:59 +01:00
Krzysztof Chruściński
923d313a04 dts: common: nordic: nrf54l: Add hfpll clock source
Add 128 MHz clock source and use it for uart00. Baudrate setting
must be adjusted based on uart clock source so without this
change there is wrong baudrate on uart00.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-11-29 11:44:49 +01:00
Gerard Marull-Paretas
e913a97489 dts: arm: rakwireless: add RAK3172 LoRaWAN module
Add DT definitions for the RAK3172 LoRaWAN module, based on
STM32WLE5.

Ref. https://docs.rakwireless.com/product-categories/wisduo/
             rak3172-module/low-level-development/

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-11-28 20:52:54 +01:00
Andy Ross
b4fb833eb9 soc/mediatek/adsp: Source timer rate from DTS
These devices have an architecturally fixed 13 MHz clock device.  But
thankfully you can put a default into a DTS binding so we don't have
to repeat it for all of them.

Signed-off-by: Andy Ross <andyross@google.com>
2024-11-28 20:51:50 +01:00
Jan Kuliga
91a14dcc50 drivers: auxdisplay: hd44780: add rs-line-delay dt parameter
In order for the driver to be compliant with the timing sequence
diagrams presented in the reference manual, the MCU has to wait
for some additional period of time while setting both the rs and rw
lines.

Signed-off-by: Jan Kuliga <jtkuliga@gmail.com>
2024-11-28 20:51:39 +01:00
Jan Kuliga
55de1c9719 drivers: auxdisplay: hd44780: get rid of excessive delays
Express delay values in nanoseconds. Set the default delay time values
as specified in the HD44780 reference manual.

Signed-off-by: Jan Kuliga <jtkuliga@gmail.com>
2024-11-28 20:51:39 +01:00
Benedikt Schmidt
760210f39d drivers: fpga: separate drivers of iCE40 for SPI and GPIO bitbang
Separate the current driver for the FPGA iCE40 into two different ones.
One implements only the SPI load mode, the other one only the GPIO
bitbang mode.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-11-28 15:39:33 +00:00
Ian Morris
8e51ebf499 drivers: bluetooth: hci: add hardware reset for da1453x
Add ability to perform a hardware reset of the DA1453x during setup of
the HCI transport.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-11-28 12:52:01 +01:00
Krzysztof Chruściński
d87bafea30 dts: common: nordic: nrf54l20: Add missing nodes
Add missing nodes: i2c23, i2c24, spi23, spi24, uart23, uart24.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-11-28 12:51:45 +01:00
Aksel Skauge Mellbye
26215a7d3b boards: silabs: Remove usage of no-op pin number macro
The GECKO_PIN() macro does not do anything except pass the
argument through unaltered. It only serves to make DeviceTree
files more verbose. It was inconsistently used, make the .dts
files consistent by never using it.

The DBUS pinctrl driver doesn't use the port or location macros
from the gpio_gecko.h header. The pin number macro is the only
other thing defined in this header. Stop including the header on
Series 2 based boards.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-11-27 22:51:55 -05:00
Aksel Skauge Mellbye
a40a26db32 boards: silabs: Use DBUS pinctrl driver for Series 2 boards
Swap from silabs,gecko-pinctrl to silabs,dbus-pinctrl for all boards
with Series 2 SoCs. Explicitly declare pin properties as part of
pinctrl pinout configuration.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-11-27 22:51:55 -05:00
Aksel Skauge Mellbye
f3246cda17 drivers: pinctrl: silabs: Add pinctrl driver for digital bus
Silicon Labs Series 2 and newer devices do alternate function
configuration fundamentally differently from Series 0 and 1. Pin routing
is done in a centralized fashion in the GPIO peripheral, as opposed to
having ROUTE registers in every peripheral. The concept of alternate
function location numbers also does not exist, functions are directly
assigned to GPIOs by their port and pin number.

This commit adds a new pinctrl driver for devices that use DBUS. It fully
makes use of pinctrl design principles as outlined in the Zephyr
documentation. The previous driver hard-codes pin properties such as filter
and pull-up/down in the driver itself, while the new driver leaves this up
to the user as configurable DeviceTree properties. The previous driver has
hard-coded support for UART, SPI and I2C, while the new driver has generic
support for all DBUS signals.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-11-27 22:51:55 -05:00
Declan Snyder
826c7445f2 dts: nxp_mcxw71: Flash node is not peripheral
Flash node should not be under the peripheral bus, it is not a
peripheral. The base address of the flash was getting set correctly by
accident due to the fmu node mapping it out of the range of the
peripheral node by coincidence.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-11-27 21:07:48 +00:00
Armando Visconti
a867dbdc47 sensors: lsm6dsv16x: add RTIO async and fifo stream
Add RTIO async and RTIO stream functionalities that enables,
among all the other things, the sensor data streaming from FIFO.

RTIO stream is using both SENSOR_TRIG_FIFO_WATERMARK and
SENSOR_TRIG_FIFO_FULL triggers. The decoder currently only supports
following FIFO tags:

  - LSM6DSV16X_XL_NC_TAG
  - LSM6DSV16X_GY_NC_TAG
  - LSM6DSV16X_TEMP_NC_TAG

Following FIFO parameters has to be defined in device tree to
correctly stream sensor data:

  - fifo-watermark (defaults to 32)
  - accel-fifo-batch-rate (defaults to LSM6DSV16X_DT_XL_NOT_BATCHED)
  - gyro-fifo-batch-rate (defaults to LSM6DSV16X_DT_GY_NOT_BATCHED)
  - temp-fifo-batch-rate (defaults to LSM6DSV16X_DT_TEMP_NOT_BATCHED)

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-11-27 21:06:30 +00:00
Sylvio Alves
198f9907e2 dtsi: espressif: add missing address-cell entries
Add address-cell field into interrupt allocator entry
to overcome build warnings.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-11-27 10:38:44 -05:00