 ad8dc96e3b
			
		
	
	
	ad8dc96e3b
	
	
	
		
			
			Add a GPIO 1-wire bus master driver. The driver used the GPIO API to control the wire and the GPIO pin can be specified using platform data similar to i2c-gpio. The driver was tested with AT91SAM9260 + DS2401. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			698 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			698 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| Kernel driver w1-gpio
 | |
| =====================
 | |
| 
 | |
| Author: Ville Syrjala <syrjala@sci.fi>
 | |
| 
 | |
| 
 | |
| Description
 | |
| -----------
 | |
| 
 | |
| GPIO 1-wire bus master driver. The driver uses the GPIO API to control the
 | |
| wire and the GPIO pin can be specified using platform data.
 | |
| 
 | |
| 
 | |
| Example (mach-at91)
 | |
| -------------------
 | |
| 
 | |
| #include <linux/w1-gpio.h>
 | |
| 
 | |
| static struct w1_gpio_platform_data foo_w1_gpio_pdata = {
 | |
| 	.pin		= AT91_PIN_PB20,
 | |
| 	.is_open_drain	= 1,
 | |
| };
 | |
| 
 | |
| static struct platform_device foo_w1_device = {
 | |
| 	.name			= "w1-gpio",
 | |
| 	.id			= -1,
 | |
| 	.dev.platform_data	= &foo_w1_gpio_pdata,
 | |
| };
 | |
| 
 | |
| ...
 | |
| 	at91_set_GPIO_periph(foo_w1_gpio_pdata.pin, 1);
 | |
| 	at91_set_multi_drive(foo_w1_gpio_pdata.pin, 1);
 | |
| 	platform_device_register(&foo_w1_device);
 |