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.

[参考译文] J784S4XEVM:在 J784S4XG01EVM 中、UART 未分配给/dev/tty *

Guru**** 2860250 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1637139/j784s4xevm-uarts-are-not-assigned-to-dev-tty-in-j784s4xg01evm

器件型号: J784S4XEVM

您好 TI、

很抱歉重新创建此内容。 我将上一个问题标记为错误解决。 我想通过 ScreenShot1 中标记的 UART 端口将数据从 EVM 发送到 PC。 在 EVM 的标准 Linux 发行版中、ScreenShot1 中的突出显示端口不会分配给任何/dev/tty。

sch.png

ScreenShot1.

有了 CodeSnippet1,我能够使 main_uart5 工作. 它被分配给/dev/ttyS2、请参阅 CodeSnippet2。 我不明白为什么它会填充/dev/ttyS2、因为我在 dtsi 中使用了 serial20。

@@ -15,10 +15,13 @@ chosen {
 
 	aliases {
 		serial0 = &wkup_uart0;
 		serial1 = &mcu_uart0;
 		serial2 = &main_uart8;
+        serial18 = &main_uart2;
+        serial19 = &main_uart3;
+        serial20 = &main_uart5;
 		mmc0 = &main_sdhci0;
 		mmc1 = &main_sdhci1;
 		i2c0 = &wkup_i2c0;
 		i2c3 = &main_i2c0;
 		ethernet0 = &mcu_cpsw_port1;
@@ -395,10 +398,34 @@ J784S4_IOPAD(0x044, PIN_OUTPUT, 14) /* (AG37) MCASP0_AXR1.UART8_RTSn */
 			J784S4_IOPAD(0x0d0, PIN_INPUT, 11) /* (AP38) SPI0_CS1.UART8_RXD */
 			J784S4_IOPAD(0x0d4, PIN_OUTPUT, 11) /* (AN38) SPI0_CLK.UART8_TXD */
 		>;
 	};
 
+    main_uart2_pins_default: main-uart2-default-pins {
+        bootph-all;
+        pinctrl-single,pins = <
+            J784S4_IOPAD(0x0d8, PIN_INPUT, 11) /* (AM35) SPI0_D0.UART2_RXD */
+            J784S4_IOPAD(0x0dc, PIN_OUTPUT, 11) /* (AM36) SPI0_D1.UART2_TXD */
+        >;
+    };
+
+    main_uart3_pins_default: main-uart3-default-pins {
+        bootph-all;
+        pinctrl-single,pins = <
+            J784S4_IOPAD(0x074, PIN_INPUT, 11) /* (AC33) MCAN2_TX.UART3_RXD */
+            J784S4_IOPAD(0x0ec, PIN_OUTPUT, 5) /* (AN37) TIMER_IO1.UART3_TXD */
+        >;
+    };
+
+    main_uart5_pins_default: main-uart5-default-pins {
+        bootph-all;
+        pinctrl-single,pins = <
+            J784S4_IOPAD(0x008, PIN_INPUT, 11) /* (AJ33) MCAN12_RX.UART5_RXD */
+            J784S4_IOPAD(0x004, PIN_OUTPUT, 11) /* (AG36) MCAN12_TX.UART5_TXD */
+        >;
+    };
+
 	main_i2c0_pins_default: main-i2c0-default-pins {
 		pinctrl-single,pins = <
 			J784S4_IOPAD(0x0e0, PIN_INPUT, 0) /* (AN36) I2C0_SCL */
 			J784S4_IOPAD(0x0e4, PIN_INPUT, 0) /* (AP37) I2C0_SDA */
 		>;
@@ -804,10 +831,31 @@ &main_uart8 {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_uart8_pins_default>;
 };
 
+&main_uart2 {
+    bootph-all;
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_uart2_pins_default>;
+};
+
+&main_uart3 {
+    bootph-all;
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_uart3_pins_default>;
+};
+
+&main_uart5 {
+    bootph-all;
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_uart5_pins_default>;
+};
+
 &ufs_wrapper {
 	status = "okay";
 };
 
 &wkup_gpio0 {

CodeSnippeT1、arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi

root@j784s4-evm:~# ls -l /sys/class/tty/ttyS*/device
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS0/device -> ../../../2830000.serial:0.0
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS1/device -> ../../../40a00000.serial:0.0
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS10/device -> ../../../serial8250:0.10
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS11/device -> ../../../serial8250:0.11
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS2/device -> ../../../2850000.serial:0.0
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS3/device -> ../../../2880000.serial:0.0
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS4/device -> ../../../serial8250:0.4
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS5/device -> ../../../serial8250:0.5
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS6/device -> ../../../serial8250:0.6
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS7/device -> ../../../serial8250:0.7
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS8/device -> ../../../serial8250:0.8
lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS9/device -> ../../../serial8250:0.9

CodeSnippet2

您能帮助我在 ScreenShot1 中使用 UART 端口吗?

谢谢!
Mehmet

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mehmet:

    您是否能够使用 screenshot1 中共享的所有 UART 端口?

     “我不明白为什么它会填入/dev/ttyS2、因为我在 dtsi 中使用了 serial20。“

    例如 main_uart3 和 main_uart2 等其他 UART 串行端口呢?

    此致、

    Anil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anil:
    不幸的是,我无法使用 ScreenShot1 中的所有 UART。 我可以使用 main_uart5main_uart8,mcu_uart0 from linux. To match UARTs to physical pins: I have used addresses in CodeSnippet1 and looked at the addresses given in CodeSnippet2 and CodeSnippet3.

    root@j784s4-evm:~# ls -l /sys/class/tty/ttyS*/device
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS0/device -> ../../../2830000.serial:0.0
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS1/device -> ../../../40a00000.serial:0.0
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS10/device -> ../../../serial8250:0.10
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS11/device -> ../../../serial8250:0.11
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS2/device -> ../../../2850000.serial:0.0
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS3/device -> ../../../2880000.serial:0.0
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS4/device -> ../../../serial8250:0.4
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS5/device -> ../../../serial8250:0.5
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS6/device -> ../../../serial8250:0.6
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS7/device -> ../../../serial8250:0.7
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS8/device -> ../../../serial8250:0.8
    lrwxrwxrwx 1 root root 0 May 29 22:41 /sys/class/tty/ttyS9/device -> ../../../serial8250:0.9

    CodeSnippeT1



    	mcu_uart0: serial@40a00000 {
    		compatible = "ti,j721e-uart", "ti,am654-uart";
    		reg = <0x00 0x40a00000 0x00 0x200>;
    		interrupts = <GIC_SPI 846 IRQ_TYPE_LEVEL_HIGH>;
    		clocks = <&k3_clks 149 0>;
    		clock-names = "fclk";
    		power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
    		status = "disabled";
    	};

    CodeSnippet2 arch/arm64/boot/dts/ti/k3-j784s4-j742s2-mcu-wakeup-common.dtsi

    	main_uart5: serial@2850000 {
    		compatible = "ti,j721e-uart", "ti,am654-uart";
    		reg = <0x00 0x02850000 0x00 0x200>;
    		interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
    		clocks = <&k3_clks 392 0>;
    		clock-names = "fclk";
    		power-domains = <&k3_pds 392 TI_SCI_PD_EXCLUSIVE>;
    		status = "disabled";
    	};
    
    ...
    
    	main_uart8: serial@2880000 {
    		compatible = "ti,j721e-uart", "ti,am654-uart";
    		reg = <0x00 0x02880000 0x00 0x200>;
    		interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
    		clocks = <&k3_clks 395 0>;
    		clock-names = "fclk";
    		power-domains = <&k3_pds 395 TI_SCI_PD_EXCLUSIVE>;
    		status = "disabled";
    	};

    CodeSnippet3 arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi

    希望听到您的声音

    Thank you
    Mehmet

     
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mehmet:

    如果不更改这些代码、我们应该能够 在 TeraTerm(在 Windows 中)上获取 UART 控制台和 Linux 上的 minicom 提示(通过使用“sudo mincom -D /dev/ttyUSB 或/dev/ttyS *)

    此致、

    Anil   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Anil

    是的、您可以打开端口、但这并不意味着您可以通过它发送数据...

    通信所需的 DTS 更改、因为默认情况下已禁用它们。 我完成了它的工作、我正在关闭 TT。

    dev.ti.com/.../

    ----------- arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi -----------
    index e8124900b..7154f8dcf 100644
    @@ -17,6 +17,7 @@ aliases {
     		serial0 = &wkup_uart0;
     		serial1 = &mcu_uart0;
     		serial2 = &main_uart8;
    +        serial5 = &main_uart5;
     		mmc0 = &main_sdhci0;
     		mmc1 = &main_sdhci1;
     		i2c0 = &wkup_i2c0;
    @@ -397,6 +398,14 @@ J784S4_IOPAD(0x0d4, PIN_OUTPUT, 11) /* (AN38) SPI0_CLK.UART8_TXD */
     		>;
     	};
     
    +    main_uart5_pins_default: main-uart5-default-pins {
    +        bootph-all;
    +        pinctrl-single,pins = <
    +            J784S4_IOPAD(0x008, PIN_INPUT, 11) /* (AJ33) MCAN12_RX.UART5_RXD */
    +            J784S4_IOPAD(0x004, PIN_OUTPUT, 11) /* (AG36) MCAN12_TX.UART5_TXD */
    +        >;
    +    };
    +
     	main_i2c0_pins_default: main-i2c0-default-pins {
     		pinctrl-single,pins = <
     			J784S4_IOPAD(0x0e0, PIN_INPUT, 0) /* (AN36) I2C0_SCL */
    @@ -806,6 +815,13 @@ &main_uart8 {
     	pinctrl-0 = <&main_uart8_pins_default>;
     };
     
    +&main_uart5 {
    +	bootph-all;
    +	status = "okay";
    +	pinctrl-names = "default";
    +	pinctrl-0 = <&main_uart5_pins_default>;
    +};
    +
     &ufs_wrapper {
     	status = "okay";
     };



    ----------- arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi -----------
    index 7154f8dcf..46d80cf9d 100644
    @@ -18,6 +18,7 @@ aliases {
     		serial1 = &mcu_uart0;
     		serial2 = &main_uart8;
             serial5 = &main_uart5;
    +        serial6 = &main_uart2;
     		mmc0 = &main_sdhci0;
     		mmc1 = &main_sdhci1;
     		i2c0 = &wkup_i2c0;
    @@ -406,6 +407,14 @@ J784S4_IOPAD(0x004, PIN_OUTPUT, 11) /* (AG36) MCAN12_TX.UART5_TXD */
             >;
         };
     
    +    main_uart2_pins_default: main-uart2-default-pins {
    +        bootph-all;
    +        pinctrl-single,pins = <
    +            J784S4_IOPAD(0x0d8, PIN_INPUT, 11) /* (AM35) SPI0_D0.UART2_RXD */
    +            J784S4_IOPAD(0x0dc, PIN_OUTPUT, 11) /* (AM36) SPI0_D1.UART2_TXD */
    +        >;
    +    };
    +
     	main_i2c0_pins_default: main-i2c0-default-pins {
     		pinctrl-single,pins = <
     			J784S4_IOPAD(0x0e0, PIN_INPUT, 0) /* (AN36) I2C0_SCL */
    @@ -822,6 +831,13 @@ &main_uart5 {
     	pinctrl-0 = <&main_uart5_pins_default>;
     };
     
    +&main_uart2 {
    +	bootph-all;
    +	status = "okay";
    +	pinctrl-names = "default";
    +	pinctrl-0 = <&main_uart2_pins_default>;
    +};
    +
     &ufs_wrapper {
     	status = "okay";
     };


    ----------- arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi -----------
    index 46d80cf9d..7e5cb3a39 100644
    @@ -675,7 +675,7 @@ J784S4_WKUP_IOPAD(0x00C, PIN_INPUT, 0) /* (C31) MCU_OSPI1_LBCLKO */
     
     &wkup_uart0 {
     	/* Firmware usage */
    -	status = "reserved";
    +	status = "okay";
     	pinctrl-names = "default";
     	pinctrl-0 = <&wkup_uart0_pins_default>;
     };