Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Mux instructions

4,137 bytes removed, 19:30, 13 February 2013
Overview
= Notes Overview =
This wiki page has more detailed information about mux on IGEPv2. <br> Read general [[Mux configuration|this 'Mux configuration' page]] before use this wikiit.This article contains: <br>
= Overview =*How-to disable some external peripherals to avoid interferences This wiki explained more *Some detailed how-to configure mux<br>examples.
= Disable Peripherals =
'''Compile kernel source code'''
Use this [[Linux Kernel 2.6.35.y|tutorial]] (Kernel) and this [http://labs.igep.es/index.php/The_IGEP_X-loader other] (IGEPxloader) to install Linaro Headless (or Poky) with your custom kernel in SD card.&nbsp; You can compile the IGEPxloader, but is not necessary.<br>
==== WIFI ====
'''Compile kernel source code'''
Use this [[Linux Kernel 2.6.35.y|tutorial]] (Kernel) and this [http://labs.igep.es/index.php/The_IGEP_X-loader other] (IGEPxloader) to install Linaro Headless (or Poky) with your custom kernel in SD card.&nbsp; You can compile the IGEPxloader, but is not necessary.<br>
=== TP65950 PCM VSP ===
=== TFP410 ===
This external peripheral converts DVI signal to HDMI. To use some JA41/JA42 pads for other purpose is necessary disable it. GPIO_170 control TFP410 Power down(PD pad).
Power down (active low). In the powerdown state, only the digital I/O buffers and I2C interface remain active. A high level selects the normal operating mode. A low level selects the powerdown mode.<br>
It was tested using alternate peripherals like UARTs and GPIOs. Caution, in powerdown mode, pads aren't in safe mode (high impedance).
{| cellspacing="1" cellpadding="1" border="1" align="center" width="200"
Configure kernel sources. Configuration will be permanent. There are many ways to edit source code, this method is focused for igep0020 RC without igep0022 support. <br> Go to [http://git.igep.es/?p=pub/scm/linux-omap-2.6.git;a=blob_plain;f=arch/arm/mach-omap2/board-igep0020.c;hb=db3cb47adf10504d3847d54927de50b2fa94c008 $(kernel path)/arch/arm/mach-omap2/board-igep0020.c] and search next line: <br>
<pre> #ifdef CONFIG_OMAP_MUXstatic struct omap_board_mux board_mux[] __initdata = { /* SMSC9221 LAN Controller */ OMAP3_MUXinline void igep0020_display_init(MCSPI1_CS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUTvoid), /* Display Sub System */ OMAP3_MUXstatic int igep0020_enable_dvi(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(HDQ_SIO, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), /struct omap_dss_device * McBSP 2 */ OMAP3_MUX(MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUTdssdev), OMAP3_MUX(MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),{ OMAP3_MUXgpio_direction_output(MCBSP2_DRGPIO_DVI_PUP, OMAP_MUX_MODE0 | OMAP_PIN_INPUT1), OMAP3_MUX(MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),; /* Serial ports */ OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),return 0; OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), OMAP3_MUX(UART2_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(UART2_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), { .reg_offset = OMAP_MUX_TERMINATOR },};
</pre>
"static struct omap_board_mux board_mux[] __initdataint igep0020_enable_dvi"initialize DVI. Edit the following fieldsto disable it: <pre>#ifdef CONFIG_OMAP_MUXstatic int igep0020_enable_dvi(struct omap_board_mux board_mux[] __initdata = { /* SMSC9221 LAN Controller omap_dss_device */ OMAP3_MUX(MCSPI1_CS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUTdssdev), /* Display Sub System */ OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT),{ OMAP3_MUXgpio_direction_output(DSS_HSYNCGPIO_DVI_PUP, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT0), OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT), OMAP3_MUX(HDQ_SIO, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), /* McBSP 2 */ OMAP3_MUX(MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), OMAP3_MUX(MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), OMAP3_MUX(MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), OMAP3_MUX(MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), /* Serial ports */ OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), OMAP3_MUX(UART2_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP3_MUX(UART2_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), { .reg_offset = OMAP_MUX_TERMINATOR },};</pre> When dss_* are configured in safe mode, GPIO170 are configured in low value
return 0;
}
</pre>
'''Compile kernel source code'''
Use this [[Linux Kernel 2.6.35.y|tutorial]] (Kernel) and this [http://labs.igep.es/index.php/The_IGEP_X-loader other] (IGEPxloader) to install Linaro Headless (or Poky) with your custom kernel in SD card.&nbsp; You can compile the IGEPxloader, but is not necessary.<br> '''Under construction'''
= Edit mux =
 
Here you can found some detailed examples to configure mux. You can add more.
=== UART1 in J960 ===
=== UART3 in J960 ===
Edit igep.ini to disable serial debug, comment next linelines:
<pre>; Setup the Kernel console params
;console=ttyO2,115200n8;console=ttyS2,115200n8 ; Enable early printk;earlyprintk=serial,tty02,115200;earlyprintk=serial,ttyS2,115200 </pre>  Poky linux starts an user terminal at UART3, You must disable it to avoid interferences. Comment next lines in /etc/inittab: <pre># Normally not reached, but fallthrough in case of emergency.#z6:6:respawn:/sbin/sulogin#S:2345:respawn:/sbin/getty 115200 ttyO2# /sbin/getty invocations for the runlevels.</pre>  
You can test new configuration using [[How to use UARTs|this tutorial]]<br>
Edit&nbsp; [http://git.igep.es/?p=pub/scm/linux-omap-2.6.git;a=blob_plain;f=arch/arm/mach-omap2/board-igep00x0.c;hb=e620ef8e577d73681f16ab80471332286c1b9fd5 $(kernel path)/arch/arm/mach-omap2/board-igep00x0.c]&nbsp; or [http://git.igep.es/?p=pub/scm/linux-omap-2.6.git;a=blob_plain;f=arch/arm/mach-omap2/board-igep0020.c;hb=refs/heads/linux-2.6.35.y $(kernel path)/arch/arm/mach-omap2/board-igep0020.c] to configure GPIO via Kernel source, example [[How to set up UART2 in J990#Third_way|here]].<br>
'''Under construction'''  [[Category:CommunicationsPeripherals]]
0
edits