1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Simple driver for Texas Instruments LM3630A LED Flash driver chip |
4 | * Copyright (C) 2012 Texas Instruments |
5 | */ |
6 | |
7 | #ifndef __LINUX_LM3630A_H |
8 | #define __LINUX_LM3630A_H |
9 | |
10 | #define LM3630A_NAME "lm3630a_bl" |
11 | |
12 | enum lm3630a_pwm_ctrl { |
13 | LM3630A_PWM_DISABLE = 0x00, |
14 | LM3630A_PWM_BANK_A, |
15 | LM3630A_PWM_BANK_B, |
16 | LM3630A_PWM_BANK_ALL, |
17 | LM3630A_PWM_BANK_A_ACT_LOW = 0x05, |
18 | LM3630A_PWM_BANK_B_ACT_LOW, |
19 | LM3630A_PWM_BANK_ALL_ACT_LOW, |
20 | }; |
21 | |
22 | enum lm3630a_leda_ctrl { |
23 | LM3630A_LEDA_DISABLE = 0x00, |
24 | LM3630A_LEDA_ENABLE = 0x04, |
25 | LM3630A_LEDA_ENABLE_LINEAR = 0x14, |
26 | }; |
27 | |
28 | enum lm3630a_ledb_ctrl { |
29 | LM3630A_LEDB_DISABLE = 0x00, |
30 | LM3630A_LEDB_ON_A = 0x01, |
31 | LM3630A_LEDB_ENABLE = 0x02, |
32 | LM3630A_LEDB_ENABLE_LINEAR = 0x0A, |
33 | }; |
34 | |
35 | #define LM3630A_MAX_BRIGHTNESS 255 |
36 | /* |
37 | *@leda_label : optional led a label. |
38 | *@leda_init_brt : led a init brightness. 4~255 |
39 | *@leda_max_brt : led a max brightness. 4~255 |
40 | *@leda_ctrl : led a disable, enable linear, enable exponential |
41 | *@ledb_label : optional led b label. |
42 | *@ledb_init_brt : led b init brightness. 4~255 |
43 | *@ledb_max_brt : led b max brightness. 4~255 |
44 | *@ledb_ctrl : led b disable, enable linear, enable exponential |
45 | *@pwm_period : pwm period |
46 | *@pwm_ctrl : pwm disable, bank a or b, active high or low |
47 | */ |
48 | struct lm3630a_platform_data { |
49 | |
50 | /* led a config. */ |
51 | const char *leda_label; |
52 | int leda_init_brt; |
53 | int leda_max_brt; |
54 | enum lm3630a_leda_ctrl leda_ctrl; |
55 | /* led b config. */ |
56 | const char *ledb_label; |
57 | int ledb_init_brt; |
58 | int ledb_max_brt; |
59 | enum lm3630a_ledb_ctrl ledb_ctrl; |
60 | /* pwm config. */ |
61 | unsigned int pwm_period; |
62 | enum lm3630a_pwm_ctrl pwm_ctrl; |
63 | }; |
64 | |
65 | #endif /* __LINUX_LM3630A_H */ |
66 | |