Difference between revisions of "Panda How to kernel 3 1 rcx"

From eLinux.org
Jump to: navigation, search
Line 3: Line 3:
 
The merge window for 3.1 is over and the 3.1-rc1 kernel has been released.
 
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
 
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)
+
what -rc1 has brought.
 
 
  
 
== rc1 ==
 
== rc1 ==
Line 12: Line 11:
 
  [    0.181457] error setting wl12xx data
 
  [    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.
+
The extremely simple workaround available for 3.0, moved to twl_common.c in -rc1, doesn't produce the working wlan as in 3.0.
 +
But applying that to the -rc2 code does result in a functional wl12xx driver.
  
 
More to come as these issue are investigated.
 
More to come as these issue are investigated.
Line 19: Line 19:
 
Yep, -rc2 is out and I haven't had the time to fiddle with it as yet.
 
Yep, -rc2 is out and I haven't had the time to fiddle with it as yet.
 
Stay tuned.
 
Stay tuned.
 +
 +
== rc3 ==
 +
-rc3 is out and there are no OMAP or Panda changes, stay tuned for a somewhat late -rc2 update.
 +
In short, -rc2 fixes some of the wl12xx issues, but still requires a patch to function.
 +
There is still an unresolved start up issue with wl12xx, in that sometimes it will work, sometimes, not. Same kernel, MLO, & u-boot and userspace. ???
 +
  
 
== DVI Patch ==
 
== DVI Patch ==
Line 52: Line 58:
  
 
== Building ==
 
== Building ==
Building 3.1-rc1 is basically the same as [[Panda_How_to_kernel_2_6_38|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.  [[Media:config.3.1-rc1.1|config.3.1-rc1.1]] works with the dvi patch and i2c patch.
+
Building 3.1-rc1 or -rc2 is basically the same as [[Panda_How_to_kernel_2_6_38|How to build 2.6.38 kernel]], but of course you need the 3.1-rc1/rc2 sources. The omap2plus_defconfig works and illustrates the wl12xx issue, with or without a patch to twl_common.c.  [[Media:config.3.1-rc1.1|config.3.1-rc1.1]] works with the dvi patch and i2c patch.
  
 
== Testing ==
 
== Testing ==

Revision as of 19:29, 22 August 2011

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.

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 in -rc1, doesn't produce the working wlan as in 3.0. But applying that to the -rc2 code does result in a functional wl12xx driver.

More to come as these issue are investigated.

rc2

Yep, -rc2 is out and I haven't had the time to fiddle with it as yet. Stay tuned.

rc3

-rc3 is out and there are no OMAP or Panda changes, stay tuned for a somewhat late -rc2 update. In short, -rc2 fixes some of the wl12xx issues, but still requires a patch to function. There is still an unresolved start up issue with wl12xx, in that sometimes it will work, sometimes, not. Same kernel, MLO, & u-boot and userspace. ???


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 or -rc2 is basically the same as How to build 2.6.38 kernel, but of course you need the 3.1-rc1/rc2 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

Make sure that a monitor is plugged into the HDMI port before doing the following:

# 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

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.

Make sure that a monitor is plugged into the DVI port before doing the following:

# 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

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: -- -- -- -- -- -- -- --