To resolve the issue, I have added the proper pinctrl signals for the uart,
I did this for uart0 & uart1
uart1_pins: pinmux_uart1_pins {
pinctrl-single,pins = <
0x170 0x30 /* (E15) uart0_rxd.uart0_rxd, PIN_INPUT |
MUX_MODE0 */
0x174 0x00 /* (E16) uart0_txd.uart0_txd, PIN_OUTPUT |
MUX_MODE0 */
>;
};
uart2_pins: pinmux_uart2_pins {
pinctrl-single,pins = <
0x180 0x30 /* (D16) uart1_rxd.uart1_rxd, PIN_INPUT |
MUX_MODE0 */
0x184 0x00 /* (D15) uart1_txd.uart1_txd, PIN_OUTPUT |
MUX_MODE0 */
>;
};
This worked for me
uart1: serial@44e09000 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
};
uart2: serial@48022000 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
};
On Wednesday, April 9, 2014 at 1:09:03 AM UTC+5:30, [email protected]
wrote:
>
> Hi,
> On my BBB I have a Serial RS-232 BeagleBone Cape (BB_BONE_SERL-03 Rev A1)
> that I have jumpered for UART4. It works under Angstrom and was recently
> working under Ubuntu 12.04 LTS. Now it is not working under Ubuntu. There
> seems to be pin error which may be preventing it from loading. I don't
> know if this was caused by some configuration changes or not. I haven't
> been able to figure out what is causing the conflict.
>
> How can I find and fix this problem?
>
> Thanks for your help.
>
> Phil
>
> --------------------------------------------------------------------------------------------------------------------
> Background Information:
>
> 1. This is not a hardware problem. I have tested the same cape board under
> Angstrom and it works (a remote putty serial session receives the
> transmission); however, nothing is received from Ubuntu:
>
> root@ubuntu-armhf:/home/ubuntu# echo hello > /dev/ttyO4
>
>
> Note: I also tested UART4 using another micro-cape board that was working
> earlier - it also failed.
>
> 2. Some time ago I replaced /boot/dtbs/am335x-boneblack.dtb (decompiled,
> modified, recompiled .dts) to enable UART4 (/dev/ttyO4):
>
> ...
> serial@481a8000 {
> compatible = "ti,omap3-uart";
> ti,hwmods = "uart5";
> clock-frequency = <0x2dc6c00>;
> reg = <0x481a8000 0x2000>;
> interrupts = <0x2d>;
> status = "okay";
> linux,phandle = <0x1b>;
> phandle = <0x1b>;
> };
> ...
> This was working under Angstrom and Ubuntu.
>
> 3. I tried restoring the original /boot/dtbs/am335x-boneblack.dtb and
> used a .dtbo overlay for UART 4 - it still didn't work.
>
> 4. I scanned dmesg for config errors:
>
> ubuntu@ubuntu-armhf:~$ dmesg | grep -iE "uart|tty|error:"
>
> [ 0.000000] Kernel command line: console=ttyO0,115200n8 fixrtc
> root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
> [ 0.507160] omap_uart 44e09000.serial: did not get pins for uart0 error:
> -19
> [ 0.507505] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP
> UART0
> [ 1.218231] console [ttyO0] enabled
> [ 1.222660] omap_uart 481a8000.serial: did not get pins for uart4 error:
> -19
> [ 1.230408] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61) is a OMAP
> UART4
>
> ubuntu@ubuntu-armhf:~$ dmesg | grep capemgr
>
> [ 1.314500] bone-capemgr bone_capemgr.9: Baseboard:
> 'A335BNLT,0A5C,2513BBBK0965'
> [ 1.322289] bone-capemgr bone_capemgr.9:
> compatible-baseboard=ti,beaglebone-black
> [ 1.354316] bone-capemgr bone_capemgr.9: slot #0: 'BeagleBone RS232
> CAPE,00A1,Beagleboardtoys,BB-BONE-SERL-03'
> [ 1.392362] bone-capemgr bone_capemgr.9: slot #1: No cape found
> [ 1.429467] bone-capemgr bone_capemgr.9: slot #2: No cape found
> [ 1.466577] bone-capemgr bone_capemgr.9: slot #3: No cape found
> [ 1.472829] bone-capemgr bone_capemgr.9: slot #4: specific override
> [ 1.479431] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
> at slot 4
> [ 1.487466] bone-capemgr bone_capemgr.9: slot #4:
> 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
> [ 1.497595] bone-capemgr bone_capemgr.9: slot #5: specific override
> [ 1.504197] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
> at slot 5
> [ 1.512234] bone-capemgr bone_capemgr.9: slot #5:
> 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
> [ 1.522697] bone-capemgr bone_capemgr.9: loader: before slot-0
> BB-BONE-SERL-03:00A1 (prio 0)
> [ 1.531582] bone-capemgr bone_capemgr.9: loader: check slot-0
> BB-BONE-SERL-03:00A1 (prio 0)
> [ 1.540465] bone-capemgr bone_capemgr.9: loader: before slot-4
> BB-BONE-EMMC-2G:00A0 (prio 1)
> [ 1.549338] bone-capemgr bone_capemgr.9: loader: check slot-4
> BB-BONE-EMMC-2G:00A0 (prio 1)
> [ 1.558137] bone-capemgr bone_capemgr.9: initialized OK.
> [ 1.563745] bone-capemgr bone_capemgr.9: loader: before slot-5
> BB-BONELT-HDMI:00A0 (prio 1)
> [ 1.572511] bone-capemgr bone_capemgr.9: loader: check slot-5
> BB-BONELT-HDMI:00A0 (prio 1)
> [ 1.594787] bone-capemgr bone_capemgr.9: loader: after slot-0
> BB-BONE-SERL-03:00A1 (prio 0)
> [ 1.603587] bone-capemgr bone_capemgr.9: loader: check slot-4
> BB-BONE-EMMC-2G:00A0 (prio 1)
> [ 1.618764] bone-capemgr bone_capemgr.9: loader: check slot-5
> BB-BONELT-HDMI:00A0 (prio 1)
> [ 1.633551] bone-capemgr bone_capemgr.9: slot #0: Requesting part
> number/version based 'BB-BONE-SERL-03-00A1.dtbo
> [ 1.650222] bone-capemgr bone_capemgr.9: slot #0: Requesting firmware
> 'BB-BONE-SERL-03-00A1.dtbo' for board-name 'BeagleBone RS232 CAPE', version
> '00A1'
> [ 61.751962] bone-capemgr bone_capemgr.9: failed to load firmware
> 'BB-BONE-SERL-03-00A1.dtbo'
> [ 61.760833] bone-capemgr bone_capemgr.9: loader: failed to load slot-0
> BB-BONE-SERL-03:00A1 (prio 0)
> [ 61.772418] bone-capemgr bone_capemgr.9: loader: check slot-5
> BB-BONELT-HDMI:00A0 (prio 1)
> [ 61.772447] bone-capemgr bone_capemgr.9: loader: after slot-5
> BB-BONELT-HDMI:00A0 (prio 1)
> [ 61.772475] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware
> 'cape-boneblack-hdmi-00A0.dtbo' for board-name 'Bone-Black-HDMI', version
> '00A0'
> [ 61.772500] bone-capemgr bone_capemgr.9: slot #5: dtbo
> 'cape-boneblack-hdmi-00A0.dtbo' loaded; converting to live tree
> [ 61.772829] bone-capemgr bone_capemgr.9: slot #5: #4 overlays
> [ 61.773958] bone-capemgr bone_capemgr.9: loader: check slot-4
> BB-BONE-EMMC-2G:00A0 (prio 1)
> [ 61.773982] bone-capemgr bone_capemgr.9: loader: after slot-4
> BB-BONE-EMMC-2G:00A0 (prio 1)
> [ 61.774012] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware
> 'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
> [ 61.774028] bone-capemgr bone_capemgr.9: slot #4: dtbo
> 'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
> [ 61.774534] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
> [ 61.774704] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
> [ 61.774719] bone-capemgr bone_capemgr.9: loader: done slot-4
> BB-BONE-EMMC-2G:00A0 (prio 1)
> [ 61.964834] bone-capemgr bone_capemgr.9: slot #5: Applied #4 overlays.
> [ 61.964861] bone-capemgr bone_capemgr.9: loader: done slot-5
> BB-BONELT-HDMI:00A0 (prio 1)
>
>
> 5. I checked the /dev/ttyO4 settings and made sure they matched the remote
> putty settings.
>
> ubuntu@ubuntu-armhf:~$ stty -F /dev/ttyO4
> speed 9600 baud; line = 0;
> -brkint -imaxbel
>
>
> 6. I checked the current capemgr slots:
>
> ubuntu@ubuntu-armhf:~$ cat /sys/devices/bone_capemgr.*/slots
> 1: 55:PF---
> 2: 56:PF---
> 3: 57:PF---
> 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
> 5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
>
> 7. I checked for any running processes that might be locking the device -
> none were seen:
>
> ubuntu@ubuntu-armhf:~$ ps waux | grep tty
> root 484 0.0 0.1 3364 708 tty4 Ss+ 19:07 0:00
> /sbin/getty -8 38400 tty4
> root 486 0.0 0.1 3364 708 tty5 Ss+ 19:07 0:00
> /sbin/getty -8 38400 tty5
> root 491 0.0 0.1 3364 708 tty2 Ss+ 19:07 0:00
> /sbin/getty -8 38400 tty2
> root 494 0.0 0.1 3364 708 tty3 Ss+ 19:07 0:00
> /sbin/getty -8 38400 tty3
> root 497 0.0 0.1 3364 708 tty6 Ss+ 19:07 0:00
> /sbin/getty -8 38400 tty6
> root 573 0.0 0.1 3364 708 tty1 Ss+ 19:07 0:00
> /sbin/getty -8 38400 tty1
> root 574 0.0 0.1 1612 636 ttyO0 Ss+ 19:07 0:00
> /sbin/getty 115200 ttyO0
> ubuntu 772 0.0 0.1 3116 712 pts/0 S+ 19:24 0:00 grep
> --color=auto tty
>
>
> 8. I tried to disable the HDMI interface but couldn't find a way that
> would work.
>
>
>
>
--
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].
For more options, visit https://groups.google.com/d/optout.