mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 18:53:24 +00:00 
			
		
		
		
	 6048a3dd23
			
		
	
	
		6048a3dd23
		
	
	
	
	
		
			
			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>
		
			
				
	
	
		
			25 lines
		
	
	
		
			578 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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 */
 | |
| 
 |