Open main menu

DAVE Developer's Wiki β

Changes

Software Manual (Diva)

1,285 bytes added, 16:59, 23 February 2021
Support service
{{Applies To Diva}}
{{InfoBoxBottom}}
 
{{WarningMessage|text=The following information are valid for <b>DIVELK</b> version up to release <b>2.2.0</b>}}
= Introduction =
* build system (on development host)
== Diva DIVA Embedded Linux Kit: what is it? ==
[[File:Divelk_01.png|500px]]
Diva DIVA Embedded Linux Kit (DIVELK for short) provides all the necessary components required to set up the developing environment to:
* build the bootloader (U-Boot)
* build and run Linux operating system on DivaDIVA-based systems
* build Linux applications that will run on the target.
The kit is composed of:
* hardware platform composed by Diva DIVA system-on-module (SOM for short) and carrier board. Supported carrier boards are:** DivaEVBDIVAEVB-Lite standalone** DivaEVBDIVAEVB-Lite plugged on Dacu carrier board
* U-Boot bootloader sources
* Linux kernel sources
* Technical documentation such hardware manuals, mechanical drawings, reference schematics, application notes etc.
The documents related to the software issues help the user to quickly start configuring the bootloader and the operating system, by hiding most of the complexity of the underlying hardware. For more details about Diva DIVA hardware characteristics, please refer to the Diva DIVA Hardware Manual. An account for the reserved area of [http://www.dave.eu DAVE's website] is required to access the kit contents.
== Diva DIVA Embedded Linux Kit: what is not? ==
The kit is neither a complete Linux programming guide nor a Linux Reference Guide. Internet provides lots of information, tutorials and examples about writing applications and drivers for this operating system and how to work with it from the user's point of view (for example, type “Linux programming” in your favorite search engine). As the kit is heavily based on open-source community-maintained software projects, DIVELK does not provide exhaustive documentation for these software components but it points out where to find the information on the Internet or books. For example, for the U-Boot bootloader, the kit does not list all the commands it handles but provides the link to the on-line documentation and to the public mailing list used by its community.
== About this manual ==
This document describes how to run Linux on the DivaDIVA/DivaEVBDIVAEVB-Lite/Carrier-board system and how to work with '''DIVELK version 2.0.0'''and above. For novice users who have no experience at all about embedded Linux systems, reading of [http://shop.oreilly.com/product/9780596002220.do Building Embedded Linux Systems By Karim Yaghmour] is strongly recommended. Practically speaking, the book covers all matters involved in developing software for such systems (from tool-chain organization to the most famous file systems running on top of MTD). It is not a reference guide, but it provides a complete and exhaustive overview that helps the developer save a lot of time in searching for such information on the Internet. For a brief but still exhaustive overview of the Linux and Embedded Linux world, please look at the Training and Docs sections of [http://free-electrons.com Free Electrons website].
== Support service ==
We are committed to making our products user-friendly and will help customers use our CPU modules in their systems. Technical support is delivered through email. Support requests can be sent to [mailto:support-divahelpdesk@dave.eu support-divahelpdesk@dave.eu]. Software upgrades are available in the restricted download area of '''DAVE Embedded Systems''' web sitegit server: http://www<code>git@git.dave.eu</reserved-area. code> An account is required to access this area (please contact [mailto:support-divahelpdesk@dave.eu support-divahelpdesk@dave.eu] for account requests). 
Please refer to our Web site at http://www.dave.eu/dave-cpu-module-am335x-diva.html for the latest product documents, utilities, drivers, Product Change Notices, Board Support Packages, Application Notes, mechanical drawings and additional tools and software.
== Components ==
=== Diva DIVA SOM ===
[[File:Diva-400.png|300px]]
The heart of Diva DIVA SOM is Texas Instruments "Sitara" [http://www.ti.com/lsds/ti/arm/sitara_arm_cortex_a_processor/sitara_arm_cortex_a8/am335x_arm_cortex_a8/products.page?paramCriteria=no AM335x microprocessors]. From a software point of view, Texas Instruments supports this processor family through so-called Linux EZ AM Software Development Kit (EZSDK AMSDK for short). EZSDK AMSDK releases are published on a regular basis. For more details please refer to:
* http://www.ti.com/tool/linuxezsdk-sitara
* http://processors.wiki.ti.com/index.php/Category:EZSDK
Diva DIVA Embedded Linux Kit, in turn, is directly derived from EZSDKAMSDK. Hence DIVELK documentation often refers to EZSDK AMSDK resources.
=== Carrier boards ===
==== DivaEVBDIVAEVB-Lite ====
DivaEVBDIVAEVB-Lite is an adapter board designed to evaluate the functions of Diva DIVA system-on-module.
[[File:Diva-evb-with-som.png|300px]]
For further information on the DivaEVBDIVAEVB-Lite, please refer to [[DivaEVB-Lite]]
The following figure shows the carrier board block diagram:
==== Dacu ====
DivaEVBDIVAEVB-Lite can be plugged on the Dacu carrier board to extend the set of available interfaces.
[[File:Diva divaevb dacu.png|450px]]
# the root file system – this file system is mounted (which means "made available", "attached") by the kernel during the boot process on the root directory (“/”).
The typical developing environment for an Embedded Linux system is composed of a host machine and a target machine. The host is used by the developer to compile the code that will run on the target. In our case the target is obviously the Diva DIVA module, while the host is assumed to be a PC running the Linux operating system. The Linux kernel running on the target can mount the root file system from different physical media. During the software development, we strongly recommend using a directory exported via NFS by the host for this purpose (see the example configuration called [[Booting_Linux_Kernel#Configuration_net_nfs | net_nfs]]).
Please note that DIVELK u-boot and kernel source trees are derived from the official trees released by TI; these trees have been customized to add support for the Diva DIVA SOM.
For further information on EZSDKAMSDK, please refer to [http://processors.wiki.ti.com/index.php/Sitara_SDK_5.06.00_Release_Notes Sitara SDK release notes].
==== DIVELK software components ====
'''DAVE Embedded Systems''' adds to the latest EZSDK AMSDK from Texas Instruments the customization required to support the Diva DIVA platform. For this reason most of the documentation provided by TI remains valid for the DIVELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.
The following [[Diva_Embedded_Linux_Kit_(DIVELK)#DIVELK_software_components | Please refer to this table shows how DIVELK releases are related to EZSDK AMSDK releases.{| class="wikitable" !!colspan="2" | DIVELK version|-|Release number|1.0.0|2.0.0|-|Status|Released|Work in progress|-|Release date|June 2013|August 2014|-|'''Release notes'''|[[Software_Manual_(Diva)#DIVELK_1.0.0 | Ver 1.0.0]]| -|-|SOM PCB version|CS133012A|CS133012A|-|Supported carrier boards|[[DivaEVB-Lite]]<br>[[:Category:Dacu | Dacu]]|[[DivaEVB-Lite]]<br>[[:Category:Dacu | Dacu]]|-|U-Boot version|2012.10-divelk-1.0.0|2012.10-divelk-2.0.0|-|Linux version|3.2.0-divelk-1.0.0|3.12.10-divelk-2.0.0|- |Drivers|valign="top" | SPI NOR Flash (boot)<br>NAND 8 bit (boot)<br>UART0 (2-wire)<br>USB Host<br>SD/MMC1<br>GPIO<br>LCD<br>Touch screen controller<br>EMAC0 RMII (Fast Ethernet)<br>PMIC RTC (battery powered)<br>Audio (ALSA)|valign="top" | SPI NOR Flash (boot)<br>NAND 8 bit (boot)<br>UART0 (2-wire)<br>USB Host<br>SD/MMC1<br>GPIO<br>LCD<br>Touch screen controller<br>EMAC0 RMII (Fast Ethernet)<br>PMIC RTC (battery powered)<br>Audio (ALSA)<br>USB OTG<br>CAN<br>ADC|-|TI EZSDK|05.06.00.00|07.00.00.00|-|Build System| -|Yocto Dylan (1.4)|-|}
=== DIVELK Updates ===
|Yocto BSP
|git@git.dave.eu:dave/diva/diva-bsp.git
|Please refer to [[Software_Manual_(Diva)#Building the software components with Yocto | Building the software components with Yocto]]
|-
|}
* start a shell session
* enter the .ssh subdirectory into your home directory: <code>cd ~/.ssh/</code>
* launch the following command: <br><pre>ssh-keygen -t rsa -C "username@myhost.com"-f username@myhost.com</pre>
* this command creates the files <code>~/.ssh/username@myhost.com</code> ('''private key''') and <code>~/.ssh/username@myhost.com.pub</code> ('''public key''')
* edit your <code>~/.ssh/config</code> adding the following lines:
== Release notes ==
'''N.B.''' '''Customers who want to update from DIVELK 1.0.0 to DIVELK 2.0.0 can send an email Please refer to [mailtohttps:support-diva@dave//wiki.eu support-diva@dave.eu]'''/index=== php/Diva_Embedded_Linux_Kit_(DIVELK 2.0.0 === * Release date: October 2014* Status: Work in progress* EZSDK version: 07.00.00.00* Supported carrier boards: DivaEVB-Lite, Dacu ==== Notes ==== * First major update* Added Yocto support* Updated kernel and u-boot versions* Bug fixes  === )#Release_notes this page] for DIVELK 1.0.0 === * Release date: June 2013* Status: released* EZSDK version: 05.06.00.00* Supported carrier boards: DivaEVB-Lite, Dacu ==== Notes ==== * First official release
= Developing environment =
[[File:Development env.png]]
The typical developing environment for an Embedded Linux system is composed of a host machine and a target machine. The host is used by the developer to (cross-)compile the code that is to run on the target. In our case the target is the Diva DIVA CPU module, while the host is assumed to be a PC running the Linux operating system, either in a physical installation or as a virtual machine. The bootloader running on the target can download the Linux kernel image through the network ([http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol TFTP]), as well as the u-boot binary images (useful when an update of the bootloader is required). Moreover, the Linux kernel running on the target is able to mount the root file system from different physical media, for example from a directory exported via [http://en.wikipedia.org/wiki/Network_File_System Network File System (NFS)] by the host. This strategy (kernel image and RFS retrieved from the network) saves time during the development phase, since no flash reprogramming or removable storage (SD, usb pen drives, external disks) is required to test new versions or updates of the software components.
== Software components ==
For further information on Linux for TI processors, please refer to http://processors.wiki.ti.com/index.php/Category:Linux
 
==== Linux Device Tree ====
The Flattened Device Tree (FDT) is a data structure for describing the hardware in a system (for further information, please refer to http://elinux.org/Device_Tree). Device tree source code is stored into the arch/arm/boot/dts/ directory.
=== Target root file system ===
* VirtualBox virtual machine (.OVA archive)
* Based on Ubuntu Lubuntu 12.04 LTS(64-bit version)
* Pre-installed VirtualBox Guest Additions
* Multiple LXDE desktop environment available:** Unity (Ubuntu)** LXDE (Lubuntu)* Boot disk with pre-installed Ubuntu/Lubuntu Linux 12.04.2 LTS the distro and pre-configured basic Linux services:** TFTP: with base directory /srv/tftp/(please refer to [[VirtualBox_Network_Configuration]])** NFS: configured through the /etc/exports file(please refer to [[VirtualBox_Network_Configuration]])
* Secondary disk containing source code and tools:
** Bootloader (u-boot) source tree cloned from DAVE Embedded Systems public git repository
** External pre-built toolchain
** Yocto bsp for DIVA
* Pre-installed Yocto-based root file system systems with setup scripts, makefiles, example applications, ...
* Administrator account (dvdk) with autologin. Please note that the user account credentials are provided with the development kit (you can find them into the README file contained in the sw/dvdk folder of the kit distribution)
* DIVELK root file system partition (mmcblk0p2, ext3)
DIVELK contains all the required software and documentation to start developing Linux application on the Diva DIVA platform. In particular, DIVELK provides a Virtualbox virtual machine with two emulated disks: * Boot disk with pre-installed Ubuntu Linux 12.04.2 LTS and pre-configured basic Linux services (TFTP, NFS, ...) * Secondary disk containing source code and tools:** Bootloader (u-boot) source tree cloned from '''DAVE Embedded Systems''' public git repository ** Linux kernel source tree cloned from '''DAVE Embedded Systems''' public git repository** Toolchain
=== Importing the Virtual Machine ===
# When the boot process is completed, you can login into the Ubuntu system with the credentials provided with the development kit (you can find them into the '''README''' file contained in the '''dvdk''' folder of the kit distribution)
# Mount the sdk disk launching the sdk-mount.sh script contained into /home/dvdk directory as shown on the image below:<br><br>[[File:divelk-dvdk-sdk-mount.png|600px]]<br><br>
 
<pre>
dvdk@dvdk:~$ sh sdk-mount.sh divelk
[sudo] password for dvdk:
dvdk@dvdk:~$
</pre>
The divelk directory contains the following subdirectories:
* gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linuxyocto: the Yocto SDK installation directory (containing the cross-toolchain. GNU Compiler Collection (GCC) version is 4.7.3
* linux-am33x: the Linux source tree
* u-boot-am33x: the U-Boot source tree
<pre>
export PATH=source ~/divelk/gccyocto/sdk/diva-linaroqt5/environment-arm-linux-gnueabihfsetupexport LDFLAGS=-L${PKG_CONFIG_SYSROOT_DIR}/usr/lib/4.7-2013.03-20130313_linux/bin:$PATH3export CFLAGS=""export CPPFLAGS=""export CXXFLAGS=""export CPATH=""
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
==== NFS Server ====
To start developing software for One of the DIVA platform, users need most important components of a proper toolchain, which Linux system is the root file system. A good development root file system provides the developer with all the useful tools that can be pre-built or built-from-scratchhelp developers on their work. Building Such a toolchain root file system can become very big in size, so it's hard to store it in flash memory. User could split the file system in different parts, mounting them from scratch different media (flash, network, usb...). But the most convenient thing is not a trivial task to mount the whole root file system from the network, allowing the host system and the target to share the same files. In this way, developers can quickly modify the root file system, even “on the fly” (though using meaning that the file system can be modified while the system is running). The most common way to setup a recent build system like the one described is easier than in the pastthrough NFS (Network File System). As for TFTP, so installation and configuration depends on the recommended approach consists in using a pre-built toolchainhost Linux distribution.DIVELK provides The default DVDK NFS installation is configured for sharing <code>/home/dvdk/divelk</code> directory and all the Linaro gnueabihf-4subdirectories.7-2013.03 toolchain (GCC version is 4.7.3) We recommend reading the [[VirtualBox_Network_Configuration]] page for additional details on the DVDK networking configuration and on how to enable NFS.
==== Pre-built toolchain ====
To start developing software for the Diva DIVA platform, users need a proper toolchain, which can be pre-built or built-from-scratch. Building a toolchain from scratch is not a trivial task (though using a recent build system is easier than in the past), so the recommended approach consists in using a pre-built toolchain.
DIVELK provides the aragoLinaro gnueabihf-20124.7-2013.10 03 toolchain (GCC version is 4.57.3).
==== Pre-built root file system ====
For more information on the Linux filesystem, please refer to [http://www.freeos.com/articles/3102/ The Linux filesystem explained]
DIVELK provides a pre-built root file systemsystems, that can be used during the evaluation/development phase, since it provides a rich set of they contains the software packages for working with the Diva DIVA platform. However, there are other pre-built file systems that can be used:
* Arago (httpDIVELK root file systems are built with the Yocto build system and are stored into the following directories://arago-project.org/files/releases/)* Angstrom/Narcissus (http://www.angstrom-distribution.org/narcissus/)* Beaglebone (http://www.angstrom-distribution.org/demo/beaglebone/)
DIVELK root file systems are stored into the following directories:* /home/dvdk/divelk/rfs/diva-base* /home/dvdk/divelk/rfs/aragodiva-basematrix* /home/dvdk/divelk/rfs/tisdkdiva-qt5
== Building the software components with Yocto ==
These packages can be installed with the following command:
<pre>
sudo apt-get install git curl build-essential diffstat texinfo gawk chrpath ia32-libs python-m2crypto
</pre>
=== Initializing the build environment ===
In the DIVELK, we have simplified the Yocto initialization phase, relying on the repo tool and on a Diva DIVA bsp git repository, so that the initialization can be completed with a few commands as reported below:
<pre>
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > repo
$ chmod +x repo
$ ./repo init -u /home/shared/devel/git@git.dave.eu:dave/diva-DDx/sw/linux/yocto/diva-bsp.git -b diva-dev-dylan
$ ./repo sync
</pre>
=== Building the Yocto image ===
 
Please note that even building the basic root file system requires a few hours to complete the process on a mid-hi range desktop PC (4-6 cores, 8-12 GiB RAM), also depending on the Internet connection speed (all source are fetched from the network). Nearly 20GiB of disk space is required for the build. Moreover, building inside the DVDK adds some overhead, since the performances of a virtual machine are reduced if compared to the physical hardware. Thus, it's recommended to check the hardware capabilities of the host system and, when building with Yocto is required, developers should consider the following options:
 
* migrating the build system to a physical machine
* assuming that the host system has the required resources, extending the hardware capabilities of the default DVDK (eg: adding more cores and disk space)
Once completed the initialization phase, developers can launch the Yocto image build process with the following commands:
 
<pre>
$ cd ~/divelk/diva-bsp
* qt5-rootfs-image (root file system with Qt 5.1.1 libraries and examples)
* base-rootfs-image (minimal root file system)
 
The resulting files (kernel, device tree and u-boot binaries, plus root file system in a .tar.gz archive) will then be available inside the build/tmp/deploy/images/diva directory.
== 4.4 Building the software components outside Yocto ==
=== Build/configure Linux kernel ===
Enter the Linux sources directory (''~/diva/divelk/linux-am33x.git'') and run the following commands:
<pre>
dvdk@dvdk-vm:~/diva/divelk/linux-am33x.git$ make diva_defconfigdvdk@dvdk-vm:~/diva/divelk/linux-am33x.git$ make uImageam335x-divelk.dtb
</pre>
The former command selects the default Diva DIVA configuration, while the latter builds the kernel binary image with the required u-boot headerand the dtb binary.
Default linux kernel configuration can be changed by using the standard ''menuconfig'', ''xconfig'', ''gconfig'' make target.
Subsequent builds just require ''uImage'' make target to update the binary image.
Once the build process is complete, the kernel binary image is stored into the <code>arch/arm/boot/uImage</code> file, while the dtb is stored into the <code>linux-am33x/arch/arm/boot/dts/am335x-divelk. This dtb</code> file . These files can be copied to the <code>/srv/tftp/divelk/</code> directory with the following commandcommands:
<pre>
dvdk@dvdk-vm:~/divadivelk/linux-am33x$ sudo cp arch/arm/boot/uImage /srv/tftp/divelk/dvdk@dvdk-vm:~/divelk/linux-am33x.git$ sudo cp arch/arm/boot/uImage dts/am335x-divelk.dtb /srv/tftp/divelk/
</pre>
=== Build/configure U-Boot only ===
Enter the U-Boot sources directory (''~/diva/divelk/u-boot-am33x.git'') and run the following commands:
<pre>
dvdk@dvdk-vm:~/diva/divelk/u-boot-am33x.git$ make diva_spibootdvdk@dvdk-vm:~/diva/divelk/u-boot-am33x.git$ make
</pre>
The former command selects the default Diva DIVA configuration which is used to boot from SPI NOR Flash, while the latter builds the u-boot binary images.
Subsequent builds just require ''make'' command, without targets, to update the binary images.
<pre>
dvdk@dvdk-vm:~/diva/divelk/linuxu-boot-am33x.git$ sudo cp MLO MLO.byteswap u-boot.img /srv/tftp/divelk/
</pre>
$ arm-none-linux-gnueabi-gcc -o hello hello.c
</pre>
Copy the executable file to the root file system, and execute it from the Diva DIVA system:
<pre>
root@diva:~#./hello
Hello world
</pre>
 
=== Build the graphics components ===
 
<strike>AM335x processors provide a PowerVR SGX530 2D/3D graphics accelerator (SGX). This subsystem accelerates 2-dimensional (2D) and 3-dimensional (3D) graphics applications. The SGX subsystem is based on the POWERVR® SGX core from Imagination Technologies. SGX is a new generation of programmable POWERVR graphic cores. The POWERVR SGX530 v1.2.5 architecture is scalable and can target all market segments from mainstream mobile devices to high-end desktop graphics.
 
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html TI Linux Graphics SDK] is the development package that provides graphics drivers and OpenGLES1.1,2.0 and OpenVG libraries and demos running on all TI platforms.
 
Instruction on how to build the graphic components can be found here: http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide</strike>
== Boot configurations ==
OOB size 64 b
Erase size 131072 b
</pre>
 
=== Default flash NOR SPI partitions ===
 
<pre>
[ 1.370563] Creating 7 MTD partitions on "spi1.0":
[ 1.375888] 0x000000000000-0x000000040000 : "MLO"
[ 1.383286] 0x000000040000-0x0000000c0000 : "u-boot"
[ 1.390594] 0x0000000c0000-0x000000100000 : "env1"
[ 1.397868] 0x000000100000-0x000000140000 : "env2"
[ 1.405253] 0x000000140000-0x000000180000 : "fdt"
[ 1.412191] 0x000000180000-0x000000780000 : "kernel"
[ 1.419714] 0x000000780000-0x000002000000 : "free"
</pre>
 
=== Default flash NAND partitions ===
 
<pre>
[ 1.971955] Creating 9 MTD partitions on "omap2-nand.0":
[ 1.977663] 0x000000000000-0x000000020000 : "SPL"
[ 1.985117] 0x000000020000-0x000000040000 : "SPL.backup1"
[ 1.993214] 0x000000040000-0x000000060000 : "SPL.backup2"
[ 2.001160] 0x000000060000-0x000000080000 : "SPL.backup3"
[ 2.009145] 0x000000080000-0x000000260000 : "u-boot"
[ 2.018198] 0x000000260000-0x000000280000 : "u-boot-env"
[ 2.026420] 0x000000280000-0x0000002a0000 : "fdt"
[ 2.033730] 0x0000002a0000-0x0000008a0000 : "kernel"
[ 2.046645] 0x0000008a0000-0x000040000000 : "rootfs"
</pre>
== Quick start ==
=== DivaEVB-Lite plugged on Dacu === This section describes how to quick start a Diva DIVA system composed of a Diva DIVA SOM plugged into the DivaEVBDIVAEVB-Lite and then mounted on the Dacu carrier board, provided that it is programmed according to DIVELK configuration. The SD provided with the DIVELK can be used to boot the system, since it contains a bootable partition (mmcblk0p1) and a root file system partition (mmcblk0p2).
# connect the serial cable, provided with the board, to the J25 pin-strip connector on the Dacu board
#* stop bits: 1
#* parity: none
# (optional) to connect the system to Ethernet LAN, please plug cable on connector J7 of the DivaEVBDIVAEVB-Lite
The system is configured to boot automatically, when powered up, from the SD card, loading u-boot which runs the<code>mmcboot</code> macro, that loads the kernel and launches it with the options for mounting the root file system from the mmcblk0p2 partition.
<pre class="board-terminal">
 U-Boot SPL 20122013.10 (May 24 2013 Sep 13 2014 - 1810:2943:0218)OMAP SD/MMC: [divelk-2.0.0]
reading u-boot.img
reading u-boot.img
U-Boot 20122013.10 (May 24 2013 Sep 13 2014 - 1810:2943:0218) [divelk-12.0.0]
AM335X-GP rev 1 720 MHz
I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
Now running in RAM - U-Boot at: 9ff470009ff50000
NAND: 1024 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiBUSB Host mode controller at 47401000 using PIO*** Warning - bad CRC, IRQ 0USB Host mode controller at 47401800 using PIO, IRQ 0default environmentModule id#: 0x1Net: cpsw connected to SMSC LAN8710/LAN8720cpsw, usb_ether
Hit any key to stop autoboot: 0
Booting trying to boot from mmc .DIVELK MMC reading boot.scr419 bytes read in 5 ms (81.1 KiB/s)## Executing script at 80900000
reading uImage
4714280 bytes read in 490 ms (9.2 MiB/s)3027568 reading am335x-divelk.dtb37129 bytes readin 11 ms (3.2 MiB/s)## Booting kernel from Legacy Image at 80007fc0 80200000 ... Image Name: Linux-3.212.010-divelk-12.0.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3027504 4714216 Bytes = 24.9 5 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 80f80000 Booting using the fdt blob at 0x80f80000 XIP Loading Kernel Image ... OK Loading Device Tree to 9fe02000, end 9fe0e108 ... OK
Starting kernel ...
Uncompressing [ 0.000000] Booting Linux... done, booting the kernel.on physical CPU 0x0[ 0.000000] Linux version 3.212.010-divelk-12.0.0 (amon@linuxserver2) (gcc version 4.57.3 20110311 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC2013.03) ) #50 Wed May 22 1526 SMP Sat Sep 13 10:2745:18 59 CEST 20132014
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: divaGeneric AM33XX (Flattened Device Tree), model: DAVE Embedded System DIVELK[ 0.000000] cma: CMA: reserved 24 MiB at 9e000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES1.0 (sgx neon )
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c0d9a000 s9024 r8192 d15552 u32768[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048129280[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstyperw console=ext3 rootwait ipttyO0,115200n8 consoleblank=none0 mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128k(SPL.backup3),1920k(u-boot),128k(u-boot-env),128k(fdt),6m(kernel),-(rootfs);spi1.0:256k(MLO),512k(u-boot),256k(env1),256k(env2),256k(fdt),6m(kernel),-(free)
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 512MB = 512MB total[ 0.000000] Memory: 513436k482188K/513436k 521216K available(6358K kernel code, 10852k 562K rwdata, 2168K rodata, 368K init, 254K bss, 39028K reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)[ 0.000000] modules : 0xbf000000 - 0xc0000000 0xbfe00000 ( 16 14 MB)[ 0.000000] .text : 0xc0008000 - 0xc0569000 0xc085bf9c (5508 8528 kB)[ 0.000000] .init : 0xc0569000 0xc085c000 - 0xc05a1000 0xc08b8340 ( 224 369 kB)[ 0.000000] .data : 0xc05a2000 0xc08ba000 - 0xc05fbe28 0xc09468b0 ( 360 563 kB)[ 0.000000] .bss : 0xc05fbe4c 0xc09468b8 - 0xc062a930 0xc09863f4 ( 187 255 kB)[ 0.000000] Hierarchical RCU implementation.[ 0.000000] RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.[ 0.000000] NR_IRQS:39616 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER2 timer2 at 24000000 Hz[ 0.000000] OMAP clocksourcesched_clock: GPTIMER1 32 bits at 32768 Hz24MHz, resolution 41ns, wraps every 178956ms[ 0.000000] sched_clockOMAP clocksource: 32 bits timer1 at 32kHz, resolution 30517ns, wraps every 131071999ms24000000 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.000152000409] Calibrating delay loop... 718479.02 23 BogoMIPS (lpj=35901442396160)[ 0.058929119684] pid_max: default: 32768 minimum: 301[ 0.059051119839] Security Framework initialized[ 0.059173119964] Mount-cache hash table entries: 512[ 0.059539131811] CPU: Testing write buffer coherency: ok[ 0.079925132332] omap_hwmodCPU0: pruss: failed to hardresetthread -1, cpu 0, socket -1, mpidr 0[ 0.081085132408] print_constraints: dummy: Setting up static identity map for 0xc063b648 - 0xc063b6b8[ 0.081420137504] NET: Registered protocol family 16Brought up 1 CPUs[ 0.083526137533] OMAP GPIO hardware version 0SMP: Total of 1 processors activated.1[ 0.086090137544] omap_mux_initCPU: Add partition: #1: core, flags: 0All CPU(s) started in SVC mode.[ 0.087951138587] omap_i2c.1devtmpfs: alias fck already existsinitialized[ 0.088653143587] omap_hsmmcVFP support v0.03: alias fck already existsimplementor 41 architecture 3 part 30 variant c rev 3[ 0.089080209601] Try to build omap deviceomap_hwmod: debugss: ti_tscadc - adc_tsc_wait_target_disable failed[ 0.089477210581] Try to build omap devicepinctrl core: davinci-mcasp - mcasp0initialized pinctrl subsystem[ 0.091522211857] da8xx_lcdc.0regulator-dummy: alias fck already existsno parameters[ 0.092010214690] omap2_mcspi.1NET: alias fck already existsRegistered protocol family 16[ 0.092254217798] omap2_mcspi.2DMA: alias fck already existspreallocated 256 KiB pool for atomic coherent allocations[ 0.092498221492] edma.0cpuidle: alias fck already existsusing governor ladder[ 0.092529221516] edma.0cpuidle: alias fck already existsusing governor menu[ 0.092529230756] edmaplatform mpu.01: FIXME: alias clock-name 'fck already exists' DOES NOT exist in dt![ 0.115631232413] bioplatform 49000000.edma: FIXME: create slab <bioclock-0> at 0name 'fck' DOES NOT exist in dt![ 0.117584234218] SCSI subsystem initializedOMAP GPIO hardware version 0.1[ 0.119689247827] usbcoreomap-gpmc 50000000.gpmc: registered new interface driver usbfscould not find pctldev for node /pinmux@44e10800/nandflash_pins_default, deferring probe[ 0.119995247871] usbcoreplatform 50000000.gpmc: registered new interface driver hubDriver omap-gpmc requests probe deferral[ 0.120178248489] usbcoreplatform 56000000.sgx: FIXME: registered new device driver usbclock-name 'fck' DOES NOT exist in dt![ 0.120483253038] registerd cppi-dma Intr @ IRQ 17DSS not supported on this SoC[ 0.120513253065] Cppi41 Init Done Qmgr-base(e087a000) dma-base(e0878000)No ATAGs?[ 0.120513253079] Cppi41 Init Donehw-breakpoint: debug architecture 0x4 unsupported.[ 0.120544295970] musbbio: create slab <bio-ti81xx musb-ti81xx: musb0, board_mode=0x11, plat_mode=0x10> at 0[ 0.120849319222] musbedma-dma-engine edma-ti81xx musbdma-ti81xxengine.0: musb1, board_mode=0x11, plat_mode=0x1TI EDMA DMA engine driver[ 0.138977321038] omap_i2c omap_i2c.1vin: bus 1 rev2.4.0 at 100 kHz5000 mV [ 0.140167323718] tps65910 1-002d: JTAGREVNUM 0x1SCSI subsystem initialized[ 0.142639325674] print_constraints: VRTCusbcore: registered new interface driver usbfs[ 0.144104325939] print_constraintsusbcore: VIO: at 1500 mV registered new interface driver hub[ 0.146453326254] print_constraintsusbcore: VDD1: 600 <--> 1500 mV at 1262 mV normal registered new device driver usb[ 0.148773327385] print_constraintsomap_i2c 44e0b000.i2c: VDD2: 600 <--> 1500 mV at 1137 mV normal could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe[ 0.149841327421] print_constraintsplatform 44e0b000.i2c: VDD3: 5000 mV Driver omap_i2c requests probe deferral[ 0.151275327950] print_constraintspps_core: VDIG1: at 1800 mV LinuxPPS API ver. 1 registered[ 0.152740327964] print_constraintspps_core: VDIG2: at 1800 mV Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>[ 0.154174328161] print_constraints: VPLL: at 1800 mV PTP clock support registered[ 0.155609330978] print_constraints: VDAC: at 1800 mV Advanced Linux Sound Architecture Driver Initialized.[ 0.157073332716] print_constraints: VAUX1: at 1800 mV Switched to clocksource timer1[ 0.158538363794] print_constraintsNET: VAUX2: at 3300 mV Registered protocol family 2[ 0.159973364657] print_constraints: VAUX33: at 3300 mV TCP established hash table entries: 4096 (order: 3, 32768 bytes)[ 0.161407364762] print_constraintsTCP bind hash table entries: VMMC4096 (order: at 3300 mV 3, 32768 bytes)[ 0.161926364847] tps65910 1-002dTCP: No interrupt support, no core IRQHash tables configured (established 4096 bind 4096)[ 0.163208364928] Advanced Linux Sound Architecture Driver Version 1.0.24.TCP: reno registered[ 0.164001364948] Switching to clocksource gp timerUDP hash table entries: 256 (order: 1, 8192 bytes)[ 0.179504364976] musbUDP-hdrcLite hash table entries: 256 (order: version 6.01, ?dma?, otg (peripheral+host8192 bytes)[ 0.179718365256] musb-hdrc musb-hdrcNET: Registered protocol family 1[ 0.0365759] RPC: dma type: dma-cppi41Registered named UNIX socket transport module.[ 0.180023365774] MUSB0 controller's USBSS revision = 4ea20800RPC: Registered udp transport module.[ 0.180511365783] musb-hdrc musb-hdrcRPC: Registered tcp transport module.[ 0.365793] RPC: MUSB HDRC host driverRegistered tcp NFSv4.1 backchannel transport module.[ 0.180633367016] musb-hdrc musb-hdrcNetWinder Floating Point Emulator V0.97 (double precision)[ 0.367827] PM: new USB bus registered, assigned bus number 1Loading am335x-pm-firmware.bin[ 0.180755530548] usb usb1VFS: New USB device found, idVendor=1d6b, idProduct=0002Disk quotas dquot_6.5.2[ 0.180786530738] usb usb1Dquot-cache hash table entries: New USB device strings: Mfr=31024 (order 0, Product=2, SerialNumber=14096 bytes)[ 0.180786531740] usb usb1NFS: Product: MUSB HDRC host driverRegistering the id_resolver key type[ 0.180816531867] usb usb1: Manufacturer: Linux 3.2.Key type id_resolver registered[ 0-divelk-1.0.0 musb-hcd531880] Key type id_legacy registered[ 0.180816532254] usb usb1NTFS driver 2.1.30 [Flags: SerialNumber: musb-hdrcR/W].0[ 0.181610532307] hub 1-0jffs2:1version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc.0: USB hub found[ 0.181640532535] hub 1-msgmni has been set to 989[ 0:1.0535449] NET: 1 port detectedRegistered protocol family 38[ 0.182189535511] musb-hdrc musb-hdrc.0: USB Host mode controller at e083c000 using DMA, IRQ 18io scheduler noop registered[ 0.182373535523] musb-hdrc musb-hdrc.1: dma type: dma-cppi41io scheduler deadline registered[ 0.182708535560] MUSB1 controller's USBSS revision = 4ea20800io scheduler cfq registered (default)[ 0.183166538175] musbpinctrl-hdrc musb-hdrcsingle 44e10800.1pinmux: MUSB HDRC host driver142 pins at pa f9e10800 size 568[ 0.183227590593] musb-hdrc musb-hdrc.1Console: new USB bus registered, assigned bus number 2switching to colour frame buffer device 100x30[ 0.183319598277] usb usb2Serial: New USB device found8250/16550 driver, idVendor=1d6b4 ports, idProduct=0002IRQ sharing enabled[ 0.183349601816] usb usb244e09000.serial: New USB device strings: MfrttyO0 at MMIO 0x44e09000 (irq =388, Product=2, SerialNumberbase_baud =3000000) is a OMAP UART0[ 1.281209] console [ttyO0] enabled[ 01.183349286942] usb usb2omap_rng 48310000.rng: Product: MUSB HDRC host driverOMAP Random Number Generator ver. 20[ 01.183380310673] usb usb2brd: Manufacturer: Linux 3.2.0-divelk-1.0.0 musb-hcdmodule loaded[ 01.183380323060] usb usb2loop: SerialNumber: musb-hdrc.1module loaded[ 01.184234333908] hub 2-0mtdoops:1.0: USB hub foundmtd device (mtddev=name/number) must be supplied[ 01.184265343735] hub 2edma-dma-engine edma-dma-engine.0:1.allocated channel for 0: 1 port detected17[ 01.184783350969] musbedma-dma-engine edma-hdrc musbdma-hdrcengine.10: allocated channel for 0: USB Host mode controller at e083e800 using DMA, IRQ 1916[ 01.185211358842] NETm25p80 spi1.0: Registered protocol family 2s25fl256s1 (32768 Kbytes)[ 01.185424364293] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)7 cmdlinepart partitions found on MTD device spi1.0[ 01.185729370563] TCP established hash table entriesCreating 7 MTD partitions on "spi1.0": 16384 (order: 5, 131072 bytes)[ 01.186004375888] TCP bind hash table entries0x000000000000-0x000000040000 : 16384 (order"MLO"[ 1.383286] 0x000000040000-0x0000000c0000 : 4, 65536 bytes)"u-boot"[ 01.186187390594] TCP0x0000000c0000-0x000000100000 : Hash tables configured (established 16384 bind 16384)"env1"[ 01.186218397868] TCP reno registered0x000000100000-0x000000140000 : "env2"[ 01.186218405253] UDP hash table entries0x000000140000-0x000000180000 : 256 (order"fdt"[ 1.412191] 0x000000180000-0x000000780000 : 0, 4096 bytes)"kernel"[ 01.186248419714] UDP0x000000780000-Lite hash table entries0x000002000000 : 256 (order: 0, 4096 bytes)"free"[ 01.186401428475] NET: Registered protocol family 1CAN device driver interface[ 01.186676434708] RPCc_can_platform 481cc000.d_can: Registered named UNIX socket transport module.c_can_platform device registered (regs=fa1cc000, irq=68)[ 01.186706446015] RPCusbcore: Registered udp transport module.registered new interface driver asix[ 01.186706452044] RPCusbcore: Registered tcp transport module.registered new interface driver ax88179_178a[ 01.186706458930] RPCusbcore: Registered tcp NFSv4.1 backchannel transport module.registered new interface driver cdc_ether[ 01.186920465550] NetWinder Floating Point Emulator V0.97 (double precision)usbcore: registered new interface driver r815x[ 01.187164471615] omap-gpmc omap-gpmcusbcore: GPMC revision 6registered new interface driver smsc95xx[ 1.0477990] usbcore: registered new interface driver net1080[ 01.187164484283] Registering NAND on CS0usbcore: registered new interface driver cdc_subset[ 01.187194490779] GPMC CS0usbcore: cs_on : 0 ticks, 0 ns (was 0 ticks) 0 nsregistered new interface driver zaurus[ 01.187225497093] GPMC CS0usbcore: cs_rd_off : 5 ticks, 50 ns (was 30 ticks) 50 nsregistered new interface driver cdc_ncm[ 01.187225503937] GPMC CS0ehci_hcd: cs_wr_off : 5 ticks, 50 ns USB 2.0 'Enhanced' Host Controller (was 30 ticksEHCI) 50 nsDriver[ 01.187255510886] GPMC CS0ehci-omap: adv_on : 1 ticks, 10 ns (was 0 ticks) 10 nsOMAP-EHCI Host Controller driver[ 01.187255517235] GPMC CS0usbcore: adv_rd_offregistered new interface driver cdc_wdm[ 1.523592] usbcore: 4 ticks, 40 ns (was 30 ticks) 40 nsregistered new interface driver usb-storage[ 01.187286530485] GPMC CS0usbcore: adv_wr_off: 5 ticks, 50 ns (was 30 ticks) 50 nsregistered new interface driver usbserial[ 01.187286537087] GPMC CS0usbcore: oe_on : 1 ticks, 10 ns (was 7 ticks) 10 nsregistered new interface driver usbserial_generic[ 01.187316544375] GPMC CS0usbserial: oe_off : 6 ticks, 60 ns (was 24 ticks) 60 nsUSB Serial support registered for generic[ 01.187316550984] GPMC CS0usbcore: we_on : 1 ticks, 10 ns (was 5 ticks) 10 nsregistered new interface driver ftdi_sio[ 01.187347557337] GPMC CS0usbserial: we_off : 4 ticks, 40 ns (was 22 ticks) 40 nsUSB Serial support registered for FTDI USB Serial Device[ 1.569745] musb-hdrc musb-hdrc.0.187347] GPMC CS0auto: rd_cycle : 9 ticks, 90 ns (was 30 ticks) 90 nsEnabled SW babble control[ 1.576609] musb-hdrc musb-hdrc.0.187377] GPMC CS0auto: wr_cycle : 9 ticks, 90 ns (was 30 ticks) 90 nsFalied to request rx1.[ 1.583022] musb-hdrc musb-hdrc.0.187377] GPMC CS0auto: access : 7 ticks, 70 ns (was 21 ticks) 70 nsmusb_init_controller failed with status -517[ 1.591267] platform musb-hdrc.0.187408] GPMC CS0auto: page_burst_access: 0 ticks, 0 ns (was 0 ticks) 0 nsDriver musb-hdrc requests probe deferral[ 01.187408601463] GPMC CS0musb-hdrc musb-hdrc.1.auto: wr_data_mux_bus: 0 ticks, 0 ns (was 0 ticks) 0 nsEnabled SW babble control[ 01.187438608210] GPMC CS0musb-hdrc musb-hdrc.1.auto: wr_access : 4 ticks, 40 ns (was 22 ticks) 40 nsFalied to request rx1.[ 01.187438614488] GPMC CS0 CLK period is 10 ns (div musb-hdrc musb-hdrc.1).auto: musb_init_controller failed with status -517[ 01.207489622856] VFSplatform musb-hdrc.1.auto: Disk quotas dquot_6.5.2Driver musb-hdrc requests probe deferral[ 01.207550653327] Dquot-cache hash table entriesmousedev: 1024 (order 0, 4096 bytes)PS/2 mouse device common for all mice[ 01.208099660663] msgmni has been set to 1002[ 0input: ti-tsc as /devices/ocp.2/44e0d000.208862] io scheduler noop registeredtscadc/TI-am335x-tsc/input/input0[ 01.208892671593] io scheduler deadline registeredi2c /dev entries driver[ 01.208953678569] io scheduler cfq registered (default)omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec[ 01.210296688151] da8xx_lcdc da8xx_lcdcedma-dma-engine edma-dma-engine.0: GLCDallocated channel for 0: Found AM800480STMQW_TA1 panel25[ 01.227233695572] Consoleedma-dma-engine edma-dma-engine.0: switching to colour frame buffer device 100x30[ 0.236999] omap_uart.allocated channel for 0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART024[ 1.082336702910] console [ttyO0] enabledomap_hsmmc 48060000.mmc: unable to get vmmc regulator -517[ 1.086791709845] omap_uartedma-dma-engine edma-dma-engine.10: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1freeing channel for 24[ 1.094604716920] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2edma-dma-engine edma-dma-engine.0: freeing channel for 25[ 1.102416723910] omap_uartplatform 48060000.3mmc: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3Driver omap_hsmmc requests probe deferral[ 1.110198732299] omap_uart.4ledtrig-cpu: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4registered to indicate activity on CPUs[ 1.117980739174] omap_uartedma-dma-engine edma-dma-engine.50: allocated channel for 0: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART536[ 1.135192746525] brdomap-sham 53100000.sham: module loaded[ 1hw accel on OMAP rev 4.143188] loop: module loaded3[ 1.146606754574] at24 1omap-0050aes 53500000.aes: OMAP AES hw accel rev: 32768 byte 24c32 EEPROM, writable, 64 bytes/write3.2[ 1.156250760718] mtdoops: mtd device (mtddev=name/number) must be supplied[ 1.163177] m25p80 spi1edma-dma-engine edma-dma-engine.0: found s25fl256s1, expected m25p80allocated channel for 0:5[ 1.169158768028] m25p80 spi1edma-dma-engine edma-dma-engine.0: s25fl256s1 (32768 Kbytes)allocated channel for 0:6[ 1.174591777248] Creating 6 MTD partitions on "spi_flash"usbcore:registered new interface driver usbhid[ 1.179901783237] 0x000000000000-0x000000040000 usbhid: "SPI U-Boot 1st (SPL)"USB HID core driver[ 1.187744791362] 0x000000040000usbcore: registered new interface driver snd-0x0000000c0000 : "SPI Uusb-Boot 2nd"audio[ 1.194946801674] 0x0000000c0000-0x000000100000 : "SPI U-Boot env1"UDA134X SoC Audio Codec[ 1.202209824052] 0x000000100000-0x000000140000 davinci_evm sound.4: "SPI U uda134x-Boot env2"hifi <-> 48038000.mcasp mapping ok[ 1.209411837299] 0x000000140000-0x000000540000 oprofile: "SPI Linux Kernel"no performance counters[ 1.216705842555] 0x000000540000-0x000002000000 oprofile: "SPI Free Space"using timer interrupt.[ 1.224334847618] omap2-nand driver initializingTCP: cubic registered[ 1.229064851130] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)Initializing XFRM netlink socket[ 1.238098855784] Creating 9 MTD partitions on "omap2-nand.0"NET:Registered protocol family 17[ 1.243652860546] 0x000000000000-0x000000020000 NET: "NAND U-Boot 1st (SPL)"Registered protocol family 15[ 1.251525865336] 0x000000020000-0x000000040000 can: "NAND U-Boot 1st controller area network core (SPLrev 20120528 abi 9) - backup1"[ 1.260314872096] 0x000000040000-0x000000060000 NET: "NAND U-Boot 1st Registered protocol family 29[ 1.876881] can: raw protocol (SPLrev 20120528) - backup2"[ 1.269073881397] 0x000000060000-0x000000080000 can: "NAND U-Boot 1st broadcast manager protocol (SPLrev 20120528 t) - backup3"[ 1.277954887520] 0x000000080000-0x000000260000 : "NAND U-Boot"8021q: 802.1Q VLAN Support v1.8[ 1.285675892100] 0x000000260000-0x000000280000 : "NAND U-Boot env #1"Key type dns_resolver registered[ 1.293151897496] 0x000000280000-0x0000002a0000 cpu cpu0: "NAND U-Boot env #2"cpu0 regulator not ready, retry[ 1.300689903001] 0x0000002a0000platform cpufreq-0x0000007a0000 cpu0.0: "NAND Kernel"Driver cpufreq-cpu0 requests probe deferral[ 1.309631911300] 0x0000007a0000-0x000040000000 PM: "NAND File System"CM3 Firmware Version = 0x187[ 1.738342916487] OneNAND driver initializingThumbEE CPU extension supported.[ 1.744110923680] tunomap-gpmc 50000000.gpmc: Universal TUN/TAP device driver, 1GPMC revision 6.60[ 1.749420929131] tungpmc_mem_init: (C) 1999disabling cs 0 mapped at 0x0-2004 Max Krasnyansky <maxk@qualcomm.com>0x1000000[ 1.756103937019] CAN NAND device driver interface: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit), 1024MiB, page size: 2048, OOB size: 64[ 1.760101949754] CAN bus driver for Bosch D_CAN controller 1.0omap2-nand: detected x8 NAND flash[ 1.814697954499] davinci_mdio davinci_mdio.0nand: davinci mdio revision 1.6using OMAP_ECC_BCH8_CODE_HW ECC scheme[ 1.821136960175] davinci_mdio davinci_mdio.0omap2-nand: detected phy mask ffffffbfusing custom ecc layout[ 1.828369965136] davinci_mdio9 cmdlinepart partitions found on MTD device omap2-nand.0: probed[ 1.831939971955] davinci_mdio davinci_mdioCreating 9 MTD partitions on "omap2-nand.0": phy[6 1.977663]0x000000000000-0x000000020000 : device 0:06, driver SMSC LAN8710/LAN8720"SPL"[ 1.840850985117] usbcore0x000000020000-0x000000040000 : registered new interface driver cdc_ether"SPL.backup1"[ 1.847106993214] usbcore0x000000040000-0x000000060000 : registered new interface driver cdc_eem"SPL.backup2"[ 12.853149001160] usbcore0x000000060000-0x000000080000 : registered new interface driver dm9601"SPL.backup3"[ 12.859039009145] cdc_ncm0x000000080000-0x000000260000 : 04"u-Aug-2011boot"[ 12.862548018198] usbcore0x000000260000-0x000000280000 : registered new interface driver cdc_ncm"u-boot-env"[ 12.868469026420] Initializing USB Mass Storage driver...0x000000280000-0x0000002a0000 : "fdt"[ 12.873779033730] usbcore0x0000002a0000-0x0000008a0000 : registered new interface driver usb-storage"kernel"[ 12.880065046645] USB Mass Storage support registered.0x0000008a0000-0x000040000000 : "rootfs"[ 12.885345910559] mousedevvrtc: PS/2 mouse device common for all mice1800 mV [ 12.892120914394] inputvrtc: ti-tsc as /devices/platform/omap/ti_tscadc/tsc/input/input0supplied by vin[ 12.909027921442] tps65910vio: 1500 <-rtc tps65910-rtc: rtc core: registered tps65910-rtc as rtc0> 3300 mV at 1500 mV [ 12.916961926452] i2c /dev entries drivervio: supplied by vin[ 12.920959934061] Linux video capture interfacevdd_mpu: v2.00600 <--> 1500 mV at 1137 mV [ 12.926147939149] usbcorevdd_mpu: registered new interface driver uvcvideosupplied by vin[ 12.932128947000] USB Video Class driver (1vdd_core: 600 <--> 1500 mV at 1137 mV [ 2.1952150] vdd_core: supplied by vin[ 2.1)959384] vdd3: 5000 mV [ 12.936431965617] Driver for 1vdig1: 1200 <--wire Dallas network protocol.> 2700 mV at 1800 mV [ 12.942810970598] INA Probevdig1: supplied by vin[ 12.946289977702] ina2xx 1vdig2: 1200 <--0041: power monitor INA226 (Rshunt = 10000 uOhm)> 1800 mV at 1800 mV [ 12.955566982663] cpuidlevdig2: using governor laddersupplied by vin[ 12.960357989856] cpuidlevpll: using governor menu1800 <--> 2500 mV at 1800 mV [ 12.983306994840] usbcorevpll: registered new interface driver usbhidsupplied by vin[ 13.989135001759] usbhidvdac: USB HID core driver1800 <--> 2850 mV at 1800 mV [ 13.995117006728] Audiovdac: davinci-evm.c - evm_initsupplied by vin[ 13.999847013866] UDA134X SoC Audio Codec[ 2.015502] asocvaux1: uda134x1800 <-hifi <-> davinci-mcasp.0 mapping ok2850 mV at 1800 mV [ 23.025756018861] ALSA device listvaux1:supplied by vin[ 23.028900026421] #0vaux2: Diva Dacu1800 <--> 2800 mV at 3300 mV [ 23.031799031390] oprofilevaux2: hardware counters not availablesupplied by vin[ 23.037078038485] oprofilevaux33: using timer interrupt.[ 1800 <--> 3300 mV at 3300 mV [ 23.041534043689] nf_conntrack version 0.5.0 (8022 buckets, 32088 max)vaux33: supplied by vin[ 23.048370050823] ip_tablesvmmc: (C) 20001800 <--2006 Netfilter Core Team> 3300 mV at 3300 mV [ 23.054016055802] TCP cubic registeredvmmc: supplied by vin[ 23.057434073949] NETtps65910-rtc tps65910-rtc: rtc core: Registered protocol family 17registered tps65910-rtc as rtc0[ 23.062072083252] canat24 0-0050: controller area network core (rev 20090105 abi 8)4096 byte 24c32 EEPROM, writable, 32 bytes/write[ 23.068634092440] NETina2xx 0-0041: Registered protocol family 29power monitor ina226 (Rshunt = 10000 uOhm)[ 23.073272099442] canomap_i2c 44e0b000.i2c: raw protocol (rev 20090105)bus 0 rev0.11 at 100 kHz[ 23.077728106054] canmusb-hdrc musb-hdrc.0.auto: broadcast manager protocol (rev 20090105 t)Enabled SW babble control[ 23.083679114825] Registering the dns_resolver key type[ 2musb-hdrc musb-hdrc.088684] VFP support v00.3auto: implementor 41 architecture 3 part 30 variant c rev 3MUSB HDRC host driver[ 23.096679121563] ThumbEE CPU extension supportedmusb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1[ 23.101196130296] muxusb usb1: Failed to setup hwmod io irq -22New USB device found, idVendor=1d6b, idProduct=0002[ 23.106811137543] Power Management for AM33XX family[ usb usb1: New USB device strings: Mfr=3, Product=2.111663] Trying to load am335x-pm-firmware.bin (60 secs timeout), SerialNumber=1[ 23.118347145203] Copied the M3 firmware to UMEMusb usb1: Product: MUSB HDRC host driver[ 3.150459] usb usb1: Manufacturer: Linux 3.12.10-divelk-2.122680] Cortex M3 Firmware Version = 0x180.0 musb-hcd[ 23.130737157470] clockusb usb1: SerialNumber: disabling unused clocks to save powermusb-hdrc.0.auto[ 23.138702164033] Detected MACID=00hub 1-0:181.0:30:F0:0D:6BUSB hub found[ 23.144134168106] cpswhub 1-0: Detected MACID = 001.0:18:30:f0:0d:6c1 port detected[ 23.154083173859] tps65910musb-rtc tps65910hdrc musb-rtchdrc.1.auto: setting system clock to 2012Enabled SW babble control[ 3.182507] musb-12hdrc musb-17 10hdrc.1.auto:16:31 UTC (1355739391)MUSB HDRC host driver[ 23.164123189383] Waiting for root device /dev/mmcblk0p2musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2[ 3.198116] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002[ 23.195617205382] mmc0usb usb2: host does not support reading read-only switch. assuming write-enable.New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 23.206085213083] mmc0usb usb2: Product: new high speed SDHC card at address 1234MUSB HDRC host driver[ 23.212463218342] mmcblk0usb usb2: mmc0Manufacturer:1234 SA16G 14Linux 3.12.10-divelk-2.0.6 GiB 0 musb-hcd[ 23.219696225358] mmcblk0usb usb2: SerialNumber: p1 p2musb-hdrc.1.auto[ 23.284118231979] kjournald startinghub 2-0:1. Commit interval 5 seconds0: USB hub found[ 23.289947236124] EXT3hub 2-fs (mmcblk0p2)0:1.0: mounted filesystem with ordered data mode1 port detected[ 23.297149241593] VFSedma-dma-engine edma-dma-engine.0: Mounted root (ext3 filesystem) readonly on device 179allocated channel for 0:225[ 3.248906] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24[ 23.304565341278] Freeing init memorymmc0: 224Khost does not support reading read-only switch. assuming write-enable.[ 3.352042] mmc0: new high speed SDHC card at address 1234[ 3.358955] mmcblk0: mmc0:1234 SA16G 14.6 GiB [ 3.363802] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6[ 3.370249] davinci_mdio 4a101000.mdio: detected phy mask ffffffbf[ 3.379000] libphy: 4a101000.mdio: probed[ 3.383422] davinci_mdio 4a101000.mdio: phy[6]: device 4a101000.mdio:06, driver SMSC LAN8710/LAN8720[ 3.393289] mmcblk0: p1 p2[ 3.398432] Detected MACID = 00:50:c2:1e:af:e0[ 3.409822] tps65910-rtc tps65910-rtc: setting system clock to 2014-10-03 10:36:29 UTC (1412332589)[ 3.425312] ALSA device list:[ 3.428505] #0: Diva Dacu[ 3.440728] kjournald starting. Commit interval 5 seconds[ 3.461578] EXT3-fs (mmcblk0p2): using internal journal[ 3.467158] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode[ 3.474540] VFS: Mounted root (ext3 filesystem) on device 179:2.[ 3.483932] devtmpfs: mounted[ 3.487639] Freeing unused kernel memory: 368K (c085c000 - c08b8000)
INIT: version 2.88 booting
Starting udev
modprobe: FATAL: Could not load /lib/modules/3.2.0-divelk-1.0.0/modules[ 4.dep382357] udevd[954]: No such file or directorystarting version 182 WARNING: -e needs -E or [ 9.887444] FAT-FWARNINGfs (mmcblk0p1): Couldn't open directory /lib/modules/3.2Volume was not properly unmounted.0-divelk-1Some data may be corrupt.0Please run fsck.0: No such file or directoryFATAL[ 10.144522] cryptodev: Could not open /lib/modules/3.2.0-divelk-driver 1.06 loaded.0/modules.dep.temp for writing: No such file or directory
Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
bootlogd.
[ 6.686279] EXT3-fs (mmcblk0p2): using internal journal
ALSA: Restoring mixer settings...
Configuring network interfaces... [ 7 13.202239122234] net eth0: initializing cpsw version 1.12 (0)[ 13.130330] net eth0: CPSW phy found : id is : 0x7c0f1[ 13.144609] 8021q: adding VLAN 0 to HW filter on device eth0udhcpc (v1.1920.42) started
Sending discover...
Sending discover...
[ 16.362961] libphy: 4a101000.mdio:06 - Link is Up - 100/Full
Sending discover...
No lease, failing
INIT: Entering runlevel: 5
Starting system message bus: dbus.
UIM SYSFS Node Not FoundStarting Dropbear SSH server: modprobe: FATAL: Could not load /lib/modules/3.2.0-divelk-1.0.0/modules.dep: No such file or directory modprobe: FATAL: Could not load /lib/modules/3.2.0-divelk-1.0.0/modules.dep: No such file or directory dropbear.
Starting telnet daemon.
Performing wifi calibration...
modprobe: FATAL: Could not load /lib/modules/3.2.0-divelk-1.0.0/modules.dep: No such file or directory
 
rm: can't remove '/lib/firmware/ti-connectivity/wl1271-nvs.bin': No such file or directory
ERROR: Module wl12xx_sdio does not exist in /proc/modules
nl80211 not found.
FATAL: Could not load /lib/modules/3.2.0-divelk-1.0.0/modules.dep: No such file or directory
Starting network benchmark server: netserver.
Starting syslogd/klogd: done
Starting thttpd.
[ 18.064361] Unhandled fault: external abort on non-linefetch (0x1018) at 0x4013d44cNo SGX hardware, not starting Starting PVRStarting Lighttpd Web Server: lighttpd.2012-12-17 10:16:46: (log.c.166) server started /Starting Matrix GUI application.FATAL: Could not load /lib/modules/3.2.0-divelk-1.0.0/modules.dep: No such file or directory
***************************************************************
***************************************************************
***************************************************************
Stopping Bootlog daemon: bootlogd.
umount: can't umount /mnt/.psplash: Device or resource busy
_____ _____ _ _
|___| |___|
Arago Project http://arago-project.org am335x-evm diva ttyO0 Arago 2012.10 am335x-evm ttyO0 am335x-evm login:</pre>   === DivaEVB-Lite standalone === This section describes how to quick start a DivaEVB-Lite system, provided that it is programmed according to DIVELK configuration. # connect the serial cable, provided with the board, to J6# connect this cable to PC COM port through a NULL-modem cable (not provided)# start your favourite terminal software on PC; communication parameters are:#* baud rate: 115200 Bps#* data bits: 8#* stop bits: 1#* parity: none# (optional) to connect the system to Ethernet LAN, please plug cable on connector J7# connect a 12Vcc power supply to J8 Once power has been applied, U-Boot bootloader will be executed and the following messages will be printed on serial console (please note that messages may vary for different U-Boot releases) <pre class="board-terminal">U-Boot SPL 2012.10-00096-g35a1513-dirty (Mar 11 2013 - 17:30:35)>>spl:board_init_r()boot device - 5 - 0x5Jumping to U-Bootimage entry point: 0x80800000
Arago 2013.12 diva ttyO0
U-Boot 2012.10-00110-ge8fd044-dirty (May 13 2013 - 14diva login:01:25) [divelk-0.9.1-rc1]
I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
Now running in RAM - U-Boot at: 9ff46000
NAND: 1024 MiB
MMC: OMAP SD/MMC: 0
SF: Detected S25FL256S_64K with page size 256, total 33554432 bytes
SF: Detected S25FL256S_64K with page size 256 Bytes, total 32 MiB
READ: 0xc0000 => cmd = { 0x0b 0x000c000000 } len = 0x40000
READ: 0x100000 => cmd = { 0x0b 0x0010000000 } len = 0x40000
USB Host mode controller at 47401000 using PIO, IRQ 0
USB Host mode controller at 47401800 using PIO, IRQ 0
Module id#: 0x1
Net: cpsw connected to SMSC LAN8710/LAN8720
cpsw, usb_ether
Hit any key to stop autoboot: 0
DIVA#
</pre>
These messages are printed by U-Boot, which has a serial The console that allows basic interaction with the system. At dump below (obtained using the end of its boot sequence, U-Boot prints <code style="board-terminal">DIVA#print</code> prompt and waits for user commands. The command) shows the default u-boot environment can be printed using the <code style="board-terminal">print</code> command:
<pre class="board-terminal">
DIVA# print
addcons=setenv bootargs ${bootargs} console=${console} earlyprintk no_console_suspend loglevel=8addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:off panic=1 eth0eth=${ethaddr}addmisc=setenv bootargs ${bootargs} ${mtdparts}\\;${mtdparts_spi}arch=arm
baudrate=115200
board=divaboard_name=divabootcmd=dcache on; echo trying to boot from DELK DIVELK MMC; mmc rescan 0; fatload mmc 0 80900000 boot.scr; source 80900000; dcache on; run net_nfs
bootdelay=3
bootfile=diva/uImage.as
console=ttyO0,115200n8
cpu=armv7
eth1addr=c4:ed:ba:7f:c1:46
ethact=cpsw
ethaddr=00:50:c2:1e:af:afe0
ethdev=eth0
fdtaddr=0x80F80000
fdtfile=diva/am335x-divelk.dtb
gatewayip=192.168.0.254
hostname=divadivelkipaddr=192.168.0.7789
kloadaddr=0x80007fc0
load=tftp ${loadaddr} diva/u-boot.img.as
loadaddr=0x80200000
loadfdt=tftp ${fdtaddr} ${fdtfile}
loadk=tftp ${kloadaddr} ${bootfile}
module_id#mtdids=0x1nand0=omap2-nand.0mtdparts=mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128k(SPL.backup3),1920k(u-boot),128k(u-boot-env),128k(fdt),6m(kernel),-(rootfs)mtdparts_spi=spi1.0:256k(MLO),512k(u-boot),256k(env1),256k(env2),256k(fdt),6m(kernel),-(free)
nand_load_1st=tftp ${loadaddr} diva/MLO
nand_nfs=nand read ${kloadaddr} 0x2A0000 0x400000kernel 0x600000; nand read ${fdtaddr} fdt 0x40000; run nfsargs addip addconsaddmisc; dcache on; bootm ${kloadaddr} - ${fdtaddr}nand_update=nand erase 80000 60000.part u-boot; nand write ${loadaddr} 80000 60000u-boot ${filesize}nand_update_1st=nand erase 0 20000.part SPL; nand write ${loadaddr} 0 20000SPL ${filesize}nand_updateknand_updatefdt=nand erase 0x2A0000 0x400000.part fdt; nand write ${kloadaddrfdtaddr} fdt ${filesize} 0x2A0000 0x400000net_nfsnand_updatek=tftp nand erase.part kernel; nand write ${kloadaddr} kernel ${bootfilefilesize}; net_nfs=run loadk loadfdt nfsargs addip addconsaddmisc; dcache on; bootm ${kloadaddr} - ${fdtaddr}
netdev=eth0
netmask=255.255.255.0
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} rootdelay=2
rdaddr=0x81000000rootpath=/homeopt/shared/devel/davenfsroot/diva-DDx/sw/linux/rfs/delkdivelkserverip=192.168.0.2313soc=am33xxspi_load_1st=tftp ${loadaddr} diva/MLO.byteswap.asspi_nfs=sf probe;sf read ${kloadaddr} 0x180000 0x600000; sf read ${fdtaddr} 0x140000 0x4000000x40000; run nfsargs addip addconsaddmisc; dcache on; bootm ${kloadaddr} -}
spi_update=sf probe 0:0; sf erase 0x40000 0x80000; sf write ${loadaddr} 0x40000 0x80000
spi_update_1st=sf probe 0:0; sf erase 0x0 0x40000; sf write ${loadaddr} 0x0 0x40000
spi_updatefdt=sf probe 0:0; sf erase 0x140000 0x40000; sf write ${fdtaddr} 0x140000 0x40000spi_updatek=sf probe 0:0; sf erase 0x140000 0x4000000x180000 0x600000; sf write ${kloadaddr} 0x140000 0x4000000x180000 0x600000
stderr=serial
stdin=serial
stdout=serial
usbnet_devaddr=00c4:18ed:30ba:f07f:2fc1:be46vendor=davever=U-Boot 20122013.10-00110-ge8fd044-dirty (May Sep 13 2013 2014 - 1410:0143:2518) [delkdivelk-2.0.9.1-rc10]
Environment size: 19872786/262139 bytesDIVA#</pre>
= DIVELK use cases =
== Diva DIVA Frequency Scaling ==
The frequency of the CPU can be changed on the run using the Cpufreq framework (please refer to the documentation included into the linux-am33x/Documentation/cpu-freq directory of the kernel source tree). The cpufreq framework works in conjunction with the related driver & governor.
Cpufreq implementation controls the Linux OPP (Operating Performance Points) adjusting the Cortex-A8 core voltages and frequencies. CPUFreq is enabled by default in the Diva DIVA kernel configuration.
To view the available governors:
8,186
edits