Difference between revisions of "Talk:GPIO Driver"
From ArmadeusWiki
(New page: ==Installation== You have to: * reflash your rootfs or copy these modules on your target in ''/lib/modules/2.6.18.1/extra/gpio'' (don't forget modules.dep file), * copy loadgpio.sh script ...) |
|||
Line 1: | Line 1: | ||
+ | ==Compilation== | ||
+ | The first thing you have to do is to compile the driver. The only way to do that for the moment is to compile it as a module: | ||
+ | <pre class="host"> | ||
+ | [host]$ cd armadeus/ | ||
+ | [host]$ make linux26-menuconfig | ||
+ | </pre> | ||
+ | Then go in menu: | ||
+ | <pre class="config"> | ||
+ | Device Drivers | ||
+ | --> Armadeus specific drivers | ||
+ | <M> Armadeus GPIO driver | ||
+ | <M> Armadeus Parallel Port driver | ||
+ | </pre> | ||
+ | |||
+ | {{Note|The parallel port driver will only work on [[APF9328]] based systems !}} | ||
+ | |||
+ | Exit and save your kernel configuration, then compile it: | ||
+ | <pre class="host"> | ||
+ | [host]$ make linux26 | ||
+ | </pre> | ||
+ | |||
+ | When compiled, you will obtain 2 modules in ''armadeus/target/linux/modules/gpio/'': | ||
+ | * gpio.ko: this is the main driver. It should be loaded first and will allow you to easily control gpio pin from user space, | ||
+ | * ppdev.ko: this is an extension driver to add PPDEV emulation to gpio.ko. This way you will be able to emulate a standard parallel port on one GPIO port (to connect a textual LCD, for example). | ||
+ | |||
==Installation== | ==Installation== | ||
You have to: | You have to: |
Revision as of 14:58, 12 May 2009
Compilation
The first thing you have to do is to compile the driver. The only way to do that for the moment is to compile it as a module:
[host]$ cd armadeus/ [host]$ make linux26-menuconfig
Then go in menu:
Device Drivers --> Armadeus specific drivers <M> Armadeus GPIO driver <M> Armadeus Parallel Port driver
Note: The parallel port driver will only work on APF9328 based systems ! |
Exit and save your kernel configuration, then compile it:
[host]$ make linux26
When compiled, you will obtain 2 modules in armadeus/target/linux/modules/gpio/:
- gpio.ko: this is the main driver. It should be loaded first and will allow you to easily control gpio pin from user space,
- ppdev.ko: this is an extension driver to add PPDEV emulation to gpio.ko. This way you will be able to emulate a standard parallel port on one GPIO port (to connect a textual LCD, for example).
Installation
You have to:
- reflash your rootfs or copy these modules on your target in /lib/modules/2.6.18.1/extra/gpio (don't forget modules.dep file),
- copy loadgpio.sh script on your rootfs in /etc/
After that you can launch:
# sh /etc/loadgpio.sh
or look inside this script if you want to manually enter the module parameters:
# modprobe gpio portB_init=0,0,0x00FFFF00,0,0,0,0,0,0x0FF00000,0,0,0,0,0,0,0x0FF00000
gpio module parameters are values for PORTA, PORTB, PORTC, PORTD configuration registers in following order:
DDIR, OCR1, OCR2, ICONFA1, ICONFA2, ICONFB1, ICONFB2, DR, GIUS, SSR, ICR1, ICR2, IMR, GPR, SWR, PUEN,
If you don't know what these registers means, load the module without parameters !!