Skip to content

Commit

Permalink
plat-sam: Add support for Atmel-Microchip SAMA5D2-XULT board
Browse files Browse the repository at this point in the history
Add basic support to get op-tee to run on SAMA5D2-XULT board.

The SoC is based on single core ARM Cortex-A5 and supports:
 ARM TrustZone with support for configuring memory/peripherals as secure
 Secure RTC
 Secure boot
 On-the-fly encryption/decryption of DDR bus
 Tamper protection

Link: http://www.atmel.com/Images/Atmel-11267-32-bit-Cortex-A5-Microcontroller-SAMA5D2_Datasheet.pdf
Signed-off-by: Akshay Bhat <[email protected]>
Acked-by: Jerome Forissier <[email protected]>
  • Loading branch information
nodeax authored and jforissier committed Aug 31, 2017
1 parent fc5552c commit e20d1bc
Show file tree
Hide file tree
Showing 17 changed files with 1,654 additions and 0 deletions.
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 <[email protected]>`|
| ARM Juno Board |`Linaro <[email protected]>`|
| Atmel ATSAMA5D2-XULT Board |`Akshay Bhat <[email protected]>`|
| FSL ls1021a |`Sumit Garg <[email protected]>`|
| FSL i.MX6 Quad SABRE Lite Board |`Yan Yan <[email protected]>`,`Feng Yu <[email protected]>`|
| FSL i.MX6 Quad SABRE SD Board |`Yan Yan <[email protected]>`,`Feng Yu <[email protected]>`|
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)
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

0 comments on commit e20d1bc

Please sign in to comment.