2.4. Release Notes - 07_01_00

2.4.1. Introduction

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

2.4.2. What’s New

ID Description Module Supported Platforms
PDK-4928 Support Firewall control layer for TISCI features SCICLIENT J721E, J7200, AM65xx
PDK-5593 Support use case of MPU/Linux and MCU/Baremetal IPC J721E, J7200, AM65xx
PDK-6734 Support for wire clock feature in TX CFG in ICSSG EMAC J721E, J7200, AM65xx

2.4.3. Upgrade and Compatibility

This release introduces the new architecture for System firmware where the TI Foundational Security (TIFS) is running on the DMSC on J7200 and J721E devices and Power Management & Resource Management (collectively known as Device Management (DM)) runs as a library on the MCU1_0 R5F. For AM65xx device, the DM function continues to run on the DMSC. Refer individual sections below regarding the impact to each component.

2.4.3.1. MCUSW

This release do not include MCUSW component, please contact local FAE for further information.

2.4.3.2. Build and Packaging

  • The PDK package is now a separate package each platform, i.e. this package contains drivers required for AM65xx platform only.

  • Only the files applicable to a particular platform is packaged. This is to done to reduce the overall package size, remove unwanted files for users for better file/folder navigation and also to ensure that a file which is not applicable for a platform is not included by application un-intentionally

    • Due to this some of the application interface files may be missing from the package compared to last release. Users are advised to remove the inclusion of these files in their application for the respective platform builds

2.4.3.3. Memory Map and Linker Command

System Firmware architecture has been updated for J7200 and J721E devices to run Device Management services on the MCU1_0 R5F. For details, see Sciclient upgrade and compatibility information.

In order to support this new architecture, additional memory sections are reserved in MCU MSRAM for the boot and initialization sequence, and new data sections are introduced by the supporting libraries.

SoC-wide

A portion of the MCU SRAM is reserved for exchange of data between SBL and the Device Manager, summarized in the below table:

Address Size Purpose Persistence
0x41C8_0000 8 KB Hold the Board configuration passed between SPL/SBL and SCISERVER_APP Can be claimed once MCU1_0 app executes Sciclient_init on MCU1_0
0x41cf_fb00 1.25 KB Common header used in ROM combined image format as well. Can be claimed once MCU1_0 app executes Sciclient_init on MCU1_0

For more information on the purpose and implementation of these reserved regions, refer to Board configuration passing between SPL/SBL and MCU1_0 applications. Also, PDK common linker command file could be used as reference PDK_INSTALL_DIR/packages/ti/build/am65xx/linker_r5.lds

MCU1_0 Applications

Linker configuration files for MCU1_0 applications must be updated to comprehend placement of additional sections introduced by the Device Manager implementation

  • Passing of the board configuration between SBL and the MCU1_0 application may optionally be replaced by referencing a local copy of the board configuration data structures within the Sciclient library. Regardless of which method for sending board configuration data, the .boardcfg_data section is defined by default for the placement of these structures in the application memory map.

Important

The .boardcfg_data section must be placed in SoC-internal SRAM if the local board configuration data structures are used instead of what is passed by SBL. Do not place this section in DDR.

  • MCU1_0 R5F applications are expected to co-host Device Management services which are implemented via the RM/PM HAL library. This library introduces additional data sections, which are free to be placed anywhere as required by the integrating application:
    • .const.devgroup.MAIN
    • .const.devgroup.MCU_WAKEUP
    • .const.devgroup.DMSC_INTERNAL
    • .bss.devgroup.MAIN
    • .bss.devgroup.MCU_WAKEUP
    • .bss.devgroup.DMSC_INTERNAL

2.4.3.4. OSPI Flash Memory Map

The default flash memory layout used by the SBL to load multicore application images has been updated in this release. It now uses the following flash address offsets:

Image Type Flash Offset Example Binary Name
SBL 0x0 OSPI/CUST SBL, E.g.: sbl_ospi_img_mcu1_0_release.tiimage
SYSFW 0x80000 sysfw.bin for GP device, or sysfw-hs-enc.bin for HS device
App Image 0x100000 Application image, E.g.: udma_memcpy_testapp_mcu1_0_release.appimage
Optional: XIP bin 0x1C0000 XIP app binary, E.g.: can_profile_xip_app_mcu1_0_release.xer5f.bin

2.4.3.5. Sciclient

No specific changes for AM65xx

2.4.3.6. MCU R5F ATCM

As part of SBL starting MCU R5F (MCU 10) with application provided for MCU 10, the MCU R5F would be reset. When the MCU R5F is reset, the TCMs would also be reset / contents lost. When the application is based on sysbios / TI RTOS, the vectors should be placed in ATCM, as detailed in FAQ Copy Vecs to ATCM

Loss of vectors placed in TCMs
  • Results in MCU 10 applications not starting

  • PDK provides an utility (utilsCopyVecs2ATcm) to place the vectors into ATCM as part of application start up

  • The default sysbios configuration file PDK_INSTALL_DIR/packages/ti/build/am65xx/sysbios_r5f.cfg , employes this utility

  • Care should be take to place this utility in memory segements that’s accessible before application initialization,
    • The default linker command file PDK_INSTALL_DIR/packages/ti/build/am65xx/linker_r5_sysbios.lds, places this in OCMRAM
Loss of .text or .data placed in TCMs
  • Using TCMs to hold .text, .data and others would be affected
  • PDK provides and example that demonstrate the steps required to place sections in TCM’s, refer How to move sections at runtime

2.4.3.7. Execution of apps with CCS

The steps to run applications with CCS has been updated. Refer Link for detailed steps.

2.4.3.8. SBL

  • The SBL provides support on J721E and J7200 for the new split architecture for System Firmware, with TI Foundational Security (TIFS) running on the DMSC and the Device Management (DM) functions running on the MCU R5F. Sciclient API requests for security related operations will continue to be sent to the DMSC, while other Sciclient API requests for the non-secure Resource Managment (RM) and Power Management (PM) operations will be handled directly on the MCU R5F.
  • The OSPI PHY on the SoC requires a PHY tuning procedure to be performed to ensure good stability and performance is achieved for the high-speed transfers performed when the PHY is enabled. The BOARD library linked in with the SBL handles this procedure as part of the SBL boot sequence. However, a PHY tuning data binary must be flashed to the start address of the last flash sector of the OSPI/xSPI device on the board. This data is used by the OSPI driver during the boot sequence for tuning the PHY.
  • HLOS + RTOS boot is now supported by the SBL, with new SBL build targets for support of HLOS (or U-boot) boot on the Cortex-A cores in the MAIN domain. MMC/SD boot and OSPI/xSPI flash boot options are supported.
  • Tooling is provided to created a “combined” .appimage file with the desired HLOS & RTOS images that the SBL can load, parse, and subsequently load & start on each of the remote cores that have been targeted to boot.

2.4.3.9. SYSBIOS Configuration

  • Main Domain R5F Timer
    • Updated to use DM Timers instance 6 & 7 of main domain for Main Domain R5F. By default SYSBIOS uses instance 12 & 13
    • DM Timers instances 9 to 20 are not powered on by default, requires to be explicitly powered on
    • Without this configuration, sysbios application would not be functional
  • The sysbios reserved interrupt number “0”
    • MCAN instance 0 in MCU and interrupt line 0 cannot used with default sysbios configuration
    • Recommend to re-configure sysbios to use a different interrupt number

2.4.3.10. UDMA

  • Update in Udma_RmInitPrms->startIrIntr and Udma_RmInitPrms->numIrIntr
    • Earlier this parameters referred to the core interrupt range.
    • Its updated to refer to IR Interrupt range for alligning with Sciclient BoardCfg RM.
  • Udma_eventUnregister for UDMA_EVENT_TYPE_RING / UDMA_EVENT_TYPE_DMA_COMPLETION will return failure when Ring Occupancy is non-zero.
    • This is to make sure that there is no resource leak, because unregistering these events will reset the ring.
    • All the unprocessed descriptors in the ring / processed descriptors returned to the ring, should be dequeued using Udma_ringFlushRaw / Udma_ringDequeueRaw before unregistering these events.

2.4.3.11. ENET

Migration to Enet LLD from the Emac LLD descoped for this release. Emac LLD would continue to support CPSW and ICSSG. Enet LLD code in PDK repo is for reference only and should not be used in development.

2.4.3.12. PMIC

Not supported and no impact

2.4.4. Device Support

  • AM65xx EVM, AM65xx IDK, AM65xx-HS EVM (BOARD=am65xx_evm, am65xx_idk)

2.4.5. Validation Information

This release is validated on J7200 EVM for the applicable components. For details on the validated examples refer to the platform specific test report present in PDK_INSTALL_DIR/docs/test_report folder.

2.4.6. Tool Chain Information

Refer to SDK level documentation for Tool Chain and dependent component version used to validate this release.

2.4.7. Fixed Issues

ID Head Line Module Affected Versions Affected Platforms
PDK-7479 Luma and Chroma components are not properly stored CSI2RX, CSI2TX 07.00.00 J721E
PDK-6852 CSITX does not work in less than 4 lane mode CSI2TX 07.00.00 J721E
PDK-6762 UART test fails for MCU 1_0 CSL 07.00.00 AM65xx, J721E
PDK-6925 R5 cache function uses incorrect cache line size CSL 07.00.00 J721E, J7200, AM65xx
PDK-8203 DCC source update not working CSL 07.00.00 J721E, J7200, AM65xx
PDK-6839 CSL_serdesEnableLanes does not configure torrent SERDES CSL 07.00.00 J721E
PDK-7573 IPG setting for ICSSG does not take effect for 2nd port EMAC 07.00.00 AM65xx
PDK-6734 Driver updates to support wire clock feature in TX CFG EMAC 07.00.00 AM65xx
PDK-7536 C6x: ipc examples: Trace buffer contents remain in the Cache upon a crash IPC 07.00.00 J721E
PDK-7625 Message reception is delayed if sent to core before it is booted IPC 07.00.00 J721E
PDK-8103 TimerP_getTimeInUsecs API return wrong time value in Bare-metal OSAL 07.00.00 J721E
PDK-5258 OSPI PHY Mode Temperature Sensitivity OSPI 06.02.00 J721E
PDK-7402 Typo in ICSS instance enums in PRUSS LLD PRUSS 07.00.00 J721E
PDK-7091 AM65 pruicss_intc.c interrupt initialization sequence doesn’t protect spurious interrupt PRUSS 07.00.00 AM65xx
PDK-7045 Unable to set USE_DKEK flag in SA2UL security context SA2UL 07.00.00 J721E, AM65xx
PRSDK-5448 SBL boot from MMCSD fails intermittently SBL 05.02.00 AM65xx
PDK-8189 SBL doesn’t allow an external app to use OSPI with DMA SBL 07.00.00 J721E
PDK-7627 Multi-Stage bootloading fails on HS device SBL 07.00.00 J721E
PRSDK-5626 OSPI Read using UDMA fails on AM65x HS devices. SBL 05.03.00 AM65xx
PRSDK-6382 SBL: R5F: Core 1 boot is not working with unsigned binary with ipc images SBL 06.01.00 AM65xx
PDK-6980 Inconsistent naming of TISCI defines in sciclient SCICLIENT 07.00.00 J721E, J7200, AM65xx
PDK-7120 Incorrect Error interrupt registration in scalar VHWA MSC 07.00.00 J721E
PDK-7024 Incorrect max size of the LSC table VHWA VISS 07.00.00 J721E
PDK-6800 Watchdog timer diagnostic test fails DIAG 07.00.00 AM65xx
PRSDK-8607 Board_init(SBL_PLL_INIT) is configuring PLL directly without going through SYSFW. BOARD 06.03.00 AM65xx
PRSDK-7891 CPSW RGMII diagnostic test failure BOARD 06.01.00 J721E

2.4.8. Known Issues

ID Head Line Module Reported in Release Affected Platforms Impact Workaround in this release
PDK-5224. Active DP -> HDMI adapter doesn’t work DSS 00.09.01 J721E DP to HDMI adapter for display cannot be used. None
PDK-5040. Display stops working if two pipelines are started back to back DSS 06.02.00 J721E None, if the workaround is in place. Wait for a frame to go out from a pipeline before starting the next one
PDK-6992. Display flickers for BT601 output format DSS 07.00.00 J721E   None
PDK-8320 ICSS V1 CSL not up to date with ICSSG CSL 07.00.00 J721E, AM65xx None Patch available. Will be included in next release
PDK-6975. Pulsar (R5F) : High priority interrupt is missed by VIM CSL, OSAL 07.00.00 J721E, J7200, AM65xx Baremetal implementation is pending Use SYSBIOS instead of baremetal
PDK-6649. Timer osal - noos - Timer delete doesn’t “free” timer OSAL 06.02.00 J721E Resource leak if create/delete called in a loop. But typically this is not done for Timer. Use the same timer in the application without create/deleting multiple times
PDK-6534. Timer osal - noos - Timer should be reset first before registering interrupts OSAL 06.02.00 J721E None if the workaround is in place Reset the timer before using
PDK-6758. pcie qos examples fails for 2 lane configuration PCIE 07.00.00 AM65xx None None
PRSDK-8036 PCIE-0: Intermittent failures during Gen 3 mode on AM65x PG2.0 PCIE 06.02.00 AM65xx None None
PDK-8407. J721E: MCU Timer 0 is not usable from application (sysbios) with SBL OSAL, SBL 07.01.00 J721E None Use any other timer
PDK-8586 Early CAN response measurement is beyond 50 ms for J721E SBL 07.01.00 J721E   None
PDK-8300. UDMA MCU NAVSS Channel Num 5 is not functional, when booting the application using the SBL bootloader. UDMA 07.01.00 J721E Low Impact. UDMA MCU NAVSS Channel 5 can’t be used when booting the application using the SBL bootloader. Use any other channel. In the defaultBoardCfg Channel no. 5 is not used. The issue will be seen only when the boardcfg is updated to use channel 5.
PDK-6789. MCU/Main NAVSS UDMA memcpy from L2SRAM fails UDMA 07.00.00 J721E Transfer works fine when source buffer, destination buffer and TRPD buffers are in L2SRAM. The issue happens only when the ring memory is in L2SRAM location Use ring memory from non-L2SRAM location
PDK-5228. Output mismatch when each region requiring 3 TRs VHWA 01.00.00 J721E In multi-region mode with more then 3 TR per region can’t be used In multi-region mode for each region less than 3 TR should be used
PDK-5226. DOF generated wrong output with SOF if pixel in all row are not enabled VHWA 01.00.00, 00.09.01 J721E When using the SOF if the Paxel rows without any pixel enabled is not in consecutive pair with lead to lead to output mismatch This issue is due to shift in flowvector out buffer. While generating the SOF binary map make sure that Paxel rows without any pixel enabled should be in consecutive pair
PDK-5217. VPAC VISS driver doesn’t support several valid mux combinations for outputs VHWA 01.00.00, 00.09.01 J721E VISS output with Chroma only and one of the RGB component enabled may not work Enable YUV420 instead of Chroma only while using RGB component
PDK-7048. Master Slave: Data corruption in mode 0 McSPI 07.01.00 J7200 None Most likely EVM looback routing issue. Debug pending
ETH-1534. [CPSW] Packet drop with QSGMII ports IPerf Enet 06.02.00 J721E, J7200 None None
ETH-1670. mcu2_1: loopback: Test fails to setup interrupts in iteration 2 Enet 07.01.00 J721E None Avoid restarting Enet LLD on J721E mcu2_1 core
PDK-6742. McASP regression test app some tests are failing McASP 07.00.00 AM65xx The issue is most likely a application configuration None
PRSDK-5074 McASP driver hangs with small buffer size McASP 05.01.00 J721E, AM65xx None Use packet size 32 samples or greater
PDK-8166. MMCSD read/write failure with 1.8V MMCSD 07.00.00 AM65xx    
PDK-8537. Sciclient_rmIrqRelease API is failing SCICLIENT 07.01.00 J721E    
PDK-8502 Uniflash flash programmer failure in DMA mode BOARD 07.01.00 J721E, AM65xx    
PDK-8311. Recent DDR config update to 4266 MT/s causing DDR memory failures on some boards BOARD 07.01.00 J721E Occasional failures seen. Restart should work Issue seen with unqualified sample. Replace sample
PDK-6549. MCU2 core diagnostic tests not running through sbl BOARD 07.00.00 J721E None Use CCS/JTAG to run the tests
PDK-6548. Display port (eDP) diagnostic test failure BOARD 07.00.00 J721E None Use display sample application
PDK-6707. PCIe diagnostic test failure BOARD 07.00.00 AM65xx None Use PCIe driver sample application
PDK-8131 PMIC: Asynchronous Interrupt tests failure on Main domain R5 Cores BOARD 07.01.00 J7200 None Use Polled mode
PDK-8577 PMIC: Asynchronous Interrupt tests failure on Main domain R5 Cores and mcu1_1 core BOARD 07.01.00 J721E None Use Polled mode
PDK-8667 CSL : Baremetal : udma_baremetal_ospi_flash_testapp failing CSL 07.01.00 AM65xx None None mode
PDK-8711 SA Baremetal test application does not run on A53 core SA2UL 07.01.00 AM65xx None None mode
PDK-8841 csl_cbass_baremetal_test_app fails on QoS Test CSL 07.01.00 AM65xx None None mode
PDK-8875 CUST SBL build not booting MCU1_1 core on AM65xx SBL 07.01.00 AM65xx None Use non cust SBL builds

2.4.9. Limitations

  • Active DP -> HDMI adapter doesn’t work. As a workaround use the display that supports Active DP
  • C7x TI RTOS : Task stack size shall be multiple of 16 KB (size less than 16 KB leads to unexpected behavior)