Commit Graph

4463 Commits

Author SHA1 Message Date
Daniel Maslowski 50c24f17e3 soc: starfive: jh71xx: select 64BIT for SOC_JH7110
We get a 32bit binary otherwise.

Signed-off-by: Daniel Maslowski <info@orangecms.org>
2024-04-09 14:20:39 +02:00
Laurentiu Mihalcea 399c2cba65 nxp: imx8ulp: enable pinctrl
This commit enables pinctrl on i.MX8ULP. This includes:
	1) Adding `pinctrl_soc.h` header file.
	2) Adding DTS node for IOMUXC1, which is one of the
	IPs responsible for managing the 8ULP pads.
	3) Adding .dtsi with pin definitions. For now, only
	the LPUART7 pads are added to this file because this
	is going to be the only consummer for now.
	4) Modifying the `pinctrl_imx.c` driver to work for 8ULP.
	5) Enabling the `CONFIG_HAS_MCUX_IOMUXC`, which is a
	dependency of `CONFIG_PINCTRL_IMX`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-09 11:06:14 +02:00
Nikodem Kastelik 6bce78937d soc: nordic: add nRF54 PWM HAS_HW & base addr validation
Add HAS_HW symbols for PWM instances
found on nRF54H20 and nRF54L15 devices.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-04-09 11:05:46 +02:00
Marek Matej 2395f08d48 soc: espressif: esp32: simple boot support
Add simplistic booting method which allows to run
applications without the 2nd stage bootloader.

- introduce memory layout header file
- update and optimize default and mcuboot linker scripts
- remove building multiple binaries during the application build

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-08 09:16:41 -04:00
Marek Matej 323f811c7c soc: espressif: esp32s2: simple boot support
Add simplistic booting method which allows to run
applications without the 2nd stage bootloader.

- introduce memory layout header file
- update and optimize default and mcuboot linker scripts
- remove building multiple binaries during the application build

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-08 09:16:41 -04:00
Marek Matej 553238704f soc: espressif: esp32s3: simple boot support
Add simplistic booting method which allows to run
applications without the 2nd stage bootloader.

- introduce memory layout header file
- update and optimize default and mcuboot linker scripts
- remove building multiple binaries during the application build

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-08 09:16:41 -04:00
Marek Matej f9008b5330 soc: espressif: esp32c3: simple boot support
Add simplistic booting method which allows to run
applications without the 2nd stage bootloader.

- introduce memory layout header file
- update and optimize default and mcuboot linker scripts
- remove building multiple binaries during the application build

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-08 09:16:41 -04:00
Marek Matej 43e3088c2d soc: espressif: Simple boot support
Add simplistic booting method which allows to load without 2nd stage
bootloader.
Update common architecture loader to support all build scenarios.

- simple boot: using single binary application without bootloader
- mcuboot: zephyr port of MCUboot
- application: loaded by the MCUboot

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-08 09:16:41 -04:00
Adam Berlinger e3c759e835 soc: st: add PM support for STM32H5
Single STOP mode level supported on STM32H5

Signed-off-by: Adam Berlinger <adam.berlinger@st.com>
2024-04-08 15:55:24 +03:00
Jose Alberto Meza 83c031556b soc: arm: microchip: mec172x: Add macro to get pin mux value
Add macro to read pin mux control value

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-04-05 23:47:32 +03:00
Filip Kokosinski ab84989a12 arch/riscv: remove the `Kconfig.core` file
This commit removes the `Kconfig.core` file. It's been largely unused, and
the only symbol it provides (`RISCV_CORE_E31`) overlaps with the SoC-layer
provided `SOC_SERIES_SIFIVE_FREEDOM_FE300`.

As of date, the only SoC that uses the E31 core in Zephyr is the FE310 SoC.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2024-04-05 16:46:01 +03:00
Sylvio Alves ad12a06e2e soc: espressif: esp32c3: update to hal_espressif v5.1
Modify and reorganize SoC to meet updated hal.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-04-05 13:39:53 +02:00
Sylvio Alves 561f31bb54 soc: espressif: esp32s3: update to hal_espressif v5.1
Modify and reorganize SoC to meet updated hal.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-04-05 13:39:53 +02:00
Sylvio Alves 072ea896d7 soc: espressif: esp32s2: update to hal_espressif v5.1
Modify and reorganize SoC to meet updated hal.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-04-05 13:39:53 +02:00
Sylvio Alves e587249704 soc: espressif: esp32: update to hal_espressif v5.1
Modify and reorganize SoC to meet updated hal.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-04-05 13:39:53 +02:00
Sylvio Alves e63ddb70b3 soc: espressif: common: update to hal_espressif v5.1
Modify and reorganize SoC to meet updated hal.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-04-05 13:39:53 +02:00
Gerard Marull-Paretas 37f9958fea soc: nordic: nrf54h: set DMASEC for CCM030 if enabled
DMASEC is set to non-secure by default, which prevents CCM from
accessing secure memory. Change DMASEC to secure.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-04-05 13:19:21 +02:00
Daniel DeGrasse b6477deb4a soc: nxp: rw: add reset code for LCDIC
Clear LCDIC reset signal at init when the LCDIC peripheral is enabled.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-04-04 23:59:37 +03:00
Georgios Vasilakis 7a8d454e22 soc: nordic: Refactor soc_secure.h
The soc_secure_* function are used by the non-secure application
to access hardware resources which are mapped as secure.
Using these functions for hardware resources mapped as non-secure
is missleading.

We have some soc_secure_* functions which read FICR values.
In nRF91 and nRF53 platforms this made sense since FICR
has hardware fixed mapping as secure.
For nRF54 though the FICR has hardware fixed mapping as non-secure.

This change refactors the soc_secure.h to exclude the functions
which read FICR values from being included when FICR is mapped as
non-secure.

Also updates the hwinfo and ieee802154 drivers to adjust to this change.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
2024-04-04 13:17:13 -05:00
Steven Chang e44c0987b9 driver: watchdog: prevent floating point usage
Prevent the use of floating point operations

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-04-03 21:12:17 +01:00
Daniel Baluta cffea52fa8 boards: nxp: Rename mimxrt685_evk to mimxrt685_evk_mimxrt685s_cm33
In preparation for adding AMP support for i.MX RT6xx family we need
to rename existing cm33 support files to more specific names.

e.g mimxrt685_evk.dts -> mimxrt685_evk_mimxrt685s_cm33.dts

This will allow us to later add support for Cadence DSP found on i.MX
RT6xx series.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2024-04-03 15:41:16 +01:00
Daniel Baluta 68a7057513 soc: nxp: imxrt: Prepare imxrt6xx soc for AMP support
imxrt6xx are dual core devices featuring an ARM Cortex-M33
core and an Cadence Xtensa HIFI4 Audio DSP.

Currently only m33 core is supported. In order to support
the Cadence DSP we need first to do some code-reorganization
for m33.

We start by moving all cm33 related code to its own directory
and introduce the cpuclusters property in soc.yml file.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2024-04-03 15:41:16 +01:00
Iuliana Prodan 019b813a71 linker: nxp: add orphan linker section
Add missing linker section to avoid warning
about orphans when building with host compiler.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-04-03 10:34:18 +02:00
Jimmy Zheng f80377bd4e soc: andestech: linker.ld: clarify usage of __rom_region_end/size
Clarify usage of __rom_region_end/size in XIP system.
When PMP is enabled, __rom_region_end should be padded to meet the
requirement of PMP entry, and the actual ROM region usage ends at
.last_section instead of __rom_region_end.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-04-02 21:04:20 -04:00
Jimmy Zheng ed021551dc soc: andestech: linker.ld: fixed ROM padding issue
Updated ROM region padding to utilize LMA instead of location counter,
because the location counter has been assigned to 'RAM_BASE'.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-04-02 21:04:20 -04:00
Jimmy Zheng abffe27edb soc: andestech: pma.c: include soc_v5.h
Add include header for CSR definition.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-04-02 21:04:20 -04:00
Pieter De Gendt 5944fb38bf dts: arm: nxp: nxp_imx8ml_m7: Add ECSPI instances
Add device tree instances for ECSPI peripherals and update SoC code to
enable clocks.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-04-02 21:03:47 -04:00
Mahesh Mahadevan a9fea59281 soc: nxp: Select the MFD Kconfig when LPFlexcomm is enabled
LPFlexcomm is a MFD device hence select this Kconfig whenever
it is enabled.
Remove the selection from the individual driver Kconfig files.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-04-02 21:00:24 -04:00
Iuliana Prodan 1f55be8b42 nxp: imx8: change CONFIG_SOC_<name> to match the value
Change, for audio DSP and M7 cores, SOC_<name> to match
the exact soc name.
Update the board files accordingly.

These configs are used in SOF and NXP_HAL, so change
sha for these modules.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-04-02 10:41:07 +03:00
Declan Snyder a7988f2986 soc: nxp: lpc55s69: Enable Sleep Mode
Enable sleep mode on LPC55S69 (corresponding to zephyr's runtime idle
mode). Add DT description and power api implementations.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-02 10:38:17 +03:00
Declan Snyder 2d83371818 soc: nxp: lpc55xxx: Remove duplicate INIT_PLL1
Remove duplicate definition of the INIT_PLL1 kconfig

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-02 10:38:17 +03:00
cyliang tw b95e29abd8 soc: nuvoton: numaker: disable DWT in Kconfig
Timing function need Cycle Count Register CYCCNT of DWT,
but Arm-Cortex-M23 only support DWT_CTRL, DWT_PCSR and DWT_COMP
& DWT_FUNCTION registers. It can't meet the requirement of timing
function, so to remove CPU_CORTEX_M_HAS_DWT.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-04-01 18:20:49 +01:00
Francois Ramu 7291450151 soc: st: stm32 devices: SW JTAG port pins config with hw model V2
During the migration to Hw model V2 the PR #63495
was not fully reported.
This change is adding the support Serial Wire / JTAG port pins

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-04-01 11:05:17 +01:00
Flavio Ceolin 688fbb53ae intel_adsp: ace: Fix sparse error
Fixes the following errors when sparse (SCA) is enabled:

soc/intel/intel_adsp/ace/power.c:46:12: warning:
    cast removes address space '__cache' of expression
/soc/intel/intel_adsp/ace/power.c:48:9: warning:
    incorrect type in argument 1 (different address spaces)

Fixes #70725

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-03-29 17:20:57 -05:00
Francois Ramu d70e96ea96 soc: st: stm32 mcus setting the lptim clock source
Select the LPTIM clock source STM32_LPTIM_CLOCK to be
LSE or LSI depending on the DTS clocks property
of the stm32_lp_tick_source node.
This will also affect the SYS_CLOCK_TICKS_PER_SEC
depending on the lptim prescaler

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-03-29 11:15:27 +00:00
Hou Zhiqiang 5062c51c49 soc: mimx8m: set the UART devices RDC permission
Add SoC initialization to set the UART RDC permission in the early
phase, so that the it can be used by Zephyr on Cortex-A cores.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2024-03-28 16:01:30 -05:00
Hou Zhiqiang 657e7edd96 soc: mimx8m: add MMU mapping for RDC MMIO
Add MMU mapping for RDC MMIO on i.MX8M SoCs.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2024-03-28 16:01:30 -05:00
Marcin Szymczyk 1de13cc96a soc: nordic: vpr: finish pending transactions before calling `wfi`
To minimize time the CPU spends when preparing for sleep, make sure
the pending transactions are finished before calling `wfi`.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2024-03-28 14:47:40 +00:00
Daniel DeGrasse 5e241970f5 soc: nxp: rw: enable DMIC clock at boot
Enable DMIC clock at boot, so that RW DMIC IP will be useable by driver

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-28 09:44:25 +00:00
Laurentiu Mihalcea 9517639390 nxp: imx8ulp: change SOC name to MIMX8UD7
The SOC name `imx8ulp` has been just a placeholder until
support for the SOC's ADSP (since this is the only core
that's supported in Zephyr) could be added to the NXP HAL.
Now that the support has been added, to make use of it, the
SOC name `imx8ulp` has to be changed to `mimx8ud7`. As such,
this commit does the following:
	1) Introduces SOC part number configuration - needed
	by some HAL headers.
	2) Replaces all occurrences of `imx8ulp` (as the SOC
	name) with `mimx8ud7`.
	3) Enables `CONFIG_HAS_MCUX`.
	4) Aligns all `CONFIG_SOC_` configurations with the
	new SOC name.
	5) Updates SOF hash. This is needed to fix build issues
	caused by this name change. This is not done in a separate
	commit to preserve bisectability.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-28 09:41:15 +00:00
Daniel Leung b69d2486fe kernel: rename Z_KERNEL_STACK_BUFFER to K_KERNEL_STACK_BUFFER
Simple rename to align the kernel naming scheme. This is being
used throughout the tree, especially in the architecture code.
As this is not a private API internal to kernel, prefix it
appropriately with K_.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-27 19:27:10 -04:00
Raffael Rostagno b17712364c drivers: systimer: Removed mention to ESP32C3
Removed mention to C3 SoC, so files are not SoC specific. Ready for C6
integration.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-03-27 15:18:45 +00:00
Jamie McCrae fe8816f278 soc: renesas: rcar_gen3: Fix Kconfigs
Fixes Kconfigs to not use another SOC_SERIES Kconfig name

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-03-26 09:29:03 +00:00
Mahesh Mahadevan b0dbd9a87e soc: mcxnx4x: Add FlexSPI support
Add support for FlexSPI

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-25 18:40:14 -04:00
Jon Ringle c69986da4c soc: atmel: saml2x: Don't do a GCLK SWRST
Doing a `GCLK->CTRLA.bit.SWRST = 1` will cause boot chaining to hang.
Setting the CPU clock to run from OSCULP32K during initialization is
all that is needed.

Signed-off-by: Jon Ringle <jringle@gridpoint.com>
2024-03-25 16:19:08 +01:00
Mykola Kvach 5554fd17b6 soc: rcar_gen3: set correct NUM_IRQS for ARM64 R-Car Gen3 boards
Align number of interrupts for ARM64 R-Car Gen3 boards with
the documentation.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-03-25 10:06:20 +00:00
Daniel Leung 6ea749de52 arch: rename arch_start_cpu() to arch_cpu_start()
Rename arch_start_cpu() to arch_cpu_start() so it belongs to
the "cpu" namespace.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-25 09:58:35 +00:00
Marcin Szkudlinski 3fde2c50c6 tracing: add intel ADSP memory window backend
This commits adds a tracing backend based on
Intel ADSP debug memory window

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2024-03-25 09:33:41 +01:00
Flavio Ceolin 6b9d01f995 intel_adsp/ace: power: No pending transaction before power gate
Issue an upstream read transaction through uncached memory to flush
out all pending transactions before power down the host domain.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-03-22 21:29:33 -04:00
Declan Snyder 711375695e soc: nxp: rw: Support Reset cause setting
Support reset causes on RW SOC

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-22 15:58:03 -05:00