Fail trying to enable uart5

Hi,

I’m trying to enable all the uarts of my beaglebone black, but it’s failing for uart5.

For uart1, uart2 and uart4 I just used the supplied BB-UART? dtbo file. For uart3 (just tx) I created a BB-UART3 myself and it worked fine.

Now, when I try to enable uart5, I got an error on dmesg telling me that it couldnt resolve the symbol “uart6”.

I’m running ubuntu with kernel 3.12, but I had the same issue on ubuntu with orignal kernel 3.8 too.

Here is the error:

root@ubuntu-armhf:/home/ubuntu# cat /sys/devices/bone_capemgr.6/slots
0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—

root@ubuntu-armhf:/home/ubuntu# echo BB-UART5 >/sys/devices/bone_capemgr.6/slots
bash: echo: write error: Invalid argument

root@ubuntu-armhf:/home/ubuntu# dmesg | tail
[ 15.344819] init: failsafe main process (336) killed by TERM signal
[ 86.463777] bone-capemgr bone_capemgr.6: part_number ‘BB-UART5’, version ‘N/A’
[ 86.463870] bone-capemgr bone_capemgr.6: slot #7: generic override
[ 86.463889] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 7
[ 86.463907] bone-capemgr bone_capemgr.6: slot #7: ‘Override Board Name,00A0,Override Manuf,BB-UART5’
[ 86.464002] bone-capemgr bone_capemgr.6: slot #7: Requesting part number/version based 'BB-UART5-00A0.dtbo
[ 86.464021] bone-capemgr bone_capemgr.6: slot #7: Requesting firmware ‘BB-UART5-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 86.464049] bone-capemgr bone_capemgr.6: slot #7: dtbo ‘BB-UART5-00A0.dtbo’ loaded; converting to live tree
[ 86.464190] of_resolve: Could not find symbol ‘uart6’
[ 86.469611] bone-capemgr bone_capemgr.6: slot #7: Failed to resolve tree

Any ideas?

That looks familiar. Try these threads:

https://groups.google.com/forum/#!msg/beagleboard/ge7kwDXxMC8/2ZS4ggbTZBgJ
https://groups.google.com/d/msg/beagleboard/YqONs50YKWU/VuVsbBhQNl0J

I have resolved this issue by editting am335x-boneblack.dts and correcting the name os the uarts (from uart0, uart1, uart2, uart3, uart4 and uart5 to uart1, uart2, uart3, uart4, uart5 and uart6).

It’s working now (needed to disable HDMI too).

[]'s

I should have listed this thread as well: https://groups.google.com/d/msg/beagleboard/YqONs50YKWU/VuVsbBhQNl0J

Did you confirm that HDMI is actually disabled and UART5 is enabled? And by that I mean booting with a screen plugged in and confirming it’s blank, and trying to send/receive on UART5 and confirming it works? Because it didn’t work for me.

I can confirm that sending/receiving on UART5 is working. Unfortunately I don’t have a HDMI display here to test it.

To ensure that the HDMI is disabled, I have deleted /lib/firmware/cape-boneblack-hdmi* and removed all entries for HDMI from am335x-boneblack.dts.

I have now all 6 uarts working (except for uart3 that can only do tx). Now I’m trying to use uart0 via P9.

[]'s