Revision: 0.2 Overview Trenz Electronic GigaZee XC7Z series are industrial-grade SoMs (system on modules) integrating a leading-edge Xilinx Zynq-7000 SoC, gigabit Ethernet transceiver, 32-bit-wide 1 gigabyte DDR3 SDRAM, 32 megabyte SPI Flash memory for configuration and operation, eMMC, and powerful switch-mode power supplies for all on-board voltages.
Preloaded (Factory default) SPI Flash Image The TE0720 module comes with the SPI Flash preloaded with a default bootloader, U-Boot and Linux are setup to run automatically if SPI flash boot mode is selected (Red LED fast blinking after power up). U-Boot is configured with a standard 3 second delay to allow the U-Boot interactive console to be used.
FSBL (First Stage Bootloader) The primary boot source for the TE0720 is the on-board SPI Flash. After power on the Zynq PS boot ROM fetches the FSBL from the SPI Flash and executes it. Then the FSBL code takes over and initializes the Zynq PS peripherals as well as the DDR3 memory controller.
Note: Xilinx wizard generated FSBL does not properly initialize the SD card detect multiplexer values. By default MIO0 remains selected. If writing your own FSBL it is necessary to initialize it properly. TE0720 standard FSBL selects the EMIO63 pin for SD card detect and WP inputs (this forces the card detect to succeed).
TE0720 User Manual Revision: 0.2 The TE0720 Zynq SoC Module on the TE0701 Carrier Boards supports two different boot modes: QSPI and SD Card booting. For more information on configuring the boot mode please refer to " TE0701 Carrier Board User Manual | Configuring Boot Mode ".
Revision: 0.2 SD Card Boot Mode TE0720 can also boot directly from an SD card. In this mode SPI Flash is not used (all code starting from the FSBL is loaded from the SD card). SDIO0 Bootable slot MIO pins have a 1.8V fixed I/O voltage so the SD card must be connected via a level shifter on the carrier board.
Figure 3: Overview: TE0720 System Management, Power Supply & Resets Note: The DDR3 SDRAM size depends on assembly option. 1.0V and 1.8V TE0720 power supply circuits are not shown to create a better overview (see TE0720 User Manual | Power Supply for more details).
It is possible for the default SC functions and pin functions to be changed. This can be done as a request to Trenz Electronic or it is possible for the user to generate their own designs. Please contact us for details.
Function 0x20 Status reg 1 0x21 Status reg 2 LED Control Status The TE0720 on-board LED devices can be remapped to different functions. Input port bit Mapped to Ethernet PHY LED0 output Ethernet PHY LED1 output Ethernet PHY LED2 output...
Peripheral mapping after first init by the FSBL. For use cases where Ethernet PHY on TE0720 is not used at all, it is still possible to configure SC with design that implements I2C Protocol on MIO52/MIO53 pins.
This command is needed when standard Xilinx wizard generated FSBL is used with plain standard u-boot, TE0720 u-boot does this initialization also. Note: It seems the problem is in the current u-boot for Zynq, where mii_init function is not defined and not invoked.
(or 500 ms at higher temperatures). If TE0720 is operating in "no power sequencing" mode this period time of 800 ms (and 500 ms, respectively) will never be violated in normal use. TE0720 can also be used in power sequencing mode where the 3.3V voltage plane is supplied from 3.3Vin (CPLD power supply) by a dedicated power FET switch (that is, in turn, controlled via an enable signal by the CPLD SC) after the 1.0V...
The TE0720 System Managment Controller normally prevents the ZYNQ device from booting if the power is less than 3.05V. In certain cases it is possible to allow the TE0720 module to be operated from a single 2.5V to 2.7V supply. At these voltages the SPI flash boot option is not available and the on-board eMMC is not usable.
Note: If TE0720 is used with a full O/S like linaro/ubuntu, and the internal eMMC or external SD card is mounted as a Linux live file system, then it is not recommended to reset the system by asserting RESIN.
Revision: 0.2 SC update for TE0720-02 TE0720 SC can be updated on TE0703 base board (or on custom baseboards). It is best to check the JTAG configuration with ToolZ to be sure what IC is selected in Chain. Zynq is selected in JTAG, this is normal operational mode. All switches left (ON).
Page 37
Only S3.3 is moved to right (OFF) position. TE0703 onboard baseboard controller CPLD is in JTAG chain with USERCODE CC03xxxx Only S3.2 is moved to right (OFF) position. TE0720 onboard system controller CPLD is in JTAG chain with USERCODE E720xxxx, TE0703 LED's D1, D2 should be both LIT.
MT41J256M16. Two RAM devices are used in a fly-by topology configuration with a 32-bit data width. Different DDR3 devices may be used on different module derivatives. Configuration Setting the DDR3 configuration for the TE0720 is straightforward. Select "Memory Part" as shown in the diagram. Select "Effective DRAM Bus Width" as 32-bit.
Format internal eMMC Card (Linux) Full equipped TE0720-01-*F modules have onboard 4G eMMC card. By default this card not have partitions and not formatted. Below you can see sample eMMC configuration (One primary partition, Linux EXT2...
The Ethernet PHY RGMII Interface is connected to the Zynq Ethernet0 PS GEM0 (MIO Pins MIO16..MIO27), I/O Voltage is fixed at 1.8V for HSTL signalling. The internal regulators of the PHY are not used and all power for the device is supplied from the TE0720 DC-DC supplies.
Zynq device. The remaining pins are connected to the SC that provides logic level conversion and interface translation. When the PL is configured those LED pins can optionally forwarded to the PL Fabric. It is also possible to assign the PHY LEDs to the TE0720 on board LED*s. PHY PIN...
NET "PHY_LED1_OUT" LOC = Y18; NET "PHY_LED2_OUT" LOC = AA18; Constraint file for TE0720 when used with TE0701 with 3 LED's inserted into into J5 PMOD Testing of the LED's Boot normally and break into u-boot, then use impact or other tool to configure FPGA with the LED Demo .bit file.
USB HS PHY, USB3320 from Microchip (previously SMSC) is used on the TE0720 module. This is the recommended USB PHY for Zynq devices. SMSC offers a design review service for customer schematic and PCB layouts after registration on their website. Note: This design check service does not list USB PHY devices (only LAN Devices), but the SMSC team will consider and reply to design review requests for USB PHY devices too.
Revision: 0.2 High-Speed I/O TE0720 module is based on the Zynq 7020 which doesn't have any Gigabit transceivers. However in many cases it is possible to use serial links up to 1.25 GBit/s using FPGA I/O resources. Those serial interfaces can be implemented in any FPGA I/O bank when paying attention to the clocking requirements (clock regions).
TE0720 User Manual Revision: 0.2 TE0720 Board Dimensions & Attributes Dimensions Module size: 50 mm × 40 mm Mating height with standard connectors: 8mm PCB thinkness: 1.6mm highest part on PCB: approx. 2.5mm. Please download the step model for more exact numbers.
Moreover, in the following sections is described how the TE0701 Carrier Board can be customized by the Zynq FPGA via the onboard I2C bus and how the interfacing of the TE0701 peripherals is accomplished from the TE0720's point of view. Configuring FMC Power Supply Voltage on TE0701 via I2C (CPLD Firmware Rev 0.1)
Page 77
FMC_RSNT# FMC module inserted? yes=0, no=1 POK_FMC "Power ok" signal from the Enpirion EN5335QI DC-DC converter (see TE0720 User Manual | Carrier Boards for TE0720 for more details) SD_DETECT# SD Card inserted? yes=0, no=1 SD_WP Write protection on SD Card enabled? yes=1, no=0...
Revision: 0.2 TE0720 with TE0603 Carrier TE0603 was not designed for the TE07xx series, so many new functions are not available. TE0720 will be in "no power sequencing mode" when inserted into a TE0603 baseboard. For proper operation VCCIO must be 3.3V and supplied by the TE0603.
FSBL from the selected boot source. The TE0720 module supports booting from the on-board QSPI Flash memory and from an external SD memory card. Files from steps 1, 2 and 3 are used to create boot.bin or boot.elf images, which are used to initialize the QSPI Flash memory or an SD memory card.
Page 95
Open the created "ps_stub.vhd" and make the following changes; alternatively, you can replace the created ps_stub.vhd with that contained in the TE0720-01-Base.zip archive from the Trenz Electronic Download Area. Comment external I2C1 and GPIO signals and add CPLD signals to the ps_stub entity. -- processing_system7_0_I2C1_SDA_I_pin : in std_logic;...
Revision: 0.2 Base XPS Project DEPRECATED - use Vivado 2014.2 or newer and start with Board Part Interface flow Clone the base project from the following Trenz Electronic GitHub repository git clone git://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs.git Or just click on "Download ZIP" to download the full project archive without the need to use git.
TE0720 User Manual Revision: 0.2 This is FSBL bootlog on TE0701-03 with TE0720, no manual changes made to the FSBL. SPI flash programmed using Xilinx SDK Flash Programmer. Image includes only FSBL and empty BIT file for FPGA, so all it does is FPGA configuration (done LED goes OFF), and JTAG handoff, enabling all JTAG access.
TE0720 User Manual Revision: 0.2 U-Boot DEPRECATED - use petalinux 2014.2 or newer and TE0720 BSP Get the U-Boot Repository Start the build environment (CentOS within the VMware Player virtual machine) prepared in the previous CentOS Linux kernel and the U-Boot build environment page.
Now, the "u-boot.elf" file can be used to build the Zynq-7000 boot image (last step of the FSBL build process). U-Boot user scripting The default TE0720 u-boot configuration supports user script execution when booting from an SD memory card. The U-Boot script image file u-boot.cmd , if it exists, will be executed before the normal boot.
TE0720 User Manual Revision: 0.2 Linux kernel 3.9 DEPRECATED - use petalinux 2014.2 or newer with TE0720 BSP Get Trenz Electronic Linux Kernel Repository Start the build environment (CentOS within the VMware Player virtual machine) prepared in the previous CentOS Linux kernel and the U-Boot build environment page.
Page 123
TE0720-01-1CF make ARCH=arm TE0720-01-1CF.dtb TE0720-01-1CR make ARCH=arm TE0720-01-1CR.dtb The resulting device tree blob (TE0720-01-2IF.dtb, TE0720-01-2EF.dtb, TE0720-01-1CF.dtb or TE0720-01-1CR.dtb) will be created into the ./arch/arm/boot/dts folder. Rename the resulting device tree blob as by using one of the following commands devicetree.dtb according to the relevant module version.
QSPI Flash memory boot Unfortunately, the Winbond W25Q256 QSPI Flash memory assembled on the TE0720 is not yet suported by Xilinx iMPACT software tool. The easiest way to initialize the on-board QSPI Flash memory is to copy the data from the SD memory card using u-boot.
TE0720 User Manual Revision: 0.2 Base Vivado Project Clone the base project from the following Trenz Electronic Github repository https://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs/tree/master/TE0720-01_Base_Vivado-2013.4 or download it from "Download area" http://www.trenz-electronic.de/fileadmin/docs/Trenz_Electronic/TE0720-GigaZee/reference_designs/TE0720-01_Base_Viv Run Vivado 2013.4 In "Tcl Console" cd c:/temp/TE0720-01_Base_Vivado-2013.4/ where "c:/temp" should be replaced to real path to project directory.
At least it is not confirmed for 2014.1 for sure. Currently, we are working on a patch so that a custom board support package can be made available manually by just copying our TE0720 BSP files into the corresponding Vivado subdirectory (e.g., C: \Xilinx\Vivado\2013.3\data\boards\zynq). Meanwhile, corresponding to the Answer Record AR58180 you have to choose as part the on-board Xilinx Zynq FPGA device (e.g.,...
Page 143
3.) In the same "Diagram" window a "ZYNQ7 Processing System" block symbol is now visible. After a double click on it, the following "Re-customize IP" dialog will appear, where you click on "Import XPS Settings" and choose the file "TE0720-01_a.xml", which can be found in the archive TE0720-01-Common.zip...
Page 146
SD_DETECT and SD_WP can also be read by the Xilinx Zynq after booting up via the on-board I2C bus (see Carrier Boards for TE0720 | Reading I2C-to-GPIO Status Register on TE0701 CPLD for more details). However, the latest solution will not work for the device manager in Linux. Hence, be...
PS wrapper which communicates with the PS via the EMIO interface and pass I2C signals and one GPIO pin to the on-board CPLD ( TE0720 User Manual | System Management Controller ). Inside the CPLD, an I2C switch controlled by the GPIO pin X0 is implemented.
Page 170
Revision: 0.2 A successful FPGA configuration can only be seen (for now) by checking if the green LED3 (see TE0720 GigaZee Zynq SoM User Manual | On-board LEDs ) has switched off. Because this is admittedly quite a bit unsatisfying, in the following section we will extend our "Hello World"...
TE0720 User Manual Revision: 0.2 continue on "How to run an embedded Linux system on TE0720 GigaZee Zynq SoM (Vivado Flow)". Software Implementation: "Hello World 2.0" (implementing access to I2C peripherals via Xilinx Zynq PL custom logic) TODO!!! Debugging the "Hello World" Project Video Tutorial The following screen-recording video shows how to execute "Hello World"...
TE0720 is a Zynq-7000 SoC based module, and it is normally used with the PS subsystem enabled and included in the design. Of course, it is also possilble to use the TE0720 without instantiating the PS in the design. Such a design can be downloaded into the module through the JTAG port (in a volatile way). It can also be stored to (in a non-volatile way) and loaded at configuration time from QSPI, eMMC or SD Card.
TE0720 User Manual Revision: 0.2 Xilinx repository DEPRECATED - use petalinux 2014.2 or newer and TE0720 BSP Using official Xilinx linux kernel repository with TE0720 This patch was tested only with kernel 3.10 (commit efc27505715e64526653f35274717c0fc56491e3) Known issues: QSPI Flash not working in u-boot Clone linux-xlnx and u-boot-xlnx repositories to prepared environment git clone git://github.com/Xilinx/u-boot-xlnx.git...
Revision: 0.2 High speed ADC Interfacing TE0720 has no length matching between differential pairs from the FPGA fabric to B2B Connectors. Trace lengths are available in download area, and could be used together with Xilinx provided FPGA Package delay timings to adjust system trace delays.
If TE0720 has valid boot images either in SPI Flash or on SD card, it is necessary to prevent linux from loading, either remove SD card, or in case SPI boot, press any key when u-boot loaded from SPI flash is waiting for user input.
Page 187
It is is possible to setup everything manually, but it takes time, and some steps need to be done manually each time the TE0720 is powered on. Basically you need to fix the IP addresses so that the TE0720 is visible and accessible from your PC host.
Simple modified Helloworld example. This time compiled within DS-5 on a Windows machine and downloaded and executed on a TE0720. Streamline Streamline profiling on TE0720 - a simple screen of activity. when using proper build all that is needed is to add init.sh to SD card #!/bin/sh ifconfig eth0 192.168.140.199...
The above images are compiled version of u-boot from Xilinx git repository. They are just renamed from BIN to ELF. It is possible to execute them on TE0720 as well from SDK debugger. The one of interest is sqpi_single it allows u-boot to access QSPI flash on TE0720.
FSBL generated with SDK 2013.4 may not boot if some error is detected, in such cases it forces bootrom fall-back in a way that may make the Zynq device to appear as "broken"! This is not related to any hardware issues, TE0720 is alive, ZYNQ is alive, and correct operation can be recovered.
ZYNQ device (both CONTROLR and OUTPUT3 bits are 0). Boundary scan still works, in the screen-shot above "EF401900" is the JEDEC ID from the SPI Flash on TE0720 read using boundary scan (while ZYNQ is in bootrom locked error state). Recovery Instructions: On TE0701 insert SD Card, power-up, remove SD-Card, press Reset button, then reprogram Flash with known good image using SDK 2013.4 Flash Programmer.
Limitation of Liability In no event will Trenz Electronic, its suppliers, or other third parties mentioned in this document be liable for any damages whatsoever (including, without limitation, those resulting from lost profits, lost data or business interruption) arising out of the use, inability to use, or the results of use of this document, any documents linked to this document, or the materials or information contained at any or all such documents.
. The products we supply to you are solely non-chemical products (goods). Moreover and under normal and reasonably foreseeable circumstances of application, the goods supplied to you shall not release any substance. For that, Trenz Electronic is obliged to neither register nor to provide safety data sheet.
Need help?
Do you have a question about the TE0720 and is the answer not in the manual?
Questions and answers