67 lines
		
	
	
	
		
			1.4 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
	
		
			1.4 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Copyright (C) 2012 Texas Instruments
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * License Terms: GNU General Public License v2
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Simple driver for Texas Instruments LM355x LED driver chip
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Author: G.Shark Jeong <gshark.jeong@gmail.com>
							 | 
						||
| 
								 | 
							
								 *         Daniel Jeong <daniel.jeong@ti.com>
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define LM355x_NAME "leds-lm355x"
							 | 
						||
| 
								 | 
							
								#define LM3554_NAME "leds-lm3554"
							 | 
						||
| 
								 | 
							
								#define LM3556_NAME "leds-lm3556"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* lm3554 : strobe def. on */
							 | 
						||
| 
								 | 
							
								enum lm355x_strobe {
							 | 
						||
| 
								 | 
							
									LM355x_PIN_STROBE_DISABLE = 0x00,
							 | 
						||
| 
								 | 
							
									LM355x_PIN_STROBE_ENABLE = 0x01,
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum lm355x_torch {
							 | 
						||
| 
								 | 
							
									LM355x_PIN_TORCH_DISABLE = 0,
							 | 
						||
| 
								 | 
							
									LM3554_PIN_TORCH_ENABLE = 0x80,
							 | 
						||
| 
								 | 
							
									LM3556_PIN_TORCH_ENABLE = 0x10,
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum lm355x_tx2 {
							 | 
						||
| 
								 | 
							
									LM355x_PIN_TX_DISABLE = 0,
							 | 
						||
| 
								 | 
							
									LM3554_PIN_TX_ENABLE = 0x20,
							 | 
						||
| 
								 | 
							
									LM3556_PIN_TX_ENABLE = 0x40,
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum lm355x_ntc {
							 | 
						||
| 
								 | 
							
									LM355x_PIN_NTC_DISABLE = 0,
							 | 
						||
| 
								 | 
							
									LM3554_PIN_NTC_ENABLE = 0x08,
							 | 
						||
| 
								 | 
							
									LM3556_PIN_NTC_ENABLE = 0x80,
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum lm355x_pmode {
							 | 
						||
| 
								 | 
							
									LM355x_PMODE_DISABLE = 0,
							 | 
						||
| 
								 | 
							
									LM355x_PMODE_ENABLE = 0x04,
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * struct lm3554_platform_data
							 | 
						||
| 
								 | 
							
								 * @pin_strobe: strobe input
							 | 
						||
| 
								 | 
							
								 * @pin_torch : input pin
							 | 
						||
| 
								 | 
							
								 *              lm3554-tx1/torch/gpio1
							 | 
						||
| 
								 | 
							
								 *              lm3556-torch
							 | 
						||
| 
								 | 
							
								 * @pin_tx2   : input pin
							 | 
						||
| 
								 | 
							
								 *              lm3554-envm/tx2/gpio2
							 | 
						||
| 
								 | 
							
								 *              lm3556-tx pin
							 | 
						||
| 
								 | 
							
								 * @ntc_pin  : output pin
							 | 
						||
| 
								 | 
							
								 *              lm3554-ledi/ntc
							 | 
						||
| 
								 | 
							
								 *              lm3556-temp pin
							 | 
						||
| 
								 | 
							
								 * @pass_mode : pass mode
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								struct lm355x_platform_data {
							 | 
						||
| 
								 | 
							
									enum lm355x_strobe pin_strobe;
							 | 
						||
| 
								 | 
							
									enum lm355x_torch pin_tx1;
							 | 
						||
| 
								 | 
							
									enum lm355x_tx2 pin_tx2;
							 | 
						||
| 
								 | 
							
									enum lm355x_ntc ntc_pin;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									enum lm355x_pmode pass_mode;
							 | 
						||
| 
								 | 
							
								};
							 |