diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2018-11-28 16:57:23 +0300 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2018-12-05 01:37:38 +0300 |
commit | bebdf98a786292501e4f7d596ffe61faaf3a3aca (patch) | |
tree | f65dbd50a6707f012a2f5e5652451273dc2ac421 /drivers/pcmcia/max1600.h | |
parent | d66a2fb8d7b0a103f5d6884ff9db895959bf0924 (diff) | |
download | linux-bebdf98a786292501e4f7d596ffe61faaf3a3aca.tar.xz |
pcmcia: add MAX1600 library
Add a library for the MAX1600 PCMCIA power switch device. This is a
dual-channel device, controlled via four GPIO signals per channel.
Two signals control the Vcc output, and two control the Vpp output.
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'drivers/pcmcia/max1600.h')
-rw-r--r-- | drivers/pcmcia/max1600.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/pcmcia/max1600.h b/drivers/pcmcia/max1600.h new file mode 100644 index 000000000000..00bf1a09464f --- /dev/null +++ b/drivers/pcmcia/max1600.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef MAX1600_H +#define MAX1600_H + +struct gpio_desc; + +enum { + MAX1600_GPIO_0VCC = 0, + MAX1600_GPIO_1VCC, + MAX1600_GPIO_0VPP, + MAX1600_GPIO_1VPP, + MAX1600_GPIO_MAX, + + MAX1600_CHAN_A, + MAX1600_CHAN_B, + + MAX1600_CODE_LOW, + MAX1600_CODE_HIGH, +}; + +struct max1600 { + struct gpio_desc *gpio[MAX1600_GPIO_MAX]; + struct device *dev; + unsigned int code; +}; + +int max1600_init(struct device *dev, struct max1600 **ptr, + unsigned int channel, unsigned int code); + +int max1600_configure(struct max1600 *, unsigned int vcc, unsigned int vpp); + +#endif |