160 lines
4.9 KiB
Plaintext
160 lines
4.9 KiB
Plaintext
# Copyright 2024 NXP
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config SOC_FAMILY_NXP_IMXRT
|
|
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
|
|
|
|
if SOC_FAMILY_NXP_IMXRT
|
|
|
|
# Source series Kconfig files first, so SOCs
|
|
# can override the defaults given here
|
|
rsource "*/Kconfig"
|
|
|
|
rsource "../common/Kconfig.flexspi_xip"
|
|
|
|
# Note- When SECOND_CORE_MCUX is set, the dependencies for this Kconfig
|
|
# should be set elsewhere, since the determination of which SOC core
|
|
# requires the boot header is SOC specific.
|
|
config NXP_IMXRT_BOOT_HEADER
|
|
bool "Boot header"
|
|
default y
|
|
depends on !(BOOTLOADER_MCUBOOT || SECOND_CORE_MCUX)
|
|
help
|
|
Enable data structures required by the boot ROM to boot the
|
|
application from an external flash device.
|
|
|
|
if NXP_IMXRT_BOOT_HEADER
|
|
|
|
rsource "../common/Kconfig.rom_loader"
|
|
|
|
choice BOOT_DEVICE
|
|
prompt "Boot device"
|
|
default BOOT_FLEXSPI_NOR
|
|
|
|
config BOOT_FLEXSPI_NOR
|
|
bool "FlexSPI serial NOR"
|
|
depends on HAS_MCUX_FLEXSPI
|
|
|
|
config BOOT_FLEXSPI_NAND
|
|
bool "FlexSPI serial NAND"
|
|
depends on HAS_MCUX_FLEXSPI
|
|
|
|
config BOOT_SEMC_NOR
|
|
bool "SEMC parallel NOR"
|
|
depends on HAS_MCUX_SEMC
|
|
|
|
config BOOT_SEMC_NAND
|
|
bool "SEMC parallel NAND"
|
|
depends on HAS_MCUX_SEMC
|
|
|
|
endchoice # BOOT_DEVICE
|
|
|
|
config FLEXSPI_CONFIG_BLOCK_OFFSET
|
|
hex "FlexSPI config block offset"
|
|
default 0x0 if BOOT_FLEXSPI_NOR
|
|
default 0x400
|
|
help
|
|
FlexSPI configuration block consists of parameters regarding specific
|
|
flash devices including read command sequence, quad mode enablement
|
|
sequence (optional), etc. The boot ROM expects FlexSPI configuration
|
|
parameter to be presented in serial nor flash.
|
|
|
|
config IMAGE_VECTOR_TABLE_OFFSET
|
|
hex "Image vector table offset"
|
|
default 0x1000 if BOOT_FLEXSPI_NOR || BOOT_SEMC_NOR
|
|
default 0x400 if BOOT_FLEXSPI_NAND || BOOT_SEMC_NAND
|
|
help
|
|
The Image Vector Table (IVT) provides the boot ROM with pointers to
|
|
the application entry point and device configuration data. The boot
|
|
ROM requires a fixed IVT offset for each type of boot device.
|
|
|
|
config DEVICE_CONFIGURATION_DATA
|
|
bool "Device configuration data"
|
|
help
|
|
Device configuration data (DCD) provides a sequence of commands to
|
|
the boot ROM to initialize components such as an SDRAM. This is
|
|
useful if your application expects components like SDRAM to be
|
|
initialized at boot time.
|
|
|
|
config EXTERNAL_MEM_CONFIG_DATA
|
|
bool "External Memory Configuration Data"
|
|
depends on !DEVICE_CONFIGURATION_DATA
|
|
help
|
|
External memory configuration data (XMDC) provides an alternative
|
|
configuration sequences which allows to intilialize the external memory
|
|
at the boot time. This sequence allows to configure
|
|
external memories (such as SDRAM) with more advanced option.
|
|
This is a new alternative boot header compared to DCD, and DCD must be disabled
|
|
in order to select this option.
|
|
|
|
config EXTERNAL_MEM_CONFIG_OFFSET
|
|
hex "External memory configuration offset"
|
|
depends on EXTERNAL_MEM_CONFIG_DATA
|
|
default 0x800 if SOC_SERIES_IMXRT118X
|
|
default 0x1040 if BOOT_FLEXSPI_NOR || BOOT_SEMC_NOR
|
|
help
|
|
As specified by the boot ROM, the External Memory configuration data must be
|
|
placed in a specific address location to be pointed by the boot ROM.
|
|
|
|
endif # NXP_IMXRT_BOOT_HEADER
|
|
|
|
config NXP_IMX_EXTERNAL_SDRAM
|
|
bool "Allow access to external SDRAM region"
|
|
help
|
|
Enable access to external SDRAM region managed by the SEMC. This
|
|
setting should be enabled when the application uses SDRAM, or
|
|
an MPU region will be defined to disable cached access to the
|
|
SDRAM memory space.
|
|
|
|
config NXP_IMX_EXTERNAL_HYPERRAM
|
|
bool "Allow access to external HYPERRAM region"
|
|
help
|
|
Enable access to external HYPERRAM region managed by the FLEXSPI.
|
|
This setting should be enabled when the application uses HYPERRAM,
|
|
or an MPU region will be defined to disable cached access to the
|
|
HYPERRAM memory space.
|
|
config SECOND_CORE_MCUX
|
|
bool "Dual core operation on the RT11xx series"
|
|
depends on SOC_SERIES_IMXRT11XX
|
|
help
|
|
Indicates the second core will be enabled, and the part will run
|
|
in dual core mode. Enables dual core operation on the RT11xx series,
|
|
by booting an image targeting the Cortex-M4 from the Cortex-M7 CPU.
|
|
The M4 image will be loaded from flash into RAM based off a
|
|
generated header specifying the VMA and LMA of each memory section
|
|
to load
|
|
|
|
if SOC_SERIES_IMXRT10XX || SOC_SERIES_IMXRT11XX || SOC_SERIES_IMXRT118X
|
|
|
|
config PM_MCUX_GPC
|
|
bool "MCUX general power controller driver"
|
|
|
|
config PM_MCUX_DCDC
|
|
bool "MCUX dcdc converter module driver"
|
|
|
|
config PM_MCUX_PMU
|
|
bool "MCUX power management unit driver"
|
|
|
|
config DCDC_VALUE
|
|
hex "DCDC value for VDD_SOC"
|
|
|
|
config INIT_ARM_PLL
|
|
bool "Initialize ARM PLL"
|
|
|
|
config INIT_VIDEO_PLL
|
|
bool "Initialize Video PLL"
|
|
|
|
config INIT_ENET_PLL
|
|
bool
|
|
help
|
|
If y, the Ethernet PLL is initialized. Always enabled on e.g.
|
|
MIMXRT1021 - see commit 17f4d6bec7 ("soc: nxp_imx: fix ENET_PLL selection
|
|
for MIMXRT1021").
|
|
|
|
config INIT_SYS_PLL
|
|
bool "Initialize System PLL"
|
|
|
|
endif # SOC_SERIES_IMXRT10XX || SOC_SERIES_IMXRT11XX || SOC_SERIES_IMXRT118X
|
|
|
|
endif # SOC_FAMILY_NXP_IMXRT
|