2.1. Release Notes

2.1.1. Overview

The Processor Software Development Kit (Processor-SDK) for Linux provides a fundamental software platform for development, deployment and execution of Linux based applications and includes the following:

  • Bootloaders, Linux Kernel & Filesystem
  • SDK installer
  • Setup scripts
  • Demo applications
  • Documentation

Note

For building some of the RTOS-based demonstrations, you should also download Processor SDK RTOS installer. For more information, refer to <PSDKRA install path>/index.html.

2.1.2. Licensing

Please refer to the software manifest, which outlines the licensing status for all packages included in this release. The manifest can be found on the SDK download page or in the installed directory as indicated below. In addition, see Processor SDK Linux GPLv3 Disclaimer.

2.1.3. Documentation

  • Processor SDK Linux Software Developer’s Guide: Provides information on features, functions, delivery package and, compile tools for the Processor SDK Linux release. This also provides detailed information regarding software elements and software infrastructure to allow developers to start creating applications.
  • Processor SDK Linux Getting Started Guide: Provides information on getting the software and running examples/demonstrations bundled in the SDK.
  • Software Manifest: Provides license information on software included in the SDK release. This document is in the release at [INSTALL-DIR]/docs.
  • EVM Quick Start Guide: Provides information on hardware setup and running the demonstration application that is loaded on flash. This document is provided as part of the EVM kit.

2.1.4. Supported Platforms

See here for a list of supported platforms and links to more information.

2.1.5. Release 08.00.00

Released August 2021

What’s New

Processor SDK 8.0 Release has following new features:

  • First release on 2021 LTS 5.10 kernel, 2021.01 U-Boot
  • J7200, J721E: HSM bootloader re-arch
  • J721E HS Boot
  • AM64, J7200, J721E: Unified DDR driver
  • ATF 2.5, OPTEE 3.12

2.1.6. Build Information

2.1.6.1. U-Boot

Head Commit: 53e79d0e89f975eeb874366dd9a92f68b3a599d1 defconfigs: am65x_hs_evm: Sync HS and non-HS defconfigs
Date: Sat Jul 31 10:26:46 CDT 2021
uBoot Version: 2021.01
uBoot Description: 08.00.00.004
Clone: git://git.ti.com/ti-u-boot/ti-u-boot.git
Branch: 08.00.00.004
uBoot Tag: 08.00.00.004
Compiler Information: aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))

2.1.6.2. Kernel

Linux Kernel

Head Commit: 4c2eade9f722838b0e457650368cba1c6c7483c2 Merged TI feature rpmsg into ti-linux-5.10.y
Date: Fri Jul 30 11:37:10 CDT 2021
Kernel Version: 5.10.41
Kernel Description: 08.00.00.004
Clone: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
Branch: ti-linux-5.10.y
Tag: 08.00.00.004
Kernel defconfig: ti_sdk_arm64_release_defconfig
Compiler Information: aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))

Real Time (RT) Linux Kernel

Head Commit: 0701a5b58c943909a38be9df38a3b4bdd8234340 Merged TI feature ti_linux_base_rt into ti-rt-linux-5.10.y
Date: Fri Jul 30 16:42:25 CDT 2021
Kernel Version: 5.10.41
RT Kernel Version: 5.10.41-rt39<br>
Kernel Description: 08.00.00.004-rt
Clone: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
Branch: ti-rt-linux-5.10.y
Tag: 08.00.00.004-rt
Kernel defconfig: ti_sdk_arm64_rt_release_defconfig
Compiler Information: aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))

Generic Kernel Release Notes

Generic kernel release notes from kernelnewbies.org can be found at: https://kernelnewbies.org/Linux_5.10
Archived versions can be found at: http://kernelnewbies.org/LinuxVersions

2.1.6.3. Yocto

meta-ti

Head Commit: 15f3d4a3c3773294f1cdb66a88744930941a892e ti-rtos-firmware: Add soft link to the rtos firmware binaries
Date: 2021-07-23
Version: dunfell-3.1
Clone: git://git.yoctoproject.org/meta-ti
Branch: dunfell
Release Tag: 08.00.00.004

meta-arago

Head Commit: ae47bd7fbea2776a4f8792f20c493d7959ee2f54 iproute2: upgrade to 5.10
Date: 2021-07-21
Version: 2020.05
Clone: git://git.yoctoproject.org/git/meta-arago.git
Branch: dunfell
Release Tag: 08.00.00.004

2.1.7. Issues Tracker

2.1.7.1. Issues opened in previous releases that were closed on this release

Record ID Summary
LCPD-20229 U-Boot : HS Boot post Rearch for J721E
LCPD-21334 Convert ti,j721e-gpio to yaml
LCPD-20389 DDR Frequency requested(4266 MHz) & the value set(3200 MHz) are different(SDK 7.1/7.2)
LCPD-20741 j721e PCIe backplane test fails to load the dtb overlay
LCPD-20622 J721e-ivi-evm DSS CRTC0 sync lost error
LCPD-21297 Upstream: remoteproc/pru: Fix multiple issues in firmware event mapping
LCPD-18935 IPC tests failed on j721e in 07.00 rc5
LCPD-18673 IPSEC fails to establish connection when using HW crypto
LCPD-19822 ARM benchmark testcases returning lower than expected performance
LCPD-20700 Direction for MCU_RGMII1_TXC pin in for u-boot and Kernel DTB don’t match Pinmux tool’s output

2.1.7.2. Issues found and closed on this release that may be applicable to prior releases

Record ID Summary
LCPD-22208 J7ES: Linux not using the latest RM Boardcfg from the sysconfig tool leading to inconsistency with PDK
LCPD-23003 IPC: when pdk-ipc fw loaded from u-boot it breaks j721e boot and ethfw
LCPD-22979 firmware links are missing in /lib/firmware directory for K3
LCPD-22097 Kernel crash for video file based demo
LCPD-22914 HS EVMs fail to boot
LCPD-22300 /dev/hwrng missing on K3 platforms
LCPD-22242 Kernel: UBIFS test failing on J721E
LCPD-22207 SDK: j7*-*evm fails to build after 5.10 kernel migration
LCPD-22209 J7ES: OSPI boot: TISCI config ring fail error with SDK7.3
LCPD-22048 U-Boot: J7/AM64: DDR driver size is bloated up
LCPD-22188 j721e and am65 hs fails to build on 2021.01 uboot
LCPD-22792 EFI is disabled
LCPD-22859 j721e PCE-EP tests fail
LCPD-22488 AM64 inconsistent promiscuous mode visibility
LCPD-22358 U-Boot: am642/am654/j72xx: ethernet address fixup is broken
LCPD-22345 U-Boot: Main R5F clusters are incorrectly in LockStep mode
LCPD-22349 Displayport playback test fails: cannot find tidss device
LCPD-22344 crypto: sa2ul: crypto self-tests fail to allocate des3 algos
LCPD-22342 crypto: sa2ul: Fix a number of leaks in failure paths in probe
LCPD-22318 CRYPTO_S_PERF testcases are missing CONFIG_CRYPTO_DEV_SA2UL arg in 2021.00
LCPD-22282 U-Boot: reset to default env fails in 2021 LTS
LCPD-22889 U-Boot: k3-ddrss driver generates a build warning
LCPD-22285 HS200 MMC speeds aren’t being achieved in kernel
LCPD-22816 Update documentation to mention that CPSW 2G PPS support is disabled

2.1.7.3. Errata workarounds

Record ID Summary Workaround ErrataID
LCPD-19068 DSS: Disabling a layer connected to Overlay may result in synclost during the next frame   i2097
LCPD-19047 USB: Race condition while reading TRB from system memory in device mode   i2067
LCPD-19965 OSPI PHY Controller Bug Affecting Read Transactions   i2189
LCPD-17220 U-Boot Hyperbus: Hyperflash reads limited to 125MHz max. frequency   i2088
LCPD-16605 MMC: MMC1/2 Speed Issue   i2090

2.1.7.4. SDK Known Issues

Record ID Summary Workaround
LCPD-22973 GFX_XS_FUNC_GPU_MEM2MEM test fails due to a change in the expected output  
LCPD-22972 j721e-idk-gw GLBenchmark GLB25_EgyptTestStandardOffscreen_inherited test  
LCPD-22921 j721e PVR profiling with PVRPerfServer test is failing  
LCPD-22549 v4l2h264dec : application hangs when setting the pipeline to null  
LCPD-22542 v4l2h264dec is giving high latency compared to SW decoder  
LCPD-21298 Frame Buffer Decompression does not show expected improvement  
LCPD-20620 J721e: Gstreamer warning seen with video decoder mjpeg test  
LCPD-19948 Yocto: stream recipe is incorrect  
LCPD-19894 UYVY texture test fails due to internal data stream error  
LCPD-19858 OE: OPTEE label used in SDK is old and wrong  
LCPD-19819 KMS ALPHABLEND tests fail due to no attribute ‘get_default_mode’  
LCPD-19716 GFX_XS_FUNC_UYVY_TEXTURE test fails  
LCPD-18270 Ivi shell test fails. Lib ivi-controller.so and other components are missing from the file system  
LCPD-17387 Underflow and CRTC SYNC LOST observed while running GLMark2 (1x1080p + 1x4k)  
LCPD-16531 video decode: vxd_dec warnings displayed at end of gstreamer hevc playback to kmssink for certain video  
LCPD-16366 RGX kick test fails when 32 sync dependencies are set for each command  
LCPD-16130 Exception triggered by drm_dev_unregister during poweroff  

2.1.7.5. U-Boot Known Issues

Record ID Summary Workaround
LCPD-22967 U-Boot: PLL PostDiv1 and PostDiv2 divider clock rates are computed incorrectly  
LCPD-19636 J7: HS: OSPI Boot broken  
LCPD-22964 U-Boot: PLL POSTDIV1 and POSTDIV2 clock parenting is reversed  
LCPD-22904 U-boot: Update EMIFtool for i2244:DDR: Valid stop value must be defined for write DQ VREF training  
LCPD-22841 j7200 Watchdog Timer test is failing  
LCPD-22451 Documentation on J7ES Boot flow refers to AM65xx Boot flow in the u-boot user guide  
LCPD-20737 Documentation: u-boot documentation issues  
LCPD-19776 j7: uboot: some socketed evms fail to boot  
LCPD-17770 U-Boot: Fix order of MCU R5 shutdown depending on cluster mode  
LCPD-17523 A72-SPL - Support to dump EEPROM to shared memory  
LCPD-22512 Update dfu_alt_info_ospi to include flashing of PHY tuning data  
LCPD-22246 j721e Uboot DFU tests are failing  
LCPD-21986 j721e U-Boot DDR50 mode cannot be tested using the default image  
LCPD-20131 Uboot fails to enumerate devices attached to a usb hub on the first ‘usb reset’ call Re-run usb reset command
LCPD-17789 UBOOT J7: Could not see UFS device by scsi scan  
LCPD-19871 U-boot: Documentation: Combined Boot flow and SPL Rearch  
LCPD-22452 u-boot README doesn’t have eMMC specific documentation for J7ES  

2.1.7.6. Linux Kernel Known Issues

Record ID Summary Workaround
LCPD-22913 USBDEV ACM NCM enumeration fails on the device side  
LCPD-22278 PCI-E USB devices fail to enumerate after power cycling  
LCPD-20653 ltp: kernel syscall tests fail  
LCPD-17284 remoteproc/k3-r5: Cores are started out-of-order when core 0 file size >> core 1 file size  
LCPD-16545 remoteproc/k3-r5f: PDK IPC echo_test image fails to boot up in remoteproc mode on second run  
LCPD-16535 remoteproc/k3-dsp: PDK IPC echo test binaries fails to do IPC in remoteproc mode on second run  
LCPD-22976 omap-spi.txt convert to yaml  
LCPD-22487 USB: usb0 doesn’t work properly in host only mode  
LCPD-20240 MMC Modular testcase regression  
LCPD-19659 Doc: PCIe: Update documentation to indicate how to move to compliance mode  
LCPD-19084 Few SD cards not enumerating in Kernel with Alpha EVM  
LCPD-17814 Kingston 16G card could not boot to uboot prompt  
LCPD-17794 ext4write failed to write firmware to SD card  
LCPD-17421 CPSW9G: Can’t bring up interface over NFS  
LCPD-17172 Uboot USBhost: Sandisk Extreme USB 3.0 msc stick could not be detected at second time  
LCPD-17171 Uboot dhcp occasionally failed  
LCPD-16640 PCIe RC: GIC ITS misbehaves when more than 4 devices use it simultaneously  
LCPD-16628 Could not enumerate PLEXTOR pcie SSD  
LCPD-16591 PCIe wifi ping stress test failed  
LCPD-16396 J721E: RC: Unsupported request in configuration completion packets results in an abort Workaround for Multifunction: Configure all the physical functions supported by the endpoint. For configuring all the 6 functions of PCIe controller instance ‘1’ in J721E, the following can be used. mount -t configfs none /sys/kernel/config; cd /sys/kernel/config/pci_ep/; mkdir functions/pci_epf_test/func1; echo 0x104c > functions/pci_epf_test/func1/vendorid; echo 0xb00d > functions/pci_epf_test/func1/deviceid; echo 1 > functions/pci_epf_test/func1/msi_interrupts; echo 16 > functions/pci_epf_test/func1/msix_interrupts; ln -s functions/pci_epf_test/func1 controllers/d800000.pcie-ep/; mkdir functions/pci_epf_test/func2; echo 0x104c > functions/pci_epf_test/func2/vendorid; echo 0xb00d > functions/pci_epf_test/func2/deviceid; echo 1 > functions/pci_epf_test/func2/msi_interrupts; echo 16 > functions/pci_epf_test/func2/msix_interrupts; ln -s functions/pci_epf_test/func2 controllers/d800000.pcie-ep/; mkdir functions/pci_epf_test/func3; echo 0x104c > functions/pci_epf_test/func3/vendorid; echo 0xb00d > functions/pci_epf_test/func3/deviceid; echo 1 > functions/pci_epf_test/func3/msi_interrupts; echo 16 > functions/pci_epf_test/func3/msix_interrupts; ln -s functions/pci_epf_test/func3 controllers/d800000.pcie-ep/; mkdir functions/pci_epf_test/func4; echo 0x104c > functions/pci_epf_test/func4/vendorid; echo 0xb00d > functions/pci_epf_test/func4/deviceid; echo 1 > functions/pci_epf_test/func4/msi_interrupts; echo 16 > functions/pci_epf_test/func4/msix_interrupts; ln -s functions/pci_epf_test/func4 controllers/d800000.pcie-ep/; mkdir functions/pci_epf_test/func5; echo 0x104c > functions/pci_epf_test/func5/vendorid; echo 0xb00d > functions/pci_epf_test/func5/deviceid; echo 1 > functions/pci_epf_test/func5/msi_interrupts; echo 16 > functions/pci_epf_test/func5/msix_interrupts; ln -s functions/pci_epf_test/func5 controllers/d800000.pcie-ep/; mkdir functions/pci_epf_test/func6; echo 0x104c > functions/pci_epf_test/func6/vendorid; echo 0xb00d > functions/pci_epf_test/func6/deviceid; echo 1 > functions/pci_epf_test/func6/msi_interrupts; echo 16 > functions/pci_epf_test/func6/msix_interrupts; ln -s functions/pci_epf_test/func6 controllers/d800000.pcie-ep/; echo 1 > controllers/d800000.pcie-ep/start; echo 1 > /sys/bus/pci/devices/0000:00:00.0/remove; echo 1 > /sys/bus/pci/rescan; Workaround for switch card: No workarounds available.
LCPD-23010 j721e-idk-gw stress boot test files  
LCPD-22861 Missing documentation for HS devices  
LCPD-22760 k3conf: Register read leads to kernel crash  
LCPD-22715 i2232: DDR: Controller postpones more than allowed refreshes after frequency change

Workaround 1: Disable dynamic frequency change by programing DFS_ENABLE = 0

Workaround 2: If switching frequency, program the register field values as follows:

if (old_freq/new_freq >= 7) {
if (PBR_EN==1) { // Per-bank refresh is enabled
AREF_HIGH_THRESHOLD = 19 AREF_NORM_THRESHOLD = 18 AREF_PBR_CONT_EN_THRESHOLD = 1 AREF_CMD_MAX_PER_TREF = 8

} else { // Per-bank refresh is disabled

AREF_HIGH_THRESHOLD = 18 AREF_NORM_THRESHOLD = 17 AREF_CMD_MAX_PER_TREF = 8

}

} else {
AREF_HIGH_THRESHOLD = 21 AREF_CMD_MAX_PER_TREF = 8

}

LCPD-22534 Ipsec aes128 TCP test failure  
LCPD-19792 j721e boot fails sometimes due to EL1 exception  
LCPD-18860 isolcpus in the command line is not honored  
LCPD-18684 syscalls sync failures: fdatasync03, fsync04, sync03, syncfs01, sync_file_range02  
LCPD-18258 IPSEC perfomance failures  
LCPD-17798 2020 LTS: INTA/INTR smp_affinity failure and IRQ allocation issues.  
LCPD-17673 No software documentation for the Timer module  
LCPD-17543 Some cpuhotplug tests failed  
LCPD-16505 Wrong clock rate is reported for 157:400, 157:401 (HSDIVIDER after PLL4 and 15)  
LCPD-22831 Application takes 10-15 seconds to come up in some cases  
LCPD-22362 ALSA sampling format capture/loopback test - arecord failure  
LCPD-19068 DSS: Disabling a layer connected to Overlay may result in synclost during the next frame  
LCPD-17387 Underflow and CRTC SYNC LOST observed while running GLMark2 (1x1080p + 1x4k)  
LCPD-17006 4k DP Display Shows Blank Screen sometimes when booting  
LCPD-16836 DP: GeChic display EDID read failures with custom DP cable  
LCPD-16616 Jailhouse: Failure in mhdp probe while restarting the Linux VM  
LCPD-16208 FIFO Underflows during video playback on 4k panel  
LCPD-22513 Update SDK doc to include OSPI flashing instruction using dfu-util  
LCPD-20290 CPSW Performance regression on j721e-idk-gw  
LCPD-18790 eMMC tests failed on J7 rev E2 EVM  
LCPD-23057 J721e: DFU boot test fails  
LCPD-22339 PCI-E USBCARD, ETHCARD don’t indicate 2-lane support with lspci  
LCPD-23018 j721e-idk-gw IPC tests fail on some EVMs  

2.1.7.7. RT Linux Kernel Known Issues

Record ID Summary Workaround
LCPD-6663 [RT] Kmemleak is buggy and boot is crashed randomly  
LCPD-22238 RT linux build sometimes fails to boot - might be related to remoteproc2  

2.1.8. Change Requests

2.1.8.1. SDK features descoped from 8.0 release

ID Head Line Original Fix Version New Fix Version
JACINTOREQ-1559 Linux H264 decoder support 08.00.00 08.01.00
JACINTOREQ-1485 Linux writeback pipeline support 08.00.00 None
JACINTOREQ-1444 Vision apps inclusion in yocto build 08.00.00 None

2.1.8.2. SDK features present in 7.0 that were descoped in 7.1

Feature Comments
HS support Restored in 7.3
SPL/Uboot boot modes restricted to SD card boot mode Restored in 7.3
1s Linux boot  
Descope for support of native H264 encode/decode Use R5F based driver with OpenVX as interface. H.264 decoder support restored in 7.3
GPU compression  
SA2UL driver optimization  
Display Sharing Display sharing demo available in SDK v6.1
Virtualization (Jailhouse hypervisor/IPC virtualization/CPSW9G virtualization) Does not affect 3P virtualization solutions. Basic Jailhouse demo can be seen in SDK 7.0

2.1.9. Installation and Usage

The Software Developer’s Guide provides instructions on how to setup your Linux development environment, install the SDK and start your development. It also includes User’s Guides for various Example Applications.


2.1.10. Host Support

For the specific supported hosts for current SDK, see this page.

Note

Processor SDK Installer is 64-bit, and installs only on 64-bit host machine.