understanding GPIO registers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux