Changes

How to set up UART2 in J990

381 bytes added, 13:40, 1 July 2015
no edit summary
{{Message/Information Message|title=TITLE|message=This How-To was tested under Kernel 2.6.35.y but content are valid for Kernel 2.6.37.y}}
= Overview =
This How-To is meant to be a starting point for people to learn to set up UART2 for IGEPv2 J990 connector as quickly and easily as possible. In this how-to, we use [http://releases.linaro.org/platform/linaro-m/headless/final/linaro-m-headless-tar-20101108-2.tar.gz Linaro Headless] with [[Linux Kernel 2.6.35.y|Kernel 2.6.35.y]]. <br>
More information about UART: [http://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter <span style="text-decoration: underline;">here</span>] and [[How to use UARTs|here]].'''<br>'''
There are three modes to configure UART2 in J990: via user space (first way), editing only igep.ini (second way) or editing kernel source and compile it (third way).
'''NOTE: '''UART2 in j990 connector has CMOS voltages (0V-1V8).'''
= Feedback and Contributing =
= First way<br> =
First way: this mode has a an issue, when your system reboot or shutdown you will need to configure again. Using user space to configure mux and disable bluetooth. <br>
=== Configure IGEP ===
'''Disable Bluetooth:'''
Logging with root user via SSH or Serial cable.<br> '''NOTE: '''Poky distribution does not have debug filesystem enabled. Mount it:
<pre>mount -t debugfs none /sys/kernel/debug</pre>
Go to /sys/kernel/debug/omap_mux/<br>
Second way: configure kernel via IGEP Xloader. Configuration will be permanent.
'''NOTE: ''' Only configures UART2_TX(6) and UART2_RX(8). You can not use UART2_CTS(4) AND UART2_RTS(10) which are usually referred to as hardware flow control. For example you can use RS232 but not RS485 peripheral. Don't use minicom with hardware flow control enable. '''<br> Go to igep.ini file, replaced by or type this:
<pre>buddy=igep0022
buddy.modem=yes </pre> 
= Third way =
'''Disable TWL4030 PCM voice interface:'''
Default kernel&nbsp; has disabled TWL4030 PCM voice interface output pins to high impedance, otherwise this module forces the level of mcbsp3_fsx (uart2_rx) and mcbsp3_clkx (uart2_tx) pins. To make sure, go to [http://git.igepisee.esbiz/?p=pub/scm/linux-omap-2.6.git;a=blob_plain;f=sound/soc/codecs/twl4030.c;hb=linux-2.6.35.y $(kernel path)/sound/soc/codecs/twl4030.c] file already read: <br>
<pre> 0x04, /* REG_VOICE_IF (0xF) */
</pre>
OMAP3_MUX(MCBSP3_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
OMAP3_MUX(MCBSP3_CLKX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
</pre> 
=== Compile kernel source code ===
Use this [[Linux Kernel 2.6.35.y|tutorial]] (Kernel) and this [http://labs.igep.es/index.php/The_IGEP_X-loader other] (IGEPxloader) to install Linaro Headless with your custom kernel in SD card.&nbsp; You can compile the IGEPxloader, but is not necessary.<br> '''NOTE:''' for [[Linux_Kernel_2.6.37.y|Kernel 2.6.37.y]] you can use [[How_to_create_a_SD-card_with_the_latest_software_image|this tutorial]] removing default kernel for your new one<br>
= Test UART2 in J990<br> =
<br>
{| cellspacing="1" cellpadding="1" borderwidth="1200" widthborder="2001"
|-
| Pin
=== Test ===
 
'''NOTE: '''Starting from Kernel 2.6.37.y, ttySx are named ttyOx.
Connect UART2_TX with UART2_RX. Use minicom to prove UART2 (/dev/ttyS1)&nbsp;:<br>
<pre>minicom -D /dev/ttyS1</pre>
NOTE: Starting from Kernel 2.6.37.y, ttySx are named ttyOx.or<pre>microcom /dev/ttyS1 </pre>
If you write characters and see the echo on the screen, you configure correctly UART.
{| cellspacing="1" cellpadding="1" width="200" border="1" align="center" width="200"
|-
|
0
edits