Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX6-L/Peripherals/UART

2,285 bytes added, 8 January
no edit summary
<section begin="History" />
{| style="border-collapse:collapse; "
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Version!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|1.0.0{{oldid|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"14093|Oct 20202021/07/16}}|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|First DESK -MX6-L release
|-
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |{{oldid|16263|2022/03/03}}
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |DESK-MX6-L 3.0.0 release
|-
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |{{oldid|17001|2022/05/27}}
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |Add RS282/RS485 setting mode
|-
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |2023/04/11
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |DESK-MX6-L 4.0.0 release
|-
|}
<section end="History" /><section begin="Body" />
==Peripheral UART ==
<pre>
&uart2 {
fsl,uart-has-rtscts; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart2_1pinctrl_dwm_uart2_1>; fsl,uart-has-rtscts; status = "okay";
};
 
</pre>
<pre>
uart2 {
pinctrl_uart2_1pinctrl_dwm_uart2_1: uart2_grpdwm_uart2_grp-1 {
fsl,pins = <
MX6QDL_PAD_SD3_DAT4__UART2_RX_DATA 0x1b0b1
...
...
[ 0.327639302170] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 6778, base_baud = 5000000) is a IMX[ 0.328239303041] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 6879, base_baud = 5000000) is a IMX[ 10.217209569731] printk: console [ttymxc2] enabled[ 10.221552582478] 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 6980, base_baud = 5000000) is a IMX[ 10.230860594030] 21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 7081, base_baud = 5000000) is a IMX
...
...
root@imx6qxelk:~#
</pre>
 
==== Configuring the RS232/RS485 mode====
When the UART5 (aka <code>/dev/ttymxc4</code> device in Linux) is properly configured using the hardware jumpers (see [[AXEL_Lite_SOM/AXEL_Lite_Evaluation_Kit/Interfaces_and_Connectors/UARTs#UART5 | Interfaces and Connectors - UART5]] EVK page), the MultiProtocol transceiver pins has to be initialized for setting the related user selectable modes: the RS232 or RS485 mode can be selected with the <code>gpio-leds</code> class and the led <code>rs232_on</code>.
 
From <code>imx6q-sbcx-cb0012.dts</code> or <code>imx6dl-sbcx-cb0012.dts</code>:
 
<pre>
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rs232_485_422_1>;
 
rs232_485_422 {
gpios = <&gpio7 13 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
 
rs232_on {
gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
linux,default-trigger = "default-on";
};
};
</pre>
 
===== RS232 mode =====
This is the default protocol mode; this can be also activated (when different) using the following command:
<pre class="workstation-terminal">
root@desk-mx6:~# echo 0 > /sys/class/leds/rs232_on/brightness
</pre>
 
===== RS485 mode =====
This mode can be activated using the following command:
<pre class="workstation-terminal">
root@desk-mx6:~# echo 255 > /sys/class/leds/rs232_on/brightness
</pre>
<pre class="workstation-terminal">
root@desk-mx6:~# stty -F /dev/ttymxc1 ttymxc3 115200 -echoroot@desk-mx6:~# cat /dev/ttymxc1 ttymxc3 &
[2] 555
root@desk-mx6:~# echo "Test loopback" > /dev/ttymxc1ttymxc3
root@desk-mx6:~# Test loopback
</pre>
8,226
edits