Development Environment HowTo (NELK)

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Naon am387x-dm814x.png Applies to Naon
Maya 03.png Applies to Maya
Dido-main.png Applies to Dido


Introduction

In this HowTo we'll take a first look of Naon Embedded Linux Kit (NELK) development environment. The instructions below apply not only to Naon, but also to Maya and Dido SOMs (since they all are based on the same DaVinci DM814x/Sitara AM387x CPU).

To allow fast development startup, NELK is provided as DVDK virtual appliance, in this way user can setup its development environment in minutes and get productive as soon as the virtual machine starts.

NELK updates

200px-Emblem-important.svg.png It's recommended to use the latest available NELK version. Please refer to NELK Release Notes and How to update NELK pages for further information. 200px-Emblem-important.svg.png

Build the whole kit

Building the whole kit means:

  • build Linux kernel with default configuration
  • build u-boot with default configuration
  • build gstreamer and all the required libraries
  • install the binaries into the root file system

After starting the DVDK, log in by using the default user and start a terminal. Then:

  • enter the EZSDK_INSTALL_DIR directory: cd /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx
    • where the x should be substituted with the current release which NELK is based (e.g. /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.05.02.00)
  • configure the build system to build the components for a specific SOM. To do that, set the NAON_VARIANT environement variable (available values are naon, maya or dido) with the following command (please note that, if the use of the sudo command is required during the build, the -E option must be included, otherwise the NAON_VARIANT environment setting will be lost)
    export NAON_VARIANT=<SOM name>
  • run make all command (N.B.: with NELK versions older than the 4.0.0, before running make all for the first time after DVDK installation, please run make linux_defconfig as first step. This command creates the .config file with the kernel configuration and allows the build procedure to go on; without this first step, the build procedure stops with a related error)
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make all
make -C /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/board-support/linux-2.6.37-psp04.01.00.06.patch2 ARCH=arm CROSS_COMPILE=/home/shared/devel/dave/naon-DAA/sw/linux/sdk/arm-2009q1//bin/arm-none-linux-gnueabi- uImage
make[1]: Entering directory `/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/board-support/linux-omap3.git'

[snip..]

max_DM81XX_RELEASE_0_03'
make[2]: Leaving directory `/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/component-sources/gst-openmax_DM81XX_RELEASE_0_03'
make[1]: Leaving directory `/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/component-sources/gst-openmax_DM81XX_RELEASE_0_03'
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$
  • when the build is completed (which may take a while, depending on user's PC power), user can install the binaries with sudo -E make install (sudo is required due file permission restriction on the root file system and the -E option is required to preserve the NAON_VARIANT environement variable)
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ sudo -E make install
[sudo] password for nelk: 
install -d /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/../rfs/nelk/boot
install  /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/board-support/linux-2.6.37-psp04.01.00.06.patch2/arch/arm/boot/uImage /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/../rfs/nelk/boot
install  /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/board-support/linux-2.6.37-psp04.01.00.06.patch2/vmlinux /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/../rfs/nelk/boot
install  /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/board-support/linux-2.6.37-psp04.01.00.06.patch2/System.map /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/../rfs/nelk/boot

[snip..]

make[3]: Entering directory `/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/component-sources/gst-openmax_DM81XX_RELEASE_0_03'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/component-sources/gst-openmax_DM81XX_RELEASE_0_03'
make[2]: Leaving directory `/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/component-sources/gst-openmax_DM81XX_RELEASE_0_03'
make[1]: Leaving directory `/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/component-sources/gst-openmax_DM81XX_RELEASE_0_03'
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ 
  • when the install process is finished, all the binaries are correctly installed into the root file system

Build a custom application

For detailed documentation on software development using the TI EZSDK, please refer to the EZSDK Software Developers Guide

Please refer to the dedicated section on the EZSDK Developers Guide for more information on how to build a simple application.

The following instructions allow to build and check a simple "hello world" C application:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk$ mkdir workdir

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk$ cd workdir/

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$ gedit helloworld.c

Insert the following source code:

#include <stdio.h>
 
 int main()
 {
     printf("Hello World!\n");
 }
 
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$ gedit Makefile

Insert the following instructions:

# Import the variables from the EZSDK so that you can find the EZSDK components
 include ${EZSDK}/Rules.make
 
 helloworld:
 # Make sure that you use a tab below
     $(CSTOOL_PREFIX)gcc -o helloworld helloworld.c 

Take care that the gap before $(CSTOOL_PREFIX)gcc corresponds to a tab.

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$ export EZSDK=/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15/

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$ make helloworld
/home/shared/devel/dave/naon-DAA/sw/linux/sdk/arm-2009q1//bin/arm-none-linux-gnueabi-gcc -o helloworld helloworld.c

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$ file helloworld
helloworld: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$

Once you have the compiled binary, you can copy it to the root file system:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$ cp helloworld /home/shared/devel/dave/naon-DAA/sw/linux/sdk/rfs/nelk/home/root/
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/workdir$

and execute it from the target shell:

root@naon:~# ./helloworld
Hello World!

Build/configure Linux kernel only

If needed, user can configure and build only the Linux kernel (this is useful, for example, if you are a kernel driver developer).

Linux kernel source are available inside EZSDK_INSTALL_DIR/board-support/linux-omap3.git.

The configuration name is specified inside $EZSDK_INSTALL_DIR/Rules.make into the variable DEFAULT_LINUXKERNEL_CONFIG

Enter the $EZSDK_INSTALL_DIR and type:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make linux_defconfig
in order to configure the kernel. This will create a
.config
file into the EZSDK_INSTALL_DIR/board-support/linux-omap3.git.

To build the Linux uImage (suitable for U-Boot) and modules, please enter the following command:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make linux


200px-Emblem-important.svg.png The
make linux
command will fail complaining about a missing .config file if launched before preparing the kernel configuration as described above
200px-Emblem-important.svg.png


To manually change the default configuration, execute:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make linux_menuconfig

This will open the usual Linux curses configuration interface to allow configuration changes.

To clean the build, type:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make clean

To revert to the default configuration, type:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make linux_defconfig

An additional target is provided to install the Linux binaries:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make linux_install

It copies the binaries (uImage and modules) inside the root file system (see EXEC_DIR variable inside $EZSDK_INSTALL_DIR/Rules.make), under the directory:

  • $EXEC_DIR/boot: for uImage
  • $EXEC_DIR/lib/modules/$KERNEL_VERSION: for the modules


Info-icon.png Please note that, on DVDK, $EXEC_DIR/boot is inside the TFTP root directory, thanks to the symbolic link: /srv/tftp/<SOM name> -> $EXEC_DIR/boot.

So requesting naon/uImage.naon to DVDK's TFTP server will return $EXEC_DIR/boot/uImage.naon

Info-icon.png


Info-icon.png Please note that, after running make linux_install, the user should run the command depmod from the target shell
root@naon:~# depmod
Info-icon.png


Info-icon.png Please note that sudo make linux_install delete all other installed linux kernel modules. For this reason, after this command the user should also run
sudo make syslink_install sgx-driver_install
Info-icon.png

Build/configure U-Boot only

For detailed information on U-Boot for DM814/AM387x processors, please refer to http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_U-Boot


Info-icon.png Please note that the "first stage" bootloader (u-boot-min) is also known as "MLO". Info-icon.png


If needed, user can configure and build only the u-boot (first or second stage) images.

U-boot sources are available inside EZSDK_INSTALL_DIR/board-support/u-boot.git.

The configuration name is specified inside $EZSDK_INSTALL_DIR/Rules.make into the variables DEFAULT_UBOOT_CONFIG and MIN_UBOOT_CONFIG

Enter the $EZSDK_INSTALL_DIR and type:

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make u-boot

to build both u-boot and u-boot-min, or

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make u-boot-min

to build just u-boot-min.

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.03.01.15$ make u-boot_install

to copy the u-boot images inside the root file system (see EXEC_DIR variable inside $EZSDK_INSTALL_DIR/Rules.make), under the directory $EXEC_DIR/boot.

Build the graphics components

DM81x/AM38x 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.

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

Boot the system

Please refer to Booting Linux Kernel for general information about the kernel boot process.

In order to boot the system, please check that the DVDK network is properly configured and that the NFS service is working. Please check NFS for more information on how Network File System works.


Info-icon.png Please note that, on DVDK, $EXEC_DIR/boot is inside the TFTP root directory, thanks to the symbolic link contained into: /srv/tftp/<SOM name> -> $EXEC_DIR/boot. The root file system is, by default, stored in the $EXEC_DIR directory and NFS-exported. Info-icon.png

To boot the system, please type the following command:

run net_nfs

from the u-boot console. The following is a dump of the boot messages:

NAON#run net_nfs
No "cpsw" environment variable found. Using both ports ('setenv cpsw [0|1]' to force port usage)
Trying port: 6
Auto negotiation failed
No "cpsw" environment variable found. Using both ports ('setenv cpsw [0|1]' to force port usage)
Trying port: 1
Auto negotiation DONE!
link up on port 1, speed 100, full duplex
Using cpsw device
TFTP from server 192.168.0.121; our IP address is 192.168.0.123
Filename 'naon/uImage'.
Load address: 0x81000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###############################
done
Bytes transferred = 3153616 (301ed0 hex)
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   Linux-2.6.37-naon-4.0.0+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3153552 Bytes = 3 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 2.6.37-naon-4.0.0+ (nelk@nelk-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Mon Apr 22 11:50:30 CEST 2013
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: naon
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] vram size = 48234496 at 0x0
[    0.000000] ti81xx_reserve: ### Reserved DDR region @8af00000
[    0.000000] reserved size = 48234496 at 0x0
[    0.000000] FB: Reserving 48234496 bytes SDRAM for VRAM
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] OMAP chip is TI8148 2.1
[    0.000000] SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32672
[    0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.121:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/rfs/nelk panic=5 rootdelay=5 ip=192.168.0.123:192.168.0.121:192.0
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 128MB 1MB = 129MB total
[    0.000000] Memory: 123872k/123872k available, 56352k 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     : 0xffc00000 - 0xffe00000   (   2 MB)
[    0.000000]     vmalloc : 0xcb800000 - 0xf8000000   ( 712 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xcb000000   ( 176 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0035000   ( 180 kB)
[    0.000000]       .text : 0xc0035000 - 0xc05f3000   (5880 kB)
[    0.000000]       .data : 0xc05f4000 - 0xc063ee40   ( 300 kB)
[    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:375
[    0.000000] omap_hwmod: gpio1: softreset failed (waited 10000 usec)
[    0.000000] omap_hwmod: gpio2: softreset failed (waited 10000 usec)
[    0.000000] omap_hwmod: gpio3: softreset failed (waited 10000 usec)
[    0.000000] omap_hwmod: gpio4: softreset failed (waited 10000 usec)
[    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] GPMC revision 6.0
[    0.000000] Trying to install interrupt handler for IRQ368
[    0.000000] Trying to install interrupt handler for IRQ369
[    0.000000] Trying to install interrupt handler for IRQ370
[    0.000000] Trying to install interrupt handler for IRQ371
[    0.000000] Trying to install interrupt handler for IRQ372
[    0.000000] Trying to install interrupt handler for IRQ373
[    0.000000] Trying to install interrupt handler for IRQ374
[    0.000000] Trying to install type control for IRQ375
[    0.000000] Trying to set irq flags for IRQ375
[    0.000000] OMAP clockevent source: GPTIMER1 at 20000000 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.010000] Calibrating delay loop... 598.01 BogoMIPS (lpj=2990080)
[    0.240000] pid_max: default: 32768 minimum: 301
[    0.240000] Security Framework initialized
[    0.250000] Mount-cache hash table entries: 512
[    0.250000] CPU: Testing write buffer coherency: ok
[    0.260000] devtmpfs: initialized
[    0.260000] TI81XX: Map 0x8af00000 to 0xfe500000 for dram barrier
[    0.270000] TI81XX: Map 0x40300000 to 0xfe600000 for sram barrier
[    0.280000] omap_voltage_early_init: voltage driver support not added
[    0.280000] regulator: core version 0.5
[    0.290000] regulator: dummy: 
[    0.290000] NET: Registered protocol family 16
[    0.290000] omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
[    0.300000] omap_voltage_add_dev: VDD specified does not exist!
[    0.310000] OMAP GPIO hardware version 0.1
[    0.310000] OMAP GPIO hardware version 0.1
[    0.320000] OMAP GPIO hardware version 0.1
[    0.320000] OMAP GPIO hardware version 0.1
[    0.330000] clk get on i2c3 fck failed
[    0.340000] Cannot clk_get ck_32
[    0.340000] Debugfs: Only enabling/disabling deep sleep and wakeup timer is supported now
[    0.350000] registered ti81xx_vpss device
[    0.360000] registered ti81xx_vidout device
[    0.360000] registered ti81xx on-chip HDMI device
[    0.360000] registered ti81xx_fb device
[    0.370000] registered ti81xx_vin device
[    0.380000] bio: create slab <bio-0> at 0
[    0.390000] SCSI subsystem initialized
[    0.390000] usbcore: registered new interface driver usbfs
[    0.400000] usbcore: registered new interface driver hub
[    0.400000] usbcore: registered new device driver usb
[    0.410000] USBSS revision 4ea2080b
[    0.410000] registerd cppi-dma Intr @ IRQ 17
[    0.420000] Cppi41 Init Done
[    0.420000] omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
[    0.430000] regulator: VRTC: 1800 mV 
[    0.440000] regulator: VIO: 1500 mV 
[    0.440000] regulator: VDD1: 600 <--> 1500 mV at 1200 mV 
[    0.450000] regulator: VDD2: 600 <--> 1500 mV at 1200 mV 
[    0.460000] regulator: VDDCTRL: 600 <--> 1400 mV at 1200 mV 
[    0.460000] regulator: LDO1: 1100 <--> 3300 mV at 1800 mV 
[    0.470000] regulator: LDO2: 1100 <--> 3300 mV at 1800 mV 
[    0.480000] regulator: LDO3: 1100 <--> 3300 mV at 3300 mV 
[    0.490000] regulator: LDO4: 1100 <--> 3300 mV at 1800 mV 
[    0.490000] regulator: LDO5: 1100 <--> 3300 mV at 3300 mV 
[    0.500000] regulator: LDO6: 1100 <--> 3300 mV at 3300 mV 
[    0.510000] regulator: LDO7: 1100 <--> 3300 mV at 3300 mV 
[    0.510000] regulator: LDO8: 1100 <--> 3300 mV at 1800 mV 
[    0.520000] tps65910 1-002d: No interrupt support, no core IRQ
[    0.530000] regulator: tps62353: 750 <--> 1537 mV at 1200 mV 
[    0.550000] omap_i2c omap_i2c.3: bus 3 rev4.0 at 100 kHz
[    0.570000] omap_i2c omap_i2c.4: bus 4 rev4.0 at 100 kHz
[    0.570000] Advanced Linux Sound Architecture Driver Version 1.0.23.
[    0.580000] Bluetooth: Core ver 2.15
[    0.580000] NET: Registered protocol family 31
[    0.590000] Bluetooth: HCI device and connection manager initialized
[    0.590000] Bluetooth: HCI socket layer initialized
[    0.600000] cfg80211: Calling CRDA to update world regulatory domain
[    0.610000] Switching to clocksource gp timer
[    0.620000] musb-hdrc: version 6.0, otg (peripheral+host), debug=0
[    0.630000] musb-hdrc musb-hdrc.0: dma type: dma-cppi41
[    0.630000] MUSB controller-0 revision 4ea20800
[    0.640000] usb2phy: computed values rxcalib(15)DACs(30 16 15)
[    0.640000] usb2phy: override computed values rxcalib(15)DACs(30 16 15)
[    0.650000] usb2phy_config: musb(0) rxcalib done, rxcalib read value 6f6f617e
[    0.660000] musb-hdrc musb-hdrc.0: USB Peripheral mode controller at cb81e000 using DMA, IRQ 18
[    0.670000] musb-hdrc musb-hdrc.1: dma type: dma-cppi41
[    0.670000] MUSB controller-1 revision 4ea20800
[    0.680000] usb2phy: computed values rxcalib(15)DACs(27 15 13)
[    0.680000] usb2phy: override computed values rxcalib(15)DACs(27 15 13)
[    0.690000] usb2phy_config: musb(1) rxcalib done, rxcalib read value 6f6ddf6e
[    0.700000] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    0.710000] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[    0.710000] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.720000] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.730000] usb usb1: Product: MUSB HDRC host driver
[    0.730000] usb usb1: Manufacturer: Linux 2.6.37-naon-4.0.0+ musb-hcd
[    0.740000] usb usb1: SerialNumber: musb-hdrc.1
[    0.750000] hub 1-0:1.0: USB hub found
[    0.750000] hub 1-0:1.0: 1 port detected
[    0.750000] musb-hdrc musb-hdrc.1: USB Host mode controller at cb828800 using DMA, IRQ 19
[    0.760000] NET: Registered protocol family 2
[    0.770000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.770000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.780000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.790000] TCP: Hash tables configured (established 4096 bind 4096)
[    0.800000] TCP reno registered
[    0.800000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.810000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.810000] NET: Registered protocol family 1
[    0.820000] RPC: Registered udp transport module.
[    0.820000] RPC: Registered tcp transport module.
[    0.830000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.830000] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.840000] PMU: registered new PMU device of type 0
[    0.850000] Naon Custom Power Management registered
[    0.850000] omap-iommu omap-iommu.0: ducati registered
[    0.860000] omap-iommu omap-iommu.1: sys registered
[    1.020000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.020000] JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
[    1.030000] msgmni has been set to 241
[    1.040000] io scheduler noop registered
[    1.040000] io scheduler deadline registered
[    1.040000] io scheduler cfq registered (default)
[    1.050000] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.060000] omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
[    1.060000] console [ttyO0] enabled, bootconsole disabled
[    1.060000] console [ttyO0] enabled, bootconsole disabled
[    1.080000] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    1.080000] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    1.090000] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    1.100000] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    1.110000] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    1.120000] brd: module loaded
[    1.130000] loop: module loaded
[    1.130000] at24 4-0051: 4096 byte 24c32 EEPROM (writable)
[    1.140000] m25p80 spi1.0: unrecognized JEDEC id 1f2800
[    1.150000] omap2-nand driver initializing
[    1.150000] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung )
[    1.160000] Creating 7 MTD partitions on "omap2-nand.0":
[    1.160000] 0x000000000000-0x000000020000 : "NAND U-Boot-min"
[    1.170000] 0x000000020000-0x000000060000 : "NAND U-Boot"
[    1.180000] 0x000000060000-0x000000080000 : "NAND U-Boot Env1"
[    1.190000] 0x000000080000-0x0000000a0000 : "NAND U-Boot Env2"
[    1.190000] 0x0000000a0000-0x0000004a0000 : "NAND Kernel"
[    1.200000] 0x0000004a0000-0x000008000000 : "NAND File System (small)"
[    1.340000] 0x000008000000-0x000040000000 : "NAND File System (big)"
[    2.340000] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    2.340000] davinci_mdio davinci_mdio.0: detected phy mask ffffffbd
[    2.350000] davinci_mdio.0: probed
[    2.350000] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver Marvell 88E1111
[    2.360000] davinci_mdio davinci_mdio.0: phy[6]: device 0:06, driver SMSC LAN8710/LAN8720
[    2.370000] CAN device driver interface
[    2.370000] CAN bus driver for Bosch D_CAN controller 1.0
[    2.380000] d_can d_can: d_can device registered (irq=52, irq_obj=53)
[    2.390000] tun: Universal TUN/TAP device driver, 1.6
[    2.390000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    2.400000] usbcore: registered new interface driver asix
[    2.410000] Initializing USB Mass Storage driver...
[    2.410000] usbcore: registered new interface driver usb-storage
[    2.420000] USB Mass Storage support registered.
[    2.420000] mice: PS/2 mouse device common for all mice
[    2.430000] usb 1-1: new high speed USB device using musb-hdrc and address 2
[    2.440000] input: max7359 as /devices/platform/omap/omap_i2c.4/i2c-4/4-0038/input/input0
[    2.450000] input: TSC2007 Touchscreen as /devices/virtual/input/input1
[    2.460000] tps65910-rtc tps65910-rtc: Found RC mode, switching to crystal
[    2.470000] tps65910-rtc tps65910-rtc: rtc core: registered tps65910-rtc as rtc0
[    2.480000] i2c /dev entries driver
[    2.480000] Linux video capture interface: v2.00
[    2.480000] Driver for 1-wire Dallas network protocol.
[    2.500000] ina2xx 3-0041: power monitor INA226 (Rshunt = 10000 uOhm)
[    2.500000] OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
[    2.510000] Bluetooth: HCI UART driver ver 2.2
[    2.510000] Bluetooth: HCI H4 protocol initialized
[    2.520000] Bluetooth: HCI BCSP protocol initialized
[    2.530000] Bluetooth: HCILL protocol initialized
[    2.540000] cpuidle: using governor ladder
[    2.550000] cpuidle: using governor menu
[    2.570000] usb 1-1: New USB device found, idVendor=0424, idProduct=2512
[    2.570000] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.580000] hub 1-1:1.0: USB hub found
[    2.590000] usbcore: registered new interface driver usbhid
[    2.590000] usbhid: USB HID core driver
[    2.600000] notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbf900000
[    2.610000] UDA134X SoC Audio Codec
[    2.610000] hub 1-1:1.0: 2 ports detected
[    2.630000] asoc: uda134x-hifi <-> davinci-mcasp.2 mapping ok
[    2.630000] asoc: HDMI-DAI-CODEC <-> hdmi-dai mapping ok
[    2.640000] ALSA device list:
[    2.640000]   #0: NAON DDS
[    2.650000] NET: Registered protocol family 26
[    2.650000] TCP cubic registered
[    2.650000] NET: Registered protocol family 17
[    2.660000] can: controller area network core (rev 20090105 abi 8)
[    2.670000] NET: Registered protocol family 29
[    2.670000] can: raw protocol (rev 20090105)
[    2.680000] can: broadcast manager protocol (rev 20090105 t)
[    2.680000] Bluetooth: L2CAP ver 2.15
[    2.690000] Bluetooth: L2CAP socket layer initialized
[    2.690000] Bluetooth: SCO (Voice Link) ver 0.6
[    2.700000] Bluetooth: SCO socket layer initialized
[    2.700000] Bluetooth: RFCOMM TTY layer initialized
[    2.710000] Bluetooth: RFCOMM socket layer initialized
[    2.710000] Bluetooth: RFCOMM ver 1.11
[    2.710000] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.720000] Bluetooth: BNEP filters: protocol multicast
[    2.730000] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.730000] 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
[    2.740000] All bugs added by David S. Miller <davem@redhat.com>
[    2.750000] lib80211: common routines for IEEE802.11 drivers
[    2.750000] Registering the dns_resolver key type
[    2.760000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    2.760000] omap_voltage_late_init: Voltage driver support not added
[    2.770000] Power Management for TI81XX.
[    2.780000] CPSW initializing in DUAL mode
[    2.790000] Detected MACID=00:17:EB:52:6A:8A
[    2.790000] Detected MACID=00:17:EB:52:6A:8B
[    2.800000] tps65910-rtc tps65910-rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[    3.320000] 
[    3.320000] CPSW phy found : id is : 0x1410cc2
[    3.330000] 8021q: adding VLAN 0 to HW filter on device eth1
[    3.340000] Adding vlanid 0 to vlan filter
[    4.350000] IP-Config: Complete:
[    4.350000]      device=eth1, addr=192.168.0.123, mask=255.255.255.0, gw=192.168.0.254,
[    4.360000]      host=naon, domain=, nis-domain=(none),
[    4.360000]      bootserver=192.168.0.121, rootserver=192.168.0.121, rootpath=
[    4.370000] Waiting 5sec before mounting root device...
[    6.320000] PHY: 0:01 - Link is Up - 100/Full
[    9.550000] VFS: Mounted root (nfs filesystem) on device 0:14.
[    9.560000] devtmpfs: mounted
[    9.560000] Freeing init memory: 180K
INIT: version 2.86 booting
Please wait: booting...
Error opening /dev/fb0: No such file or directory
Starting udev
[   10.740000] udevd (88): /proc/88/oom_adj is deprecated, please use /proc/88/oom_score_adj instead.
[   14.160000] udev: renamed network interface eth0 to eth15
Root filesystem already rw, not remounting
Caching udev devnodes
[   16.130000] NET: Registered protocol family 10
ALSA: Restoring mixer settings...
NOT configuring network interfaces: / is an NFS mount
No state is present for card DDS
Found hardware: "" "" "" "" ""
Hardware is initialized using a generic method
No state is present for card DDS
Thu Apr  4 12:21:00 UTC 2013
INIT: Entering runlevel: 5
Using firmware for 'naon' from directory /usr/share/ti/ti-media-controller-utils/naon
HDVICP detected successfully
DM814X prcm_config_app version: 2.0.0.1
Doing PRCM settings...
        PRCM for IVHD0 is in Progress, Please wait.....  
                        BW Phy Addr : 0x48180600 Data : 0x00000002
                        AW Phy Addr : 0x48180600 Data : 0x00000002
                        Phy Addr : 0x48180c04 Data : 0x00000037
                        BW Phy Addr : 0x48180620 Data : 0x00070000
                        AW Phy Addr : 0x48180620 Data : 0x00050002
                        BW Phy Addr : 0x48180624 Data : 0x00030000
                        AW Phy Addr : 0x48180624 Data : 0x00010002
                        Phy Addr : 0x48180600 Data : 0x00000102
                        BW Phy Addr : 0x48180c10 Data : 0x00000007
                        AW Phy Addr : 0x48180c10 Data : 0x00000003
                        Phy Addr : 0x48180c14 Data : 0x00000004
                        BW Phy Addr : 0x58088000 Data : 0xc9252892
                        AW Phy Addr : 0x58088000 Data : 0xeafffffe
                        BW Phy Addr : 0x58098000 Data : 0xb7771671
                        AW Phy Addr : 0x58098000 Data : 0xeafffffe
                        BW Phy Addr : 0x48180c10 Data : 0x00000003
                        AW Phy Addr : 0x48180c10 Data : 0x00000000
                        Phy Addr : 0x48180c14 Data : 0x00000007
        PRCM for IVHD0 is Done Successfully  
PRCM Initialization completed 
Loading syslink module
FATAL: Module syslink not found.
Running depmod to look for missing syslink module..
[   19.040000] SysLink version : 2.20.02.20
[   19.040000] SysLink module created on Date:Apr 22 2013 Time:11:51:39
Loading HDVICP2 Firmware
FIRMWARE: memory map bin file: /usr/share/ti/ti-media-controller-utils/naon/mm_dm81xxbm.bin
FIRMWARE: isI2cInitRequiredOnM3: 0
Current FL_DEBUG = error
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
FIRMWARE: 1 start Successful
Loading HDVPSS Firmware
FIRMWARE: memory map bin file: /usr/share/ti/ti-media-controller-utils/naon/mm_dm81xxbm.bin
FIRMWARE: isI2cInitRequiredOnM3: 0
Current FL_DEBUG = error
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
FIRMWARE: 2 start Successful
[   21.780000] HDMI W1 rev 4.0
[   21.780000] HDMI CEC Spec version 1.2
[   21.790000] HDCP initialized
[   22.120000] I2C No Ack
[   22.120000] 
[   22.580000] Naon EVB Mid dummy decoder registered
[   22.630000] ti81xxvin ti81xxvin: registered sub device tvp7002
[   22.640000] ti81xxvin ti81xxvin: TI81xx HDVPSS Capture driver initialized
Starting system message bus: dbus.
Starting Dropbear SSH server: dropbear.
Starting telnet daemon.
Starting network benchmark server: netserver.
Starting syslogd/klogd: done
Starting thttpd.
Starting PVR
Usage: insmod filename [args]
/dev/mem opened.
Memory mapped at address 0x40107000.
Read at address  0x48180F04 (0x40107f04): 0x00000001
Write at address 0x48180F04 (0x40107f04): 0x00000000, readback 0x00000000
/dev/mem opened.
Memory mapped at address 0x4025e000.
Read at address  0x48180900 (0x4025e900): 0x00000102
Write at address 0x48180900 (0x4025e900): 0x00000002, readback 0x00000002
/dev/mem opened.
Memory mapped at address 0x4032e000.
Read at address  0x48180920 (0x4032e920): 0x00040002
Write at address 0x48180920 (0x4032e920): 0x00000002, readback 0x00000002

 _____                    _____           _         _   
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
              |___|                    |___|            

Arago Project http://arago-project.org dm814x-evm ttyO0

Arago 2011.09 dm814x-evm ttyO0

dm814x-evm login: