/* SPDX-License-Identifier: GPL-2.0-only */ /* * Simple driver for Texas Instruments LM3630A LED Flash driver chip * Copyright (C) 2012 Texas Instruments */ #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_label : optional led a label. *@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_label : optional led b label. *@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. */ const char *leda_label; int leda_init_brt; int leda_max_brt; enum lm3630a_leda_ctrl leda_ctrl; /* led b config. */ const char *ledb_label; 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 */