Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

User:Pau pajuelo

2,774 bytes removed, 18:11, 14 September 2012
m
How to use GPIOs (update it)
== Feedback and Contributing ==
At any point, if you see a mistake you can contribute to this How-To.<br>  == Install binaries via IGEP<br> == == Testing driver == To make sure than driver works well, make the next test. I used GPIO_136(sdmmc2_dat4) and GPIO_137(sdmmc2_dat5) because IGEP v2 RC5(without WIFI) don't use them by default: <br>  '''NOTE:''' For more information visit this [[Mux configuration|page]] (under construction). <br>  === Configure Mux === Go to:/sys/kernel/debug/omap_mux, and change this mux configuration: <pre>echo 0x104&gt;sdmmc2_dat4echo 0x104&gt;sdmmc2_dat5</pre> Use cat command to check it:<br> <pre>cat sdmmc2_dat4cat sdmmc2_dat5</pre> The result will be similar at that: <pre>root@localhost:/sys/kernel/debug/omap_mux# cat sdmmc2_dat4name: sdmmc2_dat4.gpio_136 (0x48002164/0x134 = 0x0104), b ae4, t NAmode: OMAP_PIN_INPUT | OMAP_MUX_MODE4signals: sdmmc2_dat4 | sdmmc2_dir_dat0 | NA | sdmmc3_dat0 | gpio_136 | NA | NA | safe_mode</pre> and <pre>root@localhost:/sys/kernel/debug/omap_mux# cat sdmmc2_dat5name: sdmmc2_dat5.gpio_137 (0x48002166/0x136 = 0x0104), b ah3, t NAmode: OMAP_PIN_INPUT | OMAP_MUX_MODE4signals: sdmmc2_dat5 | sdmmc2_dir_dat1 | cam_global_reset | sdmmc3_dat1 | gpio_137 | hsusb3_tll_stp | mm3_rxdp | safe_mode</pre> Note: OMAP_PIN_INPUT=Input/Output pin and OMAP_PIN_OUTPUT=Output pin, for Read/Write test you need the first one. GPIO is configured in mode 4.<br>  === Read/Write test === Link GPIO_136 and GPIO_137 with a wire, these pins are located in J990 connector with numbers 7 and 9. I use the next connector to join them:<br>  {| align="center" cellspacing="1" cellpadding="1" border="1" width="200"|-| [[Image:Connector used readwrite test.JPG|center|350x230px]] | [[Image:All connected readwrite test.JPG|center|350x230px]]  |} <br>  Now type next code: <pre>root@localhost:~/gpio-driver/app# ./gpio input 136root@localhost:~/gpio-driver/app# ./gpio output 137 0root@localhost:~/gpio-driver/app# ./gpio get 136 0root@localhost:~/gpio-driver/app# ./gpio output 137 1root@localhost:~/gpio-driver/app# ./gpio get 136 1root@localhost:~/gpio-driver/app# </pre> The results (CMOS Voltages: 0V-1V8):  {| align="center" cellspacing="1" cellpadding="1" border="1" width="200"|-| [[Image:GPIO value0 readwrite test.JPG|center|350x230px]] | [[Image:GPIO value1 readwrite test.JPG|center|350x230px]]  |} <br> The code above shows that driver works properly, GPIO_136 is configured like input and GPIO_137 is configured like output with value 0, when read GPIO_136 the result is 0. To make sure that works well, configure GPIO_137 with value 1, now GPIO_136 reads 1. <br> This driver have more options like IRQ, but is not explained here. [[Category:USB]] [[Category:How_to_forge]] [[Category:GPIO]] [[Category:UART]] [[Category:IGEP_Technology_Devices_Guides]]
4,199
edits