Commit graph

8801 commits

Author SHA1 Message Date
Shen Xuyang
3cb1d5eb63 dts: bindings: Add dts binding of ist3931
Add dts binding for istech,ist3931

Signed-off-by: Shen Xuyang <shenxuyang@shlinyuantech.com>
2024-09-06 12:03:57 -05:00
Shen Xuyang
7cef5377c1 dts: bindings: add vendor prefix of istech
Add vendor prefix for Integrated Solutions Technology Inc.

Signed-off-by: Shen Xuyang <shenxuyang@shlinyuantech.com>
2024-09-06 12:03:57 -05:00
Krzysztof Chruściński
3e5a66d43d dts: Add nordic,nrf-tddconf node
Add node which configures trace and debug on nrf54h20.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Krzysztof Chruściński
f2ec240b20 dts: nordic: Add nrf-tbm (trace buffer monitor) node
Add new binding and a node to nrf54h20. Update Kconfig and nrfx_config
to include nrfx_tbm driver when node with that compatible is enabled.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Krzysztof Chruściński
508434b2b2 dts: nordic: nrf54h20: Add stmesp nodes
Add nodes for STMESP peripherals.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Krzysztof Chruściński
34ab5b02ba dts: bindings: debug: Add binding for ARM STMESP
Add binding for System Trace Macrocell Extended Stimulus Port (STMESP).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Chaim Zax
f54a53b4b3 drivers: ws2812_gpio: Make timing configurable and less hardware dependend
The current driver contains assembly code which is specific for the nRF51
SOC which makes it incompatible with other SOC's. This patch adds support
for other nRF SOC's as well. The timing is calucated based on the CPU clock
frequency, but can be configured manually as well if needed.

Changes have been verified on a Adafruit Feather nRF52840 Express board,
which contains a single NeoPixel RGB LED. Timings have been verified using
a scope connected to the WS1812 data line.

Signed-off-by: Chaim Zax <chaim.zax@zaxx.pro>
2024-09-06 11:31:00 -04:00
Quy Tran
79fb5a391a drivers: flash: Add support for flash driver on MCK-RA8T1
Initial commit to support flash driver on MCK-RA8T1 board

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2024-09-06 11:28:04 -04:00
Quy Tran
beba6685af drivers: flash: Add support for flash driver on EK-RA8D1
Initial commit to support flash driver on EK-RA8D1

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2024-09-06 11:28:04 -04:00
Duy Phuong Hoang. Nguyen
e1f990c176 drivers: flash: Initial support flash driver on EK-RA8M1
Initial commit for flash driver support on board using RA8 MCUs
* drivers: flash: implementation for flash driver on EK-RA8M1
* dts: arm: add device node for flash of EK-RA8M1
* boards: arm: enable support flash driver for ek_ra8m1, update
board documentation

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
Signed-off-by: Duy Phuong Hoang. Nguyen <duy.nguyen.xa@renesas.com>
2024-09-06 11:28:04 -04:00
Armin Kessler
576fc209c4 drivers: video: esp32s3: add support for cam interface
Adding support for the esp32s3 LCD_CAM peripheral.

Signed-off-by: Armin Kessler <ake@espros.com>
2024-09-06 11:26:59 -04:00
Santosh Male
81b58ac35b dts: Added dwcxgmac dt nodes in soc dtsi file
Added XGMAC0, XGMAC1, XGMAC2 device nodes in
intel_socfpga_agilex5 dts file with default
parameter values and  default device node status
as 'disabled'.

Signed-off-by: Santosh Male <santosh.male@intel.com>
2024-09-05 17:03:05 -04:00
Dominik Chat
518de763a6 dts: nordic: nrf5340: Change nRF5340 IPC backend to icbmsg
Change the default IPC backend of nRF5340 to icbmsg.

Signed-off-by: Dominik Chat <dominik.chat@nordicsemi.no>
2024-09-05 17:02:31 -04:00
Michal Smola
427876604f dts: mcxc: Add initial support for NXP MCXC socs
Add initial support for NXP MCXC socs.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-09-05 17:01:33 -04:00
Michal Smola
5ddde693f5 dts: bindings: Add binding for NXP mcxc oscillator
Devicetree binding for NXP mcxc oscillator is not available.
Add the binding to be able to configure the oscillator in devicetree.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-09-05 17:01:33 -04:00
Michal Smola
d913f6cc9f dts: bindings: kinetis-ftfa: Add configuration properties
Add configuration settings for the FOPT, FSEC, and flash configuration
offset to the FTFA module binding.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-09-05 17:01:33 -04:00
Michal Smola
5a6b339046 dts: bindings: nxp kinetis mcg: Add optional frequency dividers
fcrdiv and lircdiv2 dividers properties are not configurable in device
tree. Add the properties.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-09-05 17:01:33 -04:00
Fabian Pflug
cdfab15b99 charger: bq25180: Add threshold voltage for precharge
Charging a battery has three phases (compare Figure 8-2 in
https://www.ti.com/lit/ds/symlink/bq25180.pdf)

First is a pre-charge phase, then a constant current, then a constant
voltage phase.
During the pre-charge phase, the battery is only charged with a very low
current, to not damage the cells, because they are below a threshold,
that is considered healthy for the battery and need to be brought back
up to a healthy voltage.

Signed-off-by: Fabian Pflug <fabian.pflug@grandcentrix.net>
2024-09-05 17:01:05 -04:00
Fabian Pflug
f698832410 charger: bq25180: add control for battery charge limit
The linear battery charger will charge the connected battery up
to a specific voltage. This is different depending on the chemistry
of the battery. Most LiPo Batteries have a nominal voltage of 4.2V,
which is why the default voltage of the bq25180 is 4.2V.

Signed-off-by: Fabian Pflug <fabian.pflug@grandcentrix.net>
2024-09-05 17:01:05 -04:00
Bjarki Arge Andreasen
fbebb5dce5 dts: bindings: add nrf-fll16m and nrf-lfclk bindings
Add bindings for nrf-fll16m and nrf-lfclk and update in-tree nodes
and boards to use them in place of the fixed-clock binding.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-09-05 17:00:24 -04:00
Andrzej Głąbek
9ab7fc90cd dts: nordic: nrf54h20: Add nodes representing HFXO and LFXO
The HFXO and LFXO oscillators have properties which need to be
specified in the devicetree. These properties are used by clock
controllers, which get these properties from the devicetree.

The BICR also contains these properties. For now, the properties
are duplicated in the bicr node in the devicetree.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-09-05 17:00:24 -04:00
Andrzej Głąbek
b0316c2c1d dts: nordic: nrf54h20: Add references to clock controllers
Add references to clock controllers so users can obtain
those for particular peripherals with DT macros like
DT_CLOCK_CTRL()

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-09-05 17:00:24 -04:00
Emil Lindqvist
621338ec78 modem_cellular: add U-Blox LARA-R6 and implement change of baudrate
U-Blox LARA-R6 was added to modem_cellular, and an additional state
was introduced where the UART baudrate is changed if the modem supports
it

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2024-09-05 16:58:44 -04:00
Johann Fischer
a10f2e87cc dts: rp2040: fix USB controller base address
Fix USB controller base address.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-09-05 16:57:46 -04:00
Jeppe Odgaard
40cae2d281 dts: arm: st: stm32h5: fix spi 1-3 clocks
The STM32 SPI driver, `spi_ll_stm32.c`, reads the clock frequency via
`clock_control_get_rate()`. The first `clocks` index is used as subsystem
argument if there is no second index, but this is not the source clock for
SPI 1, 2, and 3.
This causes the prescaler value calculation to be incorrect, resulting in a
frequency potentially above the `spi-max-frequency` value.

Add clock source for SPI instances 1, 2 and 3, that matches the default
clock configuration register reset value, which resolves the issue.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-09-05 16:57:32 -04:00
Fabrice DJIATSA
52cb8c07d1 dts: arm: st: h7: remove unnecessary inclusions
since stm32h7.dtsi is already include in st/h7/stm32h743.dtsi
we don't need to include here again.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-05 12:50:26 -05:00
Fabrice DJIATSA
af7a690743 dts: arm: st: u0: add stm32u073 dtsi files
provide support for the STM32U073 series


Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-05 12:25:43 +01:00
Tomi Fontanilles
17545c17a5 dts: arm: st: h7: fix flash on M4 board targets
The flash controller is nowadays supported on the M4 core.
Add the bank2-flash-size property to the board definitions as required
by the STM32 H7 flash driver.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-09-04 19:10:19 -04:00
Duy Phuong Hoang. Nguyen
bec9952ce8 driver: spi: Add initial support for spi driver on ra8
Add initial SPI driver support for RA8 MCUs

Signed-off-by: Duy Phuong Hoang. Nguyen <duy.nguyen.xa@renesas.com>
2024-09-04 21:28:19 +02:00
Furkan Akkiz
d7f92d0869 dts: arm: adi: Add ADC inside devicetree
Add ADC peripheral definiton inside device tree file
Add devicetree bindings for MAX32 ADC driver.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Co-authored-by: Okan Sahin <okan.sahin@analog.com>
2024-09-04 21:28:08 +02:00
Lucien Zhao
2680c7d020 dts: arm: nxp: nxp_rt118x: add acmp instances
enable acmp clock in rt118x/soc.c file

add instances and enable clock for rt118x

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-09-04 21:27:28 +02:00
Karol Lasończyk
f5fd5c06f5 dts: Add support for nRF54L20 SoC
Introduce nRF54L20 description in dts.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-09-04 07:02:19 -04:00
Jordan Yates
51c0cb9f5c dts: common: nordic: default memory partitioning
Add default memory partitioning for the nRF53 and nRF91 series devices.
As these partitions refer to TF-M and the TF-M layouts cannot be
modified, use the partitioning scheme from TF-M.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-09-04 12:52:31 +02:00
Andriy Gelman
4ffe418253 drivers: rtc: Add RTC driver for Infineon XMC4xxx devices
Adds support for settings/getting RTC time and using alarm/update feature.
The alarm option needs all fields to be set due to a hardware limitation.

RTC shares the same interrupt with the watchdog. Thus shared
interrupts must be enabled when WDT and RTC both need to trigger the ISR.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-09-04 09:54:52 +02:00
Elias Speinle
022cfdff98 drivers: regulator: add basic mps mpm54304 driver
add driver for Monolithic Power Systems MPM54304 with basic
functionality to enable/disable the buck regulators

Signed-off-by: Elias Speinle <e.speinle@vogl-electronic.com>
2024-09-03 14:39:52 +01:00
Michael R Rosen
cba339a6f4 dts: arm: st: correct npgios for all stm32 gpio controllers
For almost all STM32 GPIO controllers, the number of supported GPIO
pins managed by a single controller is 16 (with some exceptions for
fewer). However, the default for ngpios in the device tree bindings
for gpio-controllers is 32; leading to inaccuracies in handling GPIO
for these controllers, such as presenting too many GPIOs in the GPIO
shell. This patch redefines the default for ngpios for "st,stm32-gpio"
compatible devices to 16 and adds the correct ngpios for the few
exceptions Zephyr current supports.

Signed-off-by: Michael R Rosen <mrrosen@alumni.cmu.edu>
2024-09-03 10:44:06 +02:00
Flavio Ceolin
4902f189ae dts: xtensa: intel_adsp: Set soft-off state as disabled
The 'soft-off' state must be used when explicitly request by calling
`pm_state_force`. Set this state as disabled in dts ensures that the
pm policy manager will not use this state.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-09-02 11:54:08 +02:00
Fabrice DJIATSA
195e85c4cb dts: arm: st: add stm32u031 dtsi files
provide support for the STM32U031 serie

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-02 11:53:47 +02:00
Thomas Stranger
0e09d8903d dts: arm: st: stm32h5: add backup sram to all socs
This commit moves the backup sram definition to the
series base dtsi file, the size is overwritten for socs
which have a bigger bkpsram.

The backup SRAM is available on all stm32h5 mcus.
stm32h503/523/533 have 2k
stm32h562/563/573 have 4k

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-09-02 11:52:03 +02:00
Marcin Wierzbicki
71810a5306 drivers: adc: adc_mcux_adc12: set the vref as a property
Add the vref reference voltage in the DTS, so that the adc driver
can retrieve the value for conversion.

Signed-off-by: Marcin Wierzbicki <marcin.wierzbicki@accenture.com>
2024-08-30 11:47:07 -04:00
Marcin Wierzbicki
eebaa2b270 soc: arm: nxp_s32: s32k1: add support for ADC
Add support for the Analog-to-Digital Converter (ADC).

Signed-off-by: Marcin Wierzbicki <marcin.wierzbicki@accenture.com>
2024-08-30 11:47:07 -04:00
Richard Wheatley
6dd54c8835 dts: arm: ambiq: add ambiq adc to dtsi file
Add Ambiq adc to apollo4 DTSI

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2024-08-30 11:46:56 -04:00
Chris Ruehl
03c942132d Drivers: Bosch bmp180 dts bindings
Add the yaml files needed for the dts binding of the Bosch bmp180 sensor.

V2 Fixup
--------
yaml fixup for complient checks
merge bmp180-i2c.yaml and bmp180.yaml

Signed-off-by: Chris Ruehl <chris@gtsys.com.hk>
2024-08-30 11:46:25 -04:00
Tomasz Moń
22bde52b37 dt-bindings: usb: uac2: Add configuration speed selectors
Every High-Speed capable device must be able to enumerate at Full-Speed.
The functionality at different speeds can be different. Sometimes it is
possible to support exactly the same functionality on both High-Speed
and Full-Speed, but sometimes it is not. The problem is particurarly
relevant for UAC2 because it utilizes isochronous endpoints which means
that the available bandwidth is drastically different between High-Speed
and Full-Speed.

Full-Speed isochronous endpoint can support up to 1023 bytes per frame.
Typical 48 kHz 16-bit stereo stream consumes 48 * 2 * 2 = 192 bytes per
frame. Zephyr UAC2 instances with such streams are fine to work both at
Full-Speed and High-Speed.

An example stream that is too much for Full-Speed is the sometimes used
192 kHz 24-bit stereo (whether or not it is useful is out-of-scope here,
because it should be up to application developer) which would require
192 * 3 * 2 = 1152 bytes per frame.

Because the bandwidth required for audio stream depends on three
different parameters (sample rate, bit resolution and number of
channels), the UAC2 implementation should not automatically limit
available parameters to fit bandwidth requirements.

Adding explicit full-speed and high-speed boolean options to zephyr,uac2
compatible seems to be not only the easiest solution to the problem, but
also the most flexible one. Depending on the use case, the application
developer can then decide for example:
 * to not support High-Speed at all - by having one zephyr,uac2 instance
   with full-speed property
 * to not support Full-Speed at all - by having one zephyr,uac2 instance
   with high-speed property
 * to support limited number of channels at Full-Speed and all channels
   at High-Speed - by having one zephyr,uac2 instance with full-speed
   property and separate instance with high-speed property
 * to have exactly the same functionality at both speeds - by having one
   zephyr,uac2 instance with both full-speed and high-speed properties

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-08-29 16:12:45 -04:00
Jordan Yates
39a582a9ec fuel_gauge: composite analog fuel gauge
Construct a device that implements the fuel-gauge API from a collection
of analog sensing inputs.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-08-29 16:12:36 -04:00
Jordan Yates
597ed491c7 battery: support additional properties
Support additional properties from the linux `battery.yaml`.

The `ocv-capacity-table-0` definition differs from the Linux version as
we do not have a good way to generate variable length arrays in our
config structs, or a good way to separate out the percentage vs voltage
in the mapping.

We reduce the flexibility by enforcing a step size of 10%, which removes
the need for the percentage to be in the array and solves the variable
length problem.

To simplify the effort of defining these voltage curves, default curves
for a variety of chemistries have been added, extracted from datasheet
graphs of discharge curves from reputable manufacturers.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-08-29 16:12:36 -04:00
Sylvio Alves
f099bcd497 hotfix: drivers: i2s: update esp32s3/c3 I2S dtsi
I2S driver was merged after interrupt .dtsi was changed,
causing CI to fail. This updates it accordingly.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-08-29 16:10:28 -04:00
Marcio Ribeiro
902104d795 drivers: i2s: esp32s3/esp32c3
i2s support added for esp32s3 and esp32c3

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2024-08-29 18:06:23 +02:00
Peter van der Perk
c09b3bcbd6 soc: nxp: rt11xx: Enable FlexIO
Zephyr already has various FlexIO drivers but imxrt11xx didn't enable
the base flexio peripheral.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2024-08-29 18:04:56 +02:00
Ha Duong Quang
77968d4dd8 boards: s32z2xxdc2: add support for adc
Add devicetree of adc instances for s32z270.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2024-08-29 18:04:36 +02:00