PDK/PDK TDA Release Notes

From Texas Instruments Wiki
Jump to: navigation, search
Pdk tda home page.png

PDK TDA Version 01.08.00

Release Notes
16th October 2017

Important Note

This release is for TDA3xx, TDA2Px, TDA2xx, TDA2Ex and TDA2Ex 17x17 platforms.


This release notes provides important information that will assist you in using the PDK software package. This document provides the product information and known issues that are specific to the PDK software package.

New in this Release

  • TDA2Px PG1.0 support
    • CAL capture on TDA2Px
    • ISS on TDA2Px
    • MCAN on TDA2Px
    • LP87565 TDA2Px EVM PMIC
  • TDA2EX Ethernet Surround view board support
  • VPS
    • Init params added to support configurable interrupt numbers for VIP, DSS, ISS/CAL and VPE drivers
    • DSS M2M YUV422I_UYVY Input and Output format support
    • UB95x support
  • Radar:
    • Support for multi-AWR12 radar configurations
    • Support for SPI communication to AWR12 over FPDLink Back Channel.
  • Bug Fixes (Refer Fixed in this Release section)

Installation and Usage

Installation and Usage of the PDK package could be found at PDK Software Developer Guide

Upgrade and Compatibility Information

  • Radar
    • For ES2.0 AWR12 devices, the firmware needs to be upgraded to the 0.9 mmwave_dfp firmware or above.
    • The driver has been updated to support multiple AWR12 devices. Kindly note the changes in the structures Bsp_Ar12xxInitParams and Bsp_Ar12xxDevInitParams, and APIs Bsp_ar12xxGetConfiguredParam, Bsp_ar12xxGetWidthHeight, Bsp_ar12xxEnableDummySource and Bsp_ar12xxSwitchConfig.
    • The ldoBypassCfgArgs has been added to the configuration structure Bsp_Ar12xxConfigObj.
    • A new API Bsp_ar12xxGetConnType has been added to find the connection type based on the board.


This release requires following tools/packages to be installed.

  • Code Composer Studio Version: CCS 5.4, CCS 5.5 or CCS 6
  • XDC Tools Version:
  • BIOS Version:
  • CG Tool (TMS470) Version: 16.9.1.LTS
  • CG Tool (C6000) Version: 7.4.2
  • CG Tool (ARP32) Version: 1.0.7
  • GCC Tool (Linaro) Version: 4.9-2015q3
  • MMWAVE DFP: (Only for AR1xx Radar)
  • MSHIELD DK: 4.5.3 (Only for TDA2xx HS build)

Devices Supported

  • TDA3xx PG1.0, PG2.0
  • TDA2xx PG1.0, PG1.1, PG2.0
  • TDA2Px PG1.0
  • TDA2Ex PG1.0, PG2.0
  • TDA2Ex_17x17 PG1.0

Application Boards Supported

  • Base Board
    • TDA3xx Base EVM
    • TDA2xx Base EVM
    • TDA2Px Base EVM
    • TDA2Ex Base EVM
    • TDA2Ex 17x17 Base EVM
  • Daughter Board
    • LCD board (480P, 720P, 1080P)
    • TDA3xx Multi-deserializer board
    • TDA3xx UB960 EVM
    • TDA3xx RVP board
    • TDA2xx/TDA2Ex/TDA2Px Vision application board
    • TDA2xx/TDA2Ex/TDA2Px Vision application board with Multi-deserializer board
    • TDA2xx/TDA2Ex/TDA2Px JAMR3 application board

What is Supported

  • CSL:
    • Mailbox, Spinlock, EDMA, OCMC, MMU, Timer
    • DCAN, MCAN
    • RTI, CRC, ESM, ADC, DCC, L3FW, L4FW, WDTimer
  • VPS Drivers:
    • VIP Capture
    • VPE M2M
    • DSS Display
    • DSS Capture Writeback
    • DSS M2M Writeback
    • CAL Capture
    • ISS M2M
  • Secondary Bootloader (SBL)
    • SBL Library
    • SBL Utility Library
    • QSPI Flash Library
    • NOR Flash Library
    • SBL Application
  • BSP LLD (GIO/IOM drivers): UART, McSPI, I2C
  • STW LLD: FATLIB, I2C LLD, UART console
  • IPC LITE Library
  • L3/L4 Firewall Library
  • Diagnostics Library


For details on features, refer to PDK_Requirement_to_Test_Traceability_Report.xlsx under <PDK_INSTALL>/docs/traceability folder.

Supported/Validated Examples

For details on supported/validated examples, refer to test report of each platform under <PDK_INSTALL>/docs/test_report/<platform> folder.

Fixed in this Release

Fixed in this Release
ID Headline Module Affected Versions
PDK-1927 ISS capture batemetal example is not working on TDA3xx ISS PDK_TDA_01.07.00
PDK-1984 ISS simcop: RSVP use case fails on TDA3xx ISS PDK_TDA_01.07.00
PDK-2039 [DSS] First ISR from DSS not propogated to application callback DSS PDK_TDA_01.07.00
PDK-2045 [DSS M2M] Writeback from WB Overlay (LCD2) is not supported DSS M2M PDK_TDA_01.07.00
PDK-2070 Utils queue Sem Wr can increment up to 65535 RADAR PDK_TDA_01.07.00
PDK-2016 [RADAR] Bsp_ar12xxGetWidthHeight does not consider multiple chirps while calculating height RADAR PDK_TDA_01.07.00
PDK-2044 [RADAR] Bsp_ar12xxRadarTaskPost() should wait event queue in Task, not ISR RADAR PDK_TDA_01.07.00
PDK-2050 [RADAR] LVDS Termination settings need to be done for CSI data Rates RADAR PDK_TDA_01.07.00
PDK-1942 UART Mflash is not working on TDA3xx platform SBL PDK_TDA_01.07.00
PDK-2068 TDA3xx HS SBL is not booting SBL PDK_TDA_01.07.00
PDK-2069 Correct QSPI/NOR memory map in SBL Userguide SBL PDK_TDA_01.07.00
PDK-1924 IPU ecc diag test doesnot work in debug mode Diagnostics Library PDK_TDA_01.07.00
PDK-2053 App Image file not updated if file is already present Build PDK_TDA_01.07.00

Known Issues

Known Issues
ID Headline Module Reported in Release Workaround in this release
PDK-2075 DSS M2M writeback crop not working on TDA3xx DSS M2M driver PDK_TDA_01.08.00 Write the full frame in the WB path. Note: TDA2x DSS doesn't support cropping in WB path
PDK-2089 DSP L1D ecc is not working DSP ECC PDK_TDA_01.08.00 None (Debug in Progress). This is applicable only for TDA2Px.
PDK-2087 [MCAN] Three test cases not validated MCAN Unit Test PDK_TDA_01.08.00 Setup issue. Only validation pending. This is applicable only for TDA2Px/TDA3xx.
PDK-2076 DisplayDss Example crashed after loading from CCS DSS Application PDK_TDA_01.07.00 Set VISION_SDK_CONFIG flag to 1 in TDA3xx_multicore_reset.gel
PDP-1425 DSS M2M: YUV422I 1080P input downscaled to YUV420SP 720P on write-back path not working DSS M2M driver BSP_01.07.03 Use the scalar in the input pipeline and do 1x scaling in the write-back path
PDP-1402 DSS M2M driver with input pipe from GRPX not working DSS M2M driver BSP_01.07.03 Use video pipeline as video pipeline also supports RGB input format. Note: This is applicable only for TDA2xx/TDA2Ex. TDA3xx is working fine.
PDP-935 After POR, HDMI Capture fails on ADV vision app board with laptop HDMI input VIP Capture Driver BSP_01.05.00 Disconnect and connect the HDMI cable again after power on reset.

Known Limitations

VIP Capture Driver

  • In case of ADV7611 HDMI in capture, first few frames in the first run after power cycle might have artifacts. This is because when the ADV7611 is configured, it programs the internal EDID for 1080p60 and does Hot Plug Assert (HPA). When this happens the video source will read the EDID and reconfigure itself for the new timing. At this time the video might be corrupted.
  • In TDA2xx/TDA2Ex, HDMI capture from SIL9127 is not supported when Multi-serdes board is connected to VISION daughter card. This is because of the I2C address conflict between SIL9127 and the deserializer (This is a board limitation).
  • 24-bit RAW capture - No support in EVM
  • RGB888 input to VIP - No support in EVM
  • Various discrete sync modes except HSYNC/VSYNC mode - No support in EVM
  • In case of dual output streams from same capture source, below limitations applies
    • YUV422SP output should always be stream 0 (first stream)
    • For YUV422I scaled and YUV420SP non-scaled outputs, YUV422I scaled output should always be stream 0 (first stream)
    • Scaled outputs on both the streams are not supported

DSS Display Driver

  • In TDA3xx SD Venc writeback in RGB format could result in extra bytes write, Below is the explaination for the same and the driver configuration parameters to handle this.
    • With the implementation of the errata i873, where venc size is increased by 2 pixels, and fwd pipe position is also shifted by 2 pixels while programming the DSS registers.
    • With following change in input parameter extra bytes will not be written.
      • Driver takes the overlay size as an input parameter. It should be given as 722 (insted of 720) in case of SD Venc writeback for NTSC or PAL format (with 2 extra pixels per line).
        Vps_CaptDssWbParams->inFmt.width = 722;
      • Following are the three options for writeback and the driver config parameters:
        1. Do not scale the image and writeback 722 pixels per line; This will have first 2 blank pixels and 720 actual video pixels. App should allocate buffer for 722 pixels per line.
        Vps_CaptDssWbParams->outStreamInfo[0].outFmt.width = 722;
        Vps_CaptDssWbParams->inCropCfg.cropHeight = 722;
        2. Scale the writeback buffer; 2 blank + 720 actual video pixels scaled to total 720 pixels in written back buffer. App should allocate buffer for 720 pixels per line.
        Vps_CaptDssWbParams->outStreamInfo[0].outFmt.width = 720;
        Vps_CaptDssWbParams->inCropCfg.cropHeight = 722;
        3. Use region based writeback to crop the image from 2 to 722 pixels per line from overlay. App should allocate 720 pixels per line and writeback without any blank pixels.
        Vps_CaptDssWbParams->outStreamInfo[0].outFmt.width = 720;
        Vps_CaptDssWbParams->inCropCfg.cropHeight = 720;
        Vps_CaptDssWbParams->outStreamInfo[0].cropEnable = TRUE;
  • The region based writeback on TDA3xx has few limitation like writing extra bytes or drop in writeback frame rate.
    Please refer the VPS Display Driver UserGuide.

Serial Drivers

  • When UART driver’s configuration is in interrupt mode and when the RX buffer size is bigger than FIFO size and when UART driver receives data of same length as FIFO size, the GIO_read function does not return until it receives next data due to H/W specification as given below. To workaround this limitation, RX FIFO size and RX buffer size needs to configured as same length.
    • As per the UART IP (given in TRM section Time-out Counter), when there is a break in the continuous UART character received, it will timeout so that the driver can read the last bytes out of the UART FIFO when the bytes received is less that the FIFO threshold. In the above case, since the user has given (Receive data size == FIFO threshold), the driver get the FIFO threshold interrupt instead of timeout interrupt. And the driver reads this out of the FIFO before the UART IP times out. Since this is not a timeout, the driver will wait for few more bytes (since RX size is greater than FIFO size) and doesn’t return with timeout.
  • UART single byte transfer is supported in polled/interrupt Mode and not in DMA Mode
  • Junk characters are observed in the UART terminal whenever we do reset on the board. This is present in TDA3xx-EVM only.

ISS Driver

OV10640 Sensor Drivers
  • On some TDA3xx EVMs, I2C register write for the OV10640 sensor is failing at 400KHz I2C frequency. In this case, change the I2C frequency to 100KHz in gBoardTda3xxI2cInstData[1].busClkKHz in packages/ti/drv/vps/src/boards/src/bsp_boardTda3xx.c file.

diff --git a/packages/ti/drv/vps/src/boards/src/bsp_boardTda3xx.c b/packages/ti/drv/vps/src/boards/src/boarindex
--- a/packages/ti/drv/vps/src/boards/src/bsp_boardTda3xx.c
+++ b/packages/ti/drv/vps/src/boards/src/bsp_boardTda3xx.c
@@ -281,7 +281,7 @@ static Bsp_BoardI2cInstData gBoardTda3xxI2cInstData[] =
        BSP_DEVICE_I2C_INST_ID_1,           /* instId */
        SOC_I2C2_BASE,                      /* baseAddr */
        CSL_INTC_EVENTID_I2CINT2,           /* intNum */
-       400U                                /* busClkKHz */
+       100U                                /* busClkKHz */

  • I2C transaction fails on address 0x33 for some of the OV10640 Parallel sensor. In this case, change the I2C address to 0x31 for the macro BOARD_OV10640_I2C_ADDR_CPI in the file packages/ti/drv/vps/src/boards/src/bsp_boardPriv.h
  • Please refer "User Guide" that came with this release, for EVM modifications required for I2C
Sensor Tuning
  • Tuning the sensor is beyond the scope of this product. An higher level software (such as SDK) will have to tune sensor for the required quality.
  • Quality of the sensor (and/or processing) should not be judged based on the ISS demo applications.

Validation Information

  • This release is validated on TDA2xx, TDA2Ex/TDA2Ex 17x17 and TDA3xx EVM for the above mentioned components

Technical Support and Product Updates

For further information or to report any problems, contact http://e2e.ti.com or http://community.ti.com or http://support.ti.com.