Hello,

I have an application that uses UART2. It runs fine under Debian 7 
("Wheezy") however it doesn't under Debian 8 ("Jessie", kernel: 
4.1.15-ti-rt-r43); nothing arrives at the corresponding tty file 
(/dev/ttyO2).
For enabling UARTs I declared

cape_enable=capemgr.enable_partno=BB-UART2                    (Debian 7)

cape_enable=bone_capemgr.enable_partno=BB-UART2         (Debian 8)

in */boot/uEnv.txt*.

(Note that when I use UART4 instead of UART2 my application runs fine under 
both operating systems.)

So I tried to figure out the changes from Debian 7 to Debian 8 by looking 
at the dts files. Looking at *cape-universal-00A0.dts* revealed:

*Debian 7:*

    /************************/
    /* UARTs                */
    /************************/

    fragment@10 {
        target = <&uart2>;  /* really uart1 */
        __overlay__ {
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <>; 
        };
    };

    fragment@11 {
        target = <&uart3>;  /* really uart2 */
        __overlay__ {
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <>; 
        };
    };



*Debian 8 (/opt/source/bb.org-overlays/src/arm/cape-universal-00A0.dts):*    
/************************/
    /* UARTs                */
    /************************/

    fragment@10 {
        target = <&uart2>;  /* really uart1 */
        __overlay__ {
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <>; 
        };
    };

    fragment@11 {
        target = <&uart3>;  /* really uart2 */
        __overlay__ {
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <>; 
        };
    };

*Debian 8 (/opt/source/bb.org-overlays/src/arm/cape-universal-00A0.dts):*

    /************************/
    /* UARTs                */
    /************************/

    fragment@10 {
        target = <&uart1>;
        __overlay__ {
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <>;
        };
    };

    fragment@11 {
        target = <&uart2>;
        __overlay__ {
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <>;
        };
    };

I don't know what this exactly means, especially the "really uart<x>". Can 
anyone clarify here? Also there are two different *cape-universal-00A0.dts 
*files 
under Debian 8, which one is relevant? I see that in */boot/uEnv.txt* the 
following line is enabled by default: *cmdline=coherent_pool=1M quiet 
cape_universal=enable*. Which dts (dtb) file does it refer to?

Comparing */opt/source/bb.org-overlays/src/arm/BB-UART4-00A0.dts* and 
*/opt/source/bb.org-overlays/src/arm/BB-UART2-00A0.dts* under Debian 8 
revealed that apparently both pins have a different multiplexer mode (uart2 
-> MUX_MODE1, uart4 -> MUX_MODE6). Does this have any effect? I couldn't 
find an equivalent dts file for Debian 7.
Probably related: from *cape-universal-00A0.dts* I see

*UART2 (P9_21, P9_22):*

            [...]
            P9_21_uart_pin: pinmux_P9_21_uart_pin {
                pinctrl-single,pins = <0x154  0x31>; };     /* Mode 1, 
Pull-Up, RxActive */

            [...]
            P9_22_uart_pin: pinmux_P9_22_uart_pin {
                pinctrl-single,pins = <0x150  0x31>; };     /* Mode 1, 
Pull-Up, RxActive */

*UART4 (P9_11, P9_13):*

            [...]
            P9_11_uart_pin: pinmux_P9_11_uart_pin {
                pinctrl-single,pins = <0x070  0x36>; };     /* Mode 6, 
Pull-Up, RxActive */

            [...]
            P9_13_uart_pin: pinmux_P9_13_uart_pin {
                pinctrl-single,pins = <0x074  0x36>; };     /* Mode 6, 
Pull-Up, RxActive */

Is this relevant / exhibiting different behavior?

I also realized that for UART2 there is an additional dts file under Debian 
8: */opt/source/bb.org-overlays/src/arm/BB-UART2-RTSCTS-00A0.dts*
For UART4 there is no equivalent. How is this related?

The pin multiplexing declarations in *cape-universal-00A0.dts *(P9_21_pinmux, 
P9_22_pinmux) seem to remain the same when going from Debian 7 to Debian 8.

So does anyone know the reason why UART2 behaves differently on Debian 8 
(compared to Debian 7)?

Many thanks in advance! Cheers,

Dominik

-- 
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/485e401a-9b99-42f9-b34e-74d2ed9ff645%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to