path: root/user
diff options
authorSebastian Huber <>2019-02-13 08:05:33 +0100
committerSebastian Huber <>2019-02-18 08:45:54 +0100
commit9f24b6e134b3ff38d04e5f56955b8e04229ad3df (patch)
treed1d8303d06f2418c2aed0b93a3fd0dc3d6de89bf /user
parentf7384cc2e20d1e0497bf06f86a2c9d0c5bdde3cc (diff)
user: Add basic Intel Cyclone V documentation
Diffstat (limited to 'user')
1 files changed, 73 insertions, 2 deletions
diff --git a/user/bsps/bsps-arm.rst b/user/bsps/bsps-arm.rst
index a554508..ba306bf 100644
--- a/user/bsps/bsps-arm.rst
+++ b/user/bsps/bsps-arm.rst
@@ -1,6 +1,7 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2017, 2018 embedded brains GmbH
+.. Copyright (C) 2017, 2019 embedded brains GmbH
+.. Copyright (C) 2017, 2019 Sebastian Huber
arm (ARM)
@@ -8,7 +9,77 @@ arm (ARM)
+This BSP offers only one variant, the `altcycv_devkit`. This variant supports
+the Intel Cyclone V system on chip. The basic hardware initialization is not
+performed by the BSP. A boot loader with device tree support must be used to
+start the BSP, e.g. U-Boot.
+The BSP is known to run on these boards:
+* `Cyclone V SoC Development Kit <>`_
+* `Enclustra Mars MA3 SoC Module <>`_
+* `Terasic DE10-Standard Development Kit <>`_
+Boot via U-Boot
+The application executable file (ELF file) must be converted to an U-Boot
+image. Use the following commands:
+ arm-rtems5-objcopy -O binary app.exe app.bin
+ gzip -9 -f -c app.bin > app.bin.gz
+ mkimage -A arm -O linux -T kernel -a 0x00300000 -e 0x00300000 -n RTEMS -d app.bin.gz app.img
+Use the following U-Boot commands to boot an application via TFTP download:
+ tftpboot ${loadaddr} app.img && run loadfdt && bootm ${loadaddr} - ${fdt_addr} ; reset
+Clock Driver
+The clock driver uses the `Cortex-A9 MPCore Global Timer`.
+Console Driver
+The console driver supports up to two on-chip NS16550 UARTs. The console
+driver does not configure the pins.
+I2C Driver
+There is a legacy I2C driver. It should be converted to the I2C driver framework.
+Network Interface Driver
+The network interface driver is provided by the `libbsd`. It is initialized
+according to the device tree. It supports checksum offload.
+MMC/SDCard Driver
+The MMC/SDCard driver is provided by the `libbsd`. It is
+initialized according to the device tree. Pin re-configuration according to
+the serial clock frequency is not supported. DMA transfers are supported.
+USB Host Driver
+The USB host driver is provided by the `libbsd`. It is initialized according
+to the device tree. The driver works in polled mode.
+The clock and pin configuration support is quite rudimentary and mostly relies
+on the boot loader.