AM263Px MCU+ SDK: Release Notes 09.02.00

| AM263Px MCU+ SDK 26.00.00 |

Release Notes 09.02.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.
  Unless explicitly noted otherwise, the SW modules would work on any of the R5F's present on the SOC.

Attention
  Current PMIC support in SDK is bare minimum meant to power up the modules and should not be used beyond this including safety use-case etc

# New in this Release

Feature | Module
--- | ---
Added empty example to support PRU0, PRU1 cores | PRU-IO
Added PRU-ICSSM INTC and pinmux configuration from SysConfig | PRU-IO
Added ICSS-EMAC driver support | ICSS-EMAC
Added ICSS-EMAC LwIP example configured in Switch and MAC mode | ICSS-EMAC
I2C LLD driver support (I2C Low Level Driver) | I2C
SIP Package(ZCF) Support | SOC
YANG data model based configuration support for IET/Frame Preemption(IEEE 802.1Qbu), Credit Based Shaper(IEEE 802.1Qav), Enhancements for Scheduled Traffic(IEEE 802.1Qbv) and other TSN features | Ethernet and Networking
Ethernet Switch management through standard Link Layer Discovery Protocol(IEEE 802.1AB) for CPSW peripheral | Ethernet and Networking
Multi-time domain gPTP(IEEE 802.1AS) support enabled in TSN stack | Ethernet and Networking
Example to showcase the simultaneous execution of Time-Sensitive Networking and LwIP stack | Ethernet and Networking
Added support for Ethernet add-on board for Automotive Ethernet PHY in AM263Px-CC board | Ethernet and Networking

# Modules Not tested/supported in this release

## Device and Validation Information

SOC | Supported CPUs | EVM | Host PC
--- | --- | --- | ---
AM263Px | R5F | AM263Px ControlCard E2 Rev (referred to as am263Px-cc in code). | Windows 10 64b or Ubuntu 18.04 64b
AM263Px | R5F | AM263Px LaunchPad (referred to as am263Px-lp in code). | Windows 10 64b or Ubuntu 18.04 64b

## Dependent Tools and Compiler Information

Tools | Supported CPUs | Version
--- | --- | ---
Code Composer Studio | R5F | 12.7.0
SysConfig | R5F | 1.20.0 build, build 3587
TI ARM CLANG | R5F | 3.2.2.LTS
FreeRTOS Kernel | R5F | 10.4.3
LwIP | R5F | STABLE-2_2_0_RELEASE
Mbed-TLS | R5F | mbedtls-3.0.0

## Key Features

### Experimental Features

Attention
  Features listed below are early versions and should be considered as "experimental".
  Users can evaluate the feature, however the feature is not fully tested at TI side.
  TI would not support these feature on public e2e.
  Experimental features will be enabled with limited examples and SW modules.

Feature | Module
--- | ---
GUI for UART Uniflash Tool | Bootloader

### OS Kernel

OS | Supported CPUs | SysConfig Support | Key features tested | Key features not tested / NOT supported
--- | --- | --- | --- | ---
FreeRTOS Kernel | R5F | NA | Task, Task notification, interrupts, semaphores, mutexs, timers | Task load measurement using FreeRTOS run time statistics APIs. Limited support for ROV features.
FreeRTOS POSIX | R5F | NA | pthread, mqueue, semaphore, clock | -
NO RTOS | R5F | NA | See Driver Porting Layer (DPL) below | -

### Driver Porting Layer (DPL)

Module | Supported CPUs | SysConfig Support | OS support | Key features tested | Key features not tested / NOT supported
--- | --- | --- | --- | --- | ---
Cache | R5F | YES | FreeRTOS, NORTOS | Cache write back, invalidate, enable/disable | -
Clock | R5F | YES | FreeRTOS, NORTOS | Tick timer at user specified resolution, timeouts and delays | -
CpuId | R5F | NA | FreeRTOS, NORTOS | Verify Core ID and Cluster ID that application is currently running on | -
CycleCounter | R5F | NA | FreeRTOS, NORTOS | Measure CPU cycles using CPU specific internal counters | -
Debug | R5F | YES | FreeRTOS, NORTOS | Logging and assert to any combo of: UART, CCS, shared memory | -
Heap | R5F | NA | FreeRTOS, NORTOS | Create arbitrary heaps in user defined memory segments | -
Hwi | R5F | YES | FreeRTOS, NORTOS | Interrupt register, enable/disable/restore, Interrupt prioritization | -
MPU | R5F | YES | FreeRTOS, NORTOS | Setup MPU and control access to address space | -
Semaphore | R5F | NA | FreeRTOS, NORTOS | Binary, Counting Semaphore, recursive mutexs with timeout | -
Task | R5F | NA | FreeRTOS | Create, delete tasks | -
Timer | R5F | YES | FreeRTOS, NORTOS | Configure arbitrary timers | -

### Secondary Bootloader (SBL)

Module | Supported CPUs | SysConfig Support | OS support | Key features tested | Key features not tested / NOT supported
--- | --- | --- | --- | --- | ---
Bootloader | R5FSS0-0 | YES | NORTOS | Boot modes: OSPI, UART. All R5F's. RPRC, multi-core image format | Force Dual Core Mode

### SOC Device Drivers

Peripheral | Supported CPUs | SysConfig Support | DMA Supported | Key features tested | Key features not tested / NOT supported
--- | --- | --- | --- | --- | ---
ADC, ADC_R | R5F | YES | Yes. Examples: adc_soc_continuous_dma, adc_alternate_dma_trigger | Single software triggered conversion, Multiple ADC trigger using PWM, Result read using DMA (normal and alternate triggers), EPWM trip through PPB limit, PPB features, Burst mode, Single and Differential mode, Interrupt with Offset from Aquisition Window, EPWM/ECAP/RTI triggered conversions, Trigger Repeater for Undersampling and Oversampling, Global Force on Multiple ADCs, Internal DAC Loopback to Calibration Channels, Safety Checker and Aggregator, Open Short Detection feature | External channel selection
Bootloader | R5F | YES | Yes. DMA enabled for SBL OSPI | Boot modes: OSPI, UART. All R5F's | -
CMPSS | R5F | YES | NA | Asynchronous PWM trip, digital filter | CMPSS Dac LoopBack feature
CPSW | R5F | YES | No | MAC loopback, PHY loopback, LWIP: Getting IP, Ping, Iperf, Layer 2 MAC, Layer 2 PTP Timestamping and Ethernet CPSW Switch support, TSN stack | RMII, MII mode
DAC | R5F | YES | Yes. Example: dac_sine_dma | Constant voltage, Square wave generation, Sine wave generation with and without DMA, Ramp wave generation, Random Voltage generation | -
ECAP | R5F | YES | yes. Example : ecap_edma | ECAP APWM mode, PWM capture, DMA trigger in both APWM and Capture Modes | -
EDMA | R5F | YES | NA | DMA transfer using interrupt and polling mode, QDMA Transfer, Channel Chaining, PaRAM Linking | -
EPWM | R5F | YES | Yes. Example: epwm_dma, epwm_xcmp_dma | Multiple EPWM Sync from Top Module, PWM outputs A and B in up-down count mode, Trip zone, Update PWM using EDMA, Valley switching, High resolution time period adjustment, chopper module features, type5 features | -
EQEP | R5F | YES | NA | Speed and Position measurement. Frequency Measurement | -
FSI | R5F | YES | Yes. Example: fsi_loopback_dma | RX, TX, polling, interrupt mode, Dma, single lane loopback. | - FSI Spi Mode
GPIO | R5F | YES | NA | Output, Input and Interrupt functionality | -
I2C | R5F | YES | No | Controller mode, basic read/write | -
IPC Notify | R5F | YES | NA | Mailbox functionality, IPC between RTOS/NORTOS CPUs | M4F core
IPC Rpmsg | R5F | YES | NA | RPMessage protocol based IPC | M4F core
MCAN | R5F | YES | No | RX, TX, interrupt and polling mode, Corrupt Message Transmission Prevention, Error Passive state, Bus Off State, Bus Monitoring Mode | -
MCSPI | R5F | YES | Yes. Example: mcspi_loopback_dma | Controller/Peripheral mode, basic read/write, polling, interrupt and DMA mode | -
MDIO | R5F | YES | NA | Register read/write, link status and link interrupt enable API | -
MMCSD | R5F | YES | NA | MMCSD 4bit, Raw read/write | file IO, eMMC
PINMUX | R5F | YES | NA | Tested with multiple peripheral pinmuxes | -
PMU | R5F | NO | NA | Tested various PMU events | Counter overflow detection is not enabled
OptiFlash | R5F | Yes | NA | FLC, RL2, RAT functionality, XIP with RL2 enabled | OptiShare
OSPI | R5F | YES | Yes. Example: ospi_flash_dma | Read direct, Write indirect, Read/Write commands, DMA for read | -
RTI | R5F | YES | No | Counter read, timebase selection, comparator setup for Interrupt, DMA requests | Capture feature, fast enabling/disabling of events not tested
RESOLVER | R5F | YES | No | Angle and Speed Calcution. input Band Pass Filter, Manual Phase Gain Correction and Manual Ideal Sample Selection Mode calculation | Tuning, Safety Diagnostic features
SDFM | R5F | YES | yes. Example : sdfm_filter_sync_dmaread | Filter data read from CPU, Filter data read with PWM sync, triggered DMA read from the Filter FIFO, ECAP Clock LoopBack | -
SOC | R5F | YES | NA | Lock/unlock MMRs, clock enable, set Hz, Xbar configuration, SW Warm Reset, Address Translation | -
SPINLOCK | R5F | NA | NA | Lock, unlock HW spinlock | -
UART | R5F | YES | Yes. Example: uart_echo_dma | Basic read/write at baud rate 115200, polling, interrupt mode | HW flow control not tested, DMA mode not supported
WATCHDOG | R5F | YES | NA | Reset mode, Interrupt mode | -

### Trigonometric Operations

Peripheral | Supported CPUs | SysConfig Support | DMA Supported | Key features tested | Key features not tested / NOT supported
--- | --- | --- | --- | --- | ---
TMU | R5F | NO | NA | TMU Operations, Pipelining, Contex Save | Square Root, Division Operations. more than 1 Interrupt Nesting for the contex save is not Supported.

### Board Device Drivers

Peripheral | Supported CPUs | SysConfig Support | Key features tested | Key features not tested
--- | --- | --- | --- | ---
EEPROM | R5F | YES | Only compiled | -
FLASH | R5F | YES | OSPI Flash | -
LED | R5F | YES | GPIO | -
ETHPHY | R5F | YES | Tested with ethercat_slave_beckhoff_ssc_demo example | -

### Networking

Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested
--- | --- | --- | --- | --- | ---
Time-Sensitive Networking(gPTP-IEEE 802.1AS) | 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 | 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 | Other LwIP features
Ethernet driver (ENET) | R5F | YES | FreeRTOS | Ethernet as port using CPSW, MAC loopback and PHY loopback, Layer 2 MAC, Packet Timestamping, CPSW Switch, CPSW EST, interrupt pacing, Policer and Classifier, MDIO Manual Mode, Credit Based Shaper (IEEE 802.1Qav), Strapped PHY (Early Ethernet) | RMII, MII mode
ICSS-EMAC | R5F | YES | FreeRTOS | Switch and MAC features, Storm Prevention (MAC), Host Statistics, Multicast Filtering | Promiscuous Mode

### Safety Diagnostic Library

Module | Supported CPUs | SysConfig Support | OS support | Key features tested | Key features not tested / NOT supported
--- | --- | --- | --- | --- | ---
MCRC | R5F | NA | NORTOS | Full CPU, Auto CPU Mode and Semi CPU Auto Mode | -
DCC | R5F | NA | NORTOS | Single Shot and Continuous modes | -
PBIST | R5F | NA | NORTOS | Memories supported by MSS PBIST controller. | -
ESM | R5F | NA | NORTOS | Tested in combination with RTI, DCC | -
RTI | R5F | NA | NORTOS | WINDOWSIZE_100_PERCENT, WINDOWSIZE_50_PERCENT ,Latency/Propagation timing error(early)(50% window),Latency/Propagation timing error(late)(50% window) | -
ECC | R5F | NA | NORTOS | ECC of MSS_L2, R5F TCM, MCAN, VIM, ICSSM, TPTC | R5F Cache
ECC Bus Safety | R5F | NA | NORTOS | AHB, AXI, TPTC | -
CCM | R5F | NA | NORTOS | CCM Self Test Mode,Error Forcing Mode and Self Test Error Forcing Mode. TMU and RL2 are also validated | -
R5F STC(LBIST), Static Register Read | R5F | NA | NORTOS | STC of R5F, R5F CPU Static Register Read | -
TMU ROM Checksum | R5F | NA | NORTOS | ROM checksum for TMU | -
Time out Gasket(STOG) | R5F | NA | NORTOS | Timeout gasket feature | -
Thermal Monitor(VTM) | R5F | NA | NORTOS | Over, under and thershold temperature interrupts | -

Note: SDL is validate only on ControlCard.

## Fixed Issues

ID | Head Line | Module | Applicable Releases | Applicable Devices | Resolution/Comments
--- | --- | --- | --- | --- | ---
MCUSDK-11526 | UART LLD does not output readable characters with 16x AUTO BAUD operation mode. | UART | 09.01.00 onwards | We need to send the "AT/at" command from the UART_read API then it will work
MCUSDK-12347 | Infra: SysCfg for System examples generating code in single context mode. | SDK_INFRA | 09.00.00 onwards | Infra changes needed..
MCUSDK-12574 | EDMA: Unable to configure Interrupt priority. | EDMA | 09.00.00 onwards | Enabled interrupt priority configuration from SysCfg.
MCUSDK-12694 | [AM263P] RTI4 through RTI7 interrupts unusable with SysConfig. | RTI | 09.01.00 onwards | Update meta content for syscfg module.
MCUSDK-12922 | Non-existent RTI instances can be added to SysConfig file resulting in corruption. | RTI | 09.00.00 onwards | canShareWith parameter removed from SysCfg configuration.
MCUSDK-12946 | IPC: RPMSG Send fails if timeout is 0 | IPC | 09.01.00 onwards | Timeout implemented while calling IpcNotify_send.
MCUSDK-13073 | OCRAM Bank4 and Bank5 not initialized | RCM | 09.01.00 onwards | Initialization added for these 2 banks
MCUSDK-12658 | McSPI LLD multiple instances build issue | McSPI | 09.01.00 onwards | Fixed issues in SysCfg template.
MCUSDK-12946 | MCAN_txBufAddReq API should do a direct write on TXBAR register instead of a read-modify-write. | MCAN | 09.01.00 onwards | Updated the API.
MCUSDK-12278 | Sysconfig: Missing EPWMxSYNCPER configuration | EPWM | 09.02.00 | None | Moved this feature the Time Base Submodule Configurations in syscfg. This is not a HRPWM feature, yet positioned in the HRPWM configuration space.
MCUSDK-12264 | EQEP position speed example failure on am263px-lp | EQEP | 09.02.00 | None | None
MCUSDK-12263 | ECAP APWM example failure on am263px-lp | ECAP | 09.02.00 | None | Outputxbar fixes
MCUSDK-12262 | EPWM deadband example failure | EPWM | 09.02.00 | None | Syscfg Pin Suggestion fixes
MCUSDK-12247 | Syscfg: ouptutxbar generated code doesnt change the instance | XBAR | 09.02.00 | None | Outputxbar driver addition for the extended groups and udpated for the new Device Data
MCUSDK-12513 | EPWM: Sysconfig Fix for MixedSource in EPWM_setADCTriggerSource | EPWM | 09.02.00 | None | Fixed Code generation for Event Trigger Submodule
MCUSDK-12449 | EPWM: Syscfg API generation miss for period load | EPWM | 09.02.00 | None | Fixed Code generation for Period Load.

## Known Issues

ID | Head Line | Module | Reported in release | Workaround
--- | --- | --- | --- | ---
MCUSDK-11507 | ENET: CPSW MAC port is stuck forever and dropping all the Rx/Tx packets with reception of corrupts preamble | CPSW | 09.00.01 | None
MCUSDK-12312 | ROM bootloader fails when booting from Macronix Flash on AM263Px-LP | SBL | 09.01.00 | Use UART/CCS Boot
MCUSDK-12313 | OSPI Phy Tuning not working on Macronix Flash on AM263Px-LP | SBL | 09.01.00 | Use UART/CCS Boot
MCUSDK-12289 | 32 KB TCM is used in examples sysconfig MPU module, size should be 64 KB | Common | 09.01.00 | Use 64KB TCM in user application
MCUSDK-12265 | SDFM example failure on am263px-lp | SDFM | 09.01.00 | None
MCUSDK-12264 | EQEP position speed example failure on am263px-lp | EQEP | 09.01.00 | None
MCUSDK-12247 | Syscfg: ouptutxbar generated code doesnt change the instance | XBAR | 09.01.00 | Use XBAR driver API to configure the output xbar instance
MCUSDK-11675 | INDAC write only works if MPU for flash is only configured as Strongly-ordered | OSPI | 09.01.00 | None
MCUSDK-13111 | Memory Configurator/syscfg auto-linker generator doesn't support reordering | Build | 09.01.00 onwards | -
MCUSDK-13109 | RTI Interrupt req is pulse type and not level type | RTI | 09.01.00 onwards | -
MCUSDK-13014 | The memory read feature of uniflash erases the memory | Flash | 09.01.00 onwards | -
MCUSDK-13011 | Multicore Empty project not working properly | FreeRTOS | 09.01.00 onwards | -
MCUSDK-12986 | FreeRTOS: Barrier instructions missing in Interrupt Disable/Enable API's | FreeRTOS | 09.01.00 onwards | -
PINDSW-7715 | Dual EMAC instance not working with both ports together for icss_emac_lwip example | ICSS-EMAC | 09.02.00 onwards | None
PINDSW-7746 | Low iperf values in TCP and UDP | ICSS-EMAC | 09.02.00 onwards | None
MCUSDK-12756 | MbedTLS - Timing side channel attack in RSA private operation exposing plaintext. | Mbed-TLS | 08.06.00 onwards | None
PROC_SDL-7615 | ECC example fails for SEC and DED for TPTC memories. | SDL | 09.02.00 onwards | None

## Errata

ID | Head Line | Module | SDK Status
--- | --- | --- | ---
i2189 | OSPI: Controller PHY Tuning Algorithm | OSPI | Open
i2311 | USART: Spurious DMA Interrupts | UART | Implemented
i2324 | No synchronizer present between GCM and GCD status signals | Common | Implemented
i2345 | CPSW: Ethernet Packet corruption occurs if CPDMA fetches a packet which spans across memory banks | CPSW | Implemented
i2350 | McSPI data transfer using EDMA in 'ABSYNC' mode stops after 32 bits transfer | McSPI | Open
i2351 | OSPI: Controller does not support Continuous Read mode with NAND Flash | OSPI | Open
i2354 | SDFM: Two Back-to-Back Writes to SDCPARMx Register Bit Fields CEVT1SEL, CEVT2SEL, and HZEN Within Three SD-Modulator Clock Cycles can Corrupt SDFM State Machine, Resulting in Spurious Comparator Events | SDFM | Open
i2356 | ADC: Interrupts may Stop if INTxCONT (Continue-to-Interrupt Mode) is not Set | ADC | Implemented
i2383 | OSPI: 2-byte address is not supported in PHY DDR mode | OSPI | Open
i2401 | CPSW: Host Timestamps Cause CPSW Port to Lock up | CPSW | Open
i2404 | Race condition in mailbox registers resulting in events miss | IPC, Mailbox | Implemented
i2405 | CONTROLSS: Race condition OUTPUT_XBAR and PWM_XBAR resulting in event miss | Crossbar | Open

## Limitations

ID | Head Line | Module | Reported in release | Workaround
--- | --- | --- | --- | ---
- | - | - | - | -

## Upgrade and Compatibility Information

### Compiler Options

Module | Affected API | Change | Additional Remarks
--- | --- | --- | ---
- | - | - | -

### SOC Device Drivers

Module | Affected API | Change | Additional Remarks
--- | --- | --- | ---
xbar | SOC_xbarSelectInputXBarInputSource, SOC_xbarSelectPWMXBarInputSource, SOC_xbarSelectInterruptXBarInputSource, SOC_xbarSelectDMAXBarInputSource, SOC_xbarSelectPWMSyncOutXBarInput | added SOC_xbarSelectInputXBarInputSource_ext, SOC_xbarSelectPWMXBarInputSource_ext, SOC_xbarSelectInterruptXBarInputSource_ext, SOC_xbarSelectDMAXBarInputSource_ext, SOC_xbarSelectPWMSyncOutXBarInput_ext | both API versions are kept for compatibility purposes. for the additional/ extended configurations on xbar "API", please use "API_ext" | GPIO | NA | The GPIO deviceData has been modified to reduce the load from the solver working at the backend of sysconfig application. Instead of choosing the gpio peripheral GPIO0 or GPIO1 for the main domain, user can now directy choose the pins. With this change, user can add as many gpios as possible without facing any sysconfig crash. SDK changes thereby had to be adjusted accordingly. | Please note that these changes are backward compatible, so the old example.syscfg will still work. However, this change will break compatibility with users who are not using the SDK but directly using pinmux. They will have to remove the gpio related configurations from their syscfg file, then open the file in syscfg and add those gpios configurations again via gui.

### Networking

Module | Affected API | Change | Additional Remarks
--- | --- | --- | ---
- | - | - | -