Commit graph

4517 commits

Author SHA1 Message Date
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
Wei-Tai Lee d1e2c8bea5 soc: andestech: add the definitions for cache driver
Add some definitions for cache driver.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-04-22 09:19:27 -04:00
Grzegorz Swiderski f16b33e902 soc: nordic: Fix undefined z_arm_platform_init
Fixes #71511
Follow-up to #70977

Update the approach by moving the `PROVIDE` directive to a separate
linker script added using `zephyr_linker_sources()`. This makes the
change more likely to propagate to existing samples which are using
CONFIG_CUSTOM_LINKER_SCRIPT.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-04-19 16:55:13 +00:00
Marek Matej 8c373b9bae soc: espressif: Fix the cache size set calls
Move the cache size set calls from soc.c do common loader.c
for all related SOCs. Remove unnecessary includes.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-19 10:07:15 +02:00
Nikodem Kastelik a7a6119bf9 soc: nordic: nrf54h: make soc.h available to non-ARM CPUs
This file contains generic macros needed on non-ARM Nordic CPUs.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-04-19 02:23:16 +01:00
Nikodem Kastelik 03cb84ffda soc: nordic: add nRF54 TWIS HAS_HW symbols
Add HAS_HW symbols for TWIS instances
found on nRF54H20 and nRF54L15 devices.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-04-19 02:23:16 +01:00
Sylvio Alves 9153f70da1 soc: esp32: spiram: add ECC config
Adds ECC feature to be enabled for esp32s3 SoC.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-04-18 08:05:22 -07:00
Declan Snyder 9ac2ee91f2 drivers: nxp_enet: Correct PTP clock dependencies
The dependencies should be in a 'depends on' clause.
Also, 'depends on PTP_CLOCK' is redundant because this is
within 'if PTP_CLOCK' already.

Additionally, conditionally include the PTP header in the mac driver.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-18 11:18:31 +02:00
Ruibin Chang 72895507af soc: it8xxx2: kconfig: define CONFIG for variant chip
Variant chip has different USBPD HW PHY, so FW needs
to apply different downstream CONFIG settings based on
the PHY version.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2024-04-18 11:13:38 +02:00
Jakub Zymelka c386c66483 soc: add nRF54L15 FLPR core support
Add support for nRF54L15 FLPR core.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Jun Lin 011b730b4c driver: reset: npcx: add driver support for reset controller
Nuvoton NPCX chips have reset registers which allow to reset the
peripheral hardware modules. This commit adds the support by
implementing the reset driver. Note that only the reset_line_toggle API
is supported because of the nature of the reset controller's design.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-04-16 09:09:13 +02:00
Wilfried Chauveau 4760aad353 arch: arm: cortex_m: Convert cpu_idle from ASM to C
Asm is notoriously harder to maintain than C and requires core specific
adaptation which impairs even more the readability of the code.

This change reduces the need for core specific conditional compilation and
unifies irq locking code.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>

# Conflicts:
#	soc/arm/nordic_nrf/nrf53/soc_cpu_idle.h
2024-04-15 09:09:28 -07:00
Kai Vehmanen 7fd0a7a5eb soc: intel_adsp: replace icache ISR workaround with custom idle solution
A workaround to avoid icache corruption was added in commit be881d4cf2
("arch: xtensa: add isync to interrupt vector").

This patch implements a different workaround by adding custom logic to
idle entry on affected Intel ADSP platforms. To safely enter "waiti"
when clock gating is enabled, we need to ensure icache is both unlocked
and invalidated upon entry.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-04-15 16:26:39 +02:00
Marek Matej 213bad1de0 soc: espressif: add missing linker symbols
Provide missing symbols to the default linker scripts.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-15 16:26:20 +02:00
Jędrzej Ciupis ec3c3f153b soc: nordic: nrf53: network CPU Force-OFF management
This commit introduces a common API for managing nRF53 SoC network CPU
Force-OFF state.

From the application CPU point of view, the network CPU is a shared
resource used by multiple users. The current solution where every user
controls the network core state directly leads to dependencies between
users and does not scale well.

To address this problem there should be a single entity responsible for
controlling the network CPU Force-OFF signal. This commit introduces
such module.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-04-12 11:31:47 +02:00
Gwen Weinholt 58d204acf9 soc: st: stm32: stm32l4x: enable ART flash cache accelerator
Enable instruction cache, data cache and prefetching.

Signed-off-by: Gwen Weinholt <git@weinholt.net>
2024-04-12 09:18:15 +02:00
Tim Lin ca66e7d5e1 ITE: soc: chip_chipregs: Cleanup it8xxx2 chip registers
1. Distinguish the registers of V1 and V2.
2. Remove unused chip variant configuration.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-04-12 09:18:08 +02:00
Daniel DeGrasse 46bed8896e soc: nxp: rw: add support for USBOTG controller
Add code to clock and release reset signal for USBOTG controller on
RW6xx SOC when USB is enabled, and add KConfig selection to indicate to
build system which USB controller this SOC uses.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-04-11 09:09:00 +02:00
Flavio Ceolin 8a63a0a563 intel_adsp: ipc: Fix policy state lock usage
IPC has inverted the usage of the state lock API.
In this API semantics, the get method disallow the policy of
using the given state, while the put() release this constraint.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-04-11 09:07:13 +02:00
Kai Vehmanen 7fee1bdd39 soc: intel_adsp: cavs: fix power_down documentation
Fix the inline documentation to match implementation. As IPFL is used,
the correct matching function is xthal_icache_region_lock().

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-04-10 15:55:21 +02:00
Kai Vehmanen 03057f33d4 soc: intel_adsp: ace: fix power_down documentation
Fix the inline documentation to match implementation. As IPFL is used,
the correct matching function is xthal_icache_region_lock().

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-04-10 15:55:21 +02:00
Grzegorz Swiderski 7d45f3c92a soc: nordic: Provide z_arm_platform_init at link time
Nordic SoCs use this hook to execute `SystemInit` as early as possible
after ARM core reset. Previously, `z_arm_platform_init` was defined as
assembly code, which would simply jump to the other function.

However, this extra code can be avoided by using `SystemInit` directly
in place of the `z_arm_platform_init` symbol (whenever it's undefined).
This is now done with a linker script containing a `PROVIDE` directive.

This saves 4 bytes of ROM (0-16 depending on alignment) and also makes
it possible to override `z_arm_platform_init` out of tree, if needed.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-04-10 07:45:42 -04:00