Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Mux instructions

25 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 =
*RESET_N_W/RST_N_B=1: Disabled reset
Use GPIO to control it. See [[Frequently Asked Questions and Their Answers#Is_it_possible_to_config_the_wireless_LAN_and_bluetooth_so_they_are_completely_off.2C_and_not_consuming_any_power_at_all.3F|FAQs]] to know which GPIO needs to be used.
{| cellspacing="1" cellpadding="1" border="1" align="center" width="200"
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>
'''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 ====
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>
'''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<br> ===
This module is used to transfer audio via Bluetooth
<pre> 0x00, /* REG_VOICE_IF (0xF) */
</pre> <br>
= Edit mux == TFP410 ===
=== UART1 in J990 ===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).
Use ebuddies to configure UART1 in J990Power down (active low). In the powerdown state, go to igeponly 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.ini: <br>
boardIt was tested using alternate peripherals like UARTs and GPIOs.ei485= [yesCaution, no] Format: &lt;string&gt; no: disable ei485in powerdown mode, use UART1 as RS232, supported by igep0020 default: yespads aren't in safe mode (high impedance).
More information about RS485 {| cellspacing="1" cellpadding="1" border="1" align="center" width="200"|-| [[Connectors Summary#J940_connectorImage:Tfp410 IGEPv2.png|here713x462px]] and [http://en.wikipedia.org/wiki/RS-485 here] |}
You can test new configuration using [[How to use UARTs|this tutorial]]<br>
=== GPIO in J990 == First way: =====
Reset [[Mux instructions#WIFI|WIFI]]This mode has a issue, [[Mux instructions#Bluetooth|BT]] when your system reboot or [[Mux instructions#TP65950_PCM_VSP|TPS]] if shutdown you use some pad shared with this connector, more information [[Connectors Summary#J990_connector|here]]will need to configure again. Using user space to configure mux and powerdown TFP410.
Configure GPIO, don't use [[Frequently Asked Questions and Their Answers#Is_it_possible_to_config_the_wireless_LAN_and_bluetooth_so_they_are_completely_off.2C_and_not_consuming_any_power_at_all.3F|these GPIO]] in IGEP WIFI/BT versionsLogging with root user via SSH or Serial cable.<br>
Use [[How NOTE: Poky distribution does not have debug filesystem enabled. Mount it: <pre>mount -t debugfs none /sys/kernel/debug</pre> Go to use GPIOs|this manual]] to configure mux via user space/sys/kernel/debug/omap_mux/<br>
EditSet hdq_sio to gpio170 (mode 4): <pre>echo 0x104 &nbspgt; [httphdp_sio</pre> Revise that: <pre>root@localhost:/sys/git.igep.eskernel/?p=pubdebug/scm/linux-omap-2omap_mux# cat hdq_sio name: hdq_sio.6.git;a=blob_plain;f=arch/armgpio_170 (0x480021c6/mach-omap2/board-igep00x0.c;hb0x196 =e620ef8e577d73681f16ab80471332286c1b9fd5 $(kernel path0x0104)/arch/arm/mach-omap2/board-igep00x0.c]&nbsp; or [http, 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/git.igep.eskernel/?p=pubdebug/scmomap_mux# </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)pre> Go to: /archsys/armclass/mach-omap2gpio/board-igep0020.c] to configure GPIO via Kernel source, example [[How to set up UART2 in J990#Third_way|here]].<br>
Check that gpio170 is in user space: <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/gpio/gpio170/value 0root@localhost:/sys/class/gpio# </pre> === GPIO in JTAG == Second way&nbsp;: =====
Not all JTAG pins have GPIOConfigure kernel sources. Configuration will be permanent. There are many ways to edit source code, more information this method is focused for igep0020 RC without igep0022 support. <br> Go to [[Connectors Summary#J400_connector|herehttp://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> static inline void igep0020_display_init(void)static int igep0020_enable_dvi(struct omap_dss_device *dssdev){ gpio_direction_output(GPIO_DVI_PUP, 1);
Use [[How to use GPIOs|this manual]] return 0;}</pre> "static int igep0020_enable_dvi" initialize DVI. Edit to configure mux via user spacedisable it: <brpre> static int igep0020_enable_dvi(struct omap_dss_device *dssdev){ gpio_direction_output(GPIO_DVI_PUP, 0);
Edit&nbsp return 0; [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 $(pre> '''Compile 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]]. code'''
=== GPIO 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 JC30 ===SD card.&nbsp; You can compile the IGEPxloader, but is not necessary.<br>
Not all JC30 pins have GPIO, more information [[Connectors Summary#JC30_connector|here]].<br> = Edit mux =
Use [[How to use GPIOs|this manual]] Here you can found some detailed examples to configure mux via user space<br> . You can add more.
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;aUART1 in J960 =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]].
=== GPIO Use ebuddies to configure UART1 in JA42 ===J960, go to igep.ini:
Not all JA42 pins have GPIO board.ei485= [yes, more information [[Connectors Summary#JA42_connector|hereno]]. Some pads are shared with TFP410<br> Format: &lt;string&gt; no: disable ei485, use UART1 as RS232, supported by igep0020 default: yes
Use More information about RS485 [[How to use GPIOsConnectors Summary#J940_connector|this manualhere]] to configure mux via user spaceand [http://en.<br> wikipedia.org/wiki/RS-485 here]
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 You can test new configuration using [[How to set up UART2 in J990#Third_wayuse UARTs|herethis tutorial]]. <br>
=== GPIO UART3 in JA41 J960 ===
Not all JA41 pins have GPIOEdit igep.ini to disable serial debug, comment next lines: <pre>; Setup the Kernel console params;console=ttyO2,115200n8;console=ttyS2,115200n8; Enable early printk;earlyprintk=serial,tty02,115200;earlyprintk=serial,ttyS2, more information [[Connectors Summary#JA41_connector|here]]. Some pads are shared with TFP410 and TXS0102DCUR 115200 </pre>
Use [[How Poky linux starts an user terminal at UART3, You must disable it to use GPIOs|this manual]] to configure mux via user spaceavoid interferences.<br> Comment next lines in /etc/inittab:
Edit&nbsp; [http<pre># Normally not reached, but fallthrough in case of emergency.#z6://git.igep.es/?p=pub/scm/linux-omap-2.6.git;a=blob_plain;f=arch:respawn:/armsbin/mach-omap2/board-igep00x0.c;hb=e620ef8e577d73681f16ab80471332286c1b9fd5 $(kernel path)/arch/arm/mach-omap2/board-igep00x0.c]&nbsp; or [httpsulogin#S:2345:respawn:/sbin/git.igep.esgetty 115200 ttyO2# /?p=pubsbin/scm/linux-omap-2getty invocations for the runlevels.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]]. pre>
=== GPIO in TP ===You can test new configuration using [[How to use UARTs|this tutorial]]<br>
Some GPIOs avaliable === GPIO in TP:<br> J990 ===
{Reset [[Mux instructions#WIFI| cellspacing="1" cellpadding="1" border="1" width="200"WIFI]], [[Mux instructions#Bluetooth|-BT]] or [[Mux instructions#TP65950_PCM_VSP| Default peripheral TPS]] if you use some pad shared with this connector, more information [[Connectors Summary#J990_connector|here]].
(mode=0) Configure GPIO, don't use [[Frequently Asked Questions and Their Answers#Is_it_possible_to_config_the_wireless_LAN_and_bluetooth_so_they_are_completely_off.2C_and_not_consuming_any_power_at_all.3F|these GPIO]] in IGEP WIFI/BT versions.<br>
| GPIO  (mode=4)  | TP|-| gpmc_ncs1 | gpio_52 | TP303|-| gpmc_ncs2 | gpio_53 | TP304|-| gpmc_ncs3 | gpio_54 | TP305|-| gpmc_ncs4 | gpio_55 | TP306|-| gpmc_ncs6 | gpio_57 | TP307|-| gpmc_ncs7 | gpio_58 | TP318|-| gpmc_clk | gpio_59 | TP308|-| gpmc_nwp | gpio_62 | TP312|-| gpmc_wait1 | gpio_63 | TP313|-| gpmc_wait3 | gpio_65 | TP315|-| mmc1_dat6 | gpio_128 | TP902|-| etk_d11 | gpio_25 | TP405|} NOTE: There are more GPIO, but they are only an input (and not an output) and others GPIO the usage is strongly restricted.  Use [[How to use GPIOs|this manual]] to configure mux via user space.  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''' 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>
[[Category:How_to_forge]] [[Category:TutorialsPeripherals]]
0
edits