Difference between revisions of "PandaBoard Button"
(→UserSpace Access) |
(→Adding New PushButtons) |
||
Line 5: | Line 5: | ||
== Adding New PushButtons == | == Adding New PushButtons == | ||
− | the gpio buttons are defined in the linux | + | the gpio buttons are defined in the linux kernel machine file. in this case for pandaboard it would be in arch/arm/mach-omap2/board-omap4panda.c file. each button requires that the gpio be defined, a name, and key scan code associated with it. in addition standard platform data and platform device have to be defined. |
<pre> | <pre> | ||
Line 11: | Line 11: | ||
[0] = { | [0] = { | ||
.code = 0x26, | .code = 0x26, | ||
− | .gpio = | + | .gpio = 39, |
.active_low = 0, | .active_low = 0, | ||
.desc = "PB0", | .desc = "PB0", | ||
Line 22: | Line 22: | ||
}; | }; | ||
− | static struct platform_device | + | static struct platform_device pandaboard_buttons = { |
.name = "gpio-keys", | .name = "gpio-keys", | ||
.id = 0, | .id = 0, | ||
Line 30: | Line 30: | ||
}; | }; | ||
</pre> | </pre> | ||
− | |||
− | |||
== PushButton Hardware == | == PushButton Hardware == |
Latest revision as of 11:42, 9 April 2012
UserSpace Access
the push button can be accessed via the sysfs interface as well as a shell script functionality. the sysfs entry for the push button can be found in the directory marked /sys/devices/platform/ . each button will be listed as gpio-keys follow by a number.
Adding New PushButtons
the gpio buttons are defined in the linux kernel machine file. in this case for pandaboard it would be in arch/arm/mach-omap2/board-omap4panda.c file. each button requires that the gpio be defined, a name, and key scan code associated with it. in addition standard platform data and platform device have to be defined.
static struct gpio_keys_button gpio_keys_buttons[] = { [0] = { .code = 0x26, .gpio = 39, .active_low = 0, .desc = "PB0", }, }; static struct gpio_keys_platform_data gpio_keys_data = { .buttons = gpio_keys_buttons, .nbuttons = ARRAY_SIZE(gpio_keys_buttons), }; static struct platform_device pandaboard_buttons = { .name = "gpio-keys", .id = 0, .dev = { .platform_data = &gpio_keys_data, }, };