Release notes for the Linux kernel for L24.1 ---------------------------------------------- 30 November 2009 Copyright (C) 2009 Texas Instruments Incorporated. All rights reserved. 1. Introduction ---------------- This document accompanies OMAP(TM) Software Release L24.1 for Linux 2.6.31 on OMAP4430 SDP. The document specifies: - Instructions for unpacking the release - New features and features the release supports - Planned future features - Postponed features 2. Release Summary ------------------ This is an engineering release of the Linux Baseport for OMAP4430. It supports the OMAP4 Wakeup SDP board. The kernel is based on Linux-omap version 2.6.31 from open source. U-boot is based on open-source version 1.1.4. The u-boot source can be obtained via GIT from: http://dev.omapzoom.org/?p=bootloader/u-boot.git;a=shortlog;h=refs/heads/omap4_dev The x-loader source can be obtained via GIT from: http://dev.omapzoom.org/?p=bootloader/x-loader.git;a=shortlog;h=refs/heads/omap4_dev The kernel source can be obtained via GIT from: http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=shortlog;h=refs/heads/L24.1 This is an engineering release. Components that are supported in the L24.1 release: X-loader, U-Boot, OS Kernel (SMP), Phoenix power IC, UART, GP Timer, GPIO, Watchdog, Neon, I2C, MMC/SD/eMMC (with ADMA support), Ethernet, RTC, SDMA (including descriptor loading), Keypad, Touch screen, McSPI, McBSP, Mentor USB, Phoenix General Purpose ADC, Battery Charging, Audio (Phoenix Audio IC, ABE, AESS), Display driver (TAAL based), Basic display (DSS2 migration, FB dev), Tiler memory manager. 3. Instructions ---------------- 3.1 Board setup Please refer to the OMAP4430 SDP guide for instructions on setting up the OMAP4 board. 3.2 Compiling Images 3.2.1 Compiling U-boot Set the environment variable PATH such that cross compile binaries point to the needed tool chain. Refer to section 5 for tool chain information. To select the default configuration for U-Boot type: # make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config To build the U-Boot image type: # make CROSS_COMPILE=arm-none-linux-gnueabi- 3.2.2 Compiling X-loader (for booting from eMMC) Set the environment variable PATH such that cross compile binaries point to the needed tool chain. Refer to section 5 for tool chain information. U-boot needs to be placed in a directory parallel to x-loader and compiled first. E.g.: [DIR] omap4 +-- u-boot +-- x-loader To select the default configuration for X-loader type: # make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config To build the X-loader image type: # make CROSS_COMPILE=arm-none-linux-gnueabi- # make ift CROSS_COMPILE=arm-none-linux-gnueabi- 3.2.3 Compiling X-loader (for booting from external MMC) Edit include/configs/omap4430sdp.h to define CONFIG_MMC1 and disable/comment CONFIG_MMC2 Follow the same procedure as section 3.2.2 3.2.4 Compiling the Kernel Set the environment variable PATH such that cross-compile binaries point to the needed tool chain. Refer to section 5 for tool chain information. The default configuration file for Virtio4430 is present at arch/arm/configs/omap_4430sdp_defconfig. To work with the default configuration file, run following commands: # make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap_4430sdp_defconfig Build kernel with: # make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage NOTE: The above steps will create arch/arm/boot/uImage in the kernel directory which is the binary used for booting. 3.3 Flashing Images 3.3.1 Flashing images to emmc using u-boot Use a debugger or OMAPFlasher tool to download x-loader as well as u-boot into SDRAM and run u-boot from SDRAM. At the u-boot prompt use the following commands to flash x-loader and u-boot to EMMC -1- Erase all EMMC contents OMAP44XX SDP # mmcinit 1 OMAP44XX SDP # mmc 1 erase 0x0 0x800000 -2- Flash x-loader OMAP44XX SDP # mmc 1 erase 0x100 [size of x-loader in hex] OMAP44XX SDP # mmc 1 write [Ram Address] 0x100 [size of x-loader in hex] Note: Ram address is address where x-loader is downloaded in RAM using either the debugger or OMAPFlasher -3- Flash u-boot.bin OMAP44XX SDP # mmc 1 erase 0x400 [size] OMAP44XX SDP # mmc 1 write [Ram Address] 0x400 [size] Note: Ram address is address where u-boot is downloaded in RAM using either the debugger or OMAPFlasher - Reboot and change sysboot setting to sysboot 0-5 = on on on on on on 3.3 Filesystem 3.3.1 Using Filesystem from eMMC Use fdisk to create an ext2 partition (/dev/mmcblk0p2) in eMMC leaving 2MB of space at the top. Use the following commands to flash the filesystem to eMMC partition -1- Bootup with a known good kernel and filesystem from RAM -2- Use a filesystem which has USB Gadget filestorage module g_filestorage.ko -3- Connect the usb cable from the board to the PC -4- Load the USB filestorage gadget module as: insmod g_filestorage.ko file=/dev/mmcblk0p2 stall=0 removable=1 -5- When the USB drive enumerates on the Linux PC, mount the drive -6- Add ext2 filesystem to the mounted drive -7- sync and then mount the drive. -8 Add the following in bootargs "root=/dev/mmcblk0p2 rw rootdelay=1" to be able to use the eMMC based FS as rootfs. 3.3.2 Using Filesystem over NFS Use the following as part of the bootargs "root=/dev/nfs rw nfsroot=:,nolock" 4. Features ----------- 4.1 New Features 4.2 Supported Features - Boot-loader: X-loader with MMC/eMMC/SD support U-boot with USB, MMC/eMMC/SD and Ethernet support - OS Kernel OS Kernel (SMP) Phoenix power IC, UART, GP Timer, GPIO, Watchdog, NEON, I2C, MMC/SD/eMMC (with ADMA support), Ethernet, RTC, SDMA (including descriptor loading), Keypad, Touch screen, McSPI, McBSP, Mentor USB, Phoenix General Purpose ADC, Battery Charging. -Audio Audio playback to Phoenix Hand-free, Head set output devices. HDMI audio playback Audio record through Phoenix analog MIC input. Simultaneous audio playback and capture. -Video Display driver - FBdev and V4L2 API support - Primary and Secondary DSI and HDMI displays - Simultaneous rendering on all 3 displays Tiler memory manager. 4.3 Postponed Features None 4.4 Future Planned Features Refer to Program schedule. 4.5 Defects Fixed in This Release None 4.6 Open Defects None 4.7 Open Change Requests None 4.8 Rejected Defects None 4.9 Postponed Defects None 4.10 Limitations - At u-boot level saveenv command doesn't work. - MAC address reading from ethernet EEPROM is not supported. 5. Tool Chain ------------- The toolchain used to build the code can be obtained from CodeSourcery at the following URL: http://www.codesourcery.com/gnu_toolchains/arm/portal/release644 The tool chain version is Sourcery G++ Lite 2008q3-72 for ARM GNU/Linux. The tool chain requires glibc 2.3.0 or higher to compile the source code on the host machine. -------------------------------------------------------------------------------- OMAP(TM) is a Trademark of Texas Instruments Incorporated Innovator(TM) is a Trademark of Texas Instruments Incorporated Code Composer Studio(TM) is a Trademark of Texas Instruments Incorporated DSP/BIOS(TM) is a Trademark of Texas Instruments Incorporated All other trademarks are the property of the respective owner.