On Fri, Jun 10, 2016 at 2:55 PM,  <[email protected]> wrote:
>
> 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)?

3.8.13: wrong usart # (off by one..)

3.14.x -> 4.1.x -> 4.4.x -> mainline: correct usart #

Regards,

-- 
Robert Nelson
https://rcn-ee.com/

-- 
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/CAOCHtYivR4qq-aM-zXT8RirJLEzkBFHEchpGy7x1X%3DMrnAogqQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to