DLPU081B January 2019 – January 2024 DLPC3479
Table 3-119 describes the write parameters.
Parameter Bytes | Description |
---|---|
Byte 1 | Flash data type (See below) |
Byte 2 | Optional: Partial data identifier (See Byte 1 Below) |
Byte 3 | Optional: Partial data identifier (See Byte 1 Below) |
Byte 4 | Optional: Partial data identifier (See Byte 1 Below) |
MSB | Byte 1 | LSB | |||||
---|---|---|---|---|---|---|---|
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
Bit | Type | Description - Flash data type |
---|---|---|
7-0 | W | Entire flash 00h = Entire flash 01h = Reserved 02h = Entire flash except user calibration data and user scratchpad data 03h - 0Fh = Reserved TI software 10h = Main software application 11h - 1Fh = Reserved TI application data 20h = TI application data set (AOM) 21h - 2Fh = Reserved User batch files 30h = User batch files 31h - 3Fh = Reserved Look data 40h = Look data set 41h - 4Fh = Reserved Sequence data 50h = Entire sequence data set 51h = Entire sequence data set (Reads only) 52h - 5Fh = Reserved Degamma/CMT data 60h = Entire degamma/CMT data set 61h = Partial degamma/CMT data set (reads only) 62h - 6Fh = Reserved CCA data 70h = CCA data set 71h - 7Fh = Reserved General LUT data 80h = CCA data set |
The flash data type command must be provided each time a new flash write or read operation is desired to ensure that the appropriate data type parameters are provided. The system expects four parameter bytes regardless of whether all four bytes are needed. Any unused bytes should be set to zero.
The flash data length must be provided to indicate the amount of flash data that will be provided for each write or read transaction.
The specified flash data will be written to or read from flash using the Write Flash Start (E1h), Write Flash Continue (E2h), Read Flash Start (E3h), and Read Flash Continue (E4h)commands.
While all of the flash data sets indicated can be written/replaced in their entirety, a few will also support partial writes/updates. Partial update command parameters will use an “odd” command number (for example, 91h, B1h) which will indicate that one to three additional command parameter bytes of information must be provided to specify which subset of data is to be updated. The additional command parameter data required is described below.
Data Type (Writes Only) | 2nd CMD Parameter (Byte 2) | 3rd CMD Parameter (Byte 2) | 4th CMD Parameter (Byte 2) | Comments |
---|---|---|---|---|
Partial user splash screen set | Splash number | N/A | N/A | A splash screen will be specified by its splash screen number |
Partial user scratchpad data set | Sector number | N/A | N/A | If this data set is allocated more than one sector, each sector can be specified (0 = 1st sector, 1 = 2nd sector, and so forth) |
Partial sequence data set | Look number | Sequence index number | A sequence data set will be specified by its sequence index number. | |
Partial CMT data set | Look number | Sequence index number | A CMT data set will be specified by its CMT index number. | |
Partial user splash screen set | Splash number | N/A | N/A | A Splash screen will be specified by its Splash screen number. |
Partial user scratchpad data set | Splash number | Sub-sector address (LSB) | Sub-sector address (MSB) | If this data set is allocated more than one sector, each sector can be specified (0 = 1st sector, 1 = 2nd sector, and so forth) The host is also allowed to specify the start address within the sector specified in byte 2. This address needs to be a relative address within the specified sector (that is, the value can range from 0 to 4096), and must be a 32-bit aligned byte address. |
While all of the flash data sets indicated can be read starting at the beginning of the data set, a few will also support read starts at the beginning of a data subset. The partial update command parameters which use an “odd” command number (for example, 41h, 43h, 75h) will indicate that one to three additional command parameter bytes must be provided to specify the start location for these reads. The additional command parameter data required is described in the previous table.
It is expected that all TI formatted factory calibration data, including the golden ratio, the power-up RGB currents, and the user thermister LUT trim data, will be stored in the user calibration block of the flash. It will be the responsibility of the user to manage updates to this block, which may require the user to read the entire block, modify, and then rewrite the entire block when making an update within the block.
While flash processing requires that flash commands be executed in the proper order (for example, flash must be erased prior to being written), due to the flexibility provided for flash updates, command order checking is not provided.
It is recommended that the user make use of the Read Flash Update PreCheck (DDh) command before updating an existing flash build.
The system allows the user to allocate up to four separable blocks of flash space for their own use (user scratchpad data). The user can also specify the size of each of these blocks, where each block can be one or more sectors in (one sector = 4 kB). This is all defined via the GUI. It is the responsibility of the user to manage these data sets, including updates, which may require the user to read an entire sector, modify, and then rewrite the entire sector when making an update within a sector. References to an unavailable data set will result in an invalid command parameter value error in the communication status.