soc: nordic: nrf54h20: add support for nRF54H20 EngB

nRF54H20 EngB is a re-label to the existing hardware revision for the
nRF54H20. nRF54H20 (whithout EngX) is becoming the final revision of the
SoC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
Gerard Marull-Paretas 2024-09-18 10:17:33 +02:00 committed by Carles Cufí
commit a9d0eacae2
7 changed files with 63 additions and 13 deletions

View file

@ -9,7 +9,8 @@ config SOC_SERIES_NRF54HX
select HAS_NORDIC_DRIVERS select HAS_NORDIC_DRIVERS
select NRF_PLATFORM_HALTIUM select NRF_PLATFORM_HALTIUM
config SOC_NRF54H20_CPUAPP config SOC_NRF54H20_CPUAPP_COMMON
bool
select ARM select ARM
select ARMV8_M_DSP select ARMV8_M_DSP
select CPU_CORTEX_M33 select CPU_CORTEX_M33
@ -29,7 +30,14 @@ config SOC_NRF54H20_CPUAPP
select HAS_PM select HAS_PM
select HAS_POWEROFF select HAS_POWEROFF
config SOC_NRF54H20_CPURAD config SOC_NRF54H20_CPUAPP
select SOC_NRF54H20_CPUAPP_COMMON
config SOC_NRF54H20_ENGB_CPUAPP
select SOC_NRF54H20_CPUAPP_COMMON
config SOC_NRF54H20_CPURAD_COMMON
bool
select ARM select ARM
select ARMV8_M_DSP select ARMV8_M_DSP
select CPU_CORTEX_M33 select CPU_CORTEX_M33
@ -48,8 +56,20 @@ config SOC_NRF54H20_CPURAD
select HAS_PM select HAS_PM
select HAS_POWEROFF select HAS_POWEROFF
config SOC_NRF54H20_CPURAD
select SOC_NRF54H20_CPURAD_COMMON
config SOC_NRF54H20_ENGB_CPURAD
select SOC_NRF54H20_CPURAD_COMMON
config SOC_NRF54H20_CPUPPR config SOC_NRF54H20_CPUPPR
depends on RISCV_CORE_NORDIC_VPR depends on RISCV_CORE_NORDIC_VPR
config SOC_NRF54H20_ENGB_CPUPPR
depends on RISCV_CORE_NORDIC_VPR
config SOC_NRF54H20_CPUFLPR config SOC_NRF54H20_CPUFLPR
depends on RISCV_CORE_NORDIC_VPR depends on RISCV_CORE_NORDIC_VPR
config SOC_NRF54H20_ENGB_CPUFLPR
depends on RISCV_CORE_NORDIC_VPR

View file

@ -3,7 +3,7 @@
# Copyright (c) 2024 Nordic Semiconductor ASA # Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_NRF54H20_CPUAPP if SOC_NRF54H20_CPUAPP || SOC_NRF54H20_ENGB_CPUAPP
config NUM_IRQS config NUM_IRQS
default 471 default 471
@ -11,4 +11,4 @@ config NUM_IRQS
config NRF_REGTOOL_GENERATE_UICR config NRF_REGTOOL_GENERATE_UICR
default y default y
endif # SOC_NRF54H20_CPUAPP endif # SOC_NRF54H20_CPUAPP || SOC_NRF54H20_ENGB_CPUAPP

View file

@ -1,7 +1,7 @@
# Copyright (c) 2024 Nordic Semiconductor ASA # Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_NRF54H20_CPUFLPR if SOC_NRF54H20_CPUFLPR || SOC_NRF54H20_ENGB_CPUFLPR
config NUM_IRQS config NUM_IRQS
default 496 default 496
@ -10,4 +10,4 @@ config NUM_IRQS
config ASSERT config ASSERT
default n default n
endif # SOC_NRF54H20_CPUFLPR endif # SOC_NRF54H20_CPUFLPR || SOC_NRF54H20_ENGB_CPUFLPR

View file

@ -1,7 +1,7 @@
# Copyright (c) 2024 Nordic Semiconductor ASA # Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_NRF54H20_CPUPPR if SOC_NRF54H20_CPUPPR || SOC_NRF54H20_ENGB_CPUPPR
config NUM_IRQS config NUM_IRQS
default 496 default 496
@ -13,4 +13,4 @@ config SYS_CLOCK_TICKS_PER_SEC
config ASSERT config ASSERT
default n default n
endif # SOC_NRF54H20_CPUPPR endif # SOC_NRF54H20_CPUPPR || SOC_NRF54H20_ENGB_CPUPPR

View file

@ -3,7 +3,7 @@
# Copyright (c) 2024 Nordic Semiconductor ASA # Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_NRF54H20_CPURAD if SOC_NRF54H20_CPURAD || SOC_NRF54H20_ENGB_CPURAD
config NUM_IRQS config NUM_IRQS
default 471 default 471
@ -11,4 +11,4 @@ config NUM_IRQS
config NRF_REGTOOL_GENERATE_UICR config NRF_REGTOOL_GENERATE_UICR
default y default y
endif # SOC_NRF54H20_CPURAD endif # SOC_NRF54H20_CPURAD || SOC_NRF54H20_ENGB_CPURAD

View file

@ -9,29 +9,59 @@ config SOC_NRF54H20
help help
nRF54H20 nRF54H20
config SOC_NRF54H20_ENGB
bool
select SOC_SERIES_NRF54HX
help
nRF54H20 (EngB)
config SOC_NRF54H20_CPUAPP config SOC_NRF54H20_CPUAPP
bool bool
select SOC_NRF54H20 select SOC_NRF54H20
help help
nRF54H20 CPUAPP nRF54H20 CPUAPP
config SOC_NRF54H20_ENGB_CPUAPP
bool
select SOC_NRF54H20_ENGB
help
nRF54H20 (EngB) CPUAPP
config SOC_NRF54H20_CPURAD config SOC_NRF54H20_CPURAD
bool bool
select SOC_NRF54H20 select SOC_NRF54H20
help help
nRF54H20 CPURAD nRF54H20 CPURAD
config SOC_NRF54H20_ENGB_CPURAD
bool
select SOC_NRF54H20_ENGB
help
nRF54H20 (EngB) CPURAD
config SOC_NRF54H20_CPUPPR config SOC_NRF54H20_CPUPPR
bool bool
select SOC_NRF54H20 select SOC_NRF54H20
help help
nRF54H20 CPUPPR nRF54H20 CPUPPR
config SOC_NRF54H20_ENGB_CPUPPR
bool
select SOC_NRF54H20_ENGB
help
nRF54H20 (EngB) CPUPPR
config SOC_NRF54H20_CPUFLPR config SOC_NRF54H20_CPUFLPR
bool bool
select SOC_NRF54H20 select SOC_NRF54H20
help help
nRF54H20 CPUFLPR nRF54H20 CPUFLPR
config SOC_NRF54H20_ENGB_CPUFLPR
bool
select SOC_NRF54H20_ENGB
help
nRF54H20 (EngB) CPUFLPR
config SOC config SOC
default "nrf54h20" if SOC_NRF54H20 default "nrf54h20" if SOC_NRF54H20 || SOC_NRF54H20_ENGB

View file

@ -9,7 +9,7 @@
#include <soc_nrf_common.h> #include <soc_nrf_common.h>
#if defined(CONFIG_SOC_NRF54H20_CPUAPP) #if defined(CONFIG_SOC_NRF54H20_CPUAPP) || defined(CONFIG_SOC_NRF54H20_ENGB_CPUAPP)
#define RAMBLOCK_CONTROL_BIT_ICACHE MEMCONF_POWER_CONTROL_MEM1_Pos #define RAMBLOCK_CONTROL_BIT_ICACHE MEMCONF_POWER_CONTROL_MEM1_Pos
#define RAMBLOCK_CONTROL_BIT_DCACHE MEMCONF_POWER_CONTROL_MEM2_Pos #define RAMBLOCK_CONTROL_BIT_DCACHE MEMCONF_POWER_CONTROL_MEM2_Pos
#define RAMBLOCK_POWER_ID 0 #define RAMBLOCK_POWER_ID 0
@ -17,7 +17,7 @@
#define RAMBLOCK_RET_MASK (MEMCONF_POWER_RET_MEM0_Msk) #define RAMBLOCK_RET_MASK (MEMCONF_POWER_RET_MEM0_Msk)
#define RAMBLOCK_RET_BIT_ICACHE MEMCONF_POWER_RET_MEM1_Pos #define RAMBLOCK_RET_BIT_ICACHE MEMCONF_POWER_RET_MEM1_Pos
#define RAMBLOCK_RET_BIT_DCACHE MEMCONF_POWER_RET_MEM2_Pos #define RAMBLOCK_RET_BIT_DCACHE MEMCONF_POWER_RET_MEM2_Pos
#elif defined(CONFIG_SOC_NRF54H20_CPURAD) #elif defined(CONFIG_SOC_NRF54H20_CPURAD) || defined(CONFIG_SOC_NRF54H20_ENGB_CPURAD)
#define RAMBLOCK_CONTROL_BIT_ICACHE MEMCONF_POWER_CONTROL_MEM6_Pos #define RAMBLOCK_CONTROL_BIT_ICACHE MEMCONF_POWER_CONTROL_MEM6_Pos
#define RAMBLOCK_CONTROL_BIT_DCACHE MEMCONF_POWER_CONTROL_MEM7_Pos #define RAMBLOCK_CONTROL_BIT_DCACHE MEMCONF_POWER_CONTROL_MEM7_Pos
#define RAMBLOCK_POWER_ID 0 #define RAMBLOCK_POWER_ID 0