Bug 58611 - [pandaboard] device tree booting fails
Summary: [pandaboard] device tree booting fails
Status: RESOLVED CODE_FIX
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: ARM (show other bugs)
Hardware: All Linux
: P1 high
Assignee: linux-arm-kernel@lists.arm.linux.org.uk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-21 19:40 UTC by Tobias Jakobi
Modified: 2013-10-16 00:41 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.9.3
Subsystem:
Regression: No
Bisected commit-id:


Attachments
output from serial debug (10.74 KB, text/plain)
2013-05-21 19:40 UTC, Tobias Jakobi
Details
serial debug with 3.10-rc2 (19.16 KB, text/plain)
2013-05-23 00:49 UTC, Tobias Jakobi
Details
serial debug with 3.10-rc3 + init-order patch (22.99 KB, text/plain)
2013-05-27 18:50 UTC, Tobias Jakobi
Details

Description Tobias Jakobi 2013-05-21 19:40:28 UTC
Created attachment 102191 [details]
output from serial debug

Hello,

Eduardo Valentin suggest in bug #58551 that I should use device tree booting on my Pandaboard ES, which should make the thermal code working.

However this fails. The output from serial debug (kernel + u-boot) is attached.

The u-boot boot script looks like this:
fatload mmc 0 0x80200000 uImage-3.9.3
fatload mmc 0 0x815f0000 omap4-panda-es-3.9.3.dtb
setenv bootargs ro rootfstype=ext4 elevator=noop console=ttyO2,115200n8
mem=1G@0x80000000 init=/sbin/init root=/dev/mmcblk0p2 rootwait fixrtc
bootm 0x80200000 - 0x815f0000

Since there are multiple failures because of i2c issues, I suspected to be also affected by this bug:
https://patchwork.kernel.org/patch/2444501/

I applied the patch proposed there, but with no effect on the boot process (still stopping after the MPU regular message -- if the dma engine messages show up is kinda random).

I'm also not sure about the patch from above, since Peter Ujfalusi mentions there that he submitted a proper fix for the issue. However I failed to find out which patch he referred to.

Greets,
Tobias
Comment 1 Tobias Jakobi 2013-05-21 19:41:40 UTC
For my current kernel config, see #58551 -- it's attached there.
Comment 2 Nishanth Menon 2013-05-21 20:08:42 UTC
I have been booting pandaboard-ES with the following uEnv.txt
--- start of uEnv.txt
fdtbaddr=0x80F80000
loadaddr=0x80200000
fatloaduimage=fatload mmc 0:1 ${loadaddr} uImage
bootargs=console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait earlyprintk
loaddtb=fatload mmc 0:1 ${fdtbaddr} omap4-panda-es.dtb; fdt addr ${fdtbaddr}; fdt resize
bootwdtb=bootm ${loadaddr} - ${fdtbaddr}
bootcmd=mw.w 0x4A31E05A 0x1f;printenv;echo "NOTE: booting from MMC filesystem";sleep 1;run fatloaduimage; sleep 1; run loaddtb; echo "starting.."; sleep 1; run bootwdtb
uenvcmd=boot
--- end of uEnv.txt --

This was done with 3.10-rc2 + omap2plus_defconfig, u-boot revision last tested on: latest u-boot tag.

mw.w 0x4A31E05A 0x1f is meant to hack GPIO pinmux configuration needed to keep MPU voltage alive - else the voltage drops when omap_hwmod resets GPIO1 block - see discussion here: http://marc.info/?t=135610446600003&r=1&w=2
Comment 3 Tobias Jakobi 2013-05-21 22:18:27 UTC
*sigh* And I wanted to avoid using an rc-kernel. Guess I have no choice then!
Reporting back once I test this -- wish me luck and that I don't blow up anything :)
Comment 4 Tobias Jakobi 2013-05-23 00:49:31 UTC
Created attachment 102291 [details]
serial debug with 3.10-rc2

Checked out latest version of linus' tree tried booting with it. Doesn't work, see the log. Looks like i2c is still acting up.
Comment 5 Tobias Jakobi 2013-05-23 13:31:17 UTC
Well, at least I'm now getting exactly the same output as in the patchwork thread mentioned before:
https://patchwork.kernel.org/patch/2444501/

Might be worth to try the proposed patch again.
Comment 6 Tobias Jakobi 2013-05-27 18:50:42 UTC
Created attachment 102701 [details]
serial debug with 3.10-rc3 + init-order patch

I did a retry with 3.10-rc3 plus the init order (from above) patch applied. The boot process gets a bit farther, but systemd then fails at bringing up ethernet and mounting the external usb drive.

Looking at the log itself, all the main problems however seem to remain.
Comment 7 rogerq 2013-05-29 12:13:38 UTC
With device tree boot, USB host and Ethernet will not work on Panda on v3.10 as some patches didn't make it into the merge window.

Till 3.11 comes out you will have to manually apply the following patches.

https://lkml.org/lkml/2013/4/19/124
https://lkml.org/lkml/2013/4/12/407

USB host and Ethernet should work fine on non device tree boot on v3.10.
Comment 8 rogerq 2013-05-29 12:18:31 UTC
Also please make sure you have the following options enabled in kernel config to for USB host to work on OMAP.

CONFIG_USB_EHCI_HCD_OMAP
CONFIG_USB_PHY
CONFIG_NOP_USB_XCEIV
Comment 9 Tobias Jakobi 2013-05-30 22:32:33 UTC
I tried applying the patches to 3.10-rc3, and while the first one works, the second one doesn't apply (multiple hunks fails). I guess I'll just wait until 3.11 then.
Comment 10 Tobias Jakobi 2013-10-16 00:41:23 UTC
DT booting now works with 3.12-rc5

Note You need to log in before you can comment on or make changes to this bug.