Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Atmel SAMA5 platform support #1714

Merged
merged 2 commits into from
Aug 31, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,9 @@ script:
- $make PLATFORM=rockchip-rk322x
- $make PLATFORM=rockchip-rk322x CFG_TEE_CORE_LOG_LEVEL=4 DEBUG=1

# Atmel ATSAMA5D2-XULT
- $make PLATFORM=sam

# Run regression tests (xtest in QEMU)
- (cd ${HOME}/optee_repo/build && $make check CROSS_COMPILE="ccache arm-linux-gnueabihf-" AARCH32_CROSS_COMPILE=arm-linux-gnueabihf- CFG_TEE_CORE_DEBUG=y DUMP_LOGS_ON_ERROR=1)

Expand Down
1 change: 1 addition & 0 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ for these platforms.
|----------|------------|
| Allwinner A80 Board |`Sun Yangbang <sunny@allwinnertech.com>`|
| ARM Juno Board |`Linaro <op-tee@linaro.org>`|
| Atmel ATSAMA5D2-XULT Board |`Akshay Bhat <akshay.bhat@timesys.com>`|
| FSL ls1021a |`Sumit Garg <sumit.garg@freescale.com>`|
| FSL i.MX6 Quad SABRE Lite Board |`Yan Yan <yan.yan@windriver.com>`,`Feng Yu <Yu.Feng@windriver.com>`|
| FSL i.MX6 Quad SABRE SD Board |`Yan Yan <yan.yan@windriver.com>`,`Feng Yu <Yu.Feng@windriver.com>`|
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ platforms have different sub-maintainers, please refer to the file
|----------|-------------------------|---------------------|
| [Allwinner A80 Board](http://linux-sunxi.org/A80)|`PLATFORM=sunxi`| No |
| [ARM Juno Board](http://www.arm.com/products/tools/development-boards/versatile-express/juno-arm-development-platform.php) |`PLATFORM=vexpress-juno`| Yes |
| [Atmel ATSAMA5D2-XULT Board](http://www.atmel.com/tools/atsama5d2-xult.aspx)|`PLATFORM=sam`| Yes |
| [FSL ls1021a](http://www.freescale.com/tools/embedded-software-and-tools/hardware-development-tools/tower-development-boards/mcu-and-processor-modules/powerquicc-and-qoriq-modules/qoriq-ls1021a-tower-system-module:TWR-LS1021A?lang_cd=en)|`PLATFORM=ls-ls1021atwr`| Yes |
| [FSL i.MX6 Quad SABRE Lite Board](https://boundarydevices.com/product/sabre-lite-imx6-sbc/) |`PLATFORM=imx-mx6qsabrelite`| Yes |
| [FSL i.MX6 Quad SABRE SD Board](http://www.nxp.com/products/software-and-tools/hardware-development-tools/sabre-development-system/sabre-board-for-smart-devices-based-on-the-i.mx-6quad-applications-processors:RD-IMX6Q-SABRE) |`PLATFORM=imx-mx6qsabresd`| Yes |
Expand Down
9 changes: 9 additions & 0 deletions core/arch/arm/cpu/cortex-a5.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
$(call force,CFG_ARM32_core,y)
$(call force,CFG_ARM64_core,n)
$(call force,CFG_WITH_LPAE,n)
$(call force,CFG_HWSUPP_MEM_PERM_WXN,n)
$(call force,CFG_HWSUPP_MEM_PERM_PXN,n)
$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,n)
arm32-platform-cpuarch := cortex-a5
arm32-platform-cflags += -mcpu=$(arm32-platform-cpuarch)
arm32-platform-aflags += -mcpu=$(arm32-platform-cpuarch)
4 changes: 2 additions & 2 deletions core/arch/arm/kernel/tz_ssvce_pl310_a32.S
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ LOCAL_FUNC _arm_cl2_xxxbypa , :
UNWIND( .fnstart)
/* Align start address on PL310 line size */
and r1, #(~(PL310_LINE_SIZE - 1))

#ifdef SCU_BASE
/*
* ARM ERRATA #764369
* Undocummented SCU Diagnostic Control Register
Expand All @@ -192,7 +192,7 @@ UNWIND( .fnstart)
str r12, [r0, #SCU_ERRATA744369]
dsb
add r0, r0, #(PL310_BASE - SCU_BASE)

#endif
loop_cl2_xxxbypa:
str r1, [r0, r3]

Expand Down
17 changes: 17 additions & 0 deletions core/arch/arm/plat-sam/conf.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
PLATFORM_FLAVOR ?= sama5d2xult

include core/arch/arm/cpu/cortex-a5.mk
core_arm32-platform-aflags += -mfpu=neon

$(call force,CFG_GENERIC_BOOT,y)
$(call force,CFG_ATMEL_UART,y)
$(call force,CFG_PM_STUBS,y)
$(call force,CFG_SECURE_TIME_SOURCE_REE,y)
$(call force,CFG_NO_SMP,y)
$(call force,CFG_PL310,y)
$(call force,CFG_PL310_LOCKED,y)
$(call force,CFG_AT91_MATRIX,y)

ta-targets = ta_arm32

CFG_WITH_STACK_CANARIES ?= y
1 change: 1 addition & 0 deletions core/arch/arm/plat-sam/kern.ld.S
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "../kernel/kern.ld.S"
1 change: 1 addition & 0 deletions core/arch/arm/plat-sam/link.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include core/arch/arm/kernel/link.mk
Loading