# vim:set ft=make:

PREPROCESS_PARTS        += pic_gic
PREPROCESS_PARTS-$(CONFIG_PF_TEGRA_TIMER_MP)      += mptimer
PREPROCESS_PARTS-$(CONFIG_PF_TEGRA_TIMER_TMR)     += tegra_timer_tmr
PREPROCESS_PARTS-$(CONFIG_PF_TEGRA_TIMER_GENERIC) += arm_generic_timer
PREPROCESS_PARTS-$(CONFIG_PF_TEGRA_ORIN)          += psci
INTERFACES_KERNEL-y     += generic_timer
RAM_PHYS_BASE-$(CONFIG_PF_TEGRA_TEGRA2) := $(if $(CONFIG_ARM_EM_TZ),0x30000000,0x0)
RAM_PHYS_BASE-$(CONFIG_PF_TEGRA_TEGRA3) := $(if $(CONFIG_ARM_EM_TZ),0xa0000000,0x80000000)
RAM_PHYS_BASE-$(CONFIG_PF_TEGRA_ORIN)   := 0x80000000
RAM_PHYS_BASE                     := $(RAM_PHYS_BASE-y)
MPCORE_PHYS_BASE        := 0x50040000
ifneq ($(CONFIG_PF_TEGRA_ORIN),)
OBJECTS_LIBUART         += uart_tegra-tcu.o
CXXFLAGS_uart-libuart   += $(call LIBUART_UART, tegra-tcu, tegra_tcu)
else
OBJECTS_LIBUART         += uart_16550.o
CXXFLAGS_uart-libuart   += $(call LIBUART_UART, 16550)
endif

config_IMPL           += config-arm-tegra
mem_layout_IMPL       += mem_layout-arm-tegra
pic_IMPL              += pic-gic pic-arm-tegra
timer_IMPL            += $(if $(CONFIG_PF_TEGRA_TIMER_MP),timer-arm-tegra timer-arm-mptimer)
timer_IMPL            += $(if $(CONFIG_PF_TEGRA_TIMER_TMR),timer-arm-tegra)
timer_IMPL            += $(if $(CONFIG_PF_TEGRA_TIMER_GENERIC),timer-arm-generic timer-arm-generic-bsp-std)
timer_tick_IMPL       += $(if $(CONFIG_PF_TEGRA_TIMER_MP),timer_tick-single-vector)
timer_tick_IMPL       += $(if $(CONFIG_PF_TEGRA_TIMER_TMR),$(if $(CONFIG_MP),timer_tick-broadcast,timer_tick-single-vector))
timer_tick_IMPL       += $(if $(CONFIG_PF_TEGRA_TIMER_GENERIC),timer_tick-single-vector)
reset_IMPL            += reset-arm-tegra
clock_IMPL            += $(if $(CONFIG_PF_TEGRA_TIMER_MP),clock-generic)
clock_IMPL            += $(if $(CONFIG_PF_TEGRA_TIMER_TMR),clock-generic)
clock_IMPL            += $(if $(CONFIG_PF_TEGRA_TIMER_GENERIC),clock-arm-generic)
uart_IMPL             += $(if $(CONFIG_PF_TEGRA_ORIN),uart-arm-tegra)
platform_control_IMPL += platform_control-arm-tegra
outer_cache_IMPL      += outer_cache-arm-tegra
