Rev C USB - much different than Rev B?

41 views
Skip to first unread message

David Hagood

unread,
Apr 6, 2009, 5:48:05 PM4/6/09
to Beagle Board
I have both a Rev B and a Rev C Beagleboard, and an SDHC card with a
working Debian image on it.

On the Rev B Board, the Debian image will come up, find my USB hubs,
USB Keyboard, USB mouse, USB Ethernet dongle, USB touchscreen
controller, and all is fine.

So, I figured I'd move the SDHC over to the Rev C board, and
theoretically it should find both the On-The-Go interface AND the host
interface, right? Well, it finds NOTHING - no matter if the hubs are
plugged into the host port or if they are plugged into the On-The-Go
port.

Is there that much difference between the B and the C?

Gerald Coley

unread,
Apr 6, 2009, 5:50:57 PM4/6/09
to beagl...@googlegroups.com
From a HW perspective Rev C2 has the EHCI port, twice the DDR. From a SW perspective it has a new UBoot.
 
Gerald

Frans Meulenbroeks

unread,
Apr 7, 2009, 4:53:41 AM4/7/09
to Beagle Board
You definitely want to use the new u-boot (from the revC validation
page) with your C2 board.

David Hagood

unread,
Apr 7, 2009, 10:44:50 AM4/7/09
to Beagle Board
On Apr 7, 3:53 am, Frans Meulenbroeks <fransmeulenbro...@gmail.com>
wrote:
> You definitely want to use the new u-boot (from the revC validation
> page) with your C2 board.

Well, I put the new u-boot in, and I now have a slight change in
behavior - before, nothing unusual was printed when things started.

With the new u-boot (from http://code.google.com/p/beagleboard/wiki/BeagleboardRevCValidation)
in place, I get the following during startup:



U-Boot 2009.01-dirty (Feb 19 2009 -
12:22:31)

I2C:
ready
OMAP3530-GP rev 2, CPU-OPP2
L3-165MHz
OMAP3 Beagle board + LPDDR/
NAND
DRAM: 256
MB
NAND: 256
MiB
MUSB: using high
speed
In: serial
usbtty
Out: serial
usbtty
Err: serial
usbtty
Board revision
C
Serial
#7dcc00030000000004013f8a17022013
Hit any key to stop autoboot:
0
reading
boot.scr

279 bytes
read
Running bootscript from
mmc ...
## Executing script at
80200000
reading
uImage.dss

2402028 bytes
read
## Booting kernel from Legacy Image at
80200000 ...
Image Name: Linux-2.6.29-rc3-omap1-05424-
g94
Image Type: ARM Linux Kernel Image
(uncompressed)
Data Size: 2401964 Bytes = 2.3
MB
Load Address:
80008000
Entry Point:
80008000
Verifying Checksum ...
OK
Loading Kernel Image ...
OK
OK

Starting
kernel ...

Error, the USB hardware is not on B modeUncompressing
Linux.....................
................................................................................

The "Error, the USB hardware is not on B mode" is new. It seems this
is generated by the u-boot code. This is correct in that this is a Rev
C board, but what do I do to enable the Rev C USB ports?

Gerald Coley

unread,
Apr 7, 2009, 10:48:42 AM4/7/09
to beagl...@googlegroups.com
This error is normal. If you refer to the validation page, http://code.google.com/p/beagleboard/wiki/BeagleboardRevCValidation ,it provides information on how to verify the USB ports. You can also refer to the System Reference Manual for the same information.
 
Gerald

David Hagood

unread,
Apr 7, 2009, 11:09:31 AM4/7/09
to Beagle Board
Let me restate my question, as I don't seem to be making myself clear.

I have a kernel.

It works on a Rev B Beagleboard.

It does not work on a Rev C Beagleboard - it cannot access USB.

What do I need to do in order to allow my kernel to work on the Rev C
Beagleboard - that is, to be able to access USB on that board?

Gerald Coley

unread,
Apr 7, 2009, 11:20:00 AM4/7/09
to beagl...@googlegroups.com
First, the Rev B kernel cannot fully function on the Rev C because it does not have support for the EHCI host port. The Rev C also has twice the DDR memory.
 
Let's assume you have a bad board. So, let's go through the process to make sure the HW is good. A kernel is loaded into the board as part of the test is to verify the operation of the HW interfaces. Once done, you can take that off the list as the possible issue.
 
Does this make sense?
 
Gerald

Koen Kooi

unread,
Apr 7, 2009, 11:31:49 AM4/7/09
to beagl...@googlegroups.com

Op 7 apr 2009, om 17:20 heeft Gerald Coley het volgende geschreven:

> First, the Rev B kernel cannot fully function on the Rev C because
> it does not have support for the EHCI host port.

That's not true for the angstrom kernels, they work equally well on
revB and revC and support EHCI on revC.

regards,

Koen

PGP.sig

David Hagood

unread,
Apr 7, 2009, 12:00:26 PM4/7/09
to Beagle Board
OK, let me restate my question AGAIN, as once again it seems I am not
making myself clear.

What version of the Linux kernel source, from what repository(ies), do
I have to get in order to build a kernel that will work with a Rev C
Beagleboard.

What kernel option(s) have to be set, and to what settings, in order
to build a kernel that will work with the Rev C board.

Robert Nelson

unread,
Apr 7, 2009, 12:39:14 PM4/7/09
to beagl...@googlegroups.com

Use the Tony's tree as a the GIT base:
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary

Look for the 'latest' commit in Openembedded's tree :
http://cgit.openembedded.net/cgit.cgi?url=openembedded/commit/&id=fbf22c52a21c8f423d8c6683155be9248f21b31a

Review the git sha used (you need the same checkout
linux-omap_2.6.29.bb file), apply koen's patchset, copy defconfig and
rebuild..

For my internal projects, I have these combined into a single *.diff
and defconfig listed here: http://rcn-ee.homeip.net:81/dl/omap/beagle/

Eventually a lenny chroot build of this latest kernel will be uploaded
here for end user's ease:
http://www.rcn-ee.com/deb/kernel/beagle/lenny/

To get something up asap, use this uImage:
http://www.rcn-ee.com/deb/kernel/CC-v2.6.28-79d042a-oer17 I've been
using it 24/7 this last week on a Rev C beagle, playing with building
a native java build.

Regards,

--
Robert Nelson
http://www.rcn-ee.com/

David Hagood

unread,
Apr 8, 2009, 11:20:20 AM4/8/09
to Beagle Board
Let me once more try restating my question.

What are the kernel options needed to get the linux-omap-2.6 kernel to
boot on a Rev C Beagleboard, such that it will correctly identify and
access both the dedicated USB host and the USB OTG port.

I want either
a) a pointer to a working .config file for building the kernel
or, preferably
b) a list of the kernel options that need to be set and the values to
which they need to be set.

NOTE: NOT EVERBODY IS USING OPEN EMBEDDED OR BITBAKE.

Please be considerate and post the options in a form that EVERYBODY
can use.

I have pulled the linux-omap-2.6 branch from GIT as of 09:00 CDT 8th
April 2009, run a "make oldconfig" using the configuration that I had
WORKING on a Rev B board, installed the resulting uImage and modules
onto my SD card, and now I get a paging failure at startup:
-------------------
No MMC card
found
Booting from
nand ...

NAND read: device 0 offset 0x280000, size
0x400000
4194304 bytes read:
OK
Wrong Image Format for bootm
command
ERROR: can't get kernel
image!
OMAP3 beagleboard.org
#

Texas Instruments X-Loader 1.4.2 (Feb 19 2009 -
12:01:24)
Reading boot
sector
Error: reading boot
sector
Loading u-boot.bin from
nand
2476100 bytes
read
## Booting kernel from Legacy Image at
80200000 ...
Image Name: Linux-2.6.30-rc1-omap1-05611-
g43
Image Type: ARM Linux Kernel Image
(uncompressed)
Data Size: 2476036 Bytes = 2.4
MB
Load Address:
80008000
Entry Point:
80008000
Verifying Checksum ...
OK
Loading Kernel Image ...
OK
OK

Starting
kernel ...

Error, the USB hardware is not on B modeUncompressing
Linux.....................
................................................................................
.......................................................... done,
booting the ker
nel.
Linux version 2.6.30-rc1-omap1-05611-g4311ae5 (ddhagood@sage) (gcc
version 4.3.3
(GCC) ) #1 PREEMPT Wed Apr 8 09:25:59 CDT
2009
CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7),
cr=10c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction
cache
Machine: OMAP3 Beagle
Board
Memory policy: ECC disabled, Data cache
writeback
OMAP3430
ES3.0
SRAM: Mapped pa 0x40200000 to va 0xd7000000 size:
0x100000
Built 1 zonelists in Zone order, mobility grouping on. Total pages:
65024
Kernel command line: console=ttyS2,115200n8 console=tty0 root=/dev/
mmcblk0p2 rw
rootwait rootfstype=ext3 video=omapfb
omapfb.video_mode=1280x800MR-24@60
Unknown boot option `omapfb.video_mode=1280x800MR-24@60':
ignoring
NR_IRQS:
402
Clocking rate (Crystal/DPLL/ARM core): 26.0/332/500
MHz
GPMC revision
5.0
IRQ: Found an INTC at 0xd8200000 (revision 4.0) with 96
interrupts
Total of 96 interrupts on 1 active
controller
OMAP34xx GPIO hardware version
2.5
PID hash table entries: 1024 (order: 10, 4096
bytes)
Console: colour dummy device
80x30
console [tty0]
enabled
Dentry cache hash table entries: 32768 (order: 5, 131072
bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536
bytes)
Memory: 128MB 128MB = 256MB
total
Memory: 254336KB available (4444K code, 534K data, 172K init, 0K
highmem)
Calibrating delay loop... 499.92 BogoMIPS
(lpj=1949696)
Mount-cache hash table entries:
512
CPU: Testing write buffer coherency:
ok
net_namespace: 764
bytes
regulator: core version
0.5
NET: Registered protocol family
16
MUX: setup J25_34XX_GPIO170 (0xd80021c6): 0x001c ->
0x0104
MUX: setup Y9_3430_USB1HS_PHY_STP (0xd80025d8): 0x001b ->
0x0003
MUX: setup Y8_3430_USB1HS_PHY_CLK (0xd80025da): 0x0013 ->
0x0003
MUX: setup AA14_3430_USB1HS_PHY_DIR (0xd80025ec): 0x0113 ->
0x010b
MUX: setup AA11_3430_USB1HS_PHY_NXT (0xd80025ee): 0x0113 ->
0x010b
MUX: setup W13_3430_USB1HS_PHY_D0 (0xd80025dc): 0x0113 ->
0x010b
MUX: setup W12_3430_USB1HS_PHY_D1 (0xd80025de): 0x0113 ->
0x010b
MUX: setup W11_3430_USB1HS_PHY_D2 (0xd80025e0): 0x0113 ->
0x010b
MUX: setup Y11_3430_USB1HS_PHY_D3 (0xd80025ea): 0x0113 ->
0x010b
MUX: setup W9_3430_USB1HS_PHY_D4 (0xd80025e4): 0x0113 ->
0x010b
MUX: setup Y12_3430_USB1HS_PHY_D5 (0xd80025e6): 0x0113 ->
0x010b
MUX: setup W8_3430_USB1HS_PHY_D6 (0xd80025e8): 0x0113 ->
0x010b
MUX: setup Y13_3430_USB1HS_PHY_D7 (0xd80025e2): 0x0113 ->
0x010b
MUX: setup AA10_3430_USB2HS_PHY_STP (0xd80025f2): 0x0013 ->
0x0003
MUX: setup AA8_3430_USB2HS_PHY_CLK (0xd80025f0): 0x0013 ->
0x0003
MUX: setup AA9_3430_USB2HS_PHY_DIR (0xd80025f4): 0x0113 ->
0x010b
MUX: setup AB11_3430_USB2HS_PHY_NXT (0xd80025f6): 0x0113 ->
0x010b
MUX: setup AB10_3430_USB2HS_PHY_D0 (0xd80025f8): 0x0113 ->
0x010b
MUX: setup AB9_3430_USB2HS_PHY_D1 (0xd80025fa): 0x0113 ->
0x010b
MUX: setup W3_3430_USB2HS_PHY_D2 (0xd80021d4): 0x0113 ->
0x010b
MUX: setup T4_3430_USB2HS_PHY_D3 (0xd80021de): 0x0113 ->
0x010b
MUX: setup T3_3430_USB2HS_PHY_D4 (0xd80021d8): 0x0113 ->
0x010b
MUX: setup R3_3430_USB2HS_PHY_D5 (0xd80021da): 0x0113 ->
0x010b
MUX: setup R4_3430_USB2HS_PHY_D6 (0xd80021dc): 0x0113 ->
0x010b
MUX: setup T2_3430_USB2HS_PHY_D7 (0xd80021d6): 0x0113 ->
0x010b
Found NAND on
CS0
Registering NAND on
CS0
OMAP DMA hardware revision
4.0
bio: create slab <bio-0> at
0
i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600
kHz
twl4030: PIH (irq 7) chaining IRQs
368..375
twl4030: power (irq 373) chaining IRQs
376..383
twl4030_gpio: use which
platform_data?
twl4030: gpio (irq 368) chaining IRQs
384..401
MUX: setup AH8_34XX_GPIO29 (0xd80025fa): 0x010b ->
0x0104
mmci-omap-hs.0: use which
platform_data?
twl4030_usb: use which
platform_data?
twl4030_reg.6: use which
platform_data?
regulator: VMMC1: 1850 <--> 3150 mV normal
standby
twl4030_reg.3: use which
platform_data?
regulator: VDAC: 1800 mV normal
standby
twl4030_reg.17: use which
platform_data?
set_machine_constraints: invalid 'VUSB1V5' voltage
constraints
twl4030_reg twl4030_reg.17: can't register VUSB1V5,
-22
twl4030_reg: probe of twl4030_reg.17 failed with error
-22
twl4030_reg.18: use which
platform_data?
set_machine_constraints: invalid 'VUSB1V8' voltage
constraints
twl4030_reg twl4030_reg.18: can't register VUSB1V8,
-22
twl4030_reg: probe of twl4030_reg.18 failed with error
-22
twl4030_reg.19: use which
platform_data?
set_machine_constraints: invalid 'VUSB3V1' voltage
constraints
twl4030_reg twl4030_reg.19: can't register VUSB3V1,
-22
twl4030_reg: probe of twl4030_reg.19 failed with error
-22
twl4030_reg.5: use which
platform_data?
regulator: VPLL2: 1800 mV normal
standby
twl4030_reg.8: use which
platform_data?
regulator: VSIM: 1800 <--> 3000 mV normal
standby
i2c_omap i2c_omap.3: bus 3 rev3.12 at 100
kHz
SCSI subsystem
initialized
twl4030_usb twl4030_usb: ldo init
failed
usbcore: registered new interface driver
usbfs
usbcore: registered new interface driver
hub
usbcore: registered new device driver
usb
cfg80211: Using static regulatory domain
info
cfg80211: Regulatory domain:
US
(start_freq - end_freq @ bandwidth), (max_antenna_gain,
max_eirp)
(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700
mBm)
(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300
mBm)
(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300
mBm)
(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300
mBm)
(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300
mBm)
(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000
mBm)
musb_hdrc: version 6.0, musb-dma, otg (peripheral+host),
debug=0
musb_core_init 1406: reconfigure software for static
FIFOs
musb_hdrc musb_hdrc: musb_init_controller failed with status
-19
cfg80211: Calling CRDA for country:
US
NET: Registered protocol family
2
IP route cache hash table entries: 2048 (order: 1, 8192
bytes)
TCP established hash table entries: 8192 (order: 4, 65536
bytes)
TCP bind hash table entries: 8192 (order: 3, 32768
bytes)
TCP: Hash tables configured (established 8192 bind
8192)
TCP reno
registered
NET: Registered protocol family
1
VFS: Disk quotas
dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
JFFS2 version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat,
Inc.
msgmni has been set to
497
alg: No test for stdrng
(krng)
io scheduler noop
registered
io scheduler anticipatory
registered
io scheduler deadline
registered
io scheduler cfq registered
(default)
omapfb: configured for panel
omap3beagle
omapfb: skipping hardware
initialization
omapfb: DISPC version 3.0
initialized
Console: switching to colour frame buffer device
128x48
omapfb: Framebuffer initialized. Total vram 1572864 planes
1
omapfb: Pixclock 64000 kHz hfreq 59.0 kHz vfreq 76.9
Hz
Serial: 8250/16550 driver, 4 ports, IRQ sharing
enabled
serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a
ST16654
serial8250.0: ttyS1 at MMIO 0x4806c000 (irq = 73) is a
ST16654
serial8250.0: ttyS2 at MMIO 0x49020000 (irq = 74) is a
ST16654
console [ttyS2]
enabled
brd: module
loaded
loop: module
loaded
i2c /dev entries
driver
Driver 'sd' needs updating - please use bus_type
methods
Driver 'sr' needs updating - please use bus_type
methods
usbcore: registered new interface driver
asix
usbcore: registered new interface driver
cdc_ether
usbcore: registered new interface driver
rndis_host
usbcore: registered new interface driver
rndis_wlan
usbcore: registered new interface driver
zd1201
usbcore: registered new interface driver
usb8xxx
omap2-nand driver
initializing
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB
1,8V 16-bi
t)
cmdlinepart partition parsing not
available
Creating 5 MTD partitions on "omap2-
nand":
0x000000000000-0x000000080000 : "X-
Loader"
0x000000080000-0x000000260000 : "U-
Boot"
0x000000260000-0x000000280000 : "U-Boot
Env"
0x000000280000-0x000000680000 :
"Kernel"
0x000000680000-0x000010000000 : "File
System"
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI)
Driver
Clock usbhost_48m_fck didn't enable in 100000
tries
ehci-omap ehci-omap.0: OMAP-EHCI Host
Controller
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number
1
ehci-omap ehci-omap.0: irq 77, io mem
0x48064800
ehci-omap ehci-omap.0: USB 2.0 started, EHCI
1.00
usb usb1: configuration #1 chosen from 1
choice
hub 1-0:1.0: USB hub
found
hub 1-0:1.0: 3 ports
detected
Initializing USB Mass Storage
driver...
usbcore: registered new interface driver usb-
storage
USB Mass Storage support
registered.
mice: PS/2 mouse device common for all
mice
input: gpio-keys as /class/input/
input0
twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as
rtc0
twl4030_rtc twl4030_rtc: Enabling TWL4030-
RTC.
OMAP Watchdog Timer Rev 0x31: initial timeout 60
sec
mmci-omap-hs mmci-omap-hs.0: Failed to get debounce
clock
Unable to handle kernel paging request at virtual address
70616d6f
pgd =
c0004000
[70616d6f]
*pgd=00000000
Internal error: Oops: 5 [#1]
PREEMPT
Modules linked
in:
CPU: 0 Not tainted (2.6.30-rc1-omap1-05611-g4311ae5
#1)
PC is at regulator_get
+0xa0/0x378
LR is at regulator_get
+0xa0/0x378
pc : [<c01f0328>] lr : [<c01f0328>] psr:
20000013
sp : cf821e40 ip : cf821e40 fp :
c04290d3
r10: 00000001 r9 : 00000053 r8 :
cf879c00
r7 : cf854288 r6 : 00000000 r5 : cf9f9840 r4 :
70616d6f
r3 : 00000002 r2 : cf820000 r1 : 00000001 r0 :
00000000
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment
kernel
Control: 10c5387d Table: 80004019 DAC:
00000017
Process swapper (pid: 1, stack limit =
0xcf8202e8)
Stack: (0xcf821e40 to
0xcf822000)
1e40: c04cd904 cf856000 00000003 cf854288 cf856038 c037736c cf856038
003010b0
1e60: cf856000 c01eeeac c04ccf00 00000004 00070080 00000000 cf871b20
c04e11d8
1e80: cf854288 c04e11d8 00000053 00000001 cf871b20 c003fdc8 cf1b9560
00000000
1ea0: cf1b9560 cf854280 cf1b9400 00000000 cf854288 c0021c60 cf9068a0
cf1b9560
1ec0: cf880188 cf9068c0 00000000 cf854288 cf854288 c04d93bc c04d93bc
c04d18e0
1ee0: 00000000 c02143d0 00000000 c0216398 c04d93bc c0215428 c006ec04
cf854288
1f00: cf8542bc c04d93bc cf821f20 c0215558 00000000 c02154f8 c04d93bc
c0214c38
1f20: cf803458 cf848330 c04d18e0 00000000 c0028448 c04d93bc cf187d20
c02144dc
1f40: c0428356 cf821f50 c01cb118 c0028358 c0028448 c04d93bc c0021868
00000001
1f60: 00000000 c0215834 c0028358 c0028448 00000000 c0021868 00000001
c00332b0
1f80: c04beffc 0000024e cf83cf40 c04beffc 00000100 c04f77e8 00000000
c00fdb78
1fa0: c0084574 cf83b680 cf821fb6 c0084594 cf810f60 35338448 00000031
00000000
1fc0: 00000000 00000192 c04b8248 00000000 c0028358 c0028448 00000000
00000000
1fe0: 00000000 c0008394 00000000 00000000 00000000 c00584dc 00ffff00
007fff00
[<c01f0328>] (regulator_get+0xa0/0x378) from [<c003fdc8>]
(twl_mmc_late_init+0xb
4/0x190)
[<c003fdc8>] (twl_mmc_late_init+0xb4/0x190) from [<c0021c60>]
(omap_mmc_probe+0x
3ec/
0x5d8)
[<c0021c60>] (omap_mmc_probe+0x3ec/0x5d8) from [<c0216398>]
(platform_drv_probe+
0x1c/
0x24)
[<c0216398>] (platform_drv_probe+0x1c/0x24) from [<c0215428>]
(driver_probe_devi
ce
+0xa8/0x178)
[<c0215428>] (driver_probe_device+0xa8/0x178) from [<c0215558>]
(__driver_attach
+0x60/0x84)
[<c0215558>] (__driver_attach+0x60/0x84) from [<c0214c38>]
(bus_for_each_dev+0x4
c/
0x8c)
[<c0214c38>] (bus_for_each_dev+0x4c/0x8c) from [<c02144dc>]
(bus_add_driver+0x12
c/
0x298)
[<c02144dc>] (bus_add_driver+0x12c/0x298) from [<c0215834>]
(driver_register+0xb
c/
0x144)
[<c0215834>] (driver_register+0xbc/0x144) from [<c00332b0>]
(do_one_initcall+0x5
0/0x190)
[<c00332b0>] (do_one_initcall+0x50/0x190) from [<c0008394>]
(kernel_init+0x78/0x
ec)
[<c0008394>] (kernel_init+0x78/0xec) from [<c00584dc>] (do_exit
+0x0/0x670)
[<c00584dc>] (do_exit+0x0/0x670) from [<cf81e460>]
(0xcf81e460)
Code: ea0000a7 e3a00001 ebf96fe8 ebff8eb9
(e5943000)
---[ end trace
1be215bcb7822596 ]---
note: swapper[1] exited with preempt_count
2
Kernel panic - not syncing: Attempted to kill
init!

------------------

So obviously either I am missing a kernel command line parameter or I
have a misconfiguration in the kernel config. So what I, and probably
others need to know is,

WHAT OPTIONS DO I NEED TO SET IN THE CONFIG TO MAKE A WORKING KERNEL.

I have asked this question several times, and NOT ONCE has anybody
actually answered in the form "Go into config and set FOO->BAR->BAZ to
NARF".



Robert Nelson

unread,
Apr 8, 2009, 11:41:13 AM4/8/09
to beagl...@googlegroups.com
On Wed, Apr 8, 2009 at 10:20 AM, David Hagood <david....@aeroflex.com> wrote:
>
> Let me once more try restating my question.
>
> What are the kernel options needed to get the linux-omap-2.6 kernel to
> boot on a Rev C Beagleboard, such that it will correctly identify and
> access both the dedicated USB host and the USB OTG port.
>
> I want either
> a) a pointer to a working .config file for building the kernel
> or, preferably
> b) a list of the kernel options that need to be set and the values to
> which they need to be set.
>
> NOTE: NOT EVERBODY IS USING OPEN EMBEDDED OR BITBAKE.
>
> Please be considerate and post the options in a form that EVERYBODY
> can use.
>
> I have pulled the linux-omap-2.6 branch from GIT as of 09:00 CDT 8th
> April 2009, run a "make oldconfig" using the configuration that I had
> WORKING on a Rev B board, installed the resulting uImage and modules
> onto my SD card, and now I get a paging failure at startup:


I don't use openembedded or bitbake. (you skipped steps in my email.)
I just use openembedded *.bb scripts as a kernel starting point
reference point.

I've also documented this in the wiki awhile ago:
http://elinux.org/BeagleBoardDebian#Rebuilding_.2A.deb_Kernel.27s_from_Source
( a little old, but here's an update)...

Starting again after your git clone.

do:

git pull

git checkout 79d042a
git checkout -b v2.6.28-79d042a
git archive --format=tar --prefix=v2.6.28-79d042a/ v2.6.28-79d042a |
gzip > ../v2.6.28-79d042a.tar.gz
git checkout master
git branch v2.6.28-79d042a -D
cd ..

Now you should have "v2.6.28-79d042a.tar.gz" listed in a folder below
your git checkouts..

Next download these two files:

wget http://rcn-ee.homeip.net:81/dl/omap/beagle/v2.6.28-79d042a-oer17/v2.6.28-79d042a-oer17.diff
wget http://rcn-ee.homeip.net:81/dl/omap/beagle/v2.6.28-79d042a-oer17/defconfig

"ls" should print: "v2.6.28-79d042a.tar.gz",
"v2.6.28-79d042a-oer17.diff", "defconfig"

Now:

tar -xfv v2.6.28-79d042a.tar.gz
cd v2.6.28-79d042a/
patch -p1 < ../v2.6.28-79d042a-oer17.diff

*Now I'm assuming you've added your crosscompiler to the path so:

make CROSS_COMPILE=${BIN_DIR}${CC} distclean

cp ../defconfig .config
make CROSS_COMPILE=${BIN_DIR}${CC} menuconfig

(change you usb ethernet from [M] to [X] if you'd like network access)

make CROSS_COMPILE=${BIN_DIR}${CC} uImage
cp arch/arm/boot/uImage ../uImage-2.6.28-79d042a

This (with network modules built in) is exactly the same build i run
on rev B and C boards, which you can download here:

wget http://www.rcn-ee.com/deb/kernel/CC-v2.6.28-79d042a-oer17

David Hagood

unread,
Apr 8, 2009, 1:14:04 PM4/8/09
to Beagle Board
Now we are at least getting somewhere.

> git pull
>
> git checkout 79d042a
> git checkout -b v2.6.28-79d042a
> git archive --format=tar --prefix=v2.6.28-79d042a/ v2.6.28-79d042a |
> gzip > ../v2.6.28-79d042a.tar.gz
> git checkout master
> git branch v2.6.28-79d042a -D
> cd ..

So, rather than working with the head of the repo, we are working with
a specific snapshot. It would have been nice to have noted that,
rather than give a bunch of steps with no real explanation of the
goal.

Why not just pull the desired branch directly, rather than all of
these gyrations?

>
> Now you should have "v2.6.28-79d042a.tar.gz" listed in a folder below
> your git checkouts..
>
> Next download these two files:
>
> wgethttp://rcn-ee.homeip.net:81/dl/omap/beagle/v2.6.28-79d042a-oer17/v2.6...

I see a large amount of video patches, logo patches, and things OTHER
than USB here. While those things may be needed, they do complicate
trying to work out "what I need" vs. "other random stuff I don't care
about".

> wgethttp://rcn-ee.homeip.net:81/dl/omap/beagle/v2.6.28-79d042a-oer17/defc...
OK, now we are getting what I asked for - a configuration set to
compare to my configuration.

------
Now, looking at the patch set, it would seem to me that the fact that
big chunks of the USB drivers are being patched would indicate that
the current linux-omap-2.6 tip DOES NOT support the hardware on the
Beagleboard Rev C by default, and that a set of patches are needed to
support the BeagleBoard Rev C vs. the BeagleBoard Rev B.

Is that a correct summary?

Robert Nelson

unread,
Apr 8, 2009, 1:54:54 PM4/8/09
to beagl...@googlegroups.com
Hi,

>
> So, rather than working with the head of the repo, we are working with
> a specific snapshot. It would have been nice to have noted that,
> rather than give a bunch of steps with no real explanation of the
> goal.

Yeah, the head is always in flux. For best odd's stay with branches
tagged like: v2.6.28-omap1

> Why not just pull the desired branch directly, rather than all of
> these gyrations?

You could do that, I'm just not a git expert.

>
> I see a large amount of video patches, logo patches, and things OTHER
> than USB here. While those things may be needed, they do complicate
> trying to work out "what I need" vs. "other random stuff I don't care
> about".

That diff is just all the patches the openembedded group applied to
that git checkout to create 2.6.28-r17.

For reference v2.6.28-79d042a-oer17 is Commit:
http://cgit.openembedded.net/cgit.cgi?url=openembedded/commit/&id=df49f5e7f5a14c6736806f3163787608c958f4c9

Which contains this for linux-omap_2.6.28.bb :
http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/recipes/linux/linux-omap_2.6.28.bb&id=df49f5e7f5a14c6736806f3163787608c958f4c9

Note: (in linux-omap_2.6.28.bb)

"SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;branch=omap-2.6.28;protocol=git
\" -> git tree your using

"SRCREV = "79d042a081d3e467c735bb0d9569ed6296f85a3c" " -> git checkout 79d042a

Then all the patches listed: which i've combined for my own purposes
into a single diff.

Too work out what you need vs random stuff, start with that checkout
and only apply some of the patches listed in the linux-omap_2.6.28.bb
file.

I'm just keeping things compatible to hopefully some day have sgx/dsp
on debian/ubuntu/etc.

>
>> wgethttp://rcn-ee.homeip.net:81/dl/omap/beagle/v2.6.28-79d042a-oer17/defc...
> OK, now we are getting what I asked for - a configuration set to
> compare to my configuration.
>
> ------
> Now, looking at the patch set, it would seem to me that the fact that
> big chunks of the USB drivers are being patched would indicate that
> the current linux-omap-2.6 tip DOES NOT support the hardware on the
> Beagleboard Rev C by default, and that a set of patches are needed to
> support the BeagleBoard Rev C vs. the BeagleBoard Rev B.
>
> Is that a correct summary?

Current linux-omap-2.6 tip is to volatile to say either statement.
But for the time being "full or 100%" support of the beagle's isn't in
this tree yet.

Frans Meulenbroeks

unread,
Apr 9, 2009, 3:39:24 AM4/9/09
to Beagle Board


On Apr 8, 5:20 pm, David Hagood <david.hag...@aeroflex.com> wrote:
> Let me once more try restating my question.
>
> What are the kernel options needed to get the linux-omap-2.6 kernel to
> boot on a Rev C Beagleboard, such that it will correctly identify and
> access both the dedicated USB host and the USB OTG port.
>
> I want either
> a) a pointer to a working .config file for building the kernel
> or, preferably
> b) a list of the kernel options that need to be set and the values to
> which they need to be set.
>
> NOTE: NOT EVERBODY IS USING OPEN EMBEDDED OR BITBAKE.

Still you can get the info from oe.
E.g. if you pull the tree you can get the config file from it.
If I recall correctly:
.../openembedded/recipes/linux/linux-omap.2.6.29/beagleboard/defconfig
or from the web
http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig

Then again you will need to use a kernel that comes from e.g. tony's
omap git: git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
an official stabe kernel from kernel.org (e.g.
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.1.tar.bz2 )
is not going to work as the several driver issues are not merged into
that one.

Frans
Reply all
Reply to author
Forward
0 new messages