android_kernel_xiaomi_sm8350/include/linux/htcpld.h
Cory Maccarrone 6048a3dd23 mfd: Add HTCPLD driver
This change introduces a driver for the HTC PLD chip found
on some smartphones, such as the HTC Wizard and HTC Herald.
It works through the I2C bus and acts as a GPIO extender.
Specifically:

 * it can have several sub-devices, each with its own I2C
   address
 * Each sub-device provides 8 output and 8 input pins
 * The chip attaches to one GPIO to signal when any of the
   input GPIOs change -- at which point all chips must be
   scanned for changes

This driver implements the GPIOs throught the kernel's
GPIO and IRQ framework.  This allows any GPIO-servicing
drivers to operate on htcpld pins, such as the gpio-keys
and gpio-leds drivers.

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2010-03-07 22:17:09 +01:00

25 lines
578 B
C

#ifndef __LINUX_HTCPLD_H
#define __LINUX_HTCPLD_H
struct htcpld_chip_platform_data {
unsigned int addr;
unsigned int reset;
unsigned int num_gpios;
unsigned int gpio_out_base;
unsigned int gpio_in_base;
unsigned int irq_base;
unsigned int num_irqs;
};
struct htcpld_core_platform_data {
unsigned int int_reset_gpio_hi;
unsigned int int_reset_gpio_lo;
unsigned int i2c_adapter_id;
struct htcpld_chip_platform_data *chip;
unsigned int num_chip;
};
#endif /* __LINUX_HTCPLD_H */