armStoneA8/Linux development state and releases

  • Hello,


    That's the type of OS I'm interrested in!
    Do you have any further Infos about the release?
    What will be in there? Which Kernel?
    How can we build it?


    In respect to your products, I'm a newbie...
    So any teasing info until the release will be welcomed.


    HoBa

  • We are nearly done and await a release in the next week. HDMI and Audio did take a little longer than anticipated.


    The release will be based on Linux-Kernel 3.3, U-Boot is 2011.12. As always, the root filesystem will build on BuildRoot.


    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.

  • Signed.


    I'd even be happy with an incomplete/interim release without A/V support for now, at least that way one could poke around in other areas of the platform. For now (that is, once I get my hands on the actual hardware) I'll have to see how far we'll get with a "vanilla" buildroot. But I'd rather not have to spend my time on that.

  • Sorry, but there were some additional problems with drivers that needed more work than anticipated (USB host, LCD, NAND flash). Usually these drivers work right out of the box, but it showed that on S5PV210 (the CPU of the armStoneA8) there was missing some important architecture specific "glue" code which had to be written first. We never saw a board that needed this much rework at nearly every driver. I actually skipped my vacation that I wanted to have this week to get the release done as quick as possible.


    But we're done now. We are currently building the final packages, checking everything into git and writing the Readme and changelogs. The release will be tomorrow, Friday. Sorry for the additional delay, we really thought it would go smoother.


    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.

  • Today we tested all features again and, of course, there was trouble at a few places. For example audio, that we ported a few weeks ago, didn't work anymore today. It proved to be a problem deep inside the DMA access to I2S, so it wasn't easy to find. Or HDMI didn't want to work with a framebuffer of 800x600 pixels. 800x480 did work however. The solution was that we had to round up the plane size of the v4l2_buffer to a full system page. 800x480x4 is a multiple of 4096, therefore it worked there. But 800x600x4 is not. Again some deep diving into the v4l2 infrastructure was necessary.


    This caused again some unexpected delays. The board is good and everything works very stable, but I think I have seen every bit of every driver in the meantime. So unfortunately we have to put you off to Monday. On Monday we'll upload the new version to the server. Sorry again.


    But there is also a good side to this delay: by solving the DMA problem for audio, we got SPI working now, which caused already some gray hair this week. We were about to move SPI to the next release. But hey, now it is running.


    Have a nice weekend.


    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.

  • This really confirms my opinion that driver development is hard to implement for a small development department.
    Good that you will do this for us.


    Keep your head up. Sorry for losing your vacation.

  • We have uploaded armStoneA8 V1.0 to our server. Please read the file README.txt. It shows how to install and use everything.


    Release Notes for armStoneA8 V1.0


    NBoot (V12) (13.02.2012)


    • Size of BL2 (EBOOT/UBOOT) increased to 384kB.
    • 0000878: [NBoot] Output version of NBOOT when load over serial or from SD
    • 0000877: [NBoot] Improve boot time
    • 0000871: [NBoot] Add support for 128MB flash
    • 0000870: [NBoot] Command s sometimes not work



    U-Boot armStoneA8 V1.0 (16.04.2012), based on u-boot-2011.12)


    This is an interim release targeted to armStoneA8 only (PicoMOD6 and PicoCOM3 won't work). It is based on V1.2 with many improvements already in place, but many of these features are not yet complete. They will be mentioned in the next regular release.


    • Rebase to u-boot-2011.12
    • Enable NE2000 ethernet driver to use CONFIG_NET_MULTI; improve DP_* macros to support S5P
    • Add delay after powering USB root hub to detect USB storage devices more reliably
    • Make size of uboot.nb0 configurable by platform configuration header file; on armStoneA8, the size of uboot.nb0 is 384K
    • Add drivers/mtd/nand/s5p_nand.c to support NAND on S5P
    • Add drivers/usb/host/{ehci,ohci}-s5p.c to support EHCI and OHCI USB drivers on S5P
    • Add drivers/rtc/s5p_rtc.c to support real time clock on S5P
    • New timer module arch/arm/cpu/armv7/s5p-common/timer.c that counts from 0xffffffff down; is simpler, creates less code
    • Fix timing computation in drivers/usb/host/ehci-hcd.c and net/net.c that silently assumed a timer tick time of 1ms
    • Extended info in arc/arm/cpu/armv7/s5p-common/cpu_info.c; arch_cpu_init() must not use variables, store in global data instead
    • Improve definition of registers, cpu detection, gpio pin numbers, include files to better support S5P
    • Add check for deleted long dir entries in fs/fat/fat.c
    • Make autoload_script() work with CONFIG_GENERIC_MMC; however this feature will be reworked and is disabled by default in this version
    • Use mach=armv6 instead mach=armv5 as in default u-boot
    • New stdio_dev system to support LCD output better; change serial lines to support this
    • LCD configuration and output is heavily reworked; however it is not yet complete and therefore disabled in this version
    • Support armStoneA8, NetDCU14 (and EASYsom1) in one binary: detect board type and RAM size at runtime, set prompt string, RAM base and default loadaddr accordingly
    • Make loading functions load at address given in environment variable loadaddr, not at fix address CONFIG_SYS_LOAD_ADDR
    • Support UBI and UBIFS, activate appropriate commands]/*:m]



    Linux Kernel armStone V1.0 (16.04.2012), based on linux-3.3


    This is a completely new port for F&S boards with S5PV210 MCU. Among others this required taking code from the Exynos4 MCU, linux-3.4-rc1 and even patches that are not yet in mainline Linux.


    • Add default configuration for F&S boards based on S5PV210 MCU: fss5pv210_defconfig
    • Add new mach-types file
    • Add basic support for armStoneA8 (mach-armstonea8.c, Kconfig, Makefile)
    • Fix zImage uncompressing code to make the low-level serial debug line work with FIFO
    • Add UART support for armStoneA8
    • Add Ethernet support for armStoneA8 (AX88796 controller)
    • Fix AX88796 ethernet driver to work with 16 bit ports; they used a constant offset instead of one that is correctly shifted via a macro
    • Add RTC support for armStoneA8
    • Rewrite drivers/rtc/rtc-s3c.c to take less power from battery
    • Add fixed voltage regulators for audio, HDMI, DMA, SD/MMC, ADC
    • Add support for SGTL5000 audio codec on S5P platform
    • Add bit-banging I2C for audio codec
    • Fix sound/soc/samsung/i2s.c to work with SGTL5000
    • Add support for HDMI on S5PV210 platform: enable pipeline Graphic Layer -> Video Mixer -> HDMI controller -> HDMI PHY; as HDMI is a V4L2 video output device, it needs some support from a userspace tool
    • Patch drivers/i2c/busses/i2c-s3c2410.c to support the I2C for HDMIPHY
    • Fix HDMI driver to also work when called more than once: correctly disable and enable clocks when switching parents, enable SCLK_HDMI already when probing the device, not only when switching on HDMI
    • Fix video mixer driver to not use premultiplied mode
    • Rewrite the cropping/composing area code for graph layer in video mixer (used for HDMI); this was completely wrong from Samsung
    • Add SD/MMC support for armStoneA8
    • Fix MMC driver code that dereferenced a NULL pointer
    • Add F&S Tux logos
    • Add USB host support (EHCI and OHCI) for S5PV210 platform: PHY code, clock name, register names, physical addresses, init code
    • Add NAND support (8-bit) for S5PV210 platform: ECC layout, clock, register names, physical addresses, init code, architecture specific code in the driver
    • Add LCD support for armStoneA8: GPIOs for LCD and LVDS power and backlight, PWM for backlight brightness
    • Add generic LCD resolution and signal definitions to allow display configuration via make menuconfig
    • Add SPI support for armStoneA8: chip selects, SPI devices, IRQs
    • Add CAN support for armStoneA8: reset signal, IRQ
    • Add ADC support for armStoneA8
    • Add I2C support for armStoneA8
    • Add WDT support for armStoneA8
    • Add touch support for armStoneA8
    • Add support for the JPEG device on S5P: clock, register names, physical addresses
    • Add (temporary) debugging feature to show the clock tree



    BuildRoot armStone V1.0 (16.04.2012), based on BuildRoot 2012.02


    • Add own busybox configuration (build static, add telnetd, add ubi-tools, use mdev, ...)
    • Fix ncurses configuration --disable-static -> --without-normal
    • Add configs/armstonea8_std_defconfig with standard configuration (directfb, modular X11 server, matchbox window manager, busybox, iproute2, ...)
    • Add configs/armstonea8_min_defconfig with minimal configuration (only busybox and iproute2)
    • Add target/boards/f+s/armStoneA8 with board specific scripts
    • Add /sbin/hmdicfg and startup file /etc/init.d/S17hdmicfg to target
    • Add x11 startup file /etc/init.d/S35x11 to target
    • Use own /etc/inittab file to support mdev
    • Add /etc/mdev.conf



    Toolchain


    • Use same toolchain as for PicoMOD6/PicoCOM3


    Writing of the README.txt took one and a half day.


    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.

  • Quote

    Please read the file README.txt. It shows how to install and use everything.

    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.

  • Hello,


    hmm, the content of the README.txt is

  • On our download server <!-- m --><a class="postlink" href="http://download.fs-net.de/">http://download.fs-net.de/</a><!-- m -->. You got the access code (password) together with your armStoneA8 board.

    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.

  • Well, hm, uh, oops! My fault. Wrong file.


    Yeah, that's a typical me. I'm writing 20 hours on this text, sitting until late at night on Monday, to get everything done. And then I'm clicking on the wrong file for upload. Great! I desperately need some days off. :-)


    OK, I've uploaded the correct file now. And please excuse my earlier ignorance.

    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.