Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Mux instructions

2,920 bytes added, 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"
|}
Click <br>  ===== First way: ===== This mode has a issue, when your system reboot or shutdown you will need to enlarge image configure again. Using user space to configure mux and powerdown TFP410.  Logging with root user via SSH or Serial cable.<br>  NOTE: Poky distribution does not have debug filesystem enabled. Mount it: <pre>mount -t debugfs none /sys/kernel/debug</pre> Go to /sys/kernel/debug/omap_mux/<br>
===== Set hdq_sio to gpio170 (mode 4): <span class="editsection"pre>[[[index.php?title=Mux_instructions&action=editecho 0x104 &section=9|edit]]]gt; hdp_sio</spanpre> Revise that: <span classpre>root@localhost:/sys/kernel/debug/omap_mux# cat hdq_sio name: hdq_sio.gpio_170 (0x480021c6/0x196 ="mw-headline"> First way0x0104), b j25, t NAmode: OMAP_PIN_INPUT | OMAP_MUX_MODE4signals: hdq_sio | sys_altclk | i2c2_sccbe | i2c3_sccbe | gpio_170 | NA | NA | safe_moderoot@localhost: /sys/kernel/debug/omap_mux# </spanpre> =====Go to: /sys/class/gpio/
Check that gpio170 is in user space: <span pre>root@localhost:/sys/class/gpio# lsexport gpio137 gpio138 gpio139 gpio170 gpio64 gpiochip0 gpiochip128 gpiochip160 gpiochip192 gpiochip32 gpiochip64 gpiochip96 unexportroot@localhost:/sys/class/gpio# </pre> If you don't have it, you should export gpio170: <br> <pre>echo 170 &gt; /sys/class/gpio/export </pre> Set gpio170 to low value to disable TFP410: <pre>echo 0 &gt; /sys/class/gpio/gpio170/value</pre> Revise that: <pre>root@localhost:/sys/class/gpio# cat /sys/class="mw-headline" /gpio/gpio170/value 0root@localhost:/sys/class/gpio# </pre>===== Second way&nbsp;: =====
===== 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. <span class="editsection"br>Go to [[[indexhttp://git.igep.phpes/?titlep=Mux_instructions&actionpub/scm/linux-omap-2.6.git;a=edit&sectionblob_plain;f=9|edit]]]<arch/arm/mach-omap2/span> <span classboard-igep0020.c;hb="mwdb3cb47adf10504d3847d54927de50b2fa94c008 $(kernel path)/arch/arm/mach-omap2/board-headline"igep0020.c] and search next line: <br>Second way: </spanpre> =====static inline void igep0020_display_init(void)static int igep0020_enable_dvi(struct omap_dss_device *dssdev){ gpio_direction_output(GPIO_DVI_PUP, 1);
return 0;
}
</pre>
"static int igep0020_enable_dvi" initialize DVI. Edit to disable it:
<pre>static int igep0020_enable_dvi(struct omap_dss_device *dssdev)
{
gpio_direction_output(GPIO_DVI_PUP, 0);
return 0;
}
</pre>
'''Compile kernel source code'''
'''Under construction'''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>
= 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