162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci* Simple driver for Texas Instruments LM3630A LED Flash driver chip 462306a36Sopenharmony_ci* Copyright (C) 2012 Texas Instruments 562306a36Sopenharmony_ci*/ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef __LINUX_LM3630A_H 862306a36Sopenharmony_ci#define __LINUX_LM3630A_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#define LM3630A_NAME "lm3630a_bl" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cienum lm3630a_pwm_ctrl { 1362306a36Sopenharmony_ci LM3630A_PWM_DISABLE = 0x00, 1462306a36Sopenharmony_ci LM3630A_PWM_BANK_A, 1562306a36Sopenharmony_ci LM3630A_PWM_BANK_B, 1662306a36Sopenharmony_ci LM3630A_PWM_BANK_ALL, 1762306a36Sopenharmony_ci LM3630A_PWM_BANK_A_ACT_LOW = 0x05, 1862306a36Sopenharmony_ci LM3630A_PWM_BANK_B_ACT_LOW, 1962306a36Sopenharmony_ci LM3630A_PWM_BANK_ALL_ACT_LOW, 2062306a36Sopenharmony_ci}; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_cienum lm3630a_leda_ctrl { 2362306a36Sopenharmony_ci LM3630A_LEDA_DISABLE = 0x00, 2462306a36Sopenharmony_ci LM3630A_LEDA_ENABLE = 0x04, 2562306a36Sopenharmony_ci LM3630A_LEDA_ENABLE_LINEAR = 0x14, 2662306a36Sopenharmony_ci}; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_cienum lm3630a_ledb_ctrl { 2962306a36Sopenharmony_ci LM3630A_LEDB_DISABLE = 0x00, 3062306a36Sopenharmony_ci LM3630A_LEDB_ON_A = 0x01, 3162306a36Sopenharmony_ci LM3630A_LEDB_ENABLE = 0x02, 3262306a36Sopenharmony_ci LM3630A_LEDB_ENABLE_LINEAR = 0x0A, 3362306a36Sopenharmony_ci}; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#define LM3630A_MAX_BRIGHTNESS 255 3662306a36Sopenharmony_ci/* 3762306a36Sopenharmony_ci *@leda_label : optional led a label. 3862306a36Sopenharmony_ci *@leda_init_brt : led a init brightness. 4~255 3962306a36Sopenharmony_ci *@leda_max_brt : led a max brightness. 4~255 4062306a36Sopenharmony_ci *@leda_ctrl : led a disable, enable linear, enable exponential 4162306a36Sopenharmony_ci *@ledb_label : optional led b label. 4262306a36Sopenharmony_ci *@ledb_init_brt : led b init brightness. 4~255 4362306a36Sopenharmony_ci *@ledb_max_brt : led b max brightness. 4~255 4462306a36Sopenharmony_ci *@ledb_ctrl : led b disable, enable linear, enable exponential 4562306a36Sopenharmony_ci *@pwm_period : pwm period 4662306a36Sopenharmony_ci *@pwm_ctrl : pwm disable, bank a or b, active high or low 4762306a36Sopenharmony_ci */ 4862306a36Sopenharmony_cistruct lm3630a_platform_data { 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci /* led a config. */ 5162306a36Sopenharmony_ci const char *leda_label; 5262306a36Sopenharmony_ci int leda_init_brt; 5362306a36Sopenharmony_ci int leda_max_brt; 5462306a36Sopenharmony_ci enum lm3630a_leda_ctrl leda_ctrl; 5562306a36Sopenharmony_ci /* led b config. */ 5662306a36Sopenharmony_ci const char *ledb_label; 5762306a36Sopenharmony_ci int ledb_init_brt; 5862306a36Sopenharmony_ci int ledb_max_brt; 5962306a36Sopenharmony_ci enum lm3630a_ledb_ctrl ledb_ctrl; 6062306a36Sopenharmony_ci /* pwm config. */ 6162306a36Sopenharmony_ci unsigned int pwm_period; 6262306a36Sopenharmony_ci enum lm3630a_pwm_ctrl pwm_ctrl; 6362306a36Sopenharmony_ci}; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci#endif /* __LINUX_LM3630A_H */ 66