************************************************ Release Notes: Linux Image V2.x for Colibri T30 ************************************************ Contents: - U-Boot 2014.10 boot loader - Linux 3.1.10 kernel, based on NVIDIA's Linux for Tegra (L4T) release R16.5 - Angstrom/OpenEmbedded/Yocto 2014.06/daisy/1.6 based root file system, using LXDE desktop environment ==> Flashing instructions can be found at the very bottom of this release notes Licensing: - proprietary multimedia codecs included for evaluation purpose only - customer required to obtain proper re-distribution license ******************************************************************************** Linux Image V2.3 Beta 5 (December 19, 2014) - U-Boot: - no changes - Linux kernel: - optional ADV7180 analogue video decoder as found on ACA (formerly ACM) now works at 25 fps - fix HDMI display controller disable state - fix pixel clock polarity - fix USB low-speed issue hack - Linux user-space: - fix 32-bit build of our bsp/devtools (e.g. cbootimage/tegrarcm) - fix fw_setenv - fix resizefs - integrate NVIDIA L4T R16.5 (fixes gstreamer memory leak) - add eglinfo application - update X server to 1.14.7 (fixes broken X server rotation) - don't check last mounttime on superblock - /etc/machine-id: ensure it is saved non-volatile - Update script - reduce rootfs partition size in the MBR to the available eMMC size to have a valid MBR - fix flash_eth update scripts - sources git.toradex.com tag Colibri_T30_LinuxImageV2.3Beta5_20141219 - repository linux-toradex branch tegra - repository u-boot-toradex branch 2014.10-toradex Known Issues: - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - on first boot the resizing process adversely affects system performance for the first few minutes until completed - LP1 suspend might fail due to pending USB interrupts - LP1 suspend might hang due to display controller issue ******************************************************************************** Linux Image V2.3 Beta 3 (October 31, 2014) - U-Boot: - update to mainline U-Boot 2014.10 with new partition layout and cbootimage/tegrarcm based update concept - common config block code - improved NFS boot functionality - fw_printenv integration - Linux kernel: - add a mapping for H.264 payloads to the UVC aka USB webcam driver - various analogue audio codec fixes/improvements noteworthy driver probe after reset - mark host as eMMC CMD23 capable to force using reliable write command - fix audio hub lock-up - prevent null pointer dereference in Tegra nvmap video driver - Linux user-space: - switch to ARMv7 hard-float Thumb2 builds (armv7at2hf-vfp-neon) - add cbootimage, libcryptopp and tegrarcm recipes - use latest u-boot git migrated to cbootimage/tegrarcm - fix noisy analogue audio playback - introduce and deploy fw_printenv/setenv - updated LXDM to 0.5 with proper systemd-logind support - removed ConsoleKit session/login manager (superseded by systemd-logind) - lxsession shows hibernate button only when kernel support is available - various build and dependency fixes for LXDE recipes - sources git.toradex.com tag Colibri_T30_LinuxImageV2.3Beta3_20141031 - repository linux-toradex branch tegra - repository u-boot-toradex branch 2014.10-toradex Note: - As we no longer rely on proprietary Fastboot/NvFlash for flashing the instructions at the very bottom of this release notes changed. Known Issues: - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - certain low-speed USB devices might not get detected - LP1 suspend might fail due to pending USB interrupts - LP1 suspend might hang due to display controller issue - partition resizing on first boot not working Change the script /usr/sbin/resizefs.sh and then run the script to have it work for you: PART="mmcblk0p1" -> PART="mmcblk0p2" - fw_setenv not working - due to the flash_eth.img update script currently being broken please use the SD card flashing method (e.g. flash_mmc.img) for now ******************************************************************************** Linux Image V2.3 Beta 1 (August 4, 2014) - U-Boot - Fix USB device enumeration problem - Fix out-of-tree build - Linux kernel: - Fix locking in BERR counter functionality of MCP251x CAN driver - Disable DC when frame buffer off detected - Clarify MCP2515 reset - Add SPI controller platform data for hardware chip select - Use 1.8V MMC/SD quirk only on affected instances - Retry eMMC transfers if aborted due to argument out of range - Fix issue with slow SPDIF clock - Enable CONFIG_FHANDLE required for later systemd - Swap on-board vs. HDA sound card order and use HDA HDMI audio - Remove synchronize_rcu() from cgroup_attach_{task|proc}() to speed-up systemd boot-up - Enable VLAN functionality - Fix memset-related crashes caused by recent GCC (4.7.2) optimisations - Linux user-space - Update from oe's dylan to daisy - Fix comments in xorg.conf files - Add BCT parameter sets 1-3 - Provide the khronos headers locally - Replace "eglplatform.h" file - Prefer using EGL GLES from toradex-nv-binaries package - Remove machine feed URL, as it does not exist - Only start xinput-calibrator.service when LXDM is enabled - Use X server 1.14.4 - Disable openssh's use of reverse DNS - Add gstreamer-rtp-manager and unclutter - Update GPIO config tool to V1.2 - sources git.toradex.com tag Colibri_T30_LinuxImageV2.3Beta1_20140804 - repository linux-toradex branch tegra - repository u-boot-toradex branch colibri Known Issues: - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - certain low-speed USB devices might not get detected - on first boot the resizing process adversely affects system performance for the first few minutes until completed - The Angstrom-Distribution since switched to using ARM Thumb2 instruction set. To use their binary feeds e.g. using the opkg package manager please change in /etc/opkg/base-feed.conf et. al. armv7ahf-vfp-neon to armv7at2hf-vfp-neon. We consider switching in our next release. ******************************************************************************** Linux Image V2.1 Beta 3 (March 18, 2014) - U-Boot: - Enable hardware boot partition support (via 'mmc dev [dev] [part]' command). - Get rid of the spurious 'video=tegrafb' kernel boot argument and add 'noatime' to the usbargs. - Linux kernel: - Initialise high speed UART with lower default baudrate to avoid issues. - Merge with NVIDIA's latest L4T R16.4 kernel. - Added OmniVision OV7670 and Texas Instruments TVP5150 V4L2 drivers. - Added initial Aptina AS0260 V4L2 driver. - Solved low framerate issue with analogue cameras. - rootfs / oe-core: - nv-binaries: update to L4T R16.4 - Added gst-plugins-good-jpeg - sources git.toradex.com tag Colibri_T30_LinuxImageV2.1Beta3_20140318 Known Issues: - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - certain low-speed USB devices might not get detected - on first boot the resizing process adversely affects system performance for the first few minutes until completed ******************************************************************************** Linux Image V2.1 Beta 2 (February 6, 2014) - U-Boot: - Add more UART configurations to the device trees allowing easy switching of the console UART port by changing the UART base address of the console node within the device tree. - Fix EHCI periodic list handling. - Add default VESA VGA vidargs for our now modedb enabled kernel. This allows easy specifying an alternate parallel RGB resolution. - Fix usbboot option to be more in-line with how we do optional MMC/SD card boot on Colibri VF50/VF61. Loads the uimage kernel from the first partition being formatted as VFAT and instructs the kernel to mount the second partition formatted as ext3 as root file system. - Linux kernel: - Use TPS6591X IRQ base define to calculate correct IRQ number. - Remove vdd_hdmi_con regulator from dc1 since we don't have a dedicated regulator for this connector on our baseboards. - Fix HDMI suspend/resume by avoiding division by zero oops. - Don't register KEY_BACK for wakeup. - Add STMPE ADC driver using IIO framework (see http://developer.toradex.com/knowledge-base/adc-(linux)). - Use modedb to specify framebuffer resolution (see http://developer.toradex.com/knowledge-base/framebuffer-(linux) and http://developer.toradex.com/knowledge-base/x-server-(linux)). - Check null pointers for sysfs calls. - Hack to avoid 24 Hz mode in X resulting in no display at all. This has been encountered using e.g. a Samsung SyncMaster F2380 if connected by HDMI. - Add kernel parameters to change RGB clock polarity. - Re-work Fusion multi-touch touchscreen driver. - Before updating modes on HDMI hotplug, check if framebuffer is registered at all. This allows to disable framebuffers completely. - rootfs / oe-core: - Fix build and texinfo errors for stress. - Add sections for both monitor outputs to xorg.conf. Add example configuration to disable an output as well as select preferred mode. - Add entry for fusion touchscreen driver to xorg.conf. - Add fstrim from util-linux. - Add kernel module for fusion touch screens (see http://developer.toradex.com/knowledge-base/capacitive-multi-touch-display-(linux)). - burnflash: Account for fs overhead and many files. - sources git.toradex.com tag Colibri_T30_LinuxImageV2.1Beta2_20140206 Known Issues: - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - certain low-speed USB devices might not get detected - on first boot the resizing process adversely affects system performance for the first few minutes until completed ******************************************************************************** Linux Image V2.1 Beta 1 (October 22, 2013) - U-Boot: - Fix possible uninitialised array member issue in serial number to hexadecimal coded decimal conversion routine (e.g. as used for /proc/cpuinfo in Linux). - Linux kernel: - Fix several HDMI hang issues. - Support default watchdog API (see http://developer.toradex.com/knowledge-base/watchdog-(linux)). - Disable magic SysRq key configuration as this is not only a potential security thread but can cause serious trouble if for some reason UART pins are left floating and therefore cause unexpected break conditions. - Add DDR speed definition for 400 and 800 MHz. - HDMI: Retry EDID reads up to 4 times until failing. - rootfs / oe-core: - OpenEmbedded: layers updated to dylan xserver update to version 1.14 gtk+ updated to 2.24.15 firefox update to 10.0.11esr connman now has a command line tool, connmanctl split the meta-lxde layer from oe-tworaz and serve it from git.toradex.com - NEON enabled build - hdmi: add udev rule to start an X output on hotplug - feed-config: use the new feed armv7ahf-vfp-neon - evdev: backport V2.8.1 from dora to get a fix for multitouch events - burnflash: script for configblock generation - added packages: ethtool - burnflash: change the Colibri image names to start with Colibri - burnflash: add sanity checks - sources git.toradex.com tag Colibri_T30_LinuxImageV2.1Beta1_20131022 Known Issues: - LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution, comments with timings for other resolutions provided - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - certain low-speed USB devices might not get detected - on first boot the resizing process adversely affects system performance for the first few minutes until completed ******************************************************************************** Linux Image V2.0 Beta 3 (August 20, 2013) This updates u-boot and kernel to cope with the increased eMMC and changed T30 CPU SKU on Colibri T30 - U-Boot: - eMMC and RAM size / offset detection - rename shell prompt to Colibri T30 - Linux kernel: - workaround limited CPU clock - provision for the Analogue Camera Module - v4l kernel drivers configured as kernel modules - rootfs / oe-core: - update to latest git revision for kernel and u-boot - image added v4l-utils - removed warning output from commandline tegrastats - sources git.toradex.com tag T30_LinuxImageV2.0Beta3_20130820 Known Issues: - If a a monitor is connected to DVI, the kernel sometime hangs when the display controller DC1 is initialised. -> reboot required. - LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution, comments with timings for other resolutions provided - lxappearance is segfaulting upon start - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - certain low-speed USB devices might not get detected - on first boot the resizing process adversely affects system performance for the first few minutes until completed ******************************************************************************** Linux Image V2.0 Beta 2 (June 26, 2013) - U-Boot: - integrate NVIDIA partition table parsing incl. Toradex Colibri configuration block - increase CPU frequency at boot - decrease boot delay - fix overflow in HCD conversion - Linux kernel: - allow easy integration of a custom Linux boot logo - add TouchRev Fusion 10 aka CPT CLAA101NC05 display timings - integrate TouchRev Fusion 7 and 10 multi-touch driver - fix gpio-key pull-ups - enable back key wake-up - rename UARTs and PWM LEDs - explicitly configure for 4-bit MMC/SD cards by default - integrate MCP251x and SJA1000 CAN support - fix Ethernet MAC address assignment after suspend - hack to make newer SD cards work by adding a quirk for lack of 1.8v support - export some GPIOs via /sys/class/gpio - add comment about GMI_ADV_N usage - remove spurious tegra_aes_device - video4linux adv7180 and max9526 integration - set board local critical temperature to 95°C - hack to avoid 24 Hz mode in X resulting in no display at all - rootfs / oe-core: - update to latest git revision for kernel and u-boot - extend rootfs partition on eMMC to its full partition size on first boot - unified update procedure for all T20/T30 - limit journal size - nv-binaries: update to L4T R16.3 - added packages: gstreamer deinterlacer, scrot - lxterminal, florence: fix garbled titlebar - sources git.toradex.com tag T30_LinuxImageV2.0Beta2_20130626 Known Issues: - If a a monitor is connected to DVI, the kernel sometime hangs when the display controller DC1 is initialised. -> reboot required. - LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution, comments with timings for other resolutions provided - lxappearance is segfaulting upon start - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn - certain low-speed USB devices might not get detected - on first boot the resizing process adversely affects system performance for the first few minutes until completed ******************************************************************************** Linux Image V2.0 Beta 1 (March 28, 2013) - U-Boot: - no changes - Linux kernel: - fbcon: logo: allow easy integration of a custom Linux boot logo - rootfs / oe-core: - use newer Linux kernel - use latest GPIOConfig, fixed SODIMM numbers - use a unified recipe for the Linux kernel - UBOOT_MACHINE variable definition moved to machine .conf file - add setxkbmap package - add florence package, virtual keyboard application - burnflash: fix race condition in genext3fs.sh and use -F option for mount - xorg framebuffer depth 16bit - use new Toradex CI - sources git.toradex.com tag T30_LinuxImageV2.0Beta1_20130314 Known Issues: - If a a monitor is connected to DVI, the kernel sometime hangs when the display controller DC1 is initialised. -> reboot required. - LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution, comments with timings for other resolutions provided - some windows have garbled titlebar, e.g. lxterminal - lxappearance is segfaulting upon start - connecting an analogue mic to the on module codec resets the codec, so that neither headphone out nor mic in works anymore. Workaround: Have mic connected before boot or change the output source between DAC/LineIn ******************************************************************************** Linux Image V2.0 Alpha 1 (January 22, 2013) - U-Boot: - moved to proper machine type - Linux kernel: - added one wire platform data (conditional, CONFIG_W1_MASTER_TEGRA must be enabled) - fix USB hang on device insertion - added correct spidev platform data (/dev/spidev0.0) - PWM B, PWM C, PWM D now accessible from userspace, /sys/class/leds/ - refined pin muxing - added thermal throttling, i.e. CPU freq. is reduced when CPU gets hot - updated audio codec driver, audio input now working - GPIO keys implementation - LP1 suspend support - moved to proper machine type - fix PMIC regulator platform data - oe-core: - use latest u-boot and Linux kernel - use latest GPIOConfig, fixes issues with tristated pins and GPIO with num >222 - sources git.toradex.com tag T30_LinuxImageV2.0Alpha1_20130122 Known Issues: - We are in an early Alpha state, not all functions are tested. - If a a monitor is connected to DVI, the kernel sometime hangs when the display controller DC1 is initialised. -> reboot required. - LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution, comments with timings for other resolutions provided - some windows have garbled titlebar, e.g. lxterminal - lxappearance is segfaulting upon start - issues with the genext3.sh scripts: if your language settings expect something different to 'y' to a question, the script failes. The rootfs is empty resulting in a kernel panic during boot. Workaround: edit line 38 of bin/genext3.sh as follows: old: echo y | mkfs.ext3 $@ -L arm new: mkfs.ext3 -F -L arm $@ ******************************************************************************** Linux Image V2.0 Alpha 0 (December 27, 2012) (ported form the Linux Image V2.0 Beta1 for Colibri T20) - U-Boot: - first release - Linux kernel: - first release - oe-core: - first release - sources git.toradex.com tag T30_LinuxImageV2.0Alpha0_20121227 Known Issues: - We are in an early Alpha state, not all functions are tested. - If a a monitor is connected to DVI, the kernel sometime hangs when the display controller DC1 is initialised. -> reboot required. - When no device was attached to the USB host port during boot, the system crashes when one is attached when the system is up. - LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution, comments with timings for other resolutions provided - some windows have garbled titlebar, e.g. lxterminal - lxappearance is segfaulting upon start ******************************************************************************** Notes: - 115200 baud serial debug console on UARTA aka FFUART (lower X25 on EvalBoards resp. X27 on V3.1a depending on JP17/19, X13 on Iris) without any handshake - user account: root with empty password - eMMC: partition 1: vfat with kernel, partition 2 ext3 root file system - opkg package manager - HDMI aka DVI-D: not all pixel clock frequencies allow for HDMI audio - CRT: the T30 internal video DAC output is unsupported by NVIDIA's L4T Linux SW stack - Linux host used for update preparation requires proper 32-bit execution environment (e.g. install ia32-libs on 64-bit Ubuntu), awk and libcryptopp (e.g. install gawk and libcrypto++ on Ubuntu) Working on latest image: - U-Boot boot loader - environment storage in eMMC - Ethernet - MMC/SD cards - eMMC flash - serial console debug UARTA - Toradex Colibri configuration block handling - USB storage as host on USB host port - USB device firmware upgrade (DFU) and USB mass storage (UMS) as device on USB OTG port - Linux kernel - GPIOlib /sys/class/gpio - temperature sensor /sys/bus/i2c/devices/4-004c - RTC (Tegra internal, PMIC and board level I2C RTC) - Ethernet eth0 - eMMC ext3 - serial console debug UARTA - high speed serial UARTB and UARTD - I2C via /dev/i2c-X - MMC/SD card, optional 8-bit SDHCI - PWM LEDs /sys/class/leds/ - HDMI HDA audio - analogue audio capture, playback and resistive touch - audio noise is high, workaround is to set headphone volume to maximum and use the DAC volume - touch has some jitter - SPI via /dev/spidev0.0 - GMI with multiplexed nPWE and RDnWR - framebuffer console - custom Ethernet MAC Address - serial number and board revision - watchdog - USB host port - USB audio driver - USB webcam - USB raw HID device /dev/hidrawX - USB device Ethernet RNDIS, provided by Android gadget - automatic USB device/host detection aka OTG support - analogue input - suspend LP1 - DVFS power management - optional parallel camera interface - Linux user-space - graphics (LVDS-1 aka TFTLCD and HDMI-1 aka DVI-D) - tegrastats - Firefox browser - Gstreamer video encode and playback, independent dual full HD video decode - GPIO config tool - LXDE - tegrastats-gtk, CPU information visible in graphical environment Not working or not tested: - U-Boot boot loader - U-Boot USB keyboard - TFTLCD framebuffer support - Linux kernel - IrDA - RS-422/485 - Linux user-space - Adobe Flash not provided by L4T (and probably never will) ************************************************************ eMMC Boot: Colibri T30 V1.1b, V1.1c, V1.1d or V1.1e (Sample) ************************************************************ Initial Preparation: - download and extract Colibri_T30_LinuxImageVx.yz.tar.bz2 package with root permissions - use any VFAT formatted SD resp. micro D card with at least 1000 MB of free space - run update.sh script with optional -o argument pointing to mount point of above mentioned card Flash eMMC: - EvalBoard V3.1a - connect serial debug console to UARTA aka FFUART (lower X25) resp. X27 using null modem RS-232 or regular USB cable - insert above prepared SD card into SD/MMC socket (X15) - Iris V1.1a - connect serial debug console to UARTA aka FFUART X13 using null modem RS-232 cable and a 10 pin IDC to 9 pin D-sub male connector. (DTK or Intel standard) - insert above prepared micro SD card into micro SD card socket (X10) - Boot to U-Boot prompt and start the update: - apply power or reset - hit any key to stop auto booting - if you update from a previous image use the following U-Boot commands: setenv drive 1 setenv setupdate 'mmc dev ${drive}; fatload mmc ${drive}:1 ${loadaddr} flash_mmc.img; source ${loadaddr}' save - use 'run setupdate' U-Boot command and then - use 'run update' U-Boot command - If you updated from an older image: - power cycle or reset as requested and hit any key to stop auto booting - use 'run setupdate' U-Boot command and then - use 'run migrate_v2.3b1' U-Boot command Boot from eMMC: - EvalBoard V3.1a - do no longer press SW9 - Iris V1.1a - do no longer short any pins of JP1 - power cycle - upon first boot post-install scripts are run which takes around 2 minutes, please be patient If the boot loader on the module got corrupted this recovers it by loading U-Boot over USB into the module's RAM and executing it there: - EvalBoard V3.1a - connect USB B (X29) or USB micro A/B (X30) to development workstation using regular or micro USB cable - the jumper JP2 must be open - connect serial debug console as stated above - press and hold recovery mode switch (SW9) during power up - Iris V1.1a - connect USB micro A/B (X12) to development workstation using regular micro USB cable - connect serial debug console as stated above - short pin 1-2 of JP1 on Iris for RECOVERY (other carrier boards see http://developer.toradex.com/knowledge-base/txx-recovery-mode) - make sure that the carrier board supports USB high speed - Iris & EvalBoard V3.1a OK, for other carrier boards see http://developer.toradex.com/knowledge-base/usb-2.0-high-speed-%28480mbps%29 - have the module in recovery mode and load U-Boot over USB to the module's RAM: - lsusb should show a 0955:7130 NVidia Corp. device if the module is in recovery mode - run ./update.sh -d - stop at the U-Boot prompt and begin the update as stated above Toradex, December 19, 2014