****************************************************** Release Notes: Linux Image V2.x for Colibri VF50/VF61 ****************************************************** Contents: - U-Boot 2015.04 boot loader - Linux 4.4.5 LTS kernel - Angstrom 2015.12/OpenEmbedded jethro/Yocto 2.0 based root file system, using LXDE desktop environment ==> Flashing instructions can be found on the Toradex developer article: http://developer.toradex.com/knowledge-base/flashing-linux-on-vybrid-modules ******************************************************************************** Linux Image V2.6 Beta 1 (March 31, 2016) Note: - A new boot schema using static UBI volumes has been introduced. Therefore downgrading is not directly possible. To downgrade a module, the UBI partition needs to be cleared manually using "nand erase.part ubi". - The new DRM driver for the display controller might behave differently than the old fbdev based driver. Especially display timings need to be configured using the panel-simple.c driver. - U-Boot boot loader: - read kernel and device tree from UBI volumes instead of rootfs - increased NAND clock frequency for Colibri VF61 - Linux kernel: - updated to 4.4.5 LTS long term stable Linux kernel - switched to DRM based driver for the display controller unit (DCU) Note: The display kernel parameter video uses a new identifier (LVDS-1 as opposed to dcufb). Specifying display timings in the device tree is currently not possible, custom display timings should be added to the driver panel-simple.c. - removed support for multi-core communication (MCC) - increased NAND clock frequency for Colibri VF61 - support creation of SPI devices through /sys/bus/spi/drivers/spidev/new_id - disable PHY power-down mode due to hardware issues on wakeup - enable IP/TCP checksum offloading - add IIO based DAC driver - Linux user-space: - use X.org modesetting driver to make use of DRM (instead of fbdev) - restart USB after suspend/resume using a systemd service - removed Midori browser from LXDE image (development discontinued) - drop libmcc and mqxboot since the kernel interfaces have been removed - OpenEmbedded build system: - update OpenEmbedded from fido to jethro: - gcc Linaro GCC 5.2-2015.11-2 - glibc 2.22 - systemd 226 - Xorg 1.17.2 - sources git.toradex.com tag Colibri_VF_LinuxImageV2.6Beta1_20160331 - repository linux-toradex branch toradex_vf_4.4 - repository u-boot-toradex branch 2015.04-toradex Known Issues: - If the module does not boot, remove all displays connected to HSYNC, VSYNC and reset. (This has been observed on an Evaluation Board V2.1C) - Standby: Wake-up using UART in DMA mode hangs - License text do not get deployed to the root file system. - Currently there is no multi-core communication library/framework available. ******************************************************************************** Linux Image V2.5 (January 6, 2015) - none, this version is identical to the previous beta version V2.5 Beta 3 ******************************************************************************** Linux Image V2.5 Beta 3 (December 15, 2015) - Linux kernel: - enable RTL8192CU driver e.g. for LM006 USB Wi-Fi stick - enable PPP and USB ACM support e.g. for Telit 910 modem - add multitouch HID and RAWHID support - fix CTAR Register access in DSPI driver - updated to 4.1.15 LTS long term stable Linux kernel - Linux user-space: - make sure USB RNDIS Gadget is started before networkd - use new Toradex feed server as default feed URI - OpenEmbedded build system: - fix memcpy performance improvement to only apply to Linaro glibc - remove create_configblock.sh from deployment tarball - add rtl8192cu firmware for LM006 USB Wi-Fi adapter - add README with dependency and contribution information - backport rtl8192cx for latest available firmware - sources git.toradex.com tag Colibri_VF_LinuxImageV2.5Beta3_20151215 - repository linux-toradex branch toradex_vf_4.1 - repository u-boot-toradex branch 2015.04-toradex Known Issues: - The feeds are missing non-Thumb entires (some packages are only provided in a non-Thumb architecture, e.g. libvorbisdec1 which is required by gst-plugins-base-meta). Use the following command to add non-Thumb feeds: sed -i 'p; s/ http/2 http/; s/armv7at2hf-vfp/armv7ahf-vfp/' /etc/opkg/*feed.conf - If the module does not boot, remove all displays connected to HSYNC, VSYNC and reset. (This has been observed on an Evaluation Board V2.1C) - Suspend-to-Memory: USB devices on the USB host port get disconnected on resume - Standby: Wake-up using UART in DMA mode hangs - Serial console on USB peripheral port is not enabled by default; use this command: systemctl enable serial-getty@ttyGS0.service ******************************************************************************** Linux Image V2.5 Beta 2 (November 6, 2015) - U-Boot boot loader: - UBI fastmap fixes backported from Linux - add return code for cfgblock commands which allows scripting - increase TFTP blocksize for better performance - updated NAND flash controller driver to include latest changes and bug fixes implemented during code review of the upstream Linux kernel variant of it - enabled zero bootdelay check (allows entering U-Boot when bootdelay is 0) - increased heap size to avoid out of memory errors attaching UBI partitions - implemented L2 cache for Colibri VF61 (no runtime detection; not enabled by default) - introduced automatic Ethernet aka TFTP update capability - fix global timer udelay to use correct clock rate (fixes PHY detection in U-Boot if boot delay is 0) - added additional environment variables such as board_name and arm - Linux kernel: - updated to 4.1.12 LTS long term stable Linux kernel - updated NAND flash controller driver to include latest changes and bug fixes implemented during code review of the upstream variant of it - fixed PWM default pinmuxing - enabled /proc/config.gz support - enabled fbcon Logo support - automatic USB device/host detection using USBC_DET pin - added more USB Gadget drivers such as ECM (ethernet) or mass storage, compile all gadget drivers as modules - fixed SD card using polling mode instead of relying on card-detect GPIO - fixed suspend/resume when using PIT timer as clocksource - disabled UART DMA by default for all UARTs due to issues in current implementation - use pull-down on wakeup-key (avoids immediate wake-up on Iris/Viola) - use reset values as L2 cache latencies - fixed flickers/unstable backlight GPIO during startup - changed Fusion multi touch event reporting to adhere to multitouch slot protocol - added ARM Performance Monitoring Unit (PMU) - Linux user-space: - updated to latest Angstrom 2015.06/OpenEmbedded fido: - glibc 2.22 - systemd 219 - Xorg 1.16.1 - glibc: force memcpy_arm to improve memcpy performance - load USB Gadget ConfigFS kernel module by default - OpenEmbedded build system: - local.conf: add Toradex source mirror as pre-mirror - Update scripts: - use space-fixup in UBIFS image (allowing the image to be flashed using DFU) - update.sh: delete intermediate files after use - improved update.sh to use module type specific folders allowing update of different modules with just one update media - sources git.toradex.com tag Colibri_VF_LinuxImageV2.5Beta2_20151106 - repository linux-toradex branch toradex_vf_4.1 - repository u-boot-toradex branch 2015.04-toradex Known Issues: - If the module does not boot, remove all displays connected to HSYNC, VSYNC and reset. (This has been observed on an Evaluation Board V2.1C) - Suspend-to-Memory: USB devices on the USB host port get disconnected on resume - Standby: Wake-up using UART in DMA mode hangs - Serial console on USB peripheral port is not enabled by default; use this command: systemctl enable serial-getty@ttyGS0.service ******************************************************************************** Linux Image V2.5 Beta 1 (August 13, 2015) - U-Boot: - Improve TFTP transfer speed by using increased block size - Introduce m4boot command which accept a FIT image to boot the secondary Cortex-M4 core - Pass U-Boot MTD partitions to the kernel by using device tree fix-up - Use ARM Global Timer instead of PIT Timer (avoids conflicts with Cortex-M4) - Clock and mux Colibri UART_B (UART2) by default - Add fdt_fixup variable to make it easier to include scripts which fix-up the kernel's device tree (e.g. for evaluation/testing purpose) - Set DDR fix property in the kernel's device tree to enable Suspend-to-Memory support - Linux kernel: - Update to 4.1.5 LTS long term stable Linux kernel - Initial Suspend-to-Memory support using Vybrid's LPSTOP2 low power mode ("echo mem > /sys/power/state") - Fixed and enhanced suspend/resume functions in various drivers - Framebuffer ioctl WAITFORVSYNC which allows to synchronize buffer swap on vertical blanking period - Support RS485 transceiver on UARTs - Updated default configuration: Include all drivers necessary to support USB mass storage, add PWM LED, HWMON IIO and PL2303 serial device support by default, configure more drivers as modules (e.g. UVC webcam), and add some Wi-Fi drivers as module too - Linux user-space: - Update OpenEmbedded from dizzy to fido: - glibc 2.21 - systemd 219 - Xorg 1.16.3 - Removed udev-extra-rules (e.g. automount.rules/mount.sh) since the LXDE image handles automounting using udisk. Newer systemd variants also start udev using MountFlags=slave leading to mountpoints being mounted by the udev rules not accessible by other processes. - sources git.toradex.com tag Colibri_VF_LinuxImageV2.5Beta1_20150813 - repository linux-toradex branch toradex_vf_4.1 - repository u-boot-toradex branch 2015.04-toradex Note: - Due to flash space constraints we recommend using the console only image on Colibri VF50 (e.g. Colibri_VF_LinuxConsoleImageV2.5Beta1_20150813.tar.bz2). - The kernel requires the device tree from within the root filesystem to boot. Board customisation within code are for most use cases not necessary. For custom carrier boards it is recommended to create a customised device tree file and deploy it in the root filesystem's /boot directory. U-Boot reads the device tree according to the following naming scheme: => ${soc}-colibri-${fdt_board}.dtb Hence, a custom carrier board needs to set the fdt_board variable accordingly and would name the device tree files using the SoC prefix depending on the supported module type: => vf500-colibri-mycarrier.dtb => vf610-colibri-mycarrier.dtb Known Issues: - If the module does not boot, remove all displays connected to HSYNC, VSYNC and reset. (This has been observed on an Evaluation Board V2.1C) - Suspend-to-Memory: USB devices on the USB host port get disconnected on resume - Standby: Wake-up using UART in DMA mode hangs ******************************************************************************** Linux Image V2.4 Beta 1 (May 18, 2015) - U-Boot: - update to U-Boot 2015.04 - new standard NAND ECC format which is able to fix up to 32-errors per page - enable ONFI detection, allows to retrieve more details about the NAND chip - improve NAND read performance by supporting OOB only read - improve NAND write performance by removing unnecessary page reads on write - add generic Toradex config block handling, print exact product description, board revision and serial number to the console - create device-tree properties which make board information available from within Linux userspace through procfs (/proc/device-tree/serial-number, toradex,board-rev and toradex,product-id) - add command to restore Toradex config block ("cfgblock create") - add "bmode" command which allows to select a specific boot device - add display (DCU) support along with some default modes, display the Toradex logo at VGA resolution by default - add GPIO support through "gpio" command - enable USB power for host port explicitly (fixes USB host support on Iris and Viola Carrier Board) - Linux kernel: - update to 4.0.2 stable Linux kernel - add audio capture support on Colibri VF61 (AC97) - use configfs for USB Gadget configuration - improve NAND read performance by supporting OOB only read - improve NAND write performance by removing unnecessary page reads on write - export Vybrid SoC information such as ROM revision and unique ID through SoC bus (/sys/devices/soc0/machine, family, soc_id and revision) - Linux user-space: - update OpenEmbedded from daisy to dizzy: - glibc 2.20 (instead of eglibc) - systemd 2.18 - Xorg 1.14.7 - updated various LXDE packages to newer versions - use libusbg to configure USB Gadget through configfs, provides a default configuration which configures a serial connection using CDC ACM protocol - enable a serial console on the tty provided by USB Gadget CDC ACM (ttyGS0 on module side, typically ttyACM0 on host side) - replace full NTP daemon with systemd's NTP client only systemd-timesyncd - blacklist USB RNDIS for connman, use systemd-networkd to configure RDNIS network interface (new standard IP of the module is 192.168.11.1!) - enable BusyBox resize command to resize the terminal on serial console - remove e2fsprogs for VF default image (image feature ext2) - fix GPIOConfig CPU detection on Colibri VF50 (GPIOConfig V1.3) - sources git.toradex.com tag Colibri_VF_LinuxImageV2.4Beta1_20150518 - repository linux-toradex branch toradex_vf_4.0 - repository u-boot-toradex branch 2015.04-toradex Note: - mount point names changed from /media/ to /media