diff options
Diffstat (limited to 'include/linux/mfd/pcf50606/gpo.h')
-rw-r--r-- | include/linux/mfd/pcf50606/gpo.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/linux/mfd/pcf50606/gpo.h b/include/linux/mfd/pcf50606/gpo.h new file mode 100644 index 00000000000..081b127d754 --- /dev/null +++ b/include/linux/mfd/pcf50606/gpo.h @@ -0,0 +1,42 @@ +/* + * gpo.h -- GPO driver for NXP PCF50606 + * + * (C) 2006-2008 by Openmoko, Inc. + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#ifndef __LINUX_MFD_PCF50606_GPO_H +#define __LINUX_MFD_PCF50606_GPO_H + +#include <linux/mfd/pcf50633/core.h> + +#define PCF50606_REG_GPOC1 0x38 +#define PCF50606_REG_GPOC2 0x39 +#define PCF50606_REG_GPOC3 0x3a +#define PCF50606_REG_GPOC4 0x3b +#define PCF50606_REG_GPOC5 0x3c + +#define PCF50606_GPO1 PCF50606_REG_GPOC1 +#define PCF50606_GPO2 PCF50606_REG_GPOC1 +#define PCF50606_GPOOD1 PCF50606_REG_GPOC2 +#define PCF50606_GPOOD2 PCF50606_REG_GPOC3 +#define PCF50606_GPOOD3 PCF50606_REG_GPOC4 +#define PCF50606_GPOOD4 PCF50606_REG_GPOC5 + +#define PCF50606_GPOCFG_GPOSEL_MASK 0x07 + +void pcf50606_gpo_set_active(struct pcf50606 *pcf, int gpo, int value); +int pcf50606_gpo_get_active(struct pcf50606 *pcf, int gpo); +void pcf50606_gpo_set_standby(struct pcf50606 *pcf, int gpo, int value); +int pcf50606_gpo_get_standby(struct pcf50606 *pcf, int gpo); + +void pcf50606_gpo_invert_set(struct pcf50606 *, int gpo, int invert); +int pcf50606_gpo_invert_get(struct pcf50606 *pcf, int gpo); + +#endif /* __LINUX_MFD_PCF50606_GPIO_H */ + |