Commit Graph

7480 Commits

Author SHA1 Message Date
Hao Luo
63904f3a19 drivers: rtc: add rtc support for apollo3&3p
Add RTC support for Apollo3 and Apollo3 Plus Soc

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-12-17 05:48:58 +01:00
Jiafei Pan
888bf137b4 dts: arm64: nxp_mimx93_a55: remove duplicated header file
Removed duplicated header file.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-12-17 05:48:45 +01:00
Girisha Dengi
fbdf6e3463 dts: arm64: intel: Remove hard-coded clock values
Remove hard-coded clock values from device tree nodes,
instead read the clock values from the clock controller
during run time.

Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
2024-12-16 17:12:34 -05:00
Corey Wharton
3e82647ba6 drivers: i2c_dw: add devicetree property to offset clock settings
The actual clock speed of the bus is partially determined by the
rising/falling edges of the SCL. These settings allow applications
to tune the clock based on board characteristics.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2024-12-16 20:51:32 +01:00
Neil Chen
ba572cc25e dts: arm/nxp: Add lpi2c nodes to NXP MCXA156 dtsi file
Add lpi2c nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-16 20:50:37 +01:00
Michał Stasiak
ab001888d3 dts: common: nordic: Add PDM to nrf54h20 dts
Added pdm0 node to nrf54h20 devicetree with proper bindings.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2024-12-16 18:26:08 +01:00
Martin Hoff
4c3c67bf24 dts: arm/silabs: add dma node for efr32(mg2x/bg2x)
Update dts for efr32mg2x and efr32bg2x board that support silabs ldma

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2024-12-16 18:24:51 +01:00
Neil Chen
725c28ec4e dts: arm/nxp: Add usb nodes to NXP MCXA156 dtsi file
Add usb nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-16 10:52:51 +01:00
Danh Doan
535e3472df boards: renesas: add board support entropy driver using SCE5
add support SCE5 for board: ek_ra4w1

Signed-off-by: Danh Doan <danh.doan.ue@bp.renesas.com>
2024-12-16 10:52:16 +01:00
Danh Doan
4d6ff5660b drivers: entropy: Add support for SCE5 to entropy driver
add support SCE5 to entropy driver for Renesas RA

Signed-off-by: Danh Doan <danh.doan.ue@bp.renesas.com>
2024-12-16 10:52:16 +01:00
Nathan Olff
c152453a72 drivers: pwm: implement fake-pwm driver
implement fake-pwm driver with binding using fff

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2024-12-14 16:14:57 +01:00
Fabio Baltieri
f3eb5280c8 dts: arm: st: h7: add a template for stm32h743Xg
Same as stm32h743Xi.dtsi, half the flash.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-12-13 21:50:52 +01:00
Francois Ramu
7044876b0b dts: arm: stm32f412 device has a clock 48MHz multiplexer
Add a clk48Mhz node to the stm32f412 serie.
This clock is sourced by PLL_Q (default) or PLLI2S_Q
That 48MHz clock is used by the USB /SDMMC/RNG peripherals.
The sdmmc/SDIO clock is sourced by this CK48 (default)
or by the SYSCLOCK.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-13 20:05:11 +01:00
Francois Ramu
fcc5f9dac1 dts: bindings: pll i2s for the stm32f412 has a Q divider
There is a Q-divider factor [2..15] for the stm32f412 serie
which supplies the 48MHz clock.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-13 20:05:11 +01:00
Laurentiu Mihalcea
3651725316 dts: xtensa: nxp_imx8: add edma power domains
Add power domains for EDMA0's channels 6, 7, 14, and 15.
For QM these are identified as IMX_SC_R_DMA_2_*, while
for QXP thy are identified as IMX_SC_R_DMA_0_*.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-12-13 20:05:00 +01:00
Laurentiu Mihalcea
2eecf88698 dts: xtensa: nxp_imx8: move up the definition of system-controller
This has no address space and doesn't belong between peripheral
nodes. Move it up the DTSI for better visibility. No functional
change.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-12-13 20:05:00 +01:00
Laurentiu Mihalcea
c8a984708c dts: xtensa: add imx8qm and imx8qxp DTSI variants
imx8qm and imx8qxp have a couple of differences regarding
the peripheral address spaces and how the DT nodes are
configured, which is why using a generic DTSI (nxp_imx8.dtsi)
for the both of them is not right.

One of the differences between the two, which affects Zephyr
is the fact that irqstr's address space is different. Up until
now this has been dealt with at the board level (i.e:
imx8qxp_mek_mimx8qx6_adsp.dts), which is not right as this is not
board-specific, but rather soc-specific. Additionally, this
causes the following warning during compilation:

"unit address and first address in 'reg' (0x51080000) don't
match for /interrupt-controller@510a0000"

To fix this, add two new DTSIs: nxp_imx8qm and nxp_imx8qxp.
Each board (i.e: imx8qm_mek and imx8qxp_mek) will have to include
the DTSI for their soc instead of the generic DTSI (i.e: nxp_imx8).

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-12-13 20:05:00 +01:00
Rafał Kuźnia
413ca65d65 dts: common: nordic: nrf54l20: set timer frequency to 64MHz
The timer counter frequency is set to 64MHz as a workaround.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-12-13 20:04:51 +01:00
Lothar Felten
c552379f0e drivers: input: cap12xx, support 3 to 8 channels
The Microchip CAP12xx series are available in 3, 6 or 8 channel versions.

Co-authored-by: Benjamin Cabé <kartben@gmail.com>

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
2024-12-13 17:44:35 +01:00
Lothar Felten
058f107089 drivers: input: cap1203, rename to cap12xx
rename cap1203 to cap12xx to support 3 to 8 channels

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
2024-12-13 17:44:35 +01:00
Ricardo Rivera-Matos
6d30055809 dts: charger: bq24190: Documents the ce-gpio
Documents the charge enable (ce) gpio.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-12-13 11:35:17 +01:00
Tuomas Parttimaa
342c25924d dts: nordic: Add SUIT storage partition for nRF9280 SiP
Add definition of the SUIT storage partition for the nRF9280 SiP.

Signed-off-by: Tuomas Parttimaa <tuomas.parttimaa@nordicsemi.no>
2024-12-13 11:34:55 +01:00
Xudong Zheng
d2010e7750 dts: arm: rpi_pico: remove default startup-delay-multiplier from .dtsi
The default is defined in dts/bindings/clock/raspberrypi,pico-xosc.yaml.

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2024-12-13 11:34:14 +01:00
Marcio Ribeiro
674529e11b dts: esp32: fix sram0 start address for esp32c2 and esp32c3
Changes the sram0 start address from 0x4037_0000 to 0x4037_C000 for:
- esp32c2
- esp32c3

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2024-12-12 19:59:44 +01:00
Miguel Gazquez
d0785cc39b dts: bindings: add DT binding for the Nintendo Nunchuk joystick
Add a binding for the Nintendo Nunchuk joystick through the I2C bus.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2024-12-12 18:38:06 +01:00
The Nguyen
be28d391fe dts: arm: renesas: add support for UDC on Renesas RA SoC
Add device node to support UDC driver on these SoC: RA6M3,RA6M5,
RA8M1, RA8D1

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2024-12-12 16:23:48 +01:00
The Nguyen
2cfd6065dd drivers: udc: add support for Renesas RA USB device
First commit to support UDC on Renesas RA USBHS module

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2024-12-12 16:23:48 +01:00
Gerard Marull-Paretas
e41919abb3 dts: arm: nordic: nrf54l05/10/15: fix cpuapp_vevif_rx reg
The reg address was not equal to the one in the node name, producing
a build warning.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2024-12-12 16:20:31 +01:00
Marek Matej
a7a05b9e7f dts: espressif: Update AMP sram nodes for ESP32 and ESP32-S3
Set AMP dts nodes (ipm, mbox, ...) to use fixed locations in reserved
memory areas. Those areas memories are delimited in the `memory.h`.
Size of the occupied areas can be calculated but the dts nodes addresses
needs to be set manually in every case.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-12-12 11:38:22 +01:00
Nhut Nguyen
cd495936cf drivers: gpio: Add support for RZ/G3S
This adds GPIO driver for Renesas RZ/G3S.

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2024-12-12 11:12:22 +01:00
Nhut Nguyen
c1fb75b616 drivers: serial: Add polling mode support for RZ/G3S
This is the initial commit to support UART driver for Renesas RZ/G3S.
The driver only implements polling API for minimal support.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2024-12-12 11:12:22 +01:00
Nhut Nguyen
25ed9c9d99 drivers: pinctrl: Add support for RZ/G3S
This is the initial commit to support pinctrl driver for Renesas RZ/G3S

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2024-12-12 11:12:22 +01:00
Tien Nguyen
e535f9e253 soc: renesas: Add support for Renesas RZ/G3S
This adds minimal support for a new SoC Renesas RZ/G3S

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2024-12-12 11:12:22 +01:00
Sara Touqan
3b33aa5450 dts: Add I3C configuration for STM32.
This commit adds the main DTS configurations required
to enable I3C support on STM32.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-12 11:08:12 +01:00
Jeff Daly
371ca13c6d drivers: adc: microchip: Different channels per package type
LJ packages have 16 ADC channels vs 8 for SZ packages.  Enhance
devicetree to account for this as well as conditional defines/code.

Signed-off-by: Jeff Daly <jeffd@silicom-usa.com>
2024-12-11 21:35:49 +01:00
Sercan Erat
662d9c75d0 soc: ambiq: apollo3x: Flash-controller reconfigured for mcuboot
Due to Apollo3's internal bootloader, zephyr build is not able
to create correct flash address on linker.cmd while using
mcuboot. The PR configures flash-controller start address
to solve this problem.

Test board: rakwireless/rak11720
Test project: samples/subsys/mgmt/mcumgr/smp_svr

Signed-off-by: Sercan Erat <sercanerat@gmail.com>
2024-12-11 21:35:18 +01:00
Tomasz Leman
fe2861b5cd dai: intel: ssp: Refactor power management initialization
This patch refactors the power management initialization for the SSP
driver across ACE15, ACE20, and ACE30 generations to align with the
recommended practices outlined in the documentation. The changes
include:

1. Replacing the conditional initialization of power management state
   with a call to `pm_device_driver_init` in the `ssp_init` function.
2. Adding the `zephyr,pm-device-runtime-auto` property to the SSP nodes
   in the device tree files for ACE15, ACE20, and ACE30.
3. Moving the power domain assignment for the SSP device in the device
   tree. The previous configuration resulted in the device not being under
   any power domain and being initialized as always ON.

These changes ensure that the SSP driver is initialized with the
appropriate power management state and that runtime power management is
automatically enabled based on the device tree configuration. The
functionality of the power management state remains unchanged, ensuring
consistent behavior.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-12-11 21:34:57 +01:00
Tomasz Leman
618e83e721 dai: intel: dmic: Refactor power management initialization
This patch refactors the power management initialization for the DMIC
driver across ACE15, ACE20, and ACE30 generations to align with the
recommended practices outlined in the documentation. The changes
include:

1. Replacing the conditional initialization of power management state
   with a call to `pm_device_driver_init` in the
   `dai_dmic_initialize_device` function.
2. Adding the `zephyr,pm-device-runtime-auto` property to the DMIC nodes
   in the device tree files for ACE15, ACE20, and ACE30.

These changes ensure that the DMIC driver is initialized with the
appropriate power management state and that runtime power management is
automatically enabled based on the device tree configuration. The
functionality of the power management state remains unchanged, ensuring
consistent behavior.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-12-11 21:34:57 +01:00
Tomasz Leman
329675ab7c dma: intel_adsp_hda: Refactor power management and correct power domains
This patch addresses several issues with the Intel ADSP HDA DMA driver:

1. Refactors the HDA DMA power management initialization. The previous
   use of `pm_device_runtime_enable` was incorrect. The updated approach
   relies on enabling runtime power management through the device tree
   using the `zephyr,pm-device-runtime-auto` property. Additionally, the
   patch removes redundant device initialization steps as these are already
   handled by `pm_device_driver_init` when the device is under a power
   domain.

2. Corrects the power domain assignment for the HDA link. The HDA link
   was previously assigned to the io0 power domain based on a
   misinterpretation of the documentation. The correct power domain
   assignment is now based on updated documentation for LNL, ensuring that
   the HDA link is associated with the appropriate power domain.

These changes ensure that the HDA DMA driver properly manages power
states, reducing power consumption and improving system stability, while
ensuring the correct power domains are used.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-12-11 21:34:35 +01:00
Tomasz Leman
fd4a4bf702 dai: intel: hda: Add power management
This patch addresses the following issues with the Intel HDA DAI driver:

1. Adds power management support for the HDA DAI driver by implementing
   the `hda_pm_action` function and integrating it with the Zephyr power
   management framework.
2. Ensures balanced calls to `pm_device_runtime_get` and
   `pm_device_runtime_put` by modifying the `probe` and `remove`
   functions to use these power management calls.
3. Ensures that the io0 power domain is active when the HD Audio is in
   use by assigning the correct power domain to the HDA DAI devices in
   the device tree files for various Intel ADSP platforms (ace15_mtpm,
   ace20_lnl, ace30, ace30_ptl).
4. Enables runtime power management for the HDA DAI devices by adding
   the `zephyr,pm-device-runtime-auto` property in the device tree.

These changes ensure that the HDA DAI driver properly manages power
states, reducing power consumption and improving system stability, while
ensuring the io0 power domain is active when required.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-12-11 21:34:35 +01:00
Bartlomiej Buczek
81ad6ecc13 dts: bindings: comparator: fix nrf-comp binding.
Fix binding so that it's description matches property list
and it's allowed values.

Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
2024-12-11 21:28:30 +01:00
Daniel DeGrasse
b1d1b70ddb drivers: mipi_dbi: add support for mipi_dbi_configure_te
Many MIPI DBI displays support a "tearing effect" signal, which can be
configured to signal each v-sync or h-sync interval. This signal can be
used by the MIPI DBI controller to synchronize writes with the
controller, and avoid tearing effects on the screen (which occur when
the write pointer from the MCU overlaps with the panel's read pointer in
the display controller's graphics RAM).

Add the `mipi_dbi_configure_te` API, which allows display controllers to
configure MIPI DBI controller to wait for a TE edge before streaming
display data. Allow the tearing enable parameters to be configured via
devicetree settings, since these will vary based on the MIPI DBI
controller and display controller in use.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-12-11 08:00:42 +01:00
Manuel Argüelles
f85f8ee88e dts: bindings: rename nxp,kinetis-lpuart compatible
Rename "nxp,kinetis-lpuart" compatible to "nxp,lpuart" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-11 08:00:30 +01:00
Marcin Niestroj
f72ef5c237 drivers: usb: stm32: fix support of STM32U5 OTG_HS with embedded PHY
Introduce new binding "st,stm32u5-otghs-phy" for OTG_HS PHY. This allows to
configure clock source and handle STM32U5 specific OTG_HS PHY behavior in
driver implementation in a more readable way.

Move OTG_HS PHY clock selection (previously <&rcc STM32_SRC_HSI48
ICKLK_SEL(0)>) from OTG_HS node to OTG_HS PHY node.

Rename USBPHYC_SEL -> OTGHS_SEL which matches the definition in the stm32u5
CCIPR2 register (RM0456 Rev 5, Section 11.8.47).

Support enabling OTG_HS PHY clock, which is bit 15 (OTGHSPHYEN) in
RCC_AHB2ENR1. Change OTG_HS clock to be bit 14 (OTGEN).

Calculate in runtime OTG_HS PHY clock source frequency. Try to match that
to supported (16, 19.2, 20, 24, 26, 32 MHz) frequencies and select proper
option with HAL_SYSCFG_SetOTGPHYReferenceClockSelection() API (instead of
hardcoded 16 MHz selection).

Co-authored-by: Adrian Chadd <adrian.chadd@meta.com>
Signed-off-by: Adrian Chadd <adrian.chadd@meta.com>
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-12-11 08:00:03 +01:00
Marcin Niestroj
fafaa58240 drivers: clock: stm32: support STM32_CLOCK_DIV()
Support specifying divided clock buses by introduction of
STM32_CLOCK_DIV(div) macro. This macro can be used in devicetree to define
clock source of peripherals.

HSE is selected in devicetree using:

   <&rcc STM32_SRC_HSE ...>;

HSE/2 can now be selected with:

   <&rcc (STM32_SRC_HSE | STM32_CLOCK_DIV(2)) ...>;

This allows to use clock_control_get_rate() API in peripherals in order to
get desired clock rate.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-12-11 08:00:03 +01:00
Haiyue Wang
bb6856606c dts: bindings: memc: stm32: correct the SDRAM base address description
Catch the DTS warning by copying the SDRAM node in description:

 unit address and first address in 'reg' (0xc000000) don't match for
 /sdram@c0000000

Signed-off-by: Haiyue Wang <haiyuewa@163.com>
2024-12-11 07:59:17 +01:00
Jilay Pandya
d5ae99a551 drivers: stepper: step_dir: rename direction_gpios to dir_gpios
for the brevity renaming direction_gpios to dir_gpios since STEP/DIR
interface is quite an established term in context of stepper controllers.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-12-11 07:58:34 +01:00
Lucien Zhao
017cb3a316 dts: arm: nxp: add prescaler parameter in dts
prescaler parameter had been set to required true, add
this parameter to resolve the building issues.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-11 07:57:50 +01:00
Steve Boylan
46c9d160eb dts: bindings: wifi: Support SPI for Infineon AIROC driver
Additional bindings to configure SPI support.

Added new DTS option for data/IRQ sharing
Clarify default in driver DTS binding

Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
2024-12-10 16:23:36 +01:00
Neil Chen
8ed26c6b39 dts: arm/nxp: Add lpcmp nodes to NXP MCXA156 dtsi file
Add lpcmp nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-10 16:22:55 +01:00