Difference between revisions of "Panda How to kernel 3 0 rcx"
KenMcGuire (talk | contribs) |
KenMcGuire (talk | contribs) |
||
Line 49: | Line 49: | ||
Or use the patch from this post: http://www.spinics.net/lists/linux-omap/msg52058.html | Or use the patch from this post: http://www.spinics.net/lists/linux-omap/msg52058.html | ||
− | This will be required until the hwmod code is fixed. There is quite a bit of hwmod work going on in linux-omap so help may be on the way, | + | This will be required until the hwmod code is fixed. There is quite a bit of hwmod work going on in linux-omap-2.6.git so help may be on the way, but as of 6/29/2011 none of this work has made it into master of linux-omap-2.6.git. |
the following messages are still present during bootup: | the following messages are still present during bootup: | ||
Line 59: | Line 59: | ||
and happens whether the EHCI driver is selected in the .config or not. | and happens whether the EHCI driver is selected in the .config or not. | ||
− | A patch has been submitted to address this issue: http://www.spinics.net/lists/linux-omap/msg53134.html, but it has not made it into linux-omap | + | A patch has been submitted to address this issue: http://www.spinics.net/lists/linux-omap/msg53134.html, but as of 6/29/2011 it has not made it into linux-omap-2.6.git. |
− | The mmc patch is still required, as are the dvi patch (if you want anything other than 640x480) and the i2c patch. | + | The mmc patch is still required (for -rc1/2), as are the dvi patch (if you want anything other than 640x480) and the i2c patch. |
== Building == | == Building == | ||
Line 77: | Line 77: | ||
− | The mmc issue has been fixed in linux-omap-2.6.git, | + | The mmc issue has been fixed in linux-omap-2.6.git, as well as -rc3,-rc4 and -rc5 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/4/5: | There is also an issue with the setting up of the wl12xx in -rc1/2/4/5: | ||
Line 83: | Line 83: | ||
[ 0.181457] error setting wl12xx data | [ 0.181457] error setting wl12xx data | ||
− | Which is a problem new to 3.0-rc1/2, still present in linux-omap-2.6.git | + | Which is a problem new to 3.0-rc1/2, still present in -rc3,-rc4 and -rc5, as well as linux-omap-2.6.git. Although the error is not present in the reverted -rc2/4/5 & linux-omap-2.6.git, the wlan does not appear to work. |
Revision as of 10:42, 29 June 2011
Contents
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.
Something is amuck with the wl21xx support.
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.
rc3
Well, -rc3 is out and the mmc issue is fixed, but the revert of commit 7e6502d577106fb5b202bbaac64c5f1b065e6daa is still necessary to let the kernel boot with ehci enabled, however something else has broken as the USB ethernet is not functional and DVI doesn't work either. It is of interest to note that there have been massive changes to wl12xx to support ap functionality, as well as massive changes in drivers/video/omap2/dss/. So it seems that -rc3 is a further regression from 2.6.39.
rc4
-rc4 has fixed many of the issues introduced in rc3, however no progress with the issues introduced in 3.0.
The reversion of commit 7e6502d577106fb5b202bbaac64c5f1b065e6daa is still necessary.
The I2C patch is still necessary.
The DVI patch is still necessary.
The wl21xx still has problems, no temp fix available (yet).
rc5
-rc5 has quite a few changes to omap4 code, but no additional fixes from -rc4
The reversion of commit 7e6502d577106fb5b202bbaac64c5f1b065e6daa is still necessary.
The I2C patch is still necessary.
The DVI patch is still necessary.
The wl21xx still has problems, no temp fix available (yet).
more to come......
A fix is available for the kernel oops by reverting commit 7e6502d577106fb5b202bbaac64c5f1b065e6daa. See http://www.spinics.net/lists/linux-omap/msg52043.html for details.
git revert 7e6502d577106fb5b202bbaac64c5f1b065e6daa
Or use the patch from this post: http://www.spinics.net/lists/linux-omap/msg52058.html This will be required until the hwmod code is fixed. There is quite a bit of hwmod work going on in linux-omap-2.6.git so help may be on the way, but as of 6/29/2011 none of this work has made it into master of linux-omap-2.6.git.
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.
A patch has been submitted to address this issue: http://www.spinics.net/lists/linux-omap/msg53134.html, but as of 6/29/2011 it has not made it into linux-omap-2.6.git.
The mmc patch is still required (for -rc1/2), as are the dvi patch (if you want anything other than 640x480) and the i2c patch.
Building
Building 3.0-rc1,-rc2,-rc4, or -rc5 is basically the same as How to build 2.6.38 kernel, but of course you need the -rc1/2/4/5 sources. The omap2plus_defconfig works once the mmc patch is applied (for -rc1 & -rc2). config.3.0-rc2.1 works for the reverted commit, mmc patch, dvi patch and i2c patch. For -rc5 with patched sources use config.3.0-rc5.1.
MMC Patch
A patch is available which addresses the mmc issue noted above, it is no longer required for -rc3,-rc4 or -rc5:
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, as well as -rc3,-rc4 and -rc5 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/4/5:
[ 0.181457] error setting wl12xx data
Which is a problem new to 3.0-rc1/2, still present in -rc3,-rc4 and -rc5, as well as linux-omap-2.6.git. Although the error is not present in the reverted -rc2/4/5 & linux-omap-2.6.git, the wlan does not appear to work.
DVI Patch
This patch is no longer strictly necessary, but without it the dvi output is 640x480. Applying it doesn't seem to hurt though.
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 successfully. Then compile as above.
Testing:
fbtest on DVI Port
After booting run fbtest to see a nice test pattern from the dvi port.
Switching primary display to the HDMI port
# 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.
# 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.
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: -- -- -- -- -- -- -- --
Stay tuned as the 3.0-rcx series evolves, where there needs to be some serious bug squashing.