hi: 2011/8/26 OrazioPirataDelloSpazio (Lorenzo) <ziducaixao@autistici.org>:
Hi there, I have a motherbord (VIA EPIA LT) with a digital I/O port composed by 4 GPI and 4 GPO (chip: SMSC SCH3114).
I want to provide voltage to GPO and read the input value of GPI with a software.
Using the generic gpio kernel module, I tried to export pins without success :
echo N > /sys/class/gpio/export write error : invalid argument
I tried for several values of N (from 1 to 1000 !) then I gave up thinking I would have needed some information from the hardware producer. Now I have got this information that is the following offsets and addresses.
How can I use these registers to fix the export problem or alternatively how to write a simple userspace C program to read and write these GPIO?
I read gpio.txt but I'm still confused on how to pass from GPIO numbers to registers.
Thanks
Lorenzo
#define sGPIOBaseAddr 0A00 #define GPI1_CTRL_REG 0x6E #define GPI2_CTRL_REG 0x6F #define GPI3_CTRL_REG 0x72 #define GPI4_CTRL_REG 0x73 #define GPO1_CTRL_REG 0x2C #define GPO2_CTRL_REG 0x2D #define GPO3_CTRL_REG 0x35 #define GPO4_CTRL_REG 0x36
does the base address of gpio in kernel you use is the same or you have modified for your board? BR