]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/mach-u300/padmux.h
Merge remote-tracking branch 'leds/for-mm'
[karo-tx-linux.git] / arch / arm / mach-u300 / padmux.h
1 /*
2  *
3  * arch/arm/mach-u300/padmux.h
4  *
5  *
6  * Copyright (C) 2009 ST-Ericsson AB
7  * License terms: GNU General Public License (GPL) version 2
8  * U300 PADMUX API
9  * Author: Martin Persson <martin.persson@stericsson.com>
10  */
11
12 #ifndef __MACH_U300_PADMUX_H
13 #define __MACH_U300_PADMUX_H
14
15 enum pmx_settings {
16         U300_APP_PMX_MMC_SETTING,
17         U300_APP_PMX_SPI_SETTING
18 };
19
20 struct pmx_onmask {
21         u16 mask;               /* Mask bits */
22         u16 val;                /* Value when active */
23 };
24
25 struct pmx {
26         struct device *dev;
27         enum pmx_settings setting;
28         char *name;
29         bool activated;
30         bool default_on;
31         struct pmx_onmask onmask[];
32 };
33
34 struct pmx *pmx_get(struct device *dev, enum pmx_settings setting);
35 int pmx_put(struct device *dev, struct pmx *pmx);
36 int pmx_activate(struct device *dev, struct pmx *pmx);
37 int pmx_deactivate(struct device *dev, struct pmx *pmx);
38
39 #endif