Archive

Posts Tagged ‘u-boot’

Compulab CL-SOM-iMX8 SoM Features NXP i.MX 8M Processor for $68 and Up

January 15th, 2018 5 comments

I just covered one of the i.MX 8M systems-on-module last Friday with Variscite DART-MX8M SoM, but Variscite is not the only company about to launch such modules, and today I’ll have a look at Compulab CL-SOM-iMX8 system-on-module based on the same NXP i.MX 8M dual or quad core Cortex A53 processor.

Compulab’s SoM comes with up to 4GB RAM, 64GB eMMC flash, an optional WiFi & Bluetooth module, as well as optional support for Ethernet, LVDS, analog audio, and more. Contrary to most competitors, the company has also made an habit of releasing detailed pricing the basic configuration and per option.

Click to Enlarge

But first, let’s go through the specifications:

  • SoC (one of the other)
    • NXP i.MX8M Quad quad core Arm Cortex-A53 processor @ 1.5GHz with Arm Corex-M4 real-time core, Vivante GC7000Lite GPU supporting OpenGL ES 3.1, Open CL 1.2 and Vulkan
    • NXP i.MX8M Dual dual core Arm Cortex-A53 processor @ 1.5GHz with Arm Corex-M4 real-time core, Vivante GC7000Lite GPU supporting OpenGL ES 3.1, Open CL 1.2 and Vulkan
  • System Memory – 1 to 4GB LPDDR4
  • Storage – 4GB to 64GB eMMC flash
  • Connectivity
    • Optional WiFi 802.11a/b/g/n/ac WiFi & Bluetooth 4.1 BLE (Broadcom BCM4356 chipset)
    • Optional Gigabit Ethernet Atheros AR8033 PHY
  • Audio – Optional Wolfson WM8731L audio codec
  • 204-pinedge connector exposing the following interfaces:
    • Display
      • HDMI 2.0a up-to 4096 x 2160 @60Hz
      • LVDS up-to 1920 x 1080 @60Hz via on-module DSI to LVDS convertor
      • 4-lane MIPI-DSI up to 1920 x 1080 @60Hz
      • 24-bit Parallel RGB up to 1600 x 1200
      • Touchscreen Capacitive touch-screen support through SPI and I2C interfaces
    • Camera – 4-lane MIPI-CSI interface
    • Networking – 1x 10/100/1000Mbps Ethernet
    • Audio
      • Analog stereo output, stereo input and microphone support
      • Up to 4x I2S / SAI, S/PDIF input/output
    • PCIe – PCIe x1 Gen. 2.1, optional extra PCIe x1 Gen. 2.1
    • USB – 2x USB3.0 dual-role ports
    • Serial – Up to 4x UART
    • Up to 1x MMC/SD/SDIO
    • Up to 2x SPI, Up to 3x I2C, Up to 4x general purpose PWM signals
    • Up to 90x GPIO (multifunctional signals shared with other functions)
  • Debugging – JTAG debug interface
  • Misc – RTC Real time clock, powered by external battery;
  • Supply Voltage –  3.35V to 4.2V
  • Digital I/O – voltage 3.3V
  • Dimensions – 68 x 42 x 5 mm
  • Weight – 14 grams
  • Temperature Range
    • Operating – Commercial: 0° to 70° C; Extended: -20° to 70° C; Industrial: -40° to 85° C
    • Storage – -40° to 85° C
  • Relative humidity – 10% to 90% (operation); 05% to 95% (storage)
  • Reliability – MTTF – > 200,000 hours; Shock 50G / 20 ms; Vibration 20G / 0 – 600 Hz

CL-SOM-iMX8 Block Diagram – Click to Enlarge

The company provides support for the Yocto Project with Linux mainline, and Android support is coming soon. SBC-iMX8 Evaluation Kit can be used to kickstart development with SOM-iMX8-C1500Q-D2-N16-E-A-WB-H module (quad core version with 2GB RAM, and 16GB flash, Ethernet, Audio, Wireless module, and heat dissipation plate), SB-iMX8 carrier board, a WiFi antenna and cable, a serial port cable, a USB cable and adapter, as well as a 12V power supply. The company also provides 12-month technical support for the kit.

SB-iMX8 Block Diagram – Click to Enlarge

The SoM and devkit have not been formally launched (early product announcement), and I could not find a photo of the carrier board, nor the specifications in readable form, but the company has already released the schematics – from which I extracted the block diagram above -, PCB layout, and Gerber files for it, and it seems to pretty much expose all features from the SoM, as it should.

It’s unclear whether the SoM are available now, but they should be soon, with 10-year longevity. As mentioned in the introduction the company also released pricing with the most basic model SOM-iMX8-C1500D-D1-N4 (dual core, 1GB RAM, 4GB storage, no other option) will sell/sells for $68 for 1k-unit price, and option pricing are shown below.

Click to Enlarge

Price also fluctuates based on order quantity, and for example, the price for one sample is 2.5 times more expensive, while for 10K order, unit price is reduced by 5%. Visit the product page to find more details, including initial hardware and software documentations, and further pricing info.

SolidRun MACCHIATOBin Mini-ITX Networking Board is Now Available for $349 and Up

April 24th, 2017 32 comments

SolidRun MACCHIATOBin is a mini-ITX board powered by Marvell ARMADA 8040 quad core Cortex A72 processor @ up to 2.0 GHz and designed for networking and storage applications thanks to 10 Gbps, 2.5 Gbps, and 1 Gbps Ethernet interfaces, as well as three SATA port. The company is now taking order for the board (FCC waiver required) with price starting at $349 with 4GB RAM.

MACCHIATOBin board specifications:

  • SoC – ARMADA 8040 (88F8040) quad core Cortex A72 processor @ up to 2.0 GHz with accelerators (packet processor, security engine, DMA engines, XOR engines for RAID 5/6)
  • System Memory – 1x DDR4 DIMM with optional ECC and single/dual chip select support; up to 16GB RAM
  • Storage – 3x SATA 3.0 port, micro SD slot, SPI flash, eMMC flash
  • Connectivity – 2x 10Gbps Ethernet via copper or SFP, 2.5Gbps via SFP,  1x Gigabit Ethernet via copper
  • Expansion – 1x PCIe-x4 3.0 slot, Marvell TDM module header
  • USB – 1x USB 3.0 port, 2x USB 2.0 headers (internal),  1x USB-C port for Marvell Modular Chip (MoChi) interfaces (MCI)
  • Debugging – 20-pin connector for CPU JTAG debugger, 1x micro USB port for serial console, 2x UART headers
  • Misc – Battery for RTC, reset header, reset button, boot and frequency selection, fan header
  • Power Supply – 12V DC via power jack or ATX power supply
  • Dimensions – Mini-ITX form factor (170 mm x 170 mm)

Click to Enlarge

The board ships with either 4GB or 16GB DDR4 memory, a micro USB cable for debugging, 3 heatsinks, an optional 12V DC/110 or 220V AC power adapter, and an optional 8GB micro SD card. The company also offers a standard mini-ITX case for the board. The board supports mainline Linux or Linux 4.4.x, mainline U-Boot or U-Boot 2015.11, UEFI (Linaro UEFI tree), Yocto 2.1, SUSE Linux, netmap, DPDK, OpenDataPlane (ODP) and OpenFastPath. You’ll find software and hardware documentation in the Wiki.

The Wiki actually shows the board for $299 without any memory, but if you go to the order page, you can only order a version with 4GB RAM for $349, or one with 16GB RAM for $498 with the optional micro SD card and power adapter bringing the price up to $518.

U-Boot Now Supports UEFI on 32-bit and 64-bit ARM Platforms

August 11th, 2016 18 comments

Intel/AMD x86 based computers now boot via a standard UEFI binary, which can load grub2, allows you to update the command line as needed, or select different version of the Linux kernel. On ARM everything is a little more complicated and messy, as bootloaders such as U-boot need to support different configurations formats.

Raspberry_Pi_UEFI_GRUB2_U-BootAlexander Graf has been working on implementing UEFI support in U-boot, and it’s now supported by U-boot mainline and enabled by default for 32-bit and 64-bit ARM platforms, but not x86-64 (yet). That means you should now be able to boot any ARM boards supported by mainline U-boot through UEFI. Alexander gave a presentation about his work at an openSUSE event in June, and demonstrated u-boot with UEFI, and GRUB2 support with an openSUSE image running on a Raspberry Pi board.

Thanks to David for the tip.

Embedded Linux Conference Europe 2014 Schedule – IoT, ARM vs x86, Optimization, Power Management, Debugging…

August 21st, 2014 2 comments

The Embedded Linux Conference Europe (ELC 2014), CloudOpen, and LinuxCon Europe will jointly take place at the Congress Centre Düsseldorf, in Germany on October 13 – 15, 2014. The 3-day events will consists of keynotes, presentations, and tutorials. Each day will open with two or three keynotes by speakers including  Jim Zemlin (Executive Director, Linux Foundation), and Jono Bacon (XPRIZE), followed by presentation and tutorials. There will be 45 presentations for ELCE, 58 for LinuxCon, and 47 for CloudOpen, I’ll make a virtual schedule with a few sessions part of the Embedded Linux Conference Europe “track”.

ELCE_2014

Monday, October 13

When faced with a performance problem, the initial steps towards a solution include identifying the sections of code responsible and the precise reasons they are time-consuming. To this end, the ‘perf’ profiling tools provide valuable insight into the characteristics of a program. The presentation will show, using real-world examples, how the ‘perf’ tools can be used to pinpoint the parts of a program in need of optimization.

It’s not uncommon to produce embedded Linux based devices that end up with long and inconvenient boot times – yet eliminating boot time delays can be difficult and time consuming. Furthermore once a minimal boot time has been achieved it’s often just as difficult to maintain it through subsequent software development.

In this presentation, Andrew unfolds 12 keys lessons learned in his experience of boot time reduction. These lessons provide an insight into the common causes of boot time delays, why they are present and how they can be overcome. In describing these lessons Andrew will also take you on a journey that indicates why file system benchmarks should probably be ignored (with respect to boot time reduction) and a journey that illustrates that the Linux kernel is rarely the worst offender for boot delays.

With the introduction of Bluetooth Smart (aka Low Energy), the ubiquity of Bluetooth is more and more present. Millions of devices support Bluetooth Low Energy and with Bluetooth 4.1 specification, they are ready for the Internet of Things. This presentation will give an overview of Bluetooth Low Energy, and its usage for the Internet of Things. It will also introduce 6loWPAN over Bluetooth and show the possibilities this opens for Linux.

With experience developing community based open hardware for both the ARM based PandaBoard project and the x86 based MinnowBoard project, this presentation will provide a detailed comparison of the pros and cons of each platform with highlights of what each platform can learn from the other. Not only limited to the hardware aspect of the platforms, but also discuss community, software, corporate and general embedded aspects.

For almost as long as there have been deployments of Linux, there has been someone wondering “how can I get the device started quicker?” and “how do I configure some redundancy, easily, in case something goes wrong?”. And for the longest time, the answer has been “hack this and this and that” or “hire these consultants, they have done it before”. In this presentation, Tom will show what you need to turn on and the prep work required for, getting a lot of those items out of the box in U-Boot, what the hardware (and/or ROM) needs to do, and the what works is left going forward.

Got a question, comment, gripe, praise, or other communication for the Yocto Project and/or OpenEmbedded? Or maybe you’d just like to learn more about these projects and their influence on the world of embedded Linux? Feel free to join us for an informal BoF.

Tuesday, October 14

While user experiences are increasingly moving to 3D, rendering of 2D content remains at the core of how we interact with computer applications today. Skia is an open-source project maintained by Google whose goal is to bring the best 2D graphics library to a variety of targets, from mobile to desktop and embedded. Skia is used in highly popular projects like Mozilla Firefox, the Chromium browser and Android.

This talk will introduce Skia to developers and users, giving an overview of its design, architecture and features. It will also discuss briefly how hardware acceleration improves performance of Skia in the context of new devices, form-factors and the industry shift to mobile; with focus set on Linux and Android platforms.

The 4.4 KitKat release includes the results of “Project Svelte”: a set of tweaks to the operating system to make it run more easily on devices with around 512 MB RAM. This is especially important for people working with Android Wearables and “Embedded Android”, that is, implementing Android on devices at the lower end of the Android ecosystem. A large part of the problem is knowing how much RAM is really being used. Android offers a variety of tools for the purpose: procrank, procmem, meminfo and procstats, which Chris covers in the first part of the talk. In the second part, he takes a real-world example and show the practical steps you can take to optimize memory use including tuning the size of the Dalvik heap, enabling KSM (Kernel samepage merging) and swap to zRAM.

Android has relied from its early days on the Linux kernel for sandboxing the processes it runs. Yet, the permission model presented to app developers is significantly different from the Unix permission model. What’s the relationship between those two models? How is Android’s app security framework tied to the Linux kernel’s security model? More recently, Android has started using SELinux and has been extended by SEAndroid to support similar functionality. How is SELinux used by Android and what is SEAndroid about? Furthermore, how does Android provide support for multiple users?

This talk will explore Android’s security model in great detail and explain how the functionality found in the kernel is used to isolate user processes and the SE enhancements are leveraged by Android. As we’ll see, there are quite a few moving parts in Android’s security model.

Since last year, Free Electrons has been working on supporting the SoCs from Allwinner, a Chinese SoC vendor, in the mainline kernel. These SoCs are cheap, wide-spread, backed by a strong community and, until last year, only supported by an out-of-tree kernel. Through this talk, Maxime will share the status of this effort: the status a year ago, what solutions were in place, where we are currently, and what to expect from the future. He will also focus on the community around these SoCs, the work that is done there, etc.

Enlightenment Foundation Library is a set of libraries designed to use the full potential of any hardware to do great UI. It has been designed with the embedded devices in mind, but it is a desktop class toolkit. Being done in C, it is providing a stable API/ABI, high efficiency, low memory and low battery usage for all kind of Linux devices. Enabling development of modern UI adapted to any hardware that run Linux. These are the reason why Samsung uses it in its Tizen devices. This talk, after a short overview of what this libraries cover, will focus on this year improvement, and where it is heading. It will also be an opportunity to learn about project around EFL that will help people develop product with it. And it would also be a good opportunity to see where EFL are used with some real use case.

Wednesday, October 15

A major issue the community faces is the lack of power measurement (PM) instrumentation, coupled with poor integration: development boards not designed for it, expensive high-precision lab equipment not accessible to hobbyists (plus limited Linux support), limited low-cost solutions (precision, sampling rate) to monitor high-performance SoC (System On Chips) platforms (e.g. smartphones, tablets, IoT, …). After a brief introduction to the problematic (PM techniques, sense resistor / ADC selection, …) and a comparative study of existing solutions, this presentation will focus on a new upcoming initiative to close these gaps and bring a full-blown multi-channel but low-cost power (and temperature) measurement equipment to the community, including the definition of an open standard PM connector. After having covered motivations, challenges, key decisions, a live demo will close the talk.

In 2013, at the Embedded Linux Conference in Europe in Edinburgh, there was a race between a dog and a blimp. It was said that despite the dogs win, that the blimp had participated in the miracle of flight. In 2014, John wants to show that the brains of that dog can be transplanted and that it too, can participate in the miracle of flight. The talk is mainly targeting taking an off the shelf embedded platform, Minnowboard Max, and it’s use in UAVs, specifically quad-copters. With the ability to do real time computer vision, as well as various GPIO capabilities he will explore the directions that significantly more autonomous UAVs can take with Linux and embedded platforms using, mostly, off the shelf components.

There have been many presentations on what a device tree looks like and how to create a device tree. This talk instead examines how the Linux kernel uses a device tree. Topics include the kernel device tree framework, device creation, resource allocation, driver binding, and connecting objects. Troubleshooting will consider initialization, allocation, and binding ordering; kernel configuration; and driver problems.

Providing real-time capabilities to a general purpose operating system is an outstanding technical problem, and Linux Preempt-RT has been developed for 10 years for this goal. In this presentation, Jim proposes a lightweight open source para-virtualization layer, called “rtmux”, using resource-multiplexing techniques to provide a highly deterministic RT environment for Linux/ARM. Typically, less than 500 lines modification against Linux kernel are required to enable rtmux accompanied by POSIX/PSE51 compatible runtime.

During the last 2.5 years, a team of engineers at Free Electrons has been involved in mainlining the support for several ARM processors from Marvell, converting the not-so-great vendor-specific BSP into mainline quality code progressively merged upstream. This effort of several hundreds working days, has led to the integration of hundreds of patches in the kernel. Through this talk, Thomas will share some lessons learned regarding this mainlining effort, which could be useful to other engineers involved in ARM SoC support, as well as detail the steps Free Electrons engineers have gone through, the mistakes made and how they’ve been solved, as well as their overall experience on this project.

To make your own schedule matching your interests, you can check out the events’ program.

To attend the conference, you can register online.

The fees are listed as follows:

  • All-access Registration Fee – $600 until August 22 (tomorrow), $750 until October 2, and $850 afterwards
  • Attendee Networking Pass Registration – No access to conference sessions. $250 until August 22, $300 afterwards.
  • Student Registration Fee – $200 (valid student id required).
  • Registration Discount Scholar – $300. For active open source community members who can’t be sponsored by their company. .

Fees are significantly higher than last year, because there are only all-in-one (ELCE, CloudOpen and LinuxCon )options, and you can’t simply register to one single event.

Atmel SAMA5D3 Xplained Board Unboxing and Quick Start Guide

April 16th, 2014 3 comments

Atmel SAMA5D3 Xplained is an evaluation board running Linux powered by SAMA5D36 ARM Cortex A5 micro-processor with 256 MB DDR2, 256 MB flash, two Ethernet ports, 3 USB connectors, and more. This embedded board targets industrial automation, networks, robotics, control panels and wearable applications. The only video output is an LCD connector so it is reserved for headless or flat panel based applications. You can check full specs on my Atmel SAMA5D3 Xplained announcement post. The company kindly sent me a sample, so that I can share my experience with the board. I’ll first post some unboxing pictures, show how to get started with the pre-installed image, and build my own Linux image.

The board can be purchased for $79 from Atmel e-Store, as well as several distributors (P/N: ATSAMA5D3-XPLD).

Atmel SAMA5D3 Xplained Unboxing

I’ve been sent the board via DHL in the following package, which gives  a short desscription of the board, and what it is used for. There’s also a QR core, but it just returns the board name of some production numbers and dates, no links.

Atmel_SAMA5D3_Xplained_PackageIn the package you’ve got the board, a micro USB to USB cable for power and programming, and a small card entitled “Overview and Compliance Information” which gives a list of key features, a link to get started http://www.atmel.com/sama5d3xplained, which I’ll use later, and some EU compliance informations regarding RoHS2 and EMC. The board is compliant with both CE and FCC standards.

Atmel SAMA5D3 Xplained Package Content (Click to Enlarge)

Atmel SAMA5D3 Xplained Package Content (Click to Enlarge)

Let’s check the board in details.

Top of Atmel SAMA5D3 Xplained Board (Click to Enlarge)

Top of Atmel SAMA5D3 Xplained Board (Click to Enlarge)

On the top of the board, we’ll find the 2 USB host connectors, and 2 Ethernet connectors (GMAC and EMAC) on the right, the micro USB port, as well as pads to solder an external power supply and a micro SD slot on the left, reset, wake up and user buttons, as well as JTAG, LCD, and debug (serial) connectors at the bottom, and around the MPU and memories, the Arduino UNO R3 compatible headers with the names of the different pins. Bear in mind these only support 3.3V, not 5V.

Bottom of Atmel SAMA5D3 Xplained (Click to Enlarge)

Bottom of Atmel SAMA5D3 Xplained (Click to Enlarge)

On the back we’ll find the SD card slot, and again, the markings for the Arduino compatible connectors.

I’ve also shot an unboxing video for those interested.

Atmel SAMA5D3 Xplained Quick Start Guide

From the link provided on the “Overview card”, you can download SAMA5D3 MPU datasheet,  the board brief, design and manufacturing files, and user’s guide, as well as a Getting Started Guide, which I’ll try out in this post.

The board comes pre-loaded with a Linux distribution (poky) built with the Yocto Project comprised of bootloaders (AT91Bootstrap and U-boot), the Linux kernel, and a custom lightweight rootfs. To get started simply connect the micro USB to USB cable to your computer to boot the system, you should see a blue LED lit up and blink. There’s no display, but there are three ways to access the board from Linux or Windows computers:

  • Using the USB connection your PC.  In Linux, run dmesg to check the latest kernel messages:

    In my case the interface is /dev/ttyACM0. Run you favorite terminal emulator program, such as minicom, picocom, screen, PuTTY, etc… I’ve used minicom, and configured it to access /dev/TTYACM0 using 115200 8/N/1 configuration. Instructions for Windows can be found in the company’s Getting Started Guide.
  • Via a USB to Serial board connected via J23 header’s Tx, Rx and GND pins. I’ve also done this in minicom with /dev/ttyUSB0 and the same 115200 8/N/1 configuration.
  • Via SSH. The demo image in the board is running sshd, so provided you’ve connected one or two of the Ethernet ports on a LAN with a DHCP server, you should be able to connect with the IP of the board. In Linux: ssh [email protected]_address

You can login with the board using the root account without password. The USB and SSH methods are the most convenience since you don’t need to connect extra hardware, but you won’t be able to access the bootloader that way, debugging the Linux kernel, if needed, will be difficult, and each time, the board is rebooted, the connection will be lost. So for development, you should really get a serial to USB debug board.

Here’s the complete boot log for reference:

AT91Bootstrap 3.6.1-00078-g5415d4e (Tue Feb  4 15:36:46 CET 2014)

NAND: ONFI flash detected
NAND: Manufacturer ID: 0x2c Chip ID: 0x32
NAND: Disable On-Die ECC
NAND: Initialize PMECC params, cap: 0x4, sector: 0x200
NAND: Image: Copy 0x80000 bytes from 0x40000 to 0x26f00000
NAND: Done to load image

U-Boot 2013.07 (Feb 04 2014 – 15:36:32)

CPU: SAMA5D36
Crystal frequency:       12 MHz
CPU clock        :      528 MHz
Master clock     :      132 MHz
DRAM:  256 MiB
NAND:  256 MiB
MMC:   mci: 0, mci: 1
*** Warning – bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   gmac0
Warning: failed to set MAC address
, macb0
Warning: failed to set MAC address

Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x180000, size 0x80000
524288 bytes read: OK

NAND read: device 0 offset 0x200000, size 0x600000
6291456 bytes read: OK
Kernel image @ 0x22000000 [ 0x000000 – 0x33be28 ]
## Flattened Device Tree blob at 21000000
Booting using the fdt blob at 0x21000000
Loading Device Tree to 2bb12000, end 2bb1a046 … OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.
Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 3.10.0-yocto-standard ([email protected]) (gcc version 4.8.1 (GCC) 4
CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=50c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Atmel SAMA5 (Device Tree), model: SAMA5D3 Xplained
bootconsole [earlycon0] enabled
Memory policy: ECC disabled, Data cache writeback
AT91: Detected soc type: sama5d3
AT91: Detected soc subtype: sama5d36
AT91: sram at 0x300000 of 0x20000 mapped at 0xfef58000
CPU: All CPU(s) started in SVC mode.
Clocks: CPU 528 MHz, master 132 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(s
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
allocated 524288 bytes of page_cgroup
please try ‘cgroup_disable=memory’ option if you don’t want memory cgroups
Memory: 256MB = 256MB total
Memory: 252736k/252736k available, 9408k reserved, 0K highmem
Virtual kernel memory layout:
vector  : 0xffff0000 – 0xffff1000   (   4 kB)
fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
vmalloc : 0xd0800000 – 0xff000000   ( 744 MB)
lowmem  : 0xc0000000 – 0xd0000000   ( 256 MB)
modules : 0xbf800000 – 0xc0000000   (   8 MB)
.text : 0xc0008000 – 0xc05b4fc8   (5812 kB)
.init : 0xc05b5000 – 0xc05d2d60   ( 120 kB)
.data : 0xc05d4000 – 0xc063a9f8   ( 411 kB)
.bss : 0xc063a9f8 – 0xc0663820   ( 164 kB)
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80×30
Calibrating delay loop… 351.43 BogoMIPS (lpj=1757184)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc0350648 – 0xc0350694
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: Power Management
gpio-at91 fffff200.gpio: at address fefff200
gpio-at91 fffff400.gpio: at address fefff400
gpio-at91 fffff600.gpio: at address fefff600
gpio-at91 fffff800.gpio: at address fefff800
gpio-at91 fffffa00.gpio: at address fefffa00
pinctrl-at91 pinctrl.2: initialized AT91 pinctrl driver
bio: create slab <bio-0> at 0
at_hdmac ffffe600.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 chas
at_hdmac ffffe800.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 chas
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
of_dma_request_slave_channel: dma-names property missing or empty
at91_i2c f0014000.i2c: can’t get a DMA channel for tx
at91_i2c f0014000.i2c: can’t use DMA
at91_i2c f0014000.i2c: AT91 i2c bus driver.
at91_i2c f0018000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
at91_i2c f0018000.i2c: AT91 i2c bus driver.
at91_i2c f801c000.i2c: can’t get a DMA channel for tx
at91_i2c f801c000.i2c: can’t use DMA
at91_i2c f801c000.i2c: AT91 i2c bus driver.
media: Linux media interface: v0.10
Linux video capture interface: v2.00
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource tcb_clksrc
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
jffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 493
io scheduler noop registered (default)
f001c000.serial: ttyS1 at MMIO 0xf001c000 (irq = 23) is a ATMEL_SERIAL
f0020000.serial: ttyS2 at MMIO 0xf0020000 (irq = 24) is a ATMEL_SERIAL
f0024000.serial: ttyS5 at MMIO 0xf0024000 (irq = 25) is a ATMEL_SERIAL
ffffee00.serial: ttyS0 at MMIO 0xffffee00 (irq = 39) is a ATMEL_SERIAL
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
brd: module loaded
loop: module loaded
atmel_nand_nfc 70000000.nfc: NFC is probed.
atmel_nand: Use On Flash BBT
atmel_nand 60000000.nand: Using dma0chan2 for DMA transfers.
ONFI param page 0 valid
ONFI flash detected
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP), 254
atmel_nand 60000000.nand: ONFI params, minimum required ECC: 4 bits in 512 bytes
atmel_nand 60000000.nand: Initialize PMECC params, cap: 4, sector: 512
atmel_nand 60000000.nand: Using NFC Sram read and write
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
nand_read_bbt: bad block at 0x000000c80000
nand_read_bbt: bad block at 0x000000ca0000
8 cmdlinepart partitions found on MTD device atmel_nand
Creating 8 MTD partitions on “atmel_nand”:
0x000000000000-0x000000040000 : “bootstrap”
0x000000040000-0x0000000c0000 : “uboot”
0x0000000c0000-0x000000100000 : “env”
0x000000100000-0x000000140000 : “evn_redundent”
0x000000140000-0x000000180000 : “spare”
0x000000180000-0x000000200000 : “dtb”
0x000000200000-0x000000800000 : “kernel”
0x000000800000-0x000010000000 : “rootfs”
atmel_spi f0004000.spi: version: 0x213
atmel_spi f0004000.spi: Using dma0chan3 (tx) and dma0chan4 (rx) for DMA transfes
atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 18)
atmel_spi f0004000.spi: master is unqueued, this is deprecated
atmel_spi f8008000.spi: version: 0x213
atmel_spi f8008000.spi: Using dma1chan0 (tx) and dma1chan1 (rx) for DMA transfes
atmel_spi f8008000.spi: Atmel SPI Controller at 0xf8008000 (irq 28)
atmel_spi f8008000.spi: master is unqueued, this is deprecated
CAN device driver interface
at91_can f000c000.can: device registered (reg_base=d08ea000, irq=19)
at91_can f8010000.can: device registered (reg_base=d08ec000, irq=29)
macb f0028000.ethernet (unregistered net_device): invalid hw address, using ranm
libphy: MACB_mii_bus: probed
macb f0028000.ethernet eth0: Cadence GEM at 0xf0028000 irq 26 (4e:68:35:cc:0c:8)
macb f0028000.ethernet eth0: attached PHY driver [Micrel KSZ9031 Gigabit PHY] ()
macb f802c000.ethernet (unregistered net_device): invalid hw address, using ranm
libphy: MACB_mii_bus: probed
macb f802c000.ethernet eth1: Cadence MACB at 0xf802c000 irq 33 (ca:99:58:69:7f:)
macb f802c000.ethernet eth1: attached PHY driver [Micrel KSZ8081 or KSZ8091] (m)
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
ehci-atmel: EHCI Atmel driver
atmel-ehci 700000.ehci: EHCI Host Controller
atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
atmel-ehci 700000.ehci: irq 47, io mem 0x00700000
atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.10.0-yocto-standard ehci_hcd
usb usb1: SerialNumber: 700000.ehci
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
at91_ohci 600000.ohci: AT91 OHCI
at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
at91_ohci 600000.ohci: irq 47, io mem 0x00600000
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: AT91 OHCI
usb usb2: Manufacturer: Linux 3.10.0-yocto-standard ohci_hcd
usb usb2: SerialNumber: at91
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
i2c /dev entries driver
Driver for 1-wire Dallas network protocol.
cpuidle: using governor ladder
leds-gpio leds.4: pins are not configured from the driver
atmel_aes f8038000.aes: version: 0x135
atmel_aes f8038000.aes: Atmel AES – Using dma1chan2, dma1chan3 for DMA transfers
atmel_tdes f803c000.tdes: version: 0x701
atmel_tdes f803c000.tdes: using dma1chan4, dma1chan5 for DMA transfers
atmel_tdes f803c000.tdes: Atmel DES/TDES
atmel_sha f8034000.sha: version: 0x410
atmel_sha f8034000.sha: using dma1chan6 for DMA transfers
atmel_sha f8034000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512
hidraw: raw HID events driver (C) Jiri Kosina
iio iio:device0: Resolution used: 12 bits
iio iio:device0: ADC Touch screen is disabled.
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
ThumbEE CPU extension supported.
Registering SWP/SWPB emulation handler
UBI: attaching mtd7 to ubi0
atmel_nand 60000000.nand: Bit flip in data area, byte_pos: 1552, bit_pos: 7, 0xf
atmel_nand 60000000.nand: Bit flip in data area, byte_pos: 315, bit_pos: 0, 0xff
UBI: scanning is finished
UBI: attached mtd7 (name “rootfs”, size 248 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 1978, bad PEBs: 6, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 321
UBI: available PEBs: 0, total reserved PEBs: 1978, PEBs reserved for bad PEB ha4
UBI: background thread “ubi_bgt0d” started, PID 681
input: gpio_keys.3 as /devices/gpio_keys.3/input/input0
at91_rtc fffffeb0.rtc: setting system clock to 2014-02-05 09:22:13 UTC (1391592)
atmel_mci f0000000.mmc: version: 0x505
atmel_mci f0000000.mmc: using dma0chan5 for DMA transfers
atmel_mci f0000000.mmc: Atmel MCI controller at 0xf0000000 irq 17, 1 slots
atmel_mci f8000000.mmc: version: 0x505
atmel_mci f8000000.mmc: using dma1chan7 for DMA transfers
atmel_mci f8000000.mmc: Atmel MCI controller at 0xf8000000 irq 27, 1 slots
ALSA device list:
No soundcards found.
UBIFS: mounted UBI device 0, volume 0, name “rootfs”, R/O mode
UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2s
UBIFS: FS size: 244936704 bytes (233 MiB, 1929 LEBs), journal size 9023488 byte)
UBIFS: reserved for root: 0 bytes (0 KiB)
UBIFS: media format: w4/r0 (latest is w4/r0), UUID 5CA0915B-7DF9-4652-92C0-71B9l
VFS: Mounted root (ubifs filesystem) readonly on device 0:12.
devtmpfs: mounted
Freeing unused kernel memory: 116K (c05b5000 – c05d2000)
atmel_nand 60000000.nand: Bit flip in data area, byte_pos: 1933, bit_pos: 5, 0xb
INIT: version 2.88 booting
Starting udev
udevd[717]: starting version 182
UBI error: ubi_open_volume: cannot open device 0, volume 0, error -16
atmel_usba_udc 500000.gadget: MMIO registers at 0xf8030000 mapped at d09a8000
atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at d2400000
g_serial gadget: Gadget Serial v2.4
g_serial gadget: g_serial ready
UBIFS: background thread “ubifs_bgt0_0” started, PID 782
Starting Bootlog daemon: bootlogd.
g_serial gadget: high-speed config #2: CDC ACM config
Configuring network interfaces… IPv6: ADDRCONF(NETDEV_UP): eth0: link is not y
udhcpc (v1.21.1) started
Sending discover…
macb f0028000.ethernet eth0: link up (100/Full)
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Sending discover…
Sending select for 192.168.0.108…
Lease of 192.168.0.108 obtained, lease time 7200
/etc/udhcpc.d/50default: Adding DNS 192.168.0.1
done.
Starting rpcbind daemon…done.
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
Starting atd: OK
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting OpenBSD Secure Shell server: sshd
done.
creating NFS state directory: done
NFS daemon support not enabled in kernel
Starting system log daemon…0
Starting kernel log daemon…0
Starting Telephony daemon
Starting Lighttpd Web Server: lighttpd.
Starting crond: OK
Stopping Bootlog daemon: bootlogd.

Poky (Yocto Project Reference Distro) 1.5.1 sama5d3_xplained /dev/ttyS0

sama5d3_xplained login: root
[email protected]_xplained:~#

For some reasons the Gigabit Ethernet port failed to get a link from my 10/100M switch. I had no problem with the 10/100M Ethernet port.

Let’s have a quick look at the kernel version and memory usage:

So the board runs Linux 3.10 built with Yocto, has 136M free on the rootfs, and 21MB used out of 246 MB RAM.

Building the demo image for Atmel SAMA5D3 Xplained

Atmel Getting Started document mentions the software components in the NAND Flash have been compiled following instructions found on the Linux4SAM website, but instead I’ve followed the build procedure found in github.

  • Initialize the build directory

  • Add meta-atmel layers conf/bblayer configuration file (Lines in bold):

  • Edit conf/local.conf to specify the SAMA5D3 Xplained board, and change the package type to ipk:

  • Build the demo image

This step will take a while, and you’ll find the binary images in tmp/deploy/images/sama5d3_xplained/ including the bootloaders, the kernel, modules, device tree files, and rootfs.

  • You can also optionally build the bootloaders separately with:

Flashing the Image

After you’ve built the image you may want to install them. You can also download the pre-built Yocto/Poky demo. I’ll use the files I’ve built, but the scripts from the pre-built demo zip file (linux4sam-poky-sama5d3_xplained-4.3.zip), since I could not find it anywhere else.

First you’ll need to install SAM-BA tool to flash the images. In Ubuntu 64-bit:

Download SAM-BA 2.12 for Linux and SAM-BA 2.12 Patch 6 for Linux using your web browser (registration or form filling required), and install it as follows

Add sam-ba to your PATH, e.g.:

You’ll then need to add yourself into the dialout group inside /etc/group:

Logout and login.

Now copy demo_linux_nandflash.sh, demo_linux_nandflash.tcl and demo_script_linux_nandflash.tcl scripts from the zip file to tmp/deploy/images/sama5d3_xplained/ directory, and if needed, edit demo_linux_nandflash.tcl to match your newly built filenames:

We’ve now ready for the flash procedure itself:

  1. Make sure your board is running connected to your computer via the micro USB port
  2. Remove JP5 (NAND CS, upper left of Atmel MPU) jumper to disable NAND Flash memory access
  3. Press BP2 reset button (bottom left) to boot from on-chip Boot ROM
  4. Close JP5 to enable NAND Flash memory access
  5. Change the name of copy the device tree blob file as follows:
  6. Run the flash script:
  7. It will take a little while, and once completed you can login to the baord and verify you’ve got a brand new kernel and rootfs:

You can check the flashing log in logfile.log in case something went wrong. You can find some more info on Linux4Sam SAMA5D3 Xplained page.

U-Boot & Linux BSP for STMicro STM32 Discovery Board

February 20th, 2014 3 comments

If you want to run Linux on STM32 Discovery board, more exactly STM32F429 Discovery board, it’s now possible thanks to Emcraft Systems’ BSP for STM32F429 Discovery Board. It will only work on that particular version of the discovery board as it features 64Mbit external SDRAM, which is required for uClinux, and missing on other STM32 Discovery boards.

STM32429-Discovery_Linux

You can either get u-boot and (uC)Linux from the company’s github account which contains the required patches, but lacks complete documentation, and a default config file for the kernel for example, or purchase a BSP ($33) with 3-month support, and pre-built u-boot and Linux binaries. There’s also publicly available documentation explaining how to flash the bootloader and the kernel among other things, and links to relevant external resources, without the need to spend any money.

$99 Parallella Supercomputer is Now Open Source Hardware

June 30th, 2013 16 comments

Parallella is a low cost supercomputer designed by Adapteva using Xilinx Zynq-7010/7020 FPGA+2x Cortex A9 SoC combined with Adapteva Ephipany 16 or 64 cores epiphany coprocessor. The project had a successful kickstarter campaign which allowed then to provide the 16-core version for $99, and the 64-core version for $750. The board will soon be shipped to people who pledged on kickstarter, and one of the promise of the campaign was to fully open source the platform, and today, they just fulfilled that.

Parallela

Before going into the details of the open source release, let’s have a look at the specs:

  • SoC – Xilinx Zynq7000 Series (Z-7010 or Z-7020) Dual-Core ARM Cortex A9 with 512KB L2 Shared Cache
  • Coprocessor – Epiphany Multicore Coprocessor. The Parallella-16 board includes the 16-core Epiphany-III processor The Parallella-64 board includes the 64-core Epiphany-IV processor
  • System Memory – 1024MB DDR3L
  • Boot Flash – 128 Mb QSPI Flash
  • Indicators – 2 User controlled LEDs
  • USB:
    • USB 2.0 Port(0) Connects to a host machine (PC/tablet/smartphone)
    • USB 2.0 Port (1) Connects peripheral devices
  • Ethernet – 10/100/1000M Ethernet, RJ45 with magnetics and LEDs
  • SD Connector – MicroSD, 3.3V
  • Video – Micro HDMI connector
  • Expansion Connectors – Four 60-pin high speed Samtec connectors for:
    • Epiphany link expansion connector(s)
    • Zynq programmable logic extension connector
    • Power, JTAG, debug connector
  • Power Source – USB or 5.0V DC
  • PCB Dimensions – 86.36mm x 53.34mm
Parrallela Connexion Block Diagram

Parallela Connexion Block Diagram

The 64-core version of the Parallella computer is said to deliver over 90 GFLOPS of performance, and have a processing equivalent to a 45 GHz CPU [64 CPU cores * 700MHz] providing you can run your application on the 64-core simultaneously on a tiny board consuming only 5 Watts under typical work loads. Imaging, communications, automotive, medical, and audio applications could take advantage of parallel computing at a much lower cost than is currently available with Parallella.

In order to make a platform really “open source hardware” you need to release the source code as well as the hardware file, and for the parallela platform everything seems now available on their github repository including:

  • Parallella board design files with bill of materials, schematics (dsn and pdf), layout files (brd), and Solidworks files.
  • Official u-boot for Parallella board
  • Official linux kernel for Parallella
  • Official Ubuntu distro for Parallella
  • Sourceware Tree for Epiphany
  • GCC for Epiphany
  • SDK scripts for Epiphany

We’ve got the hardware files, u-boot and linux for Zynq EPP, and the software running on Adapteva coprocessor. I haven’t checked the details but it looks like they fulfilled their promise. You can also access a preliminary version of Parallella Reference Manual.

You can also find more documentation on parallella.org. If you’ve missed the kickstarter campaign, and need a platform for parallel computing, the Parallela boards do not seem available right now, but you can register on their website to be informed once they are up for sale again.

Wandboard Dual Benchmarks, Serial Console Fun, and Distributions List

June 11th, 2013 5 comments

Since last time I tried Android and Ubuntu on the Wandboard, a few things happened. I’m not talking about Wandboard Quad announcement, but instead I received a Class 10 SD card, which makes the system so much responsive, and a RS232 to USB adapter so that I can access the serial console. So today, I’ll publish some benchmark results on Wandboard Dual since none appear to be available, and play a little with the serial console. A few things also happened on the operating systems side with more distributions now available for the board.

Prerequisites

I ran benchmark in Android, so I installed the latest Android 4.1.2 image (11th of April 2012) to my new SD card (ADATA 16 GB Class 10), and contrary to my poor experience on a 4GB Class 4 micro SD, everything was very fluid. I’ve also installed Google Play in order to install the applications. To do so in any device, you need to download the latest version for your Android version from http://goo.im/gapps. In our case (Android 4.1.2), we need to download gapps-jb-20121011-signed.zip, extract it and copy the files in the micro SD card in a Linux PC:

In order to capture screenshots, I also had to root the device using the following steps from a Linux PC with Wandboard connected to the PC via its mini USB port:
At this point you should get a rooted image with a working Google Play on the Wandboard, the final step is to install superuser so that you can control which apps get root access.

Antutu and Quadrant Benchmarks on Wandboard Dual

The screen will rotate with both Antutu 3.3 and Quadrant benchmark, so they are performed in portrait mode. This is using full screen, so the results should still be valid for comparison. The board also overheated once during Antutu’s 3D Graphics benchmarks, and froze. A immediate reboot of the board showed the following message:

I turned the board around so that i.MX6 SoC can get better ventilation, and the benchmark could complete.
Wandboard Antutu

With 6190 points, Wandboard Dual performance is between Amazon Kindle Fire (TI OMAP4430) and Samsung Galaxy Nexus (TI OMAP4460), which seems about right. This also compares to 8516 points in Hi-802 (Freescale i.MX 6 Quad), with the quad version getting double the score for integer, over 50% more for RAM and floating-point tests. Surprisingly 3D graphics results are better in Wandboard Dual (1771) compared to Hi-802 (1272) in Antutu. This is an anomaly that could either be due to a different Android version (4.0 vs 4.1) and/or better drivers, or the orientation during the test really affects the results.

Wandboard_Quadrant

Quadrant benchmark places the device just below LG Optimus 2X (Nvidia Tegra 2) and Galaxy Nexus, so no surprises here.

Setting-up the Serial Console on Wandboard

Many boards provide access to the serial console via +3.3V TTL signals, so you can just connect a TTL to USB board. The Wandboard uses RS232 signals, so you’ll need a different type of debug board, or simply a null-modem cable if your computer features a DB-9 serial connector. Mine does not, so I bought a cheap RS232 to USB converter. Build quality is poor, but it does the job. At first, I thought I could just connect it directly to the Wandboard, but it also needs a null-modem cable, Since I don’t have one myself, I used three breadboard wires instead connecting Tx, Rx, and GND following the diagram below:

Source: Microtik

Source: Microtik

I only connected pin 2,3 and 5, and ignored the other connection which are not needed for our purpose. The picture below shows the end result. I just connect the RS232 to USB converter to a USB hub to access it from Linux or Windows.

Wandboard UART Connection

In Linux (Ubuntu 12.04), the converter is immediately recognized, and you can just access the serial port with minicom, after setting up 115200bps/8n1 connection to /dev/ttyUSB0. In Windows, you’ll need to install a driver either from the provided CDROM, or download CH341SER.zip.

For reference, here’s the boot log from Android 4.1.2:

U-Boot 2009.08 (Apr 11 2013 – 15:55:59)CPU: Freescale i.MX6 family TO1.1 at 792 MHz
Temperature: 67 C, calibration data 0x59952b5f
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 198000000Hz
emi_slow clock: 99000000Hz
ddr clock : 396000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6DL/Solo-WandBoard: unknown-board Board: 0x61011 [WDOG ]
Boot Device: SD
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2
*** Warning – bad CRC or MMC, using default environmentIn: serial
Out: serial
Err: serial
Gotr MAC = 00:1F:7B:B2:02:F4
Net: got MAC address from IIM: 00:1f:7b:b2:02:f4
FEC0 [PRIME]
Hit any key to stop autoboot: 0
kernel @ 10808000 (2289836)
ramdisk @ 11800000 (169948)
kernel cmdline:
use boot.img command line:
console=ttymxc0,115200 init=/init video=mxcfb0:dev=hdmi,[email protected],ifStarting kernel …

[ 0.000000] Linux version 3.0.35 ([email protected]) (gcc version 4.6.3
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Freescale i.MX 6DualLite/Solo Wandboard
[ 0.000000] EDWARD : ram console init at phys 0x3ff00000
[ 0.000000] EDWARD : GPU_Reserved Memory equals to 184549376
[ 0.000000] EDWARD : gpumem init at phys 0x15000000
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] CPU identified as i.MX6DL/SOLO, silicon rev 1.1
[ 0.000000] PERCPU: Embedded 7 pages/cpu @80f67000 s5696 r8192 d14784 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa0
[ 0.000000] Kernel command line: console=ttymxc0,115200 init=/init video=mxce
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 80MB 511MB 212MB = 803MB total
[ 0.000000] Memory: 805480k/805480k available, 243096k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 – 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xfbe00000 – 0xffe00000 ( 64 MB)
[ 0.000000] vmalloc : 0xc0800000 – 0xf2000000 ( 792 MB)
[ 0.000000] lowmem : 0x80000000 – 0xc0000000 (1024 MB)
[ 0.000000] pkmap : 0x7fe00000 – 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
[ 0.000000] .init : 0x80008000 – 0x80038000 ( 192 kB)
[ 0.000000] .text : 0x80038000 – 0x805de000 (5784 kB)
[ 0.000000] .data : 0x805de000 – 0x80620f80 ( 268 kB)
[ 0.000000] .bss : 0x80620fa4 – 0x8075ffe0 (1277 kB)
[ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, 1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:496
[ 0.000000] MXC GPIO hardware
[ 0.000000] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1s
[ 0.000000] Set periph_clk’s parent to pll2_pfd_400M!
[ 0.000000] arm_max_freq=2
[ 0.000000] MXC_Early serial console at MMIO 0x2020000 (options ‘115200’)
[ 0.000000] bootconsole [ttymxc0] enabled
[ 0.000000] Console: colour dummy device 80×30
[ 0.245885] Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
[ 0.334225] pid_max: default: 32768 minimum: 301
[ 0.339085] Mount-cache hash table entries: 512
[ 0.344360] CPU: Testing write buffer coherency: ok
[ 0.450152] CPU1: Booted secondary processor
[ 0.539562] Brought up 2 CPUs
[ 0.546824] SMP: Total of 2 processors activated (3162.11 BogoMIPS).
[ 0.571679] print_constraints: dummy:
[ 0.575671] NET: Registered protocol family 16
[ 0.584294] print_constraints: vddpu: 725 1300 mV at 700 mV fast normal
[ 0.591792] print_constraints: vddcore: 725 1300 mV at 1150 mV fast nor
[ 0.599531] print_constraints: vddsoc: 725 1300 mV at 1200 mV fast norm
[ 0.607166] print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast nor
[ 0.614921] print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast norm
[ 0.622591] print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast nor
[ 0.632723] ram_console: got buffer at 3ff00000, size 100000
[ 0.638535] ram_console: found existing buffer, size 35924, start 35924
[ 0.738384] console [ram-1] enabled
[ 0.853886] L310 cache controller enabled
[ 0.858092] l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02050000, Cache sB
[ 0.891189] bio: create slab at 0
[ 0.896073] print_constraints: VDDA: 2500 mV
[ 0.900747] print_constraints: VDDIO: 3300 mV
[ 0.906244] SCSI subsystem initialized
[ 0.910531] spi_imx imx6q-ecspi.0: probed
[ 0.914905] spi_imx imx6q-ecspi.1: probed
[ 0.921083] usbcore: registered new interface driver usbfs
[ 0.926918] usbcore: registered new interface driver hub
[ 0.932514] usbcore: registered new device driver usb
[ 0.937753] Freescale USB OTG Driver loaded, $Revision: 1.55 $
[ 0.959552] imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F)
[ 0.967929] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.975414] Bluetooth: Core ver 2.16
[ 0.979212] NET: Registered protocol family 31
[ 0.983777] Bluetooth: HCI device and connection manager initialized
[ 0.990329] Bluetooth: HCI socket layer initialized
[ 0.995311] Bluetooth: L2CAP socket layer initialized
[ 1.000555] Bluetooth: SCO socket layer initialized
[ 1.006009] cfg80211: Calling CRDA to update world regulatory domain
[ 1.013552] Switching to clocksource mxc_timer1
[ 1.031297] NET: Registered protocol family 2
[ 1.035969] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 1.044176] TCP established hash table entries: 131072 (order: 8, 1048576 by)
[ 1.054110] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 1.061942] TCP: Hash tables configured (established 131072 bind 65536)
[ 1.068925] TCP reno registered
[ 1.072178] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.078354] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.085163] NET: Registered protocol family 1
[ 1.089892] Unpacking initramfs…
[ 1.104517] Freeing initrd memory: 164K
[ 1.108540] _regulator_get: etb supply vcore not found, using dummy regulator
[ 1.116394] _regulator_get: etm.0 supply vcore not found, using dummy regular
[ 1.124000] _regulator_get: etm.1 supply vcore not found, using dummy regular
[ 1.131799] Static Power Management for Freescale i.MX6
[ 1.137211] wait mode is disabled for i.MX6
[ 1.141702] cpaddr = c0820000 suspend_iram_base=c08ac000
[ 1.147282] PM driver module loaded
[ 1.151249] IMX usb wakeup probe
[ 1.154662] the wakeup pdata is 0xba10d980
[ 1.159272] add wake up source irq 75
[ 1.166674] IMX usb wakeup probe
[ 1.170101] the wakeup pdata is 0xba10d380
[ 1.174498] cpu regulator init ldo=0
[ 1.178494] i.MXC CPU frequency driver
[ 1.193907] ashmem: initialized
[ 1.206930] NTFS driver 2.1.30 [Flags: R/O].
[ 1.211784] fuse init (API version 7.16)
[ 1.216175] msgmni has been set to 1573
[ 1.220878] NET: Registered protocol family 38
[ 1.225640] cryptodev: driver loaded.
[ 1.229435] io scheduler noop registered
[ 1.233445] io scheduler deadline registered
[ 1.237941] io scheduler cfq registered (default)
[ 1.243863] mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
[ 1.250576] mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
[ 1.257649] fbcvt: 1280×[email protected]: CVT Name – .921M9
[ 1.328272] imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2)
[ 1.339386] imx-sdma imx-sdma: loaded firmware 1.1
[ 1.348667] imx-sdma imx-sdma: initialized
[ 1.353209] Serial: IMX driver
[ 1.356501] imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
[ 1.363098] console [ttymxc0] enabled, bootconsole disabled
[ 1.363098] console [ttymxc0] enabled, bootconsole disabled
[ 1.374893] imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
[ 1.382337] ion: failed to create debug files.
[ 1.390269] loop: module loaded
[ 1.393806] FEC Ethernet Driver
[ 1.399457] fec_enet_mii_bus: probed
[ 1.404138] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 1.410914] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[ 1.417758] fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number1
[ 1.445550] fbcvt: 1280×[email protected]: CVT Name – .921M9
[ 1.458239] fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
[ 1.478225] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
[ 1.478840] hub 1-0:1.0: USB hub found
[ 1.478859] hub 1-0:1.0: 1 port detected
[ 1.479061] add wake up source irq 72
[ 1.479108] fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
[ 1.479146] fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number2
[ 1.508239] fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
[ 1.568231] fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
[ 1.568751] hub 2-0:1.0: USB hub found
[ 1.568769] hub 2-0:1.0: 1 port detected
[ 1.569014] Initializing USB Mass Storage driver…
[ 1.569191] usbcore: registered new interface driver usb-storage
[ 1.569200] USB Mass Storage support registered.
[ 1.569207] ARC USBOTG Device Controller driver (1 August 2005)
[ 1.571543] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 1.571554] android_usb gadget: Number of LUNs=1
[ 1.571563] lun0: LUN: removable file: (no medium)
[ 1.571976] Gadget Android: controller ‘fsl-usb2-udc’ not recognized
[ 1.571992] android_usb gadget: android_usb ready
[ 1.571998] Suspend udc for OTG auto detect
[ 1.572011] USB Host suspend begins
[ 1.572017] will suspend roothub and its children
[ 1.572034] ehci_fsl_bus_suspend begins, DR
[ 1.572055] ehci_fsl_bus_suspend ends, DR
[ 1.572069] host suspend ends
[ 1.572079] USB Gadget resume begins
[ 1.572085] fsl_udc_resume, Wait for wakeup thread finishes
[ 1.588243] dr_controller_run: udc enter low power mode
[ 1.588257] USB Gadget resume ends
[ 1.588264] fsl-usb2-udc: bind to driver android_usb
[ 1.588623] mousedev: PS/2 mouse device common for all mice
[ 1.589446] i2c /dev entries driver
[ 1.590367] imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s ()
[ 1.590500] Bluetooth: Virtual HCI driver ver 1.3
[ 1.590665] Bluetooth: HCI UART driver ver 2.2
[ 1.590674] Bluetooth: HCI H4 protocol initialized
[ 1.590682] Bluetooth: Generic Bluetooth USB driver ver 0.6
[ 1.590838] usbcore: registered new interface driver btusb
[ 1.591034] cpuidle: using governor ladder
[ 1.591042] cpuidle: using governor menu
[ 1.591155] sdhci: Secure Digital Host Controller Interface driver
[ 1.591163] sdhci: Copyright(c) Pierre Ossman
[ 1.591279] _regulator_get: sdhci-esdhc-imx.2 supply vmmc not found, using dr
[ 1.591529] mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using ADMA
[ 1.592600] _regulator_get: sdhci-esdhc-imx.1 supply vmmc not found, using dr
[ 1.594892] mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA
[ 1.594949] sdhci sdhci-esdhc-imx.0: no write-protect pin available!
[ 1.595985] _regulator_get: sdhci-esdhc-imx.0 supply vmmc not found, using dr
[ 1.598163] mmc2: SDHCI controller on platform [sdhci-esdhc-imx.0] using ADMA
[ 1.599163] VPU initialized
[ 1.600129] mxc_asrc registered
[ 1.613568] revserved_memory_account:viv_gpu registerd
[ 1.614174] Thermal calibration data is 0x59952b5f
[ 1.628463] Anatop Thermal registered as thermal_zone0
[ 1.628628] anatop_thermal_probe: default cooling device is cpufreq!
[ 1.651107] usbcore: registered new interface driver usbhid
[ 1.651115] usbhid: USB HID core driver
[ 1.653535] logger: created 256K log ‘log_main’
[ 1.655731] logger: created 256K log ‘log_events’
[ 1.655910] logger: created 256K log ‘log_radio’
[ 1.658127] logger: created 256K log ‘log_system’
[ 1.661501] zram: num_devices not specified. Using default: 1
[ 1.661510] zram: Creating 1 devices …
[ 1.662414] usbcore: registered new interface driver snd-usb-audio
[ 1.662976] mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
[ 1.663145] mxc_spdif mxc_spdif.0: MXC SPDIF Audio
[ 1.665520] _regulator_get: 1-000a supply VDDD not found, using dummy regular
[ 1.665836] sgtl5000 1-000a: sgtl5000 revision 17
[ 1.666016] print_constraints: 1-000a: 850 1600 mV at 1200 mV normal
[ 1.732249] asoc: sgtl5000 imx-ssi.1 mapping ok
[ 1.745029] asoc: mxc-spdif imx-spdif-dai.0 mapping ok
[ 1.758656] asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
[ 1.763333] ALSA device list:
[ 1.763341] #0: sgtl5000-audio
[ 1.763347] #1: imx-spdif
[ 1.763352] #2: imx-hdmi-soc
[ 1.763489] GACT probability NOT on
[ 1.763502] Mirror/redirect action on
[ 1.763510] u32 classifier
[ 1.763514] Actions configured
[ 1.763522] Netfilter messages via NETLINK v0.30.
[ 1.763571] nf_conntrack version 0.5.0 (12588 buckets, 50352 max)
[ 1.764463] ctnetlink v0.93: registering with nfnetlink.
[ 1.764503] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[ 1.764511] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[ 1.765241] xt_time: kernel timezone is -0000
[ 1.765954] IPv4 over IPv4 tunneling driver
[ 1.767126] GRE over IPv4 demultiplexor driver
[ 1.767807] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.767945] arp_tables: (C) 2002 David S. Miller
[ 1.767996] TCP cubic registered
[ 1.769282] NET: Registered protocol family 10
[ 1.773276] Mobile IPv6
[ 1.773312] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 1.773536] IPv6 over IPv4 tunneling driver
[ 1.778363] NET: Registered protocol family 17
[ 1.778408] NET: Registered protocol family 15
[ 1.796703] Bluetooth: RFCOMM TTY layer initialized
[ 1.796714] Bluetooth: RFCOMM socket layer initialized
[ 1.796722] Bluetooth: RFCOMM ver 1.11
[ 1.796730] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1.796737] Bluetooth: BNEP filters: protocol multicast
[ 1.796746] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 1.796882] mmc0: new high speed SDHC card at address 59b4
[ 1.797072] L2TP core driver, V2.0
[ 1.797080] L2TP IP encapsulation support (L2TPv3)
[ 1.797510] mmcblk0: mmc0:59b4 SD 14.7 GiB
[ 1.797717] L2TP netlink interface
[ 1.797743] L2TP ethernet pseudowire support (L2TPv3)
[ 1.797751] lib80211: common routines for IEEE802.11 drivers
[ 1.797760] lib80211_crypt: registered algorithm ‘NULL’
[ 1.797767] VFP support v0.3: implementor 41 architecture 3 part 30 variant 4
[ 1.882447] ThumbEE CPU extension supported.
[ 1.887281] Bus freq driver module loaded
[ 1.887291] Bus freq driver Enabled
[ 1.887358] mxc_dvfs_core_probe
[ 1.887565] DVFS driver module loaded
[ 1.892653] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 1.913882] mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 > p4
[ 2.188839] Freeing init memory: 192K
[ 4.311415] init: cannot find ‘/system/etc/install-recovery.sh’, disabling ”
[ 4.333127] android_usb: already disabled
[ 4.337524] mtp_bind_config
[ 4.340602] adb_bind_config
[ 4.345090] adb_open
[email protected]:/ #

and a Yocto based image with XFCE:

U-Boot 2013.04-rc2-00847-gdebad5d (Apr 11 2013 – 13:47:03)CPU: Freescale i.MX6DL rev1.1 at 792 MHz
Reset cause: POR
Board: Wandboard
DRAM: 1 GiB
MMC: FSL_SDHC: 0
*** Warning – bad CRC, using default environmentIn: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Warning: FEC using MAC address from net deviceHit any key to stop autoboot: 0
mmc0 is current device
reading boot.scr
** Unable to read file boot.scr **
reading uImage
3938036 bytes read in 183 ms (20.5 MiB/s)
Booting from mmc …
reading imx6dl-wandboard.dtb
** Unable to read file imx6dl-wandboard.dtb **
## Booting kernel from Legacy Image at 12000000 …
Image Name: Linux-3.0.35-wandboard+yocto+g64
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3937972 Bytes = 3.8 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Linux version 3.0.35-wandboard+yocto+g64fee2d ([email protected]
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Wandboard
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6DL/SOLO, silicon rev 1.1
PERCPU: Embedded 7 pages/cpu @8135d000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 215040
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 80MB 768MB = 848MB total
Memory: 847672k/847672k available, 200904k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
DMA : 0xfbe00000 – 0xffe00000 ( 64 MB)
vmalloc : 0xc0800000 – 0xf2000000 ( 792 MB)
lowmem : 0x80000000 – 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 – 0x80000000 ( 2 MB)
modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
.init : 0x80008000 – 0x80038000 ( 192 kB)
.text : 0x80038000 – 0x80aaedc4 (10716 kB)
.data : 0x80ab0000 – 0x80b05860 ( 343 kB)
.bss : 0x80b05884 – 0x80b559a0 ( 321 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
Set periph_clk’s parent to pll2_pfd_400M!
arm_max_freq=2
MXC_Early serial console at MMIO 0x2020000 (options ‘115200’)
bootconsole [ttymxc0] enabled
Console: colour dummy device 80×30
Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
Brought up 2 CPUs
SMP: Total of 2 processors activated (3162.11 BogoMIPS).
devtmpfs: initialized
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 1300 mV at 1150 mV fast normal
print_constraints: vddcore: 725 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast normal
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02050000, Cache size: 524288 B
bio: create slab at 0
mxs-dma mxs-dma-apbh: initialized
print_constraints: VDDA: 2500 mV
print_constraints: VDDIO: 3300 mV
vgaarb: loaded
SCSI subsystem initialized
spi_imx imx6q-ecspi.0: probed
spi_imx imx6q-ecspi.1: probed
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Static Power Management for Freescale i.MX6
wait mode is disabled for i.MX6
cpaddr = c0820000 suspend_iram_base=c0890000
PM driver module loaded
IMX PCIe port: link down with power supply 0!
IMX usb wakeup probe
IMX usb wakeup probe
cpu regulator init ldo=0
i.MXC CPU frequency driver
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 1655
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
MIPI DSI driver module loaded
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
Console: switching to colour frame buffer device 240×67
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
loop: module loaded
GPMI NAND driver registered. (IMX)
vcan: Virtual CAN interface driver
CAN device driver interface
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 75
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
i2c /dev entries driver
Linux video capture interface: v2.00
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: no vmmc regulator found
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using ADMA
mmc1: no vmmc regulator found
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA
sdhci sdhci-esdhc-imx.0: no write-protect pin available!
mmc2: no vmmc regulator found
mmc2: SDHCI controller on platform [sdhci-esdhc-imx.0] using ADMA
VPU initialized
mxc_asrc registered
Thermal calibration data is 0x59952b5f
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
mxc_spdif mxc_spdif.0: MXC SPDIF Audio
sgtl5000 1-000a: Failed to get supply ‘VDDD’: -19
print_constraints: 1-000a: 850 1600 mV at 1200 mV normal
sgtl5000 1-000a: sgtl5000 revision 17
usb 1-1: new full speed USB device number 2 using fsl-ehci
mmc0: new high speed SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3.63 GiB
mmcblk0: p1 p2
asoc: sgtl5000 imx-ssi.1 mapping ok
asoc: mxc-spdif imx-spdif-dai.0 mapping ok
asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
ALSA device list:
#0: sgtl5000-audio
#1: imx-spdif
#2: imx-hdmi-soc
NET: Registered protocol family 26
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Bus freq driver module loaded
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
EXT3-fs: barriers not enabled
input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/usb1/1-1/1-1:1.0
generic-usb 0003:1915:AF11.0001: input,hidraw0: USB HID v1.11 Keyboard [2.4G W0
mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/usb1/1-1/1-1:1.1
generic-usb 0003:1915:AF11.0002: input,hidraw1: USB HID v1.11 Mouse [2.4G Wire1
mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
mmc1: queuing unknown CIS tuple 0x80 (4 bytes)
generic-usb 0003:1915:AF11.0003: hidraw2: USB HID v1.11 Device [2.4G Wireless 2
mmc1: queuing unknown CIS tuple 0x02 (1 bytes)
mmc1: new SDIO card at address 0001
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing init memory: 192K
INIT: version 2.88 booting
Starting udev
udevd[82]: starting version 182
Starting Bootlog daemon: bootlogd.
ALSA: Restoring mixer settings…
No state is present for card sgtl5000audio
Found hardware: “sgtl5000-audio” “” “” “” “”
Hardware is initialized using a generic method
Configuring network interfaces… No state is present for card sgtl5000audio
No state is present for card imxspdif
Found hardware: “imx-spdif” “” “” “” “”
Hardware is initialized using a generic method
No state is present for card imxspdif
No state is present for card imxhdmisoc
Found hardware: “imx-hdmi-soc” “” “” “” “”
Hardware is initialized using a generic method
No state is present for card imxhdmisoc
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:01, irq=-1)
udhcpc (v1.20.2) started
Sending discover…
PHY: 1:01 – Link is Up – 100/Full
Sending discover…
Sending select for 192.168.0.109…
Lease of 192.168.0.109 obtained, lease time 7200
/etc/udhcpc.d/50default: Adding DNS 192.168.0.1
done.
Starting rpcbind daemon…rpcbind: cannot create socket for udp6
rpcbind: cannot create socket for tcp6
done.
hwclock: can’t open ‘/dev/misc/rtc’: No such file or directory
Fri Apr 12 13:14:00 UTC 2013
hwclock: can’t open ‘/dev/misc/rtc’: No such file or directory
INIT: Entering runlevel: 5
Starting Xserver
Starting system message bus: dbus.
Starting advanced power management daemon: apmd.
apmd[460]: apmd 3.2.1 interfacing with apm driver 1.13 and APM BIOS 1.2
hwclock: can’t open ‘/dev/misc/rtc’: No such file or directory
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
…fail!
Starting Telephony daemon
Starting Linux NFC daemon
imx-audio: setting default mixer settings.
amixer: Unable to find simple control ‘Playback’,0

Running local boot scripts (/etc/rc.local).
Stopping Bootlog daemon: bootlogd.

Poky 8.0 (Yocto Project 1.3 Reference Distro) 1.3+snapshot-20130412 wandboard-d0

wandboard-dual login:

Images, BSPs, and Source Code for Wandboard Solo/Dual/Quad

Software support, although not 100% perfect, appears to be now much better than before, both in terms of stability and features, and the number of available images.

As of writing, Wandboard provide 2 Android images on their download page:

  • Android 4.2.2 Preview – Android 4.2 will become the official image, but this currently very much work in progress with no Bluetooth, limited UVC camera support, and probably quite a few bugs. The image is available for both Wandboard Dual and Quad. Source is not available yet, but soon will be.
  • Android 4.1.2 – Current somewhat stable image for Wandboard Dual and Solo. Source is available for download as a tarball, and via their git repo.

Linux kernel source is available as a tarball or via Wandbaord’s git repository. Several Linux based distributions  and BSP are now available:

  • Ubuntu 11.10 – For Wandboard Solo/Dual and Quad with GPU hardware acceleration, and VPU video decoding.
  • Freescale Yocto BSP – Wandboard Solo and Dual are officially part of Freescale i.MX6 Yocto BSP. You can build it yourself, or download some prebuilt image such as the one with xfce desktop environment
  • Buildroot – Buildroot for Wandboard Dual can be built. Most features seem included, but gstreamer appears to be missing.
  • Ubuntu 13.04 / Debian 7 – There are instructions to retrieve minimal rootfs for those 2 distributions on Wandboard Wiki, but those probably do not support GPU / VPU.
  • Community Squeeze OS – You may have never heard of that one, I hadn’t. CSOS, based on Fedora 18, is used by the “Community Squeeze Player project”, a network music player, similar to Logitech Squeezebox The image is only available for Wandboard Dual for now. Visit slimdevices forums for details.

Wandboard is also part of mainline U-Boot, so you can just get the source from DENX, build it for Wandboard, and put it on your board.  There’s also some work to get Wandboard into Linux mainline, but I’m not really sure about the status.