summaryrefslogtreecommitdiff
path: root/board/fruitpie/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/fruitpie/board.c')
-rw-r--r--board/fruitpie/board.c43
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);