8 Commits

11 changed files with 67 additions and 8 deletions

View File

@@ -41,4 +41,12 @@ config PF_OMAP5_5432EVM
help
Choose for OMAP5432EVM.
config PF_OMAP5_BEAGLEBOARD_X15
bool "BeagleBoard-X15"
select CAN_ARM_CPU_CORTEX_A15
select HAS_CPU_VIRT
select DEFAULT_ARM_EM_NS if CPU_VIRT
help
Choose for BeagleBoard-X15
endchoice

View File

@@ -8,22 +8,24 @@ PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_BEAGLEBOARD),pf_omap3 pf_omap3_35x)
PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_AM33XX),pf_omap3)
PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP4_PANDABOARD),pf_omap4 mptimer pic_gic)
PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP5_5432EVM),pf_omap5 arm_generic_timer pic_gic)
PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),pf_omap5 arm_generic_timer pic_gic)
RAM_PHYS_BASE := 0x80000000
MPCORE_PHYS_BASE := 0x48240000
TRAMP_MP_ASM_INCLUDE := $(BSP_SRC_DIR)/tramp-mp-asm.h
INTERFACES_KERNEL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM),gic)
INTERFACES_KERNEL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM)$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),gic)
INTERFACES_KERNEL-pf_omap3 += timer_omap_1mstimer
INTERFACES_KERNEL += $(foreach i,$(PREPROCESS_PARTS),$(INTERFACES_KERNEL-$(i)))
INTERFACES_KERNEL-$(CONFIG_PF_OMAP3_AM33XX) += timer_omap_gentimer
INTERFACES_KERNEL-$(CONFIG_PF_OMAP5_5432EVM) += generic_timer
INTERFACES_KERNEL-$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15) += generic_timer
uart_IMPL += uart-arm-omap
config_IMPL += config-arm-omap
mem_layout_IMPL += mem_layout-arm-omap
pic_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM),pic-gic pic-arm-gic-omap4,pic-arm-omap3)
pic_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM)$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),pic-gic pic-arm-gic-omap4,pic-arm-omap3)
timer_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD),timer-arm-mptimer timer-arm-mptimer-omap4,timer-arm-omap3)
timer_IMPL += $(if $(CONFIG_PF_OMAP5_5432EVM),timer-arm-generic timer-arm-generic-omap5)
timer_IMPL += $(if $(CONFIG_PF_OMAP5_5432EVM)$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),timer-arm-generic timer-arm-generic-omap5)
timer_tick_IMPL += timer_tick-single-vector
kernel_uart_IMPL += kernel_uart-arm-omap
reset_IMPL += reset-arm-omap

View File

@@ -1,6 +1,5 @@
# PF: TEGRA
# PFDESCR: NVIDIA Tegra platform
# PFSELECT: CAN_ARM_CPU_CORTEX_A9 CAN_ARM_CACHE_L2CXX0
# PFDEPENDS: ARM
choice
@@ -10,10 +9,19 @@ choice
config PF_TEGRA2
bool "Tegra2"
depends on PF_TEGRA
select CAN_ARM_CPU_CORTEX_A9
select CAN_ARM_CACHE_L2CXX0
config PF_TEGRA3
bool "Tegra3"
depends on PF_TEGRA
select CAN_ARM_CPU_CORTEX_A9
select CAN_ARM_CACHE_L2CXX0
config PF_TEGRAK1
bool "TegraK1"
depends on PF_TEGRA
select CAN_ARM_CPU_CORTEX_A15
endchoice

View File

@@ -3,8 +3,9 @@
PREPROCESS_PARTS += 16550 pic_gic generic_tickless_idle libuart
PREPROCESS_PARTS-$(CONFIG_PF_TEGRA_TIMER_MP) += mptimer
PREPROCESS_PARTS-$(CONFIG_PF_TEGRA_TIMER_TMR) += tegra_timer_tmr
RAM_PHYS_BASE-$(CONFIG_PF_TEGRA2) := $(if $(CONFIG_ARM_EM_TZ),0x30000000,0x0)
RAM_PHYS_BASE-$(CONFIG_PF_TEGRA3) := $(if $(CONFIG_ARM_EM_TZ),0xa0000000,0x80000000)
RAM_PHYS_BASE-$(CONFIG_PF_TEGRA2) := $(if $(CONFIG_ARM_EM_TZ),0x30000000,0x0)
RAM_PHYS_BASE-$(CONFIG_PF_TEGRA3) := $(if $(CONFIG_ARM_EM_TZ),0xa0000000,0x80000000)
RAM_PHYS_BASE-$(CONFIG_PF_TEGRAK1) := 0x80000000
RAM_PHYS_BASE := $(RAM_PHYS_BASE-y)
INTERFACES_KERNEL += gic
MPCORE_PHYS_BASE := 0x50040000

View File

@@ -5,3 +5,7 @@ INTERFACE[arm && pf_tegra2]:
INTERFACE[arm && pf_tegra3]:
#define TARGET_NAME "Tegra3"
INTERFACE[arm && pf_tegrak1]:
#define TARGET_NAME "TegraK1"

View File

@@ -1,4 +1,4 @@
INTERFACE [arm && pf_tegra]:
INTERFACE [arm && !pf_tegrak1]:
EXTENSION class Mem_layout
{
@@ -18,3 +18,24 @@ public:
Pmc_phys_base = 0x7000e400,
};
};
INTERFACE [arm && pf_tegrak1]:
EXTENSION class Mem_layout
{
public:
enum Phys_layout_tegra : Address
{
Mp_scu_phys_base = 0x50040000,
L2cxx0_phys_base = 0x50043000,
Gic_cpu_phys_base = 0x50042000,
Gic_dist_phys_base = 0x50041000,
Gic2_cpu_phys_base = 0x50020000,
Gic2_dist_phys_base = 0x50021000,
Tmr_phys_base = 0x60005000,
Clock_reset_phys_base = 0x60006000,
Pmc_phys_base = 0x7000e400,
};
};

View File

@@ -0,0 +1,4 @@
PLATFORM_NAME = "BeagleBoard-X15"
PLATFORM_ARCH = arm
PLATFORM_RAM_BASE = 0x80000000
PLATFORM_RAM_SIZE_MB = 2046

View File

@@ -0,0 +1,4 @@
PLATFORM_NAME = "Raspberry Pi 2, Model B"
PLATFORM_ARCH = arm
PLATFORM_RAM_BASE = 0x0
PLATFORM_RAM_SIZE_MB = 992

View File

@@ -0,0 +1,4 @@
PLATFORM_NAME = "Raspberry Pi 3, Model B"
PLATFORM_ARCH = arm arm64
PLATFORM_RAM_BASE = 0x0
PLATFORM_RAM_SIZE_MB = 992

View File

@@ -12,6 +12,7 @@ SUPPORT_CC_arm-omap3_am33xx := platform/omap.cc
SUPPORT_CC_arm-beagleboard := platform/omap.cc
SUPPORT_CC_arm-pandaboard := platform/omap.cc
SUPPORT_CC_arm-omap5 := platform/omap.cc
SUPPORT_CC_arm-bb_x15 := platform/omap.cc
SUPPORT_CC_arm-tegra2 := platform/tegra2.cc
SUPPORT_CC_arm-tegra3 := platform/tegra3.cc
SUPPORT_CC_arm-imx21 := platform/imx.cc
@@ -30,6 +31,8 @@ SUPPORT_CC_arm-om := platform/om.cc
SUPPORT_CC_arm-kirkwood := platform/kirkwood.cc
SUPPORT_CC_arm-rpi_a := platform/rpi.cc
SUPPORT_CC_arm-rpi_b := platform/rpi.cc
SUPPORT_CC_arm-rpi2 := platform/rpi.cc
SUPPORT_CC_arm-rpi3 := platform/rpi.cc
SUPPORT_CC_arm-exynos4 := platform/exynos.cc
SUPPORT_CC_arm-exynos5 := platform/exynos.cc
SUPPORT_CC_arm-zedboard := platform/zynq.cc

View File

@@ -32,7 +32,7 @@ class Platform_arm_omap : public Platform_single_region_ram
static L4::Io_register_block_mmio r(0x4806a000);
#elif defined(PLATFORM_TYPE_omap3_am33xx)
static L4::Io_register_block_mmio r(0x44e09000);
#elif defined(PLATFORM_TYPE_pandaboard) || defined(PLATFORM_TYPE_omap5)
#elif defined(PLATFORM_TYPE_pandaboard) || defined(PLATFORM_TYPE_omap5) || defined(PLATFORM_TYPE_bb_x15)
static L4::Io_register_block_mmio r(0x48020000);
#else
#error Unknown platform