Commit | Line | Data |
---|---|---|
bd41b99d LW |
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 | |
df1e0520 | 9 | * Author: Martin Persson <martin.persson@stericsson.com> |
bd41b99d LW |
10 | */ |
11 | ||
12 | #ifndef __MACH_U300_PADMUX_H | |
13 | #define __MACH_U300_PADMUX_H | |
14 | ||
df1e0520 LW |
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); | |
bd41b99d LW |
38 | |
39 | #endif |