mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 09:02:00 +00:00
[ARM] pxa: add support for CSB701 baseboard
CSB701 is one of baseboards that can be used with CSB726 SOM. This currently adds support for button and LED on the board. More to come later. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
This commit is contained in:
parent
aac429707d
commit
3b31fabfe2
@ -401,6 +401,10 @@ config MACH_CSB726
|
||||
Say Y here if you intend to run this kernel on a Cogent
|
||||
CSB726 System On Module.
|
||||
|
||||
config CSB726_CSB701
|
||||
bool "Enable supprot for CSB701 baseboard"
|
||||
depends on MACH_CSB726
|
||||
|
||||
config PXA_EZX
|
||||
bool "Motorola EZX Platform"
|
||||
select PXA27x
|
||||
|
@ -76,6 +76,7 @@ obj-$(CONFIG_PXA_EZX) += ezx.o
|
||||
|
||||
obj-$(CONFIG_MACH_INTELMOTE2) += imote2.o
|
||||
obj-$(CONFIG_MACH_CSB726) += csb726.o
|
||||
obj-$(CONFIG_CSB726_CSB701) += csb701.o
|
||||
|
||||
# Support for blinky lights
|
||||
led-y := leds.o
|
||||
|
61
arch/arm/mach-pxa/csb701.c
Normal file
61
arch/arm/mach-pxa/csb701.c
Normal file
@ -0,0 +1,61 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/gpio_keys.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/leds.h>
|
||||
|
||||
static struct gpio_keys_button csb701_buttons[] = {
|
||||
{
|
||||
.code = 0x7,
|
||||
.gpio = 1,
|
||||
.active_low = 1,
|
||||
.desc = "SW2",
|
||||
.type = EV_SW,
|
||||
.wakeup = 1,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpio_keys_platform_data csb701_gpio_keys_data = {
|
||||
.buttons = csb701_buttons,
|
||||
.nbuttons = ARRAY_SIZE(csb701_buttons),
|
||||
};
|
||||
|
||||
static struct gpio_led csb701_leds[] = {
|
||||
{
|
||||
.name = "csb701:yellow:heartbeat",
|
||||
.default_trigger = "heartbeat",
|
||||
.gpio = 11,
|
||||
.active_low = 1,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device csb701_gpio_keys = {
|
||||
.name = "gpio-keys",
|
||||
.id = -1,
|
||||
.dev.platform_data = &csb701_gpio_keys_data,
|
||||
};
|
||||
|
||||
static struct gpio_led_platform_data csb701_leds_gpio_data = {
|
||||
.leds = csb701_leds,
|
||||
.num_leds = ARRAY_SIZE(csb701_leds),
|
||||
};
|
||||
|
||||
static struct platform_device csb701_leds_gpio = {
|
||||
.name = "leds-gpio",
|
||||
.id = -1,
|
||||
.dev.platform_data = &csb701_leds_gpio_data,
|
||||
};
|
||||
|
||||
static struct platform_device *devices[] __initdata = {
|
||||
&csb701_gpio_keys,
|
||||
&csb701_leds_gpio,
|
||||
};
|
||||
|
||||
static int __init csb701_init(void)
|
||||
{
|
||||
return platform_add_devices(devices, ARRAY_SIZE(devices));
|
||||
}
|
||||
|
||||
module_init(csb701_init);
|
||||
|
Loading…
Reference in New Issue
Block a user