Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Mux configuration

11,593 bytes added, 10:55, 17 February 2014
no edit summary
Explanation = 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:<br> *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:<br>  *[[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>  = 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:  {| bordercellspacing="1" aligncellpadding="center1" width="200" cellspacingborder="1" cellpaddingalign="1center"
|-
| Pad[[Image: Mux register.png]]| Connect } <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>  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 to5) possible functional modes for each pin.  • '''PULL''' (2 bits) for combinational pullup/pulldown configuration:  -&gt; PULLTYPESELECT: Pullup/pulldown selection for the pin.  -&gt; PULLUDENABLE: Pullup/pulldown enable for the pin.  • '''INPUTENABLE''' (1 bit) drives an input enable signal to the I/O CTRL.  | Default peripheral • '''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:  -&gt;OFFENABLE: Off mode=pin state override control. Set to 1 to enable the feature and to 0 to disable it.  -&gt;OFFOUTENABLE: Off mode output enable value. Set to 0to enable the feature and to 1 to disable it.  -&gt;OFFOUTVALUE: Off mode output value.  -&gt;OFFPULLUDENABLE: Off mode pullup/pulldown enable.  -&gt;OFFPULLTYPESELECT: Off mode pullup/pulldown selection.  • '''Wake-up''' bits (2 bits) : | Default function-&gt;WAKEUPENABLE: Enable wake-up detection on input. It is also the off mode input enable value.  | Other available peripherals-&gt;WAKEUPEVENT: Wake-up event status for the pin.'''<br>'''  {| Share with:cellspacing="1" cellpadding="1" border="1" align="center" width="200"
|-
| 1
| VIO 1V8
| -
| Power 1v8
|
[[Image:Mux pad configuration diagram.png]]
 
|}
 
=== Mode selection ===
 
The next table shows all capabilities.<br>
 
{| cellspacing="1" cellpadding="1" border="1" style="width: 287px; height: 235px;"
|-
| MUXMODE
| Select Mode
|-
| 0b000=0
| Mode 0 (Primary mode)
|-
| 0b001=1
| Mode 1 (Possible mode)<br>
|-
| 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)<br>
|}
 
'''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.<br>
 
=== Pull Selection ===
 
The next table shows all capabilities.
 
{| cellspacing="1" cellpadding="1" border="1" style="width: 696px; height: 1px;"
|-
| 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.<br>
 
=== '''Off mode values''' and '''Wake-up''' ===
 
This mode is used to disable some pins and reduce power consumption. <br>
 
Please contribute.
 
[http://www.ti.com/lit/ug/spruf98x/spruf98x.pdf 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|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.
 
=== 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. <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;
 
*"'''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" style="width: 933px; height: 409px;"
|-
| <br>
| [[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
| No
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])
|-
| [[Peripherals Summary#UART|UART2]]
| Yes, not default configuration ([[How to set up UART2 in J990|disable Bluetooth]])
|
No, [[How to use UARTs#RS232_Schematic_Igep_V2|via hardware]],
 
[[Mux instructions#Bluetooth|disable Bluetooth]]
 
| No
| No
| No
| No
| No
|-
| 2 [[Peripherals Summary#UART|UART3]] | No | Yes, default configuration ([[Mux instructions#UART3_in_J960|Serial debug]]) | No | No | No | No | DC 5V Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])| - | Power 5v [[Peripherals Summary#UART|UART4]] | No | No | No | No | No | No | No
|-
| 3 | MMC2_DAT7 | MMC2_DAT7 | Reset Wlan [[Peripherals Summary#GPIO| GPIO]]
|
Yes, default configuration ([[Mux instructions#GPIO_in_J990|info]])
 
| No
| No
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable JTAG]])
| Yes, default configuration
| Yes, default configuration
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])
|-
| 5 [[Peripherals Summary#SPI|McSPI1]] | No | No | MMC2_DAT6 No | MMC2_DAT6 No | Power down&nbsp; Wlan No | Yes, default configuration | No
|-
| 7 [[Peripherals Summary#SPI|McSPI2]] | No | No | MMC2_DAT5 No | MMC2_DAT5 No | Reset Bluethoot No | No | No
|-
| 9 | MMC2_DAT4 | MMC2_DAT4 | - [[Peripherals Summary#SPI| McSPI3]]
|
Yes, not default configuration ([[Mux instructions#WIFI|disable WIFI]])
 
| No
| No
| No
| No
| No
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])<br>
|-
| 11 [[Peripherals Summary#SPI|McSPI4]] | Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]]) | MMC2_DAT3 No | MMC2_DAT3 No | (1)Transfer data between Omap and Wlan No | No | No | No
|-
| 13 [[Peripherals Summary#BSP|McBSP1]] | Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]]) | MMC2_DAT2 No | MMC2_DAT2 No | (1)No | No | No | No
|-
| 15 [[Peripherals Summary#BSP|McBSP2]] | No | No | MMC2_DAT1 No | MMC2_DAT1 No | (1)No | No | No
|-
| 17 [[Peripherals Summary#BSP|McBSP3]] | Yes, default configuration ([[Mux instructions#TP65950_PCM_VSP|Bluetooth audio]]) | MMC2_DAT0 No | MMC2_DAT0 No | (1)No | No | No | hola&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No
|-
| 19 [[Peripherals Summary#BSP|McBSP4]] | No | No | No | MMC2_CMDNo | MMC2_CMDNo | Control Wire for bus MMC2 Yes, not default configuration (Wlan[[Mux instructions#GPIO_in_J990|disable GPIOs]])| | No
|-
| 21 [[Peripherals Summary#BSP|McBSP5]] | No | No | MMC2_CLK0 No | MMC2_CLK No | Clock for MMC2 (Wlan)No | No | No
|-
| 4 [[Peripherals Summary#MMC|MMC1]] | No | No | MCBSP3_DX No | MCBSP3_DX No | Transmitted serial Data (Bluethoot audio)No | No | No
|-
| 6 [[Peripherals Summary#MMC|MMC2]] | Yes, default configuration ([[Mux instructions#WIFI|WIFI]]) | MCBSP3_CLKX No | MCBSP3_CLKX No | Transmitted serial Clock (Bluethoot audio)No | No | No | No
|-
| 8 [[Peripherals Summary#MMC|MMC3]] | No | No | MCBSP3_FSX No | MCBSP3_FSX No | Transmited Frame Syncronisation (Bluethoot audio)No | No | No
|-
| 10 [[Peripherals Summary#I2C|I2C1]] | No | No | MCBSP3_DR No | MCBSP3_DR No | Received Serial Data (Bluethoot audio)No | No | No
|-
| 12 [[Peripherals Summary#I2C|I2C2]] | Yes, default configuration | No | MCBSP1_DX No | MCBSP1_DX No | Transmited serial Data (not used)No, [[Connectors Summary#JC30_connector|via hardware]] | No | No
|-
| 14 [[Peripherals Summary#I2C|I2C3]] | No | No | No | MCBSP1_CLKX No | MCBSP1_CLKX No | No {| border="1" align="center" width="200" cellspacing="1" cellpadding="1"Yes, default configuration (DVI)
|-
| [[Peripherals Summary#I2C|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. <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;  *"'''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" 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
|-
| 16 [[Peripherals Summary#BSP| MCBSP1_FSX McBSP3]] | MCBSP1_FSX | Transmited Frame Syncronization Yes, not default configuration (not useddisable UART2)| No | No
|-
| 18 [[Peripherals Summary#BSP| MCBSP1_DR McBSP4]] | MCBSP1_DR No | Received Serial Data Yes, not default configuration (not useddisable GPMCs)| | No
|-
| 20 [[Peripherals Summary#BSP| MCBSP1_CLKR McBSP5]] | MCBSP1_CLKR No | Received Clock Yes, not default configuration (not useddisable GPIOs) | | No
|-
| 22 | MCBSP1_FSR [[Peripherals Summary#MMC| MCBSP1_FSR MMC1]] | Received frame syncronization (not used)No | No | No
|-
| 23 | I2C2_SDA [[Peripherals Summary#MMC| I2C2_SDA MMC2]] | I2C DataNo | No | No
|-
| 24 | I2C2_SCL [[Peripherals Summary#MMC| I2C2_SCL MMC3]] | I2C ClockNo | No | Yes, not default configuration (disable GPIOs)
|-
| 25 | REGEN [[Peripherals Summary#I2C| - I2C1]] | No | No | No
|-
| 26 | nRESET [[Peripherals Summary#I2C| - I2C2]] | Read Reset OmapNo | No | No
|-
| 27 | GND [[Peripherals Summary#I2C| - I2C3]] | GNDYes, default configuration (J5) | No | Yes, default configuration (J1)
|-
| 28 | GND [[Peripherals Summary#I2C| - I2C4]] | GNDNo | No | No
|}
Under construction[[Category:Work_in_progress]][[Category:Peripherals]]