//****************************************************************************
//                   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) 2018 Intel Corporation. All Rights Reserved.
//****************************************************************************
//
// NOTE: Please use only TAB stops for indentation when editing this file!
//

CONFIGURATION  "Revision S2600BP_139"
DISPLAY        "FRU & SDR Update Package for Intel(R) Server Board S2600BPx (S2600BP_139)"
DISPLAY        "Copyright (c) 2018 Intel Corporation"
DISPLAY        " "


// Detect baseboard by looking at the BMC product ID
//
PROBE          "BASEBOARD_PRODID" "7C"
FOUND          "S2600BP" "WRONG_PKG"

IFSET "WRONG_PKG"
	CLEAR          "WRONG_PKG"
	PROBE          "BASEBOARD_PRODID" "89"
	FOUND          "S2600BP" "WRONG_PKG"
ENDIF

SET "S2600BP"

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


IFSET "S2600BP"
// {
  // 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 S2600BQB, S2600BPQ, S2600BPL or S2600BPS board
	FRUNAME     "SYSTEM"
	FRUADDRESS  0
	FRUAREA "BOARD" VALIDATE "BB_FRU_IPMI"
	IFSET "BB_FRU_IPMI"
		PROBE FRUFIELD "PN" "S2600BPB"
		FOUND "BP_FRU_PN" ""
	 	IFSET "BP_FRU_PN"
	 		SET "S2600BPP"
	 	ELSE
			PROBE FRUFIELD "PN" "S2600BPQ"
			FOUND "BP_FRU_PN" ""
	 		IFSET "BP_FRU_PN"
	 			SET "S2600BPQ"
	 		ELSE
				PROBE FRUFIELD "PN" "S2600BPS"
				FOUND "BP_FRU_PN" ""
	 			IFSET "BP_FRU_PN"
	 				SET "S2600BPS"
	 			ELSE
					PROBE FRUFIELD "PN" "S2600BPL"
					FOUND "BP_FRU_PN" ""
	 				IFSET "BP_FRU_PN"
	 					SET "S2600BPL"
	 				ELSE
	 				SET "EXIT1"
	  			ENDIF
				ENDIF
			ENDIF
	 	ENDIF
	ELSE
		SET "EXIT1"
	ENDIF
	
	DISPLAY		""
	IFSET "S2600BPP"
		DISPLAY		"Intel(R) Server Board S2600BPB detected"
	ENDIF
	IFSET "S2600BPQ"
		DISPLAY		"Intel(R) Server Board S2600BPQ detected"
	ENDIF
	IFSET "S2600BPS"
		DISPLAY		"Intel(R) Server Board S2600BPS detected"
	ENDIF
	IFSET "S2600BPL"
		DISPLAY		"Intel(R) Server Board S2600BPL detected"
	ENDIF
	IFSET "EXIT1" 
		DISPLAY "This is the incorrect FRU/SDR package for this baseboard."
		ERRORLEVEL 1
	ELSE
  	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        " "
	ENDIF
  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   "S2600BP.sdr"        // Update SDR Repository
    ENDIF

    SET "CONTINUE"

    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" "FHW12X35HSBP12G"
            FOUND "2U4N_BP_X35" "CONTINUE_PROBE"
          ENDIF

          IFSET "CONTINUE_PROBE"
            CLEAR "CONTINUE_PROBE"
            PROBE FRUFIELD "PN" "FHW04X35HSBP"
            FOUND "EBCP-BNP" "CONTINUE_PROBE"
          ENDIF

          IFSET "CONTINUE_PROBE"
            CLEAR "CONTINUE_PROBE"
            PROBE FRUFIELD "PN" "FHW24X25HSBP12G"
            FOUND "24HDDHSBP" "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        "EBCP-BNP"  	 "H2204 chassis"
      MENU        "24HDDHSBP"    "H2224 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
        SET "STICKY_PS1"            
        IFSET "PS1_FRU_IPMI"
        // {
          SET "STICKY_VALID_PS1"
          SET "CONTINUE_PROBE"
          FRUAREA "PRODUCT"
          
		  PROBE FRUFIELD "PN" "PSSF222201A"
          FOUND "PS1_2130W" ""
          IFSET "PS1_2130W" 
            CLEAR "CONTINUE_PROBE"
            SET "STICKY_PS1_2130W"
          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_2130W"
          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_2130W"
        // }
        ENDIF
      // }
      ENDIF  // PS1

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

        IFSET "PS2_FRU_IPMI"
        // {
          SET "STICKY_VALID_PS2"
          SET "CONTINUE_PROBE"
          FRUAREA "PRODUCT"

          PROBE FRUFIELD "PN" "PSSF222201A"
          FOUND "PS2_2130W" ""
          IFSET "PS2_2130W" 
            CLEAR "CONTINUE_PROBE"
            SET "STICKY_PS2_2130W"
          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_2130W"
          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_2130W"
        // }
        ENDIF
      // }
      ENDIF  // PS2

      IFSET   "SKIP_PROBE" // {
        // Skip probing the hardware 
      ELSE 

        // 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" "0D"
        FOUND "BRIDGEBOARD_FRU"

        	IFSET "BRIDGEBOARD_FRU"
        // {
           DISPLAY "Bridge Board FRU is detected"
           FRUNAME     "SYSTEM"
           FRUADDRESS  0D
           FRUAREA "BOARD" VALIDATE "BRIDGEBOARD_FRU_IPMI"
           IFSET "BRIDGEBOARD_FRU_IPMI"
           //{
               FRUAREA "BOARD"
               PROBE FRUFIELD "PN" "AHWBPBGB24P    "    
               FOUND "PT_BRIDGE" "CONTINUE_PROBE"
           //{
           ENDIF
           IFSET "CONTINUE_PROBE"
                FRUAREA "BOARD"
                PROBE FRUFIELD "PN" "AHWBPBGB24R    "    
                FOUND "LSISAS3408" "CONTINUE_PROBE"
           ENDIF
           IFSET "CONTINUE_PROBE"
                FRUAREA "BOARD"
                PROBE FRUFIELD "PN" "AHWBPBGB24RCBB "    
                FOUND "PE_BRIDGE" "CONTINUE_PROBE"
           ENDIF
           IFSET "CONTINUE_PROBE"
                FRUAREA "BOARD"
                PROBE FRUFIELD "PN" "AHWBPBGB24     "    
                FOUND "LSISAS3008_6PORT" "CONTINUE_PROBE"
           ENDIF
           CLEAR  "CONTINUE_PROBE"
           CLEAR  "BRIDGEBOARD_FRU_IPMI"
        //}
        ELSE
        //{
          // If no FRU on the module, check for a Temperature sensor response.
	      // Probe the LSI3008 Temperature 
          PROBE "PING" "25" "9E"
          FOUND "LSISAS3008_Temp"
          IFSET "LSISAS3008_Temp"
            SET "LSISAS3008"	
          ENDIF		  
	       				 //}
	  ENDIF
	
	//12HDD HSBP does not support NVMe
	IFSET "24HDDHSBP"
	  IFSET "LSISAS3008_6PORT"
	    SET "ENABLE_NVME_FUNCTIONS"
	  ENDIF
	
	  IFSET "LSISAS3408"
	    SET "ENABLE_NVME_FUNCTIONS"
	  ENDIF

          IFSET "PE_BRIDGE"
	    SET "ENABLE_NVME_FUNCTIONS"
	  ENDIF
	ENDIF
	
        PROBE "IMBDEVICE" "0B"
        FOUND "RISER_1_FRU"

        IFSET "RISER_1_FRU"
           PROBE "IMBDEVICE" "10"
           FOUND "IFT_RISER1_AC"
           PROBE "IMBDEVICE" "11"
           FOUND "IFT_RISER1_A4"
        ENDIF

        PROBE "IMBDEVICE" "0C"
        FOUND "RISER_2_FRU"
				
        IFSET "RISER_2_FRU"
           PROBE "IMBDEVICE" "12"
           FOUND "IFT_RISER2_AC"
           PROBE "IMBDEVICE" "13"
           FOUND "IFT_RISER2_A4"
        ENDIF

      // }
      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   "EBCP-BNP"
          DISPLAY "Intel(R) Server Chassis H2000G Product Family"
        ENDIF

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

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

        IFSET "S2600BPQ"
          DISPLAY "Intel(R) Server Board S2600BPQ"
        ELSE
        IFSET "S2600BPP"
          DISPLAY "Intel(R) Server Board S2600BPB"
        ELSE
        IFSET "S2600BPS"
          DISPLAY "Intel(R) Server Board S2600BPS"
        ENDIF
        IFSET "S2600BPL"
          DISPLAY "Intel(R) Server Board S2600BPL"
        ENDIF
        ENDIF
        ENDIF

        IFSET    "PROCESSOR_1"
          DISPLAY "Intel(R) Xeon(R) Scalable Processor in socket 1"
        ENDIF

        IFSET    "PROCESSOR_2"
          DISPLAY "Intel(R) Xeon(R) Scalable Processor in socket 2"
        ENDIF

        DISPLAY "Baseboard FRU Device"

        IFSET     "STICKY_PS1_2130W"
          DISPLAY "2130 Watt Power Supply Module 1"
          DISPLAY "Power Supply Module 1 FRU Device"
        ENDIF

        IFSET "STICKY_PS2_2130W"
          DISPLAY "2130 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 "EBCP-BNP"
          DISPLAY "HSBP is a 2U 4 slot 3.5 inch HDD Backplane"
        ENDIF

        IFSET "24HDDHSBP"
          DISPLAY "HSBP is a 2U 24 slot 2.5 inch HDD Backplane"
        ENDIF

        IFSET "RISER_1_FRU"
          DISPLAY "Slot1 x16 PCIe Riser is detected"
        ENDIF

        IFSET "IFT_RISER1_AC"
          DISPLAY "IFT Carrier Populated on Slot1"
        ENDIF

        IFSET "IFT_RISER1_A4"
          DISPLAY "IFT Carrier Populated on Slot1"
        ENDIF

        IFSET "RISER_2_FRU"
          DISPLAY "Slot2 x16 M.2 PCIe Riser is detected"
        ENDIF

        IFSET "IFT_RISER2_AC"
          DISPLAY "IFT Carrier Populated on Slot2"
        ENDIF
		
        IFSET "IFT_RISER2_A4"
          DISPLAY "IFT Carrier Populated on Slot2"
        ENDIF
		
        IFSET "LSISAS3008"
          DISPLAY "LSISAS3008 Temperature is detected"
        ENDIF

        IFSET "LSISAS3008_6PORT"
          DISPLAY "LSISAS3008 Bridge Board is detected"
        ENDIF

        IFSET "LSISAS3408"
          DISPLAY "LSISAS3408 Bridge Board is detected"
        ENDIF

        IFSET "PE_BRIDGE"
          DISPLAY "PE Bridge Board is detected"
          SET "LSISAS3408"
        ENDIF

        IFSET "PT_BRIDGE"
          DISPLAY "Pass Through Bridge Board is detected"
        ENDIF

        DISPLAY "********************************************************************************"
      // }
      ENDIF

      //*****************************************************************
      // Set additional SDR tags based on chassis detected
      //*****************************************************************  
        
        IFSET "ENABLE_NVME_FUNCTIONS"
        ELSE
            SET "DISABLE_NVME_FUNCTIONS"
        ENDIF
      
      IFSET "2U4N_BP_X35"
        // Set additional SDR tags for the H2312 chassis
        CLEAR "INTRUSION" 
        SET "NO_INTRUSION" 
        SET "FP_NMI"
      ENDIF
      
      IFSET "EBCP-BNP"
        // Set additional SDR tags for the H2204 chassis
        CLEAR "INTRUSION" 
        SET "NO_INTRUSION" 
        SET "FP_NMI"
      ENDIF

      IFSET "24HDDHSBP"
        // Set additional SDR tags for the H2224 chassis
        CLEAR "INTRUSION" 
        SET "NO_INTRUSION" 
        SET "FP_NMI"
      ENDIF      
			IFSET "S2600BPL"
				IFSET "2U4N_BP_X35"
					CLEAR "2U4N_BP_X35"
					SET "BP_X35_LC"
				ENDIF
				IFSET "EBCP-BNP"
					CLEAR "EBCP-BNP"
					SET "EBCP-LC"
				ENDIF
				IFSET "24HDDHSBP"
					CLEAR "24HDDHSBP"
					SET "24HDD_LC"
				ENDIF
			ENDIF
	    
      IFSET "OTHER"
      // {
        //System Fans
        SET "FP_NMI"
        DISPLAY ""
        PROMPT  "Auto Detect Fan Population & Speeds (Y/N)?"
        YES     "OTHER_AUTO_FAN_DETECT"
        NO      ""

        IFSET "OTHER_AUTO_FAN_DETECT"
            FAN_AUTODETECT
            DISPLAY ""
            DISPLAY "Make sure to go into BIOS setup and choose the appropriate setting for"
            DISPLAY " 'Acoustic' or 'Performance' depending on your system thermal needs."
        ELSE

        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      ""

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

        DISPLAY " "
        PROMPT  "Is System Fan 7 installed (Y/N)?"
        YES     "OTHER_FAN_7"
        NO      ""
        DISPLAY " "
        ENDIF
        CLEAR "BCP_2U4N"
        CLEAR "SYS_FAN_2U4N"
        CLEAR "2U4N_BP_X35"
        CLEAR "EBCP-BNP"
        CLEAR "24HDDHSBP"
        CLEAR "TEST_PLATE"
        CLEAR "STICKY_PS1_2130W"
        CLEAR "STICKY_PS2_2130W"
        CLEAR "STICKY_REDUNDANT_PS"
        CLEAR "HSBP_TEMP"
				CLEAR "BP_X35_LC"
				CLEAR "EBCP-LC"
				CLEAR "LSISAS3008"
				CLEAR "24HDD_LC"
      // }
      ENDIF

      IFSET "SHIPPING"
      // {
      	CLEAR "BCP_2U4N"
        CLEAR "SYS_FAN_2U4N"
        CLEAR "2U4N_BP_X35"
        CLEAR "EBCP-BNP"
        CLEAR "24HDDHSBP"
        CLEAR "TEST_PLATE"
        CLEAR "STICKY_PS1_2130W"
        CLEAR "STICKY_PS2_2130W"
        CLEAR "STICKY_REDUNDANT_PS"
        CLEAR "HSBP_TEMP"
				CLEAR "BP_X35_LC"
				CLEAR "EBCP-LC"
				CLEAR "24HDD_LC"
        // Set additional SDR tags for the SHIPPING chassis
      // }
      ENDIF

      IFSET "TEST_PLATE"
      // {
        //System Fans
        SET "FP_NMI"
        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      ""

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

        DISPLAY " "
        PROMPT  "Is System Fan 7 installed (Y/N)?"
        YES     "SYSTEM_FAN_7"
        NO      ""
        DISPLAY " "

        CLEAR "BCP_2U4N"
        CLEAR "SYS_FAN_2U4N"
        CLEAR "EBCP-BNP"
        CLEAR "2U4N_BP_X35"
        CLEAR "24HDDHSBP"
				CLEAR "BP_X35_LC"
				CLEAR "EBCP-LC"
				CLEAR "24HDD_LC"
      // }
      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_2130W"
      CLEAR "PS2_2130W"
      CLEAR "CONTINUE"
    
      // Update the SDR Repository with selected records
      IFSET "SKIP_UPDATE"
        // Do nothing
      ELSE
        // Update SDR Repository
        SDRNAME   "S2600BP.sdr"

        // Run the init agent so new SDR data is read and used
        RUN_INIT_AGENT
      ENDIF
    // } // SDR
    ENDIF
      
    //*****************************************************************************
    // 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_KNP_FRU"
          DISPLAY " "
          DISPLAY "FRU Board P/N data is invalid."
	  CLEAR "NO_KNP_FRU"
        ELSE
        // {
          DISPLAY     " "

          IFSET       "S2600BPQ"
              FRUNAME     "S2600BPQ.fru"
          ELSE
             IFSET "S2600BPS"
                    FRUNAME     "S2600BPS.fru"
              ELSE
             			IFSET "S2600BPL"
                        FRUNAME     "S2600BPL.fru"
                  ELSE
                    FRUNAME     "S2600BPB.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      ""
          DISPLAY     " "

          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

            DISPLAY     " "

          // }
          ENDIF
        // } FRU PN
        ENDIF
      // } FRU
      ENDIF
    // } Asset
    ENDIF
  // }  Not EXIT1
  ENDIF
// }  S2600KP
ENDIF

