mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
b98d13c725
This driver is a general version for LM355x,lm3554 and lm3556,led chips of TI. LM3554 : The LM3554 is a 2 MHz fixed-frequency synchronous boost converter with 1.2A dual high side led drivers. Datasheet: www.ti.com/lit/ds/symlink/lm3554.pdf LM3556 : The LM3556 is a 4 MHz fixed-frequency synchronous boost converter plus 1.5A constant current driver for a high-current white LED. Datasheet: www.national.com/ds/LM/LM3556.pdf (bryan.wu@canonical.com: use flush_work() to replace flush_work_sync() which is deprecated) Signed-off-by: G.Shark Jeong <gshark.jeong@gmail.com> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
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;
|
|
};
|