mfd: Add support for stmpe variant 610
STMPE610 is very much like STMPE811, except the number of gpio pins, which is 8 in 811 and 6 in 610. This patch adds support for variant 610. STMPE610 will share most of the code with STMPE811. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
		
					parent
					
						
							
								e789995d5c
							
						
					
				
			
			
				commit
				
					
						1cda2394e9
					
				
			
		
					 4 changed files with 21 additions and 2 deletions
				
			
		|  | @ -71,6 +71,7 @@ static int __devexit stmpe_i2c_remove(struct i2c_client *i2c) | |||
| } | ||||
| 
 | ||||
| static const struct i2c_device_id stmpe_i2c_id[] = { | ||||
| 	{ "stmpe610", STMPE610 }, | ||||
| 	{ "stmpe811", STMPE811 }, | ||||
| 	{ "stmpe1601", STMPE1601 }, | ||||
| 	{ "stmpe2401", STMPE2401 }, | ||||
|  |  | |||
|  | @ -109,6 +109,7 @@ static int __devexit stmpe_spi_remove(struct spi_device *spi) | |||
| } | ||||
| 
 | ||||
| static const struct spi_device_id stmpe_spi_id[] = { | ||||
| 	{ "stmpe610", STMPE610 }, | ||||
| 	{ "stmpe811", STMPE811 }, | ||||
| 	{ "stmpe1601", STMPE1601 }, | ||||
| 	{ "stmpe2401", STMPE2401 }, | ||||
|  |  | |||
|  | @ -321,7 +321,7 @@ static struct mfd_cell stmpe_keypad_cell = { | |||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  * Touchscreen (STMPE811) | ||||
|  * Touchscreen (STMPE811 or STMPE610) | ||||
|  */ | ||||
| 
 | ||||
| static struct resource stmpe_ts_resources[] = { | ||||
|  | @ -346,7 +346,7 @@ static struct mfd_cell stmpe_ts_cell = { | |||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  * STMPE811 | ||||
|  * STMPE811 or STMPE610 | ||||
|  */ | ||||
| 
 | ||||
| static const u8 stmpe811_regs[] = { | ||||
|  | @ -417,6 +417,21 @@ static struct stmpe_variant_info stmpe811 = { | |||
| 	.get_altfunc	= stmpe811_get_altfunc, | ||||
| }; | ||||
| 
 | ||||
| /* Similar to 811, except number of gpios */ | ||||
| static struct stmpe_variant_info stmpe610 = { | ||||
| 	.name		= "stmpe610", | ||||
| 	.id_val		= 0x0811, | ||||
| 	.id_mask	= 0xffff, | ||||
| 	.num_gpios	= 6, | ||||
| 	.af_bits	= 1, | ||||
| 	.regs		= stmpe811_regs, | ||||
| 	.blocks		= stmpe811_blocks, | ||||
| 	.num_blocks	= ARRAY_SIZE(stmpe811_blocks), | ||||
| 	.num_irqs	= STMPE811_NR_INTERNAL_IRQS, | ||||
| 	.enable		= stmpe811_enable, | ||||
| 	.get_altfunc	= stmpe811_get_altfunc, | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  * STMPE1601 | ||||
|  */ | ||||
|  | @ -651,6 +666,7 @@ static struct stmpe_variant_info stmpe2403 = { | |||
| }; | ||||
| 
 | ||||
| static struct stmpe_variant_info *stmpe_variant_info[] = { | ||||
| 	[STMPE610]	= &stmpe610, | ||||
| 	[STMPE811]	= &stmpe811, | ||||
| 	[STMPE1601]	= &stmpe1601, | ||||
| 	[STMPE2401]	= &stmpe2401, | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ enum stmpe_block { | |||
| }; | ||||
| 
 | ||||
| enum stmpe_partnum { | ||||
| 	STMPE610, | ||||
| 	STMPE811, | ||||
| 	STMPE1601, | ||||
| 	STMPE2401, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Viresh Kumar
				Viresh Kumar