Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
HTML
<!--
Template Revision 1.6
 -->
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
Scroll pdf ignore

Table of contents

Table of Contents
outlinetrue

Custom_table_size_100

Page properties
hiddentrue
idComments

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

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
-








...

Overview

CPLD Device with designator U14: LCMX02-1200HC

Feature Summary

  • Power Management

...

  • Reset Management
  • Boot Mode Controller
  • FPGA UART routing

...

  • I2C
  • LED

Firmware Revision and supported PCB Revision

See Document Change History

Product Specification

Port Description

Name / opt. VHD NameDirectionPinPullup/DownBank PowerDescription
ACBUS4               

...

 out96

...

UP3.3VFTDI  chip TXLED pin
ACBUS5               

...

 in88UP3.3VFTDI

...

chip unused pin
ADBUS4               out98

...

NONE3.3VFTDI chip DTR pin / This pin is connected to '0' in the firmware.
ADBUS7               in97

...

UP3.3VFTDI chip RI pin
BDBUS0               in87NONE3.3VUART

...

TXD from FTDI chip
BDBUS1               out86

...

NONE3.3VUART RXD to FTDI chip
C_TCKout81NONE3.3VJTAG

...

output to Module
C_TDIout84DOWN

...

3.3VJTAG output to Module
C_TDOin83DOWN

...

3.3VJTAG input from Module
C_TMSout85

...

UP3.3VJTAG output to Module
M_TCK                

...

in

...

CM2

...

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

Set DIP Switch S3-JTAGEN to ON, for module access.

...

 

Functional Description

JTAG

JTAGEN set carrier board CPLD into the chain for firmware update. In normal mode JTAG is routed directly to Module. Set S3-ENJTAG to OFF to get access to carrier CPLD.

FMC JTAG is currently not enabled.

Power

EN1 is set to logical one .

EN_FMC is set to logical one or is controlled by I2C on I2C Mode.

PG_C2M is set to logical one or is controlled by I2C on I2C Mode.

VADJ

VADJ on PCB REV06+ S4 Control

This mode is only available on PCB Revision 06 or higher.

S4 control will be enabled on power on sequence or reset (S2-Button), if one of the three S4-DIP switches is set to one.

In this Mode I2C-controll is not selectable and S3-M1 and S3-M2 are available as User-DIP-Switch.

...

VADJ on PCB REV05- S3 Control

S4 control will be disabled on power on sequence or reset (S2-Button), if all of the three S4-DIP switches is set to OFF or older PCB revision is used.

Note

Do not set S4-Switches to ON, if REV05- or I2C control is enabled.

...

VADJ on I2C Control

Disable S4 Control (see VADJ on PCB REV05- S3 Control) and set S3-M1 and S3-M2 to on. I2C VADJ Control use TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA) connected to module FPGA PL side. I2C-GPIO controller device address is 0x22. Transmitted data will be converted to a 8-bit GPIO bus.

...

To read I2C with petalinux use i2cget -y 0 0x22.

  • -y: do not confirm input
  • 0: I2CBUS, use bus number, which is connected to TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA)
  • 0x22 I2C GPIO controller on TE0701 CPLD

To write I2C with petalinux use i2cset -y 0 0x22 0x80

  • -y: do not confirm input
  • 0: I2CBUS, use bus number, which is connected to TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA)
  • 0x22 I2C GPIO controller on TE0701 CPLD
  • 0x80: Enable FMC Power with VAD 3.3V, see I2C control table.

Reset

RESIN (negative Reset) to module, can be set by S2 button.

Boot Mode

Boot mode is set to SD-Boot, when SD-Card is detected.

FMC I2C

"3 wire split i2c" to to normal I2C:

Code Block
languageruby
FMC_SDA       <= '0' when Y5='0' else 'Z';
FMC_SCL       <= Y0 and PON;
Y1            <= FMC_SDA;

RGPIO

RGPIO Master is a 32Bit Remote GPIO Interface to talk with FPGA over 3 lanes.

...

LED

...

ULED1

...

VADJ selection when RGPIO Bus is not active else RGPIO Bus Pin 0

VADJ selection: blink  when VCCIO(VIOTB/VADJ) is disabled else on when VADJ on PCB REV05- or I2C Control or off when VADJ on PCB REV06+ S4 Control 

...

91UP3.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.3VREV06+ only: DIP Switch S4-D
EN_FMC               out31NONE3.3VVADJ and 3V3V_FMC Power on
EN1                  out24UP3.3VPower enable pin for CPLD of module
FMC_PRSNT            in28UP3.3VFMC card present pin (Zero if not 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 / used also for I2C FMC control
HDMI_SDA             inout45UP3.3VHDMI chip I2C data signal / used also for I2C FMC control
HDMI_SPDIF           out15NONE3.3VAudio input of HDMI chip
HDMI_SPDIFOUT        in14NONE3.3VAudio output of HDMI chip
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.3VMIO pin
MIO13                inout30NONE3.3VMIO pin
MIO14                inout37UP3.3VMIO pin / Module UART0.RX << BDBUS0 only for Microchip modules same as TEM0007.
MIO15                in18NONE3.3VMIO pin / Module UART0.TX >> BDBUS1 only for Microchip modules same as TEM0007.
MODE                 out27DOWN3.3VUsed as boot mode pin selector.
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 the state of the selected generic parameters
POK_FMC              in32UP3.3VFMC Power good from FMC VADJ DCDC
PX6                  inout49UP3.3VPMOD J2
PX7                  inout48UP3.3VPMOD J2 
RESIN                out13UP3.3VConnected to the module reset
REVISION_DETECIONin57----REV06+ only: Detection / currently_not_used
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[7:0] will be displayed in LED1..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))
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))
Y3                   out70UP3.3VRGPIO TX (powered by VIOTB (FMC VADJ))
Y4                   in74UP3.3VRGPIO RX (powered by VIOTB (FMC VADJ))
Y5                   in71UP3.3VI2C SDA_IN (powered by VIOTB (FMC VADJ))
Y6                   in63NONE3.3VModule IO (powered by VIOTB (FMC VADJ))


Functional Description

Dip Switch

DIP Switch S3
S3-AS3-BS3-CS3-DDescription
CM1CM0JTAGENMIO0
  • 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.


DIP Switch S4
S4-AS4-BS4-CS4-DDescription
VID0VID1VID2CM2
  • VID0,1 and VID2 adjust the variable output voltage of EN5335QI regulator. (FMC_VADJ) 
  • CM2 dip switch controls the PGOOD signal. 

JTAG

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










FMC JTAG is currently not enabled.

Power

EN1 is set to logical one .

EN_FMC is set to logical one or is controlled by I2C on I2C Mode.

PG_C2M is set to logical one or is controlled by I2C on I2C Mode.

VADJ

VADJ on PCB REV06+ S4 Control

This mode is only available on PCB Revision 06 or higher.

S4 control will be enabled on power on sequence or reset (S2-Button), if one of the three S4-DIP switches is set to one.

In this Mode I2C-controll is not selectable and S3-M1 and S3-M2 are available as User-DIP-Switch.

In the new firmware (CPLD firmware Version 07) the VADJ can not be adjustable via I2C more. This voltage can be selected only via S4 dip switch as shown: 

S4-C (VID2)S4-B (VID1)S4-A (VID0)Description
ONONONVADJ: 3.3V
ONONOFFVADJ: 2.5V
ONOFFONVADJ: 1.8V
ONOFFOFFVADJ: 1.5V
OFFONONVADJ: 1.25V
OFFONOFFVADJ: 1.2V
OFFOFFONVADJ: 0.8V (Do not use, not supported as IO standard)
OFFOFFOFFused to set VADJ control to REV05- or I2C control after power up sequence
VADJ on PCB REV05- S3 Control

S4 control will be disabled on power on sequence or reset (S2-Button), if all of the three S4-DIP switches is set to OFF or older PCB revision is used.

Note

Do not set S4-Switches to ON, if REV05- or I2C control is enabled.


S3-M1S3-M2Description
OFFOFFVADJ: 1.8V
OFFONVADJ: 2.5V
ONOFFVADJ: 3.3V
OnONI2C controlled
VADJ on I2C Control

Disable S4 Control (see VADJ on PCB REV05- S3 Control) and set S3-M1 and S3-M2 to on. I2C VADJ Control use TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA) connected to module FPGA PL side. I2C-GPIO controller device address is 0x22. Transmitted data will be converted to a 8-bit GPIO bus.

BitAccessDefaultDescription
7R/W0FMC - Enable
6R/W0VID2
5R/W0VID1
4R/W0VID0
3R/W0PG_C2M - Enable
2RxPOK_FMC (EN5335QI Power OK)
1Rxone: I2C Mode, zero: DIP Mode,
0RxVID Mode (zero: S4-DIP-controlled, one:  REV05-/I2C controlled)


VID2VID1VID0Description
000VADJ: 3.3V
001VADJ: 2.5V
010VADJ: 1.8V
011VADJ: 1.5V
100VADJ: 1.25V
101VADJ: 1.2V
110VADJ: 0.8V
111reserved

To read I2C with petalinux use i2cget -y 0 0x22.

  • -y: do not confirm input
  • 0: I2CBUS, use bus number, which is connected to TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA)
  • 0x22 I2C GPIO controller on TE0701 CPLD

To write I2C with petalinux use i2cset -y 0 0x22 0x80

  • -y: do not confirm input
  • 0: I2CBUS, use bus number, which is connected to TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA)
  • 0x22 I2C GPIO controller on TE0701 CPLD
  • 0x80: Enable FMC Power with VAD 3.3V, see I2C control table.

Reset

RESIN (negative Reset) to module, can be set by S2 button.

Boot Mode

Boot mode is set to SD-Boot, when SD-Card is detected.

FMC I2C

"3 wire split i2c" to to normal I2C:

Code Block
languageruby
FMC_SDA       <= '0' when Y5='0' else 'Z';
FMC_SCL       <= Y0 and PON;
Y1            <= FMC_SDA;


I2C Interface


To read I2C with petalinux use i2cget -y 0 0x22.

  • -y: do not confirm input
  • 0: I2CBUS, use bus number, which is connected to TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA)
  • 0x22 I2C GPIO controller on TE0701 CPLD

To write I2C with petalinux use i2cset -y 0 0x22 0x80

  • -y: do not confirm input
  • 0: I2CBUS, use bus number, which is connected to TE0701 HDMI I2C Bus (HDMI_SCL and HDMI_SDA)
  • 0x22 I2C GPIO controller on TE0701 CPLD
  • 0x80: Enable FMC Power with VAD 3.3V, see I2C control table.

 

RGPIO

RGPIO Master is a 32Bit Remote GPIO Interface to talk with FPGA over 3 lanes.

RGPIO Pin to FPGAValue
0MIO10
1MIO11
2MIO12
3MIO13
4MIO14
5MIO15
6PX6
7PX7
8S1
9CM0
10CM1
11CM2
12SD_WP
13SD_DETECT
14USB_OC
15POK_FMC
16FMC_PRSNT
17PGOOD
18NOSEQ
19unused
20X6
21Y6
22-23unused
24-27reserved
28-31Interface detection


RGPIO Pin from FPAGValue
0-7LED 1-8
8-9PHY_LED 1/2
10-23unused
24-27reserved
28-31Interface detection

LED

LEDDescription

ULED1

VADJ selection when RGPIO Bus is not active else RGPIO Bus Pin 0

VADJ selection: blink  when VCCIO(VIOTB/VADJ) is disabled else on when VADJ on PCB REV05- or I2C Control or off when VADJ on PCB REV06+ S4 Control 

ULED2I2C control mode  when RGPIO Bus is not active else RGPIO Bus Pin 1
ULED3UART to Module activity  when RGPIO Bus is not active else RGPIO Bus Pin 2
ULED4UART to FTDI activity  when RGPIO Bus is not active else RGPIO Bus Pin 3
ULED5BOOTMODE (on Flash, off SD)  when RGPIO Bus is not active else RGPIO Bus Pin 4
ULED6CM2 when RGPIO Bus is not active else RGPIO Bus Pin 5
ULED7X6 when RGPIO Bus is not active else RGPIO Bus Pin 6
ULED8Y6 when RGPIO Bus is not active else RGPIO Bus Pin 7


PHY LEDDescription
PHY_LED1Y2 when RGPIO Bus is not active else RGPIO Bus Pin 8
PHY_LED2Y4 when RGPIO Bus is not active else RGPIO Bus Pin 9

UART

It is two UART interfaces for Microchip modules and only one UART interface for AMD modules.  For Microchip modules the UART interface be multiplexed between UART0 (HSS console) and UART1 (Linux console) via S1 user pushbutton. By booting in the beginning UART0 is connected to the UART interface ny default. The user can swith to UART1 (Linux console) by pressing the S1 pushbutton 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.


UARTxToFromSignalDescription
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


Appx. A: Change History

Revision Changes

  •  Changes REV06 to REV07:
    • 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 changed. It is connected to HDMI_SCL and HDMI_SDA.
    • CPLD_REVISION as generic parameter is 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. 
    • FMC_VADJ voltage can not be changed via firmware more. This variable votlage can be changed only via S4-A,B,C only.
    • The CPLD of module can be programmed for REV07 or newer versions. JTAGMODE pin is added. JTAGMODE signal can be controlled with CM0 (S3-B) for PCB REV07 or newer versions. 
    • RGPIO is not used more.
  • Changes REV05 to REV6:

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

    •  JTAG timing correction

  • Changes Older Revisions to REV05:

...

UART

...

 

Appx. A: Change History

Revision Changes

...

    • 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.

DateDocument RevisionCPLD Firmware RevisionSupported PCB RevisionAuthorsDescription

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

Page info
current-version
current-version
prefixv.

...

...




REV06REV03,REV04,REV05,REV6

Page info
modified-user
modified-user

Working on the process

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.26

...

REV05REV03,REV04,REV05,REV6John Hartfiel

...

document style update.
2016-11-29

...

v.

...

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


Appx. B: 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

...

v.1

...

Appx. B: Legal Notices

...