Panda How to kernel 3 1 rcx

From eLinux.org
Revision as of 03:13, 8 August 2011 by KenMcGuire (Talk | contribs) (Created page with "== Introduction == Continuing Happy 20th Birthday Greetings to Linux!! The merge window for 3.1 is over and the 3.1-rc1 kernel has been released. Lots of work on the omap platfor...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

Continuing Happy 20th Birthday Greetings to Linux!! The merge window for 3.1 is over and the 3.1-rc1 kernel has been released. Lots of work on the omap platforms and on pandaboard. Let's see what -rc1 has brought. (This is a still a WIP though, so beware of taking any of this on face value)


rc1

There is still an issue with the setting up of the wl12xx:

[    0.181457] error setting wl12xx data

The extremely simple workaround available for 3.0, moved to twl_common.c, doesn't produce the working wlan as in 3.0.

Switching to HDMI as worked in 3.0 does not work in 3.1-rc1, but switching back does work.

More to come as these issue are investigated.


DVI Patch

This patch is necessary to make 720p resolution available.

0003-omap4-pandaboard-dvi720p.patch

Apply it like so: (from inside the kernel sources directory)

patch -p1 < 0001-omap4-pandaboard-dvi720p.patch

Then use either of the following configs

make ARCH=arm omap2plus_defconfig
        or
make ARCH=arm panda_dvi_defconfig

Compile as above.

I2C Patch

i2c character device driver

Ever since 2.6.38, the i2c character device driver support from user space has been broken for OMAP44xx.
* A fix has been submitted for the linux-omap-2.6 branch, but it may be a while till it gets into an -rcx.
See http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=39fe1a6fafe1e85c183379af9f3ceda7cd24bd65 for the commit.
* A quick fix for this issue is available File:Omap44xx-i2c-fix.patch

Apply it like so: (from inside the kernel sources directory)

patch -p1 < Omap44xx-i2c-fix.patch

Compile as above.

Building

Building 3.1-rc1 is basically the same as How to build 2.6.38 kernel, but of course you need the 3.1-rc1 sources. The omap2plus_defconfig works and illustrates the wl12xx issue, with or without a patch to twl_common.c. config.3.1-rc1.1 works with the dvi patch and i2c patch.

Testing

fbtest on DVI Port

After booting run fbtest to see a nice test pattern from the dvi port.

Fbtest.jpg

Switching primary display to the HDMI port which doesn't work any more

# Enable HDMI
echo "1" > /sys/devices/platform/omapdss/display1/enabled

# Disable overlay0 (an overlay must be disabled before changing its properties)
echo "0" > /sys/devices/platform/omapdss/overlay0/enabled

# Set the manager of overlay0 to display1 which is HDMI
echo "tv" > /sys/devices/platform/omapdss/overlay0/manager

# Enable overlay0
echo "1" > /sys/devices/platform/omapdss/overlay0/enabled

And content on overlay 0 of primary lcd would be transferred to HDMI. It works similarly for all other overlay's.

Switching primary display to the DVI port which does switch back to DVI from a non working HDMI

See: http://omappedia.org/wiki/Bootargs_for_enabling_display for lots of useful info on the display subsystem. Be aware that the display, manager and overlay numbers don't match the panda configuration.

# Disable HDMI
echo "0" > /sys/devices/platform/omapdss/display1/enabled

# Disable overlay0 (an overlay must be disabled before changing its properties)
echo "0" > /sys/devices/platform/omapdss/overlay0/enabled

# Set the manager of overlay0 to display0 which is DVI
echo "lcd2" > /sys/devices/platform/omapdss/overlay0/manager

# Enable overlay0
echo "1" > /sys/devices/platform/omapdss/overlay0/enabled

The above commands should be run from the serial console and the cable should be in the destination port before running the commands.

fbtest on HDMI Port

Once a fix is available, run fbtest to see a nice test pattern from the HDMI port.

Fbtest2.jpg

i2cdetect

You can run i2cdetect and the results should look like this:

# i2cdetect -y -r 1
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- UU UU UU UU -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --