boards: arm64: Build Zephyr for Intel SoC FPGA Agilex development kit
This is the initial Zephyr support for Intel SoC FPGA Agilex support. Agilex has quad-core 64-bit Arm Cortex*-A53. This patch build Zephyr for Agilex development kit with 256KB SDRAM and support hello_world sample code. The Zephyr will need to be loaded by Intel Arm Trusted Firmware (ATF). Agilex Zephyr boot flow: FSBL:ATF BL2(EL3) -> SSBL:ATF BL31(EL3) -> OS:Zephyr(EL2->EL1) Intel ATF can be loaded from: https://github.com/altera-opensource/arm-trusted-firmware.git Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
This commit is contained in:
parent
3bb0c3e33f
commit
a71d6f2c0c
6 changed files with 154 additions and 0 deletions
6
boards/arm64/intel_socfpga_agilex_socdk/Kconfig.board
Normal file
6
boards/arm64/intel_socfpga_agilex_socdk/Kconfig.board
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Copyright (c) 2021 Intel Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_INTEL_SOCFPGA_AGILEX_SOCDK
|
||||||
|
bool "Intel SoC FPGA Development Kit (Agilex)"
|
||||||
|
depends on SOC_AGILEX
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Copyright (c) 2021 Intel Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD
|
||||||
|
default "intel_socfpga_agilex_socdk"
|
||||||
|
depends on BOARD_INTEL_SOCFPGA_AGILEX_SOCDK
|
79
boards/arm64/intel_socfpga_agilex_socdk/doc/index.rst
Normal file
79
boards/arm64/intel_socfpga_agilex_socdk/doc/index.rst
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
.. _intel_socfpga_agilex_socdk:
|
||||||
|
|
||||||
|
Intel Agilex SoC Development Kit
|
||||||
|
#################################
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The Intel Agilex SoC Development Kit offers a complete design environment
|
||||||
|
that includes both hardware and software for developing Intel Agilex
|
||||||
|
F-Series FPGA designs. This kit is recommended for developing custom
|
||||||
|
Arm* processor-based SoC designs and evaluating transceiver performance.
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
********
|
||||||
|
|
||||||
|
The Intel Agilex SoC Development Kit supports the following physical features:
|
||||||
|
|
||||||
|
- Intel Agilex F-Series FPGA, 1400 KLE, 2486A package integrate the
|
||||||
|
quad-core Arm Cortex-A53 processor
|
||||||
|
- On-board 8 GB DDR4 memory
|
||||||
|
- On-board JTAG Intel FPGA Download Cable II
|
||||||
|
- QSPI flash daughtercard
|
||||||
|
- HPS OOBE daughtercard with UART and SD Card support
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
The Intel Agilex SoC Development Kit configuration supports the following
|
||||||
|
hardware features:
|
||||||
|
|
||||||
|
+-----------+------------+--------------------------------------+
|
||||||
|
| Interface | Controller | Driver/Component |
|
||||||
|
+===========+============+======================================+
|
||||||
|
| GIC-400 | on-chip | GICv2 interrupt controller |
|
||||||
|
+-----------+------------+--------------------------------------+
|
||||||
|
| ARM TIMER | on-chip | System Clock |
|
||||||
|
+-----------+------------+--------------------------------------+
|
||||||
|
| UART | on-chip | NS16550 compatible serial port |
|
||||||
|
+-----------+------------+--------------------------------------+
|
||||||
|
|
||||||
|
Other hardware features are not supported by the Zephyr kernel.
|
||||||
|
|
||||||
|
The default configuration can be found in the defconfig file:
|
||||||
|
|
||||||
|
``boards/arm64/intel_socfpga_agilex_socdk/intel_socfpga_agilex_socdk_defconfig``
|
||||||
|
|
||||||
|
Programming and Debugging
|
||||||
|
*************************
|
||||||
|
|
||||||
|
Boot Flow
|
||||||
|
=========
|
||||||
|
Zephyr image will need to be loaded by Intel Arm Trusted Firmware (ATF).
|
||||||
|
ATF BL2 is first stage boot loader (FSBL) and ATF BL31 is second stage
|
||||||
|
boot loader (SSBL).
|
||||||
|
|
||||||
|
Zephyr boot flow:
|
||||||
|
|
||||||
|
ATF BL2 (EL3) -> ATF BL31 (EL3) -> Zephyr (EL2->EL1)
|
||||||
|
|
||||||
|
Intel Arm Trusted Firmware (ATF) can be downloaded from github:
|
||||||
|
|
||||||
|
`altera-opensource/arm-trusted-firmware <https://github.com/altera-opensource/arm-trusted-firmware.git>`_
|
||||||
|
|
||||||
|
Flashing
|
||||||
|
========
|
||||||
|
Zephyr image can be loaded in DDR memory at address 0x10000000 from
|
||||||
|
SD Card or QSPI Flash in ATF BL2.
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
=========
|
||||||
|
The Intel Agilex SoC Development Kit includes one JTAG connector on
|
||||||
|
board, connect it to Intel USB blaster download cables for debugging.
|
||||||
|
|
||||||
|
Zephyr applications running on the Cortex-A53 core can be tested by
|
||||||
|
observing UART console output.
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
`Intel Agilex Transceiver-SoC Development Kit <https://www.intel.com/content/www/us/en/programmable/products/boards_and_kits/dev-kits/altera/kit-agf-si.html>`_
|
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021, Intel Corporation
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <intel_socfpga/intel_socfpga_agilex.dtsi>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Intel SoC FPGA Agilex";
|
||||||
|
compatible = "intel,socfpga-agilex";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,console = &uart0;
|
||||||
|
zephyr,shell-uart = &uart0;
|
||||||
|
zephyr,sram = &mem0;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "okay";
|
||||||
|
current-speed = <115200>;
|
||||||
|
};
|
|
@ -0,0 +1,7 @@
|
||||||
|
identifier: intel_socfpga_agilex_socdk
|
||||||
|
name: Intel SoC FPGA Agilex
|
||||||
|
type: mcu
|
||||||
|
arch: arm64
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- cross-compile
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Copyright (c) 2021 Intel Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# The Zephyr build from this defconfig is execpted to boot from
|
||||||
|
# Intel Arm Trusted Firmware (ATF)
|
||||||
|
# Boot Flow: BL21 -> BL31 -> Zephyr
|
||||||
|
|
||||||
|
CONFIG_SOC_SERIES_AGILEX=y
|
||||||
|
CONFIG_SOC_AGILEX=y
|
||||||
|
CONFIG_BOARD_INTEL_SOCFPGA_AGILEX_SOCDK=y
|
||||||
|
CONFIG_ARM_ARCH_TIMER=y
|
||||||
|
|
||||||
|
# Serial Drivers
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_UART_NS16550=y
|
||||||
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||||
|
CONFIG_UART_NS16550_ACCESS_WORD_ONLY=y
|
||||||
|
|
||||||
|
# Enable Console
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
|
||||||
|
# Enable Clock Manager
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
|
||||||
|
# For Misc Register Map
|
||||||
|
CONFIG_SYSCON=y
|
Loading…
Add table
Add a link
Reference in a new issue