Commit graph

7,339 commits

Author SHA1 Message Date
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
198a005177 soc: Add support for nRF54L20 SoC
Introduce nRF54L20 entries in soc directory.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-09-04 07:02:19 -04: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
William Tambe
9c4a6712b2 xtensa: fix xtensa-sample-controller.ld to avoid .note.GNU-stack warnings
Prevent `warning: orphan section `.note.GNU-stack'` when building using
`west build -b xt-sim samples/hello_world`

Signed-off-by: William Tambe <williamt@cadence.com>
2024-09-04 09:54:19 +02:00
Kai Vehmanen
81977f2bff drivers: dma: intel_adsp_hda: fix intel_adsp_hda_unused() check
The ringbuffer availability check is subject to race with regards to
update of BF (Buffer Full) and BNE (Buffer Not Empty) bits in DGCS
register, and status of RP (Read Position) and WP (Write Position).

Following sequence is observed without this patch when
calling dma_get_status() on multiple Intel ADSP platforms:

iter 154 pending 1536 RP 768 WP 768, BNE 1, BF 1
-> dma_reload for 384
iter 155 pending 1536 RP 1152 WP 1152, BNE 1, BF 1
-> dma_reload for 384
iter 156 pending 0 RP 0 WP 0, BNE 1, BF 0

Value of pending is not expected to go from 1536 to zero if only 384
bytes have been consumed via dma_reload() since last call to
dma_get_status().

Change the logic to read DGCS register later, after the WP and RP have
been already read, and only check the BNE bit if Read and Write
Positions are equal.

Link: https://github.com/thesofproject/sof/issues/9418
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Co-developed-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2024-09-04 09:53:57 +02:00
Francois Ramu
0fd7028eeb soc: stm32 decrease ticks per sec if sysclock is not LPTIM
Reduce the ticks per sec when the sysclock is low and
not LPTIM.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-09-04 09:53:50 +02:00
Daniel Leung
11e5a0de1d boards: xtensa/sample_controller: no HAL for xcc or xt-clang
Xtensa toolchains also contain a profile for sample_controller.
So if compiling for it, skip the Xtensa HAL module in Zephyr
tree so the toolchain can use the one included in the toolchain.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-09-04 09:52:31 +02:00
Krzysztof Chruściński
175855e0d8 soc: nordic: Use 31250 Hz as system tick rate for GRTC
So far 10 kHz tick rate was used but it has 2 drawbacks:
- kernel timer precision is limited to 100 us which is worse compared
to 30 us on platforms which use RTC (which had 32768 Hz tick rate)
- GRTC has 1 MHz frequency so tick rate requires dividing by 100 during
 timeout calculation. When 31250 Hz is used (which is 1000000 / 32)
then dividing can be done with bit shifting and it is faster (> 2 times
faster on Cortex-M33 and >8 times faster on VPR - RISCV).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-03 10:43:30 +02:00
Peter Ujfalusi
9fd2e11944 drivers: dma: intel-adsp-hda: Report total_copied bytes on ACE2/3
With ACE2/3 the HDA DMA includes registers to read the Linear Link
Position.
Previous platforms (CAVS, ACE1) was able to report the LLP for GPDMA. Since
ACE2 all links are handled with HD-DMA, hence the new register has been
added for the firmware to report the LLP to the host.

Set the total_copied to 0 for older ACE1/CAVS platforms and in case of
host DMA on ACE2/3 since the informatiojn is not available.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2024-09-03 10:42:25 +02:00
Gerard Marull-Paretas
726c8abf32 soc: nordic: nrf54l15: add missing include
Add nrf5x binding header, as NRF5X_REG_MODE_DCDC is used in a macro
comparison. Missing header prevented evaluation to become true and so
enable DC/DC module.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-09-02 12:29:51 -04:00
Nazar Palamar
261344c6c7 soc: infineon/cyw20829: Update SYS_CLOCK_HW_CYCLES_PER_SEC
Update SYS_CLOCK_HW_CYCLES_PER_SEC to 96000000

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-09-02 11:58:18 +02:00
Fabrice DJIATSA
21150edc05 soc: st: stm32: add soc for stm32u031
select soc for stm32u031 and irq configuration

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-02 11:53:47 +02:00
Marcio Ribeiro
baf62b7a98 soc: esp32: XIP removed from Espressif targets
The way ESP32 XIP works (with MMU and cache) does no fit the way Zephyr XIP
is implemented, causing issues related to included Zephyr linker files.
Flash code still resides in flash for execution, but MMU/Cache handles it
in such way that XIP might not (or should not) be used with current Zephyr
approach. To address this problem, XIP configuration option is being
removed from Espressif targets.

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2024-08-31 06:47:52 -04:00
Marcio Ribeiro
cb583995b8 arch: riscv: imply XIP config pushed to SoC level
'imply XIP' pushed from arch/Kconfig/'config RISCV' to riscv SoCs Kconfig
files to allow riscv SoCs having XIP enabled (or not) at SoC level

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2024-08-31 06:47:52 -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
Declan Snyder
630faa1592 soc: nxp: rt1011: Fix RT1011 FCB offset
RT1011 expects it's flash configuration block at a different offset than
the rest of the RT10xx series. Add default to fix the platform not
booting.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-29 16:11:18 -04:00
Hake Huang
6b796314fe soc: mimxrt595s/cm33, mimxrt685s/cm33: Add clock config for audio
Add clock config for Flexcomm peripherals functioning as I2S interfaces.
Add MCLK clock config for the WM8904 codec located on the mimxrt595_evk
and mimxrt685_evk boards.

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2024-08-29 15:53:26 +02:00
Vit Stanicek
b8466e0c95 boards: mimxrt685_evk/mimxrt685s/cm33: Enable DMIC
Enable DMIC clock in soc.c - attach to chip's audio PLL. Add pinmux
definitions for the DMIC peripheral. Add nodes to SoC's device tree for
the DMIC peripheral and its audio channels. Configure the DMIC
peripheral in board's device tree to enable audio capture.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2024-08-29 15:53:26 +02:00
Karol Lasończyk
e3bcd428b3 soc: Add support for nRF54L15
Add support for production version of the device.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-08-29 12:02:35 +02:00
Ren Chen
b90a507ba1 soc: ite: it8xxx2: support 96MHz PLL frequency and lcvco calibration
To enhance USB clock's accuracy, this change supports 96MHz PLL frequency
and LCVCO calibration.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-08-29 11:38:20 +02:00
Flavio Ceolin
874e4e2e19 intel_adsp: Add board definitions for adsp simulator
Add board definition for Intel ADSP (ACE family) simulators.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-08-28 16:35:55 -04:00
Anke Xiao
883f36c448 soc: nxp: kinetis: ke1xz: update soc.c to add flexio clock
Add flexio clock configuration, and select the clock source.

Signed-off-by: Anke Xiao <anke.xiao@nxp.com>
2024-08-28 06:50:50 -04:00
Andrzej Drabarek
166b9bf35a soc: polarfire: split into cpu clusters
Split Polarfire SoC into CPU clusters as they have different
capabilities.

Signed-off-by: Andrzej Drabarek <adrabarek@antmicro.com>
2024-08-28 06:50:40 -04:00
Lucas Tamborrino
5dc545290c soc: espressif: psram as shared multi heap
Currently, if the user wants to allocate heap on external RAM
he needs to enable CONFIG_ESP_SPIRAM and set a threshold defined
with CONFIG_ESP_HEAP_MIN_EXTRAM_THRESHOLD.

This approach requires that we re-implement `k_malloc` and allocate
the memory on the proper region based on the block size.

By using the shared multi heap feature the proccess of allocating
memory from external memory becomes more fluent and simple.

The attribute SMH_REG_ATTR_EXTERNAL was added to reference the
external memory.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-08-27 18:37:47 -04:00
Jose Alberto Meza
e2b34b96e3 soc: microchip: mec172x: Add CPU barriers during low power entry/exit
Follow ARM architecture recommendations:
* Use Data Synchronization Barrier (DSB) instruction before WFI,
to ensure that pending memory transactions complete before
changing state.

* To guarantee pend interrupts are recognized before subsequent
operation, use ISB after CPSIE (__irq_enable)

This prevents sporadicy delayed ISRs due to continous MEC172x
entering/exiting deep sleep.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-08-27 18:37:11 -04:00
Quy Tran
d1d42ec7f3 dts: bindings: clock: Change clock control binding for Renesas RA
Background of this modification is to make clock control
driver code provided by Renesas vendor to support for Renesas MCU
on Zephyr.

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2024-08-27 07:08:19 -04:00
Quy Tran
6e6403d4cb soc: renesas: Add initial support for RA4W1 SOC
Initial commit to support Renesas RA4W1 SOC

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2024-08-27 07:08:19 -04:00
Quy Tran
41e140d781 soc: renesas: Add initial support for RA4M3 SOC
Initial commit to support Renesas RA4M3 SOC

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2024-08-27 07:08:19 -04:00
Quy Tran
73848437b3 soc: renesas: Add initial support for RA4M2 SoC
Initial commit to support Renesas RA4M2 Soc

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2024-08-27 07:08:19 -04:00
Quy Tran
81b83902cf soc: renesas: Add initial support for RA4E2 soc
Initial commit to support Renesas RA4E2 SoC

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2024-08-27 07:08:19 -04:00
Lucien Zhao
e4341a40c3 soc: nxp: imxrt: imxrt118x: Enable GPT1/2 clock
dts: arm: nxp: mimxrt1180_evk: add GPT1/2 instance into devicetree

Enable GPT1/2 clock
Add GPT1/GPT2 instances
Set GPT2 as a counter, the default frequency is 240000000

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-27 12:46:00 +02:00
Michael Zimmermann
d49cc8a56f drivers: clock_control: Add initial SiM3U1xx support
This serves two main purposes:
- change the CPU clock via devicetree nodes
- provide the APB frequency to device drivers via the clock driver
  interface

Theoretically this could also support choosing between the available
clock sources, but right now we only support LPOSC0 going into PLL0,
going into AHB.

Turning the PLL back off is also not supported since the only current
use case is to set the PLL frequency, turn it on, and switch the AHB
over to it.

Signed-off-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net>
2024-08-26 18:51:36 +02:00
Michael Zimmermann
5a1c4cd2e9 soc: Add initial SiM3U1xx support
This is the bare minimum and includes the SoC, pinctrl, flash and
devicetree.

I had to include the flash driver that early because I couldn't make
Zephyr compile without flash driver nodes in the device tree.

Signed-off-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net>
2024-08-26 18:51:36 +02:00
Reto Schneider
9673cd14f4 soc: silabs: Simplify logic
This makes it easier to add non-gecko SoCs.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-08-26 18:51:36 +02:00
IBEN EL HADJ MESSAOUD Marwa
a0c1ca409e soc: st: stm32: Add serie stm32u0
Add STM32U0 familly support

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2024-08-26 11:28:04 -04:00
Jimmy Zheng
91e524862d soc: common: riscv-privileged: add riscv_clic_irq_vector_set() for clic
Introduce riscv_clic_irq_vector_set() to implement z_riscv_irq_vector_set()
for CLIC. This commit also introduces CONFIG_CLIC_SMCLICSHV_EXT to indicate
support for the smclicshv extenion and riscv_clic_irq_vector_set().

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-08-26 17:05:53 +02:00
Declan Snyder
5f541431d6 soc: imxrtxxx: Fix flexspi boot issue
FCB was being relocated to the wrong location, and the flexspi clock
setup was not being relocated.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-24 19:22:23 -05:00
Jyri Sarha
746ddccf54 intel_adsp: debug_window: Add slot type for debug-stream transport
Add slot type for debug-stream transport over a debug window slot. For
details see src/debug/debug_stream/debug_stream_slot.h under SOF
sources [1].

[1] https://github.com/thesofproject/sof

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2024-08-24 19:21:57 -05:00
Lucien Zhao
1b90b46f75 soc: nxp: imxrt: support external memory hyperram
add xmcd data section to save xmcd data in linker.ld

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-24 07:16:11 -04:00
Sylvio Alves
b7b03e5682 soc: esp32: kconfig: add unsupported revision config
ESP32 SoC has multiple revisions, some of which are not supported
by the current implementation, as such as REV0 and REV1. This PR
adds an option to indicate user that this is not recommended and not
supported.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-08-24 07:15:50 -04:00
Karol Lasończyk
85c292ac59 soc: nordic: Move DCDC configuration to DT for nRF54L15
Moving configuration for nRF54L15 device from kconfig to dts.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-08-23 15:49:52 +01:00
Anders Bjørn Nedergaard
29dc419ad2 soc: rt11xx: Fix dual core ENET PLL
IMXRT11XX secondary core should not deinit ENET PLL
as it could be configured by primary core.

Signed-off-by: Anders Bjørn Nedergaard <abn@polytech.com>
2024-08-23 09:52:28 +02:00
Raffael Rostagno
4fc8033d88 soc: mp: esp32: Added IRQ priority and flags config
Interrupt priority and flags config for crosscore ISR
sourced from device tree.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-08-22 14:25:25 -04:00
Emanuele Di Santo
242a70b32e soc: nordic: Add initial support for nRF9280 SiP
The nRF9280 is a SiP (System-in-Package) consisting of the nRF9230 SoC
and additional components such as PMIC and others. Additionally,
the nRF9230 contains several CPUs, similarly to the nRF54h20 SoC.

Update nrfx glue, and add necessary Kconfig and initialization code
to allow building for nRF9280 targets: CPU, Radio and PPR cores.

The nRF9280 is used for all user build targets and Kconfigs,
whereas the nRF9230 is used as the build target for the MDK.

Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
Co-authored-by: Andreas Moltumyr <andreas.moltumyr@nordicsemi.no>
2024-08-22 14:24:38 -04:00
Emanuele Di Santo
49c79582f6 soc: nordic: common: add CAN121 to nrf54hx_nrf92x_mpu_regions.c
Add support for CAN121, if present in DT.

Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
2024-08-22 14:24:38 -04:00
Emanuele Di Santo
0a9ad40a85 soc: nordic: move mpu_regions.c to common folder and rename
Move mpu_region.c to common folder, to re-use with nRF92.
Rename it to nrf54hx_nrf92x_mpu_regions.c to indicate
which product series it applies to.

Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
2024-08-22 14:24:38 -04:00
Lucien Zhao
e9e62b6aaa soc: nxp: imxrt: imxrt118x: Enable lpi2c0102/0304/0506 clock
Enable lpi2c0102/0304/0506 clock

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-22 14:21:27 -04:00
Peter van der Perk
d1a6b45345 soc: rt11xx: Fix bus clocking
IMXRT117X bus clock should be 240MHz and IMXRT116X should be 200MHz

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2024-08-22 14:20:26 -04:00
Yangbo Lu
09d700c707 soc: nxp: imx: add i.MX93 Cortex-M33 support
Added basic soc support for i.MX93 Cortex-M33.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-08-22 09:15:16 +02:00
Declan Snyder
814bb2e81e soc: rw: Consolidate clock cycle kconfig.
No need for this to be expanded out so much.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00