i.MX31: Make SPI more tolerant by resetting and forcing a reconfigure of the interfac...
[maemo-rb.git] / firmware / target / arm / imx31 / gigabeat-s / gpio-gigabeat-s.c
blob446932b308d2904f29be23ef528dd28971f51e18
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (c) 2008 by Michael Sevakis
12 * Gigabeat S GPIO interrupt event descriptions
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 * KIND, either express or implied.
22 ****************************************************************************/
23 #include "config.h"
24 #include "system.h"
25 #include "gpio-imx31.h"
27 /* Gigabeat S definitions for static GPIO event registration */
29 /* Describes single events for each GPIO1 pin */
30 static const struct gpio_event gpio1_events[] =
32 /* mc13783 keeps the PRIINT high (no low pulse) if other unmasked
33 * interrupts become active when clearing them or if a source being
34 * cleared becomes active at that time. Edge-detection will not get
35 * a rising edge in that case so use high-level sense. */
36 [MC13783_EVENT_ID-GPIO1_EVENT_FIRST] =
38 .mask = 1 << MC13783_GPIO_LINE,
39 .sense = GPIO_SENSE_HIGH_LEVEL,
40 .callback = mc13783_event,
44 /* Describes the events attached to GPIO1 port */
45 const struct gpio_event_list gpio1_event_list =
47 .ints_priority = 7,
48 .count = ARRAYLEN(gpio1_events),
49 .events = gpio1_events,