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

understanding GPIO registers

From: OrazioPirataDelloSpazio Lorenzo <hidden>
Date: 2011-08-25 18:50:19

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help