blob: 988ece513af482c73c22418792d2fa563d653ec9 [file] [log] [blame]
/*
* Copyright (C) 2018 Synaptics Incorporated. All rights reserved.
*
* 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.
*
* INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND
* SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY
* INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR
* CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE
* OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND
* BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF
* COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT
* DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY
* TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS.
*/
#ifndef _LED_H_
#define _LED_H_
#include "board_config.h"
#ifdef LOAD_LED_CAL_DATA
#define MAX_LUT_COLOR 8
#define MAX_LED_NAME_LEN 15
#define MAX_COLOR_NAME_LEN 15
struct led_color {
char name[MAX_COLOR_NAME_LEN + 1];
unsigned char r;
unsigned char g;
unsigned char b;
unsigned char brightness;
};
struct led_item {
int color_count;
char name[MAX_LED_NAME_LEN + 1];
struct led_color color[MAX_LUT_COLOR];
};
typedef struct led_lut {
/* used when parsing */
int header_version;
int led_index;
int led_index_found;
/* result */
struct led_item led[NUM_LED];
int validated;
} LED_LUT;
extern LED_LUT lut;
#endif
void detect_led_driver(int *led_driver_type);
void cold_boot_show_led_init_boot(int led_driver_type);
void cold_boot_show_led_done_boot();
#endif // _LED_H_