++static struct gpio_led iconnect_led_pins[] = {
++ {
++ .name = "iconnect:blue:power",
++ .default_trigger = "default-on",
++ .gpio = 42,
++ },
++ {
++ .name = "iconnect:red:power",
++ .gpio = 43,
++ },
++ {
++ .name = "iconnect:blue:usb1",
++ .gpio = 44,
++ },
++ {
++ .name = "iconnect:blue:usb2",
++ .gpio = 45,
++ },
++ {
++ .name = "iconnect:blue:usb3",
++ .gpio = 46,
++ },
++ {
++ .name = "iconnect:blue:usb4",
++ .gpio = 47,
++ },
++ {
++ .name = "iconnect:blue:otb",
++ .gpio = 48,
++ },
++};
++
++static struct gpio_led_platform_data iconnect_led_data = {
++ .leds = iconnect_led_pins,
++ .num_leds = ARRAY_SIZE(iconnect_led_pins),
++};
++
++static struct platform_device iconnect_leds = {
++ .name = "leds-gpio",
++ .id = -1,
++ .dev = {
++ .platform_data = &iconnect_led_data,
++ }
++};
++
++#define ICONNECT_GPIO_KEY_RESET 12
++#define ICONNECT_GPIO_KEY_OTB 35
++
++#define ICONNECT_SW_RESET 0x00
++#define ICONNECT_SW_OTB 0x01
++
++static struct gpio_keys_button iconnect_buttons[] = {
++ {
++ .type = EV_SW,
++ .code = ICONNECT_SW_RESET,
++ .gpio = ICONNECT_GPIO_KEY_RESET,
++ .desc = "Reset Button",
++ .active_low = 1,
++ .debounce_interval = 100,
++ },
++ {
++ .type = EV_SW,
++ .code = ICONNECT_SW_OTB,
++ .gpio = ICONNECT_GPIO_KEY_OTB,
++ .desc = "OTB Button",
++ .active_low = 1,
++ .debounce_interval = 100,
++ },
++};
++
++static struct gpio_keys_platform_data iconnect_button_data = {
++ .buttons = iconnect_buttons,
++ .nbuttons = ARRAY_SIZE(iconnect_buttons),
++};
++
++static struct platform_device iconnect_button_device = {
++ .name = "gpio-keys",
++ .id = -1,
++ .num_resources = 0,
++ .dev = {
++ .platform_data = &iconnect_button_data,
++ },
++};
++