Release Notes 12.01.00

Attention

Also refer to individual module pages for more details on each feature, unsupported features, important usage guidelines.

Note

The examples will show usage of SW modules and APIs on a specific CPU instance and OS combination. Unless explicitly noted otherwise, the SW modules would work in both FreeRTOS and no-RTOS environment.

Device and Validation Information

SOC

Supported CPUs

EVM

Host PC

AM62P

MCU R5F, WKUP R5F

SK-AM62P-LP EVM (referred to as am62px-sk in code)

Windows 10 64b or Ubuntu 22.04 64b

Features Added in This Release

Feature

Module

Add VDD core voltage config for HS400 OTAPDLYSEL

MMCSD

OSPI Example to collect and plot PHY Tuning Points

OSPI

SnagFactory flashing method support

Tools

Enhanced documentation for Enet - CPSW and EthFw.

ENET

Experimental Features

None

Dependent Tools and Compiler Information

Attention

It is recommended to use the TIFS version provided with the release for ensuring compatibility between TIFS and device manager. Using the TIFS from different MCU+SDK release is not recommended and may cause TIFS/ DM functionality to break.

Tools/Components

Supported CPUs

Version

Code Composer Studio

MCU-R5F, WKUP-R5F

20.3.1

SysConfig

MCU-R5F, WKUP-R5F

1.24.2, build 4234

TI ARM CLANG

MCU-R5F, WKUP-R5F

4.0.5.LTS

GCC AARCH64

A53

9.2-2019.12

FreeRTOS Kernel

MCU-R5F, WKUP-R5F

11.1.0

SDK Components

SYSFW / TIFS

Item

Link

Version

12.01.02

Release Notes

LINK

User Guide

LINK

Key Features

OS Kernel

OS

Supported CPUs

SysConfig Support

FreeRTOS Kernel

MCU-R5F, WKUP-R5F

NA

FreeRTOS POSIX

MCU-R5F

NA

No RTOS

MCU-R5F, WKUP-R5F

NA

Driver Porting Layer (DPL)

Module

Supported CPUs

SysConfig Support

OS support

Address Translate

MCU-R5F, WKUP-R5F

Yes

FreeRTOS, NORTOS

Cache

MCU-R5F, WKUP-R5F

Yes

FreeRTOS, NORTOS

Clock

MCU-R5F, WKUP-R5F

Yes

FreeRTOS, NORTOS

CycleCounter

MCU-R5F, WKUP-R5F

NA

FreeRTOS, NORTOS

Debug

MCU-R5F, WKUP-R5F

Yes

FreeRTOS, NORTOS

Heap

MCU-R5F, WKUP-R5F

NA

FreeRTOS, NORTOS

Hwi

MCU-R5F, WKUP-R5F

Yes

FreeRTOS, NORTOS

MPU

MCU-R5F, WKUP-R5F

Yes

FreeRTOS, NORTOS

Semaphore

MCU-R5F, WKUP-R5F

NA

FreeRTOS, NORTOS

Task

MCU-R5F, WKUP-R5F

NA

FreeRTOS

Timer

MCU-R5F, WKUP-R5F

Yes

FreeRTOS, NORTOS

Secondary Bootloader (SBL)

SBL Mode

Supported CPUs

SysConfig Support

PHY Support

DMA Support

OS support

OSPI NOR

WKUP-R5F

Yes

Yes

Yes

NORTOS

EMMC

WKUP-R5F

Yes

NA

NA

NORTOS

UART

WKUP-R5F

Yes

NA

No

NORTOS

SDL

SDL Module

Supported CPUs

SysConfig Support

MCRC

MCU-R5F

No

ESM

MCU-R5F

No

VTM

MCU-R5F

No

DCC

MCU-R5F

No

ECC

MCU-R5F

No

RTI

MCU-R5F

No

POK

MCU-R5F

No

STOG

MCU-R5F

No

MTOG

MCU-R5F

No

PBIST

MCU-R5F

No

LBIST

MCU-R5F

No

ROM_CHECKSUM

MCU-R5F

No

Networking

Module

Supported CPUs

SysConfig Support

OS Support

Key features tested

Key features not tested

TSN

WKUP-R5F

NO

FreeRTOS

gPTP IEEE 802.1 AS-2020 compliant gPTP stack, End Nodes and Bridge mode support, YANG data model configuration

Multi-Clock Domain

LwIP

WKUP-R5F

YES

FreeRTOS

TCP/UDP IP networking stack with and without checksum offload enabled, TCP/UDP IP networking stack with server and client functionality, basic Socket APIs, netconn APIs and raw APIs, DHCP, ping, TCP iperf, scatter-gather, DSCP priority mapping, LwIP bridge, shared memory driver

Other LwIP features

Ethernet driver (ENET)

WKUP-R5F

YES

FreeRTOS

Ethernet as port using CPSW, MAC loopback and PHY loopback, Layer 2 MAC, Packet Timestamping, CPSW Switch, Policer and Classifier, MDIO Manual Mode, CBS (IEEE 802.1Qav) on CPSW, IET (IEEE 802.1Qbu) on CPSW, Strapped PHY (Early Ethernet), cut through switch on CPSW

RMII mode

SOC Device Drivers

For SOC device driver support information per CPU, refer to [BUILDSHEET].

Board Device Drivers

Peripheral

Supported CPUs

SysConfig Support

EEPROM

MCU-R5F, WKUP-R5F

Yes

Ethernet PHY

WKUP-R5F

Yes

Flash

WKUP-R5F

Yes

LED

MCU-R5F, WKUP-R5F

Yes

PMIC

MCU-R5F

Yes

Fixed Issues

ID Head Line Module
EXT_SITMPUSW-337 MCU PLUS SDK AM62P: EMMC HS400 Glitch - IP vendor recommendation -
EXT_SITMPUSW-222 MMCSD field Card Type is not ordered logically in the Sysconfig MMCSD
EXT_SITMPUSW-338 Flash writes fail if offset / address is not block aligned OSPI
EXT_SITMPUSW-220 SBL_SD bootloaders report incorrect boot image size SBL
EXT_SITMPUSW-329 Incorrect Value of UART_EFR2_TIMEOUT_BEHAVE_MASK UART
EXT_EP-12277 AM62Px: ECC: SDL_MCAN1_MCANSS_MSGMEM_WRAP_ECC_AGGR aggregator is failing SDL-ECC
EXT_EP-13265 MCU R5 ECC Aggr init fails when MCU LBIST is enabled in bootloader SDL-LBIST
EXT_EP-12280 Running MCU LBIST on SBL causes JTAG connection issues to MCU R5F SDL-LBIST
EXT_EP-13576 Need to enable the POK bandgap bit for reference voltage SDL-POK

Known Issues

ID Head Line Module
EXT_SITMPUSW-153 MCU+ SDK CCS Project Build Generates Invalid/Redundant Boot Image Files Build
EXT_SITMPUSW-349 VP_SYNC_LOST IRQ Flood in applications with higher preemptions Display
EXT_SITMPUSW-354 Udma_defaultVirtToPhyFxn does not takes the compiler dependency into account DMA
EXT_SITMPUSW-348 PRIMASK Implementation based critical sections FreeRTOS
EXT_SITMPUSW-28 Outstanding mailbox messages prevent suspend IPC
EXT_SITMPUSW-259 eMMC retuning may be attempted during the initialization sequence MMCSD
EXT_SITMPUSW-135 RTC Test application failing intermittently. RTC
EXT_SITMPUSW-258 WKUP UART0 is not working in CallBack mode UART
EXT_EP-12276 ECC: Firewall related aggregators failures SDL-ECC
EXT_EP-12279 CSI RX ECC aggregators are failing on AM62P/AM62X SDL-ECC

Errata

ID Head Line Module SDK Status Remarks
i2310 USART: Erroneous clear/trigger of timeout interrupt UART Implemented Workaround implemented in UART_i2310WA() in the UART driver
i2311 USART: Spurious DMA Interrupts UART Implemented FIFO trigger levels are always set to power-of-2 values via SysConfig
i2189 OSPI: Controller PHY Tuning Algorithm OSPI Implemented PHY tuning algorithm implemented in OSPI driver per SPRACT2
i2249 OSPI: Internal PHY Loopback and Internal Pad Loopback clocking modes with DDR timing inoperable OSPI Implemented SDK uses only unaffected clocking modes (DQS with PHY or No PHY mode)
i2383 OSPI: 2-byte address is not supported in PHY DDR mode OSPI Application Related Application must configure 3-byte or 4-byte addressing mode for OSPI flash
i2431 BCDMA: RX Channel can lockup in certain scenarios BCDMA Implemented SDK drivers set TR EOP flag (TR_FLAGS_EOP=1) and PDMA Z parameter (fifoCnt) to non-zero per workaround
i2436 BCDMA: BCDMA RX_IGNORE_LONG setting in RX CHAN CFG register doesn't work BCDMA N/A RX_IGNORE_LONG is not used in SDK (ignoreLongPkts defaults to FALSE); errata condition cannot be triggered
i2409 USB: USB2 PHY locks up due to short suspend USB N/A USB is not supported in AM62Px MCU+SDK
i2410 Boot: ROM may fail to boot due to i2409 Boot N/A USB is not supported in AM62Px MCU+SDK
i2062 RAT: Error Interrupt Triggered Even When Error Logging Disable Is Set RAT N/A SDK RAT driver does not use error interrupts or error logging
i2097 DSS: Disabling a Layer Connected to Overlay May Result in Synclost During the Next Frame DSS Open DSS driver does not implement the layer position workaround before disabling a layer
i2103 Safety Modules: Incorrect Reporting of ECC_GRP, ECC_BIT and ECC_TYPE Information for Functional Safety Errors Internal Diagnostic Modules N/A No software workaround available; detection and interrupt signaling are unaffected
i2137 PSIL: Clock stop operation can result in undefined behavior PSIL Implemented SDK UDMA driver provides ChDisable/ChEnable APIs for proper channel teardown before clock stop
i2160 DDR: Valid VRef Range Must be Defined During LPDDR4 Command Bus Training DDR Implemented SDK ships pre-generated DDR register init file with correct CALVL_VREF values from TI DDR Configuration Tool
i2190 CSI: CSI_RX_IF may enter unknown state following an incomplete frame CSI_RX N/A CSI_RX is not supported in AM62Px MCU+SDK
i2196 IA: Potential deadlock scenarios in IA Interrupt Aggregator N/A SDK does not use IA multicast block functionality; not applicable
i2208 CPSW: ALE IET Express Packet Drops CPSW Implemented TSN stack sets minimum IET fragment size to 128 bytes via ENET_MACPORT_IOCTL_SET_PREEMPT_MIN_FRAG_SIZE
i2253 PRG: CTRL_MMR STAT registers are unreliable indicators of POK threshold failure PRG Implemented POK driver clears ESM flags on initialization as per workaround
i2278 MCAN: Message Transmit order not guaranteed from dedicated Tx Buffers configured with same Message ID MCAN Application Related Customer must use Tx FIFO instead of dedicated Tx Buffers with same Message ID
i2279 MCAN: Specification Update for dedicated Tx Buffers and Tx Queues configured with same Message ID MCAN N/A Documentation erratum only; no code change required
i2312 MMCSD: HS200 and SDR104 Command Timeout Window Too Small MMCSD N/A No SDK command requires a timeout longer than 700ms; not applicable
i2401 CPSW: Host Timestamps Cause CPSW Port to Lock up CPSW Open SDK enables CPTS host Rx timestamps by default (hostRxTsEn=true); workaround requires disabling host timestamps
i2407 RESET: MCU_RESETSTATz unreliable when MCU_RESETz is asserted low RESET N/A Board design constraint; use Main Domain RESETSTATz instead of MCU_RESETSTATz
i2419 Boot: When disabling deskew calibration, ROM does not check if deskew calibration was enabled Boot N/A No workaround needed; no functional issue as ROM clears config bit regardless
i2423 Boot: HS-FS ROM applies debug access restrictions to all address space covered by the efuse controller firewall Boot Application Related Application must request TIFS SW to open the firewall region before accessing address space on HS-FS devices
i2435 Boot: ROM timeout for eMMC boot too long Boot Application Related Application must use an alternate boot mode to initially program eMMC
i2457 Boot: Missing data in UART transfer causes boot failures Boot Open uart_uniflash.py and uart_bootloader.py do not implement the 50ms inter-character delay workaround
i2458 MMCSD: eMMC HS400 tDCD timing marginal to JEDEC spec MMCSD Implemented SDK uses HS200 mode for eMMC; HS400 mode is not used, avoiding the tDCD timing issue
i2464 Boot: ROM is unable to boot from SD cards with incorrect formatting Boot N/A User must add -a argument to mkfs.vfat when creating SD card on Ubuntu 22.04
i2482 Boot: ROM does not provide enough clocks during SD card initialization Boot N/A No workaround available; ROM issue with no functional impact observed in practice
i2487 LPM: Low power modes may inadvertently corrupt DDR contents LPM Implemented Workaround implemented in SDK 11.1 and later; ensures DDR retention latch is in correct state through reset scenarios

Limitations

S.No Head Line Module
1 The ROM startup model for runtime initializations in TI ARM CLANG is not supported/tested in the SDK NA
2 LPM is not supported with SBL boot flow. It is supported only with SPL boot flow. Bootloader
3 The EVM is limited to only one MAC address in the EEPROM, applications requiring multiple MAC addresses should enable and configure manual MAC address entry in Sysconfig. Networking

Upgrade and Compatibility Information

This section lists changes which could affect user applications developed using older SDK versions. Read this carefully to see if you need to do any changes in your existing application when migrating to this SDK version relative to previous SDK version. Also refer to older SDK version release notes to see changes in earlier SDKs.

The below table captures the list of migration document sections when migrating from one version to another. The migration for a partcluar module will be applicable, if you are migrating from older version listed to newer version listed on the table below.

Module

Migration guide

Older version

Newer version

Bootloader

Bootloader Migration Guidelines

<= 10.01.00

>= 11.00.00

NETWORKING

Version Updates from earlier SDKs to Latest

<= 11.01.00

>= 11.02.00

OSPI

OSPI Migration Guide

<= 11.01.00

>= 11.02.00

SCI Server

Migration Guide 11.02 to 12.00

<= 11.02.00

>= 12.00.00

SBL Linker

Migration Guide 11.02 to 12.00

<= 11.02.00

>= 12.00.00

VTM (SDL)

SDL_VTM_getTemp API now takes int32_t pointer instead of uint32_t

<= 12.00.00

>= 12.01.00

DPL

TimerP_start, TimerP_stop, TimerP_clearOverflowInt return type changed from void to int32_t

<= 12.00.00

>= 12.01.00

DPL

AddrTranslateP_setRegion promoted to public API; AddrTranslateP_readbackVerify added as new API

<= 12.00.00

>= 12.01.00

UART

UART_enableLoopbackMode and UART_disableLoopbackMode return type changed from void to int32_t. Check the return value; SystemP_FAILURE is returned if the base address is invalid.

<= 12.00.00

>= 12.01.00

Networking

Module Affected API Change
TSN notify_linkchange notify_linkchange function is renamed to cb_lld_notify_linkchange, include path <tsn_combase/tilld/cb_lld_ethernet.h> in the file that uses cb_lld_notify_linkchange.