Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Mux instructions

3,998 bytes added, 19:30, 13 February 2013
Overview
= Overview =
Detailed instructions to configure This wiki page has more detailed information about muxon IGEPv2. See <br> Read general [[Mux configuration|this 'Mux configuration' page]] for more informationbefore use it.This article contains: <br>
= Feedback and Contributing =*How-to disable some external peripherals to avoid interferences *Some detailed examples.
At any point, if you see a mistake you can contribute to this How-To. = Disable Peripherals =
Some connectors share multiple 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 [[How to set up UART2 in J990|UART2 at j990]] disable Bluetooth. See schematics or [[Connectors Summary|connectors summary]] for more information.  = Disable Peripherals == BT/WIFI Combo === Bluetooth and WIFI can be disabled separately with reset pins: RESET_N_W (for WIFI) in pad 47 and RST_N_B (for Bluetooth) in pad 16:  *RESET_N_W/RST_N_B=0: Enabled reset *RESET_N_W/RST_N_B=1: Disabled reset Use GPIO to control it. See [[Frequently Asked Questions and Their Answers|FAQs]] to know which GPIO needs to be used.
{| cellspacing="1" cellpadding="1" border= BT/WIFI ="1" align="center" width="200"|-| [[Image:WIFI-BT Schematic.png|400x277px]]|}
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|FAQ]] Click to see with pins need to configure. More information about configure [[How to setup Marvell bluetooth|BT]] and [[How to setup Marvell 88w8686 SDIO wifi|WIFI]] enlarge image<br>
==== Bluetooth ====
 
There are two ways to disable Bluetooth. More information about [[How to setup Marvell bluetooth|Bluetooth]]
===== First way: =====
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 ====
 
There are two ways to disable WIFI. More information about [[How to setup Marvell 88w8686 SDIO wifi|WIFI]]
===== First way: =====
This mode has a issue, when your system reboot or shutdown you will need to configure again. Using user space to configure mux and disable WIFI.  NOTE: If you need bluetooth activate, configure it before disable WIFI. Follow [[How to setup Marvell bluetooth|this tutorial]].
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>
root@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. <br> Go to [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] and search next line: <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  {| cellspacing="1" cellpadding="1" border="1" align= "center" width="200"|-| [[Image:TPS-PCM-VSP.png|800x164px]]|} Click to enlarge image  '''Disable BT audio'''<br> ====
Default kernel&nbsp; has disabled TWL4030 PCM voice interface output pins to high impedance, otherwise this module forces the level of mcbsp3_fsx and mcbsp3_clkx pins. To make sure, go to [http://git.igep.es/?p=pub/scm/linux-omap-2.6.git;a=blob_plain;f=sound/soc/codecs/twl4030.c;hb=linux-2.6.35.y $(kernel path)/sound/soc/codecs/twl4030.c] file already read: <br>
<pre> 0x04, /* REG_VOICE_IF (0xF) */
</pre>
==== '''Enable BT audio'''<br> ====
<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, 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>
More information [[Connectors SummarySet hdq_sio to gpio170 (mode 4): <pre>echo 0x104 &gt; hdp_sio</pre> Revise that: <pre>root@localhost:/sys/kernel/debug/omap_mux#J990_connectorcat hdq_sio name: hdq_sio.gpio_170 (0x480021c6/0x196 = 0x0104), b j25, t NAmode: OMAP_PIN_INPUT | OMAP_MUX_MODE4signals: hdq_sio | sys_altclk | i2c2_sccbe | i2c3_sccbe | gpio_170 | NA | NA |here]].safe_moderoot@localhost:/sys/kernel/debug/omap_mux# <br/pre> Go to: /sys/class/gpio/
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);
=== GPIO in JC30 === return 0;}</pre> '''Compile kernel source code'''
Not all JC30 pins have GPIO, more information Use this [[Connectors Summary#JC30_connectorLinux Kernel 2.6.35.y|heretutorial]](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>
Use [[How to use GPIOs|this manual]] to configure = Edit mux via user space<br> =
=== GPIO in JA42 ===Here you can found some detailed examples to configure mux. You can add more.
Not all JA42 pins have GPIO, more information [[Connectors Summary#JA42_connector|here]]. Some pads are shared with TFP410<br> === UART1 in J960 ===
Use [[How ebuddies to use GPIOs|this manual]] configure UART1 in J960, go to configure mux via user spaceigep.<br> ini:
board.ei485=== GPIO in JA41 ===[yes, no] Format: &lt;string&gt; no: disable ei485, use UART1 as RS232, supported by igep0020 default: yes
Not all JA41 pins have GPIO, more More information about RS485 [[Connectors Summary#JA41_connectorJ940_connector|here]]and [http://en.wikipedia. Some pads are shared with TFP410 and TXS0102DCUR org/wiki/RS-485 here]
Use You can test new configuration using [[How to use GPIOsUARTs|this manualtutorial]] to configure mux via user space.<br>
=== GPIO UART3 in TP J960 ===
Some GPIOs avaliable in TPEdit igep.ini to disable serial debug, comment next lines:<brpre>; Setup the Kernel console params;console=ttyO2,115200n8;console=ttyS2,115200n8; Enable early printk;earlyprintk=serial,tty02,115200;earlyprintk=serial,ttyS2,115200 </pre>
{| cellspacing="1" cellpadding="1" border="1" width="200"|-| Default peripheral Poky linux starts an user terminal at UART3, You must disable it to avoid interferences. Comment next lines in /etc/inittab:
(mode=0) <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| GPIO this tutorial]]<br>
(mode=4) == GPIO in J990 ===
Reset [[Mux instructions#WIFI| TPWIFI]], [[Mux instructions#Bluetooth|-BT]] or [[Mux instructions#TP65950_PCM_VSP| gpmc_ncs1 TPS]] if you use some pad shared with this connector, more information [[Connectors Summary#J990_connector| 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|}here]].
NOTE: There are more Configure GPIO, but they are only an input (don't use [[Frequently Asked Questions and not an output) and others 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 the usage is strongly restricted]] in IGEP WIFI/BT versions. <br>
Use [[How to use GPIOs|this manual]] to configure mux via user space. <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