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

	"VEK280" : {
		"FEATURE" : {
			"List" : ["eeprom", "bootmode", "clock", "voltage", "temp", "power",
				"powerdomain", "BIT", "gpio", "ioexp", "SFP", "FMC"]
		},
		"BOOTMODES" : {
			"Mode_Lines" : ["SYSCTLR_VERSAL_MODE0", "SYSCTLR_VERSAL_MODE1",
				"SYSCTLR_VERSAL_MODE2", "SYSCTLR_VERSAL_MODE3"],
			"Modes" : {
				"JTAG" : "0x0",
				"OSPI" : "0x8",
				"SD" : "0xe"
			}
		},
		"JTAGSELECTS" : {
			"Select_Lines" : ["SYSCTLR_JTAG_S0", "SYSCTLR_JTAG_S1"],
			"Selects" : {
				"SC" : "0x0",
				"FTDI" : "0x1",
				"EXT" : "0x2"
			}
		},
		"CLOCK" : {
			"SYS_CLK_0" : {
				"Name" : "SYS_CLK_0/1/2",
				"Type" : "RC21008A",
				"Sysfs_Path" : "/sys/devices/platform/sys_clk_0/set_rate",
				"Default_Freq" : 200.0,
				"Upper_Freq" : 300.0,
				"Lower_Freq" : 150.0,
				"I2C_Bus" : "/dev/i2c-9",
				"I2C_Address" : "0x9"
			},
			"GTCLK1_OUT6" : {
				"Name" : "GTCLK1_OUT6/7",
				"Type" : "RC21008A",
				"Sysfs_Path" : "/sys/devices/platform/gtclk1_out6/set_rate",
				"Default_Freq" : 100.0,
				"Upper_Freq" : 600.0,
				"Lower_Freq" : 50.0,
				"I2C_Bus" : "/dev/i2c-9",
				"I2C_Address" : "0x9",
				"FPGA_Counter_Reg" : "0xA4090000"
			},
			"GTCLK1_OUT8" : {
				"Name" : "GTCLK1_OUT8",
				"Type" : "RC21008A",
				"Sysfs_Path" : "/sys/devices/platform/gtclk1_out8/set_rate",
				"Default_Freq" : 156.25,
				"Upper_Freq" : 600.0,
				"Lower_Freq" : 50.0,
				"I2C_Bus" : "/dev/i2c-9",
				"I2C_Address" : "0x9",
				"FPGA_Counter_Reg" : "0xA40B0000"
			},
			"PS_REF_CLK" : {
				"Name" : "PS_REF_CLK",
				"Type" : "RC21008A",
				"Sysfs_Path" : "/sys/devices/platform/ps_ref_clk/set_rate",
				"Default_Freq" : 33.333,
				"Upper_Freq" : -1,
				"Lower_Freq" : -1,
				"I2C_Bus" : "/dev/i2c-9",
				"I2C_Address" : "0x9"
			},
			"GTCLK1_OUT11" : {
				"Name" : "GTCLK1_OUT11",
				"Type" : "RC21008A",
				"Sysfs_Path" : "/sys/devices/platform/gtclk1_out11/set_rate",
				"Default_Freq" : 25.0,
				"Upper_Freq" : 30.0,
				"Lower_Freq" : 20.0,
				"I2C_Bus" : "/dev/i2c-9",
				"I2C_Address" : "0x9"
			}
		},
		"INA226" : {
			"INA226_VCCINT" : {
				"Name" : "VCCINT",
				"I2C_Bus" : "/dev/i2c-5",
				"I2C_Address" : "0x40",
				"Shunt_Resistor" : 500,
				"Maximum_Current" : 32000,
				"Phase_Multiplier" : 5
			},
			"INA226_VCC_SOC" : {
				"Name" : "VCC_SOC",
				"I2C_Bus" : "/dev/i2c-5",
				"I2C_Address" : "0x41",
				"Shunt_Resistor" : 500,
				"Maximum_Current" : 25000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCC_PMC" : {
				"Name" : "VCC_PMC",
				"I2C_Bus" : "/dev/i2c-5",
				"I2C_Address" : "0x42",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 1000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCC_RAM_VCCINT_GT" : {
				"Name" : "VCC_RAM_VCCINT_GT",
				"I2C_Bus" : "/dev/i2c-5",
				"I2C_Address" : "0x43",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 2000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCC_PSLP_CPM5" : {
				"Name" : "VCC_PSLP_CPM5",
				"I2C_Bus" : "/dev/i2c-5",
				"I2C_Address" : "0x44",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 6000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCC_PSFP" : {
				"Name" : "VCC_PSFP",
				"I2C_Bus" : "/dev/i2c-5",
				"I2C_Address" : "0x45",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 4000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCCO_HDIO_3V3" : {
				"Name" : "VCCO_HDIO_3V3",
				"I2C_Bus" : "/dev/i2c-5",
				"I2C_Address" : "0x46",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 2000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCCAUX" : {
				"Name" : "VCCAUX",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x40",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 4000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCCAUX_PMC" : {
				"Name" : "VCCAUX_PMC",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x41",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 1000,
				"Phase_Multiplier" : 1
			},
			"INA226_MGTAVCC" : {
				"Name" : "MGTAVCC",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x42",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 4000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCC1V5" : {
				"Name" : "VCC1V5",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x43",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 2000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCCO_MIO" : {
				"Name" : "VCCO_MIO",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x45",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 2000,
				"Phase_Multiplier" : 1
			},
			"INA226_MGTAVTT" : {
				"Name" : "MGTAVTT",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x46",
				"Shunt_Resistor" : 500,
				"Maximum_Current" : 6000,
				"Phase_Multiplier" : 1
			},
			"INA226_VCCO_502" : {
				"Name" : "VCCO_502",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x47",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 1000,
				"Phase_Multiplier" : 1
			},
			"INA226_MGTVCCAUX" : {
				"Name" : "MGTVCCAUX",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x48",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 500,
				"Phase_Multiplier" : 1
			},
			"INA226_VCC1V1_LP4" : {
				"Name" : "VCC1V1_LP4",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x49",
				"Shunt_Resistor" : 500,
				"Maximum_Current" : 6000,
				"Phase_Multiplier" : 1
			},
			"INA226_VADJ_FMC" : {
				"Name" : "VADJ_FMC",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x4A",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 6000,
				"Phase_Multiplier" : 1
			},
			"INA226_LPDMGTYAVCC" : {
				"Name" : "LPDMGTYAVCC",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x4B",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 4000,
				"Phase_Multiplier" : 1
			},
			"INA226_LPDMGTYAVTT" : {
				"Name" : "LPDMGTYAVTT",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x4C",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 6000,
				"Phase_Multiplier" : 1
			},
			"INA226_LPDMGTYVCCAUX" : {
				"Name" : "LPDMGTYVCCAUX",
				"I2C_Bus" : "/dev/i2c-7",
				"I2C_Address" : "0x4D",
				"Shunt_Resistor" : 5000,
				"Maximum_Current" : 500,
				"Phase_Multiplier" : 1
			}
		},
		"POWER DOMAIN" : {
			"PD_FPD" : {
				"Name" : "FPD",
				"Rails" : ["INA226_VCC_PSFP"]
			},
			"PD_LPD" : {
				"Name" : "LPD",
				"Rails" : ["INA226_VCCO_502", "INA226_VCC_PSLP_CPM5"]
			},
			"PD_PLD" : {
				"Name" : "PLD",
				"Rails" : ["INA226_VCCINT",
					"INA226_VCC_RAM_VCCINT_GT",
					"INA226_VCC1V5",
					"INA226_VCCO_HDIO_3V3",
					"INA226_VCC1V1_LP4"]
			},
			"PD_PMC" : {
				"Name" : "PMC",
				"Rails" : ["INA226_VCC_PMC", "INA226_VCCO_MIO", "INA226_VCCAUX_PMC"]
			},
			"PD_GTM" : {
				"Name" : "GTM",
				"Rails" : ["INA226_MGTAVCC", "INA226_MGTAVTT", "INA226_MGTVCCAUX"]
			},
			"PD_GTY" : {
				"Name" : "GTY",
				"Rails" : ["INA226_LPDMGTYAVCC",
					"INA226_LPDMGTYAVTT",
					"INA226_LPDMGTYVCCAUX"]
			},
			"PD_FMC" : {
				"Name" : "FMC",
				"Rails" : ["INA226_VADJ_FMC"]
			},
			"PD_SYSTEM" : {
				"Name" : "system",
				"Rails" : ["INA226_VCC_SOC", "INA226_VCCAUX"]
			}
		},
		"VOLTAGE" : {
			"VOLTAGE_VCCINT" : {
				"Name" : "VCCINT",
				"Part_Name" : "IR35215",
				"Maximum_Volt" : 0.83,
				"Typical_Volt" : 0.8,
				"Minimum_Volt" : 0.78,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x46",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 0
			},
			"VOLTAGE_VCC_SOC" : {
				"Name" : "VCC_SOC",
				"Part_Name" : "IR35215",
				"Maximum_Volt" : 0.83,
				"Typical_Volt" : 0.8,
				"Minimum_Volt" : 0.78,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x46",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 1
			},
			"VOLTAGE_VCC_PMC" : {
				"Name" : "VCC_PMC",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 0.91,
				"Typical_Volt" : 0.88,
				"Minimum_Volt" : 0.85,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x47",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 0
			},
			"VOLTAGE_UTIL_2V5" : {
				"Name" : "UTIL_2V5",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 2.58,
				"Typical_Volt" : 2.5,
				"Minimum_Volt" : 2.43,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x47",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 1
			},
			"VOLTAGE_VCC_RAM_VCCINT_GT" : {
				"Name" : "VCC_RAM_VCCINT_GT",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 0.91,
				"Typical_Volt" : 0.88,
				"Minimum_Volt" : 0.77,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x47",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 2
			},
			"VOLTAGE_MGTAVCC" : {
				"Name" : "MGTAVCC",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 0.95,
				"Typical_Volt" : 0.92,
				"Minimum_Volt" : 0.89,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x47",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 3
			},
			"VOLTAGE_VCC1V1_LP4" : {
				"Name" : "VCC1V1_LP4",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 1.14,
				"Typical_Volt" : 1.1,
				"Minimum_Volt" : 1.0,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x48",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 0
			},
			"VOLTAGE_VCC1V5" : {
				"Name" : "VCC1V5",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 1.55,
				"Typical_Volt" : 1.5,
				"Minimum_Volt" : 1.45,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x48",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 1
			},
			"VOLTAGE_LPDMGTYAVCC" : {
				"Name" : "LPDMGTYAVCC",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 0.95,
				"Typical_Volt" : 0.92,
				"Minimum_Volt" : 0.89,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x48",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 2
			},
			"VOLTAGE_VCCO_MIO" : {
				"Name" : "VCC_VCCO_MIO",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 1.86,
				"Typical_Volt" : 1.8,
				"Minimum_Volt" : 1.74,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x48",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 3
			},
			"VOLTAGE_MGTAVTT" : {
				"Name" : "MGTAVTT",
				"Part_Name" : "IR38064",
				"Maximum_Volt" : 1.24,
				"Typical_Volt" : 1.2,
				"Minimum_Volt" : 1.16,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x49",
				"PMBus_VOUT_MODE" : 0,
				"Page_Select" : -1
			},
			"VOLTAGE_LPDMGTYAVTT" : {
				"Name" : "LPDMGTYAVTT",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 1.24,
				"Typical_Volt" : 1.2,
				"Minimum_Volt" : 1.16,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4C",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 0
			},
			"VOLTAGE_VCCAUX_PMC" : {
				"Name" : "VCCAUX_PMC",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 1.55,
				"Typical_Volt" : 1.5,
				"Minimum_Volt" : 1.45,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4C",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 1
			},
			"VOLTAGE_VCC_PSFP" : {
				"Name" : "VCC_PSFP",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 0.91,
				"Typical_Volt" : 0.88,
				"Minimum_Volt" : 0.85,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4C",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 2
			},
			"VOLTAGE_VCCAUX" : {
				"Name" : "VCCAUX",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 1.55,
				"Typical_Volt" : 1.5,
				"Minimum_Volt" : 1.45,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4C",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 3
			},
			"VOLTAGE_VCCO_HDIO_3V3" : {
				"Name" : "VCCO_HDIO_3V3",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 3.4,
				"Typical_Volt" : 3.3,
				"Minimum_Volt" : 3.2,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4D",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 0
			},
			"VOLTAGE_VCCO_502" : {
				"Name" : "VCCO_502",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 1.86,
				"Typical_Volt" : 1.8,
				"Minimum_Volt" : 1.74,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4D",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 1
			},
			"VOLTAGE_VCC_PSLP_CPM5" : {
				"Name" : "VCC_PSLP_CPM5",
				"Part_Name" : "IRPS5401",
				"Maximum_Volt" : 0.91,
				"Typical_Volt" : 0.88,
				"Minimum_Volt" : 0.85,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4D",
				"PMBus_VOUT_MODE" : 1,
				"Page_Select" : 2
			},
			"VOLTAGE_VADJ_FMC" : {
				"Name" : "VADJ_FMC",
				"Part_Name" : "IR38060",
				"Maximum_Volt" : 1.55,
				"Typical_Volt" : 1.5,
				"Minimum_Volt" : 0.0,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4E",
				"PMBus_VOUT_MODE" : 0,
				"Page_Select" : -1
			},
			"VOLTAGE_UTIL_1V8" : {
				"Name" : "VCC_UTIL_1V8",
				"Part_Name" : "IR38060",
				"Maximum_Volt" : 1.86,
				"Typical_Volt" : 1.8,
				"Minimum_Volt" : 1.74,
				"I2C_Bus" : "/dev/i2c-4",
				"I2C_Address" : "0x4F",
				"PMBus_VOUT_MODE" : 0,
				"Page_Select" : -1
			}
		},
		"Temperature" : {
			"Name" : "Versal",
			"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" : {
			"SYSCTLR_GPIO0" : "43 - SYSCTLR_GPIO0",
			"SYSCTLR_GPIO1" : "43 - SYSCTLR_GPIO1",
			"SYSCTLR_GPIO2" : "43 - SYSCTLR_GPIO2",
			"SYSCTLR_GPIO3" : "43 - SYSCTLR_GPIO3",
			"SYSCTLR_GPIO4" : "43 - SYSCTLR_GPIO4",
			"SYSCTLR_GPIO5" : "43 - SYSCTLR_GPIO5",
			"SYSCTLR_GPIO6" : "43 - SYSCTLR_GPIO6",
			"SYSCTLR_GPIO7" : "43 - SYSCTLR_GPIO7",
			"SYSCTLR_JTAG_S1" : "44 - SYSCTLR_JTAG_S1",
			"SYSCTLR_JTAG_S0" : "44 - SYSCTLR_JTAG_S0",
			"SYSCTLR_VERSAL_MODE3" : "44 - SYSCTLR_VERSAL_MODE3",
			"SYSCTLR_VERSAL_MODE2" : "44 - SYSCTLR_VERSAL_MODE2",
			"SYSCTLR_VERSAL_MODE1" : "44 - SYSCTLR_VERSAL_MODE1",
			"SYSCTLR_VERSAL_MODE0" : "44 - SYSCTLR_VERSAL_MODE0",
			"SYSCTLR_POR_B_LS" : "44 - SYSCTLR_POR_B_LS",
			"SYSCTLR_VERSAL_MODE3_READBACK_RO" : "45 - SYSCTLR_VERSAL_MODE3_READBACK",
			"SYSCTLR_VERSAL_MODE2_READBACK_RO" : "45 - SYSCTLR_VERSAL_MODE2_READBACK",
			"SYSCTLR_VERSAL_MODE1_READBACK_RO" : "45 - SYSCTLR_VERSAL_MODE1_READBACK",
			"SYSCTLR_VERSAL_MODE0_READBACK_RO" : "45 - SYSCTLR_VERSAL_MODE0_READBACK",
			"SYSCTLR_VERSAL_POR_B_READBACK_RO" : "45 - SYSCTLR_VERSAL_POR_B_READBACK",
			"VERSAL_ERROR_OUT_LS_RO" : "45 - SYSCTLR_VERSAL_ERROR_OUT_READBACK",
			"PMBUS2_INA226_ALERT_RO" : "46 - PMBUS2_INA226_ALERT",
			"PMBUS1_INA226_ALERT_RO" : "46 - PMBUS1_INA226_ALERT",
			"PMBUS_ALERT_RO" : "46 - PMBUS_ALERT"
		},
		"IO Exp" : {
			"Name" : "TCA6416A",
			"Labels" : ["Port 0(7) - N.C.",
				"Port 0(6) - N.C.",
				"Port 0(5) - N.C.",
				"Port 0(4) - PMBUS2_INA226_ALERT (AL)",
				"Port 0(3) - SFP_TX_DISABLE (AL)",
				"Port 0(2) - SFP_MOD_ABS (AL)",
				"Port 0(1) - N.C.",
				"Port 0(0) - N.C.",
				"Port 1(7) - PMBUS1_INA226_ALERT (AL)",
				"Port 1(6) - PMBUS_ALERT (AL)",
				"Port 1(5) - N.C.",
				"Port 1(4) - VCCINT_VRHOT_B (AL)",
				"Port 1(3) - N.C.",
				"Port 1(2) - FMCP1_FMCP_PRSNT_M2C_B (AL)",
				"Port 1(1) - N.C.",
				"Port 1(0) - FMCP1_FMC_PRSNT_M2C_B (AL)"
			],
			"Directions" : [-1, -1, -1, 1, 0, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1],
			"I2C_Bus" : "/dev/i2c-0",
			"I2C_Address" : "0x20"
		},
		"SFPs" : {
			"SFP" : {
				"Name" : "SFP",
				"Type" : "sfp",
				"I2C_Bus" : "/dev/i2c-11",
				"I2C_Address" : "0x50"
			}
		},
		"FMCs" : {
			"FMC" : {
				"Name" : "FMC",
				"I2C_Bus" : "/dev/i2c-10",
				"I2C_Address" : "0x50",
				"Presence_Labels" : ["FMCP1_FMC_PRSNT_M2C_B", "FMCP1_FMCP_PRSNT_M2C_B"],
				"Supported_Volts" : [1.5],
				"Voltage_Regulator" : "VADJ_FMC",
				"Default_Volt" : 1.5
			}
		},
		"Boot Config" : {
			"PDI" : "system_wrapper.pdi",
			"ImageID" : "0x18700000",
			"UniqueID_Rev0" : "0xfab71d58",
			"UniqueID_Rev1" : "0xe36854e2"
		},
		"BITs" : {
			"BIT_IDCODE_VERIFY" : {
				"Name" : "IDCODE Verify",
				"Description" : "This test verifies Versal silicon device ID code. The test failure means it is not a compatible device.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "idcode_verify.tcl 0x01"
					}
				}
			},
			"BIT_EFUSE_VERIFY" : {
				"Name" : "EFUSE Verify",
				"Description" : "This test verifies the eFuse data matches the factory defaults. The test failure might be due to a non-compatible device or some eFuses have been set.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "read_efuse.tcl"
					}
				}
			},
			"BIT_VOLTAGES_CHECK" : {
				"Name" : "Verify Voltages",
				"Description" : "This test verifies all board voltages to be within the factory default valid voltage ranges. The test will fail if the default settings of voltage regulators are modified.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "Voltages_Check"
					}
				}
			},
			"BIT_CLOCKS_CHECK" : {
				"Name" : "Verify Clock Settings",
				"Description" : "This test verifies clock synthesizer settings are set to default values. The test will fail if the default settings of clock synthesizer are modified.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "Clocks_Check"
					}
				}
			},
			"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 0x1"
					}
				}
			},
			"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 0x2"
					}
				}
			},
			"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_DRAM_MEM_TEST" : {
				"Name" : "DRAM Mem Test",
				"Description" : "This test verifies DRAM access by 8MB write, read and compare with cache on/off. The patterns used are 0s, 1's, 0xAAAA5555, row, col, bank.",
				"Manual" : 0,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x4"
					}
				}
			},
			"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 0x5"
					}
				}
			},
			"BIT_PL_UART_TEST" : {
				"Name" : "PL UART Test",
				"Description" : "This test verifies PL UART and requires manual verification. The test performs by printing Hello world to PL UART port. It requires USB/jtag connection connected to a terminal application.",
				"Manual" : 1,
				"BIT Levels" : {
					"Level 0" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x106",
						"Instruction" : "\n1- Connect to the 2nd com port (PL console), baud rate 115200-8N1\n2- Click 'OK' when this is done.\n3- Image location=264,526, size=43,35.\n"
					},
					"Level 1" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x206",
						"Instruction" : "\n1- Test prints 'Hello world!' message to the PL UART console.\n2- Click 'Pass' if you observe the 'Hello world!' on the console.\n3- Image location=264,526, size=43,35.\n"
					}
				}
			},
			"BIT_LEDS_TEST" : {
				"Name" : "LEDs Test",
				"Description" : "This test verifies board LEDs (DS3-DS6). 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" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x107",
						"Instruction" : "\n1- Look for LEDs (DS3-DS6) on the board.\n2- After clicking 'Ok' observe LEDs blinking, then turn on/off in sequence.\n3- Click 'OK' when you are ready.\n4- Image location=663,277, size=22,32.\n"
					},
					"Level 1" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x207",
						"Instruction" : "\n1- Did you see the LEDs blinking and sequencing?\n2- Click 'Pass' if you observed it.\n3- Image location=663,277, size=22,32.\n"
					}
				}
			},
			"BIT_BUTTONS_TEST" : {
				"Name" : "Buttons Test",
				"Description" : "This test verifies push buttons (SW4, SW5). 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" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x108",
						"Instruction" : "\n1- Look for Push Buttons SW4 and SW5 on the board \n2- After clicking 'Ok' press Push Buttons SW4, followed by SW5, and followed by any button (SW4 or SW5). \n3- Click 'OK' when ready.\n4- Image location=639,210, size=35,61.\n"
					},
					"Level 1" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x208",
						"Instruction" : "\nTest Complete\n\nClick 'OK'.\n"
					}
				}
			},
			"BIT_DIP_SWITCHES_TEST" : {
				"Name" : "DIP Switches Test",
				"Description" : "This test verifies DIP switches (SW6). 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" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x109",
						"Instruction" : "\n1- Look for DIP switches (SW6) on the board\n2- After clicking 'Ok' turn On and then turn Off DIP Switches (SW6) \n3- Click 'OK' when you are ready.\n4- Image location=678,276, size=46,39.\n"
					},
					"Level 1" : {
						"Plat_BIT_Op" : "XSDB_BIT",
						"TCL_File" : "versal_bit_download.tcl 0x209",
						"Instruction" : "\nTest Complete\n\nClick 'Ok'\n"
					}
				}
			}
		}
	}
}
