The Xilinx ZynqMP SoC embeds both Cortex-R "RPU" and Cortex-A "APU" cores. Since the current Zephyr architecture cannot support AMP of Cortex-R and Cortex-A within the same project, the RPU and APU should be considered separate platforms and handled accordingly. This commit re-purposes the SOC_XILINX_ZYNQMP symbol as a helper symbol indicating that Xilinx ZynqMP SoC is used, and adds a new symbol, SOC_XILINX_ZYNQMP_RPU, for specifying the actual build target platform. When Cortex-A support is added in the future, SOC_XILINX_ZYNQMP_APU symbol should be added and used to conditionally handle APU-specific code. For more details, refer to the issue #20217. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
40 lines
850 B
Text
40 lines
850 B
Text
# Copyright (c) 2019 Lexmark International, Inc.
|
|
# Copyright (c) 2019 Stephanos Ioannidis <root@stephanos.io>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
if SOC_XILINX_ZYNQMP
|
|
|
|
config SOC
|
|
default "xilinx_zynqmp"
|
|
|
|
if SOC_XILINX_ZYNQMP_RPU
|
|
|
|
config NUM_IRQS
|
|
# must be >= the highest interrupt number used
|
|
# - include the UART interrupts
|
|
default 220
|
|
|
|
config 2ND_LVL_ISR_TBL_OFFSET
|
|
default 1
|
|
|
|
config MAX_IRQ_PER_AGGREGATOR
|
|
default 219
|
|
|
|
config NUM_2ND_LEVEL_AGGREGATORS
|
|
default 1
|
|
|
|
config SYS_CLOCK_HW_CYCLES_PER_SEC
|
|
default 12000000
|
|
|
|
endif # SOC_XILINX_ZYNQMP_RPU
|
|
|
|
# Workaround for not being able to have commas in macro arguments
|
|
DT_CHOSEN_Z_FLASH := zephyr,flash
|
|
|
|
config FLASH_SIZE
|
|
default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K)
|
|
|
|
config FLASH_BASE_ADDRESS
|
|
default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH))
|
|
|
|
endif # SOC_XILINX_ZYNQMP
|