Commit Graph

2587 Commits

Author SHA1 Message Date
Jamie McCrae d5473b76fe soc: designstart: Port to HWMv2
Ports the designstart SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 15:49:54 +01:00
Jamie McCrae ff202daa8e soc: fvp_aemv8r_aarch32: Port to HWMv2
Ports the fvp_aemv8r_aarch32 SoC configuration to hardware model
version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 15:49:54 +01:00
Jamie McCrae baeebd31d2 soc: musca: Port to HWMv2
Ports the musca SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 15:49:54 +01:00
Jamie McCrae 85de0888ec soc: beetle: Port to HWMv2
Ports the beetle SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 15:49:54 +01:00
Jamie McCrae 6ca677ed3a boards: arm: mps2: Convert to v2
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 14:19:39 +00:00
Torsten Rasmussen a188e01a12 hwmv2: move all ported boards and socs to their final location
To un-block continuing of soc and board porting then move all socs and
boards and support building of updated docs then move all ported socs
and boards to their final location.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-03-01 14:17:16 +00:00
Jamie McCrae 22c53e97b5 hwmv2: move all non-ported legacy boards and socs to legacy folders
To un-block continuing of soc and board porting then move all socs and
boards which have not yet been ported to boards_legacy / soc_legacy
folders.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 14:17:16 +00:00
Jamie McCrae c01af5a7b8 soc: ti_k3: Port to HWMv2
Ports the ti_k3 SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 14:17:13 +00:00
Erwan Gouriou e8ba99dc59 soc: v2: stm32: Migrate STM32F1 series
Port STM32F1 series to HW model V2

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-03-01 14:17:12 +00:00
Jamie McCrae 87f0827121 soc: bcm_vk: Port to HWMv2
Ports the bcm_vk SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 14:17:12 +00:00
Jamie McCrae b3c04051fc soc: quicklogic_eos_s3: Port to HWMv2
Ports the quicklogic_eos_s3 SoC configuration to hardware model
version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 14:17:11 +00:00
Erwan Gouriou 77d640e0c9 soc: v2: stm32: Migrate STM32F0 series
Port STM32F0 series to HW model V2

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-03-01 14:17:10 +00:00
Jamie McCrae 42cff42c42 soc: rpi_pico: Port to HWMv2
Ports the rpi_pico SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-01 14:17:08 +00:00
Gerard Marull-Paretas 8aa8ce4ac8 soc: gigadevice: port to HWMv2
Port all the Gigadevice SoCs to HWMv2.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-01 14:17:07 +00:00
Torsten Rasmussen 7dc2c9db0c soc: use HWMv2 for arm mps3 SoC
This commit move the arm mps3 SoC to soc/v2 and adopt HWMv2.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-03-01 14:17:06 +00:00
Torsten Rasmussen 3abb792073 soc: use HWMv2 for renesas_rzt2m SoC
This commit move the renesas_rzt2m SoC to soc/v2 and adopt HWMv2.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-03-01 14:17:06 +00:00
Daniel DeGrasse 9a96a0c50d soc: arm: nxp_imx: fix flexspi frequency setting for iMXRT11xx SOC
Commit a10fee2d5e (drivers: clock_control: ccm_rev2: add support for
reclocking FlexSPI) introduced the ability to set the FlexSPI
clock frequency at runtime on RT11xx series SOCs. However, this
implementation resulted in the clock frequency being rounded up, not
down. This can result in flash clock frequency violations on some
flash parts, causing the system to crash when running in XIP mode.

Fixes #69088

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-17 14:18:43 +01:00
Gerson Fernando Budke 5903c7a669 drivers: watchdog: sam0: initialize GCLK2 in wdt_sam0_init
Initialize GCLK2 to output 1.024kHz required by watchdog timer.

Co-authored-by: Vlad Laba7 <vlad@laba7.com>
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-05 13:27:54 +01:00
Grant Ramsay 211ddf1c7e soc: arm: xilinx_zynqmp: Add "Execute Never" MPU flag to non-code RAM
Executing from RAM sections other than rom/code should cause a fault.
This is tested as part of the kernel mem_protect tests.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2024-02-02 17:05:01 -06:00
Gerard Marull-Paretas 1a6b88608e soc: arm: nordic_nrf: move Kconfig.peripherals to common folder
Because RISC-V cores also need to include this file, so it is no longer
ARM specific.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Gerard Marull-Paretas d7dc942382 soc: common: nordic_nrf: move pinctrl_soc.h to a common dir
Because both, RISC-V and ARM cores share the same pinctrl driver. The
top level common folder will disappear with the introduction of HWMv2,
where multi-arch SoCs will be well supported.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek 976de4edbe drivers: serial: nrfx: Allow new UARTE instances to be used
Extend Kconfig definitions and nrfx_config translations so that UARTE
instances that are available in nRF54H20 can be used.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Grzegorz Swiderski be8b2663c6 modules: hal_nordic: Integrate nrf-regtool
nrf-regtool is a Python utility from Nordic Semiconductor, which is used
for generating binary files with register values for given peripherals.
It sources the descriptions of peripheral registers from CMSIS-SVD files
(typically ones bundled with nRF MDK).

For some peripherals, such as UICR, nrf-regtool supports parsing values
from devicetree as well, based on the bindings already found in Zephyr.

Currently, this tool is not submitted as a script to Zephyr, but it can
be installed from PyPI.

Having nrf-regtool installed is recommended when working with nRF54H20.
Booting the Application or Radiocore CPU requires flashing not only its
firmware, but also its respective UICR instance. On this SoC, the UICR
is used to assign ownership of global hardware resources, including
memory and peripherals, to individual cores. The Zephyr build system can
call nrf-regtool to generate the UICR based on devicetree, to reflect
the boot-time hardware configuration required for a given application.
The generated `uicr.hex` is then merged with `zephyr.hex`, so that they
can be flashed together using west.

The build system integration takes the form of a CMake package, which
includes a version check and reusable components; over time, some of
these components can be reused by sysbuild. This package is located in
the `hal_nordic` module, because it depends on the `SOC_SVD_FILE` CMake
variable, which is defined there as well.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek abb0934def soc: nordic: Add initial support for nRF54H20 EngA
Add nrfx and Kconfig related infrastructure plus SoC initialization
code to allow building for nRF54H20 targets (Application and Radio
cores).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Andrzej Głąbek 2efd34bda3 modules: hal_nordic: nrfx_glue: Include cmsis_core_m_defaults.h
... to cover missing __ICACHE_PRESENT and __DCACHE_PRESENT symbols that
should be defined in MDK files.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-02-02 16:40:11 +01:00
Manuel Argüelles 1b302f51ea soc: arm: nxp_s32: s32k1: add support for RTC
Add support for the Real Time Clock (RTC) counter.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-02-02 12:43:00 +01:00
Daniel DeGrasse a10fee2d5e drivers: clock_control: ccm_rev2: add support for reclocking FlexSPI
Add support for reclocking flexspi in ccm_rev2 driver. Clock update
functions are provided for the RT11xx.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 10:57:35 +01:00
Daniel DeGrasse f81113e948 drivers: clock_control: add support for FlexSPI reclock on NXP iMX RT10XX
Add support for reclocking the FlexSPI on NXP iMX RT10XX. This
functionality requires an SOC specific clock function to set
the clock rate, since the FlexSPI must be reset directly
before applying the new clock frequency.

Note that all clock constants are defined in this commit, since the
memc flexspi driver now depends on a clock node being present.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-01 10:57:35 +01:00
Andrzej Głąbek eb78b71914 soc: arm: nordic_nrf: Clean up and unify a bit cmake code
Consistently use `zephyr_library*` cmake functions for all nRF Series
and set the Cortex-M linker script in a common place for all of them.
Remove no longer needed include directories.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-01-31 09:40:48 -06:00
Magdalena Pastula e4aebf9cea soc: arm: nordic_nrf: align soc_secure.h to nRF54L
In nRF54L15 FICR can be accessed also from non-secure code,
so it does not have NRF_FICR_S defined.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik 1d9f702260 soc: arm: nordic_nrf: add support for Nordic nrf54l family
Add soc files for new Nordic family.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik a5eeb6d6db soc: arm: nordic_nrf: add source code for validating rram partitions
RRAM is a part of nRF54L15 SOC.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula a6bd4dbc33 soc: arm: nordic_nrf: add nRF54L15 peripherals instances
Add support for nRF54L15 instances of UARTE, TIMER and WTD.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Magdalena Pastula 70b21845b2 soc: arm: nordic_nrf: add support for nRF54L15 GRTC instance
Add GRTC as possible clock source.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Witold Lukasik daa888c37b soc: arm: nordic_nrf: move NRF_RTC_TIMER not to be selected as default
NRF_RTC_TIMER will not be a default timer in the next
version of Nordic timer. It should be soc selection specific.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2024-01-30 21:00:44 +00:00
Ian Morris b1a15718aa dts-bindings: pinctrl: renesas_ra: enabled config of i/o ports 4-7
The RA_PINCFG macro is used to generate a value that can be written
directly to the pin function select register. In addition to the pin
function this value also contains port and pin number information,
located in bit fields that are unused by the register. The bit field
used to store the port information consists of 3-bits. However, a typo in
the mask definition limited the field to two bits meaning only ports 0-3
could be configured. This patch resolves the issue, allowing ports 0-7 to
be configured. If the port is greater than 7 another field (port4) is used
to store an additional bit (allowing an additional 8 ports to be
supported). However, use of this field has not yet been implemented.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-01-30 15:38:51 -05:00
Andriy Gelman c7dab3df08 drivers: can: Add xmc4xxx CAN support
Adds CAN drivers for XMC4xxx SoCs.

XMC4xxx has multiple CAN nodes. The nodes share a common clock and
a message object pool.

The CAN nodes do not have a loopback mode. Instead there is an
internal bus which can be used to exchange messages between
nodes on the SoC. For this reason tests/samples which rely on the
loopback feature have been disabled.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-30 19:06:06 +01:00
Guillaume Gautier 6b681bcbcc soc: arm: stm32wba: add support for standby mode with ram retention
Add support for STM32WBA Standby low-power mode with RAM retention.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-01-30 18:01:00 +01:00
Sharad Patil 296c1e4768 soc: Added Support for Silabs EFR32MG12P432F1024GL125
Added support in board directory for EFR32 MG12 BRD4161A board

Signed-off-by: Sharad Patil <p.sharad@capgemini.com>
2024-01-30 08:46:25 +01:00
Declan Snyder a37bd8e7ba soc: rt5xx: Restore ISP pins state in soc init
ROM configures the ISP boot pins as gpio to determine what boot mode to
be in. But some ROM revisions have a bug where they do not restore the
reset state of these pins before booting application. This can cause
power leakage on these pins and is not an intended configuration from
Zephyr user/board point of view, so restore the reset state as part of
early SOC init (disable the pins). Configuration of pins should be
left up to app/board devicetree.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-01-29 17:15:01 +00:00
Mahesh Mahadevan b8bdc60427 soc: nxp: rt5xx: Remove deepsleep pin changes
SOC level code should not be dynamically changing pin configurations.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-29 17:15:01 +00:00
Erwan Gouriou 3d0c391ff2 soc: stm32: PM: Disable jtag port pins if no debug
At chip startup, jtag pins are configured by default to enable
debug.
This configuration adds consumption and when using PM profile,
we can save ~40uA by resetting this configuration and setting pins
to analog mode.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-26 15:52:38 +00:00
Jan Bylicki 6400e3f437 drivers: pinctrl: Add ZynqMP / Mercury XU pinctrl support
Add a pinctrl driver for the ZynqMP SoC and the
Mercury XU board powered by it.

Signed-off-by: Jan Bylicki <jbylicki@antmicro.com>
2024-01-26 12:47:11 +01:00
Manuel Argüelles f38b01c7ac soc: arm: nxp_s32: s32k1: enable watchdog driver
Enable on-chip watchdog driver support for S32K1 devices.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-25 18:26:25 +00:00
Adrien MARTIN c1ae6e5b4e soc: stm32g0: add fdcan2
The STM32G0 soc has 2 CAN controllers. The 2nd on was not working
with zephyr yet as both controllers shares the same IRQ. Recently, the
shared irq system was integrated on now, both can controllers can work
on this chip. Shared interrupts must be enabled only if both can
controllers are enabled.

Signed-off-by: Adrien MARTIN <adrienmar@kickmaker.net>
2024-01-25 16:01:40 +00:00
Sateesh Kotapati a03c1ace6b gecko: service files updated | Update to GSDK 4.4.0
Updated the files present in device_init, hfxo_manager, power_manager
and sleeptimer folder as per latest version of gecko_sdk.
Added SL_DEVICE_INIT_HFXO_PRECISION in sl_device_init_hfxo_config.

Signed-off-by: Sateesh Kotapati <sateesh.kotapati@silabs.com>
2024-01-24 13:23:00 +01:00
Pieter De Gendt 1c190045b3 soc: arm: atmel_sam: samv71: Rework clock_init
Update clock_init for the Atmel SAMV71 SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt 23edb87cab soc: arm: atmel_sam: same70: Rework clock_init
Update clock_init for the Atmel SAME70 SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt 5bba8dd101 soc: arm: atmel_sam: sam4e: Rework clock_init
Update clock_init for the Atmel SAM4E SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00
Pieter De Gendt 89f23f7947 soc: arm: atmel_sam: sam3x: Rework clock_init
Update clock_init for the Atmel SAM3X SoC using the new PMC API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-22 09:47:21 +00:00