Commit graph

5973 commits

Author SHA1 Message Date
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
Sylvio Alves
279f4b8aec soc: esp32s2: 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
a1a6e8a1a3 soc: esp32c6: 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
be9574e482 soc: esp32c3: 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
412921b594 soc: esp32c2: 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
876a893018 soc: esp32: 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
a70741bc82 west.yml: update hal_espressif to latest version
- Update GDMA and ADC drivers and remove deprecated entries.
- Rebased hal_espressif to latest bump sync.
- Added ESP Timer and Radio common config values

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-27 20:53:48 -05:00
Sylvio Alves
b5c53d6ac4 wifi: esp32: move kconfig to driver area
Make sure all kconfig related to Wi-Fi is
in its driver area.
This commit also removes esp_timer_init() call
from Wi-Fi driver.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-27 20:53:48 -05:00
Alessandro Manganaro
4b4bba4fa4 soc: st: stm32: stm32wbax: STM32WBA Cube 1.4.1 integration
Removed unnecessary pure HAL stm32 functions

Headers cleanup

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2024-10-27 01:08:47 +02:00
Alessandro Manganaro
13f1200e77 soc: st: stm32: stm32wbax: Files renaming
Files renaming done to better isolate zephyr related
functions from stm32 hal related functions

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2024-10-27 01:08:47 +02:00
Mathieu Choplain
51412b5875 soc: st: stm32wb0: make SMPS mode visible to drivers
Make the SMPS_MODE define visible from drivers by moving it to soc.h

This define is for example used by the ADC driver to determine if sampling
should be synchronized with the SMPS clock.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-27 01:08:25 +02:00
Sudan Landge
caa7226157 boards: mps3: Add support for corstone310/an555
What is changed?
 - Added a new mps3 board an555 for the soc corstone310.
   The qualifier to build/run application with board mps3/an555 is
   `mps3/corstone310/an555` for secure and
   `mps3/corstone310/an555/ns` for non-secure.
 - Added FVP variant to enable FVP testing with corstone310
   and it uses the ARM FVP `FVP_Corstone_SSE-310`.
   The qualifier to build/run application with FVP is
   `mps3/corstone310/an555fvp` for secure and
   `mps3/corstone310/an555fvp/ns` for non-secure.

Why do we need this change?
 - This enables FVP support and testing for corstone310.
 - A separate FVP variant was added for AN555 because, the TFM board
   used for non-secure variant differs for FPGA and FVP.
   TFM board `arm/mps3/corstone310/an555` should be used when testing
   AN555 with FVP and `arm/mps3/corstone310/fvp` should be used when
   testing with AN555 FPGA.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2024-10-26 03:58:05 +01:00
Sudan Landge
3092d96e5b boards: mps3: Add support for corstone300/an552
What is changed?
 - Added a new mps3 board an552 for the soc corstone300.
   The qualifier to build/run application with board mps3/an552 is
   `mps3/corstone300/an552` for secure and
   `mps3/corstone300/an552/ns` for non-secure.
 - Added FVP variant to enable FVP testing with corstone300
   and it uses the ARM FVP `FVP_Corstone_SSE-300_Ethos-U55`.
   The qualifier to build/run application with FVP is
   `mps3/corstone300/fvp` for secure and
   `mps3/corstone300/fvp/ns` for non-secure.
 - Note: the qualifier to build/run application with board mps3/an547
   is now changed to
   `mps3/corstone300/an547` for secure and
   `mps3/corstone300/an547/ns` for non-secure.

How is it changed?
 - Moved common code from mps3/an547 to corstone300.
 - Renamed soc for an547 to corstone300 and added
   a new soc corstone300/an552.

Why do we need this change?
 - This enables FVP support and testing for corstone300.
 - SOC/qualifier for mps3/an547 was renamed to reduce code redundancy
 - A separate FVP variant was added for AN552 because, the TFM board
   used for non-secure variant differs for FPGA and FVP.
   TFM board `arm/mps3/corstone300/fvp` should be used when testing
   AN552 with FVP and `arm/mps3/corstone300/an552` should be used when
   testing with AN552 FPGA.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2024-10-26 03:58:05 +01:00
Gerson Fernando Budke
6a179996c3 soc: sam0: Speed-up xosc32 initialization
The current selected start-up time takes 8 seconds to initialize.
When xosc32 is used as main clock reference it blocks the whole
initializarion of the system by that amount of time. This patch
relax that condition setting the initialization time to 62ms.

Fixes #79949

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-10-25 22:44:35 +01:00
Declan Snyder
4b3d88e82e soc: nxp: MCXW71: Add LPADC node + clocking
Add DT entry and default clocking for ADC0 on MCXW71.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-25 18:52:10 +01:00
Declan Snyder
7d2f0b8476 soc: mcxw71: Add VREF node and clocking
Add VREF node and clocking to MCXW71 SOC.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-25 18:52:10 +01:00
Aksel Skauge Mellbye
8fc5514a94 soc: silabs: Only initialize HFXO Manager if HFXO is enabled
Only initialize the HFXO Manager HAL driver if the HFXO is enabled in
DeviceTree, the device uses SYSRTC for timekeeping, and Power Manager
is enabled. HFXO Manager integrates with the Sleeptimer HAL driver for
SYSRTC to autonomously wake the HFXO prior to Sleeptimer wakeup from
deep sleep. It is not needed on devices that don't have HFXO-SYSRTC
integration, and it is not needed if the application doesn't use deep
sleep.

Add missing call to init_hardware() prior to init().

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-10-25 14:09:36 +02:00
Adam Kondraciuk
59629d0039 soc: nordic: s2ram: Align s2ram marking procedures
Rework Nordic specific S2RAM marking procedures.
The S2RAM marking procedures must not disrupt the stack due to
the TLS pointer not yet being initialized during their execution.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2024-10-25 13:58:37 +02:00
Trung Hieu Le
a182394725 drivers: video: mipi_csi2rx: Set clocks according to pixel rate
Instead of fixing csi2rx clock frequencies, set them according to the
pixel rate got from the camera sensor.

Signed-off-by: Trung Hieu Le <trunghieu.le@nxp.com>
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2024-10-25 08:54:57 +02:00
Michal Smola
f99e0c6d7b soc: nxp mcxc: add has segger rtt in Kconfig
HAS_SEGGER_RTT Kconfix symbol is missing in NXP MCXC series Kconfig.
Add the symbol to fix and enable Segger RTT samples.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-10-25 08:52:34 +02:00
Michal Smola
8ad3c99dab soc: nxp mcxc: Enable usb clock
USB clock is not enabled for NXP mcxc series. Enable it.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-10-25 05:11:44 +01:00
Raffael Rostagno
4be1897519 drivers: counter: systimer: esp32c2: Fix clock parameters
Fix clock source frequency for systimer and GP timer.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-10-25 00:04:25 +01:00
Grzegorz Swiderski
b3b0c63ad9 soc: nordic: Enable VPR launcher on nRF54H20 EngB
Just like on nRF54H20 EngC.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-10-24 16:55:44 +01:00
Aksel Skauge Mellbye
8d4fa7be0b soc: silabs: Remove counter dependency for pm
Power Manager no longer requires the Counter driver. This seems to have
been a hack to get the Sleeptimer HAL included in the build, as the
Sleeptimer is the real dependency of the Silabs Power Manager HAL.

Since Sleeptimer is now used for the OS timer, this hack is not needed.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-10-24 17:51:01 +02:00
Aksel Skauge Mellbye
51194bf03f soc: silabs: Default to sleeptimer for OS timer on Series 2
Disable BURTC timer in board defconfigs, as it's no longer used.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-10-24 17:51:01 +02:00
Aksel Skauge Mellbye
da6ddc92cd drivers: timer: silabs: Add sleeptimer timer driver
Add OS timer implementation making use of the Sleeptimer HAL.
Sleeptimer integrates tightly with the Silabs Power Manager HAL,
and must be used as the OS timer to achieve optimal power consumption
when using the radio.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-10-24 17:51:01 +02:00
Scott Worley
4fa5fc3b4c drivers: pinctrl: mec5: Microchip MEC5 HAL based pinctrl driver
Add a pinctrl driver for Microchip MEC5 HAL based chips.
The driver removes the YAML enum "no change" property
value from the driver strength and slew rate properties.
Update the shared header file in mec soc common folder to
use a different Z_PINCTRL_STATE_PINCFG_INIT for MEC5.
Modifications to legacy MEC172x XEC PINCTRL will be in
a future PR.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2024-10-24 14:07:31 +02:00
Aksel Skauge Mellbye
d12de2d6b4 soc: silabs: Add soc_prep_hook() for Series 2
CMSIS SystemInit is not used in Zephyr. Implement the functionality
that isn't already done by Zephyr startup using soc_prep_hook().

The reason the lack of TrustZone init did not create immediately obvious
issues previously is that SMU faults can only happen if the SMU clock is
enabled.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-10-24 14:07:25 +02:00
Michal Smola
da6310c96c soc: mcxc: Enable bandgap buffer for on die temperature measurement
Bandgap voltage is used for on die temperature measurement. Bandgap
buffer has to be enabled explicitly to get correct tempearature.
Enable the buffer if TEMP_KINETIS is selected.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-10-24 14:05:00 +02:00
Declan Snyder
df95a86bc3 soc: nxp: mcxw71: Add FlexCAN node/clocking
Add node and enable clock for the FlexCAN module on MCXW71.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-24 09:29:31 +02:00
Sean Madigan
e4fa386882 soc: nordic: nrf53: SOC_NRF53_CPUNET_ENABLE should not depend on !BT
The previous changes in
https://github.com/zephyrproject-rtos/zephyr/pull/74304
assumed that because this is also handled in
`bt_hci_transport_setup` that it shouldn't be done on
initialisation too.

However, if someone wants to develop their own app which
uses BT and also wants to enable the CPUNET by default this
KConfig should be available to them.

Signed-off-by: Sean Madigan <sean.madigan@nordicsemi.no>
2024-10-23 15:32:59 -05:00
Jimmy Zheng
f4fe84e112 soc: andestech: ae350: support 2 PLIC instances (PLIC, PLIC-SW)
Andes AE350 integrates 2 PLICs in the platfrom, one for external interrupt
and another for IPI. Adusted Kconfig for total IRQ numbers and support 2
aggregators in the 2nd level interrupt controller.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-10-23 16:53:13 +02:00
Jimmy Zheng
da99144891 soc: andestech: linker.ld: fix incorrect padding of rom_mpu_padding
The rom_mpu_padding section is incorrect NAPOT padding for the address of
__rodata_region_end when ROM_BASE is not 0x0, because __rom_region_start
is set to the offset of rom_start section.

Fixed this by use "__rom_region_start = ABSOLUTE(.);" to keep both
__rodata_region_end and __rom_region_start are absolute address.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-10-23 16:53:13 +02:00
Kai Vehmanen
475878428c soc: intel_adsp: tools: cavstool.py: add RPL and ADL-N support
Add PCI device IDs for common Intel Raptor Lake variants and Alder Lake N.
These all have cAVS2.5 audio DSP.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-23 11:31:35 +02:00
Kai Vehmanen
7ad012d3bb soc: intel_adsp: tools: sort cAVS2.5 PCI DIDs in cavstool.py
Numerically sort the PCI DIDs for cAVS2.5 hardware. This follows
the convention in e.g. Linux and coreboot and eases maintainance. No
functional change.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-23 11:31:35 +02:00
Kai Vehmanen
2c79024b2f soc: intel_adsp: tools: cavstool.py: add PCI DIDs for Intel Arrow Lake
Add PCI device IDs for two Intel Arrow Lake variants.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-23 11:31:35 +02:00