2.3. Release Notes - 09_00_00

2.3.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.

New features added / supported is listed below and defects fixed are highlighted in Fixed Issues. Also please check Upgrade and Compatibility for backward compatibility

2.3.2. What’s New

ID

Description

Module

Supported Platforms

PDK-5381

R5-SBL - Support to dump EEPROM to shared memory

SBL

J721E,J7200,J721S2,J784S4

PDK-9656

Board: APIs that read from shared memory instead of EEPROM

BOARD

J721E,J7200,J721S2,J784S4

PDK-11213

RTOS SDK shall support HS-FS device

COMMON

J721E,J7200,J721S2,J784S4

PDK-11504

RTOS SDK shall support I2C: EEPROM size of 4 Mbit

I2C

J721E,J7200,J721S2,J784S4

PDK-11856

ARM CLANG 2.0 migration

COMMON

J721E,J7200,J721S2,J784S4

PDK-11867

RTOS SDK Shall support Boot time : SBL loading non-lockstep MCU R5F

SBL

J721E,J7200,J721S2,J784S4

PDK-11872

CSI-Rx RTOS driver shall support Error Detection - Phy, packet, line and frame level

CSIRX

J721E,J721S2,J784S4

PDK-11888

Tertiary Boot app for testing Linux in OSPI boot mode

SBL

J721S2,J784S4

PDK-11900

PDK: Report out with explanantion benchmark numbers on SBL OSPI Boot Performance

SBL

J721S2,J784S4

PDK-11913

Tertiary Boot app for testing Linux in SD boot mode

SBL

J721S2,J784S4

PDK-11937

Multi-tasking memcpy benchmark (a.k.a AUTOSAR benchmark) application should be part of the standard SDK

CSL

J721S2,J784S4

PDK-11941

Tertiary Boot app on HS devices

SBL

J721S2,J784S4

PDK-11950

70ms CAN + BIST response on GP device

SBL

J721E,J7200,J721S2,J784S4

PDK-11953

50ms CAN response on GP device

SBL

J721S2,J784S4

PDK-12208

Add example program to demonstrate firewall exception notification handling

SCICLIENT

J721E,J7200,J721S2,J784S4

PDK-12431

SBL shall support booting from Serial Nand driver on OSPI

SBL

J721S2

PDK-12830

IPC_ECHO_TESTB shall support with safertos in SPL boot flow on QNX

IPC

J721E,J7200,J721S2,J784S4

PDK-12831

IPC_ECHO_TESTB shall support with safertos in SPL boot flow on Linux

IPC

J721E,J7200,J721S2,J784S4

PDK-12832

PDK shall support eDP to HDMI adapter

DSS

J721E,J721S2,J784S4

PDK-12874

ATF: Shutdown the SOC with PMIC

PM

J721E,J7200,J721S2,J784S4

PDK-11880

FreeRTOS port shall include a default exception handler to aid in exception debug

OSAL

J721E,J7200,J721S2,J784S4

PDK-13037

Support for combined image boot flow in SBL for OSPI boot

SBL

J7200,J721S2,J784S4

PDK-13038

Support for combined image boot flow in SBL for MMCSD boot

SBL

J7200,J721S2,J784S4

PDK-13085

FreeRTOS LTS Migration

OSAL

J721E,J7200,J721S2,J784S4

PDK-13175

SDR 50 support for NAND flash

OSPI

J721S2,J784S4

PDK-13176

SDR166 support for NAND flash

OSPI

J721S2,J784S4

ETHFW-1175 ETHFW-1191 ETHFW-1254 ETHFW-1309 ETHFW-1312

CPSW Enhanced Scheduled Traffic (EST) 802.1Qbv

ENET

J721E, J7200, J721S2, J784S4

ETHFW-2168

Enet: Production-quality PTP stack integration

ENET

J721E, J7200, J721S2, J784S4

2.3.3. Upgrade and Compatibility

2.3.3.1. FreeRTOS

  • OSAL now implements non-recursive version of Mutex. This was done to align with implicit meaning of Mutex, the interface remains unchanged.

2.3.3.2. OSAL

  1. QueueP_get API in the Baremetal OSAL returns NULL when the provided queue is empty.

    • The API earlier returned the queue handle when empty queue handle gets passed.

  2. For SafeRTOS, cache is being enabled in the startup code instead of OS_start(__mpu_init).

    • Enabling cache in startup code reduces time for .bss initialization.

    • Application should be updated to use xEnableCache=pdFALSE in OS_start.

  3. SemaphoreP_reset API is removed from OSAL as the underlying FreeRTOS and SafeRTOS kernel do not support the same.

2.3.3.3. OSPI

  • DDR PHY tuning algo is updated to support both full and half cycle lock modes:

    • phyLockCycle parameter is provided in OSPI_v0_HwAttrs for user to configure PHY lock cycle mode.

    • OSPI driver by default uses half clock cycle lock.

    • User needs to reduce the tuning window ranges to half, when they use full cycle lock mode.

2.3.3.4. TI Arm Clang (R5 Compiler)

  • Updated ti-cgt-arrmllvm(clang) compiler from version 1.3.0 to version 2.3.1

    • Link Time Optimization feature (-flto) is enabled for release builds

    • 2.3.1 ti-cgt-armllvm compiler exposes errors that were not reported by previous compiler and user needs to fix these to ensure a successful compilation:

2.3.3.5. Build

  • PDK is updated to remove below warning suppression flags for R5 builds:

    • -Wno-unused const variable

    • -Wno-unused variable

    • -Wno-missing braces

    • -Wno-macro redefined

    • -Wno-main-return-type

    • -Wno-empty-body

    • -Wno-sometimes-uninitialized

    • -Wno-absolute-value

    • -Wno-parentheses-equality

    • -Wno-inconsistent-missing-override

    • -Wno-self-assign

    • -Wno-ignored-attributes

    • -Wno-pointer-sign

    • -Wno-ti-macros

    • -Wno-format-security

2.3.3.6. Sciclient

  • Sciclient has dependency on the board library from this release.

  • PMIC shutdown feature is implemented by sciclient for which it uses Board_pmPowerOff API which is part of board library.

  • Applications should be modified to include board dependency to ensure the build

2.3.3.7. Enet

  1. New gPTP stack is integrated with Enet LLD, refer to Enet LLD TSN User’s Guide. Previous stack supported in SDK 8.x and earlier releases has been removed.

    • gPTP stack is supported on mcu2_0 core only.

    • gPTP stack is supported in FreeRTOS only. No SafeRTOS support.

    See Enet TSN GPTP Example for further information about gPTP example app.

  2. CPSW EST 802.1Qbv support has been added in this release. Changes in Enet TAS APIs do not have any impact as EST feature was not previuosly supported.

    Refer to Enet EST/TAS Support section for further information about EST/TAS implementation for CPSW using Enet LLD. See Enet EST Example for more information about CPSW EST example app.

2.3.4. Device Support

  • J721S2 GP SR1.0, J721S2-HS-SE SR1.0, J721S2-HS-FS SR1.0 (BOARD=j721s2_evm)

  • Associated TIFS versions:

    TIFS name

    J721S2 SR revision

    tifs.bin

    SR1.0

    tifs-hs-enc.bin

    SR1.0 HS-SE

    tifs-hs-fs-enc.bin

    SR1.0 HS-FS

2.3.5. Validation Information

For details on the validated examples refer to the platform specific test report available here.

2.3.6. Tool Chain Information

Component

Version

FreeRTOS Kernel

10.5.1

lwIP stack

2.1.2

lwIP-contrib

2.1.0

TI ARM CLANG

2.3.1.LTS

GCC ARM code generation tools

ARCH64 9.2-2019.12

CGT XML Processing Scripts

2.61.00

Component

Version

TI C7x code generation tools

3.1.0.LTS

2.3.7. Change Request

Refer to monthly roadmap slides for changes in the planned features

2.3.8. Fixed Issues

ID

Head Line

Module

Affected Versions

Affected Platforms

PDK-12243

DSS: rxBuffer range check missing in DP_mailbox

DSS

08.04.00

J721E,J721S2,J784S4

PDK-12257

[DSS/eDP]: Busy Waiting in eDP driver causes hang

DSS

08.04.00

J721E,J721S2,J784S4

PDK-12461

[OSAL]: Mutex implementation uses recursive mutex of FreeRTOS

OSAL

08.05.00

J721E, J7200, J721S2,J784S4

PDK-12468

[UART]: Driver does not support stop/timeout condition

UART

08.05.00

J721E, J7200, J721S2,J784S4

PDK-12490

[SafeRTOS] UDMA UT app doesnot work in MMCSD boot

OSAL

08.06.00

J721E, J7200, J721S2,J784S4

PDK-12567

SemaphoreP_reset does not work with SafeRTOS

OSAL

08.06.00

J721E, J7200,J721S2,J784S4

PDK-12595

[TDA4VH]: HLOS SBL fails to boot combined appimage

SBL

08.05.00

J721S2,J784S4

PDK-12623

PDK app takes more time to be loaded on Safertos when compared to Freertos

OSAL

08.05.00

J721E, J7200, J721S2,J784S4

PDK-12630

[CSITX] vBlank/hBlank values from app are not passed to CSL

CSI2TX

08.05.00

J721E,J721S2,J784S4

PDK-12654

OSPI PHY Tuning - Finding Rx Min for a given Tx Window

OSPI

08.02.00

J721E, J7200, J721S2,J784S4

PDK-12680

CSL: OSPI: HW_AUTO_POLL macros are misleading

CSL, OSPI

08.06.00

J721E, J7200,J721S2,J784S4

PDK-12717

J784S4/J721S2: SBL fails to initialize DDR after warm reset

BOARD,SBL

08.06.00

J721S2,J784S4

PDK-12823

[SBL] SBL_DCacheClean does not writeback full cache contents

SBL

08.06.00

J721S2,J784S4

PDK-12824

[CSIRX]: YUV422 capture is not working correctly

CSI2RX

08.06.00

J721E,J721S2,J784S4

PDK-12847

DMA benchmarks for OCM <-> DDR missing in SDK datasheet

UDMA

08.06.00

J721E, J7200,J721S2,J784S4

PDK-12859

J721S2: Master Firewall Ids Incorrect in Header file

CSL

08.06.00

J721S2

PDK-12880

OSPI PHY pipeline mode does not work with NON DMA or NON Cache mode

OSPI

08.05.00

J721E, J7200,J721S2,J784S4

PDK-12888

[Board]: PLL Init status is overwritten in Board_PLLInitMain() & Board_PLLInitMcu()

BOARD

08.06.00

J721E, J7200,J721S2,J784S4

PDK-12893

TimerP_getTimeInUsecs() race condition issue

OSAL

09.00.00

J721E,J7200,J721S2,J784S4

PDK-12894

Correct timeout unit of SemaphoreP_pend()

OSAL

09.00.00

J721E,J7200,J721S2,J784S4

PDK-12895

PMLIBClkRateSet API fails after payload removal from sciclient header file

SCICLIENT

09.00.00

J721E, J7200,J721S2,J784S4

PDK-12902

[FreeRTOS/SafeRTOS] Remove incomplete SemaphoreP_reset implementation from OSAL

OSAL

08.06.00

J721E,J7200,J721S2,J784S4

PDK-12910

[CSITX] Delete API uses same Semaphore lock resulting in hang

CSI2TX

08.06.00

J721E,J721S2,J784S4

PDK-12911

[CSITX]: Event UnRegister is not getting called in the delete API

CSI2TX

08.06.00

J721E,J721S2,J784S4

PDK-12912

SBL combined appimage boot flow diagram missing in SDK

SBL

08.06.00

J721E,J7200,J721S2,J784S4

PDK-13217

[Safertos OSAL] Safertos configures MPU with MPU enabled which causes aborts

OSAL

08.06.00

J721E,J7200,J721S2,J784S4

ETHFW-2023

Assertion from EnetMcm_coreAttach API

ENET

08.01.00

J721E, J7200, J784S4

ETHFW-2166

Enet: lwipif library built with optimizations in ETHFW ‘debug’ builds

ENET

08.06.00

J721E, J7200, J721S2, J784S4

2.3.9. Known Issues

ID

Head Line

Module

Reported in Release

Affected Platforms

Impact

Workaround in this release

PDK-12253

C7x context switch/restore does not happen correctly with Safertos

OSAL

08.05.00

J721E, J721S2,J784S4

snprintf() usage might cause aborts

snprintf() calls in IPC RTOS echo app has to be protected with Hwip_disable and Hwip_restore.

PDK-12540

CSI-TX takes longer time to queue and dequeue in driver than expected.

CSI2TX

08.04.00

J721E, J721S2,J784S4

CSITX performance doesnot meet threoretical performance at 2.5 GBPS

NA

PDK-12551

J721S2/J784S4: Main2MCU IRQ Router allocations fail for output lines 32 to 41

SCICLIENT

08.05.00

J721S2,J784S4

Cannot reconfigure 32 to 63 range of the MAIN2MCU Interrupt Router

NA

PDK-12986

Sciserver not building on windows environment

SCICLIENT

08.06.00

J721E,J721S2,J784S4

Sciserver doesnot build on windows environment

NA

PDK-13065

[FreeRTOS]: Variable overflow in LoadP_getCPULoad API

OSAL

08.06.00

J721E,J7200, J721S2,J784S4

LoadP_getCPULoad overflows if variable goes over 32-bit

NA

PDK-13080

[SafeRTOS]: Port does not support post_cinit()

OSAL

08.06.00

J721E,J7200, J721S2,J784S4

Application cannot implement post_cinit API

NA

PDK-13174

C7x cannot run new image after running Clear CLEC Secure Claim image

SBL

08.06.00

J721E,J721S2,J784S4

C7x app image cannot start to run after running Clear CLEC Secure Claim image

Store DSP1_C7X_ID entry point in sbl_rprc.c ,and during secure boot , check if entry point exists and jumps to DSP1_C7X_ID entry point.

PDK-13192

[DSS-WB] Path does not support RGB888 format

DSS

08.04.00

J721E,J721S2,J784S4

Cannot use DSS WB writeback path for RGB888

NA

PDK-13207

J784S4: SciClient PVU Interrupt Routing to GIC failing

SCICLIENT

08.06.00

J721S2,J784S4

Cannot program PVU interrupts with sciclient

When programming the interrupt router manually using direct register writes the PVU interrupts are generated and handled on the A72 as expected.

ETHFW-2084

Cable connect/disconnect can cause CPSW unrecoverable condition

ENET

08.x.00, 09.00.00

J721E, J7200, J784S4

Packets will be dropped on the affected MAC port

None. Device reboot is required

ETHFW-2088

EthFW will get stuck waiting for link if link partner is not ready

ENET

08.x.00

J721E, J7200, J721S2, J784S4

Indefinite polling could happen in SGMII link is not up

Link partner should be available when port is open.

ETHFW-2140

SGMII: Wrong RGMII clock after changing SERDES refclk of 156.25MHz

ENET

08.06.00, 09.00.00

J7200

RGMII and SGMII port configuration cannot exist

None.

ETHFW-2242

enet: mdio: Failure in PHY reg read in manual mode in ‘debug’ profile

ENET

09.00.00

J721E, J7200, J721S2, J784S4

MDIO operations will fail

Workaround integrated in SDK 9.0

2.3.10. Limitations

2.3.10.1. PDK

  1. PDK examples do not support SMP mode. Some of examples still support build in SMP mode but these binaries are not supported or validated.

  2. TI Clang compiler does not enable O3 optimization level and Thumb2 mode which were enabled by default with TI ARM CGT compiler. This has an impact on driver throughput. E.g. Ethernet performance has reduced by ~20% on J721S2

  3. The PMU counter overflow is not handled in Baremetal for use of CycleprofilerP APIs or the TimerP_getTimeInUsecs API.

    • Applications can periodically use the CycleprofilerP_refreshCounter to check overflow and refresh the higher bits of the PMU counter.

2.3.10.2. ENET

  • Scatter-gather functionality is currently supported only for packet transmission.

  • gPTP stack is supported only in FreeRTOS.

2.3.10.3. SafeRTOS

  • OSAL APIs namely, HwiP_disable and HwiP_restore can only be called from a privileged mode. These APIs will give an assertion error for an unprivileged context.

  • When snprintf is interrupted by an ISR, C7X core may crash while returning from the ISR.

    1. As a workaround, snprintf can be protected with Hwip_disable() and HwiP_restore() to disable the interrupts.