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

Released September 2022

What’s New

Processor SDK 8.4 Release has following new features:

  • Native Linux networking (CPSW)
  • OSPI1 & Hyperflash boot

2.1.6. Build Information

2.1.6.1. U-Boot

Head Commit: a169f4261024397dd3ddb944decc1601a623df2a HACK: j721s2: QoS workaround for GPU cache incoherency
Date: 25 Jul 2022 06:28 PM CDT
uBoot Version: 2021.01
uBoot Description: 08.04.00.005
Clone: git://git.ti.com/ti-u-boot/ti-u-boot.git
Branch: ti-u-boot-2021.01
uBoot Tag: 08.04.00.005
Compiler Information: aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))

Note:

meta-psdkla Yocto layer contains additional patches for U-Boot here.

2.1.6.2. Kernel

Linux Kernel

Head Commit: 95b90aa828165df6c45d6bb0e1cce905e83a66a7 Merged TI feature connectivity into ti-linux-5.10.y
Date: 22 Jul 2022 02:21 PM CDT
Kernel Version: 5.10.120
Kernel Description: 08.04.00.005
Clone: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
Branch: ti-linux-5.10.y
Tag: 08.04.00.005
Kernel defconfig: ti_sdk_arm64_release_defconfig
Compiler Information: arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025

Real Time (RT) Linux Kernel

Head Commit: adb96c641cb03198db729962eb348ca1a16978e2 Merged TI feature ti_linux_base_rt into ti-rt-linux-5.10.y
Date: 22 Jul 2022 02:57 PM CDT
Kernel Version: 5.10.120
Kernel Description: 08.04.00.005
Clone: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
Branch: ti-rt-linux-5.10.y
Tag: 08.04.00.005
Kernel defconfig: ti_sdk_arm64_release_defconfig
Compiler Information: arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025

Note:

meta-psdkla Yocto layer contains additional patches for Linux Kernel here.

2.1.6.3. Yocto

meta-ti

Head Commit: 762f4908189fcd5f62cb259767768534264d7702 linux-ti-staging-rt: Bump to 08.04.00.005 release
Date: 2022-07-26
Version: dunfell-3.1
Clone: git://git.yoctoproject.org/meta-ti
Branch: dunfell
Release Tag: 08.04.00.005

meta-arago

Head Commit: 28ab4e60678f0d54f552c3c7606ad76244dd0b5c ltp-ddt: Bump to 08.04.00.005 release
Date: 2022-07-26
Version: 2021.09
Clone: git://git.yoctoproject.org/meta-arago
Branch: dunfell
Release Tag: 08.04.00.005

meta-psdkla

Head Commit: 53219eedfbf59b5ee44910d260215a9a0d876109 j721e-sk: Adding systemd service: script to fix PMIC issue
Date: 2022-08-26
Clone: git://git.ti.com/jacinto-linux/meta-psdkla.git
Branch: master

2.1.7. Issues Tracker

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

Record ID Title
LCPD-28094 SK-TDA4VM fails to boot with recent daily builds
LCPD-28034 J7ES/J721e: Issue in OSPI driver with Cypress flash
LCPD-27107 Upstream: Move ARM64 stack pointer for all K3 devices
LCPD-26641 K3: Move stack initialization address in arm64
LCPD-25661 GPU driver DDK 1.13 not supported on Linux kernel 5.10
LCPD-25535 UBoot: customized ${optargs} doesn’t take affect on K3 devices
LCPD-25502 J721e/J7200/J7AEP: Add the missing UART instances clock/dev data
LCPD-25491 j721e-idk-gw: CPSW2G Promisc failure
LCPD-25317 A72 SPL: A72 SPL memcpy sluggish with 8.0/8.1 SDK
LCPD-25305 J721e/J7200: Populate missing IDs in the j72xx_dst_ep_map
LCPD-25075 J721E: revE8 SoM board doesn’t boot consistently
LCPD-24871 J721E-SK: SPL: DFU boot test failed
LCPD-24511 ARM: A72/53 L1 data cache and L2 cache set counts wrong
LCPD-24507 U-Boot command “saveenv” doesn’t save env
LCPD-24315
ufs@4e84000: fix warning
LCPD-24290 Decoder + kmssink elements generates pink and green frames blinking
LCPD-24283 CSI2 10 bit raw capture does not work
LCPD-24274 PCIe: Link up failure when unused lanes are not assigned to PCIe Controller
LCPD-24231 J721e: U-boot: QSPI: Read performance very low with 7.x & 8.0 SDK
LCPD-24115 j721e-idk-gw default mtdparts value in U-BOOT is wrong
LCPD-23002 wic images for K3 HS images are broken
LCPD-22964 U-Boot: PLL POSTDIV1 and POSTDIV2 clock parenting is reversed
LCPD-22861 Missing documentation for HS devices
LCPD-19858 OE: OPTEE label used in SDK is old and wrong
LCPD-16591 PCIe wifi ping stress test failed

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

Record ID Title
LCPD-28419 Linux: All: AM65 CPSW driver fails to build w/o PHYLINK=y
LCPD-28361 RMII mode not working with am65-cpsw driver
LCPD-28340 Yocto: viddec-test and videnc-test recipes are IMG encoder specific - disable for j721s2/am62a etc
LCPD-28325 kernel crashes if CONFIG_DEBUG_FS is not set
LCPD-28316 Documentation for tidec_decode should clearly limit the support to raw streams (no container formats)
LCPD-28308 u-boot: build broken for j721e_hs_evm_a72_defconfig
LCPD-28227 v5.19-rc1: devm_spi_release_controller refcount issue
LCPD-28178 wic images for K3 HS images are broken

2.1.7.3. Errata Workarounds Available in this Release

Record ID Title
LCPD-24274 PCIe: Link up failure when unused lanes are not assigned to PCIe Controller
LCPD-19965 OSPI PHY Controller Bug Affecting Read Transactions
LCPD-19068 DSS: Disabling a layer connected to Overlay may result in synclost during the next frame
LCPD-19047 USB: Race condition while reading TRB from system memory in device mode
LCPD-18980 PCIe: Gen2 capable endpoint devices always enumerate as Gen1
LCPD-17220 U-Boot Hyperbus: Hyperflash reads limited to 125MHz max. frequency
LCPD-16605 MMC: MMC1/2 Speed Issue

2.1.7.4. SDK Known Issues

Record ID Title Workaround
LCPD-28474 libthread_db and libpthread version mismatch does not allow GDB debug of multi-thread  
LCPD-28317 GStreamer pipeline with decoder and fakesink causes kernel crash  
LCPD-28315 tidec_decode causes a kernel crash when used with container fileformats  
LCPD-28123 Encoder framerate drops below 30FPS for 2 or more channels of 1920x1080  
LCPD-28118 RGBA Encode throws timeout error for 720x512 resolution  
LCPD-28019 TDA4VM: Kernel panic caused by H265 decoder crash  
LCPD-27522 Multi Stream decode fails  
LCPD-25663 Remove old IMG demo binaries  
LCPD-25662 Remove SGX PVR tools from KS3 devices  
LCPD-25583 H264 Encode followed by decode not working for all resolutions in Gstreamer  
LCPD-25538 Unable to extract header info with Decoder Standalone Test application  
LCPD-25332 J721e Failing Video test  
LCPD-25330 Video seek feature breaks with buffer import patch  
LCPD-25221
j721e-idk-gw failing Glmark2-DRM Test (Impact 1)
 
LCPD-24733 Gstreamer video decode test failing for H.264  
LCPD-24619 Bitbake fails in different timezone  
LCPD-24475 Performance of H.265 decoder is poor  
LCPD-24099 v4l2h264dec, v4l2h264enc, v4l2h265dec: Codec Allocates much more space than required in Linux  
LCPD-22972 j721e-idk-gw GLBenchmark GLB25_EgyptTestStandardOffscreen_inherited test  
LCPD-22921 j721e PVR profiling with PVRPerfServer test is failing  
LCPD-19948 Yocto: stream recipe is incorrect  
LCPD-19894 UYVY texture test fails due to internal data stream error  
LCPD-19716 GFX_XS_FUNC_UYVY_TEXTURE test fails  
LCPD-16531 video decode: vxd_dec warnings displayed at end of gstreamer hevc playback to kmssink for certain video  
LCPD-16454 DSS underflows with 1080p/2.5k display on inmate cell  
LCPD-16366 RGX kick test fails when 32 sync dependencies are set for each command  

2.1.7.5. U-Boot Known Issues

Record ID Title Workaround
LCPD-28387 J721e/J7200/J721s2: Add the missing UART instances clock/dev data  
LCPD-28206 j721: sdhci0: Capabilities offered in U-Boot Vs Kernel dts are different  
LCPD-24108 U-Boot: TISCI config ring fail traces seen in OSPI boot mode on J721E  
LCPD-22904 U-boot: Update EMIFtool for i2244:DDR: Valid stop value must be defined for write DQ VREF training  
LCPD-22512 Update dfu_alt_info_ospi to include flashing of PHY tuning data  
LCPD-22452 u-boot README doesn’t have eMMC specific documentation for J7ES  
LCPD-22451 Documentation on J7ES Boot flow refers to AM65xx Boot flow in the u-boot user guide  
LCPD-19871 U-boot: Documentation: Combined Boot flow and SPL Rearch  
LCPD-19776 j7: uboot: some socketed evms fail to boot  
LCPD-17789 UBOOT J7: Could not see UFS device by scsi scan  
LCPD-17523 A72-SPL - Support to dump EEPROM to shared memory  

2.1.7.6. Linux Kernel Known Issues

Record ID Title Workaround
LCPD-28663 Pauses in video being displayed when input video is read from SD card  
LCPD-28502 MMC I/O latency is causing audio UNDERRUN issues  
LCPD-28480 J721E: USB super speed gadget mode: PC does not detect device  
LCPD-28385 SPI Master RX Transfer Hangs in Full Duplex Mode with UDMA  
LCPD-28314 SDK: CPSW9G: GESI Card interface eth1: packet loss observed  
LCPD-28247 J721e: Ethernet driver crash while running iperf3 after about 6+ hrs  
LCPD-28182 Add support for simultaneous use of RPi camera and Rpi extension header  
LCPD-28087 emmc: using RPMB panicks the TA on High speed mode  
LCPD-26728 J721e: Watchdog reset fails on newer SoMs  
LCPD-25629 networking - dunfell systemd behaves differently than older SDK’s  
LCPD-25512 TSN (EST) : Reduced Bandwidth observed on ports 5002, 5003 with increase in test bandwidth  
LCPD-25469 j721e USB OTG HOST regressions on eptf126  
LCPD-25321 Docs: J721E: Improve the IPC chapter for ti-rpmsg-char  
LCPD-25187 ATF: Support PSCI call for system reset  
LCPD-25112 Ethernet driver not gating its clock when interface is down  
LCPD-24798 j721e-idk-gw, j7200-evm UART tests fail (Impact 3.0)  
LCPD-24725 PCIE RC Link fails when linux prints are made quiet  
LCPD-24677 j721e-idk-gw PCI WIFI Tests Fail due to iperf issues(Impact 1)  
LCPD-24595 j721e-idk-gw USB Suspend/Resume with RTC Wakeup fail (Impact 1)  
LCPD-24589 no new usb reported on host after g_multi  
LCPD-24502 j721e-evm-ivi Universal Planes fails (Impact 1)  
LCPD-24491 Docs: MMC/SD supported modes not documented properly for J721E/J7200  
LCPD-24456 Move IPC validation source from github to git.ti.com  
LCPD-24198 J721e-sk stress boot test fails  
LCPD-24142 J721e: Issue with OSPI probe in kernel when booting from OSPI boot mode  
LCPD-24125 j721e-idk-gw all LE play + record tests fail (Impact 7.0)  
LCPD-23010 j721e-idk-gw stress boot test files  
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

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-22513 Update SDK doc to include OSPI flashing instruction using dfu-util  
LCPD-22487 USB: usb0 doesn’t work properly in host only mode  
LCPD-22339 PCI-E USBCARD, ETHCARD don’t indicate 2-lane support with lspci  
LCPD-20653 ltp: kernel syscall tests fail  
LCPD-20290 CPSW Performance regression on j721e-idk-gw  
LCPD-20240 MMC Modular testcase regression  
LCPD-19792 j721e boot fails sometimes due to EL1 exception  
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-19068 DSS: Disabling a layer connected to Overlay may result in synclost during the next frame  
LCPD-18860 isolcpus in the command line is not honored  
LCPD-18790 eMMC tests failed on J7 rev E2 EVM  
LCPD-18684 syscalls sync failures: fdatasync03, fsync04, sync03, syncfs01, sync_file_range02  
LCPD-18258 IPSEC perfomance failures  
LCPD-17814 Kingston 16G card could not boot to uboot prompt  
LCPD-17798 2020 LTS: INTA/INTR smp_affinity failure and IRQ allocation issues.  
LCPD-17794 ext4write failed to write firmware to SD card  
LCPD-17673 No software documentation for the Timer module  
LCPD-17543 Some cpuhotplug tests failed  
LCPD-17421 CPSW9G: Can’t bring up interface over NFS  
LCPD-17284 remoteproc/k3-r5: Cores are started out-of-order when core 0 file size >> core 1 file size  
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-17113 [Cpsw9g][VirtualDriver][VirtualMAC] rpmsg_kdrv_switch is not autoloaded  
LCPD-17017 J7: DSS underflows seen on various use cases  
LCPD-17006 4k DP Display Shows Blank Screen sometimes when booting  
LCPD-16640 PCIe RC: GIC ITS misbehaves when more than 4 devices use it simultaneously  
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-16505 Wrong clock rate is reported for 157:400, 157:401 (HSDIVIDER after PLL4 and 15)  
LCPD-16454 DSS underflows with 1080p/2.5k display on inmate cell  
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-16208 FIFO Underflows during video playback on 4k panel  

2.1.7.7. Linux RT Kernel Known Issues

There are no known issues in this release in the Linux RT Kernel.

2.1.8. Change Requests

2.1.8.1. SDK features descoped from 8.4 release

ID Head Line Original Fix Version New Fix Version
JACINTOREQ-4930 k3conf Doc and Test Modify 08.04.00 08.05.00

2.1.8.2. 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.3. 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.