{
	"License" : "Copyright (c) 2024 - 2025 Advanced Micro Devices, Inc.  All rights reserved. SPDX-License-Identifier: MIT",

	"VEK385": {
		"FEATURE": {
			"List" : ["eeprom", "bootmode", "clock", "temp", "gpio", "FMC", "BIT"]
		},
		"BOOTMODES": {
			"Mode_Lines": ["SYSCTLR_VERSAL_MODE0", "SYSCTLR_VERSAL_MODE1",
				"SYSCTLR_VERSAL_MODE2", "SYSCTLR_VERSAL_MODE3"],
			"Modes": {
				"JTAG": "0x0",
				"OSPI": "0x8",
				"UFS": "0xb"
			}
		},
		"CLOCK": {
			"SiT95211_CLK": {
				"Name": "SiT95211_CLK",
				"Type": "SIT95211",
				"Vendor_Managed": 1,
				"Default_Design": "VEK385_SiT95211",
				"I2C_Bus": "/dev/i2c-7",
				"I2C_Address": "0x69",
				"FPGA_Counter_Reg": ["0xB0030000", "0x0", "0x0", "0x0", "0x0", "0x0", "0x0", "0x0", "0x0", "0xB0080000", "0x0", "0x0"]
			},
			"SiT95314_CLK": {
				"Name": "SiT95314_CLK",
				"Type": "SIT95314",
				"Vendor_Managed": 1,
				"Default_Design": "VEK385_SiT95314",
				"I2C_Bus": "/dev/i2c-8",
				"I2C_Address": "0x69",
				"FPGA_Counter_Reg": ["0x0", "0x0", "0xB0090000", "0x0"]
			}
		},
		"VOLTAGE": {
			"VCC_USB2_504": {
				"Name": "VCC_USB2_504",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-11",
				"I2C_Address": "0x4",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCIO_USB2_504": {
				"Name": "VCCIO_USB2_504",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 3.3,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-11",
				"I2C_Address": "0x7",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCO_50X": {
				"Name": "VCCO_50X",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x1A",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"GTYP_AVCCAUX": {
				"Name": "GTYP_AVCCAUX",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.5,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x1C",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"GTYP_AVTT": {
				"Name": "GTYP_AVTT",
				"Part_Name": "MPQ2285",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.2,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x1D",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCC_SOC_IO": {
				"Name": "VCC_SOC_IO",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x22",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCO_7XX_LP5": {
				"Name": "VCCO_7XX_LP5",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.0,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x22",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 1
			},
			"VCC_MMD": {
				"Name": "VCC_MMD",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x22",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 2
			},
			"VCCINT": {
				"Name": "VCCINT",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x23",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCC_FPD": {
				"Name": "VCC_FPD",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.88,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x23",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 1
			},
			"VCC_LPD": {
				"Name": "VCC_LPD",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.88,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x23",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 2
			},
			"VCC_AIE": {
				"Name": "VCC_AIE",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x24",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"GTYP_AVCC": {
				"Name": "GTYP_AVCC",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.92,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x24",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 1
			},
			"VCC_RAM": {
				"Name": "VCC_RAM",
				"Part_Name": "MPQ72963",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-3",
				"I2C_Address": "0x24",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 2
			},
			"VCCAUX": {
				"Name": "VCCAUX",
				"Part_Name": "MPQ2285",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.5,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x1",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VADJ_FMC": {
				"Name": "VADJ_FMC",
				"Part_Name": "MPQ2285",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.2,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x2",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"LP5_VDDH_1V05": {
				"Name": "LP5_VDDH_1V05",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.05,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x3",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"LP5_VDDQ_0V5": {
				"Name": "LP5_VDDQ_0V5",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.5,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x4",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCC_MIPI_507": {
				"Name": "VCC_MIPI_507",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x1E",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCIO_MIPI_507": {
				"Name": "VCCIO_MIPI_507",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.2,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x1F",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCC_PAUX_504": {
				"Name": "VCC_PAUX_504",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x13",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCC_USB3_504": {
				"Name": "VCC_USB3_504",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 0.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x14",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCREG_USB2_504": {
				"Name": "VCCREG_USB2_504",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 3.3,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x16",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCIO_PAUX_504": {
				"Name": "VCCIO_PAUX_504",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.8,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x17",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCIO_USB3_504": {
				"Name": "VCCIO_USB3_504",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.2,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x18",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCAUX_LPD": {
				"Name": "VCCAUX_LPD",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 1.5,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x19",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			},
			"VCCO_40X": {
				"Name": "VCCO_40X",
				"Part_Name": "MPQ2283",
				"Maximum_Volt": -1,
				"Typical_Volt": 3.3,
				"Minimum_Volt": -1,
				"I2C_Bus": "/dev/i2c-4",
				"I2C_Address": "0x1B",
				"PMBus_VOUT_MODE": 1,
				"Page_Select": 0
			}
		},
		"Temperature": {
			"Name": "Versal-AIEPG2",
			"Sensor": "versal-isa-0000"
		},
		"GPIO_Group": {
			"SW1": {
				"Name": "SW1",
				"Type": "RW",
				"GPIO_Lines": ["SYSCTLR_VERSAL_MODE3", "SYSCTLR_VERSAL_MODE2",
						"SYSCTLR_VERSAL_MODE1", "SYSCTLR_VERSAL_MODE0"]
			},
			"SW1 Readback": {
				"Name": "SW1 Readback",
				"Type": "RO",
				"GPIO_Lines": ["SYSCTLR_VERSAL_MODE3_READBACK",
						"SYSCTLR_VERSAL_MODE2_READBACK",
						"SYSCTLR_VERSAL_MODE1_READBACK",
						"SYSCTLR_VERSAL_MODE0_READBACK"]
			},
			"SW3": {
				"Name": "SW3",
				"Type": "RW",
				"GPIO_Lines": ["SYSCTLR_JTAG_S1", "SYSCTLR_JTAG_S0"]
			}
		},
		"GPIO": {
			"VMON1_SLP": "VMON1_SLP",
			"VMON2_SLP": "VMON2_SLP",
			"VMON3_SLP": "VMON3_SLP",
			"PCIE_RP_i2C_ALERT_B": "PCIE_RP_i2C_ALERT_B",
			"PCIE_RP_CLKREQ_B": "PCIE_RP_CLKREQ_B",
			"PCIE_RP_PEWAKE_B": "PCIE_RP_PEWAKE_B",
			"FMCP1_FMC_PRSNT_M2C_B": "FMCP1_FMC_PRSNT_M2C_B",
			"FMCP1_FMCP_PRSNT_M2C_B": "FMCP1_FMCP_PRSNT_M2C_B",
			"PMBUS4_INA_ALERT": "PMBUS4_INA_ALERT",
			"PMBUS3_INA_ALERT": "PMBUS3_INA_ALERT",
			"PMBUS2_INA_ALERT": "PMBUS2_INA_ALERT",
			"PMBUS1_INA_ALERT": "PMBUS1_INA_ALERT",
			"PMBUS1_NIRQ": "PMBUS1_NIRQ",
			"PMBUS1_ALERT": "PMBUS1_ALERT",
			"QSFP1_MODSELL": "QSFP1_MODSELL",
			"QSFP1_RESETL": "QSFP1_RESETL",
			"QSFP1_MODPRSL": "QSFP1_MODPRSL",
			"QSFP1_INTL": "QSFP1_INTL",
			"QSFP1_LPMODE": "QSFP1_LPMODE",
			"SFP_TX_FAULT": "SFP_TX_FAULT",
			"SFP_RX_LOS": "SFP_RX_LOS",
			"SFP_MOD_ABS": "SFP_MOD_ABS",
			"SFP_TX_DISABLE": "SFP_TX_DISABLE",
			"SFP_RS0_R": "SFP_RS0_R",
			"SFP_RS1_R": "SFP_RS1_R",
			"SYSCTLR_JTAG_S1": "SYSCTRL_MIO27_JTAG_S1",
			"SYSCTLR_JTAG_S0": "SYSCTRL_MIO26_JTAG_S0",
			"SYSCTLR_VERSAL_MODE3": "SYSCTRL_MIO41_DUT_MODE3",
			"SYSCTLR_VERSAL_MODE2": "SYSCTRL_MIO40_DUT_MODE2",
			"SYSCTLR_VERSAL_MODE1": "SYSCTRL_MIO39_DUT_MODE1",
			"SYSCTLR_VERSAL_MODE0": "SYSCTRL_MIO38_DUT_MODE0",
			"SYSCTLR_VERSAL_MODE3_READBACK_RO": "SYSCTRL_MIO45_MODE3_Rdbk",
			"SYSCTLR_VERSAL_MODE2_READBACK_RO": "SYSCTRL_MIO44_MODE2_Rdbk",
			"SYSCTLR_VERSAL_MODE1_READBACK_RO": "SYSCTRL_MIO43_MODE1_Rdbk",
			"SYSCTLR_VERSAL_MODE0_READBACK_RO": "SYSCTRL_MIO42_MODE0_Rdbk",
			"SYSCTLR_POR_B_LS": "SYSCTRL_MIO30_DUT_POR",
			"SYSCTLR_VERSAL_POR_B_READBACK_RO": "SYSCTRL_MIO46_DUT_POR_Rd",
			"VERSAL_ERROR_OUT_LS_RO": "SYSCTRL_MIO28_DUT_ERR_Rd",
			"VERSAL_DONE_RO": "SYSCTRL_MIO29_DUT_DONE"
		},
		"FMCs": {
			"FMC": {
				"Name": "FMC",
				"I2C_Bus": "/dev/i2c-0",
				"I2C_Address": "0x50",
				"Presence_Labels": ["FMCP1_FMC_PRSNT_M2C_B", "FMCP1_FMCP_PRSNT_M2C_B"],
				"Supported_Volts": [1.2],
				"Voltage_Regulator": "VADJ_FMC",
				"Default_Volt": 1.2,
				"Access_Label": "I2C0_SW_SEL",
				"Access_Level": 0
			}
		},
		"Boot Config": {
			"PDI": "system_wrapper.pdi",
			"ImageID": "0x18700000",
			"UniqueID_Rev0": "0xf4319796"
		},
		"BITs": {
			"BIT_CLOCKS_OUTPUT_TEST" : {
				"Name" : "Clocks Output Test",
				"Description" : "This test verifies the clock output frequencies by measuring the clocks at the Versal with clock counters. The test will fail in case the clock settings are different than default values.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x01"
					}
				}
			},
			"BIT_RTC_CLOCK_VERIFY" : {
				"Name" : "RTC Clock Verify",
				"Description" : "This non-destructive test verifies real time clock (RTC) by checking the time increment. The possible reason of failures might be because of oscillator, etc.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x02"
					}
				}
			},
			"BIT_DDRMC_1_CAL_TEST" : {
				"Name" : "DDRMC_1 Cal Test",
				"Description" : "This test verifies Versal DDR memory controller 1 successfully completed calibration.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "DDRMC_1_Test"
					}
				}
			},
			"BIT_DDRMC_2_CAL_TEST" : {
				"Name" : "DDRMC_2 Cal Test",
				"Description" : "This test verifies Versal DDR memory controller 2 successfully completed calibration.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "DDRMC_2_Test"
					}
				}
			},
			"BIT_DDRMC_3_CAL_TEST" : {
				"Name" : "DDRMC_3 Cal Test",
				"Description" : "This test verifies Versal DDR memory controller 3 successfully completed calibration.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "DDRMC_3_Test"
					}
				}
			},
			"BIT_DDRMC_4_CAL_TEST" : {
				"Name" : "DDRMC_4 Cal Test",
				"Description" : "This test verifies Versal DDR memory controller 4 successfully completed calibration.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "DDRMC_4_Test"
					}
				}
			},
			"BIT_DDRMC_5_CAL_TEST" : {
				"Name" : "DDRMC_5 Cal Test",
				"Description" : "This test verifies Versal DDR memory controller 5 successfully completed calibration.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "DDRMC_5_Test"
					}
				}
			},
			"BIT_OSPI_TEST" : {
				"Name" : "OSPI Test",
				"Description" : "This test verifies OSPI Flash read/write (non-destructive). The test operation consists of save first sector (4K byte) data, erase, write random data, read, compare and restore the original data. Warning!! This might corrupt OSPI memory in case the test fails.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x10"
					}
				}
			},
			"BIT_LEDS_TEST" : {
				"Name" : "LEDs Test",
				"Description" : "This test verifies board LEDs (DS4-DS7). Look at the image displayed to locate LEDs on the board. The test takes about 30 secs. Notice the LEDs blinking.",
				"Manual" : 1,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "Display_Instruction",
						"Instruction" : "\n1- Look for LEDs (DS4-DS7) on the board.\n2- Click 'OK' when you are ready.\n3- Image location=1972,909, size=63,32.\n"
					},
					"Level 1" : {
						"Plat_BIT_Op" : "Display_Instruction",
						"Instruction" : "\n1- Observe LED1 to LED4 blinking, then turn on/off in sequence.\n2- Click 'OK' when done.\n3- Image location=1972,909, size=63,32.\n"
					},
					"Level 2" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x40",
						"Instruction" : "\n1- Did you see the LEDs sequencing and blinking?\n2- Click 'Pass' if you observe it.\n3- Image location=1972,909, size=63,32.\n"
					}
				}
			},
			"BIT_BUTTONS_TEST" : {
				"Name" : "Buttons Test",
				"Description" : "This test verifies push buttons (SW6, SW7). See the buttons on the board as displayed on the image to locate buttons. The test waits for about 60 secs to press buttons. The test fails if the buttons are not pressed in the order within the time limit.",
				"Manual" : 1,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "Display_Instruction",
						"Instruction" : "\n1- Look for Push Buttons SW6 and SW7 on the board \n2- Click 'OK' when you are ready.\n3- Image location=1940,1169, size=77,60.\n4- Image location=1616,1728, size=58,81.\n"
					},
					"Level 1" : {
						"Plat_BIT_Op" : "Display_Instruction",
						"Instruction" : "\n1- Press Push Buttons SW7 followed by SW6 and then any button\n2- Click 'OK' when done.\n3- Image location=1940,1169, size=77,60.\n4- Image location=1616,1728, size=58,81.\n"
					},
					"Level 2" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x80",
						"Instruction" : "\n1- Click 'OK'.\n"
					}
				}
			},
			"BIT_DIP_SWITCHES_TEST" : {
				"Name" : "DIP Switches Test",
				"Description" : "This test verifies DIP switches (SW5). Look at the image displayed and locate the DIP switches on the board. The test waits for about 60 secs to toggle DIP switches. The test fails if the DIP switches are not toggled in the order within the time limit.",
				"Manual" : 1,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "Display_Instruction",
						"Instruction" : "\n1- Look for DIP switches SW5 on the board\n2- Click 'OK' when you are ready.\n3- Image location=2047,1510, size=99,113.\n"
					},
					"Level 1" : {
						"Plat_BIT_Op" : "Display_Instruction",
						"Instruction" : "\n1- Turn On and Turn Off DIP Switches SW5 \n2- Click 'OK' done.\n3- Image location=2047,1510, size=99,113.\n"
					},
					"Level 2" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x100",
						"Instruction" : "\n1- Click 'OK'.\n"
					}
				}
			}
		}
	}
}
