Page properties |
---|
|
Design Name always "TE Series Name" + Design name, for example "TEI0006 Test Board" Date | Version | Changes | Author |
---|
2022-06-15 | 2.2 | - add 'QSPI-Boot mode'
- add 'Get prebuilt boot binaries'
- changed SD-Boot mode chapter
- 'Device Tree' chapter expanded
| TD | 2022-04-21 | 2.1 | | TD | 2022-02-28 | 2.0 | - add yocto to
- Overview → Key Features
- Overview → Requirements
- Design Flow
- Launch
- add section 'Software Design - Yocto'
| TD | 2021-06-15 | 1.2 | - table of content view
- template history
- placed a horizontal separation line under each chapter heading
- replaced <design name> by <project folder>
- changed title-alignment for tables from left to center
- update 19.x to 20.x
| JH,TD | 2020-11-24 | 1.1 | - add fix table of content
- add table size as macro
| JH | -- | 1.0 | -- | -- |
|
Page properties |
---|
|
Important General Note: Export PDF to download, if quartus revision is changed! Designate all graphics and pictures with a number and a description, Use "Scroll Title" macro - Use "Scroll Title" macro for pictures and table labels. Figure number must be set manually at the moment (automatically enumeration is planned by scrollPDF)
- ...
|
Overview
Scroll Ignore |
---|
scroll-pdf | true |
---|
scroll-office | true |
---|
scroll-chm | true |
---|
scroll-docbook | true |
---|
scroll-eclipsehelp | true |
---|
scroll-epub | true |
---|
scroll-html | true |
---|
|
|
Refer to http://trenz.org/te0xyztei0022-info for the current online version of this manual and other available documentation.
Key Features
Page properties |
---|
|
Notes : - Add basic key futures, which can be tested with the design
|
Excerpt |
---|
- Quartus 20.4 Pro
- Yocto
- Prime Lite 21.1
- Intel SoC FPGA EDS Standard Edition 20.1
- Yocto
- SDNIOS II
- UART
- ETH
- USB
- I2C
- QSPI flash
- HDMI
- MAC from EEPROM
- DDR3 memory
- User LED
|
Revision History
Page properties |
---|
|
Notes: - add every update file on the download
- add design changes on description
|
Scroll Title |
---|
anchor | Table_DRH |
---|
title-alignment | center |
---|
title | Design Revision History |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
Date | Quartus | Project Built | Authors | Description |
---|
20210203204 ProTEI0006TEI0022-test_board_noprebuilt-quartus_ | 20420210615152704TEI0006TEI0022-test_board-quartus_ | 2042021061515272920220615163226.zip | Thomas Dück |
| |
Release Notes and Know Issues
Page properties |
---|
|
Notes :- add known Design issues and general notes for the current revision
- do not delete known issue, add fixed version time stamp if issue fixed
|
- update to Quartus Prime Lite 21.1
- bugfixes
| 2022-04-26 | 20.1.1 Lite | TEI0022-test_board_noprebuilt-quartus_20.1.1-20220426153812.zip TEI0022-test_board-quartus_20.1.1-20220426153922.zip | Thomas Dück | - add lock_avalon_base_address command to qsys source files
| 2022-02-03 | 20.1.1 Lite | TEI0022-test_board_noprebuilt-quartus_20.1.1-20220203152427.zip TEI0022-test_board-quartus_20.1.1-20220203153430.zip | Thomas Dück | |
|
Release Notes and Know Issues
Page properties |
---|
|
Notes:- add known Design issues and general notes for the current revision
- do not delete known issue, add fixed version time stamp if issue fixed
|
Scroll Title |
---|
anchor | Table_KI |
---|
title-alignment | center |
---|
title | Known Issues |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | |
---|
|
|
Scroll Title |
---|
anchor | Table_KI |
---|
title-alignment | center |
---|
title | Known Issues |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | widths | sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
Issues | Description | Workaround | To be fixed version |
---|
No known issues | --- | --- | --- |
|
Requirements
Software
Page properties |
---|
|
Notes : - list of software which was used to generate the design
|
Scroll Title |
---|
anchor | Table_SW |
---|
title-alignment | center |
---|
title | Software |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
Software | Version | Note |
---|
Quartus Prime | Pro204NIOS II SBT for Eclipse | --- | Intel SoC FPGA EDS Standard Edition | 20.1 | needed | optionalSI ClockBuilder Pro | --- | optional |
|
Hardware
Page properties |
---|
|
Notes : - list of hardware which was used to generate the design
- mark the module and carrier board, which was used tested with an *
|
Complete List is available on <project folder>/board_files/*_board_files.csv
Design supports following modules:
Scroll Title |
---|
anchor | Table_HWM |
---|
title-alignment | center |
---|
title | Hardware Modules |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
Module Model | Board Part Short Name | Yocto Machine Name | PCB Revision Support | DDR | QSPI Flash | EMMC | Others | Notes |
---|
TEI0022-03* | A5_C8_2GB | tei0022-a5-c8-2gb | REV03 | 2GB | 32MB | -- | -- | -- |
*used as reference |
Design supports following carriers:
Scroll Title |
---|
anchor | Table_HWC |
---|
title-alignment | center |
---|
title | Hardware Carrier |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
*used as reference |
Additional HW Requirements:
Scroll Title |
---|
anchor | Table_AHW |
---|
title-alignment | center |
---|
title | Additional Hardware |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
Additional Hardware | Notes |
---|
USB cable for JTAG/UART | Check Carrier Board and Programmer for correct type |
*used as reference |
Content
Monitor | tested with DELL U2412M | Keyboard | -- | Mouse | -- | HDMI cable | -- | RJ45 ethernet cable | -- |
*used as reference |
Content
Page properties |
---|
|
Page properties |
---|
|
Notes : |
For general structure and usage of the reference design, see Project Delivery - Intel devices
Design Sources
Scroll Title |
---|
anchor | Table_DS |
---|
title-alignment | center |
---|
title | Design sources |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
Type | Location | Notes |
---|
Quartus | <project folder>/source_files/quartus <project folder>/source_files/<Board Part Short Name>/quartus | Quartus project will be generated by TE Scripts optional, source files for specific assembly variants | Software | <project folder>/source_files/software <project folder>/source_files/<Board Part Short Name>/software | Additional software will be generated by TE Scripts optional, source files for specific assembly variants | Yocto | <project folder>/source_files/os/yocto | Yocto BSP layer template for linux |
|
Prebuilt
Page properties |
---|
|
Notes : - prebuilt files
- Template Table:
Scroll Title |
---|
anchor | Table_PF |
---|
title-alignment | center |
---|
title | Prebuilt files (only on ZIP with prebult content) |
---|
| Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
File | File-Extension | Description |
---|
SOPC Information File | *.sopcinfo | File with description of the .qsys file to create software for the target hardware | SRAM Object File | *.sof | Ram configuration file | Programmer Object File | *.pof | FPGA configuration file | JTAG Indirect Configuration file | *.jic | Flash configuration file | Raw binary file | *.rbf | FPGA configuration file | Diverse Reports | --- | Report files in different formats | Software-Application-File | *.elf | Software application for NIOS II processor system | Device Tree | *.dtb | Device tree blob | SFP-File | *.sfp | Boot image with SPL (Secondary Program Loader) | BIN-File | *.bin | Image with linux kernel and ram disk | CONF-File | *.conf | Boot configuration file (extlinux.conf) | Yocto linux image | *.wic | Linux image for SD card |
|
|
Scroll Title |
---|
|
Scroll Title |
---|
anchor | Table_PF |
---|
title-alignment | center |
---|
title | Prebuilt files (only on ZIP with prebult content) |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
File | File-Extension | Description |
---|
SOPC Information File | *.sopcinfo | File with description of the .qsys file to create software for the target hardware | SRAM Object File | *.sof | Ram configuration fileJTAG indirect configuration | Raw binary file | *.jic | Flash configuration file | rbf | Raw binary file | *.rbf | FPGA configuration file | Diverse Reports | --- | Report files in different formatsSoftware-Application | Device Tree | *.dtb | Device tree blob | SFP-File | *.sfp | Boot image with SPL (Secondary Program Loader) | BIN-File | *.bin | Image with linux kernel and ram disk | CONF-File | *. | elfSoftware application for NIOS II processor systemconf | Boot configuration file (extlinux.conf) |
|
Download
Reference Design is only usable with the specified Quartus version. Do never use different versions of Quartus software for the same project.
Reference Design is available on:
Design Flow
Scroll Ignore |
---|
scroll-pdf | true |
---|
scroll-office | true |
---|
scroll-chm | true |
---|
scroll-docbook | true |
---|
scroll-eclipsehelp | true |
---|
scroll-epub | true |
---|
scroll-html | true |
---|
|
|
Note |
---|
Reference Design is available with and without prebuilt files. It's recommended to use TE prebuilt files for first launch. |
Trenz Electronic provides a tcl based built environment based on Quartus Design Flow.
See also:
The Trenz Electronic FPGA Reference Designs are TCL-script based projects. To create a project, open a project or program a device execute "create_project_win.cmd" on Windows OS and "create_project_linux.sh" on Linux OS.
TE Scripts are only needed to generate the quartus project, all other additional steps are optional and can also executed by Intel Quartus/SDK GUI. For currently Scripts limitations on Win OS and Linux OS see: Project Delivery - Intel devices → Currently limitations of functionality
- Open create_project_win.cmd/create_project_linux.sh:
Image Removed
Image Added'Create Project' GUI example - Select Board in "Board selection"
- Click on "Create project" button to create project
- (optional for manual changes) Select correct quartus installation path in "<project folder>/settings/design_basic_settings.tcl"
- Create and configure your Yocto Linux project, see Yocto KICKstart
- Copy the generated meta-<module> folder from <project name>/os/yocto/meta-<module> to the path/to/yocto/poky/ directory
- Follow the steps from Yocto KICKstart#Create a project for an Intel FPGA device without running the 'bitbake' command
Add the generated bsp layer meta-<machine> to path/to/yocto/poky/build/conf/bblayers.conf with:
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
bitbake-layers add-layer ../meta-<module>tei0022 |
Info |
---|
Note: The generated meta-<module> tei0022 layer depends on the meta-altera layer (for more information see: Yocto KICKstart#Used source files), so you need to add both bsp layers to bblayers.conf |
Redefine the variable MACHINE with '<module>tei0022-<Board-Part-Short-Name>' in path/to//yocto/poky/build/conf/local.conf. The correct MACHINE name can be found in the #Hardware table.
Also define the variables INITRAMFS_IMAGE_BUNDLE and INITRAMFS_IMAGE to create a ram disk image.
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
sed -i '/^MACHINE/s/MACHINE/#MACHINE/g' conf/local.conf
echo -e '\nMACHINE = "<module>tei0022-<Board-Part-Short-Name>"' >> conf/local.conf
echo -e '\nINITRAMFS_IMAGE_BUNDLE = "1"' >> conf/local.conf
echo -e 'INITRAMFS_IMAGE = "te-initramfs"' >> conf/local.conf |
Build the image with following command (the image recipes are located in meta-tei0022/recipes-core/imagesBuild the image with following command (the image recipes are located in meta-<module>/recipes-images/yocto/):
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
bitbake <module>te-image-minimal |
Launch
- [optional] Create a debian or ubuntu rootfs with/without desktop environment for this board. For more information and instructions see: Create debian/ubuntu rootfs - Intel devices
Launch
Page properties |
---|
|
Scroll Ignore |
---|
Page properties |
---|
|
Note: - Programming and Startup procedure
|
Programming
Note |
---|
Check Module and Carrier TRMs for proper HW configuration before you try any design. |
SD-Boot mode
- Follow the steps described in Yocto KICKstart#Copy image to SD card to copy the generated linux image to the SD card.
- Set Boot Mode to SD-Boot.
- Depends on Carrier, see carrier TRM.
- Insert SD-Card in SD-Slot.
QSPI
Get prebuilt boot binaries
Note |
---|
Reference Design is also available with prebuilt files. It's recommended to use TE prebuilt files for first launch. |
- Run
- Connect JTAG and power on carrier with module
- Open create_project_win.cmd/create_project_linux.sh
- Select correct board Module in "'Board selection"'
- Click on "Program device" button
- if prebuilt files are available: select "Program prebuilt file"
- using own generated programming file: select "Program other file" and click on "Browse ..." to open own generated programming file
- (optional) click on "Open programmer GUI" to program device with Quartus programmer GUI
- Click on "Start program device" button
JTAG
Not used on this example.
Usage
- Prepare HW like described on section Programming
- Connect UART USB (most cases same as JTAG)
- Connect your board to the network
- Power on PCB
UART
- 'Export prebuilt files' button
- Folder <project folder>/_binaries_<Article Name> with subfolder boot_linux will be generated and opened
QSPI-Boot mode
Option for u-boot-with-spl.sfp on QSPI flash and zimage-initramfs-<Yocto Machine Name>.bin, <Yocto Machine Name>.dtb, soc_system.rbf and extlinux/extlinux.conf on SD card
Use files from "<project folder>\_binaries_<Article Name>\boot_linux" from generated binary folder,see: #Get prebuilt boot binaries
- Set JTAGSEL0 and JTAGSEL1 to Cyclone V HPS access
- ConnectJTAG (USB connector J13) and power on carrier with module
- Open path/to/intelFPGA_lite/21.1/embedded/Embedded_Command_Shell.bat ( Win OS)/path/to/intelFPGA_lite/21.1/embedded/embedded_command_shell.sh (Linux OS) from Intel SoC FPGA EDS
Run following commands:
Open Serial Console (e.g. PuTTY)select COM Port
Info |
---|
Win OS: see device manager Linux OS: see dmesg | grep tty (UART is *USB1) |
- Speed: 115200
- Press reset button
- Console output depends on used Software project, see Software Design - SDK#Application
- Linux Console:
Login data:
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
yocto login: root
Password: root |
Info |
---|
Note: Wait until Linux boot finished |
You can use Linux shell now.
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
i2cdetect -y -r 1 (check I2C 1 Bus)
dmesg | grep rtc (RTC check)
udhcpc (ETH0 check)
lsusb (USB check) |
- ...
System Design - Quartus
Scroll Ignore |
---|
Block Design
The block designs may differ depending on the assembly variant.
Scroll Title |
---|
anchor | Figure_BD |
---|
title-alignment | center |
---|
title | Block Design - Project |
---|
|
>>Project<< |
Scroll Title |
---|
anchor | Figure_BD |
---|
title-alignment | center |
---|
title | Block Design - Platform Desginer |
---|
|
>>Platform Designer<< |
HPS Interfaces
Activated interfaces:
Type | Note |
DDR | -- |
EMAC0 | -- |
EMAC1 | -- |
GPIO0 | -- |
GPIO1 | -- |
GPIO2 | -- |
I2C0 | -- |
I2C1 | -- |
QSPI | -- |
SDMMC | -- |
UART0 | -- |
UART1 | -- |
USB0 | -- |
USB1 | -- |
CAN0 | -- |
CAN1 | -- |
Software Design - SDK
Scroll Ignore |
---|
Application
Page properties |
---|
|
---------------------------------------------------------- General Example: hello_tei0006Hello TEI0006 is a Hello World example as endless loop instead of one console output. |
Used software project depends on board assembly variant. Template location: <project folder>/source_files/software/
...
Software Design - Yocto
Scroll Ignore |
---|
For Yocto installation and project creation, follow instructions from:
U-Boot
Start with Create a custom BSP layer for Intel SoC or FPGA#Configure u-boot
File location: meta-<module>/recipes-bsp/u-boot/
Changes:
Device Tree
Code Block |
---|
|
#device tree
/ {
};
|
Kernel
Start withCreate a custom BSP layer for Intel SoC or FPGA#Configure linux kernelquartus_hps -c 1 -o pv -a 0x0 path/to/_binaries_<Article Name>/boot_linux/u-boot-with-spl.sfp |
- Copy zimage-initramfs-<Yocto Machine Name>.bin, <Yocto Machine Name>.dtb, soc_system.rbf and the extlinux folder from path/to/_binaries_<Article Name>/boot_linux/ to SD card
- Set Boot Mode to QSPI-Boot and insert the SD card in the SD-Slot
SD-Boot mode
- Prepare SD card as follows for SD-Boot
Run following command to get the device name of the SD card (e.g. /dev/sdx):
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
lsblk |
- Insert SD card in the SD card reader, unmount and erase it
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
sudo umount /dev/sdx
sudo sfdisk --delete /dev/sdx |
Create required partitions on the SD card (partition 1: 50MB, FAT32 / partition 2: 2MB, a2)
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
echo -e ',50M,c\n,2M,a2' | sudo sfdisk /dev/sdb --force
sudo mkfs.vfat -F 32 -n boot /dev/sdb1 |
Copy the u-boot file to partition 2 of the SD card
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
sudo dd if=path/to/_binaries_<Article Name>/boot_linux/u-boot-with-spl.sfp of=/dev/sdb2 bs=1M seek=0
sync |
- Copy zimage-initramfs-<Yocto Machine Name>.bin, <Yocto Machine Name>.dtb, soc_system.rbf and the extlinux folder from path/to/_binaries_<Article Name>/boot_linux/ via file manager to the partition 1 (named 'boot') on SD card.
- Set Boot Mode to SD-Boot.
- Insert SD-Card in the SD-Slot.
JTAG
Not used on this example.
Usage
- Prepare HW like described on section #Programming
- Connect UART USB (USB connector J5)
- Connect your board to the network
- Power on PCB
UART
- Open Serial Console (e.g. PuTTY)
select COM Port
Info |
---|
Win OS: see device manager Linux OS: see dmesg | grep tty (UART is *USB1) |
- Speed: 115200
- Press reset button
- Linux Console:
Login data:
Info |
---|
Note: Wait until Linux boot finished |
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
Username: root
Password: root |
You can use Linux shell now.
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
#check I2C 1 Bus
i2cdetect -y -r 1
#ETH0 check
udhcpc
#USB check
lsusb
#toggle leds (state= 0 or 1 / led_name= hps_led1, hps_led2, fpga_led1, fpga_led2)
echo <state> > /sys/class/leds/<led_name>/brightness
#check temperature (Unit: millidegree Celsius)
cat /sys/class/hwmon/hwmon0/device/temp1_input |
Monitor
- Connect the Monitor to HDMI
- Connect the Mouse+Keyboard to USB
- Press reset button
- The linux console is displayed:
Login data:
Info |
---|
Note: Wait until Linux boot finished |
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
Username: root
Password: root |
You can use Linux shell now.
Code Block |
---|
theme | Midnight |
---|
linenumbers | true |
---|
|
#check I2C 1 Bus
i2cdetect -y -r 1
#ETH0 check
udhcpc
#USB check
lsusb
#toggle leds (state= 0 or 1 / led_name= hps_led1, hps_led2, fpga_led1, fpga_led2)
echo <state> > /sys/class/leds/<led_name>/brightness
#check temperature (Unit: millidegree Celsius)
cat /sys/class/hwmon/hwmon0/device/temp1_input |
- [optional] Ubuntu/Debian desktop will be started automatically (for more information see #Rootfs)
System Design - Quartus
Block Design
The block designs may differ depending on the assembly variant.
Scroll Title |
---|
anchor | Figure_BD |
---|
title-alignment | center |
---|
title | Block Design - Project |
---|
|
Image Added |
Scroll Title |
---|
anchor | Figure_BD |
---|
title-alignment | center |
---|
title | Block Design - Platform Desginer |
---|
|
Image Added |
HPS Interfaces
Activated interfaces:
Type | Note |
DDR | -- |
EMAC1 | -- |
QSPI | -- |
SDMMC | -- |
USB1 | -- |
UART0 | -- |
I2C0 | -- |
I2C1 | -- |
GPIO35 | connected to ETH PHY_INT pin |
GPIO42 | connected to USB_RST pin |
GPIO43 | connected to ETH_RST pin |
GPIO48 | connected to CPU_GPIO_0 pin |
GPIO53 | connected to LED_HPS_1 pin |
GPIO54 | connected to LED_HPS_2 pin |
GPIO55 | connected to CPU_GPIO_3 pin |
GPIO56 | connected to CPU_GPIO_2 pin |
GPIO57 | connected to USER_BTN_HPS pin |
GPIO58 | connected to CPU_GPIO_1 pin |
GPIO61 | connected to CPU_GPIO_4 pin |
Software Design - Yocto
For Yocto installation and project creation, follow instructions from:
U-Boot
Start with Create a custom BSP layer for Intel SoC or FPGA#Configure u-boot
File location: meta-tei0022/recipes-bsp/u-boot/
Changes:
Device Tree
U-boot Device Tree
Code Block |
---|
language | js |
---|
title | Excerpts from test_board/os/yocto/meta-tei0022/recipes-bsp/u-boot/files/tei0022_<Board_Part_Short_Name>/dts/tei0022_<Board_Part_Short_Name>.dts |
---|
|
#include "socfpga_cyclone5.dtsi"
/ {
model = "Trenz Electronic - TEI0022";
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
chosen {
bootargs = "earlyprintk";
stdout-path = "serial0:115200n8";
};
memory {
name = "memory";
device_type = "memory";
reg = <0x0 0x40000000>;
};
aliases {
ethernet0 = &gmac1;
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gmac1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
phy-mode = "rgmii";
ethernet-phy@1 {
reg = <1>;
adi,rx-internal-delay-ps = <2000>;
adi,tx-internal-delay-ps = <2000>;
};
};
&i2c1 {
status = "okay";
clock-frequency = <100000>;
eeprom: eeprom@50 {
compatible = "microchip,24aa02e48","atmel,24c02";
reg = <0x50>;
};
};
&uart0 {
clock-frequency = <100000000>;
};
&mmc0 {
status = "okay";
};
&qspi {
status = "okay";
flash: mt25ql256a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <100000000>;
m25p,fast-read;
cdns,page-size = <256>;
cdns,block-size = <16>;
cdns,read-delay = <4>;
cdns,tshsl-ns = <50>;
cdns,tsd2d-ns = <50>;
cdns,tchsh-ns = <4>;
cdns,tslch-ns = <4>;
partition@qspi-boot {
label = "Flash 0 Raw Data";
reg = <0x0 0x400000>;
};
};
}; |
Code Block |
---|
language | js |
---|
title | Excerpts from test_board/os/yocto/meta-tei0022/recipes-bsp/u-boot/files/tei0022_<Board_Part_Short_Name>/dts/tei0022_<Board_Part_Short_Name>-u-boot.dtsi |
---|
|
#include "socfpga-common-u-boot.dtsi"
&watchdog0 {
status = "disabled";
};
&mmc {
u-boot,dm-pre-reloc;
};
&qspi {
u-boot,dm-pre-reloc;
};
&flash {
compatible = "jedec,spi-nor";
u-boot,dm-pre-reloc;
partition@qspi-boot {
label = "Flash 0 Raw Data";
reg = <0x0 0x400000>;
};
};
&uart0 {
clock-frequency = <100000000>;
u-boot,dm-pre-reloc;
};
&porta {
bank-name = "porta";
};
&portb {
bank-name = "portb";
};
&portc {
bank-name = "portc";
};
|
Kernel Device Tree
Code Block |
---|
language | js |
---|
title | Excerpts from test_board/os/yocto/meta-tei0022/recipes-kernel/linux/files/dts/tei0022_<Board_Part_Short_Name>.dts |
---|
|
#include "socfpga_cyclone5.dtsi"
/ {
model = "Trenz Electronic - TEI0022";
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
chosen {
bootargs = "earlyprintk";
stdout-path = "serial0:115200n8";
};
memory {
name = "memory";
device_type = "memory";
reg = <0x0 0x40000000>;
};
aliases {
ethernet0 = &gmac1;
};
regulator_1_8v: 1-8-v-regulator {
compatible = "regulator-fixed";
regulator-name = "1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
regulator_3_3v: 3-3-v-regulator {
compatible = "regulator-fixed";
regulator-name = "3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
hdmi_pll: hdmi_pll {
compatible = "altr,altera_iopll-18.1";
#clock-cells = <1>;
hdmi_pll_outclk0: hdmi_pll_outclk0 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <148500000>;
clock-output-names = "hdmi_pll-outclk0";
};
};
sys_hps_bridges: bridge@ff200000 {
compatible = "simple-bus";
reg = <0xff200000 0x00200000>;
reg-names = "axi_h2f_lw";
#address-cells = <2>;
#size-cells = <1>;
ranges = <0x00000001 0x00001000 0xff201000 0x00000010>,
<0x00000001 0x00001010 0xff201010 0x00000010>,
<0x00000001 0x00001020 0xff201020 0x00000008>,
<0x00000001 0x00001030 0xff201030 0x00000008>,
<0x00000001 0x00010000 0xff210000 0x00000800>,
<0x00000001 0x00020000 0xff220000 0x00010000>;
fpga_sw: fpga-sw@100001000 {
compatible = "altr,pio-1.0";
reg = <0x00000001 0x00001000 0x00000010>;
interrupts = <0 41 1>;
altr,gpio-bank-width = <2>;
#gpio-cells = <2>;
gpio-controller;
interrupt-cells = <1>;
interrupt-controller;
altr,interrupt-type = <2>;
};
fpga_led: fpga-led@100001010 {
compatible = "altr,pio-1.0";
reg = <0x00000001 0x00001010 0x00000010>;
altr,gpio-bank-width = <2>;
#gpio-cells = <2>;
gpio-controller;
};
leds {
compatible = "gpio-leds";
fpgaled1 {
label = "fpga_led1";
gpios = <&fpga_led 0 0>;
};
fpgaled2 {
label = "fpga_led2";
gpios = <&fpga_led 1 0>;
};
hpsled1 {
label = "hps_led1";
gpios = <&portb 24 0>; /* GPIO 53 */
};
hpsled2 {
label = "hps_led2";
gpios = <&portb 25 0>; /* GPIO 54 */
};
};
hdmi_axi_dmac: axi-dmac@100010000 {
compatible = "adi,axi-dmac-1.00.a";
reg = <0x00000001 0x00010000 0x00000800>;
#dma-cells = <1>;
interrupt-parent = <&intc>;
interrupts = <0 42 4>;
clocks = <&h2f_usr1_clk>;
status = "okay";
adi,channels {
#size-cells = <0>;
#address-cells = <1>;
dma-channel@0 {
reg = <0>;
adi,source-bus-width = <64>;
adi,source-bus-type = <0>;
adi,destination-bus-width = <64>;
adi,destination-bus-type = <1>;
};
};
};
hdmi_axi_tx: axi-hdmi-tx@100020000 {
compatible = "adi,axi-hdmi-tx-1.00.a";
reg = <0x00000001 0x00020000 0x10000>;
dmas = <&hdmi_axi_dmac 0>;
dma-names = "video";
clocks = <&hdmi_pll_outclk0 0>;
status = "okay";
port {
axi_hdmi_out: endpoint {
remote-endpoint = <&adv7511_in>;
};
};
};
};
};
&mmc {
status = "okay";
};
&uart0 {
clock-frequency = <100000000>;
};
&usb1 {
status = "okay";
dr_mode = "host";
};
&i2c0 {
status = "okay";
speed-mode = <0>;
};
&i2c1 {
status = "okay";
speed-mode = <0>;
adv7511: adv7511@39 {
compatible = "adi,adv7511";
reg = <0x39>, <0x3f>;
reg-names = "primary", "edid";
status = "okay";
adi,input-depth = <8>;
adi,input-colorspace = "yuv422";
adi,input-clock = "1x";
adi,input-style = <1>;
adi,input-justification = "right";
adi,clock-delay = <(0)>;
avdd-supply = <®ulator_1_8v>;
dvdd-supply = <®ulator_1_8v>;
pvdd-supply = <®ulator_1_8v>;
dvdd-3v-supply = <®ulator_3_3v>;
bgvdd-supply = <®ulator_1_8v>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
adv7511_in: endpoint {
remote-endpoint = <&axi_hdmi_out>;
};
};
port@1 {
reg = <1>;
};
};
};
adt7410: adt7410@4a {
compatible = "adt7410";
reg = <0x4a>;
};
eeprom: eeprom@50 {
compatible = "microchip,24aa02e48","atmel,24c02";
reg = <0x50>;
};
};
&gmac1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
phy-mode = "rgmii-id";
ethernet-phy@1 {
reg = <1>;
adi,rx-internal-delay-ps = <2000>;
adi,tx-internal-delay-ps = <2000>;
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
|
Kernel
Start withCreate a custom BSP layer for Intel SoC or FPGA#Configure linux kernel
File location: meta-tei0022/recipes-kernel/linux/
Changes:
- for hdmi output
set TE boot logo
CONFIG_LOGO=y
CONFIG_LOGO_TRENZELECTRONICS_CLUT224=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
# CONFIG_LOGO_LINUX_CLUT224 is not set
config ethernet phy
CONFIG_PHYLIB=y
CONFIG_ADIN_PHY=y
- set adt7410 tempprature sensor driver
- CONFIG_SENSORS_ADT7X10=y
- CONFIG_SENSORS_ADT7410=y
set debug settings
Images
Image recipe for minimal console image.
File location: meta-tei0022/recipes-core/images/
Image recipes:
- te-image-minimal.bb: create minimal linux image
- te-initramfs.bb: required for building an image with initial RAM Filesystem
Added packages/recipes:
tei0022-rbf
ethtool
i2c-tools
net-tools
usbutils
- mtd-utils
Rootfs
Used filesystem: Initial RAM Filesystem (initramfs)
It's Optionally possible to create a debian or ubuntu rootfs with/without desktop environment for this board. For more information and instructions see: Create debian/ubuntu rootfs - Intel devices
File location: meta-<module>/recipes-kernel/linux/
Changes:
Images
Image recipe for minimal console image
File location: meta-<module>/recipes-images/yocto/
Added packages/recipes:
Appx. A: Change History and Legal Notices
Scroll Ignore |
---|
scroll-pdf | true |
---|
scroll-office | true |
---|
scroll-chm | true |
---|
scroll-docbook | true |
---|
scroll-eclipsehelp | true |
---|
scroll-epub | true |
---|
scroll-html | true |
---|
|
|
Document Change History
To get content of older revision got to "Change History" of this page and select older document revision number.
Page properties |
---|
|
- Note this list must be only updated, if the document is online on public doc!
- It's semi automatically, so do following
Add new row below first Copy "Page Information Macro(date)" Macro-Preview, Metadata Version number, Author Name and description to the empty row. Important Revision number must be the same as the Wiki document revision number Update Metadata = "Page Information Macro (current-version)" Preview+1 and add Author and change description. --> this point is will be deleted on newer pdf export template - Metadata is only used of compatibility of older exports
|
Scroll Title |
---|
anchor | Table_dch |
---|
title-alignment | center |
---|
title | Document change history |
---|
|
Scroll Table Layout |
---|
orientation | portrait |
---|
sortDirection | ASC |
---|
repeatTableHeaders | default |
---|
style | |
---|
widths | 2*,*,3*,4* |
---|
sortByColumn | 1 |
---|
sortEnabled | false |
---|
cellHighlighting | true |
---|
|
Date | Document Revision | Authors | Description |
---|
Page info |
---|
| modified-date |
---|
| modified-date |
---|
dateFormat | yyyy-MM-dd |
---|
|
| Page info |
---|
infoType | Current version |
---|
dateFormat | yyyy-MM-dd |
---|
prefix | v. |
---|
type | Flat |
---|
|
| Page info |
---|
infoType | Modified by |
---|
type | Flat |
---|
|
change list | - update to Quartus Prime Lite 21.1
| 2022-04-28 | v.7 | Thomas Dück | - add missing commands to qsys source files
| 2022-02-08 | v.6 | Thomas Dück | | -- | all | Page info |
---|
infoType | Modified users |
---|
dateFormat | yyyy-MM-dd |
---|
type | Flat |
---|
|
| -- |
|
Legal Notices
Include Page |
---|
| IN:Legal Notices |
---|
| IN:Legal Notices |
---|
|