# vim:set ft=make:

SUBSYSTEMS              += LIBUART
PREPROCESS_PARTS        += libuart generic_tickless_idle arm_single_ipi_irq
PREPROCESS_PARTS        += $(if $(CONFIG_ARM_V7PLUS),arm_generic_timer)
PREPROCESS_PARTS        += $(if $(CONFIG_PF_BCM283X_RPI3),16550)
PREPROCESS_PARTS        += $(if $(CONFIG_PF_BCM283X_RPIZW),16550)
INTERFACES_KERNEL       += $(if $(CONFIG_ARM_V7PLUS),generic_timer)
INTERFACES_KERNEL       += arm_control irq_handler
RAM_PHYS_BASE           := 0

ifeq ($(CONFIG_PF_BCM283X_RPI3),y)
  uart_IMPL              = uart uart-16550
  kernel_uart_IMPL      += kernel_uart-libuart
  OBJECTS_LIBUART       += uart_16550.o
else ifeq ($(CONFIG_PF_BCM283X_RPIZW),y)
  uart_IMPL              = uart uart-16550
  kernel_uart_IMPL      += kernel_uart-libuart
  OBJECTS_LIBUART       += uart_16550.o
else
  uart_IMPL             += uart-arm-bcm283x
  kernel_uart_IMPL      += kernel_uart-arm-bcm283x
  OBJECTS_LIBUART       += uart_pl011.o
endif
arm_control_IMPL      += arm_control-arm-bcm283x
config_IMPL           += config-arm-bcm283x
mem_layout_IMPL       += mem_layout-arm-bcm283x
pic_IMPL              += pic-arm-bcm283x
timer_IMPL            += timer-arm-bcm283x
timer_IMPL            += $(if $(CONFIG_ARM_V7PLUS),timer-arm-generic)
timer_tick_IMPL       += $(if $(CONFIG_ARM_V7PLUS),timer_tick-arm-bcm283x,timer_tick-single-vector)
reset_IMPL            += reset-arm-bcm283x
clock_IMPL            += clock-generic
ipi_IMPL              += ipi-arm-bcm283x
platform_control_IMPL += platform_control-arm-bcm283x
irq_handler_IMPL       = irq_handler-arm-bcm283x
