diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-08-16 13:42:58 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-08-16 13:42:58 -0400 |
| commit | e4862f2f6f5653dfb67f3ba2b6f0bc74516ed51a (patch) | |
| tree | 1db5a0540a4eecfad9b7daee476b985e82ddc810 /include/linux/i2c | |
| parent | ec62dbd7eb8e3dddb221da89ecbcea0fc3dee8c1 (diff) | |
| parent | b2c1e07b81a126e5846dfc3d36f559d861df59f4 (diff) | |
Merge branch 'for-2.6.36' into for-2.6.37
Fairly simple conflicts, the most serious ones are the i.MX ones which I
suspect now need another rename.
Conflicts:
arch/arm/mach-mx2/clock_imx27.c
arch/arm/mach-mx2/devices.c
arch/arm/mach-omap2/board-rx51-peripherals.c
arch/arm/mach-omap2/board-zoom2.c
sound/soc/fsl/mpc5200_dma.c
sound/soc/fsl/mpc5200_dma.h
sound/soc/fsl/mpc8610_hpcd.c
sound/soc/pxa/spitz.c
Diffstat (limited to 'include/linux/i2c')
| -rw-r--r-- | include/linux/i2c/adp5588.h | 37 | ||||
| -rw-r--r-- | include/linux/i2c/ltc4245.h | 21 | ||||
| -rw-r--r-- | include/linux/i2c/mcs.h | 34 | ||||
| -rw-r--r-- | include/linux/i2c/mcs5000_ts.h | 24 | ||||
| -rw-r--r-- | include/linux/i2c/pca954x.h | 47 | ||||
| -rw-r--r-- | include/linux/i2c/qt602240_ts.h | 38 | ||||
| -rw-r--r-- | include/linux/i2c/sx150x.h | 78 |
7 files changed, 255 insertions, 24 deletions
diff --git a/include/linux/i2c/adp5588.h b/include/linux/i2c/adp5588.h index 02c9af374741..269181b8f623 100644 --- a/include/linux/i2c/adp5588.h +++ b/include/linux/i2c/adp5588.h | |||
| @@ -78,6 +78,40 @@ | |||
| 78 | 78 | ||
| 79 | #define ADP5588_KEYMAPSIZE 80 | 79 | #define ADP5588_KEYMAPSIZE 80 |
| 80 | 80 | ||
| 81 | #define GPI_PIN_ROW0 97 | ||
| 82 | #define GPI_PIN_ROW1 98 | ||
| 83 | #define GPI_PIN_ROW2 99 | ||
| 84 | #define GPI_PIN_ROW3 100 | ||
| 85 | #define GPI_PIN_ROW4 101 | ||
| 86 | #define GPI_PIN_ROW5 102 | ||
| 87 | #define GPI_PIN_ROW6 103 | ||
| 88 | #define GPI_PIN_ROW7 104 | ||
| 89 | #define GPI_PIN_COL0 105 | ||
| 90 | #define GPI_PIN_COL1 106 | ||
| 91 | #define GPI_PIN_COL2 107 | ||
| 92 | #define GPI_PIN_COL3 108 | ||
| 93 | #define GPI_PIN_COL4 109 | ||
| 94 | #define GPI_PIN_COL5 110 | ||
| 95 | #define GPI_PIN_COL6 111 | ||
| 96 | #define GPI_PIN_COL7 112 | ||
| 97 | #define GPI_PIN_COL8 113 | ||
| 98 | #define GPI_PIN_COL9 114 | ||
| 99 | |||
| 100 | #define GPI_PIN_ROW_BASE GPI_PIN_ROW0 | ||
| 101 | #define GPI_PIN_ROW_END GPI_PIN_ROW7 | ||
| 102 | #define GPI_PIN_COL_BASE GPI_PIN_COL0 | ||
| 103 | #define GPI_PIN_COL_END GPI_PIN_COL9 | ||
| 104 | |||
| 105 | #define GPI_PIN_BASE GPI_PIN_ROW_BASE | ||
| 106 | #define GPI_PIN_END GPI_PIN_COL_END | ||
| 107 | |||
| 108 | #define ADP5588_GPIMAPSIZE_MAX (GPI_PIN_END - GPI_PIN_BASE + 1) | ||
| 109 | |||
| 110 | struct adp5588_gpi_map { | ||
| 111 | unsigned short pin; | ||
| 112 | unsigned short sw_evt; | ||
| 113 | }; | ||
| 114 | |||
| 81 | struct adp5588_kpad_platform_data { | 115 | struct adp5588_kpad_platform_data { |
| 82 | int rows; /* Number of rows */ | 116 | int rows; /* Number of rows */ |
| 83 | int cols; /* Number of columns */ | 117 | int cols; /* Number of columns */ |
| @@ -87,6 +121,9 @@ struct adp5588_kpad_platform_data { | |||
| 87 | unsigned en_keylock:1; /* Enable Key Lock feature */ | 121 | unsigned en_keylock:1; /* Enable Key Lock feature */ |
| 88 | unsigned short unlock_key1; /* Unlock Key 1 */ | 122 | unsigned short unlock_key1; /* Unlock Key 1 */ |
| 89 | unsigned short unlock_key2; /* Unlock Key 2 */ | 123 | unsigned short unlock_key2; /* Unlock Key 2 */ |
| 124 | const struct adp5588_gpi_map *gpimap; | ||
| 125 | unsigned short gpimapsize; | ||
| 126 | const struct adp5588_gpio_platform_data *gpio_data; | ||
| 90 | }; | 127 | }; |
| 91 | 128 | ||
| 92 | struct adp5588_gpio_platform_data { | 129 | struct adp5588_gpio_platform_data { |
diff --git a/include/linux/i2c/ltc4245.h b/include/linux/i2c/ltc4245.h new file mode 100644 index 000000000000..56bda4be0016 --- /dev/null +++ b/include/linux/i2c/ltc4245.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* | ||
| 2 | * Platform Data for LTC4245 hardware monitor chip | ||
| 3 | * | ||
| 4 | * Copyright (c) 2010 Ira W. Snyder <iws@ovro.caltech.edu> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify it | ||
| 7 | * under the terms of the GNU General Public License as published by the | ||
| 8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 9 | * option) any later version. | ||
| 10 | */ | ||
| 11 | |||
| 12 | #ifndef LINUX_LTC4245_H | ||
| 13 | #define LINUX_LTC4245_H | ||
| 14 | |||
| 15 | #include <linux/types.h> | ||
| 16 | |||
| 17 | struct ltc4245_platform_data { | ||
| 18 | bool use_extra_gpios; | ||
| 19 | }; | ||
| 20 | |||
| 21 | #endif /* LINUX_LTC4245_H */ | ||
diff --git a/include/linux/i2c/mcs.h b/include/linux/i2c/mcs.h new file mode 100644 index 000000000000..725ae7c313ff --- /dev/null +++ b/include/linux/i2c/mcs.h | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2009 - 2010 Samsung Electronics Co.Ltd | ||
| 3 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
| 4 | * Author: HeungJun Kim <riverful.kim@samsung.com> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify it | ||
| 7 | * under the terms of the GNU General Public License as published by the | ||
| 8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 9 | * option) any later version. | ||
| 10 | * | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __LINUX_MCS_H | ||
| 14 | #define __LINUX_MCS_H | ||
| 15 | |||
| 16 | #define MCS_KEY_MAP(v, c) ((((v) & 0xff) << 16) | ((c) & 0xffff)) | ||
| 17 | #define MCS_KEY_VAL(v) (((v) >> 16) & 0xff) | ||
| 18 | #define MCS_KEY_CODE(v) ((v) & 0xffff) | ||
| 19 | |||
| 20 | struct mcs_platform_data { | ||
| 21 | void (*cfg_pin)(void); | ||
| 22 | |||
| 23 | /* touchscreen */ | ||
| 24 | unsigned int x_size; | ||
| 25 | unsigned int y_size; | ||
| 26 | |||
| 27 | /* touchkey */ | ||
| 28 | const u32 *keymap; | ||
| 29 | unsigned int keymap_size; | ||
| 30 | unsigned int key_maxval; | ||
| 31 | bool no_autorepeat; | ||
| 32 | }; | ||
| 33 | |||
| 34 | #endif /* __LINUX_MCS_H */ | ||
diff --git a/include/linux/i2c/mcs5000_ts.h b/include/linux/i2c/mcs5000_ts.h deleted file mode 100644 index 5a117b5ca15e..000000000000 --- a/include/linux/i2c/mcs5000_ts.h +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * mcs5000_ts.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 2009 Samsung Electronics Co.Ltd | ||
| 5 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License as published by the | ||
| 9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 10 | * option) any later version. | ||
| 11 | * | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __LINUX_MCS5000_TS_H | ||
| 15 | #define __LINUX_MCS5000_TS_H | ||
| 16 | |||
| 17 | /* platform data for the MELFAS MCS-5000 touchscreen driver */ | ||
| 18 | struct mcs5000_ts_platform_data { | ||
| 19 | void (*cfg_pin)(void); | ||
| 20 | int x_size; | ||
| 21 | int y_size; | ||
| 22 | }; | ||
| 23 | |||
| 24 | #endif /* __LINUX_MCS5000_TS_H */ | ||
diff --git a/include/linux/i2c/pca954x.h b/include/linux/i2c/pca954x.h new file mode 100644 index 000000000000..28f1f8d5ab1f --- /dev/null +++ b/include/linux/i2c/pca954x.h | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | /* | ||
| 2 | * | ||
| 3 | * pca954x.h - I2C multiplexer/switch support | ||
| 4 | * | ||
| 5 | * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it> | ||
| 6 | * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it> | ||
| 7 | * Michael Lawnick <michael.lawnick.ext@nsn.com> | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License as published by | ||
| 11 | * the Free Software Foundation; either version 2 of the License, or | ||
| 12 | * (at your option) any later version. | ||
| 13 | * | ||
| 14 | * This program is distributed in the hope that it will be useful, | ||
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | * GNU General Public License for more details. | ||
| 18 | * | ||
| 19 | * You should have received a copy of the GNU General Public License | ||
| 20 | * along with this program; if not, write to the Free Software | ||
| 21 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 22 | */ | ||
| 23 | |||
| 24 | |||
| 25 | #ifndef _LINUX_I2C_PCA954X_H | ||
| 26 | #define _LINUX_I2C_PCA954X_H | ||
| 27 | |||
| 28 | /* Platform data for the PCA954x I2C multiplexers */ | ||
| 29 | |||
| 30 | /* Per channel initialisation data: | ||
| 31 | * @adap_id: bus number for the adapter. 0 = don't care | ||
| 32 | * @deselect_on_exit: set this entry to 1, if your H/W needs deselection | ||
| 33 | * of this channel after transaction. | ||
| 34 | * | ||
| 35 | */ | ||
| 36 | struct pca954x_platform_mode { | ||
| 37 | int adap_id; | ||
| 38 | unsigned int deselect_on_exit:1; | ||
| 39 | }; | ||
| 40 | |||
| 41 | /* Per mux/switch data, used with i2c_register_board_info */ | ||
| 42 | struct pca954x_platform_data { | ||
| 43 | struct pca954x_platform_mode *modes; | ||
| 44 | int num_modes; | ||
| 45 | }; | ||
| 46 | |||
| 47 | #endif /* _LINUX_I2C_PCA954X_H */ | ||
diff --git a/include/linux/i2c/qt602240_ts.h b/include/linux/i2c/qt602240_ts.h new file mode 100644 index 000000000000..c5033e101094 --- /dev/null +++ b/include/linux/i2c/qt602240_ts.h | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | /* | ||
| 2 | * AT42QT602240/ATMXT224 Touchscreen driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Samsung Electronics Co.Ltd | ||
| 5 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License as published by the | ||
| 9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 10 | * option) any later version. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __LINUX_QT602240_TS_H | ||
| 14 | #define __LINUX_QT602240_TS_H | ||
| 15 | |||
| 16 | /* Orient */ | ||
| 17 | #define QT602240_NORMAL 0x0 | ||
| 18 | #define QT602240_DIAGONAL 0x1 | ||
| 19 | #define QT602240_HORIZONTAL_FLIP 0x2 | ||
| 20 | #define QT602240_ROTATED_90_COUNTER 0x3 | ||
| 21 | #define QT602240_VERTICAL_FLIP 0x4 | ||
| 22 | #define QT602240_ROTATED_90 0x5 | ||
| 23 | #define QT602240_ROTATED_180 0x6 | ||
| 24 | #define QT602240_DIAGONAL_COUNTER 0x7 | ||
| 25 | |||
| 26 | /* The platform data for the AT42QT602240/ATMXT224 touchscreen driver */ | ||
| 27 | struct qt602240_platform_data { | ||
| 28 | unsigned int x_line; | ||
| 29 | unsigned int y_line; | ||
| 30 | unsigned int x_size; | ||
| 31 | unsigned int y_size; | ||
| 32 | unsigned int blen; | ||
| 33 | unsigned int threshold; | ||
| 34 | unsigned int voltage; | ||
| 35 | unsigned char orient; | ||
| 36 | }; | ||
| 37 | |||
| 38 | #endif /* __LINUX_QT602240_TS_H */ | ||
diff --git a/include/linux/i2c/sx150x.h b/include/linux/i2c/sx150x.h new file mode 100644 index 000000000000..ee3049cb9ba5 --- /dev/null +++ b/include/linux/i2c/sx150x.h | |||
| @@ -0,0 +1,78 @@ | |||
| 1 | /* | ||
| 2 | * Driver for the Semtech SX150x I2C GPIO Expanders | ||
| 3 | * | ||
| 4 | * Copyright (c) 2010, Code Aurora Forum. All rights reserved. | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License version 2 and | ||
| 8 | * only version 2 as published by the Free Software Foundation. | ||
| 9 | * | ||
| 10 | * This program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this program; if not, write to the Free Software | ||
| 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
| 18 | * 02110-1301, USA. | ||
| 19 | */ | ||
| 20 | #ifndef __LINUX_I2C_SX150X_H | ||
| 21 | #define __LINUX_I2C_SX150X_H | ||
| 22 | |||
| 23 | /** | ||
| 24 | * struct sx150x_platform_data - config data for SX150x driver | ||
| 25 | * @gpio_base: The index number of the first GPIO assigned to this | ||
| 26 | * GPIO expander. The expander will create a block of | ||
| 27 | * consecutively numbered gpios beginning at the given base, | ||
| 28 | * with the size of the block depending on the model of the | ||
| 29 | * expander chip. | ||
| 30 | * @oscio_is_gpo: If set to true, the driver will configure OSCIO as a GPO | ||
| 31 | * instead of as an oscillator, increasing the size of the | ||
| 32 | * GP(I)O pool created by this expander by one. The | ||
| 33 | * output-only GPO pin will be added at the end of the block. | ||
| 34 | * @io_pullup_ena: A bit-mask which enables or disables the pull-up resistor | ||
| 35 | * for each IO line in the expander. Setting the bit at | ||
| 36 | * position n will enable the pull-up for the IO at | ||
| 37 | * the corresponding offset. For chips with fewer than | ||
| 38 | * 16 IO pins, high-end bits are ignored. | ||
| 39 | * @io_pulldn_ena: A bit-mask which enables-or disables the pull-down | ||
| 40 | * resistor for each IO line in the expander. Setting the | ||
| 41 | * bit at position n will enable the pull-down for the IO at | ||
| 42 | * the corresponding offset. For chips with fewer than | ||
| 43 | * 16 IO pins, high-end bits are ignored. | ||
| 44 | * @io_open_drain_ena: A bit-mask which enables-or disables open-drain | ||
| 45 | * operation for each IO line in the expander. Setting the | ||
| 46 | * bit at position n enables open-drain operation for | ||
| 47 | * the IO at the corresponding offset. Clearing the bit | ||
| 48 | * enables regular push-pull operation for that IO. | ||
| 49 | * For chips with fewer than 16 IO pins, high-end bits | ||
| 50 | * are ignored. | ||
| 51 | * @io_polarity: A bit-mask which enables polarity inversion for each IO line | ||
| 52 | * in the expander. Setting the bit at position n inverts | ||
| 53 | * the polarity of that IO line, while clearing it results | ||
| 54 | * in normal polarity. For chips with fewer than 16 IO pins, | ||
| 55 | * high-end bits are ignored. | ||
| 56 | * @irq_summary: The 'summary IRQ' line to which the GPIO expander's INT line | ||
| 57 | * is connected, via which it reports interrupt events | ||
| 58 | * across all GPIO lines. This must be a real, | ||
| 59 | * pre-existing IRQ line. | ||
| 60 | * Setting this value < 0 disables the irq_chip functionality | ||
| 61 | * of the driver. | ||
| 62 | * @irq_base: The first 'virtual IRQ' line at which our block of GPIO-based | ||
| 63 | * IRQ lines will appear. Similarly to gpio_base, the expander | ||
| 64 | * will create a block of irqs beginning at this number. | ||
| 65 | * This value is ignored if irq_summary is < 0. | ||
| 66 | */ | ||
| 67 | struct sx150x_platform_data { | ||
| 68 | unsigned gpio_base; | ||
| 69 | bool oscio_is_gpo; | ||
| 70 | u16 io_pullup_ena; | ||
| 71 | u16 io_pulldn_ena; | ||
| 72 | u16 io_open_drain_ena; | ||
| 73 | u16 io_polarity; | ||
| 74 | int irq_summary; | ||
| 75 | unsigned irq_base; | ||
| 76 | }; | ||
| 77 | |||
| 78 | #endif /* __LINUX_I2C_SX150X_H */ | ||
