Thread (4 messages) flat view 4 messages, 2 authors, 2011-08-28

understanding GPIO registers

From: vichy <hidden>
Date: 2011-08-28 06:59:10

hi:

2011/8/26 OrazioPirataDelloSpazio (Lorenzo) [off-list ref]:
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help