This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB9261: Firmware Change log

Part Number: TUSB9261

I need a copy of the change log for the firmware. The current version is 1.06 and we are using 1.03.

I want to know the changes to determine if we need to use 1.06.

  • Hi Donald.

    Yes, we do have a change log for firmware, I will post the notes we have for between V1.03 and V1.06.

    v1.06 - 04Jan2018
    -----------------
    - Increased SATA Identify Device command timeout from 2 sec to 7 sec to support select SSDs.
    - Disabled 4KB sector emulation (ENABLE_LARGE_SECTOR_EMULATION in ahci.h) for HDDs larger than 2.2TB to allow formatting compatibility with other SATA hosts. 
      - HDDs larger than 2.2TB will have limited capacity under WinXP.
      - HDDs larger than 2.2TB formatted with older firmware versions may need to be reformatted. 
    - Added support for write FUA (Forced Unit Access).
    - Added support for ACTIVE, IDLE, and STANDBY power condition for START/STOP UNIT SCSI command.
    - Added support for SCSI READ CD command with transfer length > 64KB to fix audio CD reading under Linux operating system.
    - Fixed some UAS disk compatibility issues. (Note: UAS still fails USB-IF CV test and is disabled by default)
    - Optimized code to improve throughput with transfer sizes < 64KB.
    - Added support for logical block provisioning management (LBPME) and LBPRZ bits in READ CAPACITY (16) response per SAT-4 spec.
    - Added support for ANC_SUP, LBPRZ, and LBPU bits in logical block provisioning VPD page per SAT-4 spec.
    - Fixed Klocwork errors. Clean except for infinite loop in main() which is not a problem.
    - Updated build scripts to use CCS ARM 5.1.14 toolchain.
    - Increased optimization level to -o3 (was -o2) 
    
    v1.05 - 03Oct2014
    -----------------
    - Updated fixed format sense info for ATA PASS-THROUGH commands per SAT-3r02 spec.
    - Increased delay at the end of usb_hal_disconnect() to 500ms to ensure device disconnect is detected by host.
    - Added FORCE_GEN1_SPEED macro to ahci.h for testing SATA Gen-1 speed.
    - Added parsing of SATA model number info to extract Vendor ID instead of using SAT-3 spec Vendor ID of "ATA" for standard inquiry response. If the drive is not ready, "TI-DSG TUSB9261" will be returned for vendor and product ID.
    - Fixed Klocwork errors.
    - Forced UAS to be disabled regardless of external descriptors until compatibility issues can be resolved.
    - Updated SW license terms and added manifest.
    - Updated build scripts to use CCS v5.1.8 toolchain.
    
    v1.04 - 10Feb2014
    -----------------
    - Fixed compile options for swapping SATA Rx polarity.
    - Fixed REMOVEABLE_MEDIA_DEVICE=1 compile option:
      - Fixed SCSI START STOP UNIT command and added placeholder for physical eject code.
      - Prevent system reset when port reset fails in ahci_interface_error_isr().
    - Removed compile option for disabling USB SSC based on GPIO11 value from usb_hal_init().
    - Modified gio_init() to setup GPIO1 and GPIO5 as inputs for U1/U2 disabled FW.
    - Moved SW heartbeat from GPIO0 to PWM1.
    - Removed FS/HS connection indicator (GPIO6).
    - Added HID command for configuring GPIO as an input.
    - Added support for CS1 and CS2 in SPI module.
    - Optimized SPI code.
    - Added reconnect to USB as removable media device if HDD is removed or powered down. 
    - Restored system reset if SATA Identify Device command times out to improve robustness. (This may cause a problem with SATA compliance testing if the test equipment does not send a response)
    - Fixed USB Data-IN missing for ATAPI device when BOT CBW transfer length is less than SATA transfer size by increasing PRDT transfer size for non-RW Data-IN to 64KB.
    - Fixed potential USB enumeration failure after physically jamming disc eject.
      - Disable SATA interrupts when performing LUN reset and clear D2H Register FIS interrupt before re-enabling SATA interrupts.
      - Modified achi_isr() to ensure interrupt status is cleared regardless of the enable mask. 
    
    v1.03 - 05Sept2013
    -----------------
    - Limited range check for TI-defined SCSI commands to 0xE0 - 0xE7 range to allow other commands to pass-through. Previous range was 0xC0 - 0xFF.
    - Added command length check (6-bytes) for TI-defined SCSI commands to 0xE0 - 0xE7 to allow other 12 and 16-byte vendor commands to pass-through.
    - Modified UAS module to set command block length to 6-bytes for TI-defined SCSI commands.
    - Fixed overwriting serial number length and descriptor type field with Die ID value when serial number descriptor is less than 16 characters. (First 16 characters of the serial number will be overwritten with the Die ID)
    - Fixed potential SCSI UNMAP command timeout when formatting SSD.
      - Modified SCSI block limits VPD page to change Max UNMAP LBA count from 0xFFFFFFFF to 0x003FFFC0 * Max blocks per DSM command (IDENTIFY DEVICE word 105).
    - Fixed active resume failure for bus-powered devices when power is turned off during S3/S4.
      - Modified main() to connect to USB before initializing SATA.
      - Modified BOT and UAS idle functions to only start receiving mass storage commands when the SATA device initialization is complete or there is no device attached.
    - Modified ATAPI commands to use PIO mode instead of DMA for transfers less than 32-bytes.
    - Modified scsi_atapi_cmd_handler() to support ATA PASS-THROUGH commands.
    - Modified SCSI READ FORMAT CAPACITIES to return formattable capacity descriptor.
    - Removed ahci_fis_rx_enable() function and inlined code into ahci_init_port().
    - Removed INQUIRY data change compile option (feature is not supported by Windows).
    - Fixed UAS hang during disk format or CDM3 4K QD32 test under Win8.
    - Fixed USB-IF CV UASP test failures. 
    - Fixed intermittent UAS disk detection when REMOVEABLE_MEDIA_DEVICE=1.
    - Optimized AHCI ISR for single port usage.
    - Modified 'Set GPIO Output' HID command to change GPIO10 into an output. (GPIO10 is an input by default)

    Please keep in mind that at this time, we have limited support for the TUSB9261 firmware, so we will not be able to provide any software developments assistance should the need arise. We provide the firmware in the hopes that users will be able to use it as a starting point for any software development needs they may have.

    Please let me know if you have any other questions.

    Thanks,

    Ryan