SUBSYSTEMS += LIBUART
OBJECTS_LIBUART += uart_omap35x.o
-PREPROCESS_PARTS += omap3 libuart
-PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_EVM),omap3_evm)
-PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_BEAGLEBOARD),omap3_beagleboard)
+PREPROCESS_PARTS += omap libuart
+PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_EVM),omap3 omap3_evm)
+PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_BEAGLEBOARD),omap3 omap3_beagleboard)
+PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP4_PANDABOARD),omap4 mptimer pic_gic omap4_pandaboard)
CONFIG_KERNEL_LOAD_ADDR := 0x80000000
+MPCORE_PHYS_BASE := 0x48240000
-uart_IMPL += uart-arm-omap3
-config_IMPL += config-arm-omap3
-mem_layout_IMPL += mem_layout-arm-omap3
-pic_IMPL += pic-arm-omap3
-bootstrap_IMPL += bootstrap-arm-omap3
-timer_IMPL += timer-arm-omap3
-kernel_uart_IMPL += kernel_uart-arm-omap3
-reset_IMPL += reset-arm-omap3
+INTERFACES_KERNEL += $(if $(CONFIG_MP),boot_mp)
+INTERFACES_KERNEL += $(if $(CONFIG_PF_OMAP4_PANDABOARD),gic)
+
+uart_IMPL += uart-arm-omap
+config_IMPL += config-arm-omap
+mem_layout_IMPL += mem_layout-arm-omap
+pic_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD),pic-arm-gic-omap4,pic-arm-omap3)
+bootstrap_IMPL += bootstrap-arm-omap
+timer_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD),timer-arm-mptimer timer-arm-mptimer-omap4,timer-arm-omap3)
+kernel_uart_IMPL += kernel_uart-arm-omap
+reset_IMPL += reset-arm-omap
clock_IMPL += clock-generic
+boot_mp_IMPL += boot_mp-arm-omap4