|
@@ -20,6 +20,7 @@
|
|
#include <linux/init.h>
|
|
#include <linux/init.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/io.h>
|
|
#include <linux/io.h>
|
|
|
|
+#include <linux/leds.h>
|
|
#include <linux/gpio.h>
|
|
#include <linux/gpio.h>
|
|
#include <linux/usb/otg.h>
|
|
#include <linux/usb/otg.h>
|
|
#include <linux/i2c/twl.h>
|
|
#include <linux/i2c/twl.h>
|
|
@@ -40,6 +41,36 @@
|
|
#include "hsmmc.h"
|
|
#include "hsmmc.h"
|
|
|
|
|
|
|
|
|
|
|
|
+static struct gpio_led gpio_leds[] = {
|
|
|
|
+ {
|
|
|
|
+ .name = "pandaboard::status1",
|
|
|
|
+ .default_trigger = "heartbeat",
|
|
|
|
+ .gpio = 7,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "pandaboard::status2",
|
|
|
|
+ .default_trigger = "mmc0",
|
|
|
|
+ .gpio = 8,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct gpio_led_platform_data gpio_led_info = {
|
|
|
|
+ .leds = gpio_leds,
|
|
|
|
+ .num_leds = ARRAY_SIZE(gpio_leds),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device leds_gpio = {
|
|
|
|
+ .name = "leds-gpio",
|
|
|
|
+ .id = -1,
|
|
|
|
+ .dev = {
|
|
|
|
+ .platform_data = &gpio_led_info,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device *panda_devices[] __initdata = {
|
|
|
|
+ &leds_gpio,
|
|
|
|
+};
|
|
|
|
+
|
|
static void __init omap4_panda_init_irq(void)
|
|
static void __init omap4_panda_init_irq(void)
|
|
{
|
|
{
|
|
omap2_init_common_hw(NULL, NULL);
|
|
omap2_init_common_hw(NULL, NULL);
|
|
@@ -277,6 +308,7 @@ static void __init omap4_panda_init(void)
|
|
int status;
|
|
int status;
|
|
|
|
|
|
omap4_panda_i2c_init();
|
|
omap4_panda_i2c_init();
|
|
|
|
+ platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
|
|
omap_serial_init();
|
|
omap_serial_init();
|
|
omap4_twl6030_hsmmc_init(mmc);
|
|
omap4_twl6030_hsmmc_init(mmc);
|
|
/* OMAP4 Panda uses internal transceiver so register nop transceiver */
|
|
/* OMAP4 Panda uses internal transceiver so register nop transceiver */
|