Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Mux configuration

5,528 bytes added, 10:55, 17 February 2014
no edit summary
= Overview =
Mux (or multiplexer) This wiki is meant to be a Omap peripheral that can be controlled via software. Its function is connect other peripherals starting point for people to some available Omap padslearn configure mux for IGEP devices as quickly and easily as possible. This wiki contains:<br>
IgepV2 Board have a default mux configuration, but some cases is necessary change it, for example your project need UART2 at j990 connector *Mux characteristics summary*Tips to avoid problems*Ways to transmit data, for this purpose you need change some configure mux configurations to enable it and be sure *Tables that this modification don't break or interferes in other IC or links peripherals. The mux options are vast. and connectors for IGEPv2 and IGEP MODULE
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 There are three ways to configure mux in IGEP Boards based in OMAP35xx and Contributing =DM37xx:<br>
At any point*[[Mux_instructions|Configuring MUX from OS User Space]]. This mode has a issue, if when your system reboot or shutdown you see a mistake you can contribute 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 this 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-Toto set up UART2 in J990#Third_way|Example]]. <br>
= Available peripherals on external connector =
Before configure mux is necessary review some things: = Introduction =
- If connector Mux (or multiplexer) is a Omap peripheral that can be controlled via software. Its function is shared with connect other peripherals you should disable it via software or hardwareto some available Omap pins.<br>
- Don't use the same peripheral in more than one Each pin is configurable by software using its associated pad. configuration register field, which is 16 bits wide:
<br> The next tables show you all the mux capabilities:  {| cellspacing="1" cellpadding="1" border= J990 connector =="1" align="center"|-| [[Image:Mux register.png]]|}
<br> One pad configuration register field is available for each pin. Each 32-There are some peripherals than 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 connected to J990 like mm3 accessed using 8, 16 and camera, but is not used in this how-to32 bits operations. <br>
-High Speed USB 3 is only available on Omap 3530 in The functional bits of a pad configuration register field are divided into the next padsfollowing five fields:
• '''MUXMODE''' (3: HSUSB3_TLL_NXT<br> 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.
4• '''PULL''' (2 bits) for combinational pullup/pulldown configuration: HSUSB3_TLL_D4<br>
5-&gt; PULLTYPESELECT: HSUSB3_TLL_DIR <br> Pullup/pulldown selection for the pin.
6-&gt; PULLUDENABLE: HSUSB3_TLL_D6<br> Pullup/pulldown enable for the pin.
7: HSUSB3_TLL_STP<br> • '''INPUTENABLE''' (1 bit) drives an input enable signal to the I/O CTRL.
8• '''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: HSUSB3_TLL_D7 <br>
10-&gt;OFFENABLE: HSUSB3_TLL_D5 Off mode pin state override control. Set to 1 to enable the feature and to 0 to disable it.
{| cellspacing="1" cellpadding="1" border="1" align="center" style="width: 960px-&gt; heightOFFOUTENABLE: 1463px;"|-| Pad: | Connect Off mode output enable value. Set to: | Default peripheral (mode=0) to enable the feature and to 1 to disable it.
| Default function: | Other available peripherals: | Share with-&gt;OFFOUTVALUE:|-| 1 | VIO 1V8 | - | Power 1v8 | - | -<br>|-| 2 | DC 5V | - | Power 5v | - | -<br>|-| 3 | MMC2_DAT7 | MMC2_DAT7 | Reset Wlan | MMC2_CLKIN(Off mode=1) output value.
MMC3_DAT3(-&gt;OFFPULLUDENABLE: Off mode=3) pullup/pulldown enable.
GPIO_139(-&gt;OFFPULLTYPESELECT: Off mode=4) pullup/pulldown selection.
| <div align="JUSTIFY">'''Wlan:Wake-up''' This pad can reset Wlan peripheral using Omap GPIO low level bits (GND2 bits). 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>|-| 5 | MMC2_DAT6 | MMC2_DAT6 | Power down&nbsp; Wlan | MMC2_DIR_CMD(mode=1)
MMC3_DAT2(-&gt;WAKEUPENABLE: Enable wake-up detection on input. It is also the off mode=3) input enable value.
GPIO_138(mode=4) -&gt;WAKEUPEVENT: Wake-up event status for the pin.'''<br>'''
{| <div cellspacing="1" cellpadding="1" border="1" align="JUSTIFYcenter">'''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 alignwidth="JUSTIFY200">'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>
|-
| 7
| MMC2_DAT5
| MMC2_DAT5
| Reset Bluethoot
|
MMC2_DIR_DAT1(mode=1) [[Image:Mux pad configuration diagram.png]]  |}
MMC3_DAT1(mode=3) == Mode selection ===
GPIO_137(mode=4) The next table shows all capabilities.<br>
{| <div aligncellspacing="1" cellpadding="1" border="JUSTIFY1">'''Bluethootstyle="width: 287px; height: '''This pad can reset Bluethoot 235px;"|-| MUXMODE | Select Mode|-| 0b000=0 peripheral using Omap GPIO low level | Mode 0 (GNDPrimary mode). 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.'''|-| 0b001=1 | Mode 1 (1Possible mode)'''<br> </div>|-| 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)
|-
| 9 0b111=7 | MMC2_DAT4 | MMC2_DAT4 Mode 7 (Safe Mode)<br>| - | MMC_DIR_DAT0(mode=1) }
MMC3_DAT0(mode=3) '''Definitions:'''
GPIO136('''Mode 0''' is the primary mode=4) . 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.
| <div align="JUSTIFY">'''Wlan: 'Mode 1 to mode 6''Protect Wlan if you don' use itare possible modes for alternate functions. See MMC2_DAT7 pad.</div> <div align="JUSTIFY">'''Omap: '''protect Omap pad if you don't use itOn each pin, some modes are used effectively for alternate functions, while other modes are unused and correspond to no functional configuration.'''(1)'''</div>|-| 11 | MMC2_DAT3 | MMC2_DAT3 | Transfer data between Omap and Wlan | McSPI3_CS0(mode=1)
GPIO_135'''The safe mode (default mode=47) '''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>
| <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>|-| 13 | MMC2_DAT2 | MMC2_DAT2 | Transfer data between Omap and Wlan | McSPI3_CS1(mode=1)<br> Pull Selection ===
GPIO_134(mode=4) The next table shows all capabilities.
{| <div aligncellspacing="JUSTIFY1" cellpadding="1">'''Wlan: '''Protect Wlan if you don' use it. See MMC2_DAT7 pad.</div> <div alignborder="JUSTIFY1" style=">'''Omapwidth: 696px; height: '''protect Omap pad if you don't use it.'''(1)'''</div>1px;"|-| PULLTYPESELECT | PULLUDENABLE | Pin Behavior
|-
| 15 0b0 | MMC2_DAT1 0b0 | 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>Pull-down selected but not activated
|-
| 17 0b0 | MMC2_DAT0 0b1 | MMC2_DAT0 Pull-down selected and activated if pin is NOT configured as OUTPUT| Transfer data between Omap and Wlan -| 0b1 McSPI3_SOMI(mode=1)  GPIO_132(mode=4) | 0b0 | <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>Pull-up selected but not activated
|-
| 19 0b1 | MMC2_CMD 0b1 | MMC2_CMD Pull-up selected and activated if pin is NOT configured as OUTPUT| Control Wire for bus MMC2 (Wlan) | McSPI3_SIMO(mode=1) }
GPIO_131(When a pin is in output mode=4) , pulls are automatically disable.
| <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>|-| 21 | MMC2_CLK0 | MMC2_CLK | Clock for MMC2 (Wlan) | McSPI3_CLK(mode=1) Input Enable ===
GPIO_130(INPUTENABLE = 0: Input Disable. Pin is configured in output only mode=4) .
| <div alignINPUTENABLE ="JUSTIFY">'''Wlan1: '''Protect Wlan if you don' use itInput Enable. See MMC2_DAT7 padPin is configured in bidirectional mode.</div> <div align="JUSTIFY"br>'''Omap: '''protect Omap pad if you don't use it.'''(1)'''</div>|-| 4 | MCBSP3_DX | MCBSP3_DX | Transmitted serial Data (Bluethoot audio) | UART2_CTS(mode=1)
GPIO_140(=== '''Off modevalues''' and '''Wake-up''' ===4)
| <div align="JUSTIFY">'''TPS65950:''' This mode is used to disable it via kernel '''(2) '''If you don't use itsome pins and reduce power consumption.</divbr>|-| 6 | MCBSP3_CLKX | MCBSP3_CLKX | Transmitted serial Clock (Bluethoot audio) | UART2_TX(mode=1)
GPIO_142(mode=4) Please contribute.
| <div align="JUSTIFY">'''Bluethoot[http: '''Protect Bluethoot if you don' use it//www. See MMC2_DAT5 padti.<com/lit/div> <div align="JUSTIFY"><br> <ug/div> <div align="JUSTIFY">'''TPS65950:''' disable it via kernel '''(2) '''If you don't use itspruf98x/spruf98x.pdf More information] about mux.</div>|-| 8 | MCBSP3_FSX | MCBSP3_FSX | Transmited Frame Syncronisation (Bluethoot audio) | UART2_RX(mode=1)
GPIO_143(mode=4) Configure Mux =
| <div align="JUSTIFY">'''Bluethoot: '''Protect Bluethoot if you don' Mux options are vast, at the beginning can be difficult and tedious change some configurations. Before configure mux, use it. See MMC2_DAT5 pad.</div> <div align="JUSTIFY"><br> </div> <div align="JUSTIFY">'''TPS65950the following tips to avoid problems:''' 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) *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.
| <div align="JUSTIFY">'''TPS65950:''' disable it via kernel '''(2) '''If you don't use it.</div>|-| 12 | MCBSP1_DX | MCBSP1_DX | Transmited serial Data (not used) | McSPI4_SIMO(mode=1) = IGEPv2 ===
McBSP3_DX(mode=2) 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;
GPIO_158*"'''Yes, default configuration(mode=4utility) '''": 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'''"
{| -<br>cellspacing="1" cellpadding="1" border="1" style="width: 933px; height: 409px;"
|-
| 14 <br> | MCBSP1_CLKX [[Connectors Summary#J990_connector|J990]] | [[Connectors Summary#J960_connector|J960]] | [[Connectors Summary#J970_connector|J970]] | [[Connectors Summary#J400_connector|J400]] | [[Connectors Summary#JC30_connector|JC30]] | [[Connectors Summary#JA42_connector|JA42]] | [[Connectors Summary#JA41_connector|JA41]]|-| [[Peripherals Summary#UART|UART1]] | No | Yes, not default configuration ([[Mux instructions#UART1_in_J960|disable RS485]]) | No | No | No | MCBSP1_CLKX No | Transmited serial clock Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])|-| [[Peripherals Summary#UART|UART2]] | Yes, not useddefault configuration ([[How to set up UART2 in J990|disable Bluetooth]])
|
McBSP3_CLKX(mode=2)<br> No, [[How to use UARTs#RS232_Schematic_Igep_V2|via hardware]],
GPIO_162(mode=4) [[Mux instructions#Bluetooth|disable Bluetooth]]
| No | No | No | No | No| -<br>| [[Peripherals Summary#UART|UART3]] | No | Yes, default configuration ([[Mux instructions#UART3_in_J960|Serial debug]]) | No | No | No | No | Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])|-| [[Peripherals Summary#UART|UART4]] | No | No | No | No | No | No | No
|-
| 16 [[Peripherals Summary#GPIO| MCBSP1_FSX | MCBSP1_FSX | Transmited Frame Syncronization (not used) GPIO]]
|
McSPI4_CS0Yes, default configuration (mode=1[[Mux instructions#GPIO_in_J990|info]])
McBSP3_FSX| No | No | Yes, not default configuration (mode=2[[Mux instructions#GPIO_in_J990|disable JTAG]]) | Yes, default configuration | Yes, default configuration GPIO_161| Yes, not default configuration (mode=4[[Mux_instructions#TFP410|disable DVI]]) |-| [[Peripherals Summary#SPI|McSPI1]] | No | No | No | No | No | Yes, default configuration | No| -<br>| [[Peripherals Summary#SPI|McSPI2]] | No | No | No | No | No | No | No
|-
| 18 [[Peripherals Summary#SPI| MCBSP1_DR | MCBSP1_DR | Received Serial Data (not used) McSPI3]]
|
McSPI4_SOMIYes, not default configuration (mode=1[[Mux instructions#WIFI|disable WIFI]])
McBSP3_DR| No | No | No | No | No | Yes, not default configuration (mode=2[[Mux_instructions#TFP410|disable DVI]]) <br>|-| [[Peripherals Summary#SPI|McSPI4]] | Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]]) | No | No | No | No | No | No|-| [[Peripherals Summary#BSP|McBSP1]] | Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]]) | No | No | No | No | No | No|-| [[Peripherals Summary#BSP|McBSP2]] | No | No | No | No | No GPIO_159| No | No|-| [[Peripherals Summary#BSP|McBSP3]] | Yes, default configuration (mode=4[[Mux instructions#TP65950_PCM_VSP|Bluetooth audio]]) | No | No | No | No | No | No| -<br>| [[Peripherals Summary#BSP|McBSP4]] | No | No | No | No | No | Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]]) | No
|-
| 20 [[Peripherals Summary#BSP|McBSP5]] | MCBSP1_CLKR No | MCBSP1_CLKR No | Received Clock (not used) No | No GPIO_156(mode=4)<br> | No | No | -<br>No
|-
| 22 [[Peripherals Summary#MMC|MMC1]] | MCBSP1_FSR No | MCBSP1_FSR No | Received frame syncronization (not used) No | No GPIO_157(mode=4)<br> | No | No | -<br>No
|-
| 23 [[Peripherals Summary#MMC|MMC2]] | I2C2_SDA Yes, default configuration ([[Mux instructions#WIFI|WIFI]]) | I2C2_SDA No | I2C Data No | No GPIO_183(mode=4)<br> | No | No | <div align="JUSTIFY">'''Cam connector:''' Check and RC14 is not welded or don't use it.<br></div>No
|-
| 24 [[Peripherals Summary#MMC|MMC3]] | I2C2_SCL No | I2C2_SCL No | I2C Clock No | No GPIO_168(mode=4)<br> | No | No | '''Cam connector:''' Check and RC13 is not welded or don't use it.No
|-
| 25 [[Peripherals Summary#I2C|I2C1]] | No | No | REGEN No | - No | Master/Slave control power TPS65950<br> No | - No | -<br>No
|-
| 26 [[Peripherals Summary#I2C|I2C2]] | Yes, default configuration | No | nRESET No | - No | Read Reset Omap No, [[Connectors Summary#JC30_connector|via hardware]] | - No | -<br>No
|-
| 27 [[Peripherals Summary#I2C|I2C3]] | No | No | GND No | - No | GND No | - No | -<br>Yes, default configuration (DVI)
|-
| 28 [[Peripherals Summary#I2C|I2C4]] | No | No | GND No | - No | GND No | - No | -<br>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. <br> There are some connectors than have more peripherals available, but they don'''(1):''' To protect Omap pads from esternal t have all signals configure Mux in mode=7 (safe_mode)to use it. With this mode, buffer is configured in high impedance <br> Table shows four answers:&nbsp;
*"'''Yes, default configuration(2utility):''' Disable TPS65950 go to file sound/soc/codecs/twl4030": Peripheral enabled by default. "utility" shows if this peripheral is used.c change line 54 Code: <prebr>0x00*"'''Yes, /* REG_VOICE_IF not default configuration(0xFinformation) */'''": Peripheral don't enabled by default. Maybe you need to disable other one</prebr> to Code*"'''No, via hardware'''": <pre>0x04Not available, /* REG_VOICE_IF but via hardware (0xFplacing or replacing some resistances) */can be enabled.</prebr> *"'''(3):No''' Omap mux have 8 modes, somes modes are disable in some pads."
{| cellspacing="1" cellpadding="1" border= J960 connector =="1" style="width: 933px; height: 190px;"|-| <br>| [[Connectors Summary#J1_connector|J1]] | [[Connectors Summary#J4_connector|J4]] | [[Connectors Summary#J5_connector|J5]]|-| [[Peripherals Summary#UART|UART1]] | Yes, not default configuration (disable DSS) | Yes, default configuration | No|-| [[Peripherals Summary#UART|UART2]] | Yes, not default configuration(enable: TX and RX) | No | No|-| [[Peripherals Summary#UART|UART3]] | Yes, default configuration | No | No|-| [[Peripherals Summary#UART|UART4]] | No | Yes, not default configuration(disable: GPIO_64 and GPMC_WAIT3) | No|-| [[Peripherals Summary#GPIO|GPIO]] | Yes, default configuration | Yes, default configuration | Yes, default configuration|-| [[Peripherals Summary#SPI|McSPI1]] | No | Yes, default configuration | No|-| [[Peripherals Summary#SPI|McSPI2]] | No | No | No|-| [[Peripherals Summary#SPI|McSPI3]] | Yes, not default configuration (disable DSS) | No | No|-| [[Peripherals Summary#SPI|McSPI4]] | No | No | No|-| [[Peripherals Summary#BSP|McBSP1]] | No | No | No|-| [[Peripherals Summary#BSP|McBSP2]] | No | No | No|-| [[Peripherals Summary#BSP|McBSP3]] | Yes, not default configuration (disable UART2) | No | No|-| [[Peripherals Summary#BSP|McBSP4]] | No | Yes, not default configuration (disable GPMCs) | No|-| [[Peripherals Summary#BSP|McBSP5]] | No | Yes, not default configuration (disable GPIOs) | No|-| [[Peripherals Summary#MMC|MMC1]] | No | No | No|-| [[Peripherals Summary#MMC|MMC2]] | No | No | No|-| [[Peripherals Summary#MMC|MMC3]] | No | No | Yes, not default configuration (disable GPIOs)|-| [[Peripherals Summary#I2C|I2C1]] | No | No | No|-| [[Peripherals Summary#I2C|I2C2]] | No | No | No|-| [[Peripherals Summary#I2C|I2C3]] | Yes, default configuration (J5) | No | Yes, default configuration (J1)|-| [[Peripherals Summary#I2C|I2C4]] | No | No | No|}
Under construction[[Category:Work_in_progress]][[Category:Peripherals]]