| /* |
| * Simple driver for Texas Instruments LM3630A LED Flash driver chip |
| * Copyright (C) 2012 Texas Instruments |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| */ |
| |
| #ifndef __LINUX_LM3630A_H |
| #define __LINUX_LM3630A_H |
| |
| #define LM3630A_NAME "lm3630a_bl" |
| |
| enum lm3630a_pwm_ctrl { |
| LM3630A_PWM_DISABLE = 0x00, |
| LM3630A_PWM_BANK_A, |
| LM3630A_PWM_BANK_B, |
| LM3630A_PWM_BANK_ALL, |
| LM3630A_PWM_BANK_A_ACT_LOW = 0x05, |
| LM3630A_PWM_BANK_B_ACT_LOW, |
| LM3630A_PWM_BANK_ALL_ACT_LOW, |
| }; |
| |
| enum lm3630a_leda_ctrl { |
| LM3630A_LEDA_DISABLE = 0x00, |
| LM3630A_LEDA_ENABLE = 0x04, |
| LM3630A_LEDA_ENABLE_LINEAR = 0x14, |
| }; |
| |
| enum lm3630a_ledb_ctrl { |
| LM3630A_LEDB_DISABLE = 0x00, |
| LM3630A_LEDB_ON_A = 0x01, |
| LM3630A_LEDB_ENABLE = 0x02, |
| LM3630A_LEDB_ENABLE_LINEAR = 0x0A, |
| }; |
| |
| #define LM3630A_MAX_BRIGHTNESS 255 |
| /* |
| *@leda_init_brt : led a init brightness. 4~255 |
| *@leda_max_brt : led a max brightness. 4~255 |
| *@leda_ctrl : led a disable, enable linear, enable exponential |
| *@ledb_init_brt : led b init brightness. 4~255 |
| *@ledb_max_brt : led b max brightness. 4~255 |
| *@ledb_ctrl : led b disable, enable linear, enable exponential |
| *@pwm_period : pwm period |
| *@pwm_ctrl : pwm disable, bank a or b, active high or low |
| */ |
| struct lm3630a_platform_data { |
| |
| /* led a config. */ |
| int leda_init_brt; |
| int leda_max_brt; |
| enum lm3630a_leda_ctrl leda_ctrl; |
| /* led b config. */ |
| int ledb_init_brt; |
| int ledb_max_brt; |
| enum lm3630a_ledb_ctrl ledb_ctrl; |
| /* pwm config. */ |
| unsigned int pwm_period; |
| enum lm3630a_pwm_ctrl pwm_ctrl; |
| }; |
| |
| #endif /* __LINUX_LM3630A_H */ |