//****************************************************************************
//                   INTEL CORPORATION PROPRIETARY INFORMATION
//       This software is supplied under the terms of a license agreement or
//       nondisclosure agreement with Intel Corporation and may not be copied
//       or disclosed except in accordance with the terms of that agreement.
//         Copyright (c) 2017 Intel Corporation. All Rights Reserved.
//****************************************************************************
//
// NOTE: Please use only TAB stops for indentation when editing this file!
//

CONFIGURATION  "Revision S2600TP_117"
DISPLAY        "FRU & SDR Update Package for Intel(R) Server Board S2600TPx (S2600TP_117)"
DISPLAY        "Copyright (c) 2017 Intel Corporation"
DISPLAY        " "


// Detect baseboard by looking at the BMC product ID
//
PROBE          "BASEBOARD_PRODID" "73"
FOUND          "S2600TLP" "WRONG_PKG"

IFSET "WRONG_PKG"
// {
  DISPLAY ""
  DISPLAY "This is the incorrect FRU/SDR package for this baseboard."
  DISPLAY ""
  ERRORLEVEL 1
// }
ENDIF


IFSET "S2600TLP"
// {
	// Uncomment to force manual Chassis selection
    //SET "CHASSIS_MENU"

    // Uncomment to allow setting Board Mfg FRU fields
    //SET "ALLOW_BRD_UPDATE"

	// Determine if this is a S2600TPF, S2600TP, S2600TPR or a S2600TPFR board
	FRUNAME     "SYSTEM"
	FRUADDRESS  0
	FRUAREA "BOARD" VALIDATE "BB_FRU_IPMI"
	IFSET "BB_FRU_IPMI"
		PROBE FRUFIELD "PN" "S2600TPFR"
		FOUND	"TPF_FRU_PN" ""
		IFSET "TPF_FRU_PN"
			SET "S2600TPFR"
		ELSE
			PROBE FRUFIELD "PN" "S2600TPR"
			FOUND "TPR_FRU_PN" ""
			IFSET "TPR_FRU_PN"
				SET "S2600TPR"
			ELSE
				PROBE FRUFIELD "PN" "S2600TPF"
				FOUND "TP_FRU_PN" ""
				IFSET "TP_FRU_PN"
					SET "S2600TPF"
				ELSE
					PROBE FRUFIELD "PN" "S2600TP"
					FOUND "TP_FRU_PN" ""
					IFSET "TP_FRU_PN"
						SET "S2600TPP"
					ELSE
						SET "NO_TLP_FRU"
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ELSE
		DISPLAY "No Valid Baseboard FRU detected!"
		SET "NO_TLP_FRU"
	ENDIF
	
	DISPLAY		""
	IFSET "S2600TPFR"
		DISPLAY		"Intel(R) Server Board S2600TPFR detected"
	ELSE
		IFSET "S2600TPR"
			DISPLAY		"Intel(R) Server Board S2600TPR detected"
		ELSE
			IFSET "S2600TPF"
				DISPLAY		"Intel(R) Server Board S2600TPF detected"
			ELSE
				IFSET "S2600TPP"
					DISPLAY		"Intel(R) Server Board S2600TP detected"
				ELSE
					DISPLAY		"Intel(R) Server Board S2600TP? detected"
				ENDIF
			ENDIF
		ENDIF
	ENDIF
  
    DISPLAY        ""
    MENUTITLE      "Select the function you want to perform:"
    MENU           "SDR"       "Update only the SDR"
    MENU           "FRU"       "Update only the FRU"
    MENU           "BOTH"      "Update both the SDR and the FRU"
    MENU           "ASSET"     "Modify the Asset Tag Only"  
    // MENU        "FCT"       "Functional Test"
    // MENU        "FOQM"      "Functional Outgoing Manufacturing Test"
    // MENU        "SHIPPING"  "Default shipping configuration"
    MENU           "EXIT1"     "Exit FRU/SDR update"
    MENUPROMPT
    DISPLAY        " "

	IFSET "BOTH"
		SET "SDR"
		SET "FRU"
	ENDIF

	// Skip HW probing if one of the manufacturing specific configurations is selected
	IFSET "FCT"
		SET "MFG_CONFIG"
		SET "SKIP_PROBE"
	ENDIF

	IFSET "FOQM"
		SET "MFG_CONFIG"
		SET "SKIP_PROBE"
	ENDIF

	IFSET "SHIPPING"
		SET "MFG_CONFIG"
		SET "SKIP_PROBE"
	ENDIF

	IFSET "EXIT1"
	// {
		DISPLAY "Exiting without performing any updates"
	ELSE
		// Skip all hardware probing and program the selected manufacturing configuration
		IFSET "MFG_CONFIG"
			SDRNAME   "S2600TP.sdr"        // Update SDR Repository
		ENDIF

		SET "CONTINUE"
	
		//*****************************************************************************
		// FRU file or asset tag programming
		//*****************************************************************************
		// Process Asset tag if requested.  
		IFSET "ASSET"
		// {   
			FRUNAME     "SYSTEM"
			FRUADDRESS  "IMBDEVICE" FF 20
			FRUAREA     "PRODUCT"  
			FRUFIELD    "AT" "@STDIN:ASCII"
		ELSE
			// Begin baseboard FRU update
			IFSET "FRU"
			// {
				IFSET "NO_TLP_FRU"
					DISPLAY " "
					DISPLAY "FRU Board P/N data is invalid."
					CLEAR "NO_TLP_FRU"

				ELSE
				// {
					DISPLAY     " "

					IFSET       "S2600TPFR"
						FRUNAME     "S2600TPFR.fru"
					ELSE
						IFSET	"S2600TPR"
							FRUNAME     "S2600TPR.fru"
						ELSE
							IFSET	"S2600TPF"
								FRUNAME     "S2600TPF.fru"
							ELSE
								FRUNAME	    "S2600TP.fru"
							ENDIF
						ENDIF
					ENDIF

					FRUAREA     "HEADER"
					FRUAREA     "INTERNALUSE"
					FRUAREA     "CHASSIS"
					FRUFIELD    "CT" 

					PROMPT      "Do you want to update the chassis info area of the FRU (Y/N)?"
					YES         "UPD_CHS"
					NO          ""

					IFSET "UPD_CHS"
					// {        
						DISPLAY     " "
	  
						PROMPT      "Do you want to enter the chassis serial number (Y/N)?"
						YES         "CHASS_SN"
						NO          ""

						IFSET       "CHASS_SN"
							FRUFIELD    "S#" "@STDIN:ASCII"
						ENDIF

						DISPLAY     " "

						PROMPT      "Do you want to enter the chassis part number (Y/N)?"
						YES         "CHASS_PN"
						NO          ""

						IFSET       "CHASS_PN"
							FRUFIELD    "P#" "@STDIN:ASCII"
						ENDIF

						DISPLAY     " "
						PROMPT    "Do you want to enter data into the additional chassis field 1 (Y/N)?"
						YES         "CHASS_INFO_1"
						NO          ""

						IFSET       "CHASS_INFO_1"
							FRUFIELD  "AM1" "@STDIN:ASCII"
						ENDIF

						DISPLAY    " "

						PROMPT    "Do you want to enter data into the additional chassis field 2 (Y/N)?"
						YES         "CHASS_INFO_2"
						NO          ""

						IFSET       "CHASS_INFO_2"
							FRUFIELD  "AM2" "@STDIN:ASCII"
						ENDIF
						// }
					ENDIF

					IFSET "ALLOW_BRD_UPDATE"
					// {
						CLEAR "ALLOW_BRD_UPDATE"

						PROMPT  "Do you want to update Board info area of the FRU (Y/N)?"
						YES     "UPD_BRD"
						NO      ""


						IFSET "UPD_BRD"
						// {
							// Update board area
							FRUAREA     "BOARD"
							FRUFIELD    "P#"
							FRUFIELD    "S#"

							DISPLAY      " "
							PROMPT      "Do you want to enter the Board part number (Y/N)?"
							YES         "BRD_PN"
							NO          ""

							IFSET "BRD_PN"
								FRUFIELD    "P#" "@STDIN:ASCII"
							ENDIF

							DISPLAY     " "

							PROMPT      "Do you want to enter the Board serial number (Y/N)?"
							YES         "BRD_SN"
							NO          ""

							IFSET "BRD_SN"
								FRUFIELD    "S#" "@STDIN:ASCII"
							ENDIF
						// }
						ENDIF

					// }
					ENDIF

					DISPLAY     " "
			  
					FRUAREA     "PRODUCT"
					PROMPT      "Do you want to update the product info area of the FRU (Y/N)?"
					YES     "UPD_PRD"
					NO      ""

					IFSET "UPD_PRD"
					// {
						FRUFIELD    "MN"
						FRUFIELD    "PN"        
						FRUFIELD    "PV"
						DISPLAY      " "
						PROMPT      "Do you want to enter the product Version (Y/N)?"
						YES         "PROD_PV"
						NO          ""

						IFSET "PROD_PV"
							FRUFIELD    "PV" "@STDIN:ASCII"
						ENDIF

						DISPLAY     " "

						PROMPT      "Do you want to enter the product part number (Y/N)?"
						YES         "PROD_PN"
						NO          ""

						IFSET "PROD_PN"
							FRUFIELD    "P#" "@STDIN:ASCII"
						ENDIF

						DISPLAY     " "

						PROMPT      "Do you want to enter the product serial number (Y/N)?"
						YES         "PROD_SN"
						NO          ""

						IFSET "PROD_SN"
							FRUFIELD    "S#" "@STDIN:ASCII"
						ENDIF

						DISPLAY     " "

						PROMPT      "Do you want to enter a product asset tag (Y/N)?"
						YES         "PROD_ASSET"
						NO          ""

						IFSET "PROD_ASSET"
							FRUFIELD    "AT" "@STDIN:ASCII"
						ENDIF
					// }
					ENDIF
				// } FRU PN
				ENDIF
			// } FRU
			ENDIF
	
			//*****************************************************************************
			// SDR file 
			//*****************************************************************************
			IFSET "SDR"
			// {
				IFSET "CHASSIS_MENU"
				ELSE
					DISPLAY "Auto-detecting chassis model and attached hardware."
					DISPLAY "This may take up to 1 minute to complete."

					// Is a HSBP FRU device present?
					PROBE "IMBDEVICE" "08"
					FOUND "HSBP_FRU" ""
				ENDIF

				IFSET "HSBP_FRU" "CONTINUE"
				// {
					//DISPLAY "HSBP FRU is detected"
					FRUNAME     "SYSTEM"
					FRUADDRESS  08
					FRUAREA     "BOARD" VALIDATE HSBP_FRU_IPMI
					IFSET "HSBP_FRU_IPMI"
					// {
						FRUAREA "BOARD"
						//PROBE FRUFIELD "MN" "Intel Corporation"           
						PROBE FRUFIELD "PN" "F2U12X35S3"
						FOUND "2U4N_BP_X35" "CONTINUE_PROBE"

						IFSET "CONTINUE_PROBE"
							CLEAR "CONTINUE_PROBE"
							PROBE FRUFIELD "PN" "F2U16X25S3"
							FOUND "2U4N_BP_X25" "CONTINUE_PROBE"
						ENDIF
			  
						IFSET "CONTINUE_PROBE"
							CLEAR "CONTINUE_PROBE"
							PROBE FRUFIELD "PN" "FHW12X35HSBP12G"
							FOUND "2U4N_BP_X35" "CONTINUE_PROBE"
						ENDIF
		  
						IFSET "CONTINUE_PROBE"
							CLEAR "CONTINUE_PROBE"
							PROBE FRUFIELD "PN" "FHW16X25HSBP12G"
							FOUND "2U4N_BP_X25" "CONTINUE_PROBE"
						ENDIF
				  
						IFSET "CONTINUE_PROBE"
							CLEAR "CONTINUE_PROBE"
							PROBE FRUFIELD "PN" "FHW24X25HSBP12G"
							FOUND "24HDDHSBP" "CONTINUE_PROBE"
						ENDIF
				  
						IFSET "CONTINUE_PROBE"
							CLEAR "CONTINUE_PROBE"
							PROBE FRUFIELD "PN" "FHW04X35HSBP"
							FOUND "2U4N_BP_4X35" "CONTINUE_PROBE"
						ENDIF

						IFSET "CONTINUE_PROBE"
						// {
							CLEAR "CONTINUE_PROBE"
						// }
						ELSE
						// {
							SET "INTEL_HSBP"
						// }
						ENDIF

						CLEAR "CONTINUE_PROBE"
					// }
					ENDIF  // HSBP_FRU_IPMI

					IFSET "INTEL_HSBP"
					// {
						// Is a Node Presence device present?
						PROBE "PING" "03" "30"
						FOUND "NODE"

						IFSET "NODE"
							DISPLAY "NODE Presence is present"
							SET "BCP_2U4N"
						ELSE
							DISPLAY "NODE ERROR!"
							SET "CHASSIS_MENU"
						ENDIF
					// }
					ELSE  // INTEL_HSBP
					// {
						DISPLAY ""
						//DISPLAY "HSBP FRU device is detected but not INTEL HSBP."
						//DISPLAY "Reverting to Manual Chassis Selection."
						//SET "OTHER"
						DISPLAY "SDR auto-update failed due to chassis type could not be detected."
						DISPLAY ""      
						DISPLAY "Falling back to Other Chassis. Please update SDR by legacy process."
						SET "CHASSIS_MENU"
					// }
					ENDIF  // INTEL_HSBP
				// }
				ELSE  // HSBP_FRU
				// {
					DISPLAY ""
					//DISPLAY "HSBP FRU device is not detected."
					//DISPLAY "Reverting to Manual Chassis Selection."
					DISPLAY "SDR auto-update failed due to chassis type could not be detected."
					DISPLAY ""      
					DISPLAY "Falling back to Other Chassis. Please update SDR by legacy process."
					//SET "OTHER"
					SET "CHASSIS_MENU"
				// }
				ENDIF  // HSBP_FRU

				IFSET "BCP_2U4N"
				// {
					SET "SYS_FAN_2U4N"
				// }
				ENDIF

				//****************************************************************************************************
				// Display chassis selection menu only if auto-detection fails
				//*****************************************************************************************************
				IFSET "CHASSIS_MENU"
				// {
					//************************************************************************
					// If we could not detect a chassis type, signal Auto Config by setting
					// the AUTO_CFG_ERR_CHASSIS_DETECT tag.
					//************************************************************************
					SET "AUTO_CFG_ERR_CHASSIS_DETECT"

					DISPLAY " "
					MENUTITLE   "Select the chassis:"
					MENU        "2U4N_BP_X35"  "H2312 chassis"
					MENU        "2U4N_BP_X25"  "H2216 chassis"
					MENU        "24HDDHSBP"    "H2224 chassis"
					MENU        "2U4N_BP_4X35" "EBCP-TP chassis"
					MENU        "TEST_PLATE"  "Test Plate for NPI:PO Kit"
					MENU        "OTHER"        "Other Chassis"
					MENUPROMPT
					DISPLAY ""
		   
				// }
				ENDIF

				IFSET "CHASSIS_MENU"
					DISPLAY " "
					DISPLAY "Continuing to probe chassis hardware."
				ENDIF

				// Is a power supply module installed at the PS1 slot?
				//PROBE "IMBDEVICE" "02"
				PROBE "PING" "0F" "A0"
				FOUND "PS1" "NO_PS1"
						
				// Is a power supply module installed at the PS2 slot?                
				//PROBE "IMBDEVICE" "03"
				PROBE "PING" "0F" "A2"
				FOUND "PS2" "NO_PS2"

				IFSET "NO_PS1" "NO_PS2"
					DISPLAY ""
					DISPLAY "Unable to communicate with any power supply modules."
					DISPLAY ""
				ENDIF

				IFSET "PS1"
				// {
					FRUNAME "SYSTEM"
					FRUADDRESS 02
					FRUAREA "PRODUCT" VALIDATE PS1_FRU_IPMI
							
					IFSET "PS1_FRU_IPMI"
					// {
						SET "STICKY_VALID_PS1"
						SET "CONTINUE_PROBE"
						FRUAREA "PRODUCT"
						PROBE FRUFIELD "PN" "IS162F22"
						FOUND "PS1_1600W" ""
						IFSET "PS1_1600W" 
							CLEAR "CONTINUE_PROBE"
							SET "STICKY_PS1_1600W"
							CLEAR "STICKY_PS1_2200W"
						ENDIF
				  
						PROBE FRUFIELD "PN" "PSSF222201A"
						FOUND "PS1_2200W" ""
						IFSET "PS1_2200W" 
							CLEAR "CONTINUE_PROBE"
							SET "STICKY_PS1_2200W"
							CLEAR "STICKY_PS1_1600W"
						ENDIF

						IFSET "CONTINUE_PROBE"
							DISPLAY ""
							DISPLAY "Power supply 1 detected but unable to identify model."
							DISPLAY "Sensors for power supply 1 will not be installed."  
							CLEAR "STICKY_PS1_1600W"
							CLEAR "STICKY_PS1_2200W"
						ENDIF
					// }
					ELSE
					// {
						DISPLAY ""
						DISPLAY "Power supply 1 detected but its FRU data is invalid."
						DISPLAY "Sensors for power supply 1 will not be installed."
						CLEAR "STICKY_PS1_1600W"
						CLEAR "STICKY_PS1_2200W"
					// }
					ENDIF
				// }
				ENDIF  // PS1

				IFSET "PS2"
				// {
					FRUNAME "SYSTEM"
					FRUADDRESS 03
					FRUAREA "PRODUCT" VALIDATE PS2_FRU_IPMI

					IFSET "PS2_FRU_IPMI"
					// {
						SET "STICKY_VALID_PS2"
						SET "CONTINUE_PROBE"
						FRUAREA "PRODUCT"
						PROBE FRUFIELD "PN" "IS162F22"
						FOUND "PS2_1600W" ""
						IFSET "PS2_1600W" 
							CLEAR "CONTINUE_PROBE"
							SET "STICKY_PS2_1600W"
							CLEAR "STICKY_PS2_2200W"
						ENDIF

						PROBE FRUFIELD "PN" "PSSF222201A"
						FOUND "PS2_2200W" ""
						IFSET "PS2_2200W" 
							CLEAR "CONTINUE_PROBE"
							SET "STICKY_PS2_2200W"
							CLEAR "STICKY_PS2_1600W"
						ENDIF
				  
						IFSET "CONTINUE_PROBE"
							DISPLAY ""
							DISPLAY "Power supply 2 detected but unable to identify model."
							DISPLAY "Sensors for power supply 2 will not be installed."
							CLEAR "STICKY_PS2_1600W"
							CLEAR "STICKY_PS2_2200W"
						ENDIF

					// }
					ELSE
					// {
						DISPLAY ""
						DISPLAY "Power supply 2 detected but its FRU data is invalid."
						DISPLAY "Sensors for power supply 2 will not be installed."
						CLEAR "STICKY_PS2_1600W"
						CLEAR "STICKY_PS2_2200W"
					// }
					ENDIF
				// }
				ENDIF  // PS2

				IFSET   "SKIP_PROBE" // {
					// Skip probing the hardware 
				ELSE 
					// Is there a FRU storage device on the I/O (LAN) module?
					PROBE "IMBDEVICE" "09"
					FOUND "IO_MODULE_FRU"

					IFSET "IO_MODULE_FRU"
						SET "IO_MODULE"
					ELSE
						// If no FRU on the module, check for a Temperature sensor response.
						// Note that this is risky in the case of a temp sensor part that may
						// hang the bus if 2 bytes are not read from it.
						PROBE "PING" "05" "94"
						FOUND "IO_MODULE_TEMP"
						IFSET "IO_MODULE_TEMP"
							SET "IO_MODULE"
						ENDIF
					ENDIF
				
					PROBE "IMBDEVICE" "18"
					FOUND "IO_MODULE_M2_FRU"
				
					IFSET "IO_MODULE_M2_FRU"
						SET "IO_MODULE_M2"
					ELSE
						PROBE "PING" "05" "96"
						FOUND "IO_MODULE_M2_TEMP"
						IFSET "IO_MODULE_M2_TEMP"
							SET "IO_MODULE_M2"
						ENDIF
					ENDIF

					// Probe the hardware to discover installed devices
					PROBE    "PROCESSOR"    1
					FOUND    "PROCESSOR_1"    ""

					PROBE    "PROCESSOR"    2
					FOUND    "PROCESSOR_2"    ""

					PROBE "PING" "03" "9A"
					FOUND "HSBP_TEMP" ""

					// Is there a FRU storage device on SAS Bridge board?       
					PROBE "IMBDEVICE" "FE"
					FOUND "LSISAS3008_FRU"
		 
					IFSET "LSISAS3008_FRU"
						SET "LSISAS3008"
					ELSE
						// If no FRU on the module, check for a Temperature sensor response.
						// Probe the LSI3008 Temperature 
						PROBE "PING" "05" "9E"
						FOUND "LSISAS3008_Temp"
						IFSET "LSISAS3008_Temp"
							SET "LSISAS3008"	
						ENDIF		  
					ENDIF

				// }//"SKIP_PROBE"
				ENDIF

				IFSET "SKIP_UPDATE" // {
					// Do not print out a summary of detected hardware if skipping the update
				ELSE
					// Print out summary of detected hardware
					DISPLAY ""
					DISPLAY "                                Detected Hardware"
					DISPLAY "********************************************************************************"

					IFSET   "2U4N_BP_X35"
						DISPLAY "Intel(R) Server Chassis H2000G Product Family"
					ENDIF

					IFSET   "2U4N_BP_X25"
						DISPLAY "Intel(R) Server Chassis H2000G Product Family"
					ENDIF
			
					IFSET   "24HDDHSBP"
						DISPLAY "Intel(R) Server Chassis H2000G Product Family"
					ENDIF
				
					IFSET   "2U4N_BP_4X35"
						DISPLAY "Intel(R) Server Chassis H2000G Product Family"
					ENDIF

					IFSET   "TEST_PLATE"
						DISPLAY "Open Test Plate Chassis"
					ENDIF

					IFSET "S2600TPFR"
						DISPLAY "Intel(R) Server Board S2600TPFR"
					ELSE
						IFSET "S2600TPR"
							DISPLAY "Intel(R) Server Board S2600TPR"
						ELSE
							IFSET "S2600TPF"
								DISPLAY "Intel(R) Server Board S2600TPF"
							ELSE
								IFSET "S2600TPP"
									DISPLAY "Intel(R) Server Board S2600TP"
								ELSE
									DISPLAY "Intel(R) Server Board S2600TPx"
								ENDIF
							ENDIF
						ENDIF
					ENDIF

					IFSET    "PROCESSOR_1"
						DISPLAY "Intel(R) Xeon(R) Processor E5-2600 in socket 1"
					ENDIF

					IFSET    "PROCESSOR_2"
						DISPLAY "Intel(R) Xeon(R) Processor E5-2600 in socket 2"
					ENDIF

					DISPLAY "Baseboard FRU Device"

					IFSET     "STICKY_PS1_1600W"
						DISPLAY "1600 Watt Power Supply Module 1"
						DISPLAY "Power Supply Module 1 FRU Device"
					ENDIF

					IFSET "STICKY_PS2_1600W"
						DISPLAY "1600 Watt Power Supply Module 2"
						DISPLAY "Power Supply Module 2 FRU Device"
					ENDIF

					IFSET     "STICKY_PS1_2200W"
						DISPLAY "2200 Watt Power Supply Module 1"
						DISPLAY "Power Supply Module 1 FRU Device"
					ENDIF

					IFSET "STICKY_PS2_2200W"
						DISPLAY "2200 Watt Power Supply Module 2"
						DISPLAY "Power Supply Module 2 FRU Device"
					ENDIF

					IFSET "STICKY_VALID_PS1" "STICKY_VALID_PS2"
						DISPLAY "Redundant Power Supply Configuration"
						SET "STICKY_REDUNDANT_PS"
					ENDIF

					IFSET "2U4N_BP_X35"
						DISPLAY "HSBP is a 2U 12 slot 3.5 inch HDD Backplane"
					ENDIF

					IFSET "2U4N_BP_X25"
						DISPLAY "HSBP is a 2U 16 slot 2.5 inch HDD Backplane"
					ENDIF

					IFSET "24HDDHSBP"
						DISPLAY "HSBP is a 2U 24 slot 2.5 inch HDD Backplane"
					ENDIF
				
					IFSET "2U4N_BP_4X35"
						DISPLAY "HSBP is a 2U 4 slot 3.5 inch HDD Backplane"
					ENDIF
			
					IFSET "IO_MODULE_FRU"
						DISPLAY "IO Module FRU Storage Device"
					ENDIF
				
					IFSET "IO_MODULE_M2_FRU"
						DISPLAY "IO Module M2 FRU Storage Device"
					ENDIF

					IFSET "IO_MODULE"
						DISPLAY "IO Module Temperature Device"
					ENDIF
				
					IFSET "IO_MODULE_M2"
						DISPLAY "IO Module M2 Temperature Device"
					ENDIF

					IFSET "LAN_LEASH"
						DISPLAY "Powerville Temperature is detected."
					ENDIF 

					IFSET "LSISAS3008"
						DISPLAY "LSISAS3008 Temperature is detected"
					ENDIF

					DISPLAY "********************************************************************************"
				// }//"SKIP_UPDATE"
				ENDIF
				
				//*****************************************************************
				// Set additional SDR tags based on chassis detected
				//***************************************************************** 
		  
				//SET "DISABLE_NVME_FUNCTIONS"
				//CLEAR "ENABLE_NVME_FUNCTIONS" 
		  
				IFSET "2U4N_BP_X35"
					// Set additional SDR tags for the H2312 chassis
				ENDIF

				IFSET "2U4N_BP_X25"
					// Set additional SDR tags for the H2216 chassis
				ENDIF
			  
				IFSET "24HDDHSBP"
					// Set additional SDR tags for the H2224 chassis
				ENDIF   

				IFSET "2U4N_BP_4X35"	
					// Set additional SDR tags for the EBCP-TP chassis
				ENDIF 
			
				IFSET "OTHER"
				// {
					//System Fans
					DISPLAY ""
					PROMPT  "Is System Fan 1A installed (Y/N)?"
					YES     "OTHER_FAN_1A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 1B installed (Y/N)?"
					YES     "OTHER_FAN_1B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 2A installed (Y/N)?"
					YES     "OTHER_FAN_2A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 2B installed (Y/N)?"
					YES     "OTHER_FAN_2B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 3A installed (Y/N)?"
					YES     "OTHER_FAN_3A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 3B installed (Y/N)?"
					YES     "OTHER_FAN_3B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 4A installed (Y/N)?"
					YES     "OTHER_FAN_4A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 4B installed (Y/N)?"
					YES     "OTHER_FAN_4B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 5A installed (Y/N)?"
					YES     "OTHER_FAN_5A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 5B installed (Y/N)?"
					YES     "OTHER_FAN_5B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 6A installed (Y/N)?"
					YES     "OTHER_FAN_6A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 6B installed (Y/N)?"
					YES     "OTHER_FAN_6B"
					NO      ""

					CLEAR "BCP_2U4N"
					CLEAR "SYS_FAN_2U4N"
					CLEAR "2U4N_BP_X35"
					CLEAR "2U4N_BP_X25"
					CLEAR "24HDDHSBP"
					CLEAR "2U4N_BP_4X35"
					CLEAR "TEST_PLATE"
					CLEAR "STICKY_PS1_1600W"
					CLEAR "STICKY_PS2_1600W"
					CLEAR "STICKY_PS1_2200W"
					CLEAR "STICKY_PS2_2200W"
					CLEAR "STICKY_REDUNDANT_PS"
					CLEAR "HSBP_TEMP"
				// }//"OTHER"
				ENDIF

				IFSET "SHIPPING"
				// {
					CLEAR "BCP_2U4N"
					CLEAR "SYS_FAN_2U4N"
					CLEAR "2U4N_BP_X35"
					CLEAR "2U4N_BP_X25"
					CLEAR "24HDDHSBP"
					CLEAR "2U4N_BP_4X35"
					CLEAR "TEST_PLATE"
					CLEAR "STICKY_PS1_1600W"
					CLEAR "STICKY_PS2_1600W"
					CLEAR "STICKY_PS1_2200W"
					CLEAR "STICKY_PS2_2200W"
					CLEAR "STICKY_REDUNDANT_PS"
					CLEAR "HSBP_TEMP"
					// Set additional SDR tags for the SHIPPING chassis
				// }
				ENDIF

				IFSET "TEST_PLATE"
				// {
					//System Fans
					DISPLAY " "
					PROMPT  "Is System Fan 1A installed (Y/N)?"
					YES     "SYSTEM_FAN_1A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 1B installed (Y/N)?"
					YES     "SYSTEM_FAN_1B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 2A installed (Y/N)?"
					YES     "SYSTEM_FAN_2A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 2B installed (Y/N)?"
					YES     "SYSTEM_FAN_2B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 3A installed (Y/N)?"
					YES     "SYSTEM_FAN_3A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 3B installed (Y/N)?"
					YES     "SYSTEM_FAN_3B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 4A installed (Y/N)?"
					YES     "SYSTEM_FAN_4A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 4B installed (Y/N)?"
					YES     "SYSTEM_FAN_4B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 5A installed (Y/N)?"
					YES     "SYSTEM_FAN_5A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 5B installed (Y/N)?"
					YES     "SYSTEM_FAN_5B"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 6A installed (Y/N)?"
					YES     "SYSTEM_FAN_6A"
					NO      ""

					DISPLAY " "
					PROMPT  "Is System Fan 6B installed (Y/N)?"
					YES     "SYSTEM_FAN_6B"
					NO      ""

					CLEAR "BCP_2U4N"
					CLEAR "SYS_FAN_2U4N"
					CLEAR "2U4N_BP_X35"
					CLEAR "2U4N_BP_X25"
					CLEAR "24HDDHSBP"
					CLEAR "2U4N_BP_4X35"
				// }
				ENDIF

				// Clear temp tags used for setting STICKY tags (i.e. Power Supply tags).
				// This prevents Auto-Config from updating SDRs unnecessarily when a PS is removed.
				// NOTE: This feature only works on BMC FW 0.23 or later
				CLEAR "PS1"
				CLEAR "PS2"
				CLEAR "NO_PS1"
				CLEAR "NO_PS2"
				CLEAR "PS1_FRU_IPMI"
				CLEAR "PS2_FRU_IPMI"
				CLEAR "PS1_1600W"
				CLEAR "PS2_1600W"
				CLEAR "PS1_2200W"
				CLEAR "PS2_2200W"
				CLEAR "CONTINUE"
		
				// Update the SDR Repository with selected records
				IFSET "SKIP_UPDATE"
					// Do nothing
				ELSE
					// Update SDR Repository
					SDRNAME   "S2600TP.sdr"

					// Run the init agent so new SDR data is read and used
					RUN_INIT_AGENT
				ENDIF
			// } // SDR
			ENDIF
		// } Asset	
		ENDIF
	// }  Not EXIT1
	ENDIF
// }  S2600TLP
ENDIF

