jKeys IRD and Flash Definitions =============================== !!!!!!!!!!!!!!!!!!!!!!! A NOTE ON MODIFYING THE JKEYS.DEF FILE !!!!!!!!!!!!!!!!!!!!!! Feel free to add definitions to the jkeys.def file and re-distribute, it is precisely why it was designed for. However, when adding a new Micro, IRD, FLASH, Flash Manufacture, etc.... add it in the next numerical sequence. It may look nicer if you move a few definitions around to insert a new one you've found but there are some relations (such as Micro used in IRD definitions) which must also then be changed. This makes it difficult later when trying to combine modifications from several people into a single file for new distributions. jKeys IRD and flash definitions are now detailed in the jKeys.def file. Upon start up, jKeys will parse this file to read in all possible IRD configurations and flash IC definitions, thus making it more accessible to everyone to add new entries as required. The format of the file is straight forward. There are syntax tests performed on entries as they are read and conformity tests once completed. If there is an error detected while loading, jKeys will indicate the error and may abort loading the particular definition, or abort operation completely all depending on the nature of the problem. Lines may have white space at the beginning, between parameters, or at the end of the line. Remarks can be used by using the double forward slash // A remark is assumed from the // to the end of the line. Release ------- A single entry made for release information used for jKeys to identify version changes. Release 1,0,0 Signifies release 1.0.0. Microprocessor JTAG Identification Codes ---------------------------------------- The ID Codes are used to identify the associated processor. The following shows the definition for the STi5500. Micro, 1, 1, "STi5500", 0xd4c9041, 0xfffffff Where: Micro - indicates the line contains microprocessor ID information 1 - is an index number used for cross referencing 1 - JTAG device 1 - for JTAG and STiXX00 (STi based micro) 2 - for EJTAG and LSI SC2000 "STi5500" - name of microprocessor 0xd4c9041 - JTAG Identifier 0xfffffff - JTAG ID mask NOTE - valid identifications must be made prior to specifying that in the IRD definitions below. IRD Defintions -------------- IRD Definitions indicate how jKeys should identify the device and various default settings. For each IRD there are a fixed set of parameters. If one is missing, then an error will occur. Each of the parameters are comma seperated and must be on a single line The following is the definition for the 2700. IRD, 1, "2700", 1, 1, 1, 1, 2, 2, 0x7FFFFFC0, 0x7FFFFFC4, 0x7FFFFFA0, 0x7FFFFFA8, 0x7FFEFFC4, 0x7FFEFFC7, "10G", 1, 1 Where: IRD - indicates the line is an IRD definition 1 - is an index number used for referencing other components (ie flash chips), must be unique, sequential numbering "2700" - name of IRD, used to represent in various fields 1 - micro definition cross reference (see above) 1 - JTAG IO connections 1 - x7/8/9xx series IRDs, has BS1 and IRD Reset (also used for generic) 2 - 3100/301 IRD (LSi microprocessor) 3 - 5100/501 IRD, has BS1 and IRD Reset 4 - 6000 IRD 1 - IRD manufacturer 1 - for E* mfg 2 - for Dir3ctTV 1 - JTAG device 1 - for JTAG and STiXX00 (STi based micro) 2 - for EJTAG and LSI SC2000 2 - Data width in bytes (typically 2, being 16 bits) 2 - Data delta in bytes 0x7FFFFFC0 - Absolute memory address of IRD number 0x7FFFFFC4 - Absolute memory address of Box Keys 0x7FFFFFA0 - Absolute memory address of Boot Strap 0x7FFFFFA8 - Absolute memory address of Build Config 0x7FFEFFC4 - Absolute memory address of Model ID 0x7FFEFFC7 - Absolute memory address of Software Version "10G" - Model ID (assists in identifying IRD) 1 - EEPROM Type 0 - None 1 - 24LC16 2 - 24C32 3 - 24C64 4 - 24C65 5 - 24C128 1 - EEPROM Interface to microprocessor 0 - None 1 - STI micros using Pio1:7,2,0 for Enable, SCL, SDA 2 - STi micros using Pio2:6, Pio3:2,0 for Enable, SCL, SDA 3 - LSI based DP301 4 - STI micros using Pio1:2,0 for SCL, SDA IRD Flash Defintions -------------------- IRD Flash definitions provide jKeys with the default flash chip(s) for a previously defined IRD. There can be multiple flash chips per IRD definition. The following is a flash definition for the above defined 2700: IRDFlash, 1, "Flash 1(29F400)", 0x2223, 0x7FF80000, 0x80000, 2, 2, 0 Where: IRDFlash - Indicates the line is an IRD definition 1 - References the IRD definition, in this case the 2700 defined above (must be previously defined) "Flash 1(29F400)" - Name of the flash 0x2223 - Flash ID 0x7FF80000 - Absolute memory starting address 0x80000 - Size in bytes 2 - Data Width of flash in bytes 2 - Data Delta of flash in bytes 0 - Data Offset of flash in bytes Flash Definitions ----------------- Flash definitions identify the Flash ID and associated programming algorythms and memory structure. The following is the definition used for a 29F400BT Flash, 1, "29F400BT", 0x2223, 0x80000, 1, 1, 0, 1, 11, 1 Where: Flash - Indicates the line is a Flash definition 1 - Index number used for referencing other parameters of this flash (ie sector definitions), must be unique, sequential numbering "29F400BT" - Name used to represent the flash 0x2223 - Flash ID 0x80000 - Flash size in bytes 1 - 8 bit data width possible, 1 - TRUE, 0 - FALSE 1 - 16 bit data width possible, 1 - TRUE, 0 - FALSE 0 - 32 bit data width possible, 1 - TRUE, 0 - FALSE 1 - Flash algorythms 1 - those commonly used by 29x flash 2 - those commonly used by 28x flash 11 - number of sectors 1 - Whole flash erasable (as opposed to sector by sector only), 1 - TRUE, 0 - FALSE Flash Sector Definitions ------------------------ Flash sector definitions provide the sector organization of a previously defined flash. The following sector definitions are for a 29F400BT. Sector, 1, 8, 0x00000, 0x10000 Sector, 1, 1, 0x70000, 0x8000 Sector, 1, 1, 0x78000, 0x2000 Sector, 1, 1, 0x7A000, 0x2000 Sector, 1, 1, 0x7C000, 0x4000 For the first definition, the following parameters are: Sector - Indicates the line is a Sector definition 1 - References the Flash definition, in this case the 29F400BT above 8 - The number of sectors 0x00000 - The offset of the sector or beginning offset for multiple sectors 0x10000 - Sector size (if multiple all will be the same size) NOTE - sector definitions must be in order of increasing memory offset and the number of sectors and total size must match that of the referenced flash definition. Flash Manufacturer Code Definitions ----------------------------------- Flash manufacturer codes are defined to enable jKeys to identify then and then display the name to the user. The following is the flash manufacturer code defintion for AMD. FlashMfg, 0x01, "AMD" Where: FlashMfg - Indicates the line is a Flash Manufacturer Code definition 0x01 - Is the corresponding code read from the flash to identify this manufacturer "AMD" - Name of the manufacturer