I do have a question on boot time overlay loading.
I'm making an NTP server from the original Beaglebone with a proto cape (so no eeprom). The board has an assortment of devices like a serial port for a GPS, an external i2c RTC module, a few LED's, an OLED display and assorted GPIO's. (Yes, everything is either 3.3v friendly or it's buffered or driven from external hardware.)
The 3.8 kernel might support all my hardware with device trees! Excellent! So I'm writing an overlay--call it BB-NTPD-00A0.dtbo.
From U-Boot, how do I pass my DTB to the kernel? I tried variations of these arguments in my uEnv.txt:
Setenv bootargs {$bootargs} capemgr.extra_override=BB-NTPD:00A0
I've not gotten Linux to see this--the command does not show in /proc/cmdline. My DTB overlay would enable UART2, but it does not show up in /dev either. Mind, the DTB loads fine when I do it manually after boot. I'm using the latest Angstrom.
I'm going by the documentation you originally wrote up for capemgr in the kernel sources. It specifies the kernel argument as "capemgr.extra_override" while Google Docs show it as "capemgr.extra-override". Which is it?
Ultimately I just want to know the best way to load my device tree as early in the boot as I can get it. How can I do this?
Your documentation is an excellent start!
Hello there,
In light of all the confusion about the new kernel of the beaglebone we've taken some time off our really busy schedule and put up a detailed explanation about how the new kernel works, what is different with 3.8, what changes Device Tree mandated, as well as how cape manager can be used.
This is a live document, so let me know if you have any additions, can't figure out something etc.
Our intention is to have a set of blessed documents that will contain authoritative answers about any questions you might have.
The document is at:
Regards
-- Pantelis
P.S. Sorry for the reposts but google groups seems to be going nuts.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
On 13-05-31 08:48 AM, Pantelis Antoniou wrote:
In this document you mention the patch needed for dtc. I have attempted use it to patch:
https://launchpad.net/ubuntu/+source/device-tree-compiler/1.3.0-2, without success. I am attempting to build a dtc for my host system. Am I completely on the wrong path? If not, could you please guide me to the correct source.
optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-SPI0DEV,BB-SPI1DEV
opkg install dtc
dtc -O dtb -o /lib/firmware/BB-SPI0DEV-00A0.dtbo -b 0 -@ BB-SPI0DEV-00A0.dts
dtc -O dtb -o /lib/firmware/BB-SPI1DEV-00A0.dtbo -b 0 -@ BB-SPI1DEV-00A0.dts3. Mount the boot partition with the following commands:
if [ ! -d /mnt/boot ]; then mkdir /mnt/boot; fi
mount /dev/mmcblk0p1 /mnt/boot4. If you want to just enable SPI0, which doesn't conflict with the on board HDMI, add the following to the end of the "optargs" line in /mnt/boot/uEnv.txt:
capemgr.enable_partno=BB-SPI0DEV5. If you also want to enable SPI1 you'll need to disable the HDMI cape first, so you can edit uEnv.txt as I specified above.
Well, I'm using 4.4.8-ti-rt-r22 and the option capemgr.extra_override=XXXX doesn't work for a cape without EEPROM, but it works by echoing into /sys/devices/platform/bone_capemgr/slots.
bone_capemgr.enable_partno=
bone_capemgr.disable_partno=
bone_capemgr.enable_partno=XXXX
That was the first think I tried, but it's simply ignored:bone_capemgr.enable_partno=XXXX
$ cat /proc/cmdline
console=tty0 console=ttyO0,115200n8 video=HDMI-A-1:1280x720@60 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait fixrtc coherent_pool=1M quiet cape_universal=enable bone_capemgr.enable_partno=BB-LCD10 video=LVDS-1:800x600@60
I've added it to "cmdline=" and I do see it when booted:$ cat /proc/cmdline
console=tty0 console=ttyO0,115200n8 video=HDMI-A-1:1280x720@60 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait fixrtc coherent_pool=1M quiet cape_universal=enable bone_capemgr.enable_partno=BB-LCD10 video=LVDS-1:800x600@60
[ 3.042573] bone_capemgr bone_capemgr: enabled_partno PARTNO 'BB-LCD10' VER 'N/A' PR '0'
[ 3.042588] bone_capemgr bone_capemgr: slot #4: override
[ 3.042605] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[ 3.042623] bone_capemgr bone_capemgr: slot #4: 'Override Board Name,00A0,Override Manuf,BB-LCD10'
[ 3.043003] bone_capemgr bone_capemgr: initialized OK.
. . . . .
[ 4.053108] bone_capemgr bone_capemgr: loader: failed to load slot-4 BB-LCD10:00A0 (prio 0)
That's strange, first it loads and then reports "failed":[ 3.042573] bone_capemgr bone_capemgr: enabled_partno PARTNO 'BB-LCD10' VER 'N/A' PR '0'
[ 3.042588] bone_capemgr bone_capemgr: slot #4: override
[ 3.042605] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[ 3.042623] bone_capemgr bone_capemgr: slot #4: 'Override Board Name,00A0,Override Manuf,BB-LCD10'
[ 3.043003] bone_capemgr bone_capemgr: initialized OK.
. . . . .
[ 4.053108] bone_capemgr bone_capemgr: loader: failed to load slot-4 BB-LCD10:00A0 (prio 0)
You can override dtb=x in /boot/uEnv.txt...
BeagleBone Black: HDMI (Audio/Video) disabled:
dtb=am335x-boneblack-emmc-overlay.dtb
BeagleBone Black: HDMI (Audio/Video)/eMMC disabled:
dtb=am335x-boneblack-overlay.dtb
You can override dtb=x in /boot/uEnv.txt...
BeagleBone Black: HDMI (Audio/Video) disabled:
dtb=am335x-boneblack-emmc-overlay.dtb
BeagleBone Black: HDMI (Audio/Video)/eMMC disabled:
dtb=am335x-boneblack-overlay.dtb
ps, this is all in:
dtb=am335x-boneblack-overlay.dtb
is there (I don't know how HMDI mode option appeared in the command line though).I have spent some time before posting the problem here.#
echo BB-LCD10 > /sys/devices/platform/bone_capemgr/slots
# cat /sys/devices/platform/bone_capemgr/slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
5: P-O-L- 0 Override Board Name,00A0,Override Manuf,BB-LCD10
bone_capemgr.enable_partno=BB-LCD10It was my fault. I reworked the DTS file. Initially it was based on the old BB-BONE-LCD7-01-00A0.dts (since my cape has been designed based on Bone LCD 7").