Patch-ID# 112500-01
Keywords: CP2040 OBP and SMC Flash PROM update
Synopsis: PROM: CP2040 OBP and SMC Flash PROM Update
Date: Feb/15/2002

Solaris Release: 8

SunOS Release: 5.8

Unbundled Product: CP2040

Unbundled Release: Firmware:1.0.1
NOTE:   SMC Firmware Release 3.4.4 Platform ID 10
	Firmware CORE Release 0.0.22 created 2001/10/12 15:41
        Release 4.0 Version 27 created 2001/10/31 09:31
        cPOST version 1.0.3 created 2001/9/24
   Note:  This release needs the followings to work properly: 
             FPGA Version 1.0 and up.
             PLD Version 1.2 and up.


Xref: 

Topic: 

Relevant Architectures: sparc
NOTE: sun4u ultra2e, smc

BugId's fixed with this patch: 4498211 4498962 4499567 4511968 4511999 4512653 4515376 4515448 4515897 4516023 4517417 4517963 4521278

Changes incorporated in this version: 4498468 4504115 4492844 4506358 4512514 4512210 4508075 4507071 4512648 4515484

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

   Othello_Release.html
   Patch_112500_README.html
   README
   Update.othello.sparc.fw.1.0.1@OS
   cp2040_smc_3.4.4.flash.bin
   cp2040_smc_3.4.4_release.html
   obp-flash-update.README
   othello.sparc.fw.1.0.1
   smc_flash_update_instr.txt
Patch_112500_README.html

Problem Description:

4498468 RFE : Need global firmware version number for obp,core,cpost,obdiag combination
 
4499567 Temporary change of the input device dumps out random numbers.
 
4498962 Setting diag-switch to false, system comes up with additional messages.
 
4498211 Othello OBDiag failed to ebus test, and hung at Testing ebus@flashprom@10,800000
 
4504115 RFE: Flush SMC buffer if SMC is not in iddle state before sending msg at powerup
 
4492844 RFE: 128Mb Intel userflash couldn't recognize by obp
 
4506358 RFE : Copy manufacturing date,board serial number etc from FRU to NVRAM variable
 
4512514 OBP support for OEM configuration variable backup in system flash
 
4511999 obdiag loads rio ebus selftest when cheerio ebus is delected in makaha alarmcard
 
4511968 znb (Znyx Netblaster - Release 2.3.5) driver does not attach at solaris
 
4512210 RFE : Start netconsole monitor at obp if input/output set to net console
 
4508075 RFE: Support for SW control of HAHS signals (DCL requirements) in OBP
 
4507071 RFE: Include DMA tests in cPOST
 
4512648 RFE: Add clock-ratio property under root node
 
4512653 OBP .speed command doesn't cover all possible values of Phantom cpu clock-ratio
 
4515448 "printsmcenv" does not list the 16th field (Byte 0x10).
 
4515376 blue led on SBC turning on after dropping from solaris to OBP.
 
4515484 RFE: HA signals checking needs to be modified to work with new SMC&DCL interface
 
4515897 glm fcode should use READ CAPACITY to find out the block size
 
4516023 OBP should not boot if the latch is left open on SBC or Satellites.
 
4517417 SAT's getting continues reset, if they are in reset-mode 11.
 
4517963 After unconfiguring othello SAT blue led remains off
 
4518567 soft reset on othello hangs when input/output-device is set to ttye
 
4521278 show-devs often prints out Fast Data Access MMU Miss

Patch Installation Instructions:
-------------------------------- 
 
Intro
-----
 
    This README is intended for users who wish to upgrade the firmware
    in their CP2040 <Othello> system Flash PROM.  
 
 
Summary of the Patch Installation Process:
------------------------------------------
 
The installation shall comprise of the following steps
 
1)  Determine the system's current Flash PROM firmware revision.
 
2)  Compare the current Flash PROM firmware revision with the available or 
    latest Flash PROM firmware revisions.
 
3)  If the current Flash PROM firmware revision is lower than the latest
    available firmware revision in this patch, then proceed to the next step. 
    If NOT, STOP: DO NOT CONTINUE.
 
4)  Updating SMC Firmware
 
5)  Updating SPARC Firmware
 
 
Detail Patch Installation instructions
======================================
 
The required steps are explained in greater detail below.
 
1)  Determine the System's Current Firmware Revisions
    -------------------------------------------------
 
    While the OS is running the following command may be used to
    determine the current system firmware revisions;
 
        /usr/sbin/prtconf -V
        or
	/usr/platform/sun4u/sbin/prtdiag -v | grep OBP
 
    The firmware revisions may also be determined from the PROM monitor's
    "ok" prompt with the following command;
 
	.version
 
2)  Compare the current Flash PROM firmware revision with the available or 
    latest Flash PROM firmware revisions.
 
    Compare the output of the OBP line in the "prtdiag -v" or "prtconf -V"
    output. Find the revision number and compare with the revision on the
    entries below
 
      Available Firmware Revisions
      ----------------------------
 
   Firmware version 1.0.1
   SMC Firmware Release 3.4.4 Platform ID 10
   Firmware CORE Release 0.0.22 created 2001/10/12 15:41
   Release 4.0 Version 27 created 2001/10/31 09:31
   cPOST version 1.0.3 created 2001/9/24
 
 
3)  Is the UPGRADE NECESSARY?
 
    If the current Flash PROM revision matches the version numbers given, 
    then STOP Here. This UPGRADE IS NOT NECESSARY.
 
    If the current Flash PROM firmware revision is lower than the latest
    firmware revision in this patch, then proceed to the next step.
 
 
4) Updating SMC Firmware
 
	  1. Requirements
   	    a. Network connection. 
               This is needed if the file is not stored locally, but stored
               on the server.
               You will need to make sure that the board you want to update
               can access the server.
            b. Binary file that contains the new code.
               The file name should have .bin suffix and the version number.
            c. Serial port connection to the SPARC side.
               Either on the front panel or on the Transition Card.
	    d. Terminal (tip line).
	       If using SUN's workstation, for example:
	       tip -9600 /dev/ttya, 
	       to connect to ttya.
	    e. Must be performed at the OBP level, at the ok prompt.
 
	  2. Procedure
	    a. Bring the board you want to update to the OBP ok prompt.
	    b. Type the following:
      		smc-flash-update filename
	       Where filename is the file name of the 
	       binary file that contains the new code.
	       The board will automatically perform smc-flash-update, 
	       and resets it when it is done.
 
	  3. Error recovery.
	    From time to time, you may run into problems, such as when
	    network connection is suddenly broken, or when
	    someone accidentally trip the power switch or trip on the
	    network cable , or memory error at the SPARC side 
	    while flash update is pending,
	    that would prevent the new code to be loaded completely.
	    We have provided error recovery mechanism.
	    If any of these happen, after reset, you will notice that
	    the OBP will print the version number other than
	    the version number that you intend to program into the board's
	    code memory (such as version 0.0.0), furthermore, it may look
	    like the OBP does not communicate with the SMC anymore.
	    This is normal, since
	    when the flash update encounters problems like those described
	    above, the OBP will filter any commands, except
	    commands to the SMC that are related to flash update.
	    Therefore, you should not type any other commands except
	    retry smc-flash-update command, by re-typing
	    smc-flash-update filename
	    at the ok prompt.
 
 	  4. Compatibility.
 
	    For CP2040:
	      If you have boards that have SMC version older than
	      3.4.X (i.e: 3.3.X or older), you can't perform smc-flash-update 
	      on those boards. SMC version 3.4.X requires more code space that
	      older boards can't handle.
	      The boards that we support for CP2040 are P1C.
	      The boot code must be version 3.15.6.
	      (The subject on boot code will be covered in another section).
 
	    For CP2060 or CP2080:
	      The boot code must be version 3.15.3
 
	    For each releases, the release note covers in details
	    the compatibilities between OBP, SMC, PLD and FPGA
	    version. Please refer to the release note.
	    Any incompatibilities between two or more of those
	    items may cause the boards to fail, and you may have to
	    return the boards to SUN
 
	  5. For developers and advance users only.
	    This section covers how to update the boot code
	    WARNING !!!!
	      In most cases you will not have to touch the boot code.
	    The boot code has been pre-programmed at the factory with
	    the latest and correct version.
	    Do NOT touch the boot code unless you are
	    absolutely sure that you must do so.
	    Again, as stated above, you can't perform smc-flash-update
	    if your CP2040 boards has SMC version number older than 3.4.X,
	    the boot code can't be flash updated either.
 
	    From time to time we were asked how do we know if
	    the board has the correct boot version. 
	    You have to read the release note for the existing
	    version, and compared against the new version to find out
	    if the board can be updated in the field, or
	    the board must be returned to us for upgrade.
	    If the board can't be updated in the field,
	    it must be shipped back to SUN, we use
	    different equipment to upgrade.
	    If it is determined that the boot code must be upgraded
	    along with the flash code, here is
	    the procedure:
	    a. Please make sure that your flash code is working properly.
	    	    If you attempt to update the boot code while your
	    	    flash code is corrupted, your board will fail permanently.
	    	    You can type .version command the the OBP level 
		    (at ok prompt),
	    	    If the SMC version number printed is the correct one,
	    	    the flash code is working properly. 
	    	    If you are running from the boot code, that means
	    	    that the main flash code is corrupted, therefore, you must
	    	    do smc-flash-update of the main flash code.
	    	    If .version output does not show SMC version,
	    	    this means you are running from the boot code.
	    b. at ok prompt, type:
	    	    smc-flash-update filename
	    	    where filename is the file name of the boot code.
	    c. If you must update both the boot code and flash code,
	    	    please update the boot code first, then the flash code.
	    	    Always read the release note, in case of exception.
 
	  6. Misc. Note
	    It is recommended that customers contact their Sun FAE (Field
	    Application Engineer) before attempting to do flash update. 
	    Some boards may need hardware upgrade if they have the 
	    older version.
 
 
5) Updating SPARC Firmware
 
  	  1. Login as "ROOT" (Super User Access)
 
          2. Make sure the Update.othello.sparc.fw.x.x.x@OS has execute 
            permission.
	    To change the permissions type the following command:
 
	    $ chmod u+x <filename>
 
          3. Execute the script:
 
	    $ ./<filename>
 
	    Enter "C" to continue when prompted for
 
	  4. Halt the system to drop to OBP after the flash update process 
	     completes successfully then do power cycle the system.
 
	    $ sync; halt
 
	    Power Cycle the system 
 
 
	  5. Updating the SPARC Firmware (POST + OBP) from OBP ok prompt
 
	    a. Break into OBP before it starts booting the Solaris
 
	    b. At OBP ok prompt type the command with the following format:
 
	       ok flash-update <device>:,/<filepath> [destination PROM]
 
	       <device>    can be full path or the device alias to the
			   device (node) where the binary file resides
 
	       <filepath>  file name with complete file path
 
	       [destination PROM] optional. If specified must be device path or 
                                  alias to the destination flash device where 
                                  the image will be flashed. If not specified 
                                  then system flash is assumed as default.
 
 	       The following examples show the command usage to flash image 
               onto the system flash (destination PROM path is not specified):
 
	       Over the network (assuming net is the device alias to the network 
               device)
 
	       ok flash-update net:,/home/abcd/binary/othello.sparc.fw.x.x.x
 
 
	       From SCSI/IDE disk (assuming disk is the device alias to the 
               target disk)
 
	       ok flash-update disk:,/othello.sparc.fw.x.x.x
 
	       From SCSI/IDE cdrom (assuming cdrom is the device alias to the 
               target drive)
 
	       ok flash-update cdrom:,/othello.sparc.fw.x.x.x
 
	   c. Power cycle machine when flash update is completed.

Special Install Instructions:
----------------------------- 
 
Please refer to respective README files in  SMC and SPARC sub-directories for 
additional information.

README -- Last modified date:  Friday, February 15, 2002

