Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
 

Custom_table_size_100


scroll-pdfignoretrue
Page properties
hiddentrue
idComments

Design Name always "TE Series Name" + optional CPLD Name + "CPLD"

Online version of this manual and other related documents can be found at https://wiki.trenz-electronic.de/display/PD/SC-CPLD-Firmware
DateVersionChangesAuthor
2023-02-072.2
  • added column 'Firmware release' in 'Document Change History' table
  • changed template revision from list to table
ma
-2.1
  • Fix problem with pdf export and side scroll bar
-
-2.0
  • add fix table of content
  • add table size as macro
  • removed page initial creator
-
Scroll Only (inline)
-

Table of contents

Table of Contents
outline





Overview

CPLD Device with designator U14: LCMX02-1200HC

Feature Summary

  • Power Management
    • VADJ Configuration via DIP-Switch or I2C
  • Reset Management
  • Boot Mode Controller
  • FPGA UART routingRouting
  • I2C to GPIO
  • FMC JTAG

Firmware Revision and supported PCB Revision

See Document Change History

Product Specification

Port Description

Name / opt. VHD NameDirectionPinPull up/ downBank PowerDescription
ACBUS4                out96UP3.3VFTDI  chip TXLED pin
ACBUS5                in88UP3.3VFTDI chip unused pin
ADBUS4               out98NONE3.3VFTDI chip DTR pin / This pin is connected to '0' in the firmware.
ADBUS7               in97UP3.3VFTDI chip RI pin
BDBUS0               in87NONE3.3VUART TXD from FTDI chip
BDBUS1               out86NONE3.3VUART RXD to FTDI chip
C_TCKout81NONE3.3VJTAG output to Module
C_TDIout84DOWN3.3VJTAG output to Module
C_TDOin83DOWN3.3VJTAG input from Module
C_TMSout85UP3.3VJTAG output to Module
M_TCK                in91UP3.3VJTAG input from FTDI chip
M_TDI                in94UP3.3VJTAG input from FTDI chip
M_TDO                out95UP3.3VJTAG output to FTDI chip
M_TMS                in90UP3.3VJTAG input from FTDI chip
CM0                  in99UP3.3VDIP switch S3-B
CM1                  in1UP3.3VDIP switch S3-A

CM2

in51UP3.3VFor PCB REV06 or newer → DIP Switch S4-D
EN_FMC               out31NONE3.3VEnable signal of the FMC module that is connected to the CPLD of the carrier board and the enable pin of the EN5335QI PowerSoC
EN1                  out24UP3.3VPower enable pin for CPLD of the module
FMC_PRSNT            in28UP3.3VFMC card present pin. Low active → Zero if the FMC card is present.
FMC_SCL              out10UP3.3VFMC I2C clock signal
FMC_SDAinout8UP3.3VFMC I2C data signal
FMC_TCK              out4DOWN3.3VFMC port JTAG signal 
FMC_TDI              out12DOWN3.3VFMC port JTAG signal 
FMC_TDO              in9DOWN3.3VFMC port JTAG signal 
FMC_TMS              out7DOWN3.3VFMC port JTAG signal   
HDMI_SCL             inout47UP3.3VHDMI chip I2C clock signal / currently_not_used
HDMI_SDA             inout45UP3.3VHDMI chip I2C data signal / currently_not_used
HDMI_SPDIF           out15NONE3.3VAudio input of HDMI chip / currently_not_used
HDMI_SPDIFOUT        in14NONE3.3VAudio output of HDMI chip / currently_not_used
JTAGEN               --82----

Enable JTAG access to carrier CPLD for Firmware update (zero: JTAG routed to module, one: CPLD access)

Set DIP switch S3-C JTAGEN to ON for accessing to the FPGA of the module
Set DIP switch S3-C JTAGEN to OFF for accessing to CPLD of the carrier board (TE0701)

MIO10                inout29UP3.3VMIO pin
MIO11                inout19UP3.3VMIO pin
MIO12                inout36NONE3.3V
  • MIO pin
  • Used as the UART0 TXD for Microchip modules >> BDBUS1 only for Microchip modules same as TEM0007.
  • Used as GPIO pin for AMD modules
MIO13                inout30NONE3.3V
  • MIO pin
  • Used as the UART0 RXD for Microchip modules << BDBUS0 only for Microchip modules same as TEM0007.
  • Used as GPIO pin for AMD modules 
MIO14                inout37UP3.3V
  • MIO pin
  • Module UART1 RXD 
MIO15                in18NONE3.3V
  • MIO pin
  • Module UART1 TXD
MODE                 out27DOWN3.3VUsed as boot mode pin selector. Connected to the internal switch of the SD card connector (SD_DETECT) 
NOSEQ                inout21UP3.3VNo Sequence, connected to the CPLD of module. This pin can be controlled via CM1 (S3-A) dip switch by user.
PG_C2M               out20NONE3.3VPower Good for FMC
PGOOD                inout25UP3.3VConnected to Module CPLD and used as boot mode pin selector. This pin can be controlled via CM2 (S4-D) dip switch by user.
PHY_LED1             out42NONE3.3VDisplays the status of SD_DETECT signal.
PHY_LED2             out43NONE3.3VDisplays , which *.jed file is programmed on the CPLD chip.
POK_FMC              in32UP3.3VPower Ok signal of the FMC card
PX6                  inout49UP3.3VPMOD J2 / currently_not_used
PX7                  inout48UP3.3VPMOD J2 / currently_not_used
RESIN                out13UP3.3VConnected to the module reset
S1                   in3UP3.3VUser Pushbutton / This pushbutton switchs between  UART0 and UART1 only for Microchip modules same as TEM0007. / By pressing this button , the GPIO_output[23:31] will be displayed in ULED1..8 only for AMD modules.
S2                   in2UP3.3VGlobal Reset
SD_DETECT            in40UP3.3VSD card detection. This switch is connected to MODE pin in the firmware.
SD_WP                in41UP3.3VSD write protection pin
SEL_SD               out39DOWN3.3VSD Selection, MMC SD Slot or PMOD J2. It is set to '0' in the firmware permanently. 
ULED1                out78NONE3.3VDisplays the UART1 RXD signal
ULED2                out77NONE3.3VDisplays the UART1 TXD signal
ULED3                out76NONE3.3VDisplays the PGOOD signal status
ULED4                out16NONE3.3VDisplays the NOSEQ signal status
ULED5                out69NONE3.3VDisplays the boot mode state, if ON → JTAG boot mode
ULED6                out68NONE3.3VDisplays the boot mode state, if ON → eMMC boot mode
ULED7                out65NONE3.3VDisplays the boot mode state, if ON → SD card boot mode
ULED8                out64NONE3.3VDisplays the boot mode state, if ON → QSPI boot mode
USB_OC               in17UP3.3VUSB Over Current
VID0                 out34UP3.3VVADJ Voltage selection (EN5335QI)/ Connected to high impedance in the firmware permanently
VID1                 out35UP3.3VVADJ Voltage selection (EN5335QI)/ Connected to high impedance in the firmware permanently
VID2                 out38UP3.3VVADJ Voltage selection (EN5335QI)/ Connected to high impedance in the firmware permanently
X6                   in60NONE3.3VModule IO (powered by VIOTB (FMC VADJ)) / currently_not_used
Y0                   in75UP3.3VI2C SCL (powered by VIOTB (FMC VADJ))
Y1                   out66UP3.3VI2C SDA_OUT (powered by VIOTB (FMC VADJ))
Y2                   in67UP3.3VRGPIO CLK (powered by VIOTB (FMC VADJ)) / currently_not_used
Y3                   out70UP3.3VRGPIO TX (powered by VIOTB (FMC VADJ)) / currently_not_used
Y4                   in74UP3.3VRGPIO RX (powered by VIOTB (FMC VADJ)) / currently_not_used
Y5                   in71UP3.3VI2C SDA_IN (powered by VIOTB (FMC VADJ))
Y6                   in63NONE3.3VModule IO (powered by VIOTB (FMC VADJ)) / currently_not_used


Functional Description

Dip Switch

DIP Switch S3

S3-A

S3-B

S3-C

S3-D

Description

CM1**

CM0**

JTAGEN**

MIO0

  • JTAGEN set carrier board CPLD into the chain for firmware update.

  • CM1 controls the NOSEQ signal. 

  • CM0 controls JTAGMODE signal to program the firmware of the CPLD chip.*

  • MIO0 is not connected to the CPLD of the carrier board. 

*Note that JTAGMODE signal does not work for the PCB REV06 or older. But it will work for PCB REV07 or newer, which is not produced yet.

**Pin names in the schematic of board are CM1,CM0 and JTAGEN. These Names on the board (labels) are M2,M1 and ENJTAG respectively.


DIP Switch S4

S4-A

S4-B

S4-C

S4-D

Description

VID0

VID1

VID2

CM2

  • VID0, VID1 and VID2 adjust the variable output voltage of EN5335QI regulator. (FMC_VADJ) 

  • CM2 dip switch controls the PGOOD signal. 


JTAG

In normal mode JTAG is routed directly to the module. JTAGEN set the CPLD of the carrier board into the chain for firmware update. Set S3-C (ENJTAG) to OFF to get access to the CPLD of the carrier board. In normal mode  JTAG is routed directly to FPGA.

JTAG PinDirection in CPLDConnected toDescription
C_TMSOutputM_TMS
  • C_TMS is connected to the module.
  • M_TMS is connected to FTDI chip. 
C_TCKOutputM_TCK
  • C_TCK is connected to the module.
  • M_TCK is connected to FTDI chip. 
C_TDOInputM_TDO
  • C_TDO is connected to the module.
  • M_TDO is connected to FTDI chip. 
C_TDIOutputM_TDI
  • C_TDI is connected to the module.
  • M_TDI is connected to FTDI chip. 
PinCPLD PinConnected toDescription
JTAGEN82S3-C Dip Switch (ENJTAG)To access CPLD of carrier board, JTAGEN must be set to '1'. ( ENJTAG (S3-C) = OFF  )
JTAGMODE*58B2B JB1-90

To access CPLD of module this pin must be set to high.

*Note that JTAGMODE is not connected to the B2B connector for PCB REV06 or older. This pin will be connected to the B2B connector for next PCB revisions. (PCB REV07 or later)

PCB REV06

In the PCB REV06 or older the JTAGMODE signal is not connected to the JTAGEN of the CPLD of the module. Therefore in the PCB REV06 or older the CPLD of the module can not be programmed.

Dip Switch S3-C ( JTAGEN )Description
OFFAccess to the CPLD of the carrier TE0701
ONAccess to the FPGA of the module
Dip Switch S3-B ( CM0 )JTAGMODEDescription
Don't care--Unused
PCB REV07 or newer

A special firmware is generated for accessing to the CPLD of TE0715 module, because for accessing to the CPLD of TE0715 the JTAG port must be routed to special pins same as NOSEQ pin. Therefore in PCB the CPLD firmware REV06 or later CM0 is used to select the accessing to the CPLD of TE0715 module. JTAGMODE signal set the CPLD of the module into the chain for firmware update. 

Dip Switch S3-C ( JTAGEN )Description
OFFAccess to the CPLD of the carrier TE0701
ONAccess to the FPGA of the module
Dip Switch S3-B ( CM0 )JTAGMODEDescription
OFF1Access to the CPLD of the module
ON0Access to the FPGA of the module

FMC JTAG

FMC JTAG can be set into the chain, if the special generated firmware is programmed into the CPLD of the carrier board. 

PCB REV06
FMC JTAG PinDirection in CPLDConnected toDescription
FMC_TMSInputM_TDO

The confused connections are because of the false connection in the schematic of the carrier PCB REV06 board TE0701 for FMC JTAG interface.

FMC_TCKOutputM_TMS

The confused connections are because of the false connection in the schematic of the carrier PCB REV06 board TE0701 for FMC JTAG interface.

FMC_TDOOutputM_TDI

The confused connections are because of the false connection in the schematic of the carrier PCB REV06 board TE0701 for FMC JTAG interface.

FMC_TDIOutputM_TCK

The confused connections are because of the false connection in the schematic of the carrier PCB REV06 board TE0701 for FMC JTAG interface.

PCB REV07 or newer
FMC JTAG PinDirection in CPLDConnected toDescription
FMC_TMSOutputM_TMS
FMC_TCKOutputM_TCK
FMC_TDOInputM_TDO
FMC_TDIOutputM_TDI


Power

EN1 is set to logical one . As default EN_FMC is set to logical one. This pin can be controlled by I2C on I2C Mode. PG_C2M is set to logical one or is controlled by I2C on I2C Mode.

SignalStateConditionDescription
EN_FMC0GPIO_output[24] = 0

Enable signal of the FMC connector

To set the EM_FMC signal to zero → i2cset -y 0 0x30 0x03 0x00
1Default after power on
PG_C2M0POK_FMC = 0

Power good carrier to module signal of FMC connector

POK_FMC is the power ok signal of the FMC module.

1POK_FMC = 1
EN5335QI PowerSoC VADJ

The EN5335QI is a Power System on a Chip (PowerSoC). It is specifically designed to meet the precise voltage and fasr transient requirements of present and future high performance, low-power processor, DSP, FPGA, memory boards and system level applications in a distributed power architecture. The output variable voltage can be adjusted by three signals VS0, VS1 and VS2. The VSx signals are connected to VID0, VID1 and VID2 signals of the CPLD of the carrier board.  

VADJ for PCB REV06 or newer

The output voltage VADJ can be adjusted with both S4 dip switch (S4-A, S4-B and S4-C) and I2C interface. If the all S4 dip switchs set to OFF the variable voltage can be selected via I2C interface. 


S4-C(VID2)S4-B(VID1)S4-A(VID0)Vout (VADJ)Description
ONONON3.3V
ONONOFF2.5V
ONOFFON1.8V
ONOFFOFF1.5V
OFFONON1.25V
OFFONOFF1.2V
OFFOFFON0.8V (Do not use, not supported as IO standard)
OFFOFFOFFVADJ will be controlled via I2C interface.


If the S4-A,B,C set to OFF , the output voltage of the regulator can be controlled via I2C interface. In this case GPIO_output[2:0] will control the voltage.

GPIO_output[2:0]Vout (VADJ)Description
0x03.3V
i2cset -y 0 0x30 0x00 0x00
0x12.5V
i2cset -y 0 0x30 0x00 0x01
0x21.8V
i2cset -y 0 0x30 0x00 0x02
0x31.5V
i2cset -y 0 0x30 0x00 0x03
0x41.25V
i2cset -y 0 0x30 0x00 0x04
0x51.2V
i2cset -y 0 0x30 0x00 0x05
0x60.8V
i2cset -y 0 0x30 0x00 0x06
0x7Undefined---


Note

If the S4-A, S4-B and S4-C are set to OFF (I2C interface control mode) while power on, the output voltage as default is set to 1.8V. To change this value please use the I2C interface commands as shown above in the table.


VADJ for PCB REV05 or older

The firmware REV06 does not support the PCB REV05 or older , because there is not S4 dip switch on the board. Therefore the VID0, VID1 and VID2 signals can not be controlled for adjusting the desired voltage. 


Push buttons

Push buttonapplicationDescription
S1To switch between the UART0 and UART1 for Microchip modules
To display the GPIO_output[23:16] register on the ULEDs for AMD modules
S2Reset push button

Reset

The module can be reset via S2 push button as external reset. (active low)

PGOOD

The PGOOD signal can be set or reset via S4-D (CM2) dip switch as shown:

PGOODS4-D (CM2)Desctiption
0ON
1OFF

NOSEQ

The NOSEQ signal can be set or reset via S3-A (CM1) dip switch as shown:

NOSEQS3-A (CM1)Desctiption
0ON
1OFF

MODE

This signal can be set or reset by SD_DETECT signal, which is connected to the interna switch of the SD card connector. This signal is used to select the desired boot mode as shown:

MODE (SD_DETECT)SD CardDesctiption
0Plugged
1Not plugged

Boot Mode

Boot mode can be selected via two PGOOD and MODE signals. 

Boot modePGOOD (CM2)MODE (SD_DETECT)Description
JTAG Mode0   ( ON )0   ( ON )
eMMC Mode0   ( ON )1   ( OFF )
SD Card Mode1   ( OFF )0   ( ON )
QSPI Mode1   ( OFF )1  ( OFF )

I2C to GPIO

I2C to GPIO is a subsystem in firmware of CPLD that provides an i2c interface that writes received data to GPIO_output 8 bit registers or reads  8 bit GPIO_input registers and send read data to i2c bus. 

draw.io Diagram
bordertrue
diagramNameTE0701_I2C_TO_GPIO_Blockdiagramm
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1071
height621
revision2

I2C bus is connected to MIO10 ( SCL signal) and MIO11 (SDA signal). MIO10 to MIO15 are direct connection between CPLD of TE0705 TE0701 and FPGA on the module through B2B connector. If in FPGA design exists  no i2c interface for MIO10 and MIO11, this block will be unused. More information about MIO10 to MIO15 are shown in the following table for whole Trenz Electronic 4x5 modules and TE0701 carrier board:

B2B PinB2B JB1-96B2B JB1-94B2B JB1-100B2B JB1-98B2B JB1-91B2B JB1-86
Carrier boardLabel / Firmware functionLabel / Firmware functionLabel / Firmware functionLabel / Firmware functionLabel / Firmware functionLabel / Firmware functionDescription
TE0701MIO10 / I2C-SCLMIO11 / I2C-SDAMIO12 / UART0-TXD for Microchip modules / GPIO for AMD modulesMIO13 / UART0-RXD for Microchip modules / GPIO for AMD modulesMIO14 / UART1-RXMIO15 / USRT1-TXMIO10 and MIO11 are used in CPLD firmware as I2C SCL and SDA  respectively.
B2B PinB2B JM1-95B2B JM1-93B2B JM1-99B2B JM1-97B2B JM1-92B2B JM1-85
Module Label / Chip pinLabel / Chip pinLabel / Chip pinLabel / Chip pinLabel / Chip pinLabel / Chip pinDescription
TEM0007I2C_CON_SCL / A3I2C_CON_SDA / E3UART_CON_TX / C2USRT_CON_RX / D3UART_RX / H2UART_TX / H5MIO10 and MIO11 are already set in test_design of TEM0007 as SCL and SDA respectively.
TE0710B14_IO2 / R10B14_IO6 / L18B14_IO7 / T11B14_IO3 / M18B16_IO4 / A8B16_IO0 / B8By using an external IIC IP core B14_IO2 and B14_IO6 can be used as I2C SCL and SDA respectively.
TE0711B14_IO2 / M13B14_IO6 / L18B14_IO7 / R16B14_IO3 / M18B14_IO4 / N17B14_IO0 / R10By using an external IIC IP core B14_IO2 and B14_IO6 can be used as I2C SCL and SDA respectively. 
TE0712B14_L4_P / T21B14_L9_N / Y22B14_L24_N / R17B14_L4_N / U21B14_L24_P / P16B14_L18_N / U18By using an external IIC IP core B14_L4_P and B14_L9_N can be used as I2C SCL and SDA respectively. 
TE0713B14_L4_P / T21B14_L9_N / Y22B14_L24_N / R19B14_L4_N / U21B14_L24_P / P19B14_L18_N / U18By using an external IIC IP core B14_L4_P and B14_L9_N can be used as I2C SCL and SDA respectively. 
TE0741MIO10 / B14_L22MIO11 / B14_K21MIO12 / B14_H23MIO13 / B14_K22MIO14 / B14_J21MIO15 / B14_G24By using an external IIC IP core B14_L22 and B14_K21 can be used as I2C SCL and SDA respectively. 
TE0841B65_SCL / Y19B65_SDA / AA19B65_L3_N / AF23B65_L3_P / AF22B65_L2_N / AH24B65_L4_N / AG24By using an external IIC IP core B65_SCL and B65_SDA  can be used as I2C SCL and SDA respectively. 
TE0715MIO10 / G16MIO11 / B19MIO12 / C18MIO13 / A17MIO14 / B17MIO15 / E17MIO10 and MIO11 can be set as SCL and SDA for I2C0 of  TE0715 respectively.
TE0720MIO10 / G7MIO11 / B4MIO12 / C5MIO13 / A6MIO14 / B6MIO15 / E6MIO10 and MIO11 are already set as as SCL and SDA for I2C0 in test_design of TE0720 respectively.
TE0820MIO26 / L15MIO27 / J15MIO28 / K15MIO29 / G16MIO30 / F16MIO31 / H16MIO26 and MIO27 can be set only for I2C0 of  FPGA and this bus is already used for another components same as EEPROM and PLL chip. If MIO10 and MIO11 are used as I2C bus for data communication with CPLD, then there are no access to PLL and EEPROM chip.
TE0821MIO26 / L15MIO27 / J15MIO28 / K15MIO29 / G16MIO30 / F16MIO31 / H16MIO26 and MIO27 can be set only for I2C0 of  FPGA and this bus is already used for another components same as EEPROM and PLL chip. If MIO10 and MIO11 are used as I2C bus for data communication with CPLD, then there are no access to PLL and EEPROM chip. 
TE0823MIO26 / L15MIO27 / J15MIO28 / K15MIO29 / G16MIO30 / F16MIO31 / H16MIO26 and MIO27 can be set only for I2C0 of  FPGA and this bus is already used for another components same as EEPROM and PLL chip. If MIO10 and MIO11 are used as I2C bus for data communication with CPLD, then there are no access to PLL and EEPROM chip. 

I2C to GPIO registers access methods

I2C to GPIO subsystem has 4 output and 4 input 8 bit registers. These registers can be written or read in linux or FSBL code as shown in the following tables:

GPIO input registersAddressRead Command in Linux Read Command in FSBLDescription
GPIO_input[7:0]0x00
i2cget -y 0 0x30 0x00
iic_read8(0x30,0x00,&data)
0x30 is device address. ( I2C to GPIO address).
GPIO_input[15:8]0x01
i2cget -y 0 0x30 0x01
iic_read8(0x30,0x01,&data)
0x30 is device address. ( I2C to GPIO address).
GPIO_input[23:16]0x02
i2cget -y 0 0x30 0x02
iic_read8(0x30,0x02,&data)
0x30 is device address. ( I2C to GPIO address).
GPIO_input[31:24]0x03
i2cget -y 0 0x30 0x03
iic_read8(0x30,0x03,&data)
0x30 is device address. ( I2C to GPIO address).
GPIO input registersAddressRead Command in Linux Read Command in FSBLDescription
GPIO_output[7:0]0x00
i2cset -y 0 0x30 0x00 <data>
iic_write8(0x30,0x00,data)
0x30 is device address. ( I2C to GPIO address). 0x00 is register address.
GPIO_output[15:8]0x01
i2cset -y 0 0x30 0x01 <data>
iic_write8(0x30,0x01,data)
0x30 is device address. ( I2C to GPIO address). 0x01 is register address.
GPIO_output[23:16]0x02
i2cset -y 0 0x30 0x02 <data>
iic_write8(0x30,0x02,data)
0x30 is device address. ( I2C to GPIO address). 0x02 is register address.
GPIO_output[31:24]0x03
i2cset -y 0 0x30 0x03 <data>
iic_write8(0x30,0x03,data)
0x30 is device address. ( I2C to GPIO address). 0x03 is register address.

I2C to GPIO registers

GPIO_input bitPort / SignalDescription
0CPLD_REVISION_MAJOR [0]
1CPLD_REVISION_MAJOR [1]
2CPLD_REVISION_MAJOR [2]
3CPLD_REVISION_MAJOR [3]
4CPLD_REVISION_MAJOR [4]
5CPLD_REVISION_MAJOR [5]
6CPLD_REVISION_MAJOR [6]
7CPLD_REVISION_MAJOR [7]
GPIO_input bitPort / SignalDescription
8CPLD_REVISION_MINOR [0]
9CPLD_REVISION_MINOR [1]
10CPLD_REVISION_MINOR [2]
11CPLD_REVISION_MINOR [3]
12CPLD_REVISION_MINOR [4]
13CPLD_REVISION_MINOR [5]
14CPLD_REVISION_MINOR [6]
15lCPLD_REVISION_MINOR [7]
GPIO_input bitPort / SignalDescription
16VID0EN5335QI Power SoC  Voltage Select Line 0
17VID1EN5335QI Power SoC  Voltage Select Line 1
18VID2EN5335QI Power SoC  Voltage Select Line 2
19USB_OCUSB Over Current
20CM0DIP Switch S3-B
21CM1DIP Switch S3-A
22CM2DIP Switch S4-D 
23latched_S1 stateLatched S1 status
GPIO_input bitPort / SignalDescription
24SD_WPSD card write protection
25SD_DETECTSD card detection
26NOSEQ
27PGOOD
28POK_FMCPower Ok signal of the FMC card
29FMC_PRSNTFMC present signal of the FMC card
30PG_C2MPower good of the FMC card
31EN_FMCEnable signal of the FMC card
GPIO_output bitFunctionDescription
GPIO_output[2:0]Connected to VID0, VID1 and VID2To adjust the output voltage of PowerSoC EN5335QI Chip . the  For more information see VADJ for PCB REV06 or newer
GPIO_output[7:3]Reserved---
GPIO_output[8]To
activate displaying
display the GPIO_output[23:16]
registeron
register on the ULEDs
  • For displaying the GPIO_output[23:16] on the ULEDs
  • Command : i2cset -y 0 0x30 0x01 0x01
GPIO_output[15:9]Reserved---
GPIO_output[23:16]For display on the ULEDs to test the I2C to GPIO Subsystem
  • To display this resgister on the ULEDs set the GPIO_output[8] bit
  • Command : i2cset -y 0 0x30 0x01 0x01
GPIO_output[24]

For setting the EN_FMC signal to zero, if  S4-A,B,C are OFF.

  • Command: i2cset -y 0 0x30 0x03 0x00 --> Set the EN_FMC signal to zero
GPIO_output[31:25]Reserved

---

FMC I2C

To convert the 3 wire spilt I2C interface to two wire I2C interface the following code is used in the firmware:

Code Block
languageruby
FMC_SDA       <= '0' when Y5='0' else 'Z';
Y1            <= FMC_SDA;

FMC_SCL       <= Y0 and PON;

In this case FMC_SCL and FMC_SDA are connected to the FMC card. On the other hand Y0 as I2C SCL pin , Y1 as I2C SDA input and Y5 as I2C SDA output are connected to the CPLD and B2B connector.

UART

It is two UART interfaces for Microchip modules and only one UART interface for AMD modules.  For Microchip modules the UART interface can be multiplexed between UART0 (HSS console) and UART1 (Linux console) via S1 user push button. By booting in the beginning UART0 is connected as default to the UART interface. The user can swith to UART1 (Linux console) by pressing the S1 push button any time and vice versa. For Microchip modules the *.jed file is special and the CPLD chip of the carrier board must be reprogrammed for this purpose.

UARTx ToFromSignalDescription
UART0MIO13BDBUS0Module UART0 RXDOnly for Microchip modules. The UART interface can be switched  between UART0 (HSS console) and UART1(Linux console) via S1 pushbutton.
BDBUS1MIO12Module UART0 TXDOnly for Microchip modules. The UART interface can be switched  between UART0 (HSS console) and UART1(Linux console) via S1 pushbutton.
UART1MIO14BDBUS0Module UART1 RXDFor all AMD and Microchip modules
BDBUS1MIO15Module UART1 TXDFor all AMD and Microchip modules

draw.io Diagram
bordertrue
diagramNameTE0701_CPLD_UART_Blockdiagramm
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1071
height

622

621
revision

1

2


LED

LEDDisplay as defaultDisplay GPIO_output register as second variantDescription

ULED1

UART1 RXD

GPIO_output[16]

  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
ULED2UART1 TXDGPIO_output[17]
  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
ULED3PGOODGPIO_output[18]
  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
ULED4NOSEQGPIO_output[19]
  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
ULED5JTAG Mode as Boot
Mode JTAG
ModeGPIO_output[20]
  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
ULED6eMMC Mode as Boot
Mode eMMC
ModeGPIO_output[21]
  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
ULED7SD Card Mode as Boot Mode
SD Card
GPIO_output[22]
  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
ULED8QSPI Mode as Boot
Mode QSPI
ModeGPIO_output[23]
  • To display the GPIO_output[23:16] register for AMD modules press the
S2
  • S1 push button
  • To display the GPIO_output[23:16] register for Microchip modules set the GPIO_output[8] bit  i2cset -y 0 0x30 0x01 0x01
PHY LEDStatusDescription
PHY_LED1OFF

Programmed *.jed file for →

  • PCB REV06 or older
  • No access to the CPLD of TE0715
  • FPGA JTAG active
Blinking slow

Programmed *.jed file for  →

  • PCB REV07 or newer
  • No access to the CPLD of TE0715
  • FPGA JTAG active
Blinking fast

Programmed *.jed file for →

  • PCB REV07 or newer
  • Access to the CPLD of TE0715
  • FPGA JTAG active
Blinking ultra fast

Programmed *.jed file for →

  • PCB REV06 or older
  • No access to the CPLD of TE0715
  • FMC JTAG active
ON

Programmed *.jed file for →

  • PCB REV07 or newer
  • No access to the CPLD of TE0715
  • FMC JTAG active
PHY_LED2OFFSD Card is not plugged.
ONSD Card is plugged.


Appx. A: Change History and Legal Notices

Revision Changes

  • Changes REV05 to REV06:

    •  UART interface UART0 only for Microchip modules added

    • S1 is used for multiplexing UART0 and UART1 for Microchip modules.

    • LEDs and PHY_LEDs function is changed.

    • I2C interface with 0x30 address  is added. It is connected to MIO10 (SCL) and MIO11 (SDA).

    • I2C interface with 0x22 address for HDMI chip is removed. This interface was connected to HDMI_SCL and HDMI_SDA.

    • The generic parameters JTAG_TOPOLOGY, PCB_REVISION, CPLD_REVISION_MAJOR, CPLD_REVISION_MINOR and MICROCHIP_MODULE are added.

    • PGOOD is used as boot mode selector pin in addition to MODE pin (SD_DETECT). In addition to SD card /QSPI boot modes JTAG and eMMC boot modes can be selected.

    • PGOOD, NOSEQ can be set or reset via CM2 (S4-D) and CM1 (S3-A) respectively.

    • The FMC_VADJ voltage can be changed via S4-A,B,C dip switches. This variable voltage can be changed via I2C interface too, if S4-A,B,C dip switches are OFF.

    • The CPLD of module can be programmed for REV07 or newer versions. (Next PCB revisions) JTAGMODE pin is added. JTAGMODE signal can be controlled with CM0 (S3-B) for PCB REV07 or newer versions.

    • RGPIO is not used more.

    • FMC JTAG Port is added.

    • Connecting PGOOD to CM2 to use as boot mode pin selector

    • JTAG timing correction 

  • Changes Older Revisions to REV05:

    • Power Management

      • three VADJ Control Modi (REV06+ S4 Control, REV05- S3 Control and I2C Control)

    • Reset Management

      • only little changes

    • RGPIO Interface to FPGA

      • RGPIO support

    • LED

      • new Order and accessible by RGPIO

Document Change History

To get content of older revision  got to "Change History"  of this page and select older document revision number.

Page properties
hiddentrue
idComments
  • 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
DateDocument RevisionCPLD Firmware RevisionSupported PCB RevisionAuthorsDescription

Page info
modified-date
modified-date
dateFormatyyyy-MM-dd

Page info
current-version
current-version
prefixv.




REV06REV06

Page info
modified-user
modified-user

  • Working on the process
  • REV06 release
  • Firmware release (*release-REV06.zip)
  • I2C to GPIO with address  0x30 added
  • HDMI I2C interface with address 0x22 removed
  • RGPIO removed
  • ULEDs and PHY_LEDs function chanedchanged
  • FMC_VADJ adjustment changed
  • UART0 interface for Microchip modules added
  • FMC JTAG Interface added
  • Boot mode selection changed

2018-01-17

v.29

REV05REV03,REV04,REV05,REV6

John Hartfiel

Add FMC I2C description
2017-08-14v.27REV05REV03,REV04,REV05,REV6John HartfielDescription correction on port table
2017-06-08v.26REV05REV03,REV04,REV05,REV6John Hartfieldocument style update.
2016-11-29v.24REV05REV03,REV04,REV05,REV6John HartfielRevision 05 finished
2016-04-11

v.1

---

Page info
created-user
created-user

Initial release

All

Page info
modified-users
modified-users


Legal Notices

Include Page
IN:Legal Notices
IN:Legal Notices


Scroll Only


HTML
<style>
.wiki-content .columnLayout .cell.aside {
width: 0%;
}</style>


HTML
<style>
.wiki-content .columnLayout .cell.aside {
width: 20%;
}</style>
Scroll pdf ignore


Custom_fix_page_content

Table of contents

Table of Contents
outlinetrue