| # Copyright 2022-2024 NXP |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| if SOC_SERIES_RW6XX |
| |
| config ROM_START_OFFSET |
| default 0x400 if BOOTLOADER_MCUBOOT |
| default 0x1300 if NXP_RW6XX_BOOT_HEADER |
| |
| config NUM_IRQS |
| default 129 |
| if CORTEX_M_SYSTICK |
| |
| config SYS_CLOCK_HW_CYCLES_PER_SEC |
| default 260000000 |
| |
| endif # CORTEX_M_SYSTICK |
| |
| # The base address is determined from the zephyr,flash node with the following |
| # precedence: |
| # FlexSPI base address (if flash node is on a FlexSPI bus) |
| # node reg property (used for memory regions such as SRAM) |
| |
| # Workaround for not being able to have commas in macro arguments |
| |
| DT_CHOSEN_Z_FLASH := zephyr,flash |
| DT_COMPAT_FLEXSPI := nxp,imx-flexspi |
| |
| # Macros to shorten Kconfig definitions |
| DT_CHOSEN_FLASH_NODE := $(dt_chosen_path,$(DT_CHOSEN_Z_FLASH)) |
| DT_CHOSEN_FLASH_PARENT := $(dt_node_parent,$(DT_CHOSEN_FLASH_NODE)) |
| |
| config FLASH_BASE_ADDRESS |
| default $(dt_node_reg_addr_hex,$(DT_CHOSEN_FLASH_PARENT),1) \ |
| if $(dt_node_has_compat,$(DT_CHOSEN_FLASH_PARENT),$(DT_COMPAT_FLEXSPI)) |
| default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) |
| |
| # The RW6xx has no internal flash. If the flash node has a size property, |
| # use that over the reg property. This is used for the external flash |
| # present on the board. Otherwise, fallback to the reg property |
| config FLASH_SIZE |
| default $(dt_node_int_prop_int,$(DT_CHOSEN_FLASH_NODE),size,Kb) \ |
| if $(dt_node_has_prop,$(DT_CHOSEN_FLASH_NODE),size) |
| default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K) |
| |
| if NXP_RW_ROM_RAMLOADER |
| |
| FLASH_BASE := $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) |
| FLEXSPI_BASE := $(dt_node_reg_addr_hex,/soc/spi@134000,1) |
| config BUILD_OUTPUT_ADJUST_LMA |
| default "$(FLEXSPI_BASE) - $(FLASH_BASE)" |
| |
| endif # NXP_RW_ROM_RAMLOADER |
| |
| if FLASH_MCUX_FLEXSPI_XIP |
| |
| # Avoid RWW hazards by defaulting logging to disabled |
| choice FLASH_LOG_LEVEL_CHOICE |
| default FLASH_LOG_LEVEL_OFF |
| endchoice |
| |
| choice MEMC_LOG_LEVEL_CHOICE |
| default MEMC_LOG_LEVEL_OFF |
| endchoice |
| |
| # Code relocation is needed when MEMC driver is enabled |
| config CODE_DATA_RELOCATION_SRAM |
| default y if MEMC |
| |
| endif # FLASH_MCUX_FLEXSPI_XIP |
| |
| endif # SOC_SERIES_RW6XX |