Pandaboard - UART4

This forum is for supported devices using an ARMv7 Texas Instruments (TI) SoC.

Pandaboard - UART4

Postby dragondgold » Sun Sep 20, 2015 1:08 am

Why is UART4 not available in Arch Linux in Pandaboard? Only UART from 0 to 3 are enabled, the UART at the expansion header (UART4) is not available:

$this->bbcode_second_pass_code('', '[ 1.891937] 4806a000.serial: ttyO0 at MMIO 0x4806a000 (irq = 226, base_baud = 3000000) is a OMAP UART0
[ 1.892547] 4806c000.serial: ttyO1 at MMIO 0x4806c000 (irq = 227, base_baud = 3000000) is a OMAP UART1
[ 1.893066] 48020000.serial: ttyO2 at MMIO 0x48020000 (irq = 228, base_baud = 3000000) is a OMAP UART2
[ 2.982635] console [ttyO2] enabled
[ 2.986816] 4806e000.serial: ttyO3 at MMIO 0x4806e000 (irq = 229, base_baud = 3000000) is a OMAP UART3')

How can I enable it?
dragondgold
 
Posts: 9
Joined: Sun Aug 30, 2015 10:42 pm

Re: Pandaboard - UART4

Postby dragondgold » Mon Sep 21, 2015 4:07 am

Ok, I got it now, UART4 should be /dev/ttyO3, it's not working because I need to configure the MUX. So I went to /sys/kernel/debug/omap_mux/ to change the MUX settings but the folder just contains another folder called board that is empty! Where are the MUX settings?
dragondgold
 
Posts: 9
Joined: Sun Aug 30, 2015 10:42 pm

Re: Pandaboard - UART4

Postby dragondgold » Tue Sep 22, 2015 3:07 am

Ok, I've done some progress by now. It seems like omap_mux doesn't exists anymore, the new system to configure the MUX is through Device Tree Overlays. I have been reading some post about how to use them in Beaglebone boards like http://www.valvers.com/embedded-linux/beaglebone-black/step04-gpio/ and http://interactingobjects.com/ds18b20-temperature-sensor-on-a-beaglebone-black-running-ubuntu/. So I downloaded the OMAP4 Technical Reference Manual (download here: http://www.ti.com/lit/ug/swpu235ab/swpu235ab.pdf). Table 18-504 show the UART4 control register. Based on that and the urls above I created and compiled the following Device Tree Overlay:

$this->bbcode_second_pass_code('', '// Util: http://lxr.free-electrons.com/source/arch/arm/boot/dts/omap4-panda-es.dts
// http://www.valvers.com/embedded-linux/beaglebone-black/step04-gpio/

/dts-v1/;
/plugin/;

/ {
model = "TI OMAP4 PandaBoard-ES";
compatible = "ti,omap4-panda-es", "ti,omap4460";

part-number = "ANDRES-IO";

fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
uart4_pins: pinmux_uart4_pins {
pinctrl-single,pins = <
0x15C 0x00 // kernel pin 142 (uart4 tx y rx - address 0x4A10 015C)
>;
};
};
};

fragment@1 {
target = <&ocp>;
__overlay__ {
uart4_pins_helper {
compatible = "panda-pinmux-helper";
pinctrl-names = "default";
pinctrl-0 = <&uart4_pins>;
status = "okay";
};
};
};
};')

I copied the compiled file to /lib/firmware/ but after that I don't know how to use or enable it. Beaglebone boards have bone_capemgr but I can't see such a thing in Pandaboard.
dragondgold
 
Posts: 9
Joined: Sun Aug 30, 2015 10:42 pm

Re: Pandaboard - UART4

Postby dragondgold » Tue Sep 22, 2015 7:48 pm

Solved it! See the complete answer here: https://groups.google.com/forum/#!msg/p ... ur7WItBQAJ
dragondgold
 
Posts: 9
Joined: Sun Aug 30, 2015 10:42 pm


Return to Texas Instruments (TI)

Who is online

Users browsing this forum: No registered users and 2 guests