diff options
Diffstat (limited to 'include/linux/leds-ti-lmu-common.h')
-rw-r--r-- | include/linux/leds-ti-lmu-common.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/linux/leds-ti-lmu-common.h b/include/linux/leds-ti-lmu-common.h new file mode 100644 index 000000000000..5eb111f38803 --- /dev/null +++ b/include/linux/leds-ti-lmu-common.h | |||
@@ -0,0 +1,47 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | // TI LMU Common Core | ||
3 | // Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/ | ||
4 | |||
5 | #ifndef _TI_LMU_COMMON_H_ | ||
6 | #define _TI_LMU_COMMON_H_ | ||
7 | |||
8 | #include <linux/delay.h> | ||
9 | #include <linux/device.h> | ||
10 | #include <linux/init.h> | ||
11 | #include <linux/leds.h> | ||
12 | #include <linux/module.h> | ||
13 | #include <linux/regmap.h> | ||
14 | #include <linux/slab.h> | ||
15 | #include <uapi/linux/uleds.h> | ||
16 | |||
17 | #define LMU_11BIT_LSB_MASK (BIT(0) | BIT(1) | BIT(2)) | ||
18 | #define LMU_11BIT_MSB_SHIFT 3 | ||
19 | |||
20 | #define MAX_BRIGHTNESS_8BIT 255 | ||
21 | #define MAX_BRIGHTNESS_11BIT 2047 | ||
22 | |||
23 | struct ti_lmu_bank { | ||
24 | struct regmap *regmap; | ||
25 | |||
26 | int max_brightness; | ||
27 | |||
28 | u8 lsb_brightness_reg; | ||
29 | u8 msb_brightness_reg; | ||
30 | |||
31 | u8 runtime_ramp_reg; | ||
32 | u32 ramp_up_usec; | ||
33 | u32 ramp_down_usec; | ||
34 | }; | ||
35 | |||
36 | int ti_lmu_common_set_brightness(struct ti_lmu_bank *lmu_bank, int brightness); | ||
37 | |||
38 | int ti_lmu_common_set_ramp(struct ti_lmu_bank *lmu_bank); | ||
39 | |||
40 | int ti_lmu_common_get_ramp_params(struct device *dev, | ||
41 | struct fwnode_handle *child, | ||
42 | struct ti_lmu_bank *lmu_data); | ||
43 | |||
44 | int ti_lmu_common_get_brt_res(struct device *dev, struct fwnode_handle *child, | ||
45 | struct ti_lmu_bank *lmu_data); | ||
46 | |||
47 | #endif /* _TI_LMU_COMMON_H_ */ | ||