Stuck with applying the device tree overlay file (dtbo) On BeagleBoard-XM, any suggestions how?

Hi There,
I have recently took my Beagleboard-xM and put on it the Ubuntu 14.04 LTS (3.14.2-armv7-x5),
then I tried to mux PIn3 (GPIO_139), after reading thoroughly the pages from both the “System Reference Manual”(Page 110) and the “Technical Reference Manual” of the processor (Pages 2444-2453).
So I wrote the dts file and compiled it via dtc.

but now I got stuck how do I apply the changes on runtime?

I saw on the beaglebone there is a slots file (/sys/devices/…/slots) which was triggering the change,
after we echoed to it the dtbo file. but in my case we are talking about beagleboard-xM which there is no such kind of file.
can someone elaborate what should I do?

Any suggestion would be great! thank you all.

Gil

Modify the base dtb file, the capemgr wasn't ported to the xM. When
overlay's hit mainline we will visit this again.

Regards,

Wow, thank you Robert for the super quick answer :slight_smile:

A short question before I’ll read and delve into more depth about the subject:
I have noticed during the boot process, the beagleboard-xM (rev B) prints on screen:

"reading /dtbs/omap3-beagle-xm-ab.dtb
60695 bytes read in 13 ms (4.5 MiB/s)

Error: “expansion_args” not defined

Kernel image @ 0x80300000 [ 0x000000 - 0x3e2f38 ]

Flattened Device Tree blob at 815f0000

Booting using the fdt blob at 0x815f0000
Using Device Tree in place at 815f0000, end 81601d16

Starting kernel …"

So I searched for the omap3-beagle-xm-ab.dts (on linux_kernel-3.14.4 source) in order to modify it. but couldn’t find it, found only omap3-beagle-xm.dts
googled and found only this skinny file: omap3-beagle-xm-ab.dts, which contains:

/include/ “omap3-beagle-xm.dts”

/* On Rev A/B USBHOST_PWR_EN is active high */

&hsusb2_power {

enable-active-high;

};

Is it the correct file? which I should:

  1. modify
  2. compile it to dtb
  3. overwrite the exist file in /boot/uboot/dtbs/omap3-beagle-xm-ab.dtb

Thank you again.

Have a great week!

Wow, thank you Robert for the super quick answer :slight_smile:

A short question before I'll read and delve into more depth about the
subject:
I have noticed during the boot process, the beagleboard-xM (rev B) prints
on screen:

"reading /dtbs/omap3-beagle-xm-ab.dtb
60695 bytes read in 13 ms (4.5 MiB/s)
## Error: "expansion_args" not defined

That's just an old variable in u-boot for the old "board" file boot. (the
buddy=spidev etc crap)

Kernel image @ 0x80300000 [ 0x000000 - 0x3e2f38 ]
## Flattened Device Tree blob at 815f0000
   Booting using the fdt blob at 0x815f0000
   Using Device Tree in place at 815f0000, end 81601d16

Starting kernel .."

So I searched for the omap3-beagle-xm-ab.dts (on linux_kernel-3.14.4
source) in order to modify it. but couldn't find it, found only
omap3-beagle-xm.dts
googled and found only this skinny file: omap3-beagle-xm-ab.dts, which
contains:

Yeah, just got merged to mainline a few weeks back.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/omap3-beagle-xm-ab.dts?id=refs/tags/v3.15-rc5

/include/ "omap3-beagle-xm.dts"

/* On Rev A/B USBHOST_PWR_EN is active high */

&hsusb2_power {

    enable-active-high;

};

Is it the correct file? which I should:
1) modify
2) compile it to dtb
3) overwrite the exist file in /boot/uboot/dtbs/omap3-beagle-xm-ab.dtb

It's actually way easier to just "decompile" it with dtc, then recompile it
again.

dtc -I dtb -O dts omap3-beagle-xm-ab.dtb > omap3-beagle-xm-ab.dts

Regards,

Thank you, definitely valuable tips! :slight_smile:

Gilco, could you post the code you ended up using to get this to work? I am in the same boat, I just want to use some GPIO pins for basic I/O but this new device tree thing is making it hard. Cannot find any information on how to simply export a few pins.
I would really appreciate any help!
~Dagaen Golomb