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

From eLinux.org
Jump to: navigation, search
Line 4: Line 4:
 
== rc1 ==
 
== rc1 ==
 
There have been regressions since 2.6.39.
 
There have been regressions since 2.6.39.
 +
 +
The kernel hangs waiting for the sd/mmc card.
 +
 +
Enabling USB results in very ugly kernel oops.
  
 
== rc2 ==
 
== rc2 ==
 
Looks like Tony Lindgren's pull request to Linus missed the release of -rc2 by a couple of hours, so no fixes got into -rc2.
 
Looks like Tony Lindgren's pull request to Linus missed the release of -rc2 by a couple of hours, so no fixes got into -rc2.
We will have to wait a week or so for -rc3, an expanded mmc fix for the issue below is included and hopefully the cause of the USB power problem will be discovered and included as well.
+
We will have to wait a week or so for -rc3, an expanded mmc fix for the issue is included.
 +
 
 +
A partial fix is available for the kernel oops by reverting commit 7e6502d577106fb5b202bbaac64c5f1b065e6daa. See http://www.spinics.net/lists/linux-omap/msg52043.html for details.
 +
 
 +
You will need to have cloned the repository, rather then using the ...tar.bz2 sources.
 +
 
 +
git revert 7e6502d577106fb5b202bbaac64c5f1b065e6daa
 +
 
 +
the following messages are still present during bootup:
 +
 
 +
[    0.243896] machine_constraints_voltage: VUSB: failed to apply 3300000uV constraint
 +
[    0.245208] twl_reg twl_reg.46: can't register VUSB, -22
 +
[    0.245239] twl_reg: probe of twl_reg.46 failed with error -22
 +
 
 +
and happens whether the EHCI driver is selected in the .config or not.
 +
 
 +
The mmc patch is still required, as are the dvi patch and the i2c patch.
  
 
== Building ==
 
== Building ==
Building 3.0-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 -rc1 sources. The omap2plus_defconfig works once the mmc ptch is applied. Enabling USB results in very ugly kernel oopses.
+
Building 3.0-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 -rc1/2 sources. The omap2plus_defconfig works once the mmc patch is applied. [[Media:config.3.0-rc2.1|config.3.0-rc2.1]] workes for the reverted commit, mmc patch, dvi patch and i2c patch. You really need to apply them all, as odd things may happen with only a partial set applied.
  
 
=== MMC Patch ===
 
=== MMC Patch ===
Line 22: Line 42:
  
  
This issue has been fixed in linux-omap-2.6.git, but the oopses are still present when EHCI is enabled in .config.
+
The mmc issue has been fixed in linux-omap-2.6.git, and should be in -rc3 but the oopses are still present when EHCI is enabled in .config, unless the above commit is reverted..
 
+
It looks like they are related to VUSB power not being set up correctly as evidenced by:
+
 
+
[    0.243896] machine_constraints_voltage: VUSB: failed to apply 3300000uV constraint
+
[    0.245208] twl_reg twl_reg.46: can't register VUSB, -22
+
[    0.245239] twl_reg: probe of twl_reg.46 failed with error -22
+
 
+
which occurs after the board-omap4panda.c file init's the various regulators, and happens whether the EHCI driver is selected in the .config or not.
+
 
+
The oops occurs when the EHCI driver tries to access the hardware which has no power.
+
  
There is also an issue with the setting up of the wl12xx:
+
There is also an issue with the setting up of the wl12xx in -rc1/2:
  
 
  [    0.181457] error setting wl12xx data
 
  [    0.181457] error setting wl12xx data
  
Which is a problem new to 3.0-rc1, still present in linux-omap-2.6.git.
+
Which is a problem new to 3.0-rc1/2, still present in linux-omap-2.6.git, and although the error is not present in the reverted -rc2, the wlan does not appear to work.
  
  

Revision as of 01:56, 7 June 2011

Introduction

The 3.0-rc1 kernel has been released.

rc1

There have been regressions since 2.6.39.

The kernel hangs waiting for the sd/mmc card.

Enabling USB results in very ugly kernel oops.

rc2

Looks like Tony Lindgren's pull request to Linus missed the release of -rc2 by a couple of hours, so no fixes got into -rc2. We will have to wait a week or so for -rc3, an expanded mmc fix for the issue is included.

A partial fix is available for the kernel oops by reverting commit 7e6502d577106fb5b202bbaac64c5f1b065e6daa. See http://www.spinics.net/lists/linux-omap/msg52043.html for details.

You will need to have cloned the repository, rather then using the ...tar.bz2 sources.

git revert 7e6502d577106fb5b202bbaac64c5f1b065e6daa

the following messages are still present during bootup:

[    0.243896] machine_constraints_voltage: VUSB: failed to apply 3300000uV constraint
[    0.245208] twl_reg twl_reg.46: can't register VUSB, -22
[    0.245239] twl_reg: probe of twl_reg.46 failed with error -22

and happens whether the EHCI driver is selected in the .config or not.

The mmc patch is still required, as are the dvi patch and the i2c patch.

Building

Building 3.0-rc1, or -rc2 is basically the same as How to build 2.6.38 kernel, but of course you need the -rc1/2 sources. The omap2plus_defconfig works once the mmc patch is applied. config.3.0-rc2.1 workes for the reverted commit, mmc patch, dvi patch and i2c patch. You really need to apply them all, as odd things may happen with only a partial set applied.

MMC Patch

A patch is available which addresses the mmc issue noted above:

0002-omap4-pandaboard-fix-mmc-support.patch

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

patch -p1 < 0002-omap4-pandaboard-fix-mmc-support.patch


The mmc issue has been fixed in linux-omap-2.6.git, and should be in -rc3 but the oopses are still present when EHCI is enabled in .config, unless the above commit is reverted..

There is also an issue with the setting up of the wl12xx in -rc1/2:

[    0.181457] error setting wl12xx data

Which is a problem new to 3.0-rc1/2, still present in linux-omap-2.6.git, and although the error is not present in the reverted -rc2, the wlan does not appear to work.


DVI Patch

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

patch -p1 < 0001-omap4-pandaboard-fix-dvi-support.patch

Then use either of the following configs

make ARCH=arm omap2plus_defconfig
        or
make ARCH=arm panda_dvi_defconfig

Then compile with

make ARCH=arm CROSS_COMPILE=Path_to_your/arm-2009q3/bin/arm-none-linux-gnueabi- uImage
     or
make ARCH=arm CROSS_COMPILE=Path_to_your/arm-2010q1/bin/arm-none-linux-gnueabi- uImage


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

I2C Patch

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

patch -p1 < Omap44xx-i2c-fix.patch

It applies with some fuzzes and offsets, but does apply successfuly. Then compile as above.


Testing: No testing possible yet till the booting problems are resolved

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

Fbtest.jpg

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


Stay tuned as the 3.0-rcx series evolves, where there needs to be some serious bug squashing.