Colibri PXAxxx modules have 3 serial ports whereas Tegra, Vybrid and iMX6 modules support upto 5 serial ports (with some limitations). We also provide the schematic and drivers for a additional octal UART. See also Colibri Windows CE Features.
The FF UART is COM1. This UART supports all control lines.
On the Iris Carrier Board, this port is also called UART_A.
With the default settings, you can control the Bootloader over this UART. COM1 is not available in Windows CE if the debug messages are enabled. See Bootloader Menu for communication settings for bootloader and debug output.
This is a normal UART. There is no special Bluetooth functionality on this port, it's just a name. On the Iris Carrier Board, this port is also called UART_B.
This UART provides only the Rx and Tx signals. On the Iris Carrier Board this port is also called UART_C.
On Vybrid this port is a regular serial port and does not support IRDA, so the following instructions don't apply.
In the standard configuration, this UART is configured as IrDA port. Windows Embedded Compact 7 (WEC 7) does not support IrDA stack any longer. So on WEC 7 you do not have to disable anything.
On CE 5 and CE 6 you can use it as a normal UART. To do this, you have to do the following steps:
[HKLM\Drivers\BuiltIn\Serial3] IrConnected=0
[HKLM\Comm\IRSIR] ImagePath = "_irsir.dll"
The 5 UART ports can be on different SODIMM / MXM3 Pins on the Tegra modules. With in image V2.0 beta 1 have introduced a registry key called PinMuxConfig for each serial port. This allows you to use different pin out options. By default we always use PinMuxConfig = 0. We recommend to use this one. Never the less if you need to use a different pin out, please refer the this: PDF document for all the possible options
"PinMuxConfig" = "dword:" ;Select pinmuxing according Pin Mux Table documentation. Default value: 0
The Colibri and Apalis Tegra modules support up to 5 serial ports. Just copy one of the existing entries. Increase the digit of the key name (Serial[X+1]) and increase the Index. Set the appropriate DeviceArrayIndex:
"DeviceArrayIndex" = "dword:16" ;Defines which UART has to be used: ;0x00000080: UART_A | 0x00000081: UART_B | 0x00000082: UART_C ;0x00000083: UART_D | 0x00000084: UART_E
Note: On T20 Serial 5 (UARTE) is in conflict with the default SDIO. If you need all 5 UARTs on T20 either disable the SDIO driver or move the SDIO to the second recommended instance. A third option would be to use PinMuxConfig = 1 for UARTA and UARTE (not recommended).
The logical ports (COM1, COM2, ...) can be swapped by registry settings of the respective serial ports.
To swap COM1 vs COM2, i.e. COM1 will be the BTUART, COM2 will be the FFUART:
[HKLM\Drivers\BuiltIn\Serial1] Index = dword:2 ; (default is 1) [HKLM\Drivers\BuiltIn\Serial2] Index = dword:1 ; (default is 2)
The Colibri VFxx modules support up to 5 serial ports.
COM4 and COM5 are not enabled by default. To enable them, add following key and values in the registry or download registry entry from here.
Note:
UART D (COM4:)
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UARTD] "Order"=dword:1 "Dll"="vybrid_serial.dll" "Prefix"="CoM" "Index"=dword:4 "DeviceArrayIndex"=dword:3 ; if COM5 is required "TXPIN"=dword:23 "TXAF"=dword:6 "RXPIN"=dword:31 "RXAF"=dword:6 ; if RTS/CTS on COM5 are not required ;"TXPIN"=dword:29 ;"TXAF"=dword:7 ;"RXPIN"=dword:37 ;"RXAF"=dword:7 ; ; [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UARTA] ;"RIPIN"=dword:7fffffff ;"DSRPIN"=dword:7fffffff
UART E (COM5:)
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UARTE] "Order"=dword:1 "Dll"="vybrid_serial.dll" "Prefix"="CoM" "Index"=dword:5 "DeviceArrayIndex"=dword:4 "TXPIN"=dword:51 "TXAF"=dword:4 "RXPIN"=dword:53 "RXAF"=dword:4 ; if we want to use also RTS and CTS we must disable RI and DTR for UARTA (COM1:) ;"RTSPIN"=dword:29 ;"RTSAF"=dword:4 ;"CTSPIN"=dword:37 ;"CTSAF"=dword:4 ; ; [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UARTA] ;"RIPIN"=dword:7fffffff ;"DSRPIN"=dword:7fffffff
iMX6 modules support up to 5 serial ports. COM4 and COM5 are not enabled by default. To enable them, add following key and values in the registry or download registry entry from here
Note: - UART_A will not be fully functional if you are using flow control for UART_E because apalispin_122 & apalispin_124 are used as UART1_RI and UART1_DCD
UART D (COM4:)
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4] "DeviceArrayIndex"=dword:00000003 "IoLen"=dword:000000D4 "Prefix"="COM" "Dll"="csp_serial.dll" "Index"=dword:00000004 "Order"=dword:00000002 ;if flow control is required ;"RTSToggleAlwaysOn"=dword:00000001 ;"RTSPol"=dword:00000001 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4\Unimodem] "Tsp"="Unimodem.dll" "DeviceType"=dword:00000000 "FriendlyName"="COM4 UNIMODEM" "DevConfig"=hex:\ 10,00,00,00,05,00,00,00,10,01,00,00,00,4B,00,00,00,00,08,00,00,00,00,00,\ 00 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4\Pinout_Default] "apalispin_138"="altfn=4" "apalispin_140"="altfn=4" ;if flow control is required ;"apalispin_175"="altfn=3" ;"apalispin_173"="altfn=3"
UART E (COM5:)
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5] "DeviceArrayIndex"=dword:00000004 "IoLen"=dword:000000D4 "Prefix"="COM" "Dll"="csp_serial.dll" "Index"=dword:00000005 "Order"=dword:00000004 ;if flow control is required ;"RTSToggleAlwaysOn"=dword:00000001 ;"RTSPol"=dword:00000001 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5\Unimodem] "Tsp"="Unimodem.dll" "DeviceType"=dword:00000000 "FriendlyName"="COM5 UNIMODEM" "DevConfig"=hex:\ 10,00,00,00,05,00,00,00,10,01,00,00,00,4B,00,00,00,00,08,00,00,00,00,00,\ 00 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5\Pinout_Default] "apalispin_120"="altfn=2" "apalispin_110"="altfn=2" ;if flow control is required ;"apalispin_122"="altfn=2" ;"apalispin_124"="altfn=2"
UART D (COM4:)
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4] "DeviceArrayIndex"=dword:00000003 "IoLen"=dword:000000d4 "Prefix"="COM" "Dll"="csp_serial.dll" "Index"=dword:00000004 "Order"=dword:00000002 ;if flow control is required ;"RTSToggleAlwaysOn"=dword:00000001 ;"RTSPol"=dword:00000001 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4\Unimodem] "Tsp"="Unimodem.dll" "DeviceType"=dword:00000000 "FriendlyName"="COM4 UNIMODEM" "DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,\ 00,00,00,00 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4\Pinout_Default] "colibripin_167"="altfn=3" "colibripin_165"="altfn=3" ;if flow control is required ;"colibripin_173"="altfn=3" ;"colibripin_175"="altfn=3"
UART E (COM5:)
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5] "DeviceArrayIndex"=dword:00000004 "IoLen"=dword:000000d4 "Prefix"="COM" "Dll"="csp_serial.dll" "Index"=dword:00000005 "Order"=dword:00000002 ;if flow control is required ;"RTSToggleAlwaysOn"=dword:00000001 ;"RTSPol"=dword:00000001 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5\Unimodem] "Tsp"="Unimodem.dll" "DeviceType"=dword:00000000 "FriendlyName"="COM5 UNIMODEM" "DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,\ 00,00,00,00 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5\Pinout_Default] "colibripin_171"="altfn=3" "colibripin_169"="altfn=3" ;if flow control is required ;"colibripin_177"="altfn=3" ;"colibripin_179"="altfn=3"