Versions Compared

Key

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

...

Scroll pdf ignore

Table of contents

Table of Contents
outlinetrue

Overview

Firmware for PCB CPLD with designator U39. Second CPLD Device in Chain: LCMX02-1200HC

Feature Summary

  • Power Management
  • JTAG routing
  • Boot Mode
  • User IO
  • LED

Firmware Revision and supported PCB Revision

See Document Change History

Product Specification

Port Description

...

A Lattice XO2-1200 CPLD (U19) is used as a System Management Controller (referred to as SC in the manual). The SC is responsible for power sequencing, reset generation and Zynq initial configuration (mode pin strapping). Moreover, some on-board ICs are connected to the SC that provides level shifting. The SC wakes up when the 3.3V input power rises above 2.1V (VIN voltage is not needed). The SC can turn on or off all of the other supplies on the module (except in no power sequencing mode when the 1.0V and 1.8 V supplies are forced to start immediately when power is applied to the module).

System Controller (SC for short) was designed to allow ZYNQ PS system to access module special functions as early as possible without reducing the number of MIO pins that are fully user configurable.This early communication channel is done using MIO52 and MIO53 pins that are used also as Ethernet PHY management interface for the on-board Gigabit PHY. In order to simplify the boot process and reduce the number of time the PS peripherals need to be configured or re-initialized SC uses the same protocol on MIO52/MIO53 as the Gigabit PHY itself. This means that FSBL Configures all peripherals to their final function, allocating MIO52 and MIO53 as Ethernet MDIO Interface. SC Controller appears as "Virtual Ethernet PHY" on the MDIO bus of PS Ethernet 0 Interface. This interface is already available when Zynq PL Fabric is not configured. It would have been possible to use I2C Protocol on MIO52/MIO53 but in such case some multiplexing would be needed to choose between two protocols, also it would be needed to change the 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.For most use cases the only need to use this interface is access to MAC Address info, this is normally done by u-boot loader that fetches the MAC Address bytes and sets its environment variables accordingly. Linux image will then also be started so that the MAC Address from EEPROM is used for Ethernet 0 Physical interface.

Embed draw.io Diagram
diagramNamemdc
aspecttjxu790XFun6rd2rjHxc 1
includedDiagram1
width400
aspectHash6d33b91b925d8a1677db02cc7e199cf9d2989c2d
pageId111447298

Feature Summary

  • Power Management
  • JTAG routing
  • Boot Mode
  • User IO
  • LED

Firmware Revision and supported PCB Revision

See Document Change History

Product Specification

Port Description

Name / opt. VHD NameDirectionPinPullup/DownBank PowerDescription
BOOT_R / BOOTMODE_RoutN12NONE3.3VIf low then the QSPI flash can not be written. (Write protect)
BOOT_R5 / BOOTMODE_R5outM11DOWN3.3VIf low then the QSPI flash will be reset. (HOLD/RESET)
CLK_125MHzinG13NONE1.8V125MHZ Clock Output of Ethernet transceiver chip (88E1512-A0-NNP2C000) that synchronized with the 25MHZ reference clock
EN_3V3outA2DOWN3.3VIf high then the 3.3V power will be switched ON.
EN1inA9UP3.3VUser Enable. Enables the DC-DC converters and on board supplies (Active High). (B2B JM1-28)(DIP Switch on the carrier board) . Not used if NOSEQ = '1'
ETH-CLK-EN / EN_ETH_CLKoutJ14NONE1.8VEnable pin for U9 oscillator chip U9 (SiT8008BI-73-18S-25.000000E) to feed a clock to Ethernet Transceiver(U8). Enabled as default.
ETH-MDC / mdcinL14UP1.8VManagement Data Clock reference for the Ethernet transceiver chip. This pin is connected with MIO52 of FPGA too and can be activated in Zynq7 adjustment.
ETH-MDIO / mdioinoutK14UP1.8VIt is Management Data pin of Ethernet transceiver chip to transfer in and out of the device synchronously to mdc. It is connected with MIO53 of FPGA.
ETH-RSToutE14DOWN1.8VReset pin of Ethernet transceiver chip. (Active low)
INITinC9UP3.3VINIT_B_0 pin of FPGA. (Active low). This pin must be tristate for PL configuratuion. By user or device held low until is ready to be configured.
INT1 / INT2inP4UP3.3VMEMS Interrupt 1 of 3D accelerometer and 3D magnetometer chip U22 (LSM303DTR) (Active High)
INT2 / INT1inP6UP3.3VMEMS Interrupt 2 of 3D accelerometer and 3D magnetometer chip U22 (LSM303DTR) (Active High)
JTAGMODEinB9
3.3VEnable JTAG access to CPLD for Firmware update (zero: JTAG routed to module, one: CPLD access)
LED1outP2NONE3.3VDisplay green LED (D2)
LED2outN3DOWN3.3VDisplay red LED (D5)
MEM-MAC / MAC_IOinoutM14UP1.8VSerial Clock/Data input/Output of Serial EEPROM (11AA02E48T-I/TT) U17
MEM-SHA / SHA_IOinoutN14UP1.8VSDA for CryptoAuthentication Chip (ATSHA204A-STUCZ-T) U10
MIO14inoutM4NONE3.3VRX pin of UART0
MIO15inoutN4NONE3.3VTX pin of UART0
MIO7inP11UP3.3VThis pin is used as GPIO.
MMC_RSToutG14DOWN1.8VReset pin of eMMC memory (MTFC16GJVEC-2M WT) U15
MODE / BOOTMODE_INinC8UP3.3VLatched as BOOTMODE once at power-up, can be used later as I/O, weak pull up. Force low for boot from the SD Card. Latched at power on only, not on soft reset (B2B-JM1 pin 32) 
MODE / BOOTMODE_IN2inM9UP3.3VLatched as BOOTMODE once at power-up, can be used later as I/O, weak pull up. Force low for boot from the SD Card. Latched at power on only, not on soft reset (B2B-JM1 pin 32) 
MR     / POR_BoutP12UP3.3VPower-on-reset pin. This pin is connected with supply voltage monitor chip (TPS3106K33DBVR) U26 and controls the PS_POR_B pin of FPGA. (Active Low)
NetU19_B12
B12

/ currently_not_used
NetU19_B13
B13

/ currently_not_used
NetU19_B2
B2

/ currently_not_used
NetU19_B3
B3

/ currently_not_used
NetU19_B7
B7

/ currently_not_used
NetU19_C1
C1

/ currently_not_used
NetU19_C10
C10

/ currently_not_used
NetU19_C12 / DummyoutC12DOWN3.3V
NetU19_C3
C3

/ currently_not_used
NetU19_C6 / RSTinC6UP3.3V
NetU19_C7
C7

/ currently_not_used
NetU19_E1
E1

/ currently_not_used
NetU19_E12
E12

/ currently_not_used
NetU19_F13
F13

/ currently_not_used
NetU19_F3
F3

/ currently_not_used
NetU19_G3
G3

/ currently_not_used
NetU19_H3
H3

/ currently_not_used
NetU19_J3
J3

/ currently_not_used
NetU19_K13
K13

/ currently_not_used
NetU19_K3
K3

/ currently_not_used
NetU19_L3
L3

/ currently_not_used
NetU19_M12
M12

/ currently_not_used
NetU19_M2
M2

/ currently_not_used
NetU19_M3
M3

/ currently_not_used
NetU19_N13
N13

/ currently_not_used
NetU19_N5
N5

/ currently_not_used
NetU19_N7
N7

/ currently_not_used
NetU19_N8
N8

/ currently_not_used
NOSEQinoutA3DOWN3.3VUsage CPLD Variant depends. (B2B-NOSEQ pin 7) Forces the 1.0V and 1.8V DC-DC converters always ON when high. Can be used as an I/O after boot.
ON_1V0outA12NONE3.3VEnable pin for 1.0 V DC-DC (Active High)
ON_1V5outM7NONE3.3VEnable pin for 1.5 V DC-DC (Active High)
ON_1V8outA11NONE3.3VEnable pin for 1.8 V DC-DC (Active High)
OTG-RSToutB14DOWN1.8VReset pin for high speed USB transceiver (USB3320C-EZK) U18 (Active Low)
PG_1V0inA7UP3.3VPower OK (POK) pin of 1.0V DC-DC converter EN6347QI (U1). If High then the output voltage of regulator is within 10% of nominal value (OK).
PG_1V5inN6UP3.3VPower OK (POK) pin of 1.5V DC-DC converter EP53F8QI (U2). If High then the output voltage of regulator is Ok.
PG_1V8inA10UP3.3VPower OK (POK) pin of 1.8V DC-DC converter EP53F8QI (U3). If High then the output voltage of regulator is Ok.
PG_3V3 / PORinC11UP3.3VPOR Reset pin. This pin is connected with PG_3V3. As long as the VCCIO34 voltage is zero, this pin will remain low.
PGOODinoutB8UP3.3VPower good output as default, can be used as I/O. (B2B JM1-Pin 30) Forced low until all on-board power supplies are working properly.
PHY_CONFIGinoutC14DOWN1.8VHardware configuration pin of Ethernet transceiver (88E1512-A0-NNP2C000).
PHY_LED0inoutF14NONE1.8VLED output 0 of Ehternet transceiver chip
PHY_LED1inoutD12NONE1.8VLED output 1 of Ehternet transceiver chip
PHY_LED2inoutC13NONE1.8VLED output 2 or interrupt output pin (Active Low) of Ehternet transceiver chip
PJTAG_RoutN10NONE3.3VThis pin in the schematic is connected with SPI-DQ0/M0 Pin
PROG_BinA13UP3.3V

By pulsing this pin any configuration that is currently loaded is cleared and the PL prepared to load new configuration. (Active Low)

PS-RST / SRST_BoutM13UP1.8VPS software reset  (Active Low)
PUDC_BinoutE3DOWNVCCIO34

Selects the enable or disable of pull-ups during configuration on the user I/O pins. (Active Low)  Enables internal pull-up resistors on the

select I/O pins after power-up and during configuration.

RESINinC4UP3.3VMaster reset input (Active Low). Default mapping forces POR_B reset to Zynq PS
RST / RST_SENSEinP3NONE3.3VReset pin that is connected with PS_PORT_B (Power-on-reset) (Active Low)
RTC_INTinN2UP3.3VInterrupt output or frequency output of RTC chip (ISL12020MIRZ) U20 (Active Low)
SCLinoutP8UP3.3VI2C clock pin of MEMS chip (LSM303DTR) U22
SDAinoutP7UP3.3VI2C data pin of MEMS chip (LSM303DTR) U22
SPK_L
M5

/ currently_not_used
SPK_R
M8

/ currently_not_used
TCK / C_TCKoutP13DOWN3.3VZynq JTAG clock pin
TDI / C_TDIoutP9DOWN3.3VZynq JTAG data input pin
TDO / C_TDOinM10DOWN3.3VZynq JTAG data output pin
TMS / C_TMSoutN9DOWN3.3VZynq JTAG mode select pin
VCCIO34
E2

/ currently_not_used
VCCIO34
F2

/ currently_not_used
VCCIO34
H2

/ currently_not_used
VCCIO34
J2

/ currently_not_used
VCCIO34
K2

/ currently_not_used
X_TCK / M_TCKinB6DOWN3.3VFTDI JTAG clock pin (B2B-JM1-pin 99)
X_TDI / M_TDIinB4DOWN3.3VFTDI JTAG data input pin (B2B-JM1-pin 95)
X_TDO / M_TDOoutA4DOWN3.3VFTDI JTAG data output pin (B2B-JM1-pin 97)
X_TMS / M_TMSinA6DOWN3.3VFTDI JTAG mode select pin (B2B-JM1-pin 93)
X1inF1UPVCCIO34CPLD pin to the FPGA (L16). I2C clock from FPGA
X2 / XIO4inoutC2UP

VCCIO34

CPLD pin to the FPGA (M15). ETH PHY LED0
X3 / XIO5inoutB1UPVCCIO34CPLD pin to the FPGA (N15). ETH PHY LED1
X4 / XIO6inoutD1UPVCCIO34CPLD pin to the FPGA (P16). ETH PHY LED2
X5outJ1NONEVCCIO34CPLD pin to the FPGA (P22). I2C data to FPGA
X6
H1

/ currently_not_used
X7inM1UPVCCIO34CPLD pin to the FPGA (N22). I2C data from FPGA
XCLKoutK1NONEVCCIO34CPLD pin to the FPGA (K19). ETH PHY clock to FPGA
- / SIG1inE13NONE1.8VThis pin is connected with VCCIO34 directly in the schematic REV03 and has no lable in the schematic.

SC B2B Pins

NameB2BModeDefault functionAlternativeDescription
EN1JM1-Pin 28input, weak pull-upPower EnableIOHigh enables the DC-DC converters and on-board supplies. Not used if NOSEQ=1
MODEJM1-Pin 32input, weak pull-upBoot modeSDA or IOForce low for boot from the SD Card. Latched at power on only, not on soft reset!
NOSEQJM1-Pin 7input, weak pull-downPower sequencing ControlOutputForces the 1.0V and 1.8V DC-DC converters always ON when high. Can be used as an I/O after boot.
PGOODJM1-Pin 30output, open drainPower goodSCL or IOForced low until all on-board power supplies are working properly.
Attention: During CPLD programming, this pins is high impedance.
RESINJM2-Pin 18input, weak pull-upReset inputIOActive Low Reset input, default mapping forces POR_B reset to Zynq PS

NOSEQ Pin

This is a dedicated input that forces the module's 1.0V and 1.8V supplies to be enabled if high. This pin has a weak pull-down on the module. If left open the module will power up in normal power sequencing enabled mode. This pin is 3.3V tolerant. This pin is also connected to the System Management Controller. The SC can read the status of this pin (that is it can detect if the module is in power sequencing enabled mode). The SC can also use this pin as output after normal power on sequence. Please check the SC description for the function. SC rev 0.02 maps Ethernet PHY LED0 to NOSEQ by default (the mapping can be changed by software after boot).

No Sequencing mode

If the module is powered from a single 3.3V supply and power sequencing is disabled, then NOSEQ pin should be powered from the main 3.3V input. That is VIN, 3.3Vin and NOSEQ should all be tied together to the input 3.3V power rail. Sequencing mode should not be used if VIN is not 3.3V.

Normal mode

For normal operation leave NOSEQ open or pull down with a resistor.

Normal mode with user function on NOSEQ

NOSEQ can be used as an output after boot. NOSEQ must be low when 3.3V power is applied to the module. Common usage is an LED connected between NOSEQ and GND.

SC Pins to the FPGA

Schematic net nameDefault functionDirectionSC pinFPGA pinDescription
XCLKETH PHY Clock to FPGAto FPGAK1K19
X7I2C Data from FPGAfrom FPGAM1N22SDA from EMIO I2Cx
X5I2C Data to FPGAto FPGAJ1P22SDA to EMIO I2Cx
X4ETH PHY LED2to FPGAD1P16
X3ETH PHY LED1to FPGAB1N15RTC, MEMS Interrupt or PHY LED1
X2ETH PHY LED0to FPGAC2M15
X1I2C Clock from FPGAfrom FPGAF1L16SCL from EMIO I2Cx
PUDCEnables internal pull-up resistors on the IOsto FPGAE3K16normally not used tied to fixed level by SC

Image Added
SC registers

NOSEQ,  LED1 and LED2 functions can be changed from the default behaviour using output port bits CR1[11:8], CR1[3:0] and CR1[7:4].

Value (CR1[3:0])LED1 (Green)Value (CR1[7:4])LED2 (Red)Value (CR1[11:8])NOSEQDescription
0001

PHY_LED0

0001PHY_LED00001PHY_LED0
0010

PHY_LED1

0010PHY_LED10010PHY_LED1
0011

PHY_LED2

0011PHY_LED20011PHY_LED2
0100

MIO7

0100MIO70100MIO7
0101

RTC_INT

0101RTC_INT0101RTC_INT
0110

OFF

0110OFF0110OFF
0111

ON

0111ON0111ON
1000XIO41000XIO51000XIO6
1001Not MIO141001Not MIO151001uio_unidir
1010Not MIO14/Not MIO151010Not MIO14/Not MIO151010Undefined
DefaultMIO7DefaultmodeblinkDefaultPHY_LED0


CR1Description
15:12-
11:8NOSEQ Mux
7:4LED1 Mux
3:0LED2 Mux

The mapping of CPLD IOs that are connected directly with FPGA, can be changed using output port bits CR2[11:0].  

Value (CR2[3:0])XIO4Value (CR2[7:4])XIO5Value (CR2[11:8])XIO6Value (CR2[15:12])XCLKDescription
0001

MIO7

0001

MIO14

0001

MIO15

0001RTC_INT
0010

SHA_IO

0010Undefined0010Undefined0010osc_clk
0011MAC_IO0011RTC_INT0011osc_clk0011Undefined
1000uio_unidir1000uio_unidir1000uio_unidir1000Undefined
0110'Z'0110'Z'0110'Z'0110Undefined
0111UndefinedUndefinedUndefined0111INTR0111Undefined
DefaultPHY_LED0DefaultPHY_LED1DefaultPHY_LED2DefaultCLK_125MHZ


Value (CR2[7:4])MIO14Value (CR2[11:8])MIO15Description
1001XIO5_in1001XIO6_inXIO5_in and XIO6_in is equal to XIO5 and XIO6 if VCCIO34 voltage equal to 1.8V.
else'Z'else'Z'


CR2Description
15:12XCLK Mux
11:8XIO6 Mux
7:4XIO5 Mux
3:0XIO4 Mux

Status register bits mapping:

SR1Description
0

INT1

1INT2
2RTC_INT
3PHY_LED2
7BOOTMODE_LATCHED
8BOOTMODE_IN2
9BOOTMODE_IN
10NOSEQ
11NOSEQ_LATCHED
12WD_EVENT
13PG_1V5
14EXTRA_ENABLED or WDOG_ENABLED
15mac_valid


I2C to GPIO Pin nameCPLD PinDirectionFPGA PinDescription
sda_in (SDA)X7M1from FPGAN22
sda_outX5J1to FPGAP22X5 is sda_in and gpio_sda_out
sclk (SCL)X1F1from FPGAL16
GPIO_input


bit

...

By pulsing this pin any configuration that is currently loaded is cleared and the PL prepared to load new configuration. (Active Low)

...

Selects the enable or disable of pull-ups during configuration on the user I/O pins. (Active Low)  Enables internal pull-up resistors on the

select I/O pins after power-up and during configuration.

...

VCCIO34

...

SC registers

Value (CR1[3:0])LED1 (Green)Value (CR1[7:4])LED2 (Red)Value (CR1[11:8])NOSEQDescription0001

PHY_LED0

0001PHY_LED00001PHY_LED00010

PHY_LED1

0010PHY_LED10010PHY_LED10011

PHY_LED2

0011PHY_LED20011PHY_LED20100

MIO7

0100MIO70100MIO70101

RTC_INT

0101RTC_INT0101RTC_INT0110

OFF

0110OFF0110OFF0111

ON

0111ON0111ON1000XIO41000XIO51000XIO61001Not MIO141001Not MIO151001uio_unidir1010Not MIO14/Not MIO151010Not MIO14/Not MIO151010DefaultMIO7DefaultmodeblinkDefaultPHY_LED0CR1Description15:12-11:8NOSEQ Mux7:4LED1 Mux3:0LED2 MuxValue (CR2[3:0])XIO4Value (CR2[7:4])XIO5Value (CR2[11:8])XIO6Value (CR2[15:12])XCLKDescription0001

MIO7

0001

MIO14_in

0001

MIO15_in

0001RTC_INT0010

SHA_IO_in

0010-0010-0010osc_clk0011MAC_IO_in0011RTC_INT0011osc_clk0011-1000uio_unidir1000uio_unidir1000uio_unidir1000-0110'Z'0110'Z'0110'Z'0110-0111---0111INTR0111-DefaultPHY_LED0DefaultPHY_LED1DefaultPHY_LED2DefaultCLK_125MHZCR2Description15:12XCLK Mux11:8XIO6 Mux7:4XIO5 Mux3:0XIO4 MuxSR1Description0

INT1

1INT22RTC_INT3PHY_LED27BOOTMODE_LATCHED8BOOTMODE_IN29BOOTMODE_IN10NOSEQ11NOSEQ_LATCHED12WD_EVENT13PG_1V514EXTRA_ENABLED or WDOG_ENABLED15mac_validGPIO_input
Description
0

PHY_LED0

1PHY_LED1
2MIO7
3NOSEQ
4RESIN_g
5EN1_g
6BOOTMODE_LATCHED
7BOOTMODE_IN
8INT1
9INT2
10RTC_INT
11PHY_LED2
12'0'
13'0'


GPIO_outputNot used



AddrR/WRegister nameDescripion
0RO

1RO

2ROID1Identifier Register 1
3ROID2Identifier Register 2
4ROID3Identifier Register 3
5RWCR1Control Register 1: LED's
6RWCR2Control Register 2; XIO Control
7RWCR3Control Register 3; Reset, Interrupt
8ROSR1Status Register
9ROMAChiHighest bytes of primary MAC Address
0xAROMACmiMiddle bytes of primary MAC Address
0xBROMACloLowest bytes of primary MAC Address
0xCCR4
reserved do not use
0xDRWMMD_CRMMD Control Register
0xERWMMD_ADMMD Address/Data
0xF-
reserved do no use
other-
reserved do not use

...

Value (uio_sm_cnt[8:5])uio_io_dataDescription
0000

MIO7


0001RTC_INT
0010INT1
0100INT2
0011PHY_LED0
0100PHY_LED1
0101PHY_LED2
0110BOOTMODE_IN
0111MIO14_in
1000MIO15_in
1001XIO4_in
1010XIO5_in
1011XIO6_in
1100WD_HIT
1101'0'
1110'0'


Value (uio_sm_cnt[2:1])uio_unidirDescription
01'0'
10

uio_io_data / uio_id_data

If uio_sm_cnt(4) Lown Low --→  uio_id_data


LED1ConditionDescription
WD_counter(7)WDOG_ENABLED = '1'
'1

ONPOR_B_i = '0'POR_B_i
=
is '0' if one of the following signals is '0' --->   EN1 or RESIN or PG_ALL or PORDONE
led1outelse


LED2ConditionDescription
powerblinkEN1_g = '0'
'1'
EN1_g is delayed EN1.
ONPOR_B_i = '0'
led2outelse


Functional Description

JTAG

...