Difference between revisions of "Panda How to kernel 2 6 39"

From eLinux.org
Jump to: navigation, search
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
== Introduction ==
 
The merge window has closed and 2.6.39-rc1 has been released, There are many Pandaboard related changes, including HDMI, DVI and wl21xx support.
 
The merge window has closed and 2.6.39-rc1 has been released, There are many Pandaboard related changes, including HDMI, DVI and wl21xx support.
  
As of -rc1:
+
== -rc1 ==
 
  * hdmi & dvi are broken due to some dss clocking issues, see: https://patchwork.kernel.org/patch/674062/ for details, a fix for dvi is available, see below.
 
  * hdmi & dvi are broken due to some dss clocking issues, see: https://patchwork.kernel.org/patch/674062/ for details, a fix for dvi is available, see below.
 
  * abe sound is not supported.
 
  * abe sound is not supported.
Line 7: Line 8:
 
  * wl12xx support is working to the extent that one can associate with an access point, get an IP address and ping out to the internet.
 
  * wl12xx support is working to the extent that one can associate with an access point, get an IP address and ping out to the internet.
  
As of rc-2
+
== -rc2 ==
 
  * Neither OMAP nor PandaBoaqrd changes, no other changes to wlan, dvi or hdmi code, so stay tuned for rc-3 in about a week or so.  
 
  * Neither OMAP nor PandaBoaqrd changes, no other changes to wlan, dvi or hdmi code, so stay tuned for rc-3 in about a week or so.  
 
  ** looks like lots of interesting changes queued up for the next -rc so stay tuned..
 
  ** looks like lots of interesting changes queued up for the next -rc so stay tuned..
  
As of rc-3
+
== -rc3 ==
 
  * Rebooting is broken (there was a post suggesting that it was broken in -rc2 as well) follow
 
  * Rebooting is broken (there was a post suggesting that it was broken in -rc2 as well) follow
 
  this thread for more info: http://www.spinics.net/lists/linux-omap/msg49746.html.
 
  this thread for more info: http://www.spinics.net/lists/linux-omap/msg49746.html.
  ** a simple fix is to turn off OMAP2 support.
+
  ** a simple fix is to turn off OMAP2 support, which is done in the .config below for -rc3.
* USB seems to be broken too, as well as wlan.
 
 
  * What at first looked like interesting changes to /arch/arm/mach-omap2/ /drivers/net/wireless/wl12xx/ /drivers/video/omap2/dss/  
 
  * What at first looked like interesting changes to /arch/arm/mach-omap2/ /drivers/net/wireless/wl12xx/ /drivers/video/omap2/dss/  
 
  seemed to really be typo fixes in comments, Hopefully, some real fixes will be in -rc3.
 
  seemed to really be typo fixes in comments, Hopefully, some real fixes will be in -rc3.
 +
* New in -rc3 is that the usb ethernet adapter appears as eth0 rather than usb0.
  
 +
== -rc4 ==
 +
* Neither OMAP nor PandaBoaqrd changes, no other changes to wlan, dvi or hdmi code, so stay tuned for rc-5 in about a week or so.
 +
 +
== -rc5 ==
 +
* Neither OMAP nor PandaBoaqrd changes, no other changes to wlan, dvi or hdmi code,
 +
* There have been lots of changes in other parts of the kernel, so it's time to see if anything in -rc5 breaks pandaboard.
 +
* Rebooting is still broken, so beware of using omap2plus_defconfig without changes. (see -rc3 above)
 +
* patching is still neccessary to get dvi working
 +
* wlan and ethernet both seem to work as in -rc3
 +
** There are several omap44xx changes queued up for -rc6
 +
 +
== -rc6 ==
 +
* lots of (real) changes for omap, see http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.39-rc6 for details.
 +
* Rebooting is still broken, so beware of using omap2plus_defconfig without changes. (see -rc3 above)
 +
* patching is still neccessary to get dvi working
 +
* wlan and ethernet both seem to work as in -rc3, -rc4 and -rc5
 +
* i2c chararacter device driver is still broken, the patch below still applies cleanly and resolves the issue.
 +
 +
== -rc7 ==
 +
* No specific PandaBoard changes, but there was work done on /drivers/usb/host/ehci-omap.c
 +
* A new version of wlan firmware (see below) is available which might have working bluetooth.
 +
unfortunately, there is no BT support in the board file /arch/arm/mach-omap2/board-omap4panda.c
 +
* looks like some PandaBoard & OMAP4 specific changes queued up for the next .39-rcx (or maybe .40-rc1)
 +
 +
== Wlan ==
 
The proper firmware for wl12xx support is available from: git://git.kernel.org/pub/scm/linux/kernel/git/romieu/linux-firmware.git, just clone that repository and copy the ti-connectivity directory to /lib/firmare/.
 
The proper firmware for wl12xx support is available from: git://git.kernel.org/pub/scm/linux/kernel/git/romieu/linux-firmware.git, just clone that repository and copy the ti-connectivity directory to /lib/firmare/.
  
Line 32: Line 58:
 
  -rw-r--r--    1 default  default        912 Mar 29  2011 wl1271-nvs.bin
 
  -rw-r--r--    1 default  default        912 Mar 29  2011 wl1271-nvs.bin
  
Building 2.6.39-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, but does not enable anything interesting. [[Media:config.2.6.39-rc1|config.2.6.39-rc1]] enables USB, its' ethernet adapter, and wl12xx support. [[Media:config.2.6.39-rc1.2|config.2.6.39-rc1.2]] enables USB, it's ethernet adapter, wl12xx support, and dvi support. However using that config requires that the kernel sources be patched with [[Media:0001-omap4-pandaboard-fix-dvi-support.patch|0001-omap4-pandaboard-fix-dvi-support.patch]] The patch also provices panda_dvi_defconfig which just enables dvi.
+
* Update 5/9/2011 A newer version is available from: git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git which includes a Bluetooth init script, which contains binary patches to the firmware that resides in ROM.
 +
* This OMAP35xx user guide has useful info: http://processors.wiki.ti.com/index.php/OMAP35x_Wireless_Connectivity_System_Test_Guidelines_User%27s_Guide
 +
* This OMAP35xx App note also is interesting: http://processors.wiki.ti.com/index.php/OMAP35x_Wireless_Connectivity_WLAN_Bluetooth_Coexistence_Application_Note
 +
* The firmware and wl1271 hardware is the same as on the PandaBoard, but there is no support in /arch/arm/mach-omap2/board-omap4panda.c for the gpio's that control BT_EN (GPIO46) or BT_WAKEUP (GPIO49), as well as the bt audio interface to MCBSP1. In addition, the latest Bluez (4.93) source for hidattach_ti.c still assumes that the firmware (and bt init script) are in /lib/firmware/ rather than in /lib/firmware/ti-connectivity/. The new firmware does work for wlan.
 +
 
 +
# pwd
 +
/lib/firmware/ti-connectivity
 +
# ls -la
 +
total 1385
 +
drwxr-xr-x    2 root    root          1024 May  9  2011 .
 +
drwxr-xr-x    3 root    root          1024 Dec 31 17:36 ..
 +
-rw-r--r--    1 root    root        48909 May  9  2011 TIInit_7.2.31.bts
 +
-rw-r--r--    1 root    root        273252 May  9  2011 wl1271-fw-2.bin
 +
-rw-r--r--    1 root    root        272784 May  9  2011 wl1271-fw-ap.bin
 +
-rw-r--r--    1 root    root        271832 May  9  2011 wl1271-fw.bin
 +
-rwxr-xr-x    1 root    root          1113 May  9  2011 wl1271-nvs-example-wl128x.bin
 +
-rw-r--r--    1 root    root          912 May  9  2011 wl1271-nvs.bin
 +
-rw-r--r--    1 root    root        265196 May  9  2011 wl128x-fw-ap.bin
 +
-rwxr-xr-x    1 root    root        272748 May  9  2011 wl128x-fw.bin
 +
 
 +
 
 +
== Building ==
 +
Building 2.6.39-rc1, -rc3, -rc5, or -rc6 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/3/5/6 sources. The omap2plus_defconfig works, but does not enable anything interesting. [[Media:config.2.6.39-rc1|config.2.6.39-rc1]] enables USB, its' ethernet adapter, and wl12xx support. Or [[Media:config.2.6.39-rc3.1|config.2.6.39-rc3.1]] for -rc3.  [[Media:config.2.6.39-rc1.2|config.2.6.39-rc1.2]] enables USB, it's ethernet adapter, wl12xx support, and dvi support, for -rc3 use [[Media:config.2.6.39-rc3.3|config.2.6.39-rc3.3]], [[Media:config.2.6.39-rc5.1|config.2.6.39-rc5.1]] for -rc5 and [[Media:config.2.6.39-rc6.1|config.2.6.39-rc6.1]] for -rc6. However using either of those configs requires that the kernel sources be patched with [[Media:0001-omap4-pandaboard-fix-dvi-support.patch|0001-omap4-pandaboard-fix-dvi-support.patch]] The patch also provices panda_dvi_defconfig which just enables dvi. This patch applies to both -rc1, -rc3, -rc5 and -rc6.
  
 +
=== DVI Patch ===
 
Apply it like so: (from inside the kernel sources directory)
 
Apply it like so: (from inside the kernel sources directory)
  
Line 47: Line 96:
  
 
  make ARCH=arm CROSS_COMPILE=Path_to_your/arm-2009q3/bin/arm-none-linux-gnueabi- uImage
 
  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|Available]]
 +
 +
=== I2C Patch ===
 +
Apply it like so: (from inside the kernel sources directory)
 +
 +
patch -p1 < Omap44xx-i2c-fix.patch
 +
 +
Then compile as above.
 +
 +
 +
== Testing ==
  
 
After booting run fbtest to see a nice test pattern from the dvi port.
 
After booting run fbtest to see a nice test pattern from the dvi port.
  
 
[[File:fbtest.jpg|240px]]
 
[[File:fbtest.jpg|240px]]
 +
 +
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: -- -- -- -- -- -- -- --
  
 
More to come "real soon now"(tm)
 
More to come "real soon now"(tm)
 +
 +
 +
[[Category:PandaBoard]]

Latest revision as of 07:27, 12 May 2011

Introduction

The merge window has closed and 2.6.39-rc1 has been released, There are many Pandaboard related changes, including HDMI, DVI and wl21xx support.

-rc1

* hdmi & dvi are broken due to some dss clocking issues, see: https://patchwork.kernel.org/patch/674062/ for details, a fix for dvi is available, see below.
* abe sound is not supported.
* Dave Anders patch to not configure the unused power regulators of VUSIM and VAUX1 is included.
* wl12xx support is working to the extent that one can associate with an access point, get an IP address and ping out to the internet.

-rc2

* Neither OMAP nor PandaBoaqrd changes, no other changes to wlan, dvi or hdmi code, so stay tuned for rc-3 in about a week or so. 
** looks like lots of interesting changes queued up for the next -rc so stay tuned..

-rc3

* Rebooting is broken (there was a post suggesting that it was broken in -rc2 as well) follow
this thread for more info: http://www.spinics.net/lists/linux-omap/msg49746.html.
** a simple fix is to turn off OMAP2 support, which is done in the .config below for -rc3.
* What at first looked like interesting changes to /arch/arm/mach-omap2/ /drivers/net/wireless/wl12xx/ /drivers/video/omap2/dss/ 
seemed to really be typo fixes in comments, Hopefully, some real fixes will be in -rc3.
* New in -rc3 is that the usb ethernet adapter appears as eth0 rather than usb0.

-rc4

* Neither OMAP nor PandaBoaqrd changes, no other changes to wlan, dvi or hdmi code, so stay tuned for rc-5 in about a week or so. 

-rc5

* Neither OMAP nor PandaBoaqrd changes, no other changes to wlan, dvi or hdmi code,
* There have been lots of changes in other parts of the kernel, so it's time to see if anything in -rc5 breaks pandaboard.
* Rebooting is still broken, so beware of using omap2plus_defconfig without changes. (see -rc3 above)
* patching is still neccessary to get dvi working
* wlan and ethernet both seem to work as in -rc3
** There are several omap44xx changes queued up for -rc6

-rc6

* lots of (real) changes for omap, see http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.39-rc6 for details.
* Rebooting is still broken, so beware of using omap2plus_defconfig without changes. (see -rc3 above)
* patching is still neccessary to get dvi working
* wlan and ethernet both seem to work as in -rc3, -rc4 and -rc5
* i2c chararacter device driver is still broken, the patch below still applies cleanly and resolves the issue.

-rc7

* No specific PandaBoard changes, but there was work done on /drivers/usb/host/ehci-omap.c
* A new version of wlan firmware (see below) is available which might have working bluetooth.
unfortunately, there is no BT support in the board file /arch/arm/mach-omap2/board-omap4panda.c
* looks like some PandaBoard & OMAP4 specific changes queued up for the next .39-rcx (or maybe .40-rc1)

Wlan

The proper firmware for wl12xx support is available from: git://git.kernel.org/pub/scm/linux/kernel/git/romieu/linux-firmware.git, just clone that repository and copy the ti-connectivity directory to /lib/firmare/.

# pwd
/lib/firmware/ti-connectivity
# ls -la
total 796
drwxr-xr-x    2 default  default       1024 Mar 29  2011 .
drwxr-xr-x    4 root     root          1024 Mar 29  2011 ..
-rw-r--r--    1 default  default     273040 Mar 29  2011 wl1271-fw-2.bin
-rw-r--r--    1 default  default     262356 Mar 29  2011 wl1271-fw-ap.bin
-rw-r--r--    1 default  default     271832 Mar 29  2011 wl1271-fw.bin
-rw-r--r--    1 default  default        912 Mar 29  2011 wl1271-nvs.bin
# pwd
/lib/firmware/ti-connectivity
# ls -la
total 1385
drwxr-xr-x    2 root     root          1024 May  9  2011 .
drwxr-xr-x    3 root     root          1024 Dec 31 17:36 ..
-rw-r--r--    1 root     root         48909 May  9  2011 TIInit_7.2.31.bts
-rw-r--r--    1 root     root        273252 May  9  2011 wl1271-fw-2.bin
-rw-r--r--    1 root     root        272784 May  9  2011 wl1271-fw-ap.bin
-rw-r--r--    1 root     root        271832 May  9  2011 wl1271-fw.bin
-rwxr-xr-x    1 root     root          1113 May  9  2011 wl1271-nvs-example-wl128x.bin
-rw-r--r--    1 root     root           912 May  9  2011 wl1271-nvs.bin
-rw-r--r--    1 root     root        265196 May  9  2011 wl128x-fw-ap.bin
-rwxr-xr-x    1 root     root        272748 May  9  2011 wl128x-fw.bin


Building

Building 2.6.39-rc1, -rc3, -rc5, or -rc6 is basically the same as How to build 2.6.38 kernel, but of course you need the rc1/3/5/6 sources. The omap2plus_defconfig works, but does not enable anything interesting. config.2.6.39-rc1 enables USB, its' ethernet adapter, and wl12xx support. Or config.2.6.39-rc3.1 for -rc3. config.2.6.39-rc1.2 enables USB, it's ethernet adapter, wl12xx support, and dvi support, for -rc3 use config.2.6.39-rc3.3, config.2.6.39-rc5.1 for -rc5 and config.2.6.39-rc6.1 for -rc6. However using either of those configs requires that the kernel sources be patched with 0001-omap4-pandaboard-fix-dvi-support.patch The patch also provices panda_dvi_defconfig which just enables dvi. This patch applies to both -rc1, -rc3, -rc5 and -rc6.

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 above configs or

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

Then compile as above.


Testing

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

More to come "real soon now"(tm)