Versions Compared

Key

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

Custom_table_size_100


Page properties
hiddentrue
idComments

Template Revision 2.1

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

Change List 2.0 to

Change List 1.9.1 to

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 U21: LCMX02-256HC

Feature Summary

  • JTAG routing
  • Boot Mode settings
  • LED

Firmware Revision and supported PCB Revision

See Document Change History

Product Specification

Port Description

Name / opt. VHD NameDirectionPinPullup/DownBank PowerDescription

Note:

PCB REV04 REV05 Connection

Note:
PCB REV01 REV02 ConnectionC_TCK     in30DOWN3.3VINJTAG B2BC_TDI     in32DOWN3.3VINJTAG B2BC_TDO     out1DOWN3.3VINJTAG B2BC_TMS     in29DOWN3.3VINJTAG B2BRST_EN      inout27NONE3.3VINReset pin output to reset FPGA via CPLD chip

For PCB REV04 EN1(input) (pulled up in CPLD) / For PCB REV05 REST_EN(output) (Floating in CPLD)

Power Enable from B2B Connector (Positive Enable) (input pin) for PCB revision 04  in this case used only for PGOOD feedback  / Reset pin  (output pin) for PCB revision 5  in this case this pin is reset pin that is activated by firmware and not by hardware after changing the boot mode via software.

Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

CPLD Device with designator U46: 10M08SAU169

Warning

For use with the TEBT0865-01 carrier board a small hardware patch on TEBT0865-01 is required.
PCN-20240909 TE0865-02 CPLD Firmware Update / TEBT0865-01 Hardware Patch


Feature Summary

  • JTAG_UART
  • Power management
  • Reset
  • I2C

Firmware Revision and supported PCB Revision

See Document Change History

Product Specification

Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

Port Description

Name / opt. VHD NameDirectionPinI/O BankPullup/DownI/O StandardCurrent Strength

Description

JTAGEN
inE5
--3.3V
fixed to 3.3V
TCK_MAX10inG2
--2.5V (default)12mA (default)JTAG 
TMS_MAX10inG1
--2.5V (default)12mA (default)JTAG
TDO_MAX10outF6
--2.5V (default)12mA (default)JTAG 
TDI_MAX10inF5
--2.5V (default)12mA (default)JTAG
 



  
PG_1V2_PL_DDRinH52weak pull-up3.3V LVCMOS2mA (default)
  • PowerGood output signal from TPS82130 (U24)
    • open drain output, pull-up resistor needed
    • PG: PG_+1.2V_PL_DDR
    • EN: EN_+1.2V_PL_DDR
    • VOUT: +1.2V_PL_DDR
PG_VCCINTinN32weak pull-up3.3V LVCMOS2mA (default)
  • PowerGood output signal from LTM4700 (U20)
    • open drain output, pull-up resistor needed
    • PGOOD0/1: PG_VCCINT
    • RUN0/1: EN_VCCINT
LTM_FAULTinN22
3.3V LVCMOS2mA (default)
  • FAULT signal from LTM4700 (U20)
    • open drain input and output, pull-up resistor needed
    • FAULT0/1: LTM_FAULT
M_SDAinoutM32--3.3V LVCMOS2mA (default)
  • connected to level shifter TXS0102 (U12)
  • connected to EEPROM 24AA025 (U14)
  • connected to SLS32AIA (U16)
  • connected to ATECC608B-MAH (U19)
  • connected to LTM4700 (U20)
EN_SOMinK12weak pull-up3.3V LVCMOS2mA (default)
  • EN_SOM input_signal
  • in TEBT0865:
    • SC_EXT4 signal connected to J2B (D54)
SC_EXT_3inL22--3.3V LVCMOS2mA (default)
  • SC_EXT3 input signal connected to J2B (D53)
  • in TEBT0865:
    • Overcurrent Signal from TPS2051 (U9)
  • not used in CPLD
EN_VTT_PL_DDRoutJ22--3.3V LVTTL
8mA (default)
  • Enable signal for TPS51206 (U26)
    • S3/S5: EN_VTT_DDR_PL
    • VTT: VTT_DDR_PL
    • VTTREF: VREFA_DDR_PL
EN_2V5_PL_DDRoutJ12--3.3V LVTTL
8mA (default)
  • Enable signal for TPS82130 (U22)
    • EN: EN_+2.5V_PL_DR
    • VOUT: +2.5V_PL_DDR
    • PG: PG_+2.5V_PL_DR
EN_1V2_PL_DDRoutH42--3.3V LVTTL
8mA (default)
  • Enable signal for TPS82130 (U24)
    • EN: EN_+1.2V_PL_DR
    • VOUT: +1.2V_PL_DDR
    • PG: PG_+1.2V_PL_DR
EN_1V8_PS_AUXoutM22--3.3V LVTTL
8mA (default)
  • Enable signal for TPS72018 (U43)
    • EN: EN_+1.8V_AUX_PS
    • VOUT: +1.8V_AUX_PS
PG_SOMoutM12--3.3V LVTTL
8mA (default)
  • PG_SOM output signal connected to J2B (D51)
  • in TEBT0865:
    • enable signal for TPS82130 (U2) → Carrier_+1.8V
    • enable signal for TPS54240 (U14) → Carrier_+1.8V
SC_EXT_2outL32--3.3V LVCMOS
2mA (default)
  • SC_EXT2 output signal connected to J2B (D52)
  • in TEBT0865:
    • enable signal for USB TPS82130 (U12)
  • Deactivated on delivery
    • Can be activated via I2C (see reference design)
MRinoutK22weak pull-up3.3V LVCMOS2mA (default)
  • Manual Reset 
  • will be released after power group 6 is enabled








SMB_ALERTnin L43--3.3V LVCMOS2mA (default)
  • nAlert signal from LTM4700 (U20)
  • not used in CPLD
PG_2V5_PL_DDRin L53weak pull-up3.3V LVCMOS2mA (default)
  • PowerGood output signal from TPS82130 (U22)
    • open drain output, pull-up resistor needed
    • PG: PG_+2.5V_PL_DR
    • EN: EN_+2.5V_PL_DDR
    • VOUT: +2.5V_PL_DDR
M_SCL inoutM43--3.3V LVCMOS2mA (default)
  • connected to level shifter TXS0102 (U12)
  • connected to EEPROM 24AA025 (U14)
  • connected to SLS32AIA (U16)
  • connected to ATECC608B-MAH (U19)
  • connected to LTM4700 (U20)
nRST_SYS outK53
3.3V LVCMOS2mA (default) 
  • RST_SYSn
  • System reset output signal, resets eMMC, ETH-Phy and USB-Phy
  • will be released after power group 6 is enabled

PG_1V2_PS_DDR

in 
M73weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from TPS82130 (U25)
    • open drain output, pull-up resistor needed
    • PG: PG_+1.2V_PS_DDR
    • EN: EN_+1.2V_PS_DDR
    • VOUT: +1.2V_PS_DDR

PG_0V9_GTH_AVCC

 inN63weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from LT8642 (U35)
    • PG: PG_+0.9V_GTH_AVCC
    • EN/UV: EN_+0.9V_GTH_AVCC
    • SW: +0.9V_GTH_AVCC
    • open drain output

PG_0V9_GTY_AVCC

 inN83weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from LT8642 (U38)
    • PG: PG_+0.9V_GTY_AVCC
    • EN/UV: EN_+0.9V_GTY_AVCC
    • SW: +0.9V_GTY_AVCC
    • open drain output

PG_1V8_PS_GTR_AVTT

 inM93weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from TPS82130 (U47)
    • open drain output, pull-up resistor needed
    • PG: PG_+1.8V_GTR_AVTT_PS
    • EN: EN_+1.8V_GTR_AVTT_PS
    • VOUT: +1.8V_GTR_AVTT_PS

PG_1V8

 inM83weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from TPS82130 (U41)
    • open drain output, pull-up resistor needed
    • PG: PG_+1.8V
    • EN: EN_+1.8V
    • VOUT: +1.8V
PG_1V2_GTY_AVTT inN93weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from LT8642 (U39)
    • PG: PG_+1.2V_GTY_AVTT
    • EN/UV: EN_+1.2V_GTY_AVTT
    • SW: +1.2V_GTY_AVTT
    • open drain output
M_INT inL113--3.3V LVCMOS 2mA (default)
  • not used in CPLD
PG_0V85_PS_GTR_AVCC inK83weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from TPS74801 (U48)
    • open drain output, pull-up resistor needed
    • PG: PG_+0.85V_PS_GTR_AVCC
    • EN: EN_+0.85V_PS_GTR_AVCC
    • OUT: +0.85V_PS_GTR_AVCC
PG_2V3 inN123weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from TPS82130 (U45)
    • open drain output, pull-up resistor needed
    • PG: PG_+2.3V
    • EN: EN_+2.3V
    • VOUT: +2.3V
EN_LTM_RUNPout
M53--3.3V LVTTL
8mA (default)
  • RUNP signal from LTM4700 (U20)
    • enables board bias circuit to supply IC and to drive the MOSFET
      when the SVin is higher than 7V.
    • Needs to be '1' ; Tie to ground to disable the bias circuit when
      Vin is less than 5,75V
EN_0V9_GTH_AVCCout
N53--3.3V LVTTL
8mA (default)
  • Enable signal for LT8642 (U35)
    • EN/UV: EN_+0.9V_GTH_AVCC
    • PG: PG_+0.9V_GTH_AVCC
    • SW: +0.9V_GTH_AVCC
EN_0V9_GTY_AVCCout
N43--3.3V LVTTL
8mA (default)
  • Enable signal for LT8642 (U38)
    • EN/UV: EN_+0.9V_GTY_AVCC
    • PG: PG_+0.9V_GTY_AVCC
    • SW: +0.9V_GTY_AVCC
EN_3V3_SWout
N73--3.3V LVTTL
8mA (default)
  • enable signal for SIP32408 (U52)
    • EN: EN_+3.3V_SW
EN_1V2_PS_PLLout
J63--3.3V LVTTL
8mA (default)
  • Enable signal for TPS72012 (U42)
    • EN: EN_+1.2V_PLL_PS
    • OUT: +1.2V_PLL_PS
EN_2V5_PS_DDRout
M133--3.3V LVTTL
8mA (default)
  • Enable signal for TPS82130 (U23)
    • EN: EN_+2.5V_PS_DDR
    • PG: PG_+2.5V_PS_DDR
    • VOUT: +2.5V_PS_DDR
EN_1V2_GTY_AVTTout
N103--3.3V LVTTL
8mA (default)
  • Enable signal for LT8642 (U39)
    • EN/UV: EN_+1.2V_GTY_AVTT
    • PG: PG_+1.2V_GTY_AVTT
    • SW: +1.2V_GTY_AVTT
EN_1V8_VCC_ADCout
M113--3.3V LVTTL
8mA (default)
  • Enable signal for TPS72018 (U49)
    • EN: EN_+1.8V_VCCADC
    • VOUT: +1.8V_VCCADC
EN_VTT_PS_DDRout
J83--3.3V LVTTL
8mA (default)
  • Enable signal for TPS51206 (U27)
    • S3/S5: EN_VTT_DDR_PS
    • VTT: VTT_DDR_PS
    • VTTREF: VREFA_DDR_PS
EN_1V8out
L103--3.3V LVTTL
8mA (default)
  • Enable signal for TPS82130 (U41)
    • EN: EN_+1.8V
    • PG: PG_+1.8V
    • VOUT: +1.8V
EN_1V8_GTY_AUXout
M103--3.3V LVTTL
8mA (default)
  • Enable signal for TPS72018 (U40)
    • EN: EN_+1.8V_GTY_AUX
    • OUT: +1.8V_GTY_AUX








PG_3V3_SW

inJ95--3.3V LVCMOS2mA (default) 
  • output voltage from secondary power SIP32408 (U52)
    • OUT: +3.3V_SW
    • EN: EN_+3.3V_SW

PG_1V2_GTH_AVTT

inH95weak pull-up3.3V LVCMOS 2mA (default)
  • PowerGood output signal from LT8642 (U36)
    • PG: PG_+1.2V_GTH_AVTT
    • EN/UV: EN_+1.2V_GTH_AVTT
    • SW: +1.2V_GTH_AVTT
    • open drain output

PG_1V8_AUX

inG125weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from TPS82130 (U50)
    • open drain output
    • PG: PG_+1.8V_AUX
    • EN: EN_+1.8V_AUX
    • VOUT: +1.8V_AUX

PG_2V5_PS_DDR

inL135weak pull-up3.3V LVCMOS2mA (default) 
  • PowerGood output signal from TPS82130 (U23)
    • open drain output
    • PG: PG_+2.5V_PS_DDR
    • EN: EN_+2.5V_PS_DDR
    • VOUT: +2.5V_PS_DDR

EN_1V8_PS_GTR_AVTT

out
 K105--3.3V LVTTL
8mA (default)
  • enable signal for TPS82130 (U47)
    • EN: EN_+1.8V_GTR_AVTT_PS
    • PG: PG_+1.8V_GTR_AVTT_PS
    • VOUT: +1.8V_GTR_AVTT_PS

EN_1V8_GTH_AUX

out
 K115--3.3V LVTTL
8mA (default)
  • enable signal for TPS72018 (U37)
  • EN: EN_+1.8V_GTH_AUX
  • OUT: +1.8V_GTH_AUX

EN_1V8_AUX

out
K125--3.3V LVTTL
8mA (default)
  • enable signal for TPS82130 (U50)
    • EN: EN_+1.8V_AUX
    • PG: PG_+1.8V_AUX
    • VOUT: +1.8V_AUX

EN_1V2_GTH_AVTT

out
J125--3.3V LVTTL
8mA (default)
  • enable signal for LT8642 (U36)
    • EN/UV: EN_+1.2V_GTH_AVTT
    • PG: PG_+1.2V_GTH_AVTT
    • SW: +1.2V_GTH_AVTT

EN_1V2_PS_DDR

out
J135--3.3V LVTTL
8mA (default)
  • enable signal for TPS82130 (U25)
    • EN: EN_+1.2V_PS_DDR
    • PG: PG_+1.2V_PS_DDR
    • VOUT: +1.2V_PS_DDR

EN_0V85_PS_GTR_AVCC

out
H135--3.3V LVTTL
8mA (default)
  • enable signal for TPS74801 (U48)
    • EN: EN_+0.85V_PS_GTR_AVCC
    • PG: PG_+0.85V_PS_GTR_AVCC
    • OUT: +0.85V_PS_GTR_AVCC

EN_VCCINT

inout
H85weak pull-up3.3V LVCMOS
 2mA (default)
  • enable signal for LTM4700 (U20)
    • RUN0/1: EN_VCCINT
    • PGOOD0/1: PG_VCCINT

EN_2V3

out
G135--3.3V LVTTL
8mA (default)
  • enable signal for TPS82130 (U45)
    • EN: EN_+2.3V
    • PG: PG_+2.3V
    • VOUT: +2.3V

Functional Description

JTAG

JTAG access to Intel MAX 10 is available through B2B connector J2.

JTAG SignalB2B Connector
JTAGENPulled Up
TCK_MAX10J2B- D56
TDI_MAX10

J2B- D59

TDO_MAX10J2B- D58
TMS_MAX10J2B- D57

 

Power

All power regulators are controlled by the power sequencer core from Intel. It enables and discharges the power regulators and monitors the power good signals. As the power good inputs of the power sequencer are very sensitive, all power good inputs were debounced. https://github.com/intel/multi_power_sequencer

The power-up sequence corresponds to AMD's recommendations and is shown in the table below:

Power Group

Power enable signal

(CPLD output signal)

Power good signal

(CPLD input signal)

Sequencer Delay1

(PG to next OE)

Qualification Window2

(OE to PG)

Notes

0

--

EN_SOM

10µs

200ms

 



1


EN_VCCINT

PG_VCCINT

 


10µs

 

 

 

200ms

--

EN_2V3

PG_2V3

--

EN_3V3_SW

PG_3V3_SW

+3.3V_SW output signal from U52





2






EN_1V8

PG_1V8

 




10µs

 

 

 

 

 

 

 



200ms

 

 

 

 

--

EN_1V8_AUX

PG_1V8_AUX

--

EN_1V8_PS_AUX

--

--

EN_1V2_PS_PLL

--

--

EN_0V9_GTH_AVCC

PG_0V9_GTH_AVCC

--

EN_0V9_GTY_AVCC

PG_0V9_GTY_AVCC

--

EN_1V8_VCC_ADC

--

--



3




EN_1V2_PS_DDRPG_1V2_PS_DDR


10µs

 





 

200ms



--
EN_1V2_PL_DDRPG_1V2_PL_DDR--

EN_2V5_PL_DDR

PG_2V5_PL_DDR

--

EN_2V5_PS_DDR

PG_2V5_PS_DDR

--

EN_1V2_GTH_AVTTPG_1V2_GTH_AVTT--
EN_1V2_GTY_AVTTPG_1V2_GTY_AVTT--





4

 

EN_VTT_PS_DDR

--

 

 


10µs

 

 

 

 

200ms

 

--

EN_0V85_PS_GTR_AVCC

PG_0V85_PS_GTR_AVCC

--

EN_VTT_PL_DDR

--

--

EN_1V8_GTH_AUX

--

--

EN_1V8_GTY_AUX

--

--

5

EN_1V8_PS_GTR_AVTT

PG_1V8_PS_GTR_AVTT

10µs

200ms

--

6

PG_SOM

--

0µs

200ms

--

1. Defines the delay from when the master enable is asserted before output enable is asserted, or from when Power Good is asserted until the next rail or group's output enable is asserted.
2. Defines the qualification window for which Power Good must be asserted, after output enable is asserted.

JTAG UART

As the power sequencer monitors all voltages and there is no visual feedback in the event of an error, the JTAG UART was implemented.

The command "nios2-terminal.exe" in the NIOS II command shell is used to output the CPLD Firmware and PCB revision. In case of power problems the power enable and power good signals will be displayed additionally.

Expand
titleexample normal operation

Image Added

Expand
titleexample power enable and power good signals

Image Added

see also https://www.intel.com/content/www/us/en/docs/programmable/683130/21-4/jtag-uart-core.html


I2C interface

The CPLD firmware consists of an I2C slave to Avalon MM master bridge Intel FPGA IP, allowing the CPLD registers to be accessed. The device address in the firmware is 0x55, CPLD registers can be accessed via the i2c interface, e.g. in the Linux console with

  • i2cget -y 1 0x55 <Index> (for reading) or 
  • i2cset -y 1 0x55 <Index> <Value> (for writing)

The following table shows the register map for the CPLD interface :

IndexByteRegister NameRead/WriteDescriptionDefault
0x0[7:0]SC_REVISIONRCPLD Firmware Revision0x3
0x1[7:0]PCB_REVISIONRPCB Revision0x2
0x6[7:0]pwr_enR

Status of Power Groups

  • Bit 0: Power Group 0
    • Enable Power Sequencer
  • Bit 1: Power Group 1
    • EN_VCCINT
    • EN_2V3
    • EN_3V3_SW
  • Bit 2: Power Group 2
    • EN_1V8
    • EN_1V8_AUX
    • EN_1V8_PS_AUX
    • EN_1V2_PS_PLL
    • EN_0V9_GTH_AVCC
    • EN_0V9_GTY_AVCC
    • EN_1V8_VCC_ADC
  • Bit 3: Power Group 3
    • EN_1V2_PS_DDR
    • EN_1V2_PL_DDR
    • EN_2V5_PL_DDR
    • EN_2V5_PS_DDR
    • EN_1V2_GTH_AVTT
    • EN_1V2_GTY_AVTT
  • Bit 4: Power Group 4
    • EN_VTT_PS_DDR
    • EN_0V85_PS_GTR_AVCC
    • EN_VTT_PL_DDR
    • EN_1V8_GTH_AUX
    • EN_1V8_GTY_AUX
  • Bit 5: Power Group 5
    • EN_1V8_PS_GTR_AVTT
  • Bit 6: Power Group 6
    • PG_SOM
  • Bit 7: not used


0x7F
0x8[7:0]power_good_in[7:0]R

Status of Power Good Signals

  • Bit 0: EN_SOM
  • Bit 1: PG_VCCINT
  • Bit 2: PG_2V3
  • Bit 3: PG_3V3_SW
  • Bit 4: PG_1V8
  • Bit 5: PG_1V8_AUX
  • Bit 6: PG_0V9_GTH_AVCC
  • Bit 7: PG_0V9_GTY_AVCC
0xFF
0x9[7:0]power_good_in[15:8]R

Status of Power Good Signals

  • Bit 0: PG_1V2_PS_DDR
  • Bit 1: PG_1V2_PL_DDR
  • Bit 2: PG_2V5_PL_DDR
  • Bit 3: PG_2V5_PS_DDR
  • Bit 4: PG_1V2_GTH_AVTT
  • Bit 5: PG_1V2_GTY_AVTT
  • Bit 6: PG_0V85_PS_GTR_AVCC
  • Bit 7: PG_1V8_PS_GTR_AVTT
0xFF
0xA[7:0]seq_nfaultRStatus of Power Sequencer (Active Low)0x1
0xE[7:0]pwr_usb_enaR/W

Enables/Disables output signal 'SC_EXT_2'

  • Is used for USB enable voltage in TEBT0865

0x0 (0x1 in Reference Design)


Reference Design

In the reference design, the I2C interface in u-boot is used to read out the CPLD and PCB revision as well as to switch on the output signal 'SC_EXT_2' for the USB voltage on the carrier board TEBT0865. These information will be displayed while booting the reference design as shown:

Scroll Title
title-alignmentcenter
titleU-boot snippet reference design

Image Added


Reset

The reset signals ‘MR’ and ‘nRST_SYS’ will be released after power group 6 has been activated.



Appx. A: Change History

Revision Changes

  • REV02 to REV03
    • changed top design from block design to text design
    • added power sequencer
    • added debouncing for power good signals
    • added jtag_uart
    • added i2c interface
    • added release for reset (MR and nRST_SYS)
    • added logic for SC_EXT_2 
      • enable/disable USB power for TEBT0865 via I2C
      • default: disabled
    • update constraining design
  • REV01 to REV02
    • added Pin L3 SC_EXT_2 as output and set to VCC to enable USB

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 RevisionAuthorsDescriptionFirmware Release

Page info
infoTypeModified date
dateFormatyyyy-MM-dd
typeFlat

Page info
current-version
current-version
prefixv.

REV03REV02
Page info
infoTypeModified by
typeFlat


Update Change HistorySC-PGM-TE0865-02_SC0865-03_20240918.zip

2024-09-18

v.38

REV03REV02Manuela Strücker Documentation initial
User_LEDout4NONE3.3VINuser defined or status, see LED description
For PCB REV04 shows the state of X1 and X0. / For PCB REV05 shows the boot mode state for selection via hardware (Dip switch in carrier board) or via software (related command in linux console or  FSBL code)1.8V input ERR_OUT(PS_ERROR_OUT)PG_ALLin5NONE3.3VINThis pin is used as power good (input)Unused in CPLD firmware for PCB REV04( In hardware is pulled up) / Used in PCB REV05 as power good  input pin1.8V  input ERR_STATUS as inputJTAGEN    in26---3.3VINEnable JTAG access to CPLD for Firmware update (zero: JTAG routed to module, one: CPLD access)MODE      in25UP3.3VINBoot Mode for Zynq/ZynqMP Devices (Flash or SD)MODE0     out12DOWN1.8VZynqMP Boot Mode Pin 0MODE1     out13DOWN1.8VZynqMP Boot Mode Pin 1MODE2     out14DOWN1.8VZynqMP Boot Mode Pin 2MODE3     out16DOWN1.8VZynqMP Boot Mode Pin  3NOSEQ     inout23UP3.3VINUsage CPLD Variant dependsUsed as GPIO pin by user. This pin can be written or read via i2cset command in linux console or FSBl code functions.Used as boot mode selection pin, if CPLD is programmed using SC0820_qspi_sd_jtag.jed jed-file.PGOOD     inout28UP3.3VINModule Power Good (only Feedback from EN1 for PCB revision 4 or older). / For PCB revision 5 is used as boot mode selection pin or power good pin (feedback from PG_ALL pin)Module Power Good (only Feedback from EN1 for PCB revision 4 or older). / Boot mode selection pin for PCB REV05PHY_LED1  in17---1.8VETH PHY LED1 / currently_not_usedTCK     out9DOWN1.8VJTAG ZynqMPTDI       out8DOWN1.8VJTAG ZynqMPTDO       in10DOWN1.8VJTAG ZynqMPTMS       out11DOWN1.8VJTAG ZynqMPX0        in20UPVCCO_65I2C SCL pinUsed as tri-state enable-input  for User_LED pin for PCB REV04 / Used as i2c SCL pin for PCB REV05 X1        inout21UPVCCO_65I2C SDA pinUsed as tri-state input  for User_LED pin for PCB REV04 / Used as i2c SDA pin for PCB REV05

Functional Description

JTAG

JTAG signals routed directly through the CPLD to FPGA. Access between CPLD and FPGA can be multiplexed via JTAGEN (logical one for CPLD, logical zero for FPGA) on JM1-89.

Boot Mode

Boot mode can be set either by hardware (dip-switch) on the carrier board or by firmware in linux console or FSBL code. Even after booting boot mode can be changed . After changing the boot mode FPGA is restarted automatically by CPLD, if PCB revision is REV05, otherwise for PCB revision 4  user must reset manually to execute boot mode changing correctly.To change boot mode a state machine  continuously monitors the corresponding register that can be change via I2C interface between CPLD and FPGA.

Change methodBoot ModeCPLD PGOOD Pin (B2B Pin JM1-30)CPLD MODE Pin (B2B Pin JM1-32)DescriptionHardwareJTAG00HardwareeMMC01HardwareSD Card10HardwareQSPI11Change methodBoot ModeCommand in linux consoleCommand in FSBLDescriptionSoftwareJTAG
i2cset -y 1 0x20 0x01 0x91
iic_write8(0x20,0x01,0x91)
0x20 is device address. 0x01 is register address.SoftwareSD Card
i2cset -y 1 0x20 0x01 0x93
iic_write8(0x20,0x01,0x93)
0x20 is device address. 0x01 is register address.SoftwareQSPI
i2cset -y 1 0x20 0x01 0x92
iic_write8(0x20,0x01,0x92)
0x20 is device address. 0x01 is register address.SoftwareeMMC
i2cset -y 1 0x20 0x01 0x90
iic_write8(0x20,0x01,0x90)
0x20 is device address. 0x01 is register address.

If PCB revision is  REV04, then user must reset manually the carrier board after changing the boot mode using i2cset command in linux console. If PCB revision is REV05, it is not necessary to reset the FPGA by user, because FPGA will be reset automatically via CPLD after changing the boot mode via i2cset command in linux console.

For other UltraScale+ Boot Modes options custom firmware is needed, see also Table 11.1 Boot Modes from Xilinx UG1085.

Power

For PCB revision 4 or older PGOOD depends on EN1. There is no additional power management controlled by CPLD. For PCB revision 5 PGOOD depends on PG_ALL signal.

LED

Green LED D2 glows depending on boot mode and whether boot mode is selected by hardware or firmware.

LED stateConditionRelated commandDescriptionOFFJTAG boot mode and software boot mode selection not activeBoot mode is adjusted by dip switch on the carrier board. CPLD_BM = '0'Blink sequence *oooooooQSPI boot mode and software boot mode selection not activeBoot mode is adjusted by dip switch on the carrier board. CPLD_BM = '0'Blink sequence **ooooooeMMC boot mode and software boot mode selection not activeBoot mode is adjusted by dip switch on the carrier board. CPLD_BM = '0'Blink sequence ***oooooSD card boot mode and software boot mode selection not activeBoot mode is adjusted by dip switch on the carrier board. CPLD_BM = '0'Blink sequence ****ooooJTAG boot mode and software boot mode selection active
i2cset -y 1 0x20 0x01 0x91   in linux console
 CPLD_BM = '1'Blink sequence *****oooQSPI boot mode and software boot mode selection active
i2cset -y 1 0x20 0x01 0x92   in linux console
 CPLD_BM = '1'Blink sequence ********eMMC boot mode and software boot mode selection active
i2cset -y 1 0x20 0x01 0x93   in linux console
 CPLD_BM = '1'ONSD card boot mode and software boot mode selection active
i2cset -y 1 0x20 0x01 0x90   in linux console
 CPLD_BM = '1'

Note: asterisk mean one blink. So for example **oooooo mean 2 time blink with a longer break(with the time of 6 blinks)

I2C interface

CPLD firmware consists of a i2c t GPIO block. This subsystem provides i2c protocol interface to  32-bit (4 x 8-bit) (GPIO_input[31:0]) registers for reading from CPLD and (4 x 8-bit) (GPIO_output[31:0]) registers for writing in CPLD as general purpose parallel input and output (I/Os). The written and read data is communicated from/to FPGA via i2c bus interface protocol. The address of this block in the firmware is 0x20.In this case related i2c bus is bus 1. 

draw.io DiagrambordertruediagramNameTE0820_CPLD_I2C_to_GPIO_Block_DiagrammsimpleViewerfalsewidthlinksautotbstyletoplboxtruediagramWidth731revision1RegisterDirection in CPLDAddressGPIO_input[7:0]Output (reading from CPLD)0x00GPIO_input[15:8]Output (reading from CPLD)0x01GPIO_input[23:16]Output (reading from CPLD)0x02GPIO_input[31:24]Output (reading from CPLD)0x03GPIO_output[7:0]Input (writing to CPLD)0x00GPIO_output[15:8]Input (writing to CPLD)0x01GPIO_output[23:16]Input (writing to CPLD)0x02GPIO_output[31:24]Input (writing to CPLD)0x03

NOSEQ pin

This pin in PCB REV04 with old CPLD firmware version (REV04) is  used as boot mode pin select. If  CPLD is programmed with SC0820_qspi_sd_jtag.jed as jed file and  NOSEQ is  high, JTAG boot mode will be selected. For PCB REV05 or PCB REV04 with new CPLD firmware (CPLD firmware REV05) NOSEQ pin can be used by user as GPIO pin and accessed via i2c interface. In this case the following table can be used:

NOSEQ pin as outputConditionCommand in linux console'1'GPIO_output(16) = '1'
i2cset -y 1 0x20 0x02 0x01
'0'GPIO_output(16) = '0'
i2cset -y 1 0x20 0x02 0x00
NOSEQ pin as inputDescriptionCommand in linux consoleReading state of NOSEQ pinGPIO_input(16) = NOSEQ
i2cget -y 1 0x20 0x02

Access to CPLD Registers

CPLD registers can be accessed via i2c interface. In the following table is shown how these registers can be read or written:

RegisterDirection in CPLDAddressRelated instruction in linux console to access the registerGPIO_input[7:0]Output (reading from CPLD)0x00i2cget -y 1 0x20 0x00GPIO_input[15:8]Output (reading from CPLD)0x01i2cget -y 1 0x20 0x01GPIO_input[23:16]Output (reading from CPLD)0x02i2cget -y 1 0x20 0x02GPIO_input[31:24]Output (reading from CPLD)0x03i2cget -y 1 0x20 0x03GPIO_output[7:0]Input (writing to CPLD)0x00i2cset -y 1 0x20 0x00 <data>GPIO_output[15:8]Input (writing to CPLD)0x01i2cset -y 1 0x20 0x01 <data>GPIO_output[23:16]Input (writing to CPLD)0x02i2cset -y 1 0x20 0x02 <data>GPIO_output[31:24]Input (writing to CPLD)0x03

i2cset -y 1 0x20 0x03 <data>

Some of these registers are using to show some information same as  CPLD revision and boot mode while booting.

RegisterAddressrelated  dataRead/write by userDescriptionGPIO_input[7:0]0x00CPLD REVISION (8 bits)NoGPIO_input[15:8]0x01"00" & BOOTMODE_GEN (2 bits) &  PUDC (1 bit) & CPLD_BM (1 bit) & BOOT_MODE (2 bits)No

BOOTMODE_GEN is a generic parameter in firmware code to select type of jed-file. For example if this parameter is 3 , then by programming the related jed-file the user can have all boot mode options. (QSPI/JTAG/SD Card/eMMC).

PUDC is the state of PUDC pin of FPGA.

CPLD_BM is a parameter to show if boot mode selection is executed via hardware ( if low) or software (if high)

BOOT_MODE shows selected boot mode.

GPIO_input8[16]0x02NOSEQ pinYesRegisterAddressrelated dataDescriptionGPIO_output[16]0x02NOSEQ pinYes

If CPLD firmware version is  REV05, then boot mode, CPLD revision and some features of the board will be displayed in the linux console via FSBL code  while booting. The format of these informations are shown in the following:

InformationDisplayed in Linux consoleDescriptionCPLD RevisionCPLD_REV = <cpld revision>Boot mode selection procedureCPLD_BM = < bm selection procedure>
  • If boot mode via hardware is selected → Deactive(0)
  • If boot mode via software (in linux console or via FSBL code) is selected → Active(1)
Jed file that on CPLD is programmedBOOTMODE_GEN = < jed file type>
  • Jed file type can be one of the following types :
    • (0) QSPI/SD
    • (1) QSPI/JTAG
    • (2) JTAG/SD
    • (3) default QSPI/JTAG/SD/eMMC
PUDC pin statePUDC_MODE = <pudc state>
  • PUDC can have one of the following state:
    • Pull-up activated (0)
    • Pull-up deactivated (1)
Boot modeBOOT_MODE = <boot mode>
  • The following boot modes can displayed:
    • eMMC (0)
    • JTAG (1)
    • QSPI (2)
    • SD Card (3)

The CPLD revision, boot mode and other informations will be displayed while booting as shown:

Scroll Title
title-alignmentcenter
titleAll information while booting

Image Removed

If PCB revision is REV04 and  CPLD firmware version is older than REV05 (for example REV04) , then it will not be displayed these informations same as  boot mode while booting and the following message will be displayed:

Scroll Title
title-alignmentcenter
titleMessage while booting if CPLD firmware version is old for PCB REV04

Image Removed

Appx. A: Change History

For PCB REV01 and REV02 Documentation available on: TE0820-REV01_REV02 CPLD

Revision Changes

  • REV04 to REV05
    • Adding configuration of boot mode in linux console and via generic parameters

    •  PGOOD pin used as boot mode selector pin.

    • Adding boot mode configuration via hardware 

    • JTAG time constraint correction

    • Adding i2c to gpio ip (i2c_slave.vhd)

    • LED function is changed.

    • New generic parameter defined : PCB_REV

    • EN1 pin

      • is renamed to RST_EN.

      • pin is input for PCB_REV=4 and it is enable pin same as before.

      • is reset output for PCB_REV=5 or newer.

  • REV03 to REV04
    • PCB REV03 support only
    • X1 is input for USER LED

    • X0 select  X0 or Firmware Blink status to User LE

    • blink modes for QSPI/SD firmware

  • REV02 to REV03
    • new Boot Mode variants
    • new X0 status blink sequencing
  • REV01 to REV02
    • Boot Mode variants
    • X1
    • Remove ERR_STATUS

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
Initial release
DateDocument RevisionCPLD Firmware RevisionSupported PCB RevisionAuthorsDescription

Page info
infoTypeModified date
dateFormatyyyy-MM-dd
typeFlat

Page info
current-versioncurrent-version
prefixv.
REV05REV04,REV05
Page info
modified-usermodified-user
  • add LED Designator Note

2022-10-05

v.3

REV05REV04,REV05Mohsen Chamanbaz
  • REV05 release
  • Firmware release for PCB REV04 (SC-PGM-TE0820-04_SC820-05_20221005.zip)
  • Firmware release for PCB REV05 (SC-PGM-TE0820-05_SC820-05_20221005.zip)
  • Firmware release ()
  • Access to boot mode in linux console or FSBl code
  • Indicating CPLD revision , boot mode and PUDC state while booting
2018-08-29v.2REV04REV03John Hartfiel
  • typo correction

v.1REV04REV03John Hartfiel
  • Revision 04 finished
  • separate page for PCB REV01 and REV02

v.1

REV04REV03
Page info
created-usercreated-user

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>



Scroll pdf ignore


Custom_fix_page_content

Table of contents

Table of Contents
outlinetrue