lm3639_bl.h (1401B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3* Simple driver for Texas Instruments LM3630 LED Flash driver chip 4* Copyright (C) 2012 Texas Instruments 5*/ 6 7#ifndef __LINUX_LM3639_H 8#define __LINUX_LM3639_H 9 10#define LM3639_NAME "lm3639_bl" 11 12enum lm3639_pwm { 13 LM3639_PWM_DISABLE = 0x00, 14 LM3639_PWM_EN_ACTLOW = 0x48, 15 LM3639_PWM_EN_ACTHIGH = 0x40, 16}; 17 18enum lm3639_strobe { 19 LM3639_STROBE_DISABLE = 0x00, 20 LM3639_STROBE_EN_ACTLOW = 0x10, 21 LM3639_STROBE_EN_ACTHIGH = 0x30, 22}; 23 24enum lm3639_txpin { 25 LM3639_TXPIN_DISABLE = 0x00, 26 LM3639_TXPIN_EN_ACTLOW = 0x04, 27 LM3639_TXPIN_EN_ACTHIGH = 0x0C, 28}; 29 30enum lm3639_fleds { 31 LM3639_FLED_DIASBLE_ALL = 0x00, 32 LM3639_FLED_EN_1 = 0x40, 33 LM3639_FLED_EN_2 = 0x20, 34 LM3639_FLED_EN_ALL = 0x60, 35}; 36 37enum lm3639_bleds { 38 LM3639_BLED_DIASBLE_ALL = 0x00, 39 LM3639_BLED_EN_1 = 0x10, 40 LM3639_BLED_EN_2 = 0x08, 41 LM3639_BLED_EN_ALL = 0x18, 42}; 43enum lm3639_bled_mode { 44 LM3639_BLED_MODE_EXPONETIAL = 0x00, 45 LM3639_BLED_MODE_LINEAR = 0x10, 46}; 47 48struct lm3639_platform_data { 49 unsigned int max_brt_led; 50 unsigned int init_brt_led; 51 52 /* input pins */ 53 enum lm3639_pwm pin_pwm; 54 enum lm3639_strobe pin_strobe; 55 enum lm3639_txpin pin_tx; 56 57 /* output pins */ 58 enum lm3639_fleds fled_pins; 59 enum lm3639_bleds bled_pins; 60 enum lm3639_bled_mode bled_mode; 61 62 void (*pwm_set_intensity) (int brightness, int max_brightness); 63 int (*pwm_get_intensity) (void); 64}; 65#endif /* __LINUX_LM3639_H */