Commit Graph

5208 Commits

Author SHA1 Message Date
Furkan Akkiz f42568ca7b soc: adi: Add the MAX78002 SoC
Added MAX78002 Kconfig and dts files.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2024-11-16 15:09:57 -05:00
Carles Cufi 9643ca20e9 nordic: Remove the nRF54H20 Engineering B
The production version of the nRF54H20 SoC is now available, so remove
the initial Engineering B (EngB) preview version.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-11-16 15:09:14 -05:00
Bjarki Arge Andreasen 3e6d6033bb soc: nordic: add fn for setting constlat mode
Nordic SoCs implement an event system, for which the system can
optimize for low latency/high power or low power.

Add soc level implementation of reference counted API which will
optimize for low latency if any part of the system requires it.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-11-16 15:08:11 -05:00
Sven Ginka fe4215462d soc: sensry: udma, pad renaming
Before that fix the names for UDMA could be misleading.
With that fix the namespace is clear and easy to follow.
Same applies for peripheral addresses and pad config.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2024-11-16 15:06:43 -05:00
Alan Yang bf8181bbb1 soc: nuvoton: Enable npcm clock control driver
Enable npcm clock control driver in npcm4.

Signed-off-by: Alan Yang <tyang1@nuvoton.com>
2024-11-16 15:06:25 -05:00
Maxime Vincent b77c50d7b8 soc: arm: nxp: lpc55xx flexcomm 3->7 clock init
Add clock init for FlexComm 3,4,5,6,7 in case they
are enabled in DeviceTree

Signed-off-by: Maxime Vincent <maxime@veemax.be>
2024-11-16 14:06:54 -05:00
Jamie McCrae 73f3f7dbef soc: gd: gd32: Remove setting Kconfig in wrong place
This Kconfig should not be set from here

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-11-16 14:06:37 -05:00
Jamie McCrae 557a2c6cbd soc: nxp: imx: imx8m: Remove wrong Kconfig setting
Removes setting a Kconfig in the wrong place

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-11-16 14:06:37 -05:00
Jamie McCrae 6bc6e4e5c2 soc: mediatek: mtk_adsp: Fix wrong hwmv2 Kconfigs
Fixes Kconfigs for hwmv2 being defined in the wrong files

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-11-16 14:06:37 -05:00
Yong Cong Sin ad7f3a9a0c soc: andestech: refactor out soc_early_init_hook() from pma.c
Refactor out the `soc_early_init_hook()` function from `pma.c` to
`soc.c` which is always compiled so that it can be extended to run
other init functions easily in the future. Then, restore the function
in `pma.c` to `pma_init()`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-11-16 14:04:25 -05:00
Yong Cong Sin 01b69e9c22 soc: andestech: run pma_init_per_core() with soc_per_core_init_hook()
The function `pma_init_per_core()`, as its name suggest, should be
run from every core, so call it from `soc_per_core_init_hook()`

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-11-16 14:04:25 -05:00
Yong Cong Sin cc0796ab86 soc: andestech: soc_per_core_init_hook() shouldn't return value
The `soc_per_core_init_hook()` function now has `void` type after
da118b9, so it should just return without any value.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-11-16 14:04:25 -05:00
Tomasz Leman 5cf2cb6a37 soc: intel_adsp: ace: Use DT macros instead of hardcoded values
Replace hardcoded register addresses and values in
asm_memory_management.h with Devicetree (DT) macros for LPSRAM
power-down operations. This change ensures that register addresses and
bank counts are dynamically obtained from the Devicetree, improving code
portability and reducing the risk of errors due to manual updates.

- Removed hardcoded LSPGCTL address definitions.
- Updated m_ace_lpsram_power_down_entire macro to use DT_NODELABEL to
  fetch LPSRAM bank count and control register address
- Adjusted bit field extraction logic to align with the updated register
  information from the Devicetree.

This commit aligns with the ongoing effort to utilize Devicetree for
hardware abstraction and to facilitate easier maintenance and updates to
the codebase.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-16 14:03:50 -05:00
Tomasz Leman 946aeaa7e8 soc: intel_adsp: ace: Remove obsolete HPSRAM power change macro
Remove the m_ace_hpsram_power_change macro from asm_memory_management.h
as it is no longer used after refactoring the power_down function to
utilize the new m_ace_hpsram_power_down_entire macro. This cleanup helps
to reduce code complexity and maintainability.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-16 14:03:50 -05:00
Tomasz Leman 2d997082fc soc: intel_adsp: ace: Update power_down to use new HPSRAM power-down macro
Refactor the power_down function to utilize the newly introduced
m_ace_hpsram_power_down_entire macro for shutting down the entire
HPSRAM. This change simplifies the power-down process by replacing the
previous segment-based power gating mask approach with a single boolean
flag that indicates whether the entire HPSRAM should be disabled.

The function signature of power_down has been updated to accept the new
boolean flag, and the corresponding call sites have been modified to
pass the flag based on the CONFIG_ADSP_POWER_DOWN_HPSRAM Kconfig option.

Additionally, the assembly code has been cleaned up to remove the
now-obsolete hpsram_mask array and related logic.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-16 14:03:50 -05:00
Tomasz Leman f447d10b0a soc: intel_adsp: ace: Add macro to power down entire HPSRAM
Introduce a new assembly macro, m_ace_hpsram_power_down_entire, which
utilizes Zephyr Devicetree macros to power down the entire HPSRAM on
Intel ADSP ACE platforms.

This macro dynamically retrieves the HPSRAM bank count and control
register address from the Devicetree, streamlining the power-down
process. The macro is designed to iterate over all HPSRAM banks and
issue a power down command to each, ensuring a complete shutdown of the
HPSRAM when required by the system's power management policy.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-16 14:03:50 -05:00
Tomasz Leman e0977dccd8 dts: xtensa: intel: Add hsbcap register node for ADSP ACE platforms
This commit introduces the L2 Memory Capabilities (hsbcap) register node
to the Devicetree specifications for Intel ADSP ACE platforms. The
hsbcap register provides information on the general capabilities
associated with the L2 memory, which is critical for system
configuration and resource management. The hsbcap node has been added to
the Devicetree source files for ACE 1.5 (MTPM), ACE 2.0 (LNL), and ACE
3.0 (PTL) platforms.

In addition, the DFL2MM_REG macro in adsp_memory.h has been updated to
use the Devicetree node label for hsbcap, ensuring a consistent and
maintainable approach to accessing this register across the codebase.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-16 14:03:50 -05:00
Tomasz Leman f810b5d292 soc: intel_adsp: ace: Clean up macro indentation in power_down.S
This commit improves the readability of the power_down.S assembly file
by standardizing the indentation of the preprocessor definitions.

No functional changes have been made; this is purely a cosmetic update
to the code formatting.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-16 14:03:50 -05:00
Tomasz Leman 095bc56a57 soc: intel_adsp: ace: Ensure TLB entry for HW registers during power-down
This commit addresses an issue on platforms with an MMU where a
LoadStoreTLBMissCause exception occurs when accessing hardware registers
during the power-down process. The exception arises when attempting to
access the IPC register after HPSRAM has been powered down, leading to a
double exception: LoadStoreTLBMissCause followed by
InstrPIFDataErrorCause.

To resolve this, we preload the IPC register before shutting down
LPSRAM. This change prevents the double exception by ensuring that the
page table entries are correctly managed in the TLB before HPSRAM is
powered down and allowing the power-down sequence to complete
successfully.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-16 14:03:50 -05:00
Maksim Drachov 91d3eb9107 soc: atmel: fix wait state value
The datasheet specifies that 2 wait states are required at 48 MHz.

Signed-off-by: Maksim Drachov <maksim.drachov@outlook.com>
2024-11-16 14:03:27 -05:00
Sreeram Tatapudi 0a9c0f4017 soc: infineon: Support for power management on 20829
- Initial changes in board, dts, and soc files to support
 system power management

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2024-11-16 14:03:04 -05:00
McAtee Maxwell 2fe4a37f38 Documentation: Update documenation for Infineon boards
-Update formatting and contents of index.rst for cy8ckit_062s4
	-Update formatting and contents of index.rst for cy8ckit_064s0s2_4343w
	-Update formatting and contents of index.rst for cy8cproto_062_4343w
	-Update formatting and contents of index.rst for cy8cproto_063_ble
	-Update formatting and contents of index.rst for xmc45_relax_kit
	-Update formatting and contents of index.rst for xmc47_relax_kit
	-Change all instances of "PSoC" to "PSOC" for infineon platforms

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2024-11-14 20:36:38 -06:00
Luca Burelli 07df2c5d5e soc: sensry: sy1xx: add support for LLEXT build
The linker script for this SoC was not including the LLEXT section
definitions when CONFIG_LLEXT was enabled. This patch adds the
necessary include directive to the linker script and fixes the build
issue identified by CI.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-11-14 11:01:27 -06:00
Luca Burelli 876b44d150 soc: mediatek: mt8195_adsp: add support for LLEXT build
The linker script for this SoC was not including the LLEXT section
definitions when CONFIG_LLEXT was enabled. This patch adds the
missing include directive to the linker script.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-11-14 11:01:07 -06:00
Raffael Rostagno c4b7903828 pinctrl: esp32c6: Fix for input/output enable flags
Fix missing input/output enable flags on pinctrl macro, which
wouldn't allow for driver to see and apply flags configuration
made in the device tree.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-11-08 11:36:21 -06:00
Marek Matej ed1179713c soc: esp32s3: AMP support
Updates and fixes to support APPCPU.
- fix ld scripts
- fix and update memory layout
- fix build issues
- fix sysbuild

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-11-08 11:36:09 -06:00
Emilio Benavente c06ecf9a50 soc: nxp: mcxw: Update IRQ Size for MCXW to remove reserved IRQ
The FRDM_MCXW71 Platform has a reserved IRQ as its
last IRQ, this test was using this IRQ to
test an interrupt and would not fire. This change
ensures the test does not use the reserved IRQ.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-11-08 09:26:43 -06:00
Francois Ramu f781d7a26f soc: st: stm32U5/L5 series also have SWO line
Add the SWO trace output to the stm32H5/H7RS/L5/U5/WB series

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-11-07 18:05:07 -06:00
Grixa Yrev 91a59e7e15 soc: nxp: imxrt: exclude mpu_regions.c when ARM_MPU disabled
When option ARM_MPU is disabled exclude soc\nxp\imxrt\mpu_regions.c.
It is needed to remove constraints of SRAM and FLASH size.
Fixes #70920

Signed-off-by: Grixa Yrev <GrixaYrev@yandex.ru>
2024-11-07 11:07:04 -08:00
Gerard Marull-Paretas faf075a9d4 soc: nrf54h: gpd: use callback to fetch nrfs async result
Busy-waiting for the result of the nrfs service calls can stall, so
let's use a callback that flags a semaphore instead. Since the API is
supposed to be callable in the context of pre-kernel, fallback to
busy-wait on that scenario.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-11-07 08:57:45 -08:00
Raymond Lei 2696220bee soc: nxp: imxrt11xx: Typo in clock initialization of usb2
a typo in usb2 clock initialization which impact the function of usb2.
fixes: #81027

Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
2024-11-07 08:32:51 -06:00
Sylvio Alves 07fd5600a9 kconfig: fix typo and help description.
Fix typo and re-phrase help description to improve it.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-11-06 16:40:30 -06:00
Xiaoli Ji e20c095eee soc: nxp: imxrt118x: update MPU configuration
fixes: #80721
Updated mpu region address to secure address.

Signed-off-by: Xiaoli Ji <xiaoli.ji@nxp.com>
2024-11-06 14:43:00 -06:00
Thao Luong 56326e4677 soc: renesas: ra: Remove CONFIG_PINCTRL
Remove CONFIG_PINCTRL from ra defconfig files

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2024-11-06 09:59:32 -08:00
Valerio Setti adad8dc48a soc: remove usage of TinyCrypt in NXP SOCs
As for the IMX SOCs all the lines removed in this commit were
actually commented out so there's basically no change in code
behavior expected here.
The only affected SOCs family is therefore the Kinetis one.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-11-05 13:44:20 -06:00
Grzegorz Swiderski c1776df8ae soc: nordic: dmm: Fix DMM_REG_ALIGN_SIZE macro when CONFIG_DCACHE=n
Make sure this expansion doesn't include `CONFIG_DCACHE_LINE_SIZE`,
which would be undefined and produce a build error.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-11-05 10:57:07 -06:00
Daniel DeGrasse 0856ceed7b soc: nxp: imxrt: correct flexspi XIP check to avoid reclocking
RT11xx SOC init should check to see if the zephyr flash node is
set to a device on the FLEXSPI bus to determine if the part is running
in XIP mode. This check was incorrect, so the FLEXSPI was being
reclocked in XIP mode to 24 MHz. Fix this check so the FlexSPI is not
downclocked.

Fixes #75702

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-11-05 10:55:13 -06:00
Gerard Marull-Paretas 5249619f6a soc: nordic: nrf54h: gpd: fix compile warning when CONFIG_DEBUG=y
Usage of K_SPINLOCK with CONFIG_DEBUG=y seems to trigger a compiler
warning about request not always being initialized. Fallback to
k_spin_lock/unlock calls to fix this issue.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-11-05 14:46:15 +01:00
Gerson Fernando Budke 0cc8f93e8a soc: atmel: Drop PINCTRL from Kconfig.defconfig
This Kconfig has wrongly been added to defconfig files. It is not the
right place for it. It has never been the right place for it. Drivers
that need it should select the symbol in their Kconfig entries. Drop
PINCTL from Kconfig.defconfig and add proper select at Kconfig.sam*.

Fixes #78619

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-11-04 13:43:26 -06:00
Gerson Fernando Budke 52d21d7bf0 soc: gd32: Drop PINCTRL from Kconfig.defconfig
This Kconfig has wrongly been added to defconfig files. It is not the
right place for it. It has never been the right place for it. Drivers
that need it should select the symbol in their Kconfig entries. Drop
PINCTL from Kconfig.defconfig and add proper select at Kconfig.gd32.

Fixes #78619

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-11-04 13:40:42 -06:00
Gerard Marull-Paretas 969326bfff soc: nordic: nrf54h: disable PM_DEVICE_POWER_DOMAIN
It is enabled by default if we enable device PM, but we do not want
this, otherwise we get linker errors (PM subsys, fun guaranteed!).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-11-01 12:10:12 -05:00
Gerard Marull-Paretas 77fc18327a soc: nordic: nrf54h: gpd: add API to set/clear pin retention
This API needs to be called by FAST peripherals before/after
disabling/enabling them.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-11-01 12:10:12 -05:00
Gerard Marull-Paretas 9925ec99fd drivers: pinctrl: nrf: add flag to signal the FAST_ACTIVE1 peripherals
This patch introduces a new flag to indicate if a peripheral belongs
to FAST_ACTIVE1 domain. This way, pinctrl knows when to request the
SLOW_ACTIVE domain (where CTRLSEL multiplexer resides).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-11-01 12:10:12 -05:00
Gerard Marull-Paretas 87a42a89cb soc: nordic: nrf54h: add SoC level API to request/release GPD
Add a new soc-level API that allows to manually request/release global
power domains.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-11-01 12:10:12 -05:00
Daniel DeGrasse d3fac0b7fe soc: nxp: mcx: do not select HAS_SEGGER_RTT unless segger module is present
Do not select HAS_SEGGER_RTT unless the segger module is present. This
avoids a Kconfig error when SEGGER's debug module is not present in the
west manifest

Fixes #80529

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-29 16:02:57 -07:00
David Leach 46042f73cf soc: nxp: lpc55s69: Fix part number typo
There is a typo in the part number list for LPC55S69. The
LPC55S69JET98 should be LPC55S69JEV98.

Fixes #80541

Signed-off-by: David Leach <david.leach@nxp.com>
2024-10-29 14:16:16 -05:00
Nik Schewtschuk 328e4a5039 soc: espressif: esp32s3: Adjust BOOTLOADER_DRAM_SEG_LEN for worst case
Larger image partitions require more space in DRAM due to
the increase in .bss.sector_buffers.
Each sector in .bss.sector_buffers consumes 16 bytes.
In the worst case scenario, such as with the ESP32S3 N32R8V,
which has 32 MB of flash and most likely 12 MB image partition,
an addition of 0xc000 should be sufficient to accommodate this.

Signed-off-by: Nik Schewtschuk <nikita.schewtschuk@smartmechatronics.de>
2024-10-29 09:24:55 -07:00
Sylvio Alves 5678512fe8 soc: esp32s3: move cache mode call
Removed unused function declaration.
Added missing include.
Move Cache_Susped_DCache() call to proper
function configuration call.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-27 20:53:48 -05:00
Sylvio Alves 02fc5e3f66 soc: esp32s3: update linker files
Add new wifi sections into iram area.
Add new functions to iram area.
Remove unused entries.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-27 20:53:48 -05:00
Sylvio Alves 05b462a907 soc: esp32s2: add cache mode disabled option
Update data cache mode to work when data cache
is set to 0KB.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-27 20:53:48 -05:00