Difference between revisions of "Mux configuration"

From IGEP - ISEE Wiki

Jump to: navigation, search
 
(184 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= Overview  =
 
= Overview  =
  
Mux (or multiplexer) is a Omap peripheral that can be controlled via software. Its function is connect other peripherals to some available Omap pins.  
+
This wiki is meant to be a starting point for people to learn configure mux for IGEP devices as quickly and easily as possible. This wiki contains:<br>
  
Each pin is configurable by software using its associated pad configuration register field, which is 16 bits wide:
+
*Mux characteristics summary
 +
*Tips to avoid problems
 +
*Ways to configure mux
 +
*Tables that links peripherals and connectors for IGEPv2 and IGEP MODULE
  
{| cellspacing="1" cellpadding="1" border="1" align="center"
 
|-
 
| [[Image:Mux register.png]]
 
|}
 
  
<br> One pad configuration register field is available for each pin. Each 32-bit pad configuration register is grouped into two 16-bit pad configuration register fields. One pad configuration register provides control for two different pins. These registers can be accessed using 8, 16 and 32 bits operations.<br>  
+
There are three ways to configure mux in IGEP Boards based in OMAP35xx and DM37xx:<br>  
  
The functional bits of a pad configuration register field are divided into the following five fields:
+
*[[Mux_instructions|Configuring MUX from OS User Space]]. This mode has a issue, when your system reboot or shutdown you will need to configure again. [[How to set up UART2 in J990#First_way|Example]].
 +
*Configuring MUX by using kernel commandline buddies. This way is not avaliable in some cases. [[How to set up UART2 in J990#Second_way|Example]] and [[Linux Kernel 2.6.37.y#Kernel_Parameters|buddies parametres]].<br>
 +
*Editing and compile kernel sources. [[How to set up UART2 in J990#Third_way|Example]].<br>
  
-> MUXMODE (3 bits) defines the multiplexing mode applied to the pin. A mode corresponds to the selection of the functionality mapped on the pin with six (0 to 5) possible functional modes for each pin.
 
  
-> PULL (2 bits) for combinational pullup/pulldown configuration:
+
= Introduction =
  
- PULLTYPESELECT: Pullup/pulldown selection for the pin.  
+
Mux (or multiplexer) is a Omap peripheral that can be controlled via software. Its function is connect other peripherals to some available Omap pins.  
- PULLUDENABLE: Pullup/pulldown enable for the pin.
 
  
-> INPUTENABLE (1 bit) drives an input enable signal to the I/O CTRL.
+
Each pin is configurable by software using its associated pad configuration register field, which is 16 bits wide:
  
- INPUTENABLE = 0: Input Disable. Pin is configured in output only mode.
+
{| cellspacing="1" cellpadding="1" border="1" align="center"
- INPUTENABLE = 1: Input Enable. Pin is configured in bidirectional mode.
 
 
 
-> Off mode values (5 bits) override the pin state when the OFFENABLE bit CONTROL.
 
 
 
  CONTROL_PADCONF_X is set and off mode is active. This feature allows having separate configurations for the pins when in off mode:
 
  – OFFENABLE: Off mode pin state override control. Set to 1 to enable the feature and to 0 to disable it.
 
  – OFFOUTENABLE: Off mode output enable value. Set to 0 to enable the feature and to 1 to disable it.
 
  – OFFOUTVALUE: Off mode output value.
 
  – OFFPULLUDENABLE: Off mode pullup/pulldown enable
 
  – OFFPULLTYPESELECT: Off mode pullup/pulldown selection
 
 
 
<br> <br> <br> '''(more information)'''
 
 
 
<br>
 
 
 
IgepV2 Board have a default mux configuration, but some cases is necessary change it, for example your project need UART2 at j990 connector to transmit data, for this purpose you need change some mux configurations to enable it and be sure that this modification don't break or interferes in other IC or peripherals. The mux options are vast.
 
 
 
This How-To is meant to be a starting point for people to learn configure mux for IGEP v2 devices as quickly and easily as possible. For this how-to i used [http://releases.linaro.org/platform/linaro-m/headless/final/linaro-m-headless-tar-20101108-2.tar.gz Linaro Headless] and Ubuntu 10.04 with Linaro Toolchain.<br>
 
 
 
= Feedback and Contributing  =
 
 
 
At any point, if you see a mistake you can contribute to this How-To.
 
 
 
= Available peripherals on external connector  =
 
 
 
Before configure mux is necessary review some things:
 
 
 
- If connector is shared with other peripherals you should disable it via software or hardware.<br> - Don't use the same peripheral in more than one pad.<br> - Omap mux have 8 modes, somes modes are disable in some pads.
 
 
 
The next tables show you all the mux capabilities:
 
 
 
=== J990 connector  ===
 
 
 
-There are some peripherals than can be connected to J990 like mm3 and camera, but is not used in this how-to.
 
 
 
-High Speed USB 3 is only available on Omap 3530 in the next pads:
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp; 3: HSUSB3_TLL_NXT<br> &nbsp;&nbsp;&nbsp;&nbsp; 4: HSUSB3_TLL_D4<br> &nbsp;&nbsp;&nbsp;&nbsp; 5: HSUSB3_TLL_DIR <br> &nbsp;&nbsp;&nbsp;&nbsp; 6: HSUSB3_TLL_D6<br> &nbsp;&nbsp;&nbsp;&nbsp; 7: HSUSB3_TLL_STP<br> &nbsp;&nbsp;&nbsp;&nbsp; 8: HSUSB3_TLL_D7 <br> &nbsp;&nbsp;&nbsp;&nbsp; 10: HSUSB3_TLL_D5
 
 
 
<br>
 
 
 
{| cellspacing="1" cellpadding="1" border="1" align="JUSTIFY" style="width: 960px; height: 1463px;"
 
 
|-
 
|-
| Pad:  
+
| [[Image:Mux register.png]]
| Connect to:
+
|}
|
 
Default peripheral (mode=0)
 
  
| Default function:
+
<br> One pad configuration register field is available for each pin. Each 32-bit pad configuration register is grouped into two 16-bit pad configuration register fields. One pad configuration register provides control for two different pins. These registers can be accessed using 8, 16 and 32 bits operations.<br>  
| Other available peripherals:
 
| style="text-align: left;" | Share with:
 
|-
 
| 1
 
| VIO 1V8
 
| -
 
| Power 1v8
 
| -
 
| -<br>
 
|-
 
| 2
 
| DC 5V
 
| -
 
| Power 5v
 
| -
 
| -<br>
 
|-
 
| 3
 
| MMC2_DAT7
 
| MMC2_DAT7
 
| Reset Wlan
 
|
 
MMC2_CLKIN(mode=1)
 
  
MMC3_DAT3(mode=3)
+
The functional bits of a pad configuration register field are divided into the following five fields:
  
GPIO_139(mode=4)  
+
• '''MUXMODE''' (3 bits) defines the multiplexing mode applied to the pin. A mode corresponds to the selection of the functionality mapped on the pin with six (0 to 5) possible functional modes for each pin.
  
| <div align="JUSTIFY">'''Wlan:''' This pad can reset Wlan peripheral using Omap GPIO low level (GND). If you reset continuously Wlan all their pads are in High Impedance. Also you can disable Wlan from J990 low level.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
+
'''PULL''' (2 bits) for combinational pullup/pulldown configuration:  
|-
 
| 5
 
| MMC2_DAT6
 
| MMC2_DAT6
 
| Power down&nbsp; Wlan
 
|
 
MMC2_DIR_CMD(mode=1)
 
  
MMC3_DAT2(mode=3)
+
-&gt; PULLTYPESELECT: Pullup/pulldown selection for the pin.
  
GPIO_138(mode=4)
+
-&gt; PULLUDENABLE: Pullup/pulldown enable for the pin.
  
| <div align="JUSTIFY">'''Wlan:''' This pad can power down Wlan peripheral using Omap GPIO low level (GND), power up removing GND. Also you can power down Wlan from J990 low level.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
+
'''INPUTENABLE''' (1 bit) drives an input enable signal to the I/O CTRL.  
|-
 
| 7
 
| MMC2_DAT5
 
| MMC2_DAT5
 
| Reset Bluethoot
 
|
 
MMC2_DIR_DAT1(mode=1)
 
  
MMC3_DAT1(mode=3)
+
• '''Off mode values''' (5 bits) override the pin state when the OFFENABLE bit CONTROL. This feature is used for power saving management. Pins in off mode can be configured like output with HIGH or LOW value or input with wake-up detection feature. For input pins, OFFOUTENABLE and OFFOUTVALUE bits can not be configured:
  
GPIO_137(mode=4)
+
-&gt;OFFENABLE: Off mode pin state override control. Set to 1 to enable the feature and to 0 to disable it.
  
| <div align="JUSTIFY">'''Bluethoot: '''This pad can reset Bluethoot
+
-&gt;OFFOUTENABLE: Off mode output enable value. Set to 0 to enable the feature and to 1 to disable it.  
peripheral using Omap GPIO low level (GND). If you reset continuously Bluethoot all their pads are in High Impedance. Also you can disable Bluethoot from J990 low level.'''Omap: '''protect Omap pad if you don't use it.'''(1)'''<br>
 
</div>
 
|-
 
| 9
 
| MMC2_DAT4
 
| MMC2_DAT4
 
| -
 
|
 
MMC_DIR_DAT0(mode=1)
 
  
MMC3_DAT0(mode=3)
+
-&gt;OFFOUTVALUE: Off mode output value.
  
GPIO136(mode=4)
+
-&gt;OFFPULLUDENABLE: Off mode pullup/pulldown enable.
  
| <div align="JUSTIFY">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
+
-&gt;OFFPULLTYPESELECT: Off mode pullup/pulldown selection.  
|-
 
| 11
 
| MMC2_DAT3
 
| MMC2_DAT3
 
| Transfer data between Omap and Wlan
 
|
 
McSPI3_CS0(mode=1)
 
  
GPIO_135(mode=4)  
+
• '''Wake-up''' bits (2 bits):
  
| <div align="JUSTIFY">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
+
-&gt;WAKEUPENABLE: Enable wake-up detection on input. It is also the off mode input enable value.  
|-
 
| 13
 
| MMC2_DAT2
 
| MMC2_DAT2
 
| Transfer data between Omap and Wlan
 
|
 
McSPI3_CS1(mode=1)<br>
 
  
GPIO_134(mode=4)
+
-&gt;WAKEUPEVENT: Wake-up event status for the pin.'''<br>'''
  
| <div align="JUSTIFY">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
+
{| cellspacing="1" cellpadding="1" border="1" align="center" width="200"
|-
 
| 15
 
| MMC2_DAT1
 
| MMC2_DAT1
 
| Transfer data between Omap and Wlan
 
| &nbsp;GPIO_133(mode=4)
 
| <div align="JUSTIFY">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
 
 
|-
 
|-
| 17
 
| MMC2_DAT0
 
| MMC2_DAT0
 
| Transfer data between Omap and Wlan
 
 
|  
 
|  
McSPI3_SOMI(mode=1)
+
[[Image:Mux pad configuration diagram.png]]
  
GPIO_132(mode=4)
+
|}
  
| <div align="JUSTIFY">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
+
=== Mode selection  ===
|-
 
| 19
 
| MMC2_CMD
 
| MMC2_CMD
 
| Control Wire for bus MMC2 (Wlan)
 
|
 
McSPI3_SIMO(mode=1)
 
  
GPIO_131(mode=4)
+
The next table shows all capabilities.<br>
  
| <div align="JUSTIFY">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
+
{| cellspacing="1" cellpadding="1" border="1" style="width: 287px; height: 235px;"
 
|-
 
|-
| 21
+
| MUXMODE
| MMC2_CLK0
+
| Select Mode
| MMC2_CLK
 
| Clock for MMC2 (Wlan)
 
|
 
McSPI3_CLK(mode=1)
 
 
 
GPIO_130(mode=4)
 
 
 
| <div align="JUSTIFY">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
 
 
|-
 
|-
| 4
+
| 0b000=0
| MCBSP3_DX
+
| Mode 0 (Primary mode)
| MCBSP3_DX
 
| Transmitted serial Data (Bluethoot audio)
 
|  
 
UART2_CTS(mode=1)
 
 
 
GPIO_140(mode=4)
 
 
 
| <div align="JUSTIFY">'''TPS65950:''' disable it via kernel '''(2) '''If you don't use it.</div>
 
 
|-
 
|-
| 6
+
| 0b001=1
| MCBSP3_CLKX
+
| Mode 1 (Possible mode)<br>
| MCBSP3_CLKX
 
| Transmitted serial Clock (Bluethoot audio)
 
|  
 
UART2_TX(mode=1)
 
 
 
GPIO_142(mode=4)  
 
 
 
| <div align="JUSTIFY">'''Bluethoot: '''Protect Bluethoot if you don' use it. See MMC2_DAT5 pad.</div> <div align="JUSTIFY"><br> </div> <div align="JUSTIFY">'''TPS65950:''' disable it via kernel '''(2) '''If you don't use it.</div>
 
 
|-
 
|-
| 8
+
| 0b010=2
| MCBSP3_FSX
+
| Mode 2 (Possible mode)
| MCBSP3_FSX
 
| Transmited Frame Syncronisation (Bluethoot audio)
 
|
 
UART2_RX(mode=1)
 
 
 
GPIO_143(mode=4)
 
 
 
| <div align="JUSTIFY">'''Bluethoot: '''Protect Bluethoot if you don' use it. See MMC2_DAT5 pad.</div> <div align="JUSTIFY"><br> </div> <div align="JUSTIFY">'''TPS65950:''' disable it via kernel '''(2) '''If you don't use it.</div>
 
|-
 
| 10
 
| MCBSP3_DR
 
| MCBSP3_DR
 
| Received Serial Data (Bluethoot audio)
 
|
 
UART2_RTS(mode=1)
 
 
 
GPIO_141(mode=4)
 
 
 
| <div align="JUSTIFY">'''TPS65950:''' disable it via kernel '''(2) '''If you don't use it.</div>
 
 
|-
 
|-
| 12
+
| 0b011=3
| MCBSP1_DX
+
| Mode 3 (Possible mode)
| MCBSP1_DX
 
| Transmited serial Data (not used)
 
|
 
McSPI4_SIMO(mode=1)
 
 
 
McBSP3_DX(mode=2)
 
 
 
GPIO_158(mode=4)
 
 
 
| -<br>
 
|-
 
| 14
 
| MCBSP1_CLKX
 
| MCBSP1_CLKX
 
| Transmited serial clock (not used)
 
|
 
McBSP3_CLKX(mode=2)<br>
 
 
 
GPIO_162(mode=4)
 
 
 
| -<br>
 
|-
 
| 16
 
| MCBSP1_FSX
 
| MCBSP1_FSX
 
| Transmited Frame Syncronization (not used)
 
|
 
McSPI4_CS0(mode=1)  
 
 
 
McBSP3_FSX(mode=2)
 
 
 
GPIO_161(mode=4)
 
 
 
| -<br>
 
 
|-
 
|-
| 18
+
| 0b100=4
| MCBSP1_DR
+
| Mode 4 (Possible mode)
| MCBSP1_DR
 
| Received Serial Data (not used)
 
|
 
McSPI4_SOMI(mode=1)  
 
 
 
McBSP3_DR(mode=2)
 
 
 
GPIO_159(mode=4)
 
 
 
| -<br>
 
 
|-
 
|-
| 20
+
| 0b101=5
| MCBSP1_CLKR
+
| Mode 5 (Possible mode)
| MCBSP1_CLKR
 
| Received Clock (not used)
 
|  
 
GPIO_156(mode=4)<br>
 
 
 
| -<br>
 
 
|-
 
|-
| 22
+
| 0b110=6
| MCBSP1_FSR
+
| Mode 6 (Possible mode)
| MCBSP1_FSR
 
| Received frame syncronization (not used)
 
|  
 
GPIO_157(mode=4)<br>
 
 
 
| -<br>
 
 
|-
 
|-
| 23
+
| 0b111=7
| I2C2_SDA
+
| Mode 7 (Safe Mode)<br>
| I2C2_SDA
+
|}
| I2C Data
 
|
 
GPIO_183(mode=4)<br>  
 
  
| <div align="JUSTIFY">'''Cam connector:''' Check and RC14 is not welded or don't use it.<br></div>
+
'''Definitions:'''
|-
 
| 24
 
| I2C2_SCL
 
| I2C2_SCL
 
| I2C Clock
 
|
 
GPIO_168(mode=4)<br>
 
  
| '''Cam connector:''' Check and RC13 is not welded or don't use it.
+
'''Mode 0''' is the primary mode. When mode 0 is set, the function mapped to the pin corresponds to the name of the pin. In IGEP some pads don't use primary mode by default.  
|-
 
| 25
 
| REGEN
 
| -
 
| Master/Slave control power TPS65950<br>
 
| -
 
| -<br>
 
|-
 
| 26
 
| nRESET
 
| -
 
| Read Reset Omap
 
| -
 
| -<br>
 
|-
 
| 27
 
| GND
 
| -
 
| GND
 
| -
 
| -<br>
 
|-
 
| 28
 
| GND
 
| -
 
| GND
 
| -
 
| -<br>
 
|}
 
  
'''(1):''' To protect Omap pads from external signals, configure Mux in mode=7 (safe_mode). With this mode, buffer is configured in high impedance
+
'''Mode 1 to mode 6''' are possible modes for alternate functions. On each pin, some modes are used effectively for alternate functions, while other modes are unused and correspond to no functional configuration.  
  
'''(2):''' Disable TPS65950 go to file sound/soc/codecs/twl4030.c change line 54 Code:
+
'''The safe mode (default mode 7) '''avoids any risk of electrical contention by configuring the pin as an input with no functional interface mapped to it. The safe mode is used mainly as the default mode for all pins containing no mandatory interface at the release of power-on reset.<br>
<pre>0x00, /* REG_VOICE_IF (0xF) */</pre>
 
to Code:
 
<pre>0x04, /* REG_VOICE_IF (0xF) */
 
</pre>
 
  
=== J960 connector ===
+
=== Pull Selection ===
  
J960 connector can not use mux capabilities, because this connector is dedicated to use RS232 comunication. Default hardware/software configuration is:<span lang="en" id="result_box"><span class="hps">
+
The next table shows all capabilities.  
</span></span><br>
 
  
{| cellspacing="1" cellpadding="1" border="1" style="width: 498px; height: 381px;"
+
{| cellspacing="1" cellpadding="1" border="1" style="width: 696px; height: 1px;"
|-
 
| Pad
 
| Connect to:
 
| Default periphera:
 
| Other peripheral:
 
| Share with:<br>
 
| Default function:<br>
 
|-
 
| 1
 
| -
 
| -
 
| -
 
| -<br>
 
| <br>
 
 
|-
 
|-
| 2
+
| PULLTYPESELECT
| RS232_RX2
+
| PULLUDENABLE
| UART3_RX
+
| Pin Behavior
| UART2_RX
 
| -<br>
 
| Kernel console params'''(4)'''<br>
 
 
|-
 
|-
| 3
+
| 0b0
| RS232_TX2
+
| 0b0
| UART3_TX
+
| Pull-down selected but not activated
| UART2_TX
 
| -<br>
 
| Kernel console params'''(4)'''<br>
 
 
|-
 
|-
| 4
+
| 0b0
| -
+
| 0b1
| -
+
| Pull-down selected and activated if pin is NOT configured as OUTPUT
| -
 
| -<br>
 
| -<br>
 
 
|-
 
|-
| 5
+
| 0b1
| GND
+
| 0b0
| -  
+
| Pull-up selected but not activated
| -
 
| -<br>
 
| -<br>
 
 
|-
 
|-
| 6
+
| 0b1
| GND
+
| 0b1
| -  
+
| Pull-up selected and activated if pin is NOT configured as OUTPUT
| -
 
| -<br>
 
| -<br>
 
|-
 
| 7
 
| -
 
| -
 
| -
 
| -<br>
 
| -<br>
 
|-
 
| 8
 
| RS232_TX1
 
| UART1_TX
 
| UART3_TX
 
| RS485 interface'''(5)'''<br>
 
| -<br>
 
|-
 
| 9
 
| RS232_RX1
 
| UART1_RX
 
| UART3_RX
 
| RS485 interface'''(5)'''<br>
 
| -<br>
 
|-
 
| 10
 
| -
 
| -
 
| -
 
| -<br>
 
| -<br>
 
 
|}
 
|}
  
<br>
+
When a pin is in output mode, pulls are automatically disable.
 
 
- Other peripherals can be configured via hardware, placing/replacing some resistances. See IGEPv2 Schematic for more information.
 
 
 
'''(4):''' To set other functionalities to UART3 (/dev/ttyS2) edit igep.ini file:
 
 
 
Search line:
 
<pre>console=ttyS2,115200n8</pre>
 
Replace by:
 
<pre>; console=ttyS2,115200n8</pre>
 
'''(5): '''Allows to use UART1 as RS232 instead of EI485, edit igep.ini:<br>
 
 
 
Search line:
 
<pre>board.ei485=yes</pre>
 
Replace by:
 
<pre>board.ei485=no</pre>
 
 
 
=== J400 connector  ===
 
 
 
J400 is used to JTAG (Joint Test Action Group). JTAG is a standardized serial protocol widely used in printed circuit boards. Its main functions are:<br>
 
 
 
-Debug the software of an embedded system directly <br>-Storing firmware<br> -Boundary scan testing
 
 
 
More information: [http://es.wikipedia.org/wiki/JTAG http://es.wikipedia.org/wiki/JTAG].
 
 
 
Only Pad 13 and 14 have mux capabilities, for example you can use them like GPIO(mode=4). More information in IGEPv2 Schematic.<br>
 
 
 
=== J970 connector  ===
 
  
This connector don't have mux capabilities.
+
=== Input Enable  ===
  
J970 is used to implement a keypad. It is controlled by TPS65950, this method avoid reduce Omap proces capabilities. TPS65950 send via I2C1 all the interrupt request. Their characteristics are:<br>
+
INPUTENABLE = 0: Input Disable. Pin is configured in output only mode.  
  
- Can handle up to 8 x 8 keypads, IGEPv2 can handle up to 4 x 4 keypads.<br>- Optionally, you can decode via Omap software.<br>- Event detection on key press and key release.<br>- Multikey press detection, can detect up 2&nbsp; keys at the same time.<br>- Long-key detection on prolonged key press.<br>- Programmable time-out on permanent key press or after keypad release.
+
INPUTENABLE = 1: Input Enable. Pin is configured in bidirectional mode.<br>  
  
More information in TPS65950 datasheets.<br>
+
=== '''Off mode values''' and '''Wake-up'''  ===
  
=== JC30 connector  ===
+
This mode is used to disable some pins and reduce power consumption. <br>
  
JC30 is used to connect a camera for capture video or image. Omap have the processing capability to connect RAW image-sensor modules via this connector.  
+
Please contribute.  
  
There are some peripherals than can be connected to JC30 like like CAM, SSI and CSI, but is not used in this how-to. GPIO are the default peripheral.<br>
+
[http://www.ti.com/lit/ug/spruf98x/spruf98x.pdf More information] about mux.
  
Before use this connector be careful at these points:
+
= Configure Mux  =
  
- Pad 1 can be used to power down wifi module if RD41 is short circuit, replace RD42 for this porpouse.<br>- Pad 2 can be used to reset wifi module if RD43 is short circuit, replace RD44 for this porpouse.<br>- Pad 21 can be connected to I2C2_SCL, that wire is shared with J990 connector and I2C2_SCL peripheral. Placing/replacing RC13 for tis porpouse.<br>- Pad 22 can be connected to I2C2_SDA, that wire is shared with J990 connector and I2C2_SDA peripheral. Placing/replacing RC14 for tis porpouse.
+
Mux options are vast, at the beginning can be difficult and tedious change some configurations. Before configure mux, use the following tips to avoid problems:
  
=== JA42 connector  ===
+
*Mux can connect multiple connectors at the same peripheral, this improper use can damage the processor. Before configure mux, revise that this peripheral is not used in other pads. See schematics or [[Connectors Summary|connectors summary]] for more information.
 +
*Some peripherals are only available if you place or replace some resistances. See schematics for more information.<br>
 +
*Some connectors share multiples peripherals like OMAP, WIFI/BT combo, etc. You should disable unused peripherals to avoid interferences.&nbsp; For example: if you want to control WIFI module via J990 disable OMAP or if you want use [[How to set up UART2 in J990|UART2 at j990]] disable Bluetooth. See schematics of board or [[Connectors Summary|connectors summary]] or [[Mux_instructions#Disable_Peripherals|how-to disable peripherals]] or [[How_to_use_GPIOs|how-to use gpios]] for more information.
  
JA42 is used for DVI (Digital Video Interface) control part, TouchScreen control and SPI1.<br>
+
=== IGEPv2  ===
  
-There are some peripherals than can be connected to JA42 like MM3, MM2, SSI, USB and HW_DBG, but is not used in this how-to.  
+
Next table pretends help you to configure IGEPv2. First column shows some OMAP35xx/DM37xx peripherals and first row shows all IGEPv2 connectors. Read articles about connector and peripheral before use them. Each configuration can take different solutions. <br> There are some connectors than have more peripherals available, but they don't have all signals to use it. <br> Table shows four answers:&nbsp;
  
Some pads have mux capabilities:  
+
*"'''Yes, default configuration(utility)'''": Peripheral enabled by default. "utility" shows if this peripheral is used.<br>
 +
*"'''Yes, not default configuration(information)'''": Peripheral don't enabled by default. Maybe you need to disable other one<br>
 +
*"'''No, via hardware'''": Not available, but via hardware (placing or replacing some resistances) can be enabled.<br>
 +
*"'''No'''"
  
{| cellspacing="1" cellpadding="1" border="1" align="JUSTIFY" style="width: 804px; height: 343px;"
+
{| cellspacing="1" cellpadding="1" border="1" style="width: 933px; height: 409px;"
 
|-
 
|-
| Pad:
+
| <br>
| Connect to:
+
| [[Connectors Summary#J990_connector|J990]]
|  
+
| [[Connectors Summary#J960_connector|J960]]
Default peripheral (mode=0)
+
| [[Connectors Summary#J970_connector|J970]]
 
+
| [[Connectors Summary#J400_connector|J400]]
| Default function:
+
| [[Connectors Summary#JC30_connector|JC30]]
| Other available peripherals:
+
| [[Connectors Summary#JA42_connector|JA42]]
| style="text-align: left;" | Share with:
+
| [[Connectors Summary#JA41_connector|JA41]]
 
|-
 
|-
| 1
+
| [[Peripherals Summary#UART|UART1]]
| VIO 1V8
+
| No
| -
+
| Yes, not default configuration ([[Mux instructions#UART1_in_J960|disable RS485]])
| Power 1v8
+
| No
| -
+
| No
| -<br>
+
| No
 +
| No
 +
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])
 
|-
 
|-
| 2
+
| [[Peripherals Summary#UART|UART2]]
| SYS_BOOT5
+
| Yes, not default configuration ([[How to set up UART2 in J990|disable Bluetooth]])
|  
 
SYS_BOOT5<br>
 
 
 
| Omap boot config
 
 
|  
 
|  
MMC2_DIR_DAT(mode=1)
+
No, [[How to use UARTs#RS232_Schematic_Igep_V2|via hardware]],
  
GPIO_7 (mode=4)
+
[[Mux instructions#Bluetooth|disable Bluetooth]]
  
| -<br>
+
| No
 +
| No
 +
| No
 +
| No
 +
| No
 
|-
 
|-
| 3
+
| [[Peripherals Summary#UART|UART3]]
| DC_5V
+
| No
| -
+
| Yes, default configuration ([[Mux instructions#UART3_in_J960|Serial debug]])
| Power 5v
+
| No
| -
+
| No
| <div align="JUSTIFY">-<br></div>
+
| No
 +
| No
 +
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])
 
|-
 
|-
| 4
+
| [[Peripherals Summary#UART|UART4]]
| GND
+
| No
| -
+
| No
| GND
+
| No
| -
+
| No
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">-<br></div>
+
| No
 +
| No
 +
| No
 
|-
 
|-
| 5
+
| [[Peripherals Summary#GPIO|GPIO]]
| SYS_BOOT0
 
 
|  
 
|  
SYS_BOOT0<br>
+
Yes, default configuration ([[Mux instructions#GPIO_in_J990|info]])
  
| Omap boot config
+
| No
|  
+
| No
GPIO_2 (mode=4)  
+
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable JTAG]])  
 
+
| Yes, default configuration
| <div align="JUSTIFY"><br>
+
| Yes, default configuration
-<br>
+
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])
</div>
+
|-
 +
| [[Peripherals Summary#SPI|McSPI1]]
 +
| No
 +
| No
 +
| No
 +
| No
 +
| No
 +
| Yes, default configuration
 +
| No
 
|-
 
|-
| 6
+
| [[Peripherals Summary#SPI|McSPI2]]
| SYS_BOOT1
+
| No
|  
+
| No
SYS_BOOT1<br>
+
| No
 
+
| No
| Omap boot config<br>
+
| No
|  
+
| No
GPIO_3 (mode=4)
+
| No
 
 
| <div align="JUSTIFY">-<br></div> <div align="JUSTIFY"><br></div>
 
 
|-
 
|-
| 7
+
| [[Peripherals Summary#SPI|McSPI3]]
| DVI_VSYNC
 
| DSS_VSYNC
 
| LCD&nbsp;vertical sync (Expansion)<br>
 
 
|  
 
|  
GPIO_68(mode=4)  
+
Yes, not default configuration ([[Mux instructions#WIFI|disable WIFI]])  
  
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">TFP410 '''(6)'''<br></div>
+
| No
 +
| No
 +
| No
 +
| No
 +
| No
 +
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])<br>
 
|-
 
|-
| 8
+
| [[Peripherals Summary#SPI|McSPI4]]
| DVI_HSYNC
+
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]])
| DSS_HSYNC
+
| No
| LCD Horitzontal sync (Expansion)
+
| No
|  
+
| No
GPIO_67 (mode=4)<br>
+
| No
 
+
| No
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY"><div align="JUSTIFY">TFP410 '''(6)'''<br></div></div>
+
| No
 
|-
 
|-
| 9
+
| [[Peripherals Summary#BSP|McBSP1]]
| DVI_ACBIAS
+
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]])
| DSS_ACBIAS
+
| No
| LCD Control (Expansion)
+
| No
| &nbsp; GPIO_133(mode=4)
+
| No
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY"><div align="JUSTIFY">TFP410 '''(6)'''<br></div></div>
+
| No
 +
| No
 +
| No
 
|-
 
|-
| 10
+
| [[Peripherals Summary#BSP|McBSP2]]
| DVI_PUP
+
| No
| -
+
| No
| Control signal for DVI controler (Expansion)
+
| No
| -
+
| No
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">TFP410 '''(6)'''</div>
+
| No
 +
| No
 +
| No
 
|-
 
|-
| 11
+
| [[Peripherals Summary#BSP|McBSP3]]
| DVI_PCLK
+
| Yes, default configuration ([[Mux instructions#TP65950_PCM_VSP|Bluetooth audio]])
| DSS_PCLK
+
| No
| LCD clock (Expansion)
+
| No
|  
+
| No
GPIO_66 (mode=4)<br>
+
| No
 
+
| No
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">TFP410 '''(6)'''</div>
+
| No
 
|-
 
|-
| 12
+
| [[Peripherals Summary#BSP|McBSP4]]
| TS_nPEN_IRQ
+
| No
| McSPI1_CS1
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
MMC3_CMD(mode=3)
+
| No
 
+
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]])  
GPIO_175 (mode=4)  
+
| No
 
 
| <div align="JUSTIFY">-<br></div> <div align="JUSTIFY"><br></div>
 
 
|-
 
|-
| 13
+
| [[Peripherals Summary#BSP|McBSP5]]
| LCD_QVGA/nVGA
+
| No
| McBSP4_DX
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_154 (mode=4)<br>
+
| No
 
+
| No
| <div align="JUSTIFY">-<br></div>
+
| No
 
|-
 
|-
| 14
+
| [[Peripherals Summary#MMC|MMC1]]
| LCD_ENVDD
+
| No
| McBSP4_DR
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_153 (mode=4)<br>
+
| No
 
+
| No
| -<br>
+
| No
 
|-
 
|-
| 15
+
| [[Peripherals Summary#MMC|MMC2]]
| LCD_RESB
+
| Yes, default configuration ([[Mux instructions#WIFI|WIFI]])
| McBSP4_FSX
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_155 (mode=4)<br>
+
| No
 
+
| No
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">-<br> </div> <div align="JUSTIFY"><br></div>
+
| No
 
|-
 
|-
| 16
+
| [[Peripherals Summary#MMC|MMC3]]
| LCD_INI
+
| No
| McBSP4_CLKX
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_152 (mode=4)<br>
+
| No
 
+
| No
| <div align="JUSTIFY">-<br></div>
+
| No
 
|-
 
|-
| 17
+
| [[Peripherals Summary#I2C|I2C1]]
| MCSPI1_CLK
+
| No
|  
+
| No
McSPI1_CLK<br>
+
| No
 
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_171 (mode=4)
+
| No
 
 
| -<br>
 
 
|-
 
|-
| 18
+
| [[Peripherals Summary#I2C|I2C2]]
| MCSPI1_SIMO
+
| Yes, default configuration
| McSPI1_SIMO
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_172 (mode=4)
+
| No, [[Connectors Summary#JC30_connector|via hardware]]
 
+
| No
| -<br>
+
| No
 
|-
 
|-
| 19
+
| [[Peripherals Summary#I2C|I2C3]]
| MCSPI1_CS0
+
| No
| McSPI1_CS0
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_174 (mode=4)
+
| No
 
+
| No
| -<br>
+
| Yes, default configuration (DVI)
 
|-
 
|-
| 20
+
| [[Peripherals Summary#I2C|I2C4]]
| MCSPI1_SOMI
+
| No
| McSPI1_SOMI
+
| No
| Touchscreen control (Expansion)
+
| No
|  
+
| No
GPIO_173 (mode=4)
+
| No
 
+
| No
| -<br>
+
| No
 
|}
 
|}
  
<br> '''(6):''' TFP410: Converts DVI&nbsp;signal to HDMI. They share the same video signal.<br>
+
=== IGEP MODULE ===
 
 
=== JA41 connector ===
 
 
 
JA41 is used for DVI (Digital Video Interface) data part.<br>
 
  
-There are some peripherals than can be connected to JA41 like DSSVENC, HW, DSS and SDI, but is not used in this how-to.  
+
Next table pretends help you to configure IGEP MODULE. First column shows some OMAP35xx/DM37xx peripherals and first row shows all IGEP MODULE connectors. Read articles about connector and peripheral before use them. Each configuration can take different solutions. <br> There are some connectors than have more peripherals available, but they don't have all signals to use it. <br> Table shows four answers:&nbsp;
  
Some pads have mux capabilities:  
+
*"'''Yes, default configuration(utility)'''": Peripheral enabled by default. "utility" shows if this peripheral is used.<br>
 +
*"'''Yes, not default configuration(information)'''": Peripheral don't enabled by default. Maybe you need to disable other one<br>
 +
*"'''No, via hardware'''": Not available, but via hardware (placing or replacing some resistances) can be enabled.<br>
 +
*"'''No'''"
  
{| cellspacing="1" cellpadding="1" border="1" align="JUSTIFY" style="width: 669px; height: 1064px;"
+
{| cellspacing="1" cellpadding="1" border="1" style="width: 933px; height: 190px;"
 
|-
 
|-
| Pad:
+
| <br>
| Connect to:
+
| [[Connectors Summary#J1_connector|J1]]
|
+
| [[Connectors Summary#J4_connector|J4]]
Default peripheral (mode=0)
+
| [[Connectors Summary#J5_connector|J5]]
 
 
| Default function:
 
| Other available peripherals:
 
| style="text-align: left;" | Share with:
 
|-
 
| 1
 
| VIO 3V3
 
| -
 
| Power 3v3
 
| -
 
| -<br>
 
|-
 
| 2
 
| GND
 
|
 
-<br>
 
 
 
| GND
 
|
 
-<br>
 
 
 
| -<br>
 
|-
 
| 3
 
| DVI_DATA0
 
| &nbsp; DSS_D0
 
| LCD&nbsp;pixel data bit<br>  
 
|  
 
UART1_CTS(mode=2)
 
 
 
GPIO_70(mode=4)
 
 
 
| TFP410 '''(6)'''
 
|-
 
| 4
 
| DVI_DATA1
 
| &nbsp; DSS_D1
 
| LCD&nbsp;pixel data bit
 
|
 
UART1_RTS(mode=2)
 
 
 
GPIO_71(mode=4)
 
 
 
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">TFP410 '''(6)'''</div>
 
|-
 
| 5
 
| DVI_DATA2
 
|
 
&nbsp;DSS_D2
 
 
 
| LCD&nbsp;pixel data bit
 
|
 
GPIO_72(mode=4)
 
 
 
| TFP410 '''(6)'''
 
|-
 
| 6
 
| DVI_DATA3
 
|
 
DSS_D3
 
 
 
| LCD&nbsp;pixel data bit
 
|
 
GPIO_73(mode=4)
 
 
 
| TFP410 '''(6)'''<div align="JUSTIFY"><br></div>
 
|-
 
| 7
 
| DVI_DATA4
 
| &nbsp;DSS_D4
 
| LCD&nbsp;pixel data bit
 
|
 
UART3_RX(mode=2)
 
 
 
GPIO_74(mode=4)
 
 
 
| <div align="JUSTIFY">TFP410 '''(6)'''</div> <div align="JUSTIFY"><br></div>
 
 
|-
 
|-
| 8
+
| [[Peripherals Summary#UART|UART1]]
| DVI_DATA5
+
| Yes, not default configuration (disable DSS)  
| DSS_D5
+
| Yes, default configuration
| LCD&nbsp;pixel data bit
+
| No
|
 
UART3_TX(mode=2)  
 
 
 
GPIO_75(mode=4)<br>
 
 
 
| <div align="JUSTIFY">TFP410 '''(6)'''</div> <div align="JUSTIFY"><br></div>
 
 
|-
 
|-
| 9
+
| [[Peripherals Summary#UART|UART2]]
| DVI_DATA6
+
| Yes, not default configuration(enable: TX and RX)  
| DSS_D6
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
&nbsp;UART1_TX(mode=2)
 
 
 
GPIO_76(mode=4)  
 
 
 
| <div align="JUSTIFY">TFP410 '''(6)'''</div> <div align="JUSTIFY"><div align="JUSTIFY"><br></div></div>
 
 
|-
 
|-
| 10
+
| [[Peripherals Summary#UART|UART3]]
| DVI_DATA7
+
| Yes, default configuration
| DSS_D7
+
| No
| LCD&nbsp;pixel data bit
+
| No
|  
 
&nbsp; UART1_RX(mode=2)
 
 
 
GPIO_77(mode=4)
 
 
 
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">TFP410 '''(6)'''</div>
 
 
|-
 
|-
| 11
+
| [[Peripherals Summary#UART|UART4]]
| DVI_DATA8
+
| No
| DSS_D8
+
| Yes, not default configuration(disable: GPIO_64 and GPMC_WAIT3)  
| LCD&nbsp;pixel data bit
+
| No
|  
 
GPIO_78(mode=4)<br>
 
 
 
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">TFP410 '''(6)'''</div>
 
 
|-
 
|-
| 12
+
| [[Peripherals Summary#GPIO|GPIO]]
| DVI_DATA9
+
| Yes, default configuration
| DSS_D9
+
| Yes, default configuration
| LCD&nbsp;pixel data bit
+
| Yes, default configuration
|
 
GPIO_79(mode=4)
 
 
 
| <div align="JUSTIFY">TFP410 '''(6)'''</div> <div align="JUSTIFY"><br></div>
 
 
|-
 
|-
| 13
+
| [[Peripherals Summary#SPI|McSPI1]]
| DVI_DATA10
+
| No
| DSS_D10
+
| Yes, default configuration
| LCD&nbsp;pixel data bit
+
| No
|
 
GPIO_80(mode=4)<br>
 
 
 
| <div align="JUSTIFY">TFP410 '''(6)'''</div>
 
 
|-
 
|-
| 14
+
| [[Peripherals Summary#SPI|McSPI2]]
| DVI_DATA11
+
| No
| DSS_D11
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
GPIO_81(mode=4)<br>
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 15
+
| [[Peripherals Summary#SPI|McSPI3]]
| DVI_DATA12
+
| Yes, not default configuration (disable DSS)  
| DSS_D12
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
GPIO_82(mode=4)<br>
 
 
 
| <div align="JUSTIFY"><br></div> <div align="JUSTIFY">TFP410 '''(6)''' </div> <div align="JUSTIFY"><br></div>
 
 
|-
 
|-
| 16
+
| [[Peripherals Summary#SPI|McSPI4]]
| DVI_DATA13
+
| No
| DSS_D13
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
GPIO_83(mode=4)<br>
 
 
 
| <div align="JUSTIFY">TFP410 '''(6)'''</div>
 
 
|-
 
|-
| 17
+
| [[Peripherals Summary#BSP|McBSP1]]
| DVI_DATA14
+
| No
|  
+
| No
DSS_D14
+
| No
 
 
| LCD&nbsp;pixel data bit
 
|
 
GPIO_84(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 18
+
| [[Peripherals Summary#BSP|McBSP2]]
| DVI_DATA15
+
| No
| DSS_D15
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
GPIO_85(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 19
+
| [[Peripherals Summary#BSP|McBSP3]]
| DVI_DATA16
+
| Yes, not default configuration (disable UART2)  
| DSS_D16
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
GPIO_86(mode=4)  
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 20
+
| [[Peripherals Summary#BSP|McBSP4]]
| DVI_DATA17
+
| No
| DSS_D17
+
| Yes, not default configuration (disable GPMCs)  
| LCD&nbsp;pixel data bit
+
| No
|  
 
GPIO_87(mode=4)  
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 21<br>
+
| [[Peripherals Summary#BSP|McBSP5]]
| DVI_DATA18
+
| No
| DSS_D18
+
| Yes, not default configuration (disable GPIOs)  
| LCD&nbsp;pixel data bit
+
| No
|  
 
DSS_D0 (mode=3)
 
 
 
MCSPI3_CLK(mode=2)  
 
 
 
GPIO_88(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 22<br>
+
| [[Peripherals Summary#MMC|MMC1]]
| DVI_DATA19
+
| No
| DSS_D19
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
DSS_1 (mode=3)
 
 
 
MCSPI3_SIMO(mode=2)
 
 
 
GPIO_89(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 23<br>
+
| [[Peripherals Summary#MMC|MMC2]]
| DVI_DATA20
+
| No
| DSS_D20
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
DSS_D2 (mode=3)
 
 
 
MCSPI3_SOMI(mode=2)
 
 
 
GPIO_90(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 24<br>
+
| [[Peripherals Summary#MMC|MMC3]]
| DVI_DATA21
+
| No
| DSS_D21
+
| No
| LCD&nbsp;pixel data bit
+
| Yes, not default configuration (disable GPIOs)
|  
 
DSS_3 (mode=3)
 
 
 
MCSPI3_CSO(mode=2)
 
 
 
GPIO_91(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 25<br>
+
| [[Peripherals Summary#I2C|I2C1]]
| DVI_DATA22<br>
+
| No
| DSS_D22<br>
+
| No
| LCD&nbsp;pixel data bit
+
| No
|
 
DSS_D4 (mode=3)
 
 
 
MCSPI3_CS1(mode=2)
 
 
 
GPIO_92(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 26<br>
+
| [[Peripherals Summary#I2C|I2C2]]
| DVI_DATA23<br>
+
| No
| DSS_D23<br>
+
| No
| LCD&nbsp;pixel data bit
+
| No
|  
 
DSS_D5(mode=3)
 
 
 
GPIO_93(mode=4)
 
 
 
| TFP410 '''(6)'''
 
 
|-
 
|-
| 27<br>
+
| [[Peripherals Summary#I2C|I2C3]]
| I2C3_SCL<br>
+
| Yes, default configuration (J5)
| I2C3_SCL
+
| No
| I2C3 interface
+
| Yes, default configuration (J1)
|  
 
GPIO_184(mode=4)  
 
 
 
| TXS0102DCUR<br>
 
 
|-
 
|-
| 28<br>
+
| [[Peripherals Summary#I2C|I2C4]]
| I2C3_SDA<br>
+
| No
| I2C3_SDA
+
| No
| I2C3 interface
+
| No
|
 
GPIO_185(mode=4)
 
 
 
| TXS0102DCUR<br>
 
 
|}
 
|}
  
<br> '''(6):''' TFP410: Converts DVI&nbsp;signal to HDMI. They share the same video signal.<br>
+
[[Category:Work_in_progress]]
 
+
[[Category:Peripherals]]
'''Under construction '''<br>
 

Latest revision as of 10:55, 17 February 2014

Overview

This wiki is meant to be a starting point for people to learn configure mux for IGEP devices as quickly and easily as possible. This wiki contains:

  • Mux characteristics summary
  • Tips to avoid problems
  • Ways to configure mux
  • Tables that links peripherals and connectors for IGEPv2 and IGEP MODULE


There are three ways to configure mux in IGEP Boards based in OMAP35xx and DM37xx:


Introduction

Mux (or multiplexer) is a Omap peripheral that can be controlled via software. Its function is connect other peripherals to some available Omap pins.

Each pin is configurable by software using its associated pad configuration register field, which is 16 bits wide:

Mux register.png


One pad configuration register field is available for each pin. Each 32-bit pad configuration register is grouped into two 16-bit pad configuration register fields. One pad configuration register provides control for two different pins. These registers can be accessed using 8, 16 and 32 bits operations.

The functional bits of a pad configuration register field are divided into the following five fields:

MUXMODE (3 bits) defines the multiplexing mode applied to the pin. A mode corresponds to the selection of the functionality mapped on the pin with six (0 to 5) possible functional modes for each pin.

PULL (2 bits) for combinational pullup/pulldown configuration:

-> PULLTYPESELECT: Pullup/pulldown selection for the pin.

-> PULLUDENABLE: Pullup/pulldown enable for the pin.

INPUTENABLE (1 bit) drives an input enable signal to the I/O CTRL.

Off mode values (5 bits) override the pin state when the OFFENABLE bit CONTROL. This feature is used for power saving management. Pins in off mode can be configured like output with HIGH or LOW value or input with wake-up detection feature. For input pins, OFFOUTENABLE and OFFOUTVALUE bits can not be configured:

->OFFENABLE: Off mode pin state override control. Set to 1 to enable the feature and to 0 to disable it.

->OFFOUTENABLE: Off mode output enable value. Set to 0 to enable the feature and to 1 to disable it.

->OFFOUTVALUE: Off mode output value.

->OFFPULLUDENABLE: Off mode pullup/pulldown enable.

->OFFPULLTYPESELECT: Off mode pullup/pulldown selection.

Wake-up bits (2 bits):

->WAKEUPENABLE: Enable wake-up detection on input. It is also the off mode input enable value.

->WAKEUPEVENT: Wake-up event status for the pin.

Mux pad configuration diagram.png

Mode selection

The next table shows all capabilities.

MUXMODE Select Mode
0b000=0 Mode 0 (Primary mode)
0b001=1 Mode 1 (Possible mode)
0b010=2 Mode 2 (Possible mode)
0b011=3 Mode 3 (Possible mode)
0b100=4 Mode 4 (Possible mode)
0b101=5 Mode 5 (Possible mode)
0b110=6 Mode 6 (Possible mode)
0b111=7 Mode 7 (Safe Mode)

Definitions:

Mode 0 is the primary mode. When mode 0 is set, the function mapped to the pin corresponds to the name of the pin. In IGEP some pads don't use primary mode by default.

Mode 1 to mode 6 are possible modes for alternate functions. On each pin, some modes are used effectively for alternate functions, while other modes are unused and correspond to no functional configuration.

The safe mode (default mode 7) avoids any risk of electrical contention by configuring the pin as an input with no functional interface mapped to it. The safe mode is used mainly as the default mode for all pins containing no mandatory interface at the release of power-on reset.

Pull Selection

The next table shows all capabilities.

PULLTYPESELECT PULLUDENABLE Pin Behavior
0b0 0b0 Pull-down selected but not activated
0b0 0b1 Pull-down selected and activated if pin is NOT configured as OUTPUT
0b1 0b0 Pull-up selected but not activated
0b1 0b1 Pull-up selected and activated if pin is NOT configured as OUTPUT

When a pin is in output mode, pulls are automatically disable.

Input Enable

INPUTENABLE = 0: Input Disable. Pin is configured in output only mode.

INPUTENABLE = 1: Input Enable. Pin is configured in bidirectional mode.

Off mode values and Wake-up

This mode is used to disable some pins and reduce power consumption.

Please contribute.

More information about mux.

Configure Mux

Mux options are vast, at the beginning can be difficult and tedious change some configurations. Before configure mux, use the following tips to avoid problems:

  • Mux can connect multiple connectors at the same peripheral, this improper use can damage the processor. Before configure mux, revise that this peripheral is not used in other pads. See schematics or connectors summary for more information.
  • Some peripherals are only available if you place or replace some resistances. See schematics for more information.
  • Some connectors share multiples peripherals like OMAP, WIFI/BT combo, etc. You should disable unused peripherals to avoid interferences.  For example: if you want to control WIFI module via J990 disable OMAP or if you want use UART2 at j990 disable Bluetooth. See schematics of board or connectors summary or how-to disable peripherals or how-to use gpios for more information.

IGEPv2

Next table pretends help you to configure IGEPv2. First column shows some OMAP35xx/DM37xx peripherals and first row shows all IGEPv2 connectors. Read articles about connector and peripheral before use them. Each configuration can take different solutions.
There are some connectors than have more peripherals available, but they don't have all signals to use it.
Table shows four answers: 

  • "Yes, default configuration(utility)": Peripheral enabled by default. "utility" shows if this peripheral is used.
  • "Yes, not default configuration(information)": Peripheral don't enabled by default. Maybe you need to disable other one
  • "No, via hardware": Not available, but via hardware (placing or replacing some resistances) can be enabled.
  • "No"

J990 J960 J970 J400 JC30 JA42 JA41
UART1 No Yes, not default configuration (disable RS485) No No No No Yes, not default configuration (disable DVI)
UART2 Yes, not default configuration (disable Bluetooth)

No, via hardware,

disable Bluetooth

No No No No No
UART3 No Yes, default configuration (Serial debug) No No No No Yes, not default configuration (disable DVI)
UART4 No No No No No No No
GPIO

Yes, default configuration (info)

No No Yes, not default configuration (disable JTAG) Yes, default configuration Yes, default configuration Yes, not default configuration (disable DVI)
McSPI1 No No No No No Yes, default configuration No
McSPI2 No No No No No No No
McSPI3

Yes, not default configuration (disable WIFI)

No No No No No Yes, not default configuration (disable DVI)
McSPI4 Yes, not default configuration (disable GPIOs) No No No No No No
McBSP1 Yes, not default configuration (disable GPIOs) No No No No No No
McBSP2 No No No No No No No
McBSP3 Yes, default configuration (Bluetooth audio) No No No No No No
McBSP4 No No No No No Yes, not default configuration (disable GPIOs) No
McBSP5 No No No No No No No
MMC1 No No No No No No No
MMC2 Yes, default configuration (WIFI) No No No No No No
MMC3 No No No No No No No
I2C1 No No No No No No No
I2C2 Yes, default configuration No No No No, via hardware No No
I2C3 No No No No No No Yes, default configuration (DVI)
I2C4 No No No No No No No

IGEP MODULE

Next table pretends help you to configure IGEP MODULE. First column shows some OMAP35xx/DM37xx peripherals and first row shows all IGEP MODULE connectors. Read articles about connector and peripheral before use them. Each configuration can take different solutions.
There are some connectors than have more peripherals available, but they don't have all signals to use it.
Table shows four answers: 

  • "Yes, default configuration(utility)": Peripheral enabled by default. "utility" shows if this peripheral is used.
  • "Yes, not default configuration(information)": Peripheral don't enabled by default. Maybe you need to disable other one
  • "No, via hardware": Not available, but via hardware (placing or replacing some resistances) can be enabled.
  • "No"

J1 J4 J5
UART1 Yes, not default configuration (disable DSS) Yes, default configuration No
UART2 Yes, not default configuration(enable: TX and RX) No No
UART3 Yes, default configuration No No
UART4 No Yes, not default configuration(disable: GPIO_64 and GPMC_WAIT3) No
GPIO Yes, default configuration Yes, default configuration Yes, default configuration
McSPI1 No Yes, default configuration No
McSPI2 No No No
McSPI3 Yes, not default configuration (disable DSS) No No
McSPI4 No No No
McBSP1 No No No
McBSP2 No No No
McBSP3 Yes, not default configuration (disable UART2) No No
McBSP4 No Yes, not default configuration (disable GPMCs) No
McBSP5 No Yes, not default configuration (disable GPIOs) No
MMC1 No No No
MMC2 No No No
MMC3 No No Yes, not default configuration (disable GPIOs)
I2C1 No No No
I2C2 No No No
I2C3 Yes, default configuration (J5) No Yes, default configuration (J1)
I2C4 No No No