From c85d3dd8285aaebb1d3d7043cab503ec2855cb38 Mon Sep 17 00:00:00 2001 From: Daniel DeGrasse Date: Wed, 26 Jul 2023 15:25:18 -0500 Subject: [PATCH] soc: arm: nxp_imx: don't default CONFIG_DEVICE_CONFIGURATION_DATA=y Don't default CONFIG_DEVICE_CONFIGURATION_DATA to enabled for iMX RT SOCs, as this configuration block is only used when the board needs peripherals like the external memory controller setup from reset by the bootrom. Enable this feature on all in tree boards that will require it, and document the change to the default value in release notes. Signed-off-by: Daniel DeGrasse --- boards/arm/mimxrt1020_evk/Kconfig.defconfig | 5 ++++- boards/arm/mimxrt1024_evk/Kconfig.defconfig | 5 ++++- boards/arm/mimxrt1040_evk/Kconfig.defconfig | 3 +++ boards/arm/mimxrt1050_evk/Kconfig.defconfig | 3 +++ boards/arm/mimxrt1060_evk/Kconfig.defconfig | 3 +++ boards/arm/mimxrt1062_fmurt6/Kconfig.defconfig | 3 +++ boards/arm/mimxrt1064_evk/Kconfig.defconfig | 5 ++++- boards/arm/mimxrt1160_evk/Kconfig.defconfig | 6 +++++- boards/arm/mimxrt1170_evk/Kconfig.defconfig | 4 ++++ boards/arm/mm_feather/Kconfig.defconfig | 4 ++++ boards/arm/mm_swiftio/Kconfig.defconfig | 4 ++++ doc/releases/release-notes-3.5.rst | 3 +++ soc/arm/nxp_imx/rt/Kconfig.soc | 5 +++-- 13 files changed, 47 insertions(+), 6 deletions(-) diff --git a/boards/arm/mimxrt1020_evk/Kconfig.defconfig b/boards/arm/mimxrt1020_evk/Kconfig.defconfig index 98320418575..a9524ed455f 100644 --- a/boards/arm/mimxrt1020_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1020_evk/Kconfig.defconfig @@ -1,6 +1,6 @@ # MIMXRT1020-EVK board -# Copyright (c) 2018, NXP +# Copyright 2018,2023 NXP # SPDX-License-Identifier: Apache-2.0 if BOARD_MIMXRT1020_EVK @@ -12,6 +12,9 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + if NETWORKING config NET_L2_ETHERNET diff --git a/boards/arm/mimxrt1024_evk/Kconfig.defconfig b/boards/arm/mimxrt1024_evk/Kconfig.defconfig index 768d74e7d46..26f5e06810a 100644 --- a/boards/arm/mimxrt1024_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1024_evk/Kconfig.defconfig @@ -1,6 +1,6 @@ # MIMXRT1024-EVK board -# Copyright (c) 2020, NXP +# Copyright 2020,2023 NXP # SPDX-License-Identifier: Apache-2.0 if BOARD_MIMXRT1024_EVK @@ -12,6 +12,9 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + config I2C_MCUX_LPI2C_BUS_RECOVERY default y depends on I2C_MCUX_LPI2C && PINCTRL diff --git a/boards/arm/mimxrt1040_evk/Kconfig.defconfig b/boards/arm/mimxrt1040_evk/Kconfig.defconfig index 70c8f7c2bd7..c9adb66fc31 100644 --- a/boards/arm/mimxrt1040_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1040_evk/Kconfig.defconfig @@ -10,4 +10,7 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + endif # BOARD_MIMXRT1040_EVK diff --git a/boards/arm/mimxrt1050_evk/Kconfig.defconfig b/boards/arm/mimxrt1050_evk/Kconfig.defconfig index 0b69a094c47..dc245ececa1 100644 --- a/boards/arm/mimxrt1050_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1050_evk/Kconfig.defconfig @@ -13,6 +13,9 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + if FLASH config FLASH_MCUX_FLEXSPI_HYPERFLASH diff --git a/boards/arm/mimxrt1060_evk/Kconfig.defconfig b/boards/arm/mimxrt1060_evk/Kconfig.defconfig index 1d6cef3cd6b..332a0b758b2 100644 --- a/boards/arm/mimxrt1060_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1060_evk/Kconfig.defconfig @@ -14,6 +14,9 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + if FLASH config FLASH_MCUX_FLEXSPI_NOR diff --git a/boards/arm/mimxrt1062_fmurt6/Kconfig.defconfig b/boards/arm/mimxrt1062_fmurt6/Kconfig.defconfig index cae9a37cf60..ea12512b60e 100644 --- a/boards/arm/mimxrt1062_fmurt6/Kconfig.defconfig +++ b/boards/arm/mimxrt1062_fmurt6/Kconfig.defconfig @@ -12,6 +12,9 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + if NETWORKING config NET_L2_ETHERNET diff --git a/boards/arm/mimxrt1064_evk/Kconfig.defconfig b/boards/arm/mimxrt1064_evk/Kconfig.defconfig index 9df588b77d0..18e70a2ce53 100644 --- a/boards/arm/mimxrt1064_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1064_evk/Kconfig.defconfig @@ -1,6 +1,6 @@ # MIMXRT1064-EVK board -# Copyright (c) 2018, NXP +# Copyright 2018,2023 NXP # SPDX-License-Identifier: Apache-2.0 if BOARD_MIMXRT1064_EVK @@ -12,6 +12,9 @@ choice CODE_LOCATION default CODE_FLEXSPI2 endchoice +config DEVICE_CONFIGURATION_DATA + default y + config KSCAN default y if LVGL diff --git a/boards/arm/mimxrt1160_evk/Kconfig.defconfig b/boards/arm/mimxrt1160_evk/Kconfig.defconfig index af995f92acd..b3525cf5114 100644 --- a/boards/arm/mimxrt1160_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1160_evk/Kconfig.defconfig @@ -1,6 +1,6 @@ # MIMXRT1160-EVK board -# Copyright (c) 2021, NXP +# Copyright 2021,2023 NXP # SPDX-License-Identifier: Apache-2.0 if BOARD_MIMXRT1160_EVK_CM7 || BOARD_MIMXRT1160_EVK_CM4 @@ -15,6 +15,10 @@ choice CODE_LOCATION default CODE_SRAM0 if BOARD_MIMXRT1160_EVK_CM4 endchoice +# Only use DCD when booting primary core (M7) +config DEVICE_CONFIGURATION_DATA + default y if CPU_CORTEX_M7 + if SECOND_CORE_MCUX && BOARD_MIMXRT1160_EVK_CM4 config BUILD_OUTPUT_INFO_HEADER diff --git a/boards/arm/mimxrt1170_evk/Kconfig.defconfig b/boards/arm/mimxrt1170_evk/Kconfig.defconfig index ed3de4d0d3a..3c8c1d57885 100644 --- a/boards/arm/mimxrt1170_evk/Kconfig.defconfig +++ b/boards/arm/mimxrt1170_evk/Kconfig.defconfig @@ -18,6 +18,10 @@ choice CODE_LOCATION default CODE_SRAM0 if CPU_CORTEX_M4 endchoice +# Only use DCD when booting primary core (M7) +config DEVICE_CONFIGURATION_DATA + default y if CPU_CORTEX_M7 + if SECOND_CORE_MCUX && CPU_CORTEX_M4 config BUILD_OUTPUT_INFO_HEADER diff --git a/boards/arm/mm_feather/Kconfig.defconfig b/boards/arm/mm_feather/Kconfig.defconfig index a0f6910a7dc..1a75f9241fa 100644 --- a/boards/arm/mm_feather/Kconfig.defconfig +++ b/boards/arm/mm_feather/Kconfig.defconfig @@ -1,6 +1,7 @@ # MM-FEATHER board # Copyright (c) 2021, MADMACHINE LIMITED +# Copyright 2023 NXP # SPDX-License-Identifier: Apache-2.0 if BOARD_MM_FEATHER @@ -12,6 +13,9 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + config DISK_DRIVER_SDMMC default y if DISK_DRIVERS diff --git a/boards/arm/mm_swiftio/Kconfig.defconfig b/boards/arm/mm_swiftio/Kconfig.defconfig index f0b8a47b043..92ac1f7b76f 100644 --- a/boards/arm/mm_swiftio/Kconfig.defconfig +++ b/boards/arm/mm_swiftio/Kconfig.defconfig @@ -1,6 +1,7 @@ # MM-SWIFTIO board # Copyright (c) 2019, MADMACHINE LIMITED +# Copyright 2023 NXP # SPDX-License-Identifier: Apache-2.0 if BOARD_MM_SWIFTIO @@ -12,6 +13,9 @@ choice CODE_LOCATION default CODE_FLEXSPI endchoice +config DEVICE_CONFIGURATION_DATA + default y + config DISK_DRIVER_SDMMC default y if DISK_DRIVERS diff --git a/doc/releases/release-notes-3.5.rst b/doc/releases/release-notes-3.5.rst index b9cc37e1497..9d481dbe4f9 100644 --- a/doc/releases/release-notes-3.5.rst +++ b/doc/releases/release-notes-3.5.rst @@ -94,6 +94,9 @@ Boards & SoC Support * Made these changes in other SoC series: + * i.MX RT SOCs no longer enable CONFIG_DEVICE_CONFIGURATION_DATA by default. + boards using external SDRAM should set CONFIG_DEVICE_CONFIGURATION_DATA + * Added support for these ARC boards: * Added support for these ARM boards: diff --git a/soc/arm/nxp_imx/rt/Kconfig.soc b/soc/arm/nxp_imx/rt/Kconfig.soc index 00be7064dd3..a0567de26c1 100644 --- a/soc/arm/nxp_imx/rt/Kconfig.soc +++ b/soc/arm/nxp_imx/rt/Kconfig.soc @@ -749,10 +749,11 @@ config IMAGE_VECTOR_TABLE_OFFSET config DEVICE_CONFIGURATION_DATA bool "Device configuration data" - default y if HAS_MCUX_SEMC help Device configuration data (DCD) provides a sequence of commands to - the boot ROM to initialize components such as an SDRAM. + 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. endif # NXP_IMX_RT_BOOT_HEADER