Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Mux configuration

4,212 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 Omap 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 shared with a Omap peripheral that can be controlled via software. Its function is connect other peripherals you should disable it (high impedance)to some available Omap pins.
- 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:
The next tables show you all the mux capabilities:  === J990 connector === {| width="200" cellspacing="1" cellpadding="1" border="1" align="center"
|-
| Pad[[Image: Mux register.png]]| Connect to: | Default peripheral (mode=0)'''(3)''' | Default function: | Other available peripherals: | 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) <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>
GPIO_139(mode=4) The functional bits of a pad configuration register field are divided into the following five fields:
| <div align="JUSTIFY"><font size="2">'''Wlan:MUXMODE''' This pad can reset Wlan peripheral using Omap GPIO low level (GND3 bits)defines the multiplexing mode applied to the pin. If you reset continuously Wlan all their pads are in High Impedance. Also you can disable Wlan from J990 low level.</font></div> <div align="JUSTIFY"><font size="2">'''Omap: '''<span style="font-weight: normal">protect Omap pad if you don'tuse it.</span>'''A mode corresponds to the selection of the functionality mapped on the pin with six (1)'''</font></div>|-| 0 to 5 | MMC2_DAT6 | MMC2_DAT6 | Power down&nbsp; Wlan | MMC2_DIR_CMD(mode=1) possible functional modes for each pin.
MMC3_DAT2• '''PULL''' (mode=32 bits) for combinational pullup/pulldown configuration:
GPIO_138(mode=4) -&gt; PULLTYPESELECT: Pullup/pulldown selection for the pin.
| <div align="JUSTIFY"><font size="2">'''Wlan-&gt; PULLUDENABLE:''' 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.</font><Pullup/div> <div align="JUSTIFY"><font size="2">'''Omap: '''<span style="font-weight: normal">protect Omap pad if you don'tuse itpulldown enable for the pin.</span>'''(1)'''</font></div>|-| 7 | MMC2_DAT5 | MMC2_DAT5 | Reset Bluethoot | MMC2_DIR_DAT1(mode=1)
MMC3_DAT1• '''INPUTENABLE''' (mode=31 bit) drives an input enable signal to the I/O CTRL.
GPIO_137(mode=4)  | <div align="JUSTIFY"><font size="2">'''Bluethoot: Off mode values'''<span style="font-weight: normal">This pad can reset Bluethoot peripheral using Omap GPIO low level (GND5 bits)override the pin state when the OFFENABLE bit CONTROL. This feature is used for power saving management. If you reset continuouslyBluethoot all their pads are Pins in High Impedanceoff mode can be configured like output with HIGH or LOW value or input with wake-up detection feature. Also you For input pins, OFFOUTENABLE and OFFOUTVALUE bits can disable Bluethoot from J990 low level.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 0 to 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):
-&gt;WAKEUPENABLE: Enable wake-up detection on input. It is also the off mode input enable value.
-&gt;WAKEUPEVENT: Wake-up event status for the pin.'''<br>'''
{| cellspacing="1" cellpadding="1" border="1" align="center" width="200"
|-
|
[[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.
<font size="2">'''Omap: Mode 1 to mode 6'''<span style="font-weight: normal">protect Omap pad if you don'tuse itare 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.</span>'''(1)'''</font>&lt;font size="2"&lt;/font&gt;<br> </span></font></div>|-| 9 | MMC2_DAT4 | MMC2_DAT4 | - | MMC_DIR_DAT0(mode=1)
MMC3_DAT0'''The safe mode (default mode=37) '''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>
GPIO136(mode=4) == Pull Selection ===
| <div align="JUSTIFY"><font size="2">'''Wlan: '''<span style="font-weight: normal">Protect Wlan if you don' useitThe next table shows all capabilities. See MMC2_DAT7 pad.</span></font></div> <div align="JUSTIFY"><font size="2">'''Omap: '''<span style="font-weight: normal">protect Omap pad if you don'tuse it.</span>'''(1)'''</font></div>|-| 11 | MMC2_DAT3 | MMC2_DAT3 | Transfer data between Omap and Wlan | McSPI3_CS0(mode=1)
GPIO_135(mode=4)  {| <div aligncellspacing="JUSTIFY1"><div aligncellpadding="JUSTIFY1"><font sizeborder="21">'''Wlan: '''<span style="font-weight: normal">Protect Wlan if you don' useit. See MMC2_DAT7 pad.</span></font></div> <div align="JUSTIFY"><font size="2">'''Omapwidth: '''<span style="font-weight696px; height: normal">protect Omap pad if you don'tuse it.</span>'''(1)'''</font></div><font size="21px;"></font></div>
|-
| 13 PULLTYPESELECT | MMC2_DAT2 PULLUDENABLE | MMC2_DAT2 | Transfer data between Omap and Wlan | McSPI3_CS1(mode=1)<br>  GPIO_134(mode=4)  | <div align="JUSTIFY"><font size="2">'''Wlan: '''<span style="font-weight: normal">Protect Wlan if you don' useit. See MMC2_DAT7 pad.</span></font></div> <div align="JUSTIFY"><font size="2">'''Omap: '''<span style="font-weight: normal">protect Omap pad if you don'tuse it.</span>'''(1)'''</font></div>Pin Behavior
|-
| 15 0b0 | MMC2_DAT1 0b0 | MMC2_DAT1 | Transfer data between Omap and Wlan | &nbsp;GPIO_133(mode=4) | <div align="JUSTIFY"><font size="2">'''Wlan: '''<span style="font-weight: normal">Protect Wlan if you don' useit. See MMC2_DAT7 pad.</span></font></div> <div align="JUSTIFY"><font size="2">'''Omap: '''<span style="fontPull-weight: normal">protect Omap pad if you don'tuse it.</span>'''(1)'''</font></div>down selected but not activated
|-
| 17 0b0 | MMC2_DAT0 0b1 | MMC2_DAT0 | Transfer data between Omap Pull-down selected and Wlan | McSPI3_SOMI(mode=1)  GPIO_132(mode=4)  | <div align="JUSTIFY"><font size="2">'''Wlan: '''<span style="font-weight: normal">Protect Wlan if you don' useit. See MMC2_DAT7 pad.</span></font></div> <div align="JUSTIFY"><font size="2">'''Omap: '''<span style="font-weight: normal">protect Omap pad activated if you don'tuse it.</span>'''(1)'''</font></div>pin is NOT configured as OUTPUT
|-
| 19 0b1 | MMC2_CMD 0b0 | MMC2_CMD | Control Wire for bus MMC2 (Wlan) | McSPI3_SIMO(mode=1)  GPIO_131(mode=4)  | <div align="JUSTIFY"><font size="2">'''Wlan: '''<span style="font-weight: normal">Protect Wlan if you don' useit. See MMC2_DAT7 pad.</span></font></div> <div align="JUSTIFY"><font size="2">'''Omap: '''<span style="fontPull-weight: normal">protect Omap pad if you don'tuse it.</span>'''(1)'''</font></div>up selected but not activated
|-
| 21 0b1 | MMC2_CLK0 0b1 | MMC2_CLK Pull-up selected and activated if pin is NOT configured as OUTPUT| Clock for MMC2 (Wlan) | McSPI3_CLK(mode=1) }
GPIO_130(When a pin is in output mode=4) , pulls are automatically disable.
| <div align="JUSTIFY"><font size="2">'''Wlan: '''<span style="font-weight: normal">Protect Wlan if you don' useit. See MMC2_DAT7 pad.</span></font></div> <div alignInput Enable ="JUSTIFY"><font size="2">'''Omap: '''<span style="font-weight: normal">protect Omap pad if you don't
use itINPUTENABLE = 0: Input Disable. Pin is configured in output only mode.'''(1)'''&lt;/font&lt;/div&gt;
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;"|-| </span></font></divbr>| [[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]])
|-
| 4 [[Peripherals Summary#UART| MCBSP3_DX UART2]] | MCBSP3_DX Yes, not default configuration ([[How to set up UART2 in J990| Transmitted serial Data (Bluethoot audiodisable Bluetooth]])
|
UART2_CTS(mode=1) No, [[How to use UARTs#RS232_Schematic_Igep_V2|via hardware]],
GPIO_140(mode=4) [[Mux instructions#Bluetooth|disable Bluetooth]]
| <div align="JUSTIFY"><font size="2">'''TPS65950:''' No | No | No | No | No|-| [[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 it via kernel '''(2DVI]]) '''<span style="font|-weight: normal">Ifyou don't use it.</span></font></div>| [[Peripherals Summary#UART|UART4]] | No | No | No | No | No | No | No
|-
| 6 [[Peripherals Summary#GPIO| MCBSP3_CLKX | MCBSP3_CLKX | Transmitted serial Clock (Bluethoot audio) GPIO]]
|
UART2_TXYes, default configuration (mode=1[[Mux instructions#GPIO_in_J990|info]])
GPIO_142| No | No | Yes, not default configuration (mode=4[[Mux instructions#GPIO_in_J990|disable JTAG]]) | Yes, default configuration | <div align="JUSTIFY"><font size="2">'''Bluethoot: '''<span style="font-weight: normal">Protect Bluethoot if you don'Yes, default configuration use it. See MMC2_DAT5 pad.</span></font></div> <div align="JUSTIFY"><br> </div> <div align="JUSTIFY"><font size="2">'''TPS65950:''' | Yes, not default configuration ([[Mux_instructions#TFP410|disable it via kernel '''(2DVI]]) '''<span style="font|-weight: normal">Ifyou don't use it.</span></font></div>| [[Peripherals Summary#SPI|McSPI1]] | No | No | No | No | No | Yes, default configuration | No|-| [[Peripherals Summary#SPI|McSPI2]] | No | No | No | No | No | No | No
|-
| 8 [[Peripherals Summary#SPI| MCBSP3_FSX | MCBSP3_FSX | Transmited Frame Syncronisation (Bluethoot audio) McSPI3]]
|
UART2_RXYes, not default configuration (mode=1[[Mux instructions#WIFI|disable WIFI]])
GPIO_143| No | No | No | No | No | Yes, not default configuration ([[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 | No | No|-| [[Peripherals Summary#BSP|McBSP3]] | Yes, default configuration (mode=4[[Mux instructions#TP65950_PCM_VSP|Bluetooth audio]]) | No | No | No | No | No | No| <div align="JUSTIFY"><font size="2">'''Bluethoot: '''<span style="font-weight: normal">Protect Bluethoot if you don'use it. See MMC2_DAT5 pad.</span></font></div> <div align="JUSTIFY"><br> </div> <div align="JUSTIFY"><font size="2">'''TPS65950:''' | [[Peripherals Summary#BSP|McBSP4]] | No | No | No | No | No | Yes, not default configuration ([[Mux instructions#GPIO_in_J990|disable it via kernel '''GPIOs]]) | No|-| [[Peripherals Summary#BSP|McBSP5]] | No | No | No | No | No | No | No|-| [[Peripherals Summary#MMC|MMC1]] | No | No | No | No | No | No | No|-| [[Peripherals Summary#MMC|MMC2]] | Yes, default configuration (2[[Mux instructions#WIFI|WIFI]]) '''<span style="font| No | No | No | No | No | No|-| [[Peripherals Summary#MMC|MMC3]] | No | No | No | No | No | No | No|-| [[Peripherals Summary#I2C|I2C1]] | No | No | No | No | No | No | No|-| [[Peripherals Summary#I2C|I2C2]] | Yes, default configuration | No | No | No | No, [[Connectors Summary#JC30_connector|via hardware]] | No | No|-weight: normal">Ifyou don't use it.</span></font></div>| [[Peripherals Summary#I2C|I2C3]] | No | No | No | No | No | No | Yes, default configuration (DVI)
|-
| 10 [[Peripherals Summary#I2C|I2C4]] | No | No | No | MCBSP3_DR No | MCBSP3_DR No | Received Serial Data (Bluethoot audio) No | NoUART2_RTS(mode=1) |}
GPIO_141(mode=4) == IGEP MODULE ===
| <div align="JUSTIFY">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. <font size="2"br>'''TPS65950:''' disable it via kernel '''(2) '''<span style="font-weight: normal">Ifyou There are some connectors than have more peripherals available, but they don't have all signals to use it.</spanbr></font></div>|-| 12 | MCBSP1_DX | MCBSP1_DX | Transmited serial Data (not used) | McSPI4_SIMO(mode=1) Table shows four answers:&nbsp;
McBSP3_DX*"'''Yes, default configuration(mode=2utility) '''": 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'''"
GPIO_158(mode{| cellspacing="1" cellpadding="1" border="1" style=4) "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
|-
| 14 | MCBSP1_CLKX [[Peripherals Summary#BSP| MCBSP1_CLKX McBSP2]] | Transmited serial clock (not used) No | McBSP3_CLKX(mode=2)<br>  GPIO_162(mode=4) No | -<br>No
|-
| 16 [[Peripherals Summary#BSP| MCBSP1_FSX McBSP3]] | MCBSP1_FSX | Transmited Frame Syncronization Yes, not default configuration (not useddisable UART2) | McSPI4_CS0(mode=1)  McBSP3_FSX(mode=2)  GPIO_161(mode=4) No | -<br>No
|-
| 18 [[Peripherals Summary#BSP| MCBSP1_DR McBSP4]] | MCBSP1_DR No | Received Serial Data (Yes, not used) | McSPI4_SOMIdefault configuration (mode=1disable GPMCs)  McBSP3_DR(mode=2)  GPIO_159(mode=4)  | -<br>No
|-
| 20 [[Peripherals Summary#BSP| MCBSP1_CLKR McBSP5]] | MCBSP1_CLKR No | Received Clock (Yes, not used) | GPIO_156default configuration (mode=4disable GPIOs)<br>  | -<br>No
|-
| 22 [[Peripherals Summary#MMC| MCBSP1_FSR MMC1]] | MCBSP1_FSR No | Received frame syncronization (not used) | GPIO_157(mode=4)<br> No | -<br>No
|-
| 23 [[Peripherals Summary#MMC| I2C2_SDA MMC2]] | I2C2_SDA No | I2C Data | GPIO_183(mode=4)<br> No | <div align="JUSTIFY"><font size="2">'''Cam connector:''' Check and RC14 is not welded or don't use it.<br></font></div>No
|-
| 24 [[Peripherals Summary#MMC| I2C2_SCL MMC3]] | I2C2_SCL No | I2C Clock No | GPIO_168Yes, not default configuration (mode=4disable GPIOs)<br>  | <font size="2">'''Cam connector:''' Check and RC13 is not welded or don't use it.</font>
|-
| 25 | REGEN [[Peripherals Summary#I2C| - I2C1]] | <br> No | - No | -<br>No
|-
| 26 | nRESET [[Peripherals Summary#I2C| - I2C2]] | Read Reset Omap No | - No | -<br>No
|-
| 27 | GND [[Peripherals Summary#I2C| - I2C3]] | GND Yes, default configuration (J5) | - No | -<br>Yes, default configuration (J1)
|-
| 28 | GND [[Peripherals Summary#I2C| - I2C4]] | GND No | - No | -<br>No
|}
'''(1)[[Category:''' To protect Omap pads from esternal signals configure Mux in mode=7 (safe_mode). With this mode, buffer is configured in high impedance Work_in_progress]] '''(2):''' Disable <font size="2">TPS65950</font> go to file sound/soc/codecs/twl4030.c change line 54 Code: <pre>0x00, /* REG_VOICE_IF (0xF) */</pre> to Code[[Category: <pre>0x04, /* REG_VOICE_IF (0xF) */</pre> '''(3):''' Omap mux have 8 modes, somes modes are disable in some pads.  Under constructionPeripherals]]