Difference between revisions of "Mux configuration"

From IGEP - ISEE Wiki

Jump to: navigation, search
 
(120 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= Overview  =
 
= Overview  =
  
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.  
+
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.  
 
Mux (or multiplexer) is a Omap peripheral that can be controlled via software. Its function is connect other peripherals to some available Omap pins.  
Line 26: Line 41:
 
• '''INPUTENABLE''' (1 bit) drives an input enable signal to the I/O CTRL.  
 
• '''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:  
+
• '''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;OFFENABLE: Off mode pin state override control. Set to 1 to enable the feature and to 0 to disable it.  
Line 40: Line 55:
 
• '''Wake-up''' bits (2 bits):  
 
• '''Wake-up''' bits (2 bits):  
  
-&gt;WAKEUPENABLE: Enable wake-up detection on input. It is also the off mode input enable value.<br> -&gt;WAKEUPEVENT: Wake-up event status for the pin.'''<br>'''
+
-&gt;WAKEUPENABLE: Enable wake-up detection on input. It is also the off mode input enable value.  
 
 
NOTE: Off mode can be configured like pin output with a HIGH&nbsp;or LOW value or pin input with wake-up detection feature.  
 
  
NOTE: For input pins, OFFOUTENABLE and OFFOUTVALUE bits can not be configured.<br>  
+
-&gt;WAKEUPEVENT: Wake-up event status for the pin.'''<br>'''
  
 
{| cellspacing="1" cellpadding="1" border="1" align="center" width="200"
 
{| cellspacing="1" cellpadding="1" border="1" align="center" width="200"
 
|-
 
|-
 
|  
 
|  
=== [[Image:Mux pad configuration diagram.png]] ===
+
[[Image:Mux pad configuration diagram.png]]  
  
 
|}
 
|}
  
 
=== Mode selection  ===
 
=== Mode selection  ===
 +
 +
The next table shows all capabilities.<br>
  
 
{| cellspacing="1" cellpadding="1" border="1" style="width: 287px; height: 235px;"
 
{| cellspacing="1" cellpadding="1" border="1" style="width: 287px; height: 235px;"
Line 85: Line 100:
 
|}
 
|}
  
<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.  
+
'''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.  
 
'''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.  
+
'''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>
 
 
NOTE: For most pads, the reset value for the MUXMODE field is 0b111. The exceptions are pads to be used at boot time to transfer data from selected peripherals to the external flash memory.
 
  
 
=== Pull Selection  ===
 
=== Pull Selection  ===
  
Note: when a pin is in output mode, pulls are automatically disable.  
+
The next table shows all capabilities.  
  
 
{| cellspacing="1" cellpadding="1" border="1" style="width: 696px; height: 1px;"
 
{| cellspacing="1" cellpadding="1" border="1" style="width: 696px; height: 1px;"
Line 121: Line 134:
 
| Pull-up selected and activated if pin is NOT configured as OUTPUT
 
| 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  ===
 
=== Input Enable  ===
Line 126: Line 141:
 
INPUTENABLE = 0: Input Disable. Pin is configured in output only mode.  
 
INPUTENABLE = 0: Input Disable. Pin is configured in output only mode.  
  
INPUTENABLE = 1: Input Enable. Pin is configured in bidirectional mode.  
+
INPUTENABLE = 1: Input Enable. Pin is configured in bidirectional mode.<br>
 
 
NOTE: For proper functioning of some peripherals INPUTENABLE must be set to 1 for pads configured to drive output clocks:
 
 
 
*SDRC
 
*GPMC
 
*McSPIi
 
*I2Ci
 
*MMCi
 
*McBSPi
 
*HSUSB HOST
 
  
 
=== '''Off mode values''' and '''Wake-up'''  ===
 
=== '''Off mode values''' and '''Wake-up'''  ===
  
This mode is used to disable some pins and reduce low power consumption. <br>  
+
This mode is used to disable some pins and reduce power consumption. <br>  
  
Please contribute ..  
+
Please contribute.  
  
= '''IGEP<br>'''  =
+
[http://www.ti.com/lit/ug/spruf98x/spruf98x.pdf More information] about mux.
  
=== Important tips<br> ===
+
= Configure Mux =
  
Use the following tips to configure mux without problems:  
+
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. Make sure to disable old connector configuration before use new one.  
+
*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. View schematics for more information.<br>  
+
*Some peripherals are only available if you place or replace some resistances. See schematics for more information.<br>  
*Some connectors share multiples peripherals. 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 UART2 at j990 disable Bluetooth.<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.
  
=== Configure mux<br> ===
+
=== IGEPv2 ===
  
IgepV2 Board have a default mux configuration, but some cases is necessary change it, for example your project need [[How to set up UART2 in J990|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. There are three ways to configure mux at DM37xx and OMAP35xx:<br>  
+
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;
  
*Editing 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]].
+
*"'''Yes, default configuration(utility)'''": Peripheral enabled by default. "utility" shows if this peripheral is used.<br>
*Using kernel buddies. This way is ot avaliable in some cases. [[How to set up UART2 in J990#Second_way|Example]].  
+
*"'''Yes, not default configuration(information)'''": Peripheral don't enabled by default. Maybe you need to disable other one<br>
*Editing and compile kernel sources. [[How to set up UART2 in J990#Third_way|Example]].
+
*"'''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;"
 
 
[http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=spruf98v&fileType=pdf More information] about mux.
 
 
 
= Feedback and Contributing  =
 
 
 
At any point, if you see a mistake you can contribute to this How-To.
 
 
 
= Available peripherals on external connector  =
 
 
 
The next tables show you all the mux capabilities:
 
 
 
<br>
 
 
 
{| cellspacing="1" cellpadding="1" border="1" width="200"
 
 
|-
 
|-
|  
+
| <br>
| J990  
+
| [[Connectors Summary#J990_connector|J990]]
| J960  
+
| [[Connectors Summary#J960_connector|J960]]
| J970  
+
| [[Connectors Summary#J970_connector|J970]]
| J400
+
| [[Connectors Summary#J400_connector|J400]]
 +
| [[Connectors Summary#JC30_connector|JC30]]
 +
| [[Connectors Summary#JA42_connector|JA42]]
 +
| [[Connectors Summary#JA41_connector|JA41]]
 
|-
 
|-
 
| [[Peripherals Summary#UART|UART1]]  
 
| [[Peripherals Summary#UART|UART1]]  
 
| No  
 
| No  
| [[Mux instructions#UART1_in_J990|Yes]]  
+
| Yes, not default configuration ([[Mux instructions#UART1_in_J960|disable RS485]])
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
| No
+
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])
 
|-
 
|-
 
| [[Peripherals Summary#UART|UART2]]  
 
| [[Peripherals Summary#UART|UART2]]  
| [[How to set up UART2 in J990|Yes]]  
+
| Yes, not default configuration ([[How to set up UART2 in J990|disable Bluetooth]])
| Yes, via hardware  
+
|  
 +
No, [[How to use UARTs#RS232_Schematic_Igep_V2|via hardware]],
 +
 
 +
[[Mux instructions#Bluetooth|disable Bluetooth]]
 +
 
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No
 
| No
Line 198: Line 203:
 
| [[Peripherals Summary#UART|UART3]]  
 
| [[Peripherals Summary#UART|UART3]]  
 
| No  
 
| No  
| Yes (default)  
+
| Yes, default configuration ([[Mux instructions#UART3_in_J960|Serial debug]])  
 +
| No
 +
| No
 
| No  
 
| No  
| No
+
| No  
 +
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])
 
|-
 
|-
 
| [[Peripherals Summary#UART|UART4]]  
 
| [[Peripherals Summary#UART|UART4]]  
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 209: Line 220:
 
|-
 
|-
 
| [[Peripherals Summary#GPIO|GPIO]]  
 
| [[Peripherals Summary#GPIO|GPIO]]  
| Yes  
+
|  
 +
Yes, default configuration ([[Mux instructions#GPIO_in_J990|info]])
 +
 
 
| No  
 
| No  
 
| No  
 
| No  
| Yes
+
| 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]])
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI1]]  
 
| [[Peripherals Summary#SPI|McSPI1]]  
| No<br>
 
 
| No  
 
| No  
 
| No  
 
| No  
 +
| No
 +
| No
 +
| No
 +
| Yes, default configuration
 
| No
 
| No
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI2]]  
 
| [[Peripherals Summary#SPI|McSPI2]]  
| No<br>
+
| No  
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 227: Line 249:
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI3]]  
 
| [[Peripherals Summary#SPI|McSPI3]]  
| Yes (disable WIFI)  
+
|  
 +
Yes, not default configuration ([[Mux instructions#WIFI|disable WIFI]])  
 +
 
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
| No
+
| Yes, not default configuration ([[Mux_instructions#TFP410|disable DVI]])<br>
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI4]]  
 
| [[Peripherals Summary#SPI|McSPI4]]  
| Yes  
+
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]])
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 239: Line 269:
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP1]]  
 
| [[Peripherals Summary#BSP|McBSP1]]  
| Yes (default)  
+
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]])  
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 245: Line 278:
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP2]]  
 
| [[Peripherals Summary#BSP|McBSP2]]  
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 251: Line 287:
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP3]]  
 
| [[Peripherals Summary#BSP|McBSP3]]  
| Yes ()  
+
| Yes, default configuration ([[Mux instructions#TP65950_PCM_VSP|Bluetooth audio]])  
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 260: Line 299:
 
| No  
 
| No  
 
| No  
 
| No  
 +
| No
 +
| No
 +
| Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable GPIOs]])
 
| No
 
| No
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP5]]  
 
| [[Peripherals Summary#BSP|McBSP5]]  
|  
+
| No
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 269: Line 314:
 
|-
 
|-
 
| [[Peripherals Summary#MMC|MMC1]]  
 
| [[Peripherals Summary#MMC|MMC1]]  
|  
+
| No
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 275: Line 323:
 
|-
 
|-
 
| [[Peripherals Summary#MMC|MMC2]]  
 
| [[Peripherals Summary#MMC|MMC2]]  
|  
+
| Yes, default configuration ([[Mux instructions#WIFI|WIFI]])
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 281: Line 332:
 
|-
 
|-
 
| [[Peripherals Summary#MMC|MMC3]]  
 
| [[Peripherals Summary#MMC|MMC3]]  
|  
+
| No
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 287: Line 341:
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C1]]  
 
| [[Peripherals Summary#I2C|I2C1]]  
|  
+
| No
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 293: Line 350:
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C2]]  
 
| [[Peripherals Summary#I2C|I2C2]]  
|  
+
| Yes, default configuration
 +
| No
 +
| No
 
| No  
 
| No  
 +
| No, [[Connectors Summary#JC30_connector|via hardware]]
 
| No  
 
| No  
 
| No
 
| No
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C3]]  
 
| [[Peripherals Summary#I2C|I2C3]]  
|
 
 
| No  
 
| No  
 
| No  
 
| No  
| No
+
| No  
 +
| No
 +
| No
 +
| No
 +
| Yes, default configuration (DVI)
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C4]]  
 
| [[Peripherals Summary#I2C|I2C4]]  
|  
+
| No
 +
| No
 +
| No
 +
| No
 
| No  
 
| No  
 
| No  
 
| No  
Line 311: Line 377:
 
|}
 
|}
  
<br>  
+
=== 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" width="200"
+
{| cellspacing="1" cellpadding="1" border="1" style="width: 933px; height: 190px;"
 
|-
 
|-
|  
+
| <br>
| JC30
+
| [[Connectors Summary#J1_connector|J1]]
| JA42
+
| [[Connectors Summary#J4_connector|J4]]
| JA41
+
| [[Connectors Summary#J5_connector|J5]]
| TP
 
 
|-
 
|-
 
| [[Peripherals Summary#UART|UART1]]  
 
| [[Peripherals Summary#UART|UART1]]  
| No
+
| Yes, not default configuration (disable DSS)
| No
+
| Yes, default configuration
| No
 
 
| No
 
| No
 
|-
 
|-
 
| [[Peripherals Summary#UART|UART2]]  
 
| [[Peripherals Summary#UART|UART2]]  
| No
+
| Yes, not default configuration(enable: TX and RX)
| No
 
 
| No  
 
| No  
 
| No
 
| No
 
|-
 
|-
 
| [[Peripherals Summary#UART|UART3]]  
 
| [[Peripherals Summary#UART|UART3]]  
| No
+
| Yes, default configuration
| No
 
 
| No  
 
| No  
 
| No
 
| No
Line 341: Line 410:
 
| [[Peripherals Summary#UART|UART4]]  
 
| [[Peripherals Summary#UART|UART4]]  
 
| No  
 
| No  
| No
+
| Yes, not default configuration(disable: GPIO_64 and GPMC_WAIT3)
| No  
+
| No
| [[Peripherals Summary#UART|No]]
 
 
|-
 
|-
 
| [[Peripherals Summary#GPIO|GPIO]]  
 
| [[Peripherals Summary#GPIO|GPIO]]  
| Yes  
+
| Yes, default configuration
| Yes  
+
| Yes, default configuration
| Yes  
+
| Yes, default configuration
| Yes
 
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI1]]  
 
| [[Peripherals Summary#SPI|McSPI1]]  
 
| No  
 
| No  
| Yes  
+
| Yes, default configuration
| No
 
 
| No
 
| No
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI2]]  
 
| [[Peripherals Summary#SPI|McSPI2]]  
| No
 
 
| No  
 
| No  
 
| No  
 
| No  
Line 364: Line 429:
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI3]]  
 
| [[Peripherals Summary#SPI|McSPI3]]  
| No
+
| Yes, not default configuration (disable DSS)
| No
 
 
| No  
 
| No  
 
| No
 
| No
 
|-
 
|-
 
| [[Peripherals Summary#SPI|McSPI4]]  
 
| [[Peripherals Summary#SPI|McSPI4]]  
| No
 
 
| No  
 
| No  
 
| No  
 
| No  
Line 376: Line 439:
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP1]]  
 
| [[Peripherals Summary#BSP|McBSP1]]  
| No
 
 
| No  
 
| No  
 
| No  
 
| No  
Line 382: Line 444:
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP2]]  
 
| [[Peripherals Summary#BSP|McBSP2]]  
| No
 
 
| No  
 
| No  
 
| No  
 
| No  
Line 388: Line 449:
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP3]]  
 
| [[Peripherals Summary#BSP|McBSP3]]  
| No
+
| Yes, not default configuration (disable UART2)
| No
 
 
| No  
 
| No  
 
| No
 
| No
Line 395: Line 455:
 
| [[Peripherals Summary#BSP|McBSP4]]  
 
| [[Peripherals Summary#BSP|McBSP4]]  
 
| No  
 
| No  
| Yes (default?)  
+
| Yes, not default configuration (disable GPMCs)  
| No  
+
| No
| Yes, partial
 
 
|-
 
|-
 
| [[Peripherals Summary#BSP|McBSP5]]  
 
| [[Peripherals Summary#BSP|McBSP5]]  
|  
+
| No
|  
+
| Yes, not default configuration (disable GPIOs)
|  
+
| No
|
 
 
|-
 
|-
 
| [[Peripherals Summary#MMC|MMC1]]  
 
| [[Peripherals Summary#MMC|MMC1]]  
|  
+
| No
|  
+
| No
|  
+
| No
|
 
 
|-
 
|-
 
| [[Peripherals Summary#MMC|MMC2]]  
 
| [[Peripherals Summary#MMC|MMC2]]  
|  
+
| No
|  
+
| No
|  
+
| No
|
 
 
|-
 
|-
 
| [[Peripherals Summary#MMC|MMC3]]  
 
| [[Peripherals Summary#MMC|MMC3]]  
|  
+
| No
|  
+
| No
|  
+
| Yes, not default configuration (disable GPIOs)
|
 
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C1]]  
 
| [[Peripherals Summary#I2C|I2C1]]  
|  
+
| No
|  
+
| No
|  
+
| No
|
 
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C2]]  
 
| [[Peripherals Summary#I2C|I2C2]]  
|  
+
| No
|  
+
| No
|  
+
| No
|
 
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C3]]  
 
| [[Peripherals Summary#I2C|I2C3]]  
|  
+
| Yes, default configuration (J5)
|  
+
| No
|  
+
| Yes, default configuration (J1)
|
 
 
|-
 
|-
 
| [[Peripherals Summary#I2C|I2C4]]  
 
| [[Peripherals Summary#I2C|I2C4]]  
|  
+
| No
|  
+
| No
|  
+
| No
|
 
 
|}
 
|}
  
'''(Revise tables and join if its necessary)'''
+
[[Category:Work_in_progress]]
 
+
[[Category:Peripherals]]
'''Under construction'''
 

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