Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b31fabf authored by Dmitry Eremin-Solenikov's avatar Dmitry Eremin-Solenikov Committed by Eric Miao
Browse files

[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: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: default avatarEric Miao <eric.miao@marvell.com>
parent aac42970
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -401,6 +401,10 @@ config MACH_CSB726
	  Say Y here if you intend to run this kernel on a Cogent
	  Say Y here if you intend to run this kernel on a Cogent
	  CSB726 System On Module.
	  CSB726 System On Module.


config CSB726_CSB701
	bool "Enable supprot for CSB701 baseboard"
	depends on MACH_CSB726

config PXA_EZX
config PXA_EZX
	bool "Motorola EZX Platform"
	bool "Motorola EZX Platform"
	select PXA27x
	select PXA27x
+1 −0
Original line number Original line Diff line number Diff line
@@ -76,6 +76,7 @@ obj-$(CONFIG_PXA_EZX) += ezx.o


obj-$(CONFIG_MACH_INTELMOTE2)   += imote2.o
obj-$(CONFIG_MACH_INTELMOTE2)   += imote2.o
obj-$(CONFIG_MACH_CSB726)	+= csb726.o
obj-$(CONFIG_MACH_CSB726)	+= csb726.o
obj-$(CONFIG_CSB726_CSB701)	+= csb701.o


# Support for blinky lights
# Support for blinky lights
led-y := leds.o
led-y := leds.o
+61 −0
Original line number Original line Diff line number Diff line
#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);