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_01_01_02¶
Released December 2019
2.1.5.1. What’s New¶
- R5 SPL:
- eMMC HS400 mode support
- eMMC boot support
- A72 U-boot:
- USB Host and mass storage support
- Support for DFU download to SD card, eMMC, OSPI
- UFS support
- eMMC boot support
- Kernel:
- 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 GPU virtualization (GPU to be used by multiple VMs)
- Support for YUV texture formats
- Support for GPU profiling tools (PVRTrace and PVRTune)
- Multimedia:
- Decoder:
- 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
- Decoder:
- Audio:
- Multi-codec support with separate serializer per codec
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.
- 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
- 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
- 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
- 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
- IPC support between
- Multimedia:
- 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
- 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
- Display sharing support - shared same display output from Linux (A72) and RTOS (R5) with isolation support
- 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
- 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 | ce3f1512bfc3f346900178c5ef870fbef3ab205e |
optee-os | git://git.ti.com/optee/ti-optee-os.git | ti-optee-os | e5a8779a6ffa2aa7ad01aed43608bcb9321817c6 |
U-boot | git://git.ti.com/ti-u-boot/ti-u-boot.git | ti-u-boot-2019.01 | 66126341c8f50129c6be051ef368cf12643eaccc |
Linux Kernel | git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git | ti-linux-4.19.y | 0cabba2b47949524cacbb68678767307a4f0a23e |
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-15991 | remoteproc/k3-r5: remoteproc elf download crashes at memset for MSMC address 0x70020000 |
LCPD-16180 | J7: PCIe: Sparse warning from 0-day builder |
LCPD-16192 | /usr/share/jailhouse/linux-demo.sh does not work out-of-the-box |
LCPD-16352 | U-boot: eMMC UDA boot finds images in boot0 partition |
LCPD-16358 | Gstreamer video displayed with extra lines at bottom |
LCPD-16376 | Uboot: fatwrite see Error: allocating new dir entry |
LCPD-16384 | Seldom memory translation fault |
LCPD-16401 | J721e USB Device does not enumerate after switching to host role |
LCPD-16520 | J721e: (if otg) USB device mode does not work when behind a USB HUB |
LCPD-16521 | USB gadget: Controller/Linux locks up on bulk stall |
LCPD-16526 | J7ES: USB: client: limiting the controller to full-speed in DT doesn’t work |
LCPD-16546 | Some MMCSD cards could not be enumerated with error -110 |
LCPD-16547 | DP: EDID reading fails |
LCPD-16575 | J7ES: USB: client: doesn’t work in one plug orientation when dr_mode=otg |
LCPD-16602 | eMMC stress tests failed on J7 |
LCPD-16605 | MMC: MMC1/2 Speed Issue |
LCPD-16606 | J7ES: DMA: ring reset is missed when !ti,dma-ring-reset-quirk |
LCPD-16609 | Hyperflash boot sometimes do not work |
LCPD-16648 | Weston is not starting |
LCPD-16657 | Removing sa2ul module on j721e causes omap-rng driver crash or failures printed |
LCPD-16658 | U-Boot: J7ES: DMA: ring reset is missed when !ti,dma-ring-reset-quirk |
LCPD-16922 | rogue: DMA-API warning from rgx_blit_test |
LCPD-16923 | rgx: nulldrmws missing libglslcompiler.so symlink |
LCPD-16931 | K3 wic disk-images missing essential files in boot partition |
LCPD-16933 | [Cpsw9g][VirtualDriver][VirtualMAC] integrated tree merge of the connectivity tree had a build error |
LCPD-16940 | Android: Fastboot bootloader read/write from UDA failure |
LCPD-16979 | Crash with H.264 4k test stream using standalone test |
LCPD-17003 | [ti:ti-linux-4.19.y 8109/8113] drivers/gpu//drm/tidss/tidss_wb_m2m.c:256:1: warning: the frame size of 1280 bytes is larger than 1024 bytes |
LCPD-17004 | [ti:ti-rt-linux-4.19.y 8609/8615] drivers/gpu/drm/tidss/tidss_wb.h:77:6: error: nested redefinition of ‘enum wb_state’ |
LCPD-17009 | pcm3168a codec produces noise when playing back (unsupported) S32_LE in RIGHT_J mode |
LCPD-17024 | v4l2 decoder driver memory leaks |
LCPD-17026 | ERROR: “sha512_zero_message_hash” [drivers/crypto/sa2ul.ko] undefined! |
LCPD-17027 | McASP: Occasional error interrupt when stopping (playback) stream |
LCPD-17050 | j721e: Audio: Unsupported sampling rates are advertised and can be request (which will fail) |
LCPD-17078 | J721e: Nightly builds missing dtb for Alpha boards |
LCPD-17105 | UDMA: rchan’s rflowid_cnt and rflowid_start needs to be reset when extra flow are not used |
LCPD-17109 | J7ES: USB: super-speed doesn’t work on alpha EVM |
LCPD-17111 | vxe_enc_probe warning observed while booting with debug options enabled |
LCPD-17112 | remoteproc/k3-r5: Kernel oops seen sometimes while loading remote proc |
LCPD-17135 | U-boot: J7: scsi write fails for greater than 32 MB |
LCPD-17143 | DSS7: j721e-dss has wrong scaling limitiations (copied from am6-dss) |
LCPD-17158 | Jailhouse: Cannot boot with jailhouse DTBO on J721E alphaEVM |
LCPD-17161 | k3: cpsw2g: Network core TX watchdog will be triggered periodically when link in manual mode |
LCPD-17165 | remoteproc/k3-r5f: loading into TCM at 0x41010000 fails |
LCPD-17170 | remoteproc/k3-dsp: memset causes a kernel panic when zeroing out C66 DSP internal RAMs |
LCPD-17184 | PDK-IPC firmware images missing from 2019.04-rc3 |
LCPD-17211 | OSPI boot is broken in 2019.04-rc3 |
LCPD-17220 | U-Boot Hyperbus: Hyperflash reads limited to 125MHz max. frequency |
LCPD-17281 | Hyperflash tests in kernel failed with display-sharing firmware |
PSDKLA-4990 | CCB Stalls are seen in guest VM when running heavy graphics apps |
PSDKLA-4999 | Update rc.pvr to load the VM version of the pvrsrvkm module |
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-16377 | Uboot eMMC read/write failed on big size (512M) | |
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-16599 | WIZ driver memleak on module unload | |
LCPD-16616 | Jailhouse: Failure in mhdp probe while restarting the Linux VM | |
LCPD-16628 | Could not enumerate PLEXTRO 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-16840 | DP driver error handling is missing proper cleanups | |
LCPD-16909 | Linux performance guide: CPU load is not captured, incorrect throughput numbers for ethernet | |
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-17084 | tidss: page-flip race issue with very heavy use cases | |
LCPD-17171 | Uboot dhcp occasionally failed | |
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-17253 | g_multi seems hanging when usbdev is full-speed/high-speed | |
LCPD-17284 | remoteproc/k3-r5: Cores are started out-of-order when core 0 file size >> core 1 file size | |
LCPD-17286 | PCIe EP stress test failed with large number of EP functions | |
LCPD-17291 | PTP with CPSW failing to synchronize on J7 | |
LCPD-17292 | CDC ACM has problem after multiple modprobe | |
LCPD-17300 | J7: possible memleak in DP PHY driver | |
LCPD-17316 | U-boot: J7es: gpios above 32 don’t work with the da8xx_gpio.c driver | |
PSDKLA-4991 | PVRTune doesn’t run on guest VM | |
PSDKLA-5002 | Video playback crashes on continuous playback with VM | |
PSDKLA-5005 | Multimedia decode application causes kernel crash after first run with VM |
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.