| /* |
| * 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_ |