Difference between revisions of "Driver for i.MX GPIO controlled keypads"

From ArmadeusWiki
Jump to: navigation, search
(creation)
 
(Introduction)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== PAGE UNDER CONSTRUCTION !!! ==
+
{{Under Construction}}
[[Image:Construction.png]]
+
  
 
==Introduction==
 
==Introduction==
This driver is intented to control matrix keypads connected to i.MX GPIOs
+
This driver is intended to control matrix keypads connected to i.MXL GPIOs (on [[APF9328]]). For [[APF27]] please use the i.MX27 internal keypad controller.
 +
 
 +
The default keypad driver configuration supports 16 keys connected to the i.MXL CSI bus. The current development state of the driver is unfinished and not fully generic but you can easily extend the driver to support keypads up to 36 keys using the whole CSI bus.
  
 
==Installation==
 
==Installation==
 
If not already done in standard Armadeus rootfs:
 
If not already done in standard Armadeus rootfs:
 +
<pre class="host">
 
  $ make linux-menuconfig
 
  $ make linux-menuconfig
 +
</pre>
 +
<pre class="config">
 
  Device Drivers  ---> Input device support  ---> [*]  Keyboards  ---> <*>  AT keyboard
 
  Device Drivers  ---> Input device support  ---> [*]  Keyboards  ---> <*>  AT keyboard
then
 
 
  Device Drivers  ---> Armadeus specific drivers  ---> <M>  Armadeus Keypad driver
 
  Device Drivers  ---> Armadeus specific drivers  ---> <M>  Armadeus Keypad driver
 +
</pre>
  
 +
==Usage==
 
Reflash rootfs then:
 
Reflash rootfs then:
 +
<pre class="apf">
 
  # modprobe imxkeypad
 
  # modprobe imxkeypad
 
  Initializing Armadeus keypad driver
 
  Initializing Armadeus keypad driver
 
  input: imxkeypad as /class/input/input0
 
  input: imxkeypad as /class/input/input0
 
+
</pre>
==Test==
+
* If you have a graphical LCD connected to your board (= virtual terminal), then you should see what you type.
+
* If you don't have any virtual terminal, but only the serial console:
+
# cat /sys/class/input/input0/event0/dev
+
13:64
+
If corresponding device node in /dev/input/ is not existing, then:
+
# mkdir -p /dev/input
+
# mknod /dev/input/event0 c 13 64
+
 
+
# cat /dev/input/event0
+
Then you should see weirds characters when pressing keyboard keys:
+
�,~~_�,}�}�3T,QToT6,TT�,�;��, � �
+
 
+
==Usage==
+

Latest revision as of 22:07, 4 December 2009

Page under construction... Construction.png Informations on this page are not guaranteed !!

Introduction

This driver is intended to control matrix keypads connected to i.MXL GPIOs (on APF9328). For APF27 please use the i.MX27 internal keypad controller.

The default keypad driver configuration supports 16 keys connected to the i.MXL CSI bus. The current development state of the driver is unfinished and not fully generic but you can easily extend the driver to support keypads up to 36 keys using the whole CSI bus.

Installation

If not already done in standard Armadeus rootfs:

 $ make linux-menuconfig
 Device Drivers  ---> Input device support  ---> [*]   Keyboards  ---> <*>   AT keyboard
 Device Drivers  ---> Armadeus specific drivers  ---> <M>   Armadeus Keypad driver

Usage

Reflash rootfs then:

 # modprobe imxkeypad
 Initializing Armadeus keypad driver
 input: imxkeypad as /class/input/input0