Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Custom_table_size_100 |
---|
Page properties | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Design Name always "TE Series Name" + optional CPLD Name + "CPLD"
|
Overview
Scroll Ignore | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
CPLD Device with designator U46: 10M08SAU169
Feature Summary
- something to have access to CPLD to read out status of Power management
- Power management
- Reset
Firmware Revision and supported PCB Revision
See Document Change History
Product Specification
Scroll Ignore | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Port Description
Name / opt. VHD Name | Direction | Pin | Pullup/Down | Bank Power | Description |
---|---|---|---|---|---|
JTAGEN | in | E5 | -- | 3.3V | fixed to 3.3V |
TCK_MAX10 | in | G2 | -- | 3.3V | JTAG |
TMS_MAX10 | in | G1 | -- | 3.3V | JTAG |
TDO_MAX10 | out | F6 | -- | 3.3V | JTAG |
TDI_MAX10 | in | F5 | -- | 3.3V | JTAG |
EN_VTT_PL_DDR | out | J2 | 3.3V LVCMOS |
| |
EN_2V5_PL_DDR | out | J1 | 3.3V LVCMOS |
| |
EN_1V2_PL_DDR | out | H4 | 3.3V LVCMOS |
| |
PG_1V2_PL_DDR | in | H5 | 3.3V LVCMOS |
| |
EN_1V8_PS_AUX | out | M2 | 3.3V LVCMOS |
| |
PG_SOM | out | M1 | 3.3V LVCMOS |
| |
PG_VCCINT | in | N3 | 3.3V LVCMOS |
| |
LTM_FAULT | in | N2 | 3.3V LVCMOS |
| |
SC_EXT_2 | out | L3 | 3.3V LVCMOS |
| |
M_SDA | inout | M3 | 3.3V LVCMOS |
| |
MR | out | K2 | 3.3V LVCMOS |
| |
EN_SOM | in | K1 | 3.3V LVCMOS |
| |
SC_EXT_3 | in | L2 | 3.3V LVCMOS |
| |
SMB_ALERTn | in | L4 | 3.3V LVCMOS |
| |
PG_2V5_PL_DDR | in | L5 | 3.3V LVCMOS |
| |
EN_LTM_RUNP | out | M5 | 3.3V LVCMOS |
| |
M_SCL | inout | M4 | 3.3V LVCMOS |
| |
nRST_SYS | out | K5 | 3.3V LVCMOS |
| |
EN_0V9_GTH_AVCC | out | N5 | 3.3V LVCMOS |
| |
EN_0V9_GTY_AVCC | out | N4 | 3.3V LVCMOS |
| |
PG_1V2_PS_DDR | in | M7 | 3.3V LVCMOS |
| |
PG_0V9_GTH_AVCC | in | N6 | 3.3V LVCMOS |
| |
PG_0V9_GTY_AVCC | in | N8 | 3.3V LVCMOS |
| |
EN_3V3_SW | out | N7 | 3.3V LVCMOS |
| |
EN_1V2_PS_PLL | out | J6 | 3.3V LVCMOS |
| |
PG_1V8_PS_GTR_AVTT | in | M9 | 3.3V LVCMOS |
| |
PG_1V8 | in | M8 | 3.3V LVCMOS |
| |
EN_2V5_PS_DDR | out | M13 | 3.3V LVCMOS |
| |
PG_1V2_GTY_AVTT | in | N9 | 3.3V LVCMOS |
| |
EN_1V2_GTY_AVTT | out | N10 | 3.3V LVCMOS |
| |
M_INT | L11 | 3.3V LVCMOS | |||
EN_1V8_VCC_ADC | out | M11 | 3.3V LVCMOS |
| |
PG_0V85_PS_GTR_AVCC | in | K8 | 3.3V LVCMOS |
| |
EN_VTT_PS_DDR | out | J8 | 3.3V LVCMOS |
| |
EN_1V8 | out | L10 | 3.3V LVCMOS |
| |
EN_1V8_GTY_AUX | out | M10 | 3.3V LVCMOS |
| |
PG_2V3 | in | N12 | 3.3V LVCMOS |
| |
| |||||
EN_1V8_GTR_AVTT_PS | out | K10 | 3.3V LVCMOS |
| |
EN_1V8_GTH_AUX | out | K11 | 3.3V LVCMOS |
| |
EN_1V8_AUX | out | K12 | 3.3V LVCMOS |
| |
EN_1V2_GTH_AVTT | out | J12 | 3.3V LVCMOS |
| |
PG_3V3_SW | in | J9 | 3.3V LVCMOS |
| |
EN_1V2_PS_DDR | out | J13 | 3.3V LVCMOS |
| |
EN_0V85_GTR_AVCC_PS | out | H13 | 3.3V LVCMOS |
| |
PG_1V2_GTH_AVTT | in | H9 | 3.3V LVCMOS |
| |
EN_VCCINT | out | H8 | 3.3V LVCMOS |
| |
EN_2V3 | out | G13 | 3.3V LVCMOS |
| |
PG_1V8_AUX | in | G12 | 3.3V LVCMOS |
| |
PG_2V5_PS_DDR | in | L13 | 3.3V LVCMOS |
|
Functional Description
Power
All power regulators are controlled by the power sequencer core. It enables and discharges the power regulators and monitors the power good signals.
The power-up sequence corresponds to AMD's recommendations and is shown in the table below:
Power Group | Power enable | Power good | Notes |
---|---|---|---|
0 | EN_VCCINT | PG_VCCINT | -- |
EN_2V3 | PG_2V3 | -- | |
EN_3V3_SW | PG_3V3_SW | +3.3V_SW output signal from U52 | |
1 | EN_1V8 | PG_1V8 | -- |
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 | -- | -- | |
2 | PG_SOM | EN_SOM | enable and power good signal coming from carrier board |
EN_1V2_PS_DDR | PG_1V2_PS_DDR | -- | |
EN_1V2_PL_DDR | PG_1V2_PL_DDR | -- | |
EN_1V2_GTH_AVTT | PG_1V2_GTH_AVTT | -- | |
EN_1V2_GTY_AVTT | PG_1V2_GTY_AVTT | -- | |
3
| EN_VTT_PS_DDR | -- | -- |
EN_0V85_PS_GTR_AVCC | PG_0V85_PS_GTR_AVCC | -- | |
EN_VTT_PL_DDR | -- | -- | |
EN_2V5_PL_DDR | PG_2V5_PL_DDR | -- | |
EN_2V5_PS_DDR | PG_2V5_PS_DDR | -- | |
EN_1V8_GTH_AUX | -- | -- | |
EN_1V8_GTY_AUX | -- | -- | |
4 | EN_1V8_PS_GTR_AVTT | PG_1V8_PS_GTR_AVTT | -- |
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.
This can be used via The command "nios2-terminal.exe" in the NIOS II command shell shell is used to output the power good signals and the revision of the CPLD firmware and the PCB.
see also https://www.intel.com/content/www/us/en/docs/programmable/683130/21-4/jtag-uart-core.html
I2C interface
CPLD firmware consists of an I2C Slave to Avalon-MM Master Bridge Intel FPGA IP 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.
Register | Direction in CPLD | Address |
---|---|---|
GPIO_input[7:0] | Output (reading from CPLD) | 0x00 |
GPIO_input[15:8] | Output (reading from CPLD) | 0x01 |
GPIO_input[23:16] | Output (reading from CPLD) | 0x02 |
GPIO_input[31:24] | Output (reading from CPLD) | 0x03 |
GPIO_output[7:0] | Input (writing to CPLD) | 0x00 |
GPIO_output[15:8] | Input (writing to CPLD) | 0x01 |
GPIO_output[23:16] | Input (writing to CPLD) | 0x02 |
GPIO_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 output | Condition | Command 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 input | Description | Command in linux console |
Reading state of NOSEQ pin | GPIO_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:
Register Address | Direction in CPLD | Related instruction in linux console to access the register |
---|---|---|
0x00 | Output (reading from CPLD) | i2cget -y 1 0x20 0x00 |
0x01 | Output (reading from CPLD) | i2cget -y 1 0x20 0x01 |
0x0C | Input (writing to CPLD) | i2cset -y 1 0x20 0x00 <data> |
GPIO_output[15:8] | Input (writing to CPLD) | i2cset -y 1 0x20 0x01 <data> |
GPIO_output[23:16] | Input (writing to CPLD) | i2cset -y 1 0x20 0x02 <data> |
GPIO_output[31:24] | Input (writing to CPLD) | 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.
Register | Address | related data | Read/write by user | Description |
---|---|---|---|---|
GPIO_input[7:0] | 0x00 | CPLD REVISION (8 bits) | No | |
GPIO_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] | 0x02 | NOSEQ pin | Yes | |
Register | Address | related data | Description | |
GPIO_output[16] | 0x02 | NOSEQ pin | Yes |
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:
Information | Displayed in Linux console | Description |
---|---|---|
CPLD Revision | CPLD_REV = <cpld revision> | |
Boot mode selection procedure | CPLD_BM = < bm selection procedure> |
|
Jed file that on CPLD is programmed | BOOTMODE_GEN = < jed file type> |
|
PUDC pin state | PUDC_MODE = <pudc state> |
|
Boot mode | BOOT_MODE = <boot mode> |
|
The CPLD revision, boot mode and other informations will be displayed while booting as shown:
Scroll Title | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
Appx. A: Change History
For PCB REV01 and REV02 Documentation available on: TE0820-REV01_REV02 CPLD
Revision Changes
- REV02 to REV03
- changed top design from block design to text 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 | ||||
---|---|---|---|---|
| ||||
|
Date | Document Revision | CPLD Firmware Revision | Supported PCB Revision | Authors | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| REV05REV03REV04,REV05 | REV02 |
| |||||||||||||||||||||||||
All |
|
Appx. B: Legal Notices
Include Page | ||||
---|---|---|---|---|
|
Scroll Only | ||
---|---|---|
|
Scroll pdf ignore | ||||||
---|---|---|---|---|---|---|
|