2.1. Release Notes

2.1.1. Overview

The Processor Software Development Kit (Processor-SDK) for Linux Automotive 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 Automotive (PSDKRA) 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 06.02.00

Released February 2020

2.1.5.1. What’s New

  • A72 PMU support for Performance profiling
  • IO Hub: PCIe Backplane demonstration using camera data

2.1.5.2. Release features

  • R5 SPL:
    • Early booting of MCU R5F and MainSS R5F’s
    • Bootstrapping 2nd stage boot loader (u-boot) on A72
    • Hyperflash support, UART boot, OSPI boot support.
    • eMMC HS400 mode support
    • eMMC boot support
  • A72 U-boot:
    • Early booting of remote cores (C7x, C66x, Main subsystem R5F’s) with configurable order of boot-strapping
    • Support for booting both compressed and uncompressed kernel image
    • Basic HYP mode support - boots up uboot in EL2 privileged mode
    • Hyperflash support, OSPI support, MMCSD support
    • SD card boot, hyperflash boot support
    • USB Host and mass storage support
    • Support for DFU download to SD card, eMMC, OSPI
    • UFS support
    • eMMC boot support
  • Kernel: Kernel image includes support for the following drivers
    • MMC support
    • I2C support
    • CPSW2G Ethernet driver
    • UART driver, UART console support
    • USB driver with support for device/host mode of operation
    • PCIe Root Complex and Endpoint drivers
    • CPSW9G Virtual driver
    • USB gadget driver support
      • Composite device
      • Multifunction composite device
    • USB DRD dual role support
    • Support for dual voltage SD cards (UHS mode)
    • PCIe backplane support
    • PCIe Gen3 2xlane support
    • eMMC HS400 speed mode support
    • UART DMA mode support
    • UFS support
    • ADC basic functionality
    • Crypto acceleration support for AES, 3-DES, and RNG
  • Graphics:
    • Support for OpenGL ® ES 1.x, OpenGL ® ES 2.0 and OpenGL ® ES 3.2 APIs
    • Weston window composition with GPU acceleration support
    • DRM-based display backend
    • Offscreen rendering mode support
    • DMABUF buffer import support
    • Support for YUV texture formats
    • Support for GPU profiling tools (PVRTrace and PVRTune)
  • IPC:
    • IPC support between
      • A72 to C7x
      • A72 to each C66x core
      • A72 to each MainSS R5F core
      • A72 to each MCU island R5F core
    • Support for IPC in both IPC-only mode (core loaded by u-boot) and remoteproc mode (core loaded by Linux Kernel)
    • Mailbox and H/W spinlock support
  • Multimedia:
    • Decoder:
      • Gstreamer-based video decode plugin for H.264 & H.265/HEVC formats
      • Support for decode resolutions up to 4K@60fps
      • Support for decoding NV12/NV16 pixel formats
      • Support for 8-bit and 10-bit pixel depths
      • Support for decoding streams with ‘B’ Frames
      • Support for multi channel decoding in driver and gstreamer
      • Support for MJPEG and JPEG Image decoder
      • Gstreamer plugin support for wayland sink
      • Support for video decoder error recovery
      • Support for interlaced video decode
    • Encoder:
      • Driver support for H.264 video encoder with NV12, 8 bit content
      • Driver support for multi channel encoding
  • Display:
    • DSS support for cropping, scaling, gamma correction, per-pixel blending and global alpha blending
    • DSS support for Color Space Conversion (CSC) and Color Phase Rotation (CPR)
    • DRM API support
    • Support for NV12, UYVY, and XRGB888 data
    • Static partitioning of DSS resources and using video pipelines on shared videoport
  • Audio:
    • Audio playback and Audio record support at 48 KHz, 24 bits per sample
    • Stereo and Multichannel support
    • Multi-codec support
    • McASP: Master and slave mode support
    • Multi-codec support with separate serializer per codec
  • Virtualisation:
    • Jailhouse hypervisor support
    • Static system partitioning: SD/eMMC, Display pipes, sproxy threads, UARTs, etc.
    • IO isolation between VMs
    • PVU and SMMU backed IO isolation support
    • SMMU emulation in Jailhouse hypervisor

2.1.5.3. Component versions

component source branch version
arm-trusted-firmware git://git.ti.com/atf/arm-trusted-firmware.git ti-atf e516a389ac12fbe1597f61fea80ed3f230b9c5fd
optee-os git://git.ti.com/optee/ti-optee-os.git ti-optee-os 5208e5c1f3743fcde71e150eada2fc9945f749df
U-boot git://git.ti.com/ti-u-boot/ti-u-boot.git ti-u-boot-2019.01 350f3927b89bc06ce1c9ddb618280d298c418b94
Linux Kernel git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-linux-4.19.y 5a23bc00e08d26bb83952953d909c95b42fab70c
Jailhouse git://git.ti.com/jailhouse/ti-jailhouse.git ti-jailhouse-0.10 b3a68ac89d7ed955546eae91954b184ec1583ce3

2.1.6. Issues Tracker

2.1.6.1. Issues fixed in this release

Record ID Summary
LCPD-16024 DSS7: Driver does not check for unsupported pixel clock as per HW limit
LCPD-16121 DP: Videomodes that exceed the link bandwidth need to be rejected
LCPD-16599 WIZ driver memleak on module unload
LCPD-16610 DP driver reports “No supported color_format found”
LCPD-16641 tidss: need to ensure the output width is divisible by 2
LCPD-16840 DP driver error handling is missing proper cleanups
LCPD-17084 tidss: page-flip race issue
LCPD-17201 tidss compilation warnings with W=1
LCPD-17253 g_multi seems hanging when usbdev is full-speed/high-speed
LCPD-17292 CDC ACM has problem after multiple modprobe
LCPD-17300 J7: possible memleak in DP PHY driver
LCPD-17301 J7: possible memleak in tidss driver
LCPD-17316 U-boot: J7es: gpios above 32 don’t work with the da8xx_gpio.c driver
LCPD-17347 PCIe: RC: With SMMU disabled, SSD partitions are not mounted
LCPD-17363 tidss: Default premultiplied alpha configuration is broken
LCPD-17378 spl-dfu boot does not work using 2019.05
LCPD-17379 J7 Alpha board can’t boot from 8G Sandisk SD cards (16G+ works)
LCPD-17380 usb: g_ncm: USBDEV is not at superspeed
LCPD-17402 PAT: kmemleak with sg tables
LCPD-17407 DP: race issue when enabling the DP output
LCPD-17411 Kernel ‘perf’ output data broken
LCPD-17439 Seeing i2c_write error with sysfw
LCPD-17470 CPSW: Still seeing multicast packets with promisc and allmulti disabled
LCPD-17524 USBDev: g_cdc does not work at superspeed
LCPD-17542 j721e: custom audio support dts changes missing for alpha board
LCPD-17566 J7es does not boot from some SD cards
LCPD-17672 MMC: Some cards fail to tune in DDR50 speed mode
LCPD-17833 CPSW2G: vlan max_size (>1518) packet drop after interface down/up
LCPD-17835 ntb_hw_epf: probe failed with error -5
LCPD-17905 j721e: QSPI_S_PERF_RAW_READ test failed
LCPD-17912 CPSW9G: Cannot bring up interface over NFS or SD Boot
PSDKLA-5002 Video playback crashes on continuous playback with VM

2.1.6.2. Errata workarounds

None

2.1.6.3. Open Defects

Record ID Summary Workaround
LCPD-16120 DP: Link fails right after link training, unless voltage swing is 2 or 3  
LCPD-16130 Exception triggered by drm_dev_unregister during poweroff  
LCPD-16208 FIFO Underflows during video playback on 4k panel  
LCPD-16366 RGX kick test fails when 32 sync dependencies are set for each command  
LCPD-16505 Wrong clock rate is reported for 157:400, 157:401 (HSDIVIDER after PLL4 and 15)  
LCPD-16531 video decode: vxd_dec warnings displayed at end of gstreamer hevc playback to kmssink for certain video  
LCPD-16535 remoteproc/k3-dsp: PDK IPC echo test binaries fails to do IPC in remoteproc mode on second run  
LCPD-16545 remoteproc/k3-r5f: PDK IPC echo_test image fails to boot up in remoteproc mode on second run  
LCPD-16591 PCIe wifi ping stress test failed  
LCPD-16616 Jailhouse: Failure in mhdp probe while restarting the Linux VM  
LCPD-16628 Could not enumerate PLEXTOR pcie SSD  
LCPD-16640 PCIe RC: GIC ITS misbehaves when more than 4 devices use it simultaneously  
LCPD-16836 DP: GeChic display EDID read failures  
LCPD-16921 GPU driver doesn’t unregister genpd name on unload  
LCPD-17006 4k DP Display Shows Blank Screen sometimes when booting  
LCPD-17010 J7ES: USB: gadget mode breaks with PC host with USB3.0 LPM  
LCPD-17171 Uboot dhcp occasionally failed  
LCPD-17213 Weston sometimes fails to start when booting with nfs filesystem  
LCPD-17229 vxd_dec: kernel crash if rootfs has no pvdec_full_bin.fw firmware file  
LCPD-17236 PDK-IPC build from sources is not creating stripped images and links  
LCPD-17284 remoteproc/k3-r5: Cores are started out-of-order when core 0 file size >> core 1 file size  
LCPD-17381 J7 Beta board ti_sci_power_domain_on: get_device(91) failed (-19)  
LCPD-17387 Underflow and CRTC SYNC LOST observed while running GLMark2 (1x1080p + 1x4k)  
LCPD-17398 J7 Beta board hangs and cannot power cycle via automation interface  
LCPD-17403 PAT: DMA-API warning  
LCPD-17406 U-boot: Uboot has no knowledge of memory reserved for remote cores  
LCPD-17418 J7 sometimes failed to boot Flash firmware into mmc rootfs
LCPD-17421 CPSW9G: Can’t bring up interface over NFS  
LCPD-17543 Some cpuhotplug tests failed  
LCPD-17673 No software documentation for the Timer module  
LCPD-17770 U-Boot: Fix order of MCU R5 shutdown depending on cluster mode  
LCPD-17771 cryptomgr_test kmemleak  
LCPD-17772 systemd doesn’t show ansi sequences correctly  
LCPD-17773 cryptomgr_test related DMA-API errors  
LCPD-17780 Mbox timedout in resp  
LCPD-17789 UBOOT J7: Could not see UFS device by scsi scan  
LCPD-17794 ext4write failed to write firmware to SD card  
LCPD-17798 2020 LTS: INTA/INTR smp_affinity failure and IRQ allocation issues.  
LCPD-17814 Kingston 16G card could not boot to uboot prompt  
LCPD-18056 PVR errors observed while running graphics tests  
LCPD-18061 Linux boot writes login prints to other UART ports that it doesn’t own  
LCPD-18062 tidss: OVR registerhandlig code is naive, and fails in complex cases  

2.1.6.4. Known issues & limitations

Record ID Summary Workaround
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.

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.


Host Support

For the specific supported hosts for current SDK, see Supported Platforms.

Note

Processor SDK Installer is 64-bit, and installs only on 64-bit host machine. Support for 32-bit host is dropped as Linaro toolchain is available only for 64-bit machines.