Alright, the issue I had why it was not loading the pins was that I was trying to set the pinmux on multiple pins at a time. If even only one of those was already taken, the whole rule would be ignored.
Some of the pins were already claimed by the dtb, so I just changed the pinmux settings in there (as it was not possible to override in the overlay those already set there).
Then the overlay re-defines all the core pins again (4 of the pins in there will fail to load (as
dmesg reveals), but it's fine: these are those that have already been set in the
I just pushed to the
dev-kernel-4.4.y-xenomai-3-support branch updated device tree and overlays.
On your 4.4.y kernel you should
scp Bela/resources/am335x-boneblack.dtb firstname.lastname@example.org:/boot/dtbs/$(uname -r)/
scp Bela/resources/BELA-CORE-PINS-00A0.dtbo email@example.com
and the upon boot you need to manually
echo BELA-CORE-PINS > /sys/devices/platform/bone_capemgr/slots
to load the overlay.
All of this said, the PRU still hangs on the first call to
MCASP_REG_SET_BIT_AND_POLL, which is very strange.
There may be something broken in the
pruss_uio ? A memory dump of the PRU shows some differences but I am not sure if these are relevant.
Or is there anything else needed in the dtb to activate the McASP?