diff options
Diffstat (limited to 'board/fruitpie/board.c')
-rw-r--r-- | board/fruitpie/board.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/board/fruitpie/board.c b/board/fruitpie/board.c new file mode 100644 index 0000000000..bc933206b9 --- /dev/null +++ b/board/fruitpie/board.c @@ -0,0 +1,43 @@ +/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +/* Fruitpie board configuration */ + +#include "common.h" +#include "gpio.h" +#include "hooks.h" +#include "registers.h" +#include "task.h" +#include "util.h" + +void button_event(enum gpio_signal signal) +{ +} + +/* GPIO signal list. Must match order from enum gpio_signal. */ +const struct gpio_info gpio_list[] = { + /* Inputs with interrupt handlers are first for efficiency */ + {"USER_BUTTON", GPIO_A, (1<<0), GPIO_INT_BOTH, button_event}, + /* Outputs */ + {"LED_BLUE", GPIO_B, (1<<6), GPIO_OUT_LOW, NULL}, + {"LED_GREEN", GPIO_B, (1<<7), GPIO_OUT_LOW, NULL}, + + /* Unimplemented signals which we need to emulate for now */ + GPIO_SIGNAL_NOT_IMPLEMENTED("ENTERING_RW"), + GPIO_SIGNAL_NOT_IMPLEMENTED("WP_L"), +}; +BUILD_ASSERT(ARRAY_SIZE(gpio_list) == GPIO_COUNT); + +/* Initialize board. */ +static void board_init(void) +{ + gpio_enable_interrupt(GPIO_USER_BUTTON); +} +DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); + +/* Pins with alternate functions */ +const struct gpio_alt_func gpio_alt_funcs[] = { + {GPIO_A, 0xC000, 1, MODULE_UART}, /* USART2: PA14/PA15 */ +}; +const int gpio_alt_funcs_count = ARRAY_SIZE(gpio_alt_funcs); |