blob: 663483a97213093affb036873eb5600a8399fb9e [file] [log] [blame]
/* abov_touchkey.h -- Linux driver for abov chip as touchkey
*
* Copyright (C) 2013 Samsung Electronics Co.Ltd
* Author: Junkyeong Kim <jk0430.kim@samsung.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2, or (at your option) any
* later version.
*
* 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 __LINUX_ABOV_TOUCHKEY_H
#define __LINUX_ABOV_TOUCHKEY_H
#define ABOV_TK_NAME "abov-touchkey-ft1804"
#define ABOV_ID 0x40
extern int get_lcd_attached(char *);
#define LIGHT_VERSION_PATH "/efs/FactoryApp/tkey_light_version"
#define LIGHT_TABLE_PATH "/efs/FactoryApp/tkey_light"
#define LIGHT_CRC_PATH "/efs/FactoryApp/tkey_light_crc"
#define LIGHT_TABLE_PATH_LEN 50
#define LIGHT_VERSION_LEN 25
#define LIGHT_CRC_SIZE 10
#define LIGHT_DATA_SIZE 5
#define LIGHT_REG_MIN_VAL 0x01
#define LIGHT_REG_MAX_VAL 0x1f
struct light_info {
int octa_id;
int led_reg;
};
enum WINDOW_COLOR {
WINDOW_COLOR_BLACK_UTYPE = 0,
WINDOW_COLOR_BLACK,
WINDOW_COLOR_WHITE,
WINDOW_COLOR_GOLD,
WINDOW_COLOR_SILVER,
WINDOW_COLOR_GREEN,
WINDOW_COLOR_BLUE,
WINDOW_COLOR_PINKGOLD,
};
#define WINDOW_COLOR_DEFAULT WINDOW_COLOR_BLACK
#define LIGHT_TABLE_MAX 10
struct light_info tkey_light_reg_table[LIGHT_TABLE_MAX];
struct abov_touchkey_platform_data {
unsigned long irq_flag;
int gpio_en;
int gpio_int;
int gpio_sda;
int gpio_scl;
int gpio_rst;
int gpio_ldo_en;
int gpio_tkey_led_en;
int gpio_seperated;
int sub_det;
struct regulator *vdd_io_vreg;
struct regulator *avdd_vreg;
struct regulator *dvdd_vreg;
void (*input_event) (void *data);
int (*power) (void *, bool on);
int (*keyled) (bool on);
char *fw_path;
bool boot_on_ldo;
bool bringup;
bool ta_notifier;
int dt_light_version;
int dt_light_table;
};
#endif /* LINUX_ABOV_TOUCHKEY_H */