Initial Contribution

msm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142

Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
This commit is contained in:
Bryan Huntsman
2011-08-16 17:27:22 -07:00
parent f06154cc47
commit 3f2bc4d6eb
1851 changed files with 780136 additions and 12902 deletions

View File

@@ -0,0 +1,65 @@
/* Header file for:
* Cypress CY8CTMA300 Prototype touchscreen driver.
*
* Copyright (C) 2009, 2010 Cypress Semiconductor, Inc.
* Copyright (c) 2010, Code Aurora Forum. 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, and only version 2, as published by the
* Free Software Foundation.
*
* 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.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Cypress reserves the right to make changes without further notice
* to the materials described herein. Cypress does not assume any
* liability arising out of the application described herein.
*
* Contact Cypress Semiconductor at www.cypress.com
*
* History:
* (C) 2010 Cypress - Update for GPL distribution
* (C) 2009 Cypress - Assume maintenance ownership
* (C) 2009 Enea - Original prototype
*
*/
#ifndef __CY8C8CTS_H__
#define __CY8C8CTS_H__
/* CY8CTMA300-TMG200 platform data
*/
struct cy8c_ts_platform_data {
int (*power_on)(int on);
int (*dev_setup)(bool on);
const char *ts_name;
u32 dis_min_x; /* display resoltion */
u32 dis_max_x;
u32 dis_min_y;
u32 dis_max_y;
u32 min_touch; /* no.of touches supported */
u32 max_touch;
u32 min_tid; /* track id */
u32 max_tid;
u32 min_width;/* size of the finger */
u32 max_width;
u32 res_x; /* TS resolution */
u32 res_y;
u32 swap_xy;
u32 flags;
u16 invert_x;
u16 invert_y;
u8 nfingers;
u32 irq_gpio;
int resout_gpio;
bool wakeup;
};
#endif

View File

@@ -0,0 +1,25 @@
/* Copyright (c) 2010, Code Aurora Forum. 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 and
* only version 2 as published by the Free Software Foundation.
*
* 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 __KP_FLIP_SWITCH_H_
#define __KP_FLIP_SWITCH_H_
/* flip switch driver platform data */
struct flip_switch_pdata {
int flip_gpio;
int left_key;
int right_key;
int wakeup;
int active_low;
int (*flip_mpp_config) (void);
char name[25];
};
#endif

View File

@@ -4,12 +4,12 @@
#include <linux/types.h>
#include <linux/input.h>
#define MATRIX_MAX_ROWS 32
#define MATRIX_MAX_COLS 32
#define MATRIX_MAX_ROWS 18
#define MATRIX_MAX_COLS 18
#define KEY(row, col, val) ((((row) & (MATRIX_MAX_ROWS - 1)) << 24) |\
(((col) & (MATRIX_MAX_COLS - 1)) << 16) |\
((val) & 0xffff))
#define KEY(row, col, val) ((((row) % (MATRIX_MAX_ROWS)) << 24) |\
(((col) % (MATRIX_MAX_COLS)) << 16) |\
(val & 0xffff))
#define KEY_ROW(k) (((k) >> 24) & 0xff)
#define KEY_COL(k) (((k) >> 16) & 0xff)

View File

@@ -0,0 +1,51 @@
/*
* Internal platform definitions for msm/qsd touchscreen devices
*
* Copyright (C) 2008 Google Incorporated
*
* 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 __ASM_ARCH_MSM_TS_H
#define __ASM_ARCH_MSM_TS_H
#include <linux/input.h>
/* The dimensions for the virtual key are for the other axis, i.e. if
* virtual keys are in the Y dimension then min/max is the range in the X
* dimension where that key would be activated */
struct ts_virt_key {
int key;
int min;
int max;
};
struct msm_ts_virtual_keys {
struct ts_virt_key *keys;
int num_keys;
};
struct msm_ts_platform_data {
uint32_t min_x;
uint32_t max_x;
uint32_t min_y;
uint32_t max_y;
uint32_t min_press;
uint32_t max_press;
struct msm_ts_virtual_keys *vkeys_x;
uint32_t virt_x_start;
struct msm_ts_virtual_keys *vkeys_y;
uint32_t virt_y_start;
uint32_t inv_x;
uint32_t inv_y;
bool can_wakeup;
};
#endif /* __ASM_ARCH_MSM_TS_H */

View File

@@ -0,0 +1,48 @@
/* Copyright (c) 2009-2010, Code Aurora Forum. 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 and
* only version 2 as published by the Free Software Foundation.
*
* 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 __PMIC8058_KEYPAD_H__
#define __PMIC8058_KEYPAD_H__
#include <linux/input/matrix_keypad.h>
/*
* NOTE: Assumption of maximum of five revisions
* of PMIC8058 chip.
*/
#define MAX_PM8058_REVS 0x5
struct pmic8058_keypad_data {
const struct matrix_keymap_data *keymap_data;
const char *input_name;
const char *input_phys_device;
unsigned int num_cols;
unsigned int num_rows;
unsigned int rows_gpio_start;
unsigned int cols_gpio_start;
unsigned int debounce_ms[MAX_PM8058_REVS];
unsigned int scan_delay_ms;
unsigned int row_hold_ns;
int keymap_size;
const unsigned int *keymap;
unsigned int wakeup;
unsigned int rep;
};
#endif /*__PMIC8058_KEYPAD_H__ */

View File

@@ -0,0 +1,29 @@
/* Copyright (c) 2010, Code Aurora Forum. 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 and
* only version 2 as published by the Free Software Foundation.
*
* 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 __QCI_KBD_H__
#define __QCI_KBD_H__
/**
* struct qci_kbd_platform_data - platform data for keyboard
* @repeat: enable or disable key repeate feature
*
* platform data structure for QCI keyboard driver.
*/
struct qci_kbd_platform_data {
bool repeat;
bool standard_scancodes;
bool kb_leds;
};
#endif /*__QCI_KBD_H__*/

View File

@@ -0,0 +1,42 @@
/* Copyright (c) 2010, Code Aurora Forum. 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 and
* only version 2 as published by the Free Software Foundation.
*
* 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 _TDISC_SHINETSU_H_
#define _TDISC_SHINETSU_H_
struct tdisc_abs_values {
int x_max;
int y_max;
int x_min;
int y_min;
int pressure_max;
int pressure_min;
};
struct tdisc_platform_data {
int (*tdisc_setup) (void);
void (*tdisc_release) (void);
int (*tdisc_enable) (void);
int (*tdisc_disable)(void);
int tdisc_wakeup;
int tdisc_gpio;
bool tdisc_report_keys;
bool tdisc_report_relative;
bool tdisc_report_absolute;
bool tdisc_report_wheel;
bool tdisc_reverse_x;
bool tdisc_reverse_y;
struct tdisc_abs_values *tdisc_abs;
};
#endif /* _TDISC_SHINETSU_H_ */