This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

am3352 3 uart open

Hi,

Our target board use the 3 uarts.

UART0 : for debug

UART1 : for MODULE1

UART3: for MODULE2

 

if we open the 2 uarts(uart0 and uart1), uart1 is working.

uart1_pins: pinmux_uart1_pins {
  pinctrl-single,pins = <
   0x180 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D16) uart1_rxd.uart1_rxd */
   0x184 ( PIN_OUTPUT_PULLDOWN | MUX_MODE0 ) /* (D15) uart1_txd.uart1_txd */
   0x178 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D18) uart1_ctsn.uart1_ctsn */
   0x17c ( PIN_OUTPUT_PULLDOWN | MUX_MODE0 ) /* (D17) uart1_rtsn.uart1_rtsn */
   0xf0 ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* (F17) mmc0_dat3.uart1_dcdn */
   0xf4 ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* (F18) mmc0_dat2.uart1_dsrn */
   0xf8 ( PIN_OUTPUT_PULLDOWN | MUX_MODE4 ) /* (G15) mmc0_dat1.uart1_dtrn */
   0xfc ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* (G16) mmc0_dat0.uart1_rin */
  >;
 };

&uart1 {  

pinctrl-names = "default";  

pinctrl-0 = <&uart1_pins>;

 status = "okay";

};

 

But if we open the 3 uarts(uart0, uart1 and uart3), then uart1 is not working.

 uart1_pins: pinmux_uart1_pins {
  pinctrl-single,pins = <
   0x180 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D16) uart1_rxd.uart1_rxd */
   0x184 ( PIN_OUTPUT_PULLDOWN | MUX_MODE0 ) /* (D15) uart1_txd.uart1_txd */
   0x178 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D18) uart1_ctsn.uart1_ctsn */
   0x17c ( PIN_OUTPUT_PULLDOWN | MUX_MODE0 ) /* (D17) uart1_rtsn.uart1_rtsn */
   0xf0 ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* (F17) mmc0_dat3.uart1_dcdn */
   0xf4 ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* (F18) mmc0_dat2.uart1_dsrn */
   0xf8 ( PIN_OUTPUT_PULLDOWN | MUX_MODE4 ) /* (G15) mmc0_dat1.uart1_dtrn */
   0xfc ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* (G16) mmc0_dat0.uart1_rin */
  >;
 };

 uart3_pins: pinmux_uart1_pins {
  pinctrl-single,pins = <
   0x160 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (C15) spi0_cs1.uart3_rxd */
   0x164 ( PIN_OUTPUT_PULLDOWN | MUX_MODE1 ) /* (C18) eCAP0_in_PWM0_out.uart3_txd */
  >;
 };

&uart1 {  

pinctrl-names = "default";  

pinctrl-0 = <&uart1_pins>;

 status = "okay";

};

&uart3 {   

pinctrl-names = "default";   

pinctrl-0 = <&uart3_pins>;

  status = "okay";

};

 

Is there a max uart open number restrictions?

My environment:

linux-3.14.26-g2489c02

u-boot-2014.07-g7e537bf