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 uboot_overlays: loading /lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo ... 1440 bytes read in 230 ms (5.9 KiB/s) libfdt fdt_check_header(): FDT_ERR_BADMAGIC failed on fdt_overlay_apply(): FDT_ERR_BADMAGIC base fdt does did not have a /__symbols__ node make sure you've compiled with -@ uboot_overlays: loading /lib/firmware/BB-HDMI-TDA998x-00A0.dtbo ... 5127 bytes read in 294 ms (16.6 KiB/s) libfdt fdt_check_header(): FDT_ERR_BADMAGIC failed on fdt_overlay_apply(): FDT_ERR_BADMAGIC base fdt does did not have a /__symbols__ node make sure you've compiled with -@ ... debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ... debug: [bootz 0x82000000 0x88080000:452040 88000000] ... ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree When I compiled the overlay, I got a warning. Is that important? # dtc -O dtb -I dts -o /lib/firmware/TEST-00A0.dtbo -b 0 -@ TEST-00A0.dts /lib/firmware/TEST-00A0.dtbo: Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property I've tried a bunch of different things and read a bunch of pages, but I feel like I'm floundering around with u-boot overlays, so I'd appreciate any guidance. Ken version.sh info in case it helps: git:/opt/scripts/:[1aa73453b2c980b75e31e83dab7dd8b6696f10c7] eeprom:[A335BNLT00C02016BBBK2CD3] model:[TI_AM335x_BeagleBone_Black] dogtag:[BeagleBoard.org Debian Image 2018-10-07] bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2018.09-00002-g0b54a51eee]:[location: dd MBR] bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2016.03-00001-g148e520]:[location: dd MBR] kernel:[4.14.71-ti-r80] nodejs:[v6.14.4] uboot_overlay_options:[enable_uboot_overlays=1] uboot_overlay_options:[uboot_overlay_addr4=/lib/firmware/TEST-00A0.dtbo] uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo] uboot_overlay_options:[enable_uboot_cape_universal=1] pkg check: to individually upgrade run: [sudo apt install --only-upgrade <pkg>] pkg:[bb-cape-overlays]:[4.4.20180928.0-0rcnee0~stretch+20180928] pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517] pkg:[kmod]:[23-2rcnee1~stretch+20171005] pkg:[librobotcontrol]:[1.0.3-git20181005.0-0rcnee0~stretch+20181005] pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328] groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal i2c bluetooth netdev cloud9ide gpio pwm eqep admin spi tisdk weston-launch xenomai] cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] dmesg | grep pinctrl-single [ 1.107034] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568 dmesg | grep gpio-of-helper [ 1.118953] gpio-of-helper ocp:cape-universal: ready END On Thursday, November 29, 2018 at 10:06:01 AM UTC-8, RobertCNelson wrote: > > On Thu, Nov 29, 2018 at 11:49 AM Ken Shirriff <[email protected] > <javascript:>> wrote: > > > > 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? > > 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/ > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/457f581f-b63c-45f9-b82a-c19603978c3f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
