Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 54 additions & 29 deletions include/linux/platform_data/lm3630_bl.h
Original file line number Diff line number Diff line change
@@ -1,33 +1,58 @@
/*
* Copyright (c) 2013 LGE Inc. All rights reserved.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/

#ifndef __LM3630_BL_H
#define __LM3630_BL_H

void lm3630_lcd_backlight_set_level(int level);
/*
* Simple driver for Texas Instruments LM3630 LED Flash driver chip
* Copyright (C) 2012 Texas Instruments
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/

#ifndef __LINUX_LM3630_H
#define __LINUX_LM3630_H

#define LM3630_NAME "lm3630_bl"

enum lm3630_pwm_ctrl {
PWM_CTRL_DISABLE = 0,
PWM_CTRL_BANK_A,
PWM_CTRL_BANK_B,
PWM_CTRL_BANK_ALL,
};

enum lm3630_pwm_active {
PWM_ACTIVE_HIGH = 0,
PWM_ACTIVE_LOW,
};

enum lm3630_bank_a_ctrl {
BANK_A_CTRL_DISABLE = 0x0,
BANK_A_CTRL_LED1 = 0x4,
BANK_A_CTRL_LED2 = 0x1,
BANK_A_CTRL_ALL = 0x5,
};

enum lm3630_bank_b_ctrl {
BANK_B_CTRL_DISABLE = 0,
BANK_B_CTRL_LED2,
};

struct lm3630_platform_data {
int en_gpio;
int boost_ctrl_reg;
int bank_sel;
int linear_map;
int max_current;
int min_brightness;
int max_brightness;
int default_brightness;
int pwm_enable;
int blmap_size;
char *blmap;

/* maximum brightness */
int max_brt_led1;
int max_brt_led2;

/* initial on brightness */
int init_brt_led1;
int init_brt_led2;
enum lm3630_pwm_ctrl pwm_ctrl;
enum lm3630_pwm_active pwm_active;
enum lm3630_bank_a_ctrl bank_a_ctrl;
enum lm3630_bank_b_ctrl bank_b_ctrl;
unsigned int pwm_period;
void (*pwm_set_intensity) (int brightness, int max_brightness);
};
#endif

#endif /* __LINUX_LM3630_H */