| /* |
| * |
| * arch/arm/mach-u300/padmux.h |
| * |
| * |
| * Copyright (C) 2009 ST-Ericsson AB |
| * License terms: GNU General Public License (GPL) version 2 |
| * U300 PADMUX API |
| * Author: Martin Persson <martin.persson@stericsson.com> |
| */ |
| |
| #ifndef __MACH_U300_PADMUX_H |
| #define __MACH_U300_PADMUX_H |
| |
| enum pmx_settings { |
| U300_APP_PMX_MMC_SETTING, |
| U300_APP_PMX_SPI_SETTING |
| }; |
| |
| struct pmx_onmask { |
| u16 mask; /* Mask bits */ |
| u16 val; /* Value when active */ |
| }; |
| |
| struct pmx { |
| struct device *dev; |
| enum pmx_settings setting; |
| char *name; |
| bool activated; |
| bool default_on; |
| struct pmx_onmask onmask[]; |
| }; |
| |
| struct pmx *pmx_get(struct device *dev, enum pmx_settings setting); |
| int pmx_put(struct device *dev, struct pmx *pmx); |
| int pmx_activate(struct device *dev, struct pmx *pmx); |
| int pmx_deactivate(struct device *dev, struct pmx *pmx); |
| |
| #endif |