How to use P9_19 / disable i2c2?

149 views
Skip to first unread message

Ken Shirriff

unread,
Nov 29, 2018, 12:49:46 PM11/29/18
to BeagleBoard
I want to use P9_19 and P9_20 (so I have a set of contiguious GPIOs), but they are allocated by i2c2. Is there a way to free up these pins so I can use them in my overlay? I found a discussion in this thread but no clear answer. 

Some options I'm considering:
Option 1: build a new kernel. I'd rather avoid this.
Option 2: decompile am335x-boneblack.dtsi and modify it. Would this work? I couldn't find this file on my BBB.
Option 3: do something in the overlay? Is there a way to unallocate previously allocated pins?

Freeing up the HDMI pins was straightforward, just don't load the overlay, but i2c2 seems to be more hardwired. Any suggestions?

Thanks,
Ken


Robert Nelson

unread,
Nov 29, 2018, 1:06:01 PM11/29/18
to Beagle Board, Ken Shirriff
Under /opt/source/dtb*/ you'll find a git repo with just the device
tree. Depending on what kernel your running there should be 1 to 3
different directories (dtb-4.4-ti/dtb-4.9-ti/dtb-4.14-ti)

make sure to do a git pull on any of those directies first, then make
your changes and just run:

make
sudo make install

and then reboot..

* this is the head repo for those dir's :
https://github.com/RobertCNelson/dtb-rebuilder

Regards,

--
Robert Nelson
https://rcn-ee.com/
Message has been deleted

Robert Nelson

unread,
Nov 30, 2018, 10:52:39 AM11/30/18
to Beagle Board, Ken Shirriff
On Fri, Nov 30, 2018 at 12:30 AM Ken Shirriff <ken.sh...@gmail.com> wrote:
>
> Thanks, Robert. The make worked, but I can't seem to get an overlay to load at all using u-boot. I had moved to a modern u-boot kernel and the overlay I put into dtb_overlay in /boot/uEnv.txt doesn't get loaded, but I don't see any errors in the log either. How do I debug this in the post-capemgr world? I've tried a bunch of different overlays and settings but nothing seems to work. Is there some trick to loading an overlay with u-boot?
>
> Next, I reinstalled the kernel in case I'd messed up something along the way. Now when I try to install a simple overlay with "uboot_overlay_addr4=/lib/firmware/TEST-00A0.dtbo", it completely hangs during boot, so I'm making negative progress here. Now I get a bunch of overlay errors during boot:
> loading /boot/dtbs/4.14.71-ti-r80/am335x-boneblack-uboot-univ.dtb ...
> 161723 bytes read in 80 ms (1.9 MiB/s)
> uboot_overlays: [fdt_buffer=0x60000] ...
> uboot_overlays: loading /lib/firmware/TEST-00A0.dtbo ...
> 824 bytes read in 449 ms (1000 Bytes/s)
> failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND

Hi Ken,

This usually means you are referencing a node that doesn't exist in the
current live device tree blob...

Let's see your overlay..

Ken Shirriff

unread,
Nov 30, 2018, 3:03:36 PM11/30/18
to BeagleBoard
Thanks, Robert. You were correct - I had a typo in my node name and now it works.

Ken
Reply all
Reply to author
Forward
0 new messages