Commit graph

4638 commits

Author SHA1 Message Date
Richard Wheatley
05371a41f6 soc: ambiq: apollo4x: Kconfig Update Selections
Add Selections to match HAL updates

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2024-05-08 12:41:14 +02:00
Sylvio Alves
3f07d4b6ab soc: espressif: add misssing external xtal kconfig entry
External XTAL usage is missing a Bootstrap Cycle configuration
in Kconfig, causing build to failure when CONFIG_RTC_CLK_SRC_EXT_CRYS
is selected.

Fixes #72190

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-05-07 21:21:46 -04:00
Hao Luo
d71c97f072 drivers: pinctrl: Add pinctrl driver for Apollo3 SoCs
This commit adds pinctrl support for Apollo3 SoCs.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-05-07 18:57:19 +02:00
Hao Luo
7b115fea81 soc: arm: ambiq: apollo3: Add support for Apollo3 Blue SoC
Add all required parts (new SoC family/series, device tree) for
the Ambiq Apollo3 Blue SoC.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-05-07 18:57:19 +02:00
Hao Luo
a0b07212e9 soc: arm: ambiq: apollo3: Add support for Apollo3 Blue Plus SoC
Add all required parts (new SoC family/series, device tree) for
the Ambiq Apollo3 Blue Plus SoC.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-05-07 18:57:19 +02:00
Tomasz Moń
149df6b61b soc: nordic: nrf54h20: Disable USBHS core cache
Configure USBHS core registers as non-cachable to prevent D-Cache from
inhibiting volatile accesses to the USBHS core registers.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-05-07 13:50:58 +01:00
Rafał Kuźnia
fe98eb767c soc: nrf54h: Enable SPI DW HSSI register layout
The nRF54H20 implements a variant of the SPI DW peripheral that
has slightly different register layout. Enable it in the defconfig.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-05-07 09:52:53 +01:00
Angelo Dureghello
5341f4a8ad soc: st: set soc-level phy priority
Introducing MDIO and PHY support for stm32, phy driver gets
error (-116) if it tries to read phy chip id, since MDIO IP is
part of ETH IP, and eth hw module is still not initialized.

Forcing a priority that allows possibly connected PHY chip to be
detected properly at initial boot.

Signed-off-by: Angelo Dureghello <adureghello@baylibre.com>
2024-05-07 09:41:46 +02:00
Kai Vehmanen
2dd648698f soc/intel_adsp: ipc: initialize semaphore in driver init
The ipc driver device data (struct intel_adsp_ipc_data) contains a
semaphore. Upon device init, the device data is zeroed out. This is safe
for other fields, but the semaphore should be properly initialized
before use.

This lack of initialization leads to a system crash when CONFIG_POLL is
enabled (e.g. to enable CONFIG_SHELL), IPC driver handles an interrupt
and executes k_sem_give() on a uninitialized semaphore object. This will
eventually lead to null dereference in z_handle_obj_poll_events().

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-05-06 22:51:06 +01:00
Abderrahmane Jarmouni
d3c9a986ec soc: st: stm32: stm32f1x: remove hwmv1 stuff
Remove forgotten "config SOC..." stuff.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-05-06 15:04:06 +01:00
Ian Morris
0fd5365d75 soc: renesas: ra: configure option settings memory
An area of flash memory on the RA4M1 MCU is used to store information
used to configure the device following a reset. This patch instructs
the linker to reserve this memory area and provides kconfig options
that are used to populate it (at build time) with the desired device
configuration.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-05-06 14:53:57 +01:00
Romain Pelletant
68fc448b1c soc: st: add stm32c011xx support
Add STM32C011XX familly support

Signed-off-by: Romain Pelletant <romainp@kickmaker.net>
2024-05-02 22:41:51 +01:00
Damian Nikodem
6205f82d4f intel_adsp: adsp_memory: update mtl memory definitions
This commit updates the device tree and memory header file
for the Intel MTPM 1.5 platform to define the LSBPM and
HSBPM registers.

Changes include:
- Added node definitions for 'lsbpm' and 'hsbpm' in
intel_adsp_ace15_mtpm.dtsi
- Updated adsp_memory.h

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-05-01 10:31:52 +02:00
Damian Nikodem
6fe16960fd intel_adsp: adsp_memory: update lnl memory definitions
This commit updates the device tree and memory header file
for the Intel LNL 2.0 platform to define the LSBPM and
HSBPM registers.

Changes include:
- Added node definitions for 'lsbpm' and 'hsbpm' in
intel_adsp_ace20_lnl.dtsi
- Updated adsp_memory.h

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-05-01 10:31:52 +02:00
Damian Nikodem
2176ca9f9b intel_adsp: adsp_memory: update cAVS 2.5 memory definitions
This commit updates the device tree and memory header file
for the Intel cAVS 2.5 platform to define the LSBPM and
HSBPM registers.

Changes include:
- Added node definitions for 'lsbpm' and 'hsbpm' in
intel_adsp_cavs25.dtsi and intel_adsp_cavs25_tgph.dtsi
- Updated adsp_memory.h

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-05-01 10:31:52 +02:00
Jiafei Pan
85db836f8e soc: imx7d: fix CPP application building error
For CPP application, such as samples/cpp/cpp_synchronization/, it will
report the following building errors:

...
zephyrproject/modules/hal/nxp/imx/devices/MCIMX7D/./MCIMX7D_M4.h:5101:51:
error: 'reinterpret_cast<CCM_Type*>(808976384)' is not a constant
expression
...

The error is caused by commit: 72312feead
" arch: arm: cortex_m: Use cmsis api instead of inline asm in arch_irq_*"
This patch will cause kernel.h includes cmsis_core.h which includes soc.h,
so that soc.h will be used by c++ code.

This patch make soc.h can be c++ compatible.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-05-01 10:27:37 +02:00
Jamie McCrae
4b2d19f147 soc: nordic: Add run once and deferred reset configuration
Adds configuration that allows nRF53 and nRF91-based boards to be
flashed through west using sysbuild for multiple images with the
recover or erase options and prevent running those commands for
each image being flash, which would make the device unbootable.
Also defers reset whilst all images for the cores of these SoCs
are flashed.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-04-29 17:56:19 +01:00
Jamie McCrae
8b62a16b57 soc: nordic: Reformat soc.yml file
Reformats the soc.yml file to have uniform 2-space indentation

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-04-29 17:56:19 +01:00
Patryk Duda
8c6e801250 soc: xlnx: zynq7000: Select SYSCON in SoC config
The pinctrl driver actually uses SYSCON, so 'depends on' should be used
instead of 'select'. SYSCON should be selected in SoC config instead,
just like other SoC do.

This breaks Kconfig dependency loop for configs that indirectly depends
on SYSCON and causes PINCTRL to be selected.

Signed-off-by: Patryk Duda <patrykd@google.com>
2024-04-29 09:56:58 +01:00
Declan Snyder
a1916b0121 soc: nxp: rw: Fix error if PMU reset not specified
Don't build error if the reset causes is not specified on
the PMU node.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-26 19:49:54 +01:00
Jun Lin
08fedb4a80 drivers: uart: npcx: add asychronous API support
This commit implement the UART asynchronous API mode support.
When the API is used, the UART hardware cooperates with the DMA (MDMA)
module to handle the the data transfer and receiving.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-04-26 16:13:25 +02:00
Tim Lin
f80e53dcc8 ITE: soc: Add the variant of it82302bw
Add the variant of it82302bw.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-04-26 16:10:55 +02:00
Tim Lin
c3fb094e69 ITE: soc: Add the variant of it82202bw
Add the variant of it82202bw.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-04-26 16:10:55 +02:00
Tim Lin
3a9b253491 ITE: soc: Kconfig: Remove underscore makes config names consistent
Remove underscore makes config name consistent.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-04-26 16:10:55 +02:00
Tim Lin
6158031f78 ITE: soc: Modify Kconfig default declare
Using the SOC_IT8XXX2_REG_SET_V2 instead of constantly adding new
variants of the IT82XX2 SoC.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-04-26 16:10:55 +02:00
David Leach
9b0ccc8d24 west.yml: Update NXP HAL MCUX-SDK to add MKE1XZ9 support
Add MKE1XZ9 and some additional HAL cleanup patches.
Update bumped the chip version for RW610.

Signed-off-by: David Leach <david.leach@nxp.com>
2024-04-26 09:30:11 +02:00
Junho Lee
76ec481794 soc: brcm: add support for BCM2712
Add support for BCM2712, SoC of Raspberry Pi 5.

Signed-off-by: Junho Lee <junho@tsnlab.com>
2024-04-25 18:06:43 -04:00
Andrzej Kaczmarek
422092f2d3 drivers: gpio: smartbond: Add GPIO latching for PM
This adds automatic GPIO latching before going to extended sleep and
restoring state after wakeup.

Mode and state for each pin is stored, then ports are latched to retain
state when PD_COM is disabled during sleep. On wakeup mode and state for
each pin is restored and ports are unlatched to make it work again.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2024-04-25 16:17:53 +02:00
Andrzej Kaczmarek
80c5f72fe2 soc: arm: smartbond: Enable cache retainability in sleep
This enables cache retainability while in sleep so there's no penalty
when executing from QSPI after wakeup.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2024-04-25 16:17:53 +02:00
Andrzej Kaczmarek
fbc7a9e209 soc: arm: smartbond: Add support for extended sleep
This enabled extended sleep for Renesas SmartBond(tm).

Extended sleep is low power mode where ARM core is powered off and can
be woken up by PDC. This is default sleep mode when CONFIG_PM is
enabled.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2024-04-25 16:17:53 +02:00
Andrzej Kaczmarek
8ccc345c6e soc: arm: smartbond: Always select PLATFORM_SPECIFIC_INIT
Platform specific init is needed once power management is introduced.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2024-04-25 16:17:53 +02:00
Andrzej Kaczmarek
6307d8de78 drivers: timer: Add timer driver to Renesas SmartBond(tm)
This adds timer driver for Renesas SmartBond(tm) family.
It uses TIMER2 block which is in PD_TIM power domain so it can work even
if ARM core is disabled, thus can work as a sleep timer.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2024-04-25 16:17:53 +02:00
Mykola Kvach
797158997f boards: arm64: add support of Renesas Spider S4 A55 board
Add support of 'rcar_spider_s4/r8a779f0/a55' board: minimal dts
and configuration.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-04-25 14:54:51 +02:00
Krzysztof Chruściński
d82b27b08b soc: nordic: nrf54h: Add DCACHE initialization
Add initialization of the data cache.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-04-25 12:43:44 +00:00
Krzysztof Chruściński
cfa6e250e4 soc: nordic: nrf54h: Remove redundant ICACHE kconfig
Remove CONFIG_NRF_ENABLE_ICACHE as it is not needed. There is CONFIG_ICACHE
which is by default enabled for nrf54h.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-04-25 12:43:44 +00:00
Håkon Amundsen
5895be5438 dts: nordic: add USBHS node for nrf54h20
Add missing USBHS node to list of global peripherals.

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
2024-04-25 11:05:41 +00:00
Daniel Schultz
145e17d1c9 soc: ti: k3: Add support for AM6442
The AM64x and AM62x are both SOCs from the TI K3 family
and share common architecture designs. The M4F subsystem
is actuall identical on both SOCs.

Therefore, just add all missing CONFIGs, files, etc. to
support the AM6442x SOC.

Since MMR and RAT initialization are identical too, both
functions can be re-used. However, since they might
differ in the future, the am64x has it's own init
function.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2024-04-24 15:56:01 -04:00
Alvis Sun
c6763bd2ca drivers: i3c: npcx: introduce NPCX I3C driver
This implements basic driver to utilize the I3C IP block
on NPCX.

1. I3C mode: Main controller mode only.
2. Transfer: Support SDR only.
3. IBI: Support Hot-Join, IBI(MDB).
   Controller request is not supported.
4. Support 3 I3C modules:
   I3C1(3.3V), I3C2(1.8V, espi mode), (I3C3 1.8V or 3.3V)

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2024-04-24 19:40:28 +00:00
Alvis Sun
3ed5f8a948 drivers: clock_control: npcx: add MCLKD as i3c source clock
1. The only valid values of MCLKD clock frequency
   are between 40Mhz to 50Mhz.
2. If DMA is used, the APB4_CLK clock frequency must
   be equal to or higher than 20Mhz.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2024-04-24 19:40:28 +00:00
Ren Chen
9b8550a24a ite/it8xxx2: avoid cpu entering deep doze mode when JTAG is enabled
Prevent the CPU from entering deep doze mode when JTAG debug is enabled.
Additionally, The CPU address from 0x80000800 to 0x800008FF should be
reserved for JTAG debug usage. This commit reserves the area from the end
of the reset section to 0x800008FF if JTAG debug is enabled.

Tested with:
- west build -p always -b it82xx2_evb samples/hello_world/
       -DCONFIG_SOC_IT8XXX2_JTAG_DEBUG_INTERFACE=y

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-04-24 19:40:07 +00:00
Ruibin Chang
1d74cb74d9 drivers/crypto/crypto_it8xxx2_sha_v2.c: implement sha v2 for it82xx2 series
Implement a new version crypto_it8xxx2_sha_v2 driver for it82xx2 series.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2024-04-24 09:55:46 +02:00
Dino Li
63848e0162 it8xxx2/linker: correct __ilm_ram_end
correct __ilm_ram_end

Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2024-04-24 09:55:46 +02:00
Marcin Szymczyk
63a5f97019 soc: nordic: vpr: add enabling of RT peripherals in PRE_KERNEL
Real Time peripherals should be enabled by default.
Add a common initialization point for all VPRs and enable them.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2024-04-23 21:26:04 +00:00
Marcin Szymczyk
ab79670fd6 soc: nordic: vpr: remove IRQ handling and enable RISCV_PRIVILEGED
IRQ handling functions are now in interrupt controller.
Enable necessary KConfigs to support CLIC properly.
A nice side effect of enabling RISCV_PRIVILIGED is that
`vector.S` is no longer necessary as common code handles
that.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2024-04-23 15:35:12 +02:00
Lukasz Stepnicki
37e3449a39 soc: nordic: vpr: fix soc isr sw stacking.
Fixed order of mepc and _mcause in esf for 32bit stacking.
Added missing stack pointer alignement bit support.'

Signed-off-by: Lukasz Stepnicki <lukasz.stepnicki@nordicsemi.no>
2024-04-22 15:01:08 +00:00
Najumon B.A
b5917146d4 soc: x86: add gpio acpi resource enumeration
add support for enumerate gpio resource using acpi

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-04-22 06:50:38 -07:00
Marcin Szymczyk
75f5d98002 soc: riscv-privileged: support SoCs without reset vector
RISCV_PRIVILEGED implicitly depends on INCLUDE_RESET_VECTOR.
Remove that dependency by adding support for SoCs that
do not need the `__reset` stub.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2024-04-22 06:50:12 -07:00
Lubos Koudelka
c80ace50f4 soc: st: stm32: adding option to enable prefetch buffer
For more effective code execution on STM32 devices is convenient
 to enable flash prefetch buffer.
To be enabled by default, possible to disable using kconfig.

Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
2024-04-22 06:49:32 -07:00
Wei-Tai Lee
5db2590106 soc: andestech: Remove l2_cache.c
Replace l2_cache.c with cache driver.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-04-22 09:19:27 -04:00
Wei-Tai Lee
6b26cdb7e0 soc: andestech: set default cache type
Configure default cache driver as external cache driver.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-04-22 09:19:27 -04:00