diff options
author | Ricardo Perez Olivares <x0081762@ti.com> | 2010-08-17 19:21:20 -0500 |
---|---|---|
committer | Ricardo Perez Olivares <x0081762@ti.com> | 2010-08-17 19:21:20 -0500 |
commit | 4a49ddc5fdf3e4acf90ea4c219f9742b3be48ab8 (patch) | |
tree | d18b1f00c33b36e4ebd2f356eb75c6468ee7cdf4 | |
parent | 180370bda29fd64472e77b8901074d1fa2f289b9 (diff) |
OMAP4: RLS_Notes: Adding RLS notes for L24.9ti-2.6.35-omap4-L24.9
Adding Release Notes for L24.9
Signed-off-by: Ricardo Perez Olivares <x0081762@ti.com>
-rw-r--r-- | TI_OMAP4_Kernel_Release_Notes_L24.x.txt | 502 |
1 files changed, 502 insertions, 0 deletions
diff --git a/TI_OMAP4_Kernel_Release_Notes_L24.x.txt b/TI_OMAP4_Kernel_Release_Notes_L24.x.txt new file mode 100644 index 000000000000..5a212e8fa8ac --- /dev/null +++ b/TI_OMAP4_Kernel_Release_Notes_L24.x.txt @@ -0,0 +1,502 @@ +17 August 2010 + + +1. Introduction +---------------- +This document accompanies OMAP(TM) Software Release L24.9 based on Linux 2.6.35 +on OMAP4430 SDP, Blaze and Panda boards. The document specifies details about: + - downloading the source code and building the images + - supported features + - defects fixed and defects existing in the release. + +2. Release Summary +------------------ +This is a release of the Linux Baseport for OMAP4430. It supports the +OMAP4 SDP, Blaze and Panda boards. The kernel is based on Linux version 2.6.35 +from open source. U-boot is based on open-source version 1.1.4. + +NOTE that the Kernel for SDP, Blaze and Panda boards is the same. However the +bootloaders for Panda are in separate GITs compared to the ones for SDP and Blaze. +L24.10 onwards the same bootloader codebase will support all the boards. + +2.1 Bootloaders for SDP and Blaze boards +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 + +2.2 Bootloaders for Panda boards +The u-boot source can be obtained via GIT from: + GIT: git://gitorious.org/pandaboard/u-boot.git + Branch: omap4_panda + +The x-loader source can be obtained via GIT from: + GIT: git://gitorious.org/pandaboard/x-loader.git + Branch: omap4_panda + +2.3 Kernel for all boards (SDP, Blaze, Panda) +The kernel source can be obtained via GIT from: + http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=shortlog;h=refs/heads/L24.9 + +Components that are supported in the release: + X-loader, U-Boot, OS Kernel (SMP), Phoenix power IC, UART, GP Timer, GPIO, Watchdog, + Neon, I2C, MMC/SD/eMMC, Ethernet, RTC, + SDMA (including descriptor loading), Keypad, Touch screen, McSPI, McBSP, Mentor USB, + Phoenix General Purpose ADC, Battery Charging, Power Management Frameworks, + Sensors (Proximity, Accelerometer, Ambient Light, Temperature, Digital Compass,Pressure) + LED (PWM and GPIO), EHCI, OHCI. + Audio (Phoenix Audio IC, ABE, AESS), + Display driver (TAAL based), Basic display (DSS2 migration, FB dev), Tiler memory manager. + WLAN support + FM/Bluetooth support + + +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 + +While building u-boot and x-loader, please note the difference in config files used for +SDP/Blaze versus Panda. For building the kernel, the config file is same for all boards. + +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: + For SDP and Blaze boards: + # make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config + For Panda boards: + # make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430panda_config + +To build the U-Boot image type: + # make CROSS_COMPILE=arm-none-linux-gnueabi- + + +3.2.2 Compiling X-loader (for booting from external/removable MMC/SD) + +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: + For SDP and Blaze boards: + # make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config + For Panda boards: + # make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430panda_config + +To build the X-loader image type: + # make CROSS_COMPILE=arm-none-linux-gnueabi- + # make ift CROSS_COMPILE=arm-none-linux-gnueabi- + +The above step will create a MLO image, which can be copied into the +MMC/SD card for booting via MMC/SD. + +NOTE: 1 GHz (default configuration) is not stable on all ES1.0 devices. + You must always use omap4430sdp_MPU_600MHz_config for ES1.0. + +3.2.3 Compiling X-loader (for booting from eMMC) + +Follow same steps as above to create an MLO image. A configuration header needs +to be added at the begining of this MLO to create an image 'x-load.ch.bin' that +can be written to the eMMC for eMMC-booting. Please contact your TI +representative for obtaining the configuration header. + +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 OMAP 4430 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 + +For booting the kernel on OMAP4430 ES1.0, additionally enable CONFIG_OMAP4_ES1 in +the kernel config. + +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 and Booting + +3.3.1 Booting from removable MMC + +Use the MLO (ref: section 3.2.2) and u-boot.bin (ref: section 3.2.1) binaries +and follow the instructions at http://elinux.org/BeagleBoard#MMC.2FSD_boot +to boot the board from removable MMC. + +Set the board switch settings as follows to boot the board from removable MMC: + S9 - 1-off, 2-on, 3-on, 4-on + S8 - 1-off, 2-on, 3-off, 4-on, 5-on, 6-on, 7-on, 8-on + +3.3.2 Flashing and booting from eMMC + +Follow the instructions below to save x-loader and u-boot binaries to eMMC and +subsequently boot from eMMC. + +Get the x-loader and u-boot binaries (that you want to flash to eMMC) into RAM +using one of the following options. + +Option 1: +Use a debugger or OMAPFlasher tool to download x-loader (with configuration +header, e.g. x-load.ch.bin) as well as u-boot.bin into +SDRAM and run u-boot from SDRAM. + +Option 2: +Boot via a removable MMC card following the instructions in section 3.3.1, but +additionally keep the x-load.ch.bin that you want to flash to eMMC in the same +removable MMC card. After booting from removable MMC, copy the x-load.ch.bin +and u-boot.bin from the MMC to RAM using the following commands: +OMAP44XX SDP # mmcinit 0 +OMAP44XX SDP # fatload mmc 0 [Ram Address X] x-load.ch.bin +OMAP44XX SDP # fatload mmc 0 [Ram Address Y] u-boot.bin + +Once the x-loader and u-boot binaries are in RAM, use the following commands +to copy them 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 X] 0x100 [size of x-loader in hex] +Note: Ram address X is address where x-loader is downloaded in RAM using either the +debugger, OMAPFlasher or removable MMC. +3) Flash u-boot.bin +OMAP44XX SDP # mmc 1 erase 0x400 [size] +OMAP44XX SDP # mmc 1 write [Ram Address Y] 0x400 [size] +Note: Ram address Y is address where u-boot is downloaded in RAM using either the +debugger, OMAPFlasher or removable MMC. + +Set the board switch settings as follows to boot the board from eMMC: + S9 - 1-off, 2-on, 3-on, 4-on + S8 - 1-on, 2-on, 3-on, 4-on, 5-on, 6-off, 7-on, 8-on + +3.3.3 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.4 Bootargs + +If your board has 1GB memory, add "mem=1G" in the bootargs. Most OMAP4430 +ES2.0 SDP and Blaze boards have 1GB RAM. OMAP4 ES1.0 boards have 512 MB RAM. + +Since UART3 is used as the console on OMAP4 Wakeup board, you need to set +'console=ttyO2,115200n8' in the bootargs + +While using a filesystem from MMC/SD/eMMC, you may use params such as: +'root=/dev/mmcblk1p2 rw rootdelay=1'. The rootdelay is required because +removable cards may take a few seconds to be detected. + +On SDP and Blaze boards, eMMC block device will always be available +at /dev/mmcblk0 while removable MMC/SD block device will be available at +/dev/mmcblk1. + +While using a filesystem via NFS, you may use params such as: +'root=/dev/nfs rw nfsroot=<serverip>:<mount-partition>,nolock' + +Refer to section 3.4.2 for display related bootargs options + +For detailed list and explaination of the various boot parameters, please refer +http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch09.pdf + + +3.3.5 Saving environment variables in u-boot + +The 'saveenv' command in u-boot saves the environment variables in eMMC +on OMAP4 SDP and Blaze boards. This is not supported on Panda boards as +eMMC is not available on Panda boards. + +On SDP and Blaze, the environment variables are stored on a RAW partition +of size 1MB on eMMC starting from sector 0x700 to sector 0x7FF. +The usage is as below: + - Just typing saveenv prompts user to press 'y' or 'Y' once user confirms + env is saved to eMMC or else throws message "Cannot save env to eMMC' + - Typing "saveenv -f" forcefully updates env without user intervention. + + +3.4 Using FB and V4L2 Display driver + +For details please refer to: +http://omappedia.org/wiki/Bootargs_for_enabling_display + +Write Back usage guide is available at: +http://omappedia.org/wiki/Write_Back_pipeline_usage_guide + +3.5 Enabling Power Management Features + +All PM features are disabled in the default OMAP4 kernel configuration +(omap_4430sdp_defconfig). +All clocks are still kept enabled on bootloader. + +To test PM features please use omap4_pm_defconfig. Note that PM features +on OMAP4430 ES1.0 can only be verified on a EMU device. The EMU device needs +the x-loader signed with the right PPA release. + +omap4_pm_defconfig does not enable Tick suppression. To do so enable these +options manually. + +Enable the following options in menuconfig + Kernel Features ---> Use local timer interrupts + Kernel Features ---> Tickless System + Kernel Features ---> High Resolution Timer support + +omap4_pm_defconfig has VFP support disabled due to a know issue with enabling +FPU on ES1. Please do not enable VFP support. + +3.5.1 CPU Hotplug + +To hotplug out CPU1 use the following command + +echo 0 > /sys/devices/system/cpu/cpu1/online + +To bring back CPU1 online use the following command + +echo 1 > /sys/devices/system/cpu/cpu1/online + +Note that CPU0 cannot be offlined due to hardware limitation. +Currenlty CPU1 transitions to CSWR state when offlined. This can +only be verified using OBS signals. + +3.5.2 CPUIdle + +To test cpuidle, it's necessary that CPU1 is hotplugged out. +Use the below command to hotplug out CPU1 +echo 0 > /sys/devices/system/cpu/cpu1/online + +Once CPU1 is hotplugged out, OBS signals can be used to +verify MPU/CPU0/CPU1 transtitions. + +Currently only sleep state of MPU CSWR is supported. + +3.5.3 System Suspend + +To test system suspend, use the following command + +echo mem > /sys/power/state + +Use OBS signals to verify MPU/CPU0/CPU1 transitions. + +Currently only sleep state of MPU CSWR is supported. + +Please use a ramdisk inorder to test system suspend feature + +3.6 Using Audio Driver + +Include the asound.conf file in /etc directory in your FS. It maps the different +audio devices + +Usage: +aplay -D mm file.wav +aplay -D tones file.wav +aplay -D vx file.wav +aplay -D hd_audio file.wav + + + +4. Features +----------- + +4.1 New Features + +- EHCI and OHCI are supported for functionality. These drivers do not support + Power Management and hence are disabled in the default kernel configuration. +- Himem support is enabled by default. +- Power management (CONFIG_PM) is enabled by default for OMAP4430 ES2.0, while + it is disabled for OMAP4430 ES1.0. + +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 , + Ethernet, + RTC, + SDMA (including descriptor loading), + Keypad, + Touch screen, + McSPI, + McBSP, + Mentor USB, + EHCI, + OHCI, + Phoenix General Purpose ADC, + Battery Charging. + Proximity sensor + Accelerometer sensor + Ambient Light sensor + Temperature sensor + Digital Compass + Pressure Sensor + LED (PWM and GPIO) + +- Power Management Frameworks + - Clock framework + - Clockdomain framework + - Powerdomain framework + - Regulator framework + - CPUidle with support upto MPU CSWR + - System wide suspend with support upto MPU CSWR + - CPU1 hotplug with support upto CPU1 CSWR + +NOTE: + - Power management (CONFIG_PM) is enabled by default for OMAP4430 ES2.0, + while it is disabled for OMAP4430 ES1.0. + - All clocks are still kept enabled on bootloader. + - These features can only be validated on EMU devices with omap4_pm_defconfig + +- 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. + Audio Playback to Phoenix Earphone + Audio Playback using Tones port + ALSA controls for ABE mixers + Add McPDM power management support + +- Video + Display driver + - FBdev and V4L2 API support + - Primary and Secondary DSI and HDMI displays + - Simultaneous rendering on all 3 displays + Tiler memory manager. + +- WLAN + +- FM/Bluetooth + +4.3 Postponed Features + +-none + +4.4 Future Planned Features + +Refer to Program schedule. + +4.5 Defects Fixed in This Release + +OMAPS00219723 MMC: sometimes the order of detection of eMMC and external SD card is wrong +OMAPS00221981 eMMC device shall be stable at /dev/mmcblk0 +OMAPS00219502 IRQ 93 - I2C ISR not correctly handled +OMAPS00218080 PT: Robustness: EXT2-fs (mmcblk1p1): error: ext2_lookup is generated after certain number of iterations +OMAPS00214020 ethernet doesn't get configured with L24.4 kernel +OMAPS00215563 Not able to wakeup from suspend state +OMAPS00216039 L24x: Tick suppression won't work because of the LOCAL A9 timer aren't wakeup capable +OMAPS00216037 L24x: CPUx comes out of low power mode when there is an enevt om CPUy +OMAPS00220851 DMA test case failures - Descriptor loading and SMP +OMAPS00219141 u-boot net root path is too short +OMAPS00221839 MUSB (OTG) in Host mode: enumeration failure if USB device connected before blaze boot +OMAPS00215668 MUSB driver in device mode has problems with unaligned DMA. +OMAPS00221528 MUSB Host :- Fix the default DMA mapping of control transfer buffers +OMAPS00221512 USB: MUSB Host: Data transfers (Write to USB disk) fails with FAT errors +OMAPS00219663 1080p to WVGA downscaling of YUYV does not work +OMAPS00218554 HDMI panel shows tearing when 3 different 3D apps are executed +OMAPS00222043 On display-next branch or L24.8 if we disable HDMI in menuconfig, build error is observed +OMAPS00213825 Kernel crash when many processes have been scheduled +OMAPS00216449 Problems are seen with NFS when 'tcp' option is not specified in bootargs. +OMAPS00214020 ethernet doesn't get configured with L24.4 kernel + +4.6 Open Defects + +OMAPS00215651 MUSB driver in host mode has problems with unaligned DMA +OMAPS00217993 Display on Primary LCD does not wakeup when USB is active +OMAPS00218029 PT_PPM: Low USB-MS throughputs metrics for write operations +OMAPS00220506 omap-serial driver is unstable during bluetooth file transfer stress testing. +OMAPS00221541 UART trasfers fails at 3.5Mbps baudrate with DMA mode. +OMAPS00222079 MMC corruption on reading when ADMA is used +OMAPS00222347 [PT][Endurance] Transfer: PTLv1.3.8: Dxfer failed after some iterations +OMAPS00222789 At random times, booting is not completed and the SDP hangs. +OMAPS00222925 USB Host - Chapter 9 control,in out test case failure +OMAPS00221067 omaplfb relies on the FB2OFB definition, which is not defined by the headers of the Ubuntu kernel headers +OMAPS00219789 V4L2 error observed when rendering frames from Video decode testcases +OMAPS00216592 There is no way available for dynamically setting/resetting dithering bit +OMAPS00213906 180 degree rotation of yuv format shows a bluish tinge +OMAPS00220816 PicoDLP shows a junk buffer at the bottom of the frame +OMAPS00219829 PT_PPM: AV Playback: FPS numbers for Video Playback via HDMI are below validation criteria +OMAPS00220581 L_JPEGDEC_FUNCTIONAL_001: multiple dark lines are seen when image is displayed +OMAPS00222834 HDMI as a default device is giving OCP errors +OMAPS00222915 HDMI driver must not periodically wake up the system to enable ESD chip detecting plug insertion +OMAPS00222943 Key press cannot wakeup system + + +4.7 Open Change Requests +None + +4.8 Rejected Defects + +OMAPS00221558 HSMMC : Copying same file twice on MMC and when run "cmp" will throw error +OMAPS00218323 PT_Adhoc:Audio Playback of a file stored in SD card, Terminal hangs while SD is removed. +OMAPS00221850 UST OTG ( as HOST): CDC-ACM class issue +OMAPS00219388 Secondary display corruption with L24.6 + +4.9 Postponed Defects + +OMAPS00221726 PT_PPM: Low USB-MS throughputs metrics for read operations +OMAPS00216446 Disabling "auto update" on DSI would impact the V4l2 drivers that have the ISRs hooked up for FRAMEDONE already. + + +4.10 Limitations + +1) 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/sgpp/lite/arm/portal/release1293 + +The tool chain version is Sourcery G++ Lite 2010q1-202 for ARM GNU/Linux. + +-------------------------------------------------------------------------------- + +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. |