Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Custom_table_size_100 |
---|
Page properties | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Design Name always "TE Series Name" + optional CPLD Name + "CPLD"
|
HTML |
---|
<!--
Template Revision 1.5
--> |
Scroll Only (inline) |
---|
Online version of this manual and other related documents can be found at https://wiki.trenz-electronic.de/display/PD/SC-CPLD-Firmware |
...
Table of contents
...
Overview
Firmware for PCB CPLD with designator U2. CPLD Device in Chain: LCMX02-256HC
Feature Summary
Power Management
JTAG
Boot Mode
LED
- I2C
Firmware Revision and supported PCB Revision
See Document Change History
Product Specification
Port Description
Name / opt. VHD Name | Direction | Pin | Pullup/Down | Bank Power | Description |
---|---|---|---|---|---|
BOOTMODE_1 |
...
out | 21 | None | LVCMOS18 | Boot Mode Pin, connected to Zynq MIO5 (U1) | |
EN_PL | out | 23 | Up | LVCMOS33 | Enable PL Power, connected to U4 |
F_ |
...
TMS | out | 9 | Up | LVCMOS18 | JTAG chain to Zynq TMS (W11/U1), just pass through from TMS SLEWRATE=FAST DRIVE=8 |
F_TCK | out | 8 |
...
Up | LVCMOS18 | JTAG chain to Zynq TCK (W12/U1), just pass through from TCK SLEWRATE=FAST DRIVE=8 |
...
F_TDI |
...
out | 10 |
...
Up | LVCMOS18 | JTAG chain to Zynq TDI (V11/U1), just pass through from TDI SLEWRATE=FAST DRIVE=8 | |
F |
...
_TDO | in | 11 |
...
None | LVCMOS18 | JTAG chain to Zynq TDO (W10/U1), just pass through from TDO, maxdelay 10ns |
I2C_ |
...
SCL | in | 17 | None | LVCMOS18 | I2C Bus from SoC |
...
I2C_ |
...
SDA |
...
inout | 16 | None | LVCMOS18 | I2C Bus from SoC |
...
JTAG_EN | in | 26 |
...
- | VCCIO 3.3 V | Enable JTAG access to CPLD for Firmware update (zero: JTAG routed to module, one: CPLD access) | |||
MIO0 | in | 14 | Up | LVCMOS18 | sd card detection signal coming from connected B2B, also connected to |
...
Zynq. Default: Only SD/QSPI Boot mode possible | |||||
MIO8 | in | 13 | Up | LVCMOS18 | external pullup, |
...
for status of 'qspi_fbclk' from Zynq |
PS_ |
...
SRST | in | 12 | Up | LVCMOS18 |
...
system reset signal coming from connected B2B, also connected to Zynq. |
PWR_PL_OK |
...
in | 27 |
...
Up | LVCMOS33 | power good for PL | |
PWR_PS |
...
_OK | in | 28 |
...
Up | LVCMOS33 | power good for PS |
RST_IN_N |
...
in | 25 | None | LVCMOS18 |
...
Main Reset to U41 (PS_1.8V) coming from connected B2B |
RTC_INT |
...
in | 4 | None |
...
LVCMOS33 | RTC output interrupt signal | ||||
Serial number | - | 20 | - | - | no function, not used |
TMS | in | 29 | Up | LVCMOS33 | JTAG coming from connected B2B, maxdelay 10ns |
TCK | in | 30 | Up | LVCMOS33 | JTAG coming from connected B2B, maxdelay 10ns |
TDI |
...
in | 32 | Up | LVCMOS33 | JTAG coming from connected B2B, maxdelay 10ns | |
TDO |
...
out | 1 |
...
None | LVCMOS33 | JTAG coming from connected |
...
B2B | |||||
LED | out | 5 | None | LVCMOS33 | used as status LED, connected to green LED (D1); SLEWRATE=SLOW |
Functional Description
JTAG
JTAG signals routed directly through the CPLD to FPGA. Access between the CPLD and FPGA
...
is realised by JTAG_EN (logical one for CPLD, logical zero for FPGA) on B2B J1-148 (JTAG_EN).
Boot Mode
...
The adjustable Boot Mode is depending on programmed firmware.
Default (for Boot mode QSPI/SD):
BOOTMODE_1 is set constant to 1. Boot mode can be changed between QSPI or SD
...
with B2B J2-133 Pin (BOOTMODE/ Zynq (MIO4)).
Boot mode | MIO5 (BOOTMODE_1 from CPLD) | MIO4 (BOOTMODE from B2B J2-133 |
---|
...
) | ||
---|---|---|
QSPI | 1 | 0 |
SD | 1 | 1 |
Optional (for Boot mode QSPI/SD/JTAG):
BOOTMODE_1 depends on MIO0 (sd card detection) connected to B2B J2-137 Pin (SD card detection/ Zynq (MIO0))
- sd card detected --> SD/QSPI boot mode
- no sd card detected --> JTAG/NA boot mode
Boot mode | MIO5 (BOOTMODE_1 from CPLD) | MIO4 (BOOTMODE from B2B J2-133) | comments |
---|---|---|---|
JTAG | 0 | 0 | SD card is not allowed to be inserted |
NA | 0 | 1 | not supported boot mode! |
QSPI | 1 | 0 | inserted SD card is required |
SD | 1 | 1 | inserted SD card is required |
I2C interface
The CPLD firmware consists of an i2c-to-GPIO block. This subsystem provides an i2c protocol interface with several 8-bit registers (GPIO_input[8*i+7:8*i]) for reading from the CPLD as parallel general purpose inputs (I/Os). The read data is transferred to the FPGA via the i2c bus interface protocol. The chip address of this block in the firmware is 0x30, "i" is the data address in this case. The associated i2c bus is bus 1.
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
CPLD registers can be accessed via i2c interface. In the following table is shown how these registers can be read:
Read Register | Address | command in linux console | related data | Default | Description |
---|---|---|---|---|---|
GPIO_input[7:0] | 0x00 | i2cget -y 1 0x30 0x00 | BOOTMODE_VAR (8 bits) | 0x01 | Bootmode variants (depending on firmware):
*no NAND flash present |
GPIO_input[15:8] | 0x01 | i2cget -y 1 0x30 0x01 | DEB_FREQ | 0x20 | system clock frequency in Hz for debounce. Default: 24.18MHz (Little-Endian) |
GPIO_input[23:16] | 0x02 | i2cget -y 1 0x30 0x02 | DEB_FREQ | 0xf5 | |
GPIO_input[31:24] | 0x03 | i2cget -y 1 0x30 0x03 | DEB_FREQ | 0x70 | |
GPIO_input[39:32] | 0x04 | i2cget -y 1 0x30 0x04 | DEB_FREQ | 0x01 | |
GPIO_input[47:40] | 0x05 | i2cget -y 1 0x30 0x05 | DEB_STABLE_TIME (8 bits) | 0x0a | debounce input signal must remain stable in ms |
GPIO_input[55:48] | 0x06 | i2cget -y 1 0x30 0x06 | I2C_slave_addr (8 bits) | 0x30 | I2C slave address |
GPIO_input[63:56] | 0x07 | i2cget -y 1 0x30 0x07 | I2C_if_type (8 bits) | 0x00 | I2C interface type
|
GPIO_input[71:64] | 0x08 | i2cget -y 1 0x30 0x08 | I2C_rd_type (8 bits) | 0x00 | I2C read type
|
GPIO_input[79:72] | 0x09 | i2cget -y 1 0x30 0x09 | I2C_addr_bits (8 bits) | 0x08 | I2C address bits |
GPIO_input[87:80] | 0x0a | i2cget -y 1 0x30 0x0a | CPLD_REVISION (8 bits) | 0x02 | CPLD revision |
GPIO_input[95:88] | 0x0b | i2cget -y 1 0x30 0x0b | PCB_REVISION (8 bits) | 0x02 | PCB revision |
GPIO_input[103:96] | 0x0c | i2cget -y 1 0x30 0x0c | GPIO_input(96) = PWR_PL_OK | 0x63/ | Status of defined CPLD input signals
Default:
|
Power
PL Power is enabled.
LED
LED glows depending on input signals 'RST_IN', 'PS_SRST' or' MIO8'
Status | Description |
---|---|
ON | if |
...
RST_IN or PS_SRST or MIO8 is zero | |
Blinking | all other states |
Appx. A: Change History and Legal Notices
Revision Changes
REV01 to REV02
- added I2C interface
- defined generic parameter
- new Boot Mode variants (depending on firmware)
Document Change History
To
...
get content of older
...
revision go to "Change History"
...
HTML |
---|
<!--
Generate new entry:
1:add new row below first
2:Copy Page Information Macro(date+user) Preview, Page Information Macro Preview, CPLD/PCB(or update)to the empty row
3.Update Metadate =Page Information Macro Preview+1
--> |
of this page and select older document revision number.
...
Page properties | ||||
---|---|---|---|---|
| ||||
|
Date | Document Revision | CPLD Firmware Revision | Supported PCB Revision | Authors | Description | Firmware release |
---|---|---|---|---|---|---|
|
...
|
...
|
|
...
|
...
|
...
|
...
REV02 | REV02, REV01 |
|
...
REV02 documentation update | 2023-02-07 | |||
2018-03- |
...
08 | v. |
...
3 | REV01 | REV01, REV02 | John Hartfiel | REV01 documentation update | 2016-05-30 |
All |
|
...
Legal Notices
Include Page | ||||
---|---|---|---|---|
|
...
Scroll Only | ||
---|---|---|
|
HTML |
---|
<style>
.wiki-content .columnLayout .cell.aside {
width: 20%;
}</style>
|
Scroll pdf ignore | ||||||
---|---|---|---|---|---|---|
|