PicoCOMA5/Linux development state and releases

  • Vybrid Linux Release V1.0


    We have uploaded a new Linux version to our server. This release is targeted to all our boards with the Freescale Vybrid processor, that we call the fsvybrid architecture: armStoneA5, NetDCUA5 and PicoCOMA5. In this release, U-Boot and BuildRoot are already merged with our Multi-Platform Linux, but the Linux kernel is still a separate version. Therefore this is still a separate release, but you'll already find some changes in the change log that belong to other boards.


    Nonetheless this release is running on all platforms of this architecture at the same time. And this is not only true for the sources, but also for the binaries. So you can download the same binaries for NBoot, U-Boot, Linux kernel and BuildRoot root filesystem to any of the Vybrid boards and it will run.


    The release consists of two files:


    fsvybrid-V1.0.tar.bz2
    This is the main release itself containing all sources, the binary images, the documentation, examples and the toolchain.


    sdcard-fsvybrid-V1.0.tar.bz2
    If you copy the contents of this archive to an SD card, you can install our precompiled standard system in a very straightforward and comfortable way on the board. The SD card archive is meant for people who just want to try a release first without having to download the quite large main archive. Its content is also contained in the main release archive, so if you want to download the main archive anyway, you don't need to bother with the SD card archive.


    These tar archives are compressed with bzip2. So to see the files, you first have to unpack the archives

    Code
    1. tar jxvf fsvybrid-V1.0.tar.bz2


    This will create a directory fsvybrid-V1.0 that contains all the files of the release.


    Please read the file doc/Vybrid_FirstSteps_eng.pdf. It lists the meaning of all files and shows how to install and use everything.



    Release Notes for fsvybrid-V1.0


    Please note that you have to update NBoot first to be able to use this new release as the memory layout has changed. You need at least nbootvyb115_04.bin (VN04).


    Here is a list of the most noticeable changes in this release.


    nbootvyb115_04.bin (VN04)
    Supported Boards: PicoCOMA5 (only Rev 1.00), armStoneA5, NetDCU14



    • Support new memory layout with Cortex-M4 image behind NBoot




    u-boot-2012.07-fsvybrid-V1.0 (19.09.2013)
    Supported boards: PicoMOD6, PicoMOD7A, PicoCOM3, PicoCOMA5, armStoneA5, armStoneA8, NetDCU14, NetDCUA5


    In this release, the Vybrid boards are merged with the Multi-Platform Linux. Therefore this release is mainly targeted for F&S Vybrid boards. The other boards also have improvements (e.g. some SD card issues are solved) and should work nonetheless, but they are not thoroughly tested in this release.



    • Merge fsvybrid branch for U-Boot with Multi-Platform-Linux branch; this adds platforms PicoCOMA5, armStoneA5, NetDCUA5
    • On serial ports, switch from serial port numbers to addresses
    • Improve serial driver for Vybrid to allow CONFIG_SERIAL_MULTI
    • Re-implement output for reset cause on Vybrid
    • Fix compiler warnings when compiling for Vybrid
    • Add common fsvybrid platform for PicoCOMA5, armStoneA5, NetDCUA5
    • Make fss3c64xx.h, fss5pv210.h and fsvybrid.h as similar as possible
    • Activate hush parser for all boards; this allows for better scripting
    • Optimize speed for SD cards and fix high speed issues
    • Increase command buffer size, remove jffs2 boot variables
    • Remove some remaining stuff from obsolete F&S MMC driver
    • Remove unused Samsung stuff
    • Also patch serial port for zImage decompressor on Vybrid
    • On fsvybrid, pass board revision via ATAG to Linux kernel



    linux-3.0.15-fsvybrid-V1.0 (19.09.2013)
    Supported boards: armStoneA5, PicoCOMA5, NetDCU15


    • Switch to new toolchain fs-toolchain-4.7.2-cortexa5-neonvfpv4
    • Add support for NetDCUA5
    • Add new timesys patches
    • Add support for Multi Core Communication (MCC)
    • Switch to F&S Tux logo (Tux holding NetDCU logo)
    • Show cache configuration, skip L2 config if not present
    • Improve UART support, add UART4 and UART5
    • Make UART also work for non-console ports
    • Add support for all non-console UART ports on all F&S boards
    • Improve lowlevel UART detection in zImage decompressor
    • Use 16-bit RGB565 for framebuffers by default
    • Clean mach files for all F&S Vybrid boards, make as similar as possible
    • Remove unneeded features, make defconfigs similar to fss5pv210 platform:

      • Remove swap support
      • Optimize code generation for size
      • Don't use versioning for kernel modules
      • Add IPV6 to kernel
      • Add CAN support
      • Don't use tmpfs for /dev, this is done by buildroot anyway
      • Add loop block device support
      • Reduce number of /dev/ram ramdisks to 4
      • Add support for 24C16 EEPROM
      • Remove legacy PTY support
      • Remove support for radio adapters
      • Remove 8x16 system font
      • Remove OSS sound support, ALSA is sufficient
      • Remove many unused sound codecs
      • Announce USB devices when they are attached or detached
      • Add support for PCF8563 real time clock
      • Add support for SQUASHFS, ROMFS, CIFS
      • Add support for NFS_V4
      • Include UTF8 and ASCII code pages fix, not as modules


    • Collapse all Vybrid defconfigs to a common fsvybrid_defconfig
    • Make USB work on PicoCOMA5
    • Add support for Atmel MXT and Focaltech FT5X06 capacitive touch
    • Add rudimentary support for WLAN cards based on TI WL12xx
    • Fix SX8655 access if more than one controller is active
    • Add default display for 320x240 resolution
    • Remove some annoying debug output



    buildroot-2013.02-fsvybrid-V1.0 (19.09.2013)
    Supported Boards: armStoneA5, armStoneA8, NetDCU14, NetDCUA5, PicoMOD7A, PicoCOM4, PicoCOMA5


    • Rebase multiplatform-linux version to buildroot-2013.02
    • Merge multiplatform-linux and fsvybrid versions
    • Create link for lib/ld-linux.so.3 if required
    • Add libmcc (MCC: Multi Core Communication) for Vybrid
    • Add mqxboot for Vybrid to start applications on Cortex-M4
    • Add mcc-pingpong example (Linux side) for Vybrid
    • Configure all targets for new toolchains fs-toolchain-4.7.2-*
    • Add ttymxc3/4/5 to /etc/securetty to allow root logins on these lines
    • Combine armStoneA8, NetDCU14 and PicoMOD7A to common fss5pv210
    • New script /etc/init.d/S01fssetup to set up the F&S environment
    • Use login_tty from F&S environment to start a getty on
    • Use gdb 7.4.x
    • Make STD and MIN defconfigs as similar as possible on all platforms
    • Fix some typos, indendations and wrong comments



    Toolchain


    • New toolchain fs-toolchain-4.7.2-cortexa5-neonvfpv4 based on binutils-2.23.1, gcc-4.7.2 and eglibc-2_17



    Documentation

    • Improve docu Vybrid_FirstSteps_eng.pdf
    • Add docu for NetDCUA5
    • Add hardware docu for boards and starterkits



    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Vybrid Linux Release V1.1


    We have uploaded a new Linux version for all boards and modules based on the Vybrid CPU to our server, i.e. the fsvybrid architecture: armStoneA5, NetDCUA5 and PicoCOMA5. In this release we have added a completely new configuration system to the Linux kernel where you can select the pin settings. So for example you can select whether you want to have an SPI port, an I2C port or simply some GPIOs on the appropriate pins. We also support newer board revisions of these platforms.


    This release is running on all platforms of this architecture at the same time. So you can download the same binaries for NBoot, U-Boot, Linux kernel and BuildRoot root filesystem to any of the Vybrid boards and it will run.


    The release consists of two files:


    fsvybrid-V1.1.tar.bz2
    This is the main release itself containing all sources, the binary images, the documentation, examples and the toolchain.


    sdcard-fsvybrid-V1.1.tar.bz2
    If you copy the contents of this archive to an SD card, you can install our precompiled standard system in a very straightforward and comfortable way on the board. The SD card archive is meant for people who just want to try a release first without having to download the quite large main archive. Its content is also contained in the main release archive, so if you want to download the main archive anyway, you don't need to bother with the SD card archive.


    These tar archives are compressed with bzip2. So to see the files, you first have to unpack the archives

    Code
    1. tar jxvf fsvybrid-V1.1.tar.bz2


    This will create a directory fsvybrid-V1.1 that contains all the files of the release.


    Please read the file doc/Vybrid_FirstSteps_eng.pdf. It lists the meaning of all files and shows how to install and use everything.



    Release Notes for fsvybrid-V1.1


    Here is a list of the most noticeable changes in this release.


    nbootvyb115_05.bin (VN05)
    Supported Boards: PicoCOMA5, armStoneA5, NetDCU14


    • Add support for PicoCOMA5 Board Rev. 1.10 and 1.2x



    u-boot-2012.07-fsvybrid-V1.0 (16.12.2013)
    Supported boards: PicoMOD6, PicoMOD7A, PicoCOM3, PicoCOMA5, armStoneA5, armStoneA8, NetDCU14, NetDCUA5, CUBEA5


    • Add support for CUBEA5
    • Skip blanks in device names in installcheck/updatecheck



    linux-3.0.15-fsvybrid-V1.1 (17.12.2013)
    Supported boards: armStoneA5, PicoCOMA5, NetDCU15, CUBEA5


    • Apply all Vybrid modifications from Timesys up to 2013-07-25
    • Remove Timesys specific modifications from Makefile
    • Remove a bunch of compiler warnings on Vybrid platform
    • Update IRQ implementation to 3.0.35
    • Update wl12xx WLAN driver to 3.0.35
    • Add support for level interrupts on GPIO lines to Vybrid platform
    • Fix filter settings on GPIO inputs
    • Fix SDHCI configuration for Vybrid CPUs, make DMA work on SD/MMC
    • Fix UART access for early debug output on Vybrid
    • Add support for CUBEA5
    • Improve button recognition for SX8655 touch
    • Re-organize iomux-mvf.h file, add missing entries
    • Make WLAN IRQ line actually work on F&S boards
    • Add Reset Function to wl12xx WLAN driver
    • Add CAN support to Vybrid platform
    • Fix issues with flexcan driver
    • Add support for additional I2C ports to Vybrid platform
    • Add support for additional on-board Real Time Clock (RTC)
    • Fix PWM driver and add support for LCD PWM (backlight brightness)
    • Small optimizations in SGTL5000 driver
    • Support write-protect pin (WP) for SD-Slot on NetDCUA5
    • Support card detect pin (CD) for SD Card on PicoCOMA5
    • Add power switching support for LCD driver on Vybrid
    • Support screen blanking on LCD
    • Fix pixel clock computation
    • Support 16bpp (RGB565), 24bpp (RGB888) and 32bpp (ARGB888) on LCD
    • Support 12-bit, 15-bit, 16-bit and 18-bit LCD interface on PicoCOMA5
    • Support second Ethernet port on PicoCOMA5 (hardware option)
    • Allow extensive I/O configuration on F&S boards in menuconfig

      • Show only standard conforming settings or all possible settings
      • UART ports: on/off, with/without RTS/CTS, alternate pin locations
      • CAN ports: on/off
      • I2C ports: on/off, alternate pin locations
      • SPI port: on/off
      • SD/MMC: on/off, use CD pin (removable media) or not (fix media)
      • Audio: on/off
      • Ethernet ports: on/off
      • ADC: on/off
      • LCD: on/off, synchronization, VLCD_ON, VCFL_ON, LCD_ENABLE, LCD_PWM,
      • Vybrid RTC: on/off
      • Matrix Keyboard: Rows and columns combinations


    • Completely re-work machine files to support all above configurations
    • Add support for PicoCOMA5 Board Rev 1.10/1.2x
    • New fsvybrid_defconfig with PWM, Matrix Keyboard, Backlight PWM enabled



    buildroot-2013.02-fsvybrid-V1.1 (16.12.2013)
    Supported Boards: armStoneA5, armStoneA8, NetDCU14, NetDCUA5, PicoMOD7A, PicoCOM4, PicoCOMA5, CUBEA5


    • Only start SSH key generation if filesystem is not read-only
    • Only install S35x11 and xorg.conf if X-Server package is selected
    • Add support for CUBEA5
    • Move files in board/f+s/common to subdirectories
    • Fix Qt download site
    • Improve /etc/init.d/S35x11: don't guess input event, but take from /etc/X11/tslib-event.conf instead (or event0 by default); start on VT02



    Toolchain


    (No changes)



    Documentation


    (No changes)



    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Vybrid Linux Release V1.2


    We have uploaded a new Linux version for all boards and modules based on the Vybrid CPU to our server, i.e. the fsvybrid architecture: armStoneA5, NetDCUA5 and PicoCOMA5 (and also the customer specific board CUBEA5).


    This release has enhancements all over the tree. For example the clock support was improved in U-Boot and Linux to support 500MHz CPUs. In U-Boot, the F&S update system now also supports scripts from NAND flash (including ubifs volumes) and RAM. See "help update". The clocks command now shows all Vybrid PLLs. And the Status LEDs can be switched with the led command.


    In Linux there were many fixes related to I2C (including the internal I2C to the Audio Codec) and touch. High resolution timing now works, and the LCD gets a more precise clock rate. Here in Linux, the Status LEDs can be switched via /sys/class/leds.


    This release is running on all platforms of this architecture at the same time. So you can download the same binaries for NBoot, U-Boot, Linux kernel and BuildRoot root filesystem to any of the Vybrid boards and it will run.


    The release consists of two files:


    fsvybrid-V1.2.tar.bz2
    This is the main release itself containing all sources, the binary images, the documentation, examples and the toolchain.


    sdcard-fsvybrid-V1.2.tar.bz2
    If you copy the contents of this archive to an SD card, you can install our precompiled standard system in a very straightforward and comfortable way on the board. The SD card archive is meant for people who just want to try a release first without having to download the quite large main archive. Its content is also contained in the main release archive, so if you want to download the main archive anyway, you don't need to bother with the SD card archive.


    These tar archives are compressed with bzip2. So to see the files, you first have to unpack the archives

    Code
    1. tar jxvf fsvybrid-V1.2.tar.bz2


    This will create a directory fsvybrid-V1.2 that contains all the files of the release.


    Please read the file doc/Vybrid_FirstSteps_eng.pdf. It lists the meaning of all files and shows how to install and use everything.



    Release Notes for fsvybrid-V1.2


    Here is a list of the most noticeable changes in this release.


    nbootvyb115_07.bin (VN07)
    Supported Boards: PicoCOMA5, armStoneA5, NetDCU14, CUBEA5


    Changes in VN07

    • Detect character S during boot and report to boot loader
    • PicoCOMA5: Enable internal pull-up for DISP_EN (pin 68)
    • Allow setting of a serial number (or MAC address)
    • Handle special recovery button of CUBEA5


    Changes in VN06

    • Add support for CUBEA5
    • Allow installation with MFG tool alone



    u-boot-2012.07-fsvybrid-V1.2 (23.02.2014)
    Supported boards: PicoCOMA5, armStoneA5, NetDCUA5, CUBEA5
    Not tested: PicoMOD6, PicoMOD7A, PicoCOM3, armStoneA8, NetDCU14


    • Add LED support for fsvybrid boards
    • Implement clock subsystem for Vybrid, add support for 500MHz CPUs

      • Replace constants by actual PLL accesses
      • Add new clock values for DDR, ESDHC
      • Remove duplicated clock initialization that is already done in NBoot
      • Remove unneeded clock values
      • Remove i.MX6 code that does not make sense on Vybrid


    • On Vybrid, show meaningful values in clocks command
    • Fix ESDHC handling on Vybrid
    • Optimize ubi command to make it usable from update command
    • Set filesize variable when reading from UBI volume
    • On command "ubi part" only scan partition anew if partition actually changes
    • Optimize ubifs command to make it usable from update command
    • On command ubifsmount only remount ubi volume if volume name actually changes
    • Optimize nand command to make it usable from update command
    • Completely new implementation of F&S update feature

      • Support new device ram[@addr] to execute a script already in RAM
      • Support new device <part>[+<offs>] to load a script from MTD partition
      • Support new device <part>.ubi(<vol>) to load a script from ubifs volume
      • Don't create unnecessary code if CONFIG settings don't afford it
      • Add recovery feature (like update, but use different set of variables)
      • New update command, see help update; replaces old update/install commands
      • Improve text output shown during update/install/recover procedure


    • Use new update feature on F&S boards (fsvybrid)
    • Add separate configuration file for CUBEA5



    linux-3.0.15-fsvybrid-V1.2 (24.02.2014)
    Supported boards: armStoneA5, PicoCOMA5, NetDCU15, CUBEA5


    • Apply all Vybrid modifications from Timesys up to 2013-11-21
    • Add Global Timer support to fix High Resolution Timers
    • Activate High Resolution Timers on F&S Vybrid boards
    • Improve Vybrid clock tree to support 500MHz CPUs
    • Fix filter settings for digital inputs (took up to 1ms before)
    • Fix broken I2C pin configuration on Vybrid
    • Add FIFO error checking for SAI (Audio over I2S)
    • Improve i2c-gpio performance (used internally for audio codec)
    • Reset SX8655 touch controller on F&S Vybrid boards before using it
    • Make FT5x06 cap touch (EDT) actually work on F&S Vybrid boards
    • Add /sys/bdinfo for board specific information (name, revision, MAC)
    • Support LEDs via /sys/class/leds, show system heartbeat on LED1
    • Improve LCD clock on Vybrid to get better match for requested rate
    • Use devtmpfs on F&S boards
    • Move to new GIT repository



    buildroot-2013.02-fsvybrid-V1.2 (23.02.2014)
    Supported Boards: armStoneA5, NetDCUA5, PicoCOMA5, CUBEA5
    Not tested: armStoneA8, NetDCU14, PicoMOD7A, PicoCOM4


    • Don't mount tmpfs on /dev, use devtmpfs instead
    • Add CUBEA5 installation procedure



    Toolchain


    (No changes)



    Documentation


    • New PicoCOMA5-GPIO-ReferenceCard_eng.pdf
    • New NetDCUA5-GPIO-ReferencCard_eng.pdf
    • Updated armStoneA5-GPIO-ReferenceCard_eng.pdf



    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Vybrid Linux Release V2.0


    We have uploaded a new Linux version for all boards and modules based on the Vybrid CPU to our server, i.e. the fsvybrid architecture: armStoneA5, NetDCUA5 and PicoCOMA5 (and also the customer specific boards CUBEA5 and AGATEWAY).


    This is a major release. There are changes in NBoot, U-Boot, Linux and BuildRoot. These changes are depending on each other, so you must update all four binaries to have a working system. Do NOT mix files from before V2.0 with these new versions.


    The most important improvement is a completely new NAND driver and block refresh system. When flash memory is read many many times, some bits may flip after a long period of time. These are called read disturbs. To avoid getting read errors from these toggled bits, the NAND flash must support a rather good error correction via ECC. The completely rewritten NAND driver now supports all hardware ECC modes of the Vybrid NFC controller. By default we are using an ECC that is capable of detecting and correcting up to 16 bit errors per 2K page.


    In Linux, pages with many bitflips are handled by the filesystem, in our case UBI/UBIFS. However in NBoot and U-Boot, some images are loaded without filesystem support. Here we have added a block refresh algorithm. If a page shows many bitflips, the whole block is erased and re-written. This is a known procedure to revert bitflips caused by read disturbs. To avoid any data loss if the system is interrupted while doing this (e.g. by a power failure), the data of the block is stored in a backup block first before erasing the original block. If the refresh cycle is stopped at some point, it can be resumed and completed at the next start.


    This combination of high ECC strength and block refresh will make the NAND filesystem more stable than ever before. But this required a completely new NAND layout and this is the reason why this new version is not compatible to previous versions anymore. Also the MTD partition layout has to be changed to make room for some reserved backup blocks for the refresh algorithm.


    A second point to mention is a completely new system to set the boot strategy in U-Boot. There were already commands to switch the root filesystem from NAND to NFS and vice versa by running variables bootubi and bootnfs. However this only covered a few common cases.


    The new system can handle this in a more flexible way. Now you can set the following things independently from each other.

    • where to load kernel (nand, ubi, ubifs, tftp, nfs, mmc, usb)
    • where to load rootfs in Linux (nand, ubifs, nfs, mmc, usb)
    • how to mount rootfs in Linux (ro, rw)
    • where to show the console in Linux (none, serial, display)
    • where to start the login in Linux (none, serial, display)
    • how to start the network in Linux (off, manual, dhcp)
    • how to configure partitions (separate kernel partition or UBI-only)

    This is done by calling different variables that begin with '_'. The final bootargs is then assembled by calling variable set_bootargs when executing the bootcmd. Some examples:


    console switched off: run _console_none
    console on serial port: run _console_serial
    no login prompt: run _login_none
    login on serial port: run _login_serial


    The third big improvement is the Ethernet handling. On boards with two LAN ports, the two ports could not be used completely independent before because of a rather strange implementation of Freescale. This is resolved now. There are also many enhancements to the handling of MAC addresses, e.g. they need not be passed from U-Boot to the Linux kernel via the command line anymore. And the Ethernet access is now more stable and the PHYs are better supported, e.g. changes in the link status will be detected much faster if the PHY supports interrupts.



    This release is running on all platforms of this architecture at the same time. So you can download the same binaries for NBoot, U-Boot, Linux kernel and BuildRoot root filesystem to any of the Vybrid boards and it will run.


    The release consists of two files:


    fsvybrid-V2.0.tar.bz2
    This is the main release itself containing all sources, the binary images, the documentation, examples and the toolchain.


    sdcard-fsvybrid-V2.0.tar.bz2
    If you copy the contents of this archive to an SD card, you can install our precompiled standard system in a very straightforward and comfortable way on the board. The SD card archive is meant for people who just want to try a release first without having to download the quite large main archive. Its content is also contained in the main release archive, so if you want to download the main archive anyway, you don't need to bother with the SD card archive.


    These tar archives are compressed with bzip2. So to see the files, you first have to unpack the archives

    Code
    1. tar jxvf fsvybrid-V2.0.tar.bz2


    This will create a directory fsvybrid-V2.0 that contains all the files of the release.


    Please read the file doc/Vybrid_FirstSteps_eng.pdf. It lists the meaning of all files and shows how to install and use everything.



    Release Notes for fsvybrid-V2.0


    Here is a list of the most noticeable changes in this release.


    nbootvyb115_09.bin (VN09)
    Supported Boards: PicoCOMA5, armStoneA5, NetDCU14, CUBEA5, AGATEWAY, PicoMODA5, PicoMOD1.2


    Changes in VN09 (06.06.2014)

    • 0002264: Add delay before disabling interrupts in 'x' command
    • 0002241: Set M4 and L2 info in NBOOT_ARGS
    • 0002243: Add empty NAND block/page handling
    • 0002244: Set abort mode stack pointer
    • 0002245: Add PicoMODA5/PicoMOD1.2 support
    • 0002246: Display warning if bootloader area in NAND is empty
    • 0002247: Display info if processor has M4
    • 0002249: Setup OCOTP timing parameters
    • 0002248: Disable interrupts before executing loaded image
    • 0002259: Correct interrupt disable function
    • 0002250: Display warning if boot fuses are not set
    • 0002251: Add selectable step size for memtest
    • 0002262: Reduce boot time
    • 0002257: Set load size for nboot to actual size
    • 0002242: Add fast memcpy in assembler
    • 0002255: Remove automatic baudrate detection
    • 0002256: Check for pressed key after bootloader is loaded
    • 0002254: Test only every 16th word in memtest for bootloader destination
    • 0002252: Add M4 start function
    • 0002253: Change enabled LED for customer specific board
    • 0002258: Add timeout in serial number burn function
    • 0002260: Set NFC CFG register in every NAND access function
    • 0002261: Write ECC status behind main/spare in buffer


    Changes in VN08 (07.04.2014)

    • 0002080: Save result of hardware ECC in memory
    • 0002081: Implement test function to simulate ECC failure
    • 0002155: Add Uart_GetString function
    • 0002154: Use pullup on serial debug port
    • 0002153: Add test functions for LEDs on customer specific board
    • 0002152: Initialize JTAG pins as GPIO for legacy NetDCU compatibility
    • 0002151: Use faster NAND clock
    • 0002149: Add recovery functions for customer specific boards
    • 0002148: Add PLL SpreadSpectrum for customer specific boards
    • 0002147: Store serial number in fuses
    • 0002146: Save nboot in block 0 and 1 if 'f' pressed
    • 0002145: Improve ECC handling and bad block management in NAND routines
    • 0002144: Blink LEDs when in nboot menu
    • 0002143: Use only one function for serial download
    • 0002142: Add XModem download option
    • 0002141: Add option to change baudrate in nboot


    u-boot-2012.07-fsvybrid-V2.0 (04.07.2014)
    Supported boards: PicoCOMA5, armStoneA5, NetDCUA5, CUBEA5, AGATEWAY
    Not tested: PicoMOD6, PicoMOD7A, PicoCOM3, armStoneA8, NetDCU14

    • Activate UBIFS on fsvybrid
    • Update mtdparts layout on Vybrid to support newer NBoot versions >= VN08
    • Add UBI-only mtdparts layout to fsvybrid
    • Do not use flash based bad block table on Vybrid anymore
    • Speed up creation of RAM based bad block table by just reading OOB on Vybrid
    • Also scan second page of a block for bad block marker
    • Completely new Vybrid NAND driver that uses hardware ECC with 16 correctable bit errors now; the previous Freescale version only used software ECC with a single correctable bit error; the new version is also faster
    • Bitflips are only reported with -EUCLEAN if their count exceeds a threshold
    • Add completely new block refresh procedure for blocks with many bitflips
    • Pass NBoot and M4 args to Linux, especially the NAND state from block refresh
    • Read ONFI data on ONFI capable NAND flashs
    • Improve handling of skip region, now also works in OOB-only reads/writes
    • Handle NBoot as skip region on fsvybrid (=no writes, reads as 0xff)
    • Don't let nand read/write exceed into next partition when bad blocks exist, this would be fatal
    • Mark a block as bad when it can not be erased
    • Improve many NAND error messages, suggest marking block as bad if writes fail
    • Show precise error position when writes to NAND fail
    • Add nand read/write.oobauto to just load/store the user part of the OOB
    • Add optional nand torture command to intensely check a block for errors
    • Add support for second ESDHC port on Vybrid
    • Allow using FEC0 and FEC1 separately on Vybrid, improve MAC handling
    • Only start FEC if actually accessed; this speeds up the boot process
    • Improve PHY timing on Vybrid to make ethernet more robust
    • Add support for Micrel KSZ8081RNA Ethernet PHY
    • Add support for OTP fuses on Vybrid
    • If set, read MAC address(es) from OTP fuses on Vybrid
    • Remove setting of fec_mac from fsvybrid bootargs, not required anymore
    • Use a completely new and more flexible system for boot strategies
    • Improve system for board specific settings on fsvybrid
    • Add basic interrupt support for Vybrid
    • Add blink support and blink timer for Vybrid
    • Enhance LED support with blinking
    • Activate preboot command for fsvybrid (executed before boot delay)
    • Improve IOMUX handling on Vybrid
    • Add support for customer specific board AGATEWAY
    • Drop cubea5.h, fsvybrid.h can also be used for CUBEA5 and AGATEWAY now


    linux-3.0.15-fsvybrid-V2.0 (04.07.2014)
    Supported boards: armStoneA5, PicoCOMA5, NetDCU15, CUBEA5, AGATEWAY

    • Do not use flash based bad block table on Vybrid anymore
    • Speed up creation of RAM based bad block table by just reading OOB on Vybrid
    • Completely new Vybrid NAND driver that uses hardware ECC with 16 correctable bit errors now; the previous Freescale version only used software ECC with a single correctable bit error; the new version is also faster
    • Bitflips are only reported with -EUCLEAN if their count exceeds a threshold
    • Improve NAND access, backport some features from newer Linux versions
    • Accept NBoot and M4 args from U-Boot, esp. the NAND state from block refresh
    • Add login_tty, nand_state and ecc_strength to /sys/bdinfo
    • Read ONFI data on ONFI capable NAND flashs
    • Add support for customer specific board AGATEWAY
    • Allow using FEC0 and FEC1 separately on Vybrid
    • Improve PHY timing on Vybrid to make ethernet more robust
    • Activate support for NATIONAL8384x Ethernet PHY used on PicoCOMA5
    • Add support for Micrel KSZ8021RNL/KSZ8081RNA Ethernet PHYs used on NetDCUA5, armStoneA5 and AGATEWAY
    • Add IRQ support for link changes on Ethernet PHYs that support this
    • Optimize PHY access, don't scan unnecessary MII addresses
    • Add matrix keyboard support for NetDCUA5 and armStoneA5
    • Add WLAN configuration to cubea5_defconfig
    • Add support for ESDHC0 (clock tree, pad settings, etc)
    • Add route switch to serial port of Vybrid
    • Support active_low parameter in leds-pwm.c
    • Fix status LED initialization, keep state from U-Boot
    • Use file storage instead of serial USB gadget
    • Add 1024x600 to predefined Vybrid DCU display modes
    • Use correct value for PAD_CTL_SPEED_LOW ony Vybrid


    buildroot-2013.02-fsvybrid-V2.0 (04.07.2014)
    Supported Boards: armStoneA5, NetDCUA5, PicoCOMA5, CUBEA5, AGATEWAY
    Not tested: armStoneA8, NetDCU14, PicoMOD7A, PicoCOM4

    • Support login_tty from /sys/bdinfo on fsvybrid
    • Add support for customer specific board AGATEWAY
    • Change UBI LEB size to 0x1F000 on fsvybrid, required by new NAND driver
    • Activate alsa in gst-plugins-base to allow audio output via gstreamer
    • Allow compiling the Linux kernel and modules in an external directory; output/build/linux-localdir is still created to hold the .stamp files
    • Modify cubea5_defconfig to use new compilation feature
    • Handle LED stuff in install-cubea5.txt and S01cubea5


    Toolchain


    (No changes)




    Documentation

    • Unfortunately no changes; please note that the section about boot strategies in Vybrid_FirstSteps_eng.pdf is now outdated


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Vybrid Linux Release V2.1


    We have uploaded a new Linux version for all boards and modules based on the Vybrid CPU to our server, i.e. the fsvybrid architecture: armStoneA5, NetDCUA5 and PicoCOMA5 (and also the customer specific boards CUBEA5 and AGATEWAY).


    This release brings some bug fixes and improvements to the NAND flash stuff introduced in V2.0. For example the last 256K of the NAND flash accidently were not used. Therefore you should again update U-Boot and Linux in one go to avoid that they use different methods to access the flash. And you should also erase the TargetFS partition and re-install the UBI, rootfs volume and rootfs image to reclaim these 256K of flash space. If you update from an earlier version V1.x, you MUST update NBoot, U-Boot, Linux and BuildRoot in one go. Mixing files from V1.x and V2.x does not work!


    Other than that the matrix keyboard was heavily improved and is now working correctly. And on armStoneA5 and NetDCUA5 the USB0 port that is normally used as USB device can now optionally be used as a second USB host port. Please note that this might require hardware modifications.


    Behind the scenes there were some changes to bring the different F&S architectures more in sync, especially in U-Boot. Then switching to newer package versions as the next step will be easier.


    And we have updated the First Steps document with regard to our new download section, the installation procedure, the new boot strategies and the update mechanism.


    This release is running on all platforms of this architecture at the same time. So you can download the same binaries for NBoot, U-Boot, Linux kernel and BuildRoot root filesystem to any of the Vybrid boards and it will run.


    The release consists of two files:


    fsvybrid-V2.1.tar.bz2
    This is the main release itself containing all sources, the binary images, the documentation, examples and the toolchain.


    sdcard-fsvybrid-V2.1.tar.bz2
    If you copy the contents of this archive to an SD card, you can install our precompiled standard system in a very straightforward and comfortable way on the board. The SD card archive is meant for people who just want to try a release first without having to download the quite large main archive. Its content is also contained in the main release archive, so if you want to download the main archive anyway, you don't need to bother with the SD card archive.


    These tar archives are compressed with bzip2. So to see the files, you first have to unpack the archives

    Code
    1. tar jxvf fsvybrid-V2.1.tar.bz2


    This will create a directory fsvybrid-V2.1 that contains all the files of the release.


    Please read the file doc/Vybrid_FirstSteps_eng.pdf. It lists the meaning of all files and shows how to install and use everything.



    Release Notes for fsvybrid-V2.1


    Here is a list of the most noticeable changes in this release.


    nbootvyb115_09.bin (VN09)
    Supported Boards: PicoCOMA5, armStoneA5, NetDCU14, CUBEA5, AGATEWAY, PicoMODA5, PicoMOD1.2


    (No changes)




    u-boot-2012.07-fsvybrid-V2.1 (22.08.2014)
    Supported boards: PicoMOD6, PicoMOD7A, PicoCOM3, PicoCOMA5, armStoneA5, armStoneA8, NetDCU14, NetDCUA5, CUBEA5, AGATEWAY

    • Fix NAND ECC correction on fss3c64xx and fss5pv210
    • Do not reduce NAND size by skip size on fss3c64xx, fss5pv210 and fsvybrid
    • Handle empty NAND pages with bitflips on fsvybrid
    • Further improve NAND implementation on fsvybrid
    • Make _mtdparts_std/_mtdparts_ubionly work with more than one NAND device
    • Add _mode_rw/_mode_ro to make read/write similar to other boot strategies
    • Set bootargs value on start-up to allow simple calls of bootm, nboot, etc.
    • Add platform to fsvybrid environment
    • Switch NAND handling on fss3c64xx and fss5pv210 to fsvybrid style
    • Fix command nboot to allow loading a zImage
    • Switch environment handling on fss3c64xx and fss5pv210 to fsvybrid style
    • Use boot strategies from fsvybrid also on fss3c64xx and fss5pv210
    • Switch command line parsing to hush parser on fss3c64xx and fss5pv210
    • Fully support update/install/recover system on fss3c64xx and fss5pv210


    Remark: Architecture fss3c64xx is obsolete now; support for PicoMOD6 and PicoCOM3 will therefore be dropped in one of the next relases.




    linux-3.0.15-fsvybrid-V2.1 (22.08.2014)
    Supported boards: armStoneA5, PicoCOMA5, NetDCU15, CUBEA5, AGATEWAY

    • Do not reduce NAND size by skip size on fsvybrid, i.e. use last 256KB
    • Handle empty NAND pages with bitflips on fsvybrid
    • Add macros for ECC modes on Vybrid
    • Support optional second RTC to read system time from
    • Add support to use USB0 as a second host port on armStoneA5 and NetDCUA5
    • Improve the Vybrid USB driver significantly, combine host and device part
    • Fix row and column handling for matrix keypad
    • Improve matrix keypad driver significantly
    • Backport matrix keypad features of newer Linux kernels up to 3.5
    • Add new cycle based scan algorithm for matrix keypad driver to detect keys more reliably
    • Add default matrix keymap for F&S boards NetDCUA5 and armStoneA5
    • Add optional second driver for Focaltech touch controllers
    • Add UART2 RTS/CTS defines for PicoCOMA5
    • Remove debug message from Micrel PHY detection


    buildroot-2013.02-fsvybrid-V2.1 (22.08.2014)
    Supported Boards: armStoneA5, NetDCUA5, PicoCOMA5, CUBEA5, AGATEWAY
    Not tested: armStoneA8, NetDCU14, PicoMOD7A, PicoCOM4


    (No changes)




    Toolchain


    (No changes)




    Documentation


    Vybrid_FirstSteps_eng.pdf


    • Improve introduction, explain board families and architecture releases
    • Explain new F&S Download Area on Website
    • Show automatic installation with an SD card
    • Improve manual installation procedure
    • Introduce the new system for switching boot strategies
    • Short introduction of the update/install/recover mechanism in U-Boot
    • Add CAN usage



    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.