************************************************ Release Notes: Linux Image V2.x for Colibri T30 ************************************************ Contents: - U-Boot 2011.06 boot loader - Linux 3.1.10 kernel, based on NVIDIA's Linux for Tegra (L4T) release R16.4 - OpenEmbedded oe-core 2013.06 based root file system, using LXDE desktop environment Licensing: - proprietary multimedia codecs included for evaluation purpose only - customer required to obtain proper re-distribution license ******************************************************************************** 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 - 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 recovery mode flashing requires proper 32-bit execution environment (e.g. install ia32-libs on 64-bit Ubuntu) and awk (e.g. install gawk on Ubuntu) Working on latest image: - U-Boot boot loader - environment storage in eMMC - Ethernet - MMC/SD cards (only GPT partitioned) - eMMC flash with NVIDIA partition table parsing - serial console debug UARTA - Toradex Colibri configuration block handling - USB storage as host - 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/ - 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 - 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 - HDMI SPDIF audio broken - 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 or V1.1d (Sample) ***************************************************** Initial Preparation: - download and extract Colibri_T30_LinuxImageVx.yz.tar.bz2 package with root permissions Flash eMMC: - 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 - 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 - short pin 1-2 of JP1 on Iris for RECOVERY (other carrier boards see http://developer.toradex.com/knowledge-base/colibri-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 ) - apply power or reset - run update.sh script 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 Toradex, March 18, 2014