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[] = { | static const struct i2c_device_id stmpe_i2c_id[] = { | ||||||
|  | 	{ "stmpe610", STMPE610 }, | ||||||
| 	{ "stmpe811", STMPE811 }, | 	{ "stmpe811", STMPE811 }, | ||||||
| 	{ "stmpe1601", STMPE1601 }, | 	{ "stmpe1601", STMPE1601 }, | ||||||
| 	{ "stmpe2401", STMPE2401 }, | 	{ "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[] = { | static const struct spi_device_id stmpe_spi_id[] = { | ||||||
|  | 	{ "stmpe610", STMPE610 }, | ||||||
| 	{ "stmpe811", STMPE811 }, | 	{ "stmpe811", STMPE811 }, | ||||||
| 	{ "stmpe1601", STMPE1601 }, | 	{ "stmpe1601", STMPE1601 }, | ||||||
| 	{ "stmpe2401", STMPE2401 }, | 	{ "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[] = { | 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[] = { | static const u8 stmpe811_regs[] = { | ||||||
|  | @ -417,6 +417,21 @@ static struct stmpe_variant_info stmpe811 = { | ||||||
| 	.get_altfunc	= stmpe811_get_altfunc, | 	.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 |  * STMPE1601 | ||||||
|  */ |  */ | ||||||
|  | @ -651,6 +666,7 @@ static struct stmpe_variant_info stmpe2403 = { | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static struct stmpe_variant_info *stmpe_variant_info[] = { | static struct stmpe_variant_info *stmpe_variant_info[] = { | ||||||
|  | 	[STMPE610]	= &stmpe610, | ||||||
| 	[STMPE811]	= &stmpe811, | 	[STMPE811]	= &stmpe811, | ||||||
| 	[STMPE1601]	= &stmpe1601, | 	[STMPE1601]	= &stmpe1601, | ||||||
| 	[STMPE2401]	= &stmpe2401, | 	[STMPE2401]	= &stmpe2401, | ||||||
|  |  | ||||||
|  | @ -20,6 +20,7 @@ enum stmpe_block { | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| enum stmpe_partnum { | enum stmpe_partnum { | ||||||
|  | 	STMPE610, | ||||||
| 	STMPE811, | 	STMPE811, | ||||||
| 	STMPE1601, | 	STMPE1601, | ||||||
| 	STMPE2401, | 	STMPE2401, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Viresh Kumar
				Viresh Kumar