diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
commit | 0d4a42f6bd298e826620585e766a154ab460617a (patch) | |
tree | 406d8f7778691d858dbe3e48e4bbb10e99c0a58a /include/linux/platform_data | |
parent | d62b4892f3d9f7dd2002e5309be10719d6805b0f (diff) | |
parent | a937536b868b8369b98967929045f1df54234323 (diff) |
Merge tag 'v3.9-rc3' into drm-intel-next-queued
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes,
which depend upon the new for_each_sg_page introduce in
commit a321e91b6d73ed011ffceed384c40d2785cf723b
Author: Imre Deak <imre.deak@intel.com>
Date: Wed Feb 27 17:02:56 2013 -0800
lib/scatterlist: add simple page iterator
The merge itself is just two trivial conflicts:
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/linux/platform_data')
25 files changed, 541 insertions, 33 deletions
diff --git a/include/linux/platform_data/cpsw.h b/include/linux/platform_data/cpsw.h index 24368a2e8b87..798fb80b024b 100644 --- a/include/linux/platform_data/cpsw.h +++ b/include/linux/platform_data/cpsw.h | |||
@@ -21,6 +21,8 @@ struct cpsw_slave_data { | |||
21 | char phy_id[MII_BUS_ID_SIZE]; | 21 | char phy_id[MII_BUS_ID_SIZE]; |
22 | int phy_if; | 22 | int phy_if; |
23 | u8 mac_addr[ETH_ALEN]; | 23 | u8 mac_addr[ETH_ALEN]; |
24 | u16 dual_emac_res_vlan; /* Reserved VLAN for DualEMAC */ | ||
25 | |||
24 | }; | 26 | }; |
25 | 27 | ||
26 | struct cpsw_platform_data { | 28 | struct cpsw_platform_data { |
@@ -35,6 +37,8 @@ struct cpsw_platform_data { | |||
35 | u32 bd_ram_size; /*buffer descriptor ram size */ | 37 | u32 bd_ram_size; /*buffer descriptor ram size */ |
36 | u32 rx_descs; /* Number of Rx Descriptios */ | 38 | u32 rx_descs; /* Number of Rx Descriptios */ |
37 | u32 mac_control; /* Mac control register */ | 39 | u32 mac_control; /* Mac control register */ |
40 | u16 default_vlan; /* Def VLAN for ALE lookup in VLAN aware mode*/ | ||
41 | bool dual_emac; /* Enable Dual EMAC mode */ | ||
38 | }; | 42 | }; |
39 | 43 | ||
40 | #endif /* __CPSW_H__ */ | 44 | #endif /* __CPSW_H__ */ |
diff --git a/include/linux/platform_data/dma-coh901318.h b/include/linux/platform_data/dma-coh901318.h new file mode 100644 index 000000000000..c4cb9590d115 --- /dev/null +++ b/include/linux/platform_data/dma-coh901318.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * Platform data for the COH901318 DMA controller | ||
3 | * Copyright (C) 2007-2013 ST-Ericsson | ||
4 | * License terms: GNU General Public License (GPL) version 2 | ||
5 | */ | ||
6 | |||
7 | #ifndef PLAT_COH901318_H | ||
8 | #define PLAT_COH901318_H | ||
9 | |||
10 | #ifdef CONFIG_COH901318 | ||
11 | |||
12 | /* We only support the U300 DMA channels */ | ||
13 | #define U300_DMA_MSL_TX_0 0 | ||
14 | #define U300_DMA_MSL_TX_1 1 | ||
15 | #define U300_DMA_MSL_TX_2 2 | ||
16 | #define U300_DMA_MSL_TX_3 3 | ||
17 | #define U300_DMA_MSL_TX_4 4 | ||
18 | #define U300_DMA_MSL_TX_5 5 | ||
19 | #define U300_DMA_MSL_TX_6 6 | ||
20 | #define U300_DMA_MSL_RX_0 7 | ||
21 | #define U300_DMA_MSL_RX_1 8 | ||
22 | #define U300_DMA_MSL_RX_2 9 | ||
23 | #define U300_DMA_MSL_RX_3 10 | ||
24 | #define U300_DMA_MSL_RX_4 11 | ||
25 | #define U300_DMA_MSL_RX_5 12 | ||
26 | #define U300_DMA_MSL_RX_6 13 | ||
27 | #define U300_DMA_MMCSD_RX_TX 14 | ||
28 | #define U300_DMA_MSPRO_TX 15 | ||
29 | #define U300_DMA_MSPRO_RX 16 | ||
30 | #define U300_DMA_UART0_TX 17 | ||
31 | #define U300_DMA_UART0_RX 18 | ||
32 | #define U300_DMA_APEX_TX 19 | ||
33 | #define U300_DMA_APEX_RX 20 | ||
34 | #define U300_DMA_PCM_I2S0_TX 21 | ||
35 | #define U300_DMA_PCM_I2S0_RX 22 | ||
36 | #define U300_DMA_PCM_I2S1_TX 23 | ||
37 | #define U300_DMA_PCM_I2S1_RX 24 | ||
38 | #define U300_DMA_XGAM_CDI 25 | ||
39 | #define U300_DMA_XGAM_PDI 26 | ||
40 | #define U300_DMA_SPI_TX 27 | ||
41 | #define U300_DMA_SPI_RX 28 | ||
42 | #define U300_DMA_GENERAL_PURPOSE_0 29 | ||
43 | #define U300_DMA_GENERAL_PURPOSE_1 30 | ||
44 | #define U300_DMA_GENERAL_PURPOSE_2 31 | ||
45 | #define U300_DMA_GENERAL_PURPOSE_3 32 | ||
46 | #define U300_DMA_GENERAL_PURPOSE_4 33 | ||
47 | #define U300_DMA_GENERAL_PURPOSE_5 34 | ||
48 | #define U300_DMA_GENERAL_PURPOSE_6 35 | ||
49 | #define U300_DMA_GENERAL_PURPOSE_7 36 | ||
50 | #define U300_DMA_GENERAL_PURPOSE_8 37 | ||
51 | #define U300_DMA_UART1_TX 38 | ||
52 | #define U300_DMA_UART1_RX 39 | ||
53 | |||
54 | #define U300_DMA_DEVICE_CHANNELS 32 | ||
55 | #define U300_DMA_CHANNELS 40 | ||
56 | |||
57 | /** | ||
58 | * coh901318_filter_id() - DMA channel filter function | ||
59 | * @chan: dma channel handle | ||
60 | * @chan_id: id of dma channel to be filter out | ||
61 | * | ||
62 | * In dma_request_channel() it specifies what channel id to be requested | ||
63 | */ | ||
64 | bool coh901318_filter_id(struct dma_chan *chan, void *chan_id); | ||
65 | #else | ||
66 | static inline bool coh901318_filter_id(struct dma_chan *chan, void *chan_id) | ||
67 | { | ||
68 | return false; | ||
69 | } | ||
70 | #endif | ||
71 | |||
72 | #endif /* PLAT_COH901318_H */ | ||
diff --git a/include/linux/platform_data/dma-ste-dma40.h b/include/linux/platform_data/dma-ste-dma40.h index 9ff93b065686..4b781014b0a0 100644 --- a/include/linux/platform_data/dma-ste-dma40.h +++ b/include/linux/platform_data/dma-ste-dma40.h | |||
@@ -147,6 +147,16 @@ struct stedma40_chan_cfg { | |||
147 | * @memcpy_conf_log: default configuration of logical channel memcpy | 147 | * @memcpy_conf_log: default configuration of logical channel memcpy |
148 | * @disabled_channels: A vector, ending with -1, that marks physical channels | 148 | * @disabled_channels: A vector, ending with -1, that marks physical channels |
149 | * that are for different reasons not available for the driver. | 149 | * that are for different reasons not available for the driver. |
150 | * @soft_lli_chans: A vector, that marks physical channels will use LLI by SW | ||
151 | * which avoids HW bug that exists in some versions of the controller. | ||
152 | * SoftLLI introduces relink overhead that could impact performace for | ||
153 | * certain use cases. | ||
154 | * @num_of_soft_lli_chans: The number of channels that needs to be configured | ||
155 | * to use SoftLLI. | ||
156 | * @use_esram_lcla: flag for mapping the lcla into esram region | ||
157 | * @num_of_phy_chans: The number of physical channels implemented in HW. | ||
158 | * 0 means reading the number of channels from DMA HW but this is only valid | ||
159 | * for 'multiple of 4' channels, like 8. | ||
150 | */ | 160 | */ |
151 | struct stedma40_platform_data { | 161 | struct stedma40_platform_data { |
152 | u32 dev_len; | 162 | u32 dev_len; |
@@ -157,7 +167,10 @@ struct stedma40_platform_data { | |||
157 | struct stedma40_chan_cfg *memcpy_conf_phy; | 167 | struct stedma40_chan_cfg *memcpy_conf_phy; |
158 | struct stedma40_chan_cfg *memcpy_conf_log; | 168 | struct stedma40_chan_cfg *memcpy_conf_log; |
159 | int disabled_channels[STEDMA40_MAX_PHYS]; | 169 | int disabled_channels[STEDMA40_MAX_PHYS]; |
170 | int *soft_lli_chans; | ||
171 | int num_of_soft_lli_chans; | ||
160 | bool use_esram_lcla; | 172 | bool use_esram_lcla; |
173 | int num_of_phy_chans; | ||
161 | }; | 174 | }; |
162 | 175 | ||
163 | #ifdef CONFIG_STE_DMA40 | 176 | #ifdef CONFIG_STE_DMA40 |
diff --git a/include/linux/platform_data/elm.h b/include/linux/platform_data/elm.h new file mode 100644 index 000000000000..1bd5244d1dcd --- /dev/null +++ b/include/linux/platform_data/elm.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | * BCH Error Location Module | ||
3 | * | ||
4 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | ||
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 as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | */ | ||
17 | |||
18 | #ifndef __ELM_H | ||
19 | #define __ELM_H | ||
20 | |||
21 | enum bch_ecc { | ||
22 | BCH4_ECC = 0, | ||
23 | BCH8_ECC, | ||
24 | }; | ||
25 | |||
26 | /* ELM support 8 error syndrome process */ | ||
27 | #define ERROR_VECTOR_MAX 8 | ||
28 | |||
29 | #define BCH8_ECC_OOB_BYTES 13 | ||
30 | #define BCH4_ECC_OOB_BYTES 7 | ||
31 | /* RBL requires 14 byte even though BCH8 uses only 13 byte */ | ||
32 | #define BCH8_SIZE (BCH8_ECC_OOB_BYTES + 1) | ||
33 | /* Uses 1 extra byte to handle erased pages */ | ||
34 | #define BCH4_SIZE (BCH4_ECC_OOB_BYTES + 1) | ||
35 | |||
36 | /** | ||
37 | * struct elm_errorvec - error vector for elm | ||
38 | * @error_reported: set true for vectors error is reported | ||
39 | * @error_uncorrectable: number of uncorrectable errors | ||
40 | * @error_count: number of correctable errors in the sector | ||
41 | * @error_loc: buffer for error location | ||
42 | * | ||
43 | */ | ||
44 | struct elm_errorvec { | ||
45 | bool error_reported; | ||
46 | bool error_uncorrectable; | ||
47 | int error_count; | ||
48 | int error_loc[ERROR_VECTOR_MAX]; | ||
49 | }; | ||
50 | |||
51 | void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc, | ||
52 | struct elm_errorvec *err_vec); | ||
53 | void elm_config(struct device *dev, enum bch_ecc bch_type); | ||
54 | #endif /* __ELM_H */ | ||
diff --git a/include/linux/platform_data/exynos_thermal.h b/include/linux/platform_data/exynos_thermal.h index a7bdb2f63b73..da7e6274b175 100644 --- a/include/linux/platform_data/exynos_thermal.h +++ b/include/linux/platform_data/exynos_thermal.h | |||
@@ -53,6 +53,8 @@ struct freq_clip_table { | |||
53 | * struct exynos_tmu_platform_data | 53 | * struct exynos_tmu_platform_data |
54 | * @threshold: basic temperature for generating interrupt | 54 | * @threshold: basic temperature for generating interrupt |
55 | * 25 <= threshold <= 125 [unit: degree Celsius] | 55 | * 25 <= threshold <= 125 [unit: degree Celsius] |
56 | * @threshold_falling: differntial value for setting threshold | ||
57 | * of temperature falling interrupt. | ||
56 | * @trigger_levels: array for each interrupt levels | 58 | * @trigger_levels: array for each interrupt levels |
57 | * [unit: degree Celsius] | 59 | * [unit: degree Celsius] |
58 | * 0: temperature for trigger_level0 interrupt | 60 | * 0: temperature for trigger_level0 interrupt |
@@ -97,6 +99,7 @@ struct freq_clip_table { | |||
97 | */ | 99 | */ |
98 | struct exynos_tmu_platform_data { | 100 | struct exynos_tmu_platform_data { |
99 | u8 threshold; | 101 | u8 threshold; |
102 | u8 threshold_falling; | ||
100 | u8 trigger_levels[4]; | 103 | u8 trigger_levels[4]; |
101 | bool trigger_level0_en; | 104 | bool trigger_level0_en; |
102 | bool trigger_level1_en; | 105 | bool trigger_level1_en; |
diff --git a/include/linux/platform_data/i2c-s3c2410.h b/include/linux/platform_data/i2c-s3c2410.h index 51d52e767a19..2a50048c1c44 100644 --- a/include/linux/platform_data/i2c-s3c2410.h +++ b/include/linux/platform_data/i2c-s3c2410.h | |||
@@ -15,6 +15,8 @@ | |||
15 | 15 | ||
16 | #define S3C_IICFLG_FILTER (1<<0) /* enable s3c2440 filter */ | 16 | #define S3C_IICFLG_FILTER (1<<0) /* enable s3c2440 filter */ |
17 | 17 | ||
18 | struct platform_device; | ||
19 | |||
18 | /** | 20 | /** |
19 | * struct s3c2410_platform_i2c - Platform data for s3c I2C. | 21 | * struct s3c2410_platform_i2c - Platform data for s3c I2C. |
20 | * @bus_num: The bus number to use (if possible). | 22 | * @bus_num: The bus number to use (if possible). |
diff --git a/include/linux/platform_data/invensense_mpu6050.h b/include/linux/platform_data/invensense_mpu6050.h new file mode 100644 index 000000000000..ad3aa7b95f35 --- /dev/null +++ b/include/linux/platform_data/invensense_mpu6050.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Invensense, Inc. | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | #ifndef __INV_MPU6050_PLATFORM_H_ | ||
15 | #define __INV_MPU6050_PLATFORM_H_ | ||
16 | |||
17 | /** | ||
18 | * struct inv_mpu6050_platform_data - Platform data for the mpu driver | ||
19 | * @orientation: Orientation matrix of the chip | ||
20 | * | ||
21 | * Contains platform specific information on how to configure the MPU6050 to | ||
22 | * work on this platform. The orientation matricies are 3x3 rotation matricies | ||
23 | * that are applied to the data to rotate from the mounting orientation to the | ||
24 | * platform orientation. The values must be one of 0, 1, or -1 and each row and | ||
25 | * column should have exactly 1 non-zero value. | ||
26 | */ | ||
27 | struct inv_mpu6050_platform_data { | ||
28 | __s8 orientation[9]; | ||
29 | }; | ||
30 | |||
31 | #endif | ||
diff --git a/include/linux/platform_data/leds-lp55xx.h b/include/linux/platform_data/leds-lp55xx.h new file mode 100644 index 000000000000..1509570d5a3f --- /dev/null +++ b/include/linux/platform_data/leds-lp55xx.h | |||
@@ -0,0 +1,87 @@ | |||
1 | /* | ||
2 | * LP55XX Platform Data Header | ||
3 | * | ||
4 | * Copyright (C) 2012 Texas Instruments | ||
5 | * | ||
6 | * Author: Milo(Woogyom) Kim <milo.kim@ti.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License | ||
10 | * version 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * Derived from leds-lp5521.h, leds-lp5523.h | ||
13 | */ | ||
14 | |||
15 | #ifndef _LEDS_LP55XX_H | ||
16 | #define _LEDS_LP55XX_H | ||
17 | |||
18 | /* Clock configuration */ | ||
19 | #define LP55XX_CLOCK_AUTO 0 | ||
20 | #define LP55XX_CLOCK_INT 1 | ||
21 | #define LP55XX_CLOCK_EXT 2 | ||
22 | |||
23 | /* Bits in LP5521 CONFIG register. 'update_config' in lp55xx_platform_data */ | ||
24 | #define LP5521_PWM_HF 0x40 /* PWM: 0 = 256Hz, 1 = 558Hz */ | ||
25 | #define LP5521_PWRSAVE_EN 0x20 /* 1 = Power save mode */ | ||
26 | #define LP5521_CP_MODE_OFF 0 /* Charge pump (CP) off */ | ||
27 | #define LP5521_CP_MODE_BYPASS 8 /* CP forced to bypass mode */ | ||
28 | #define LP5521_CP_MODE_1X5 0x10 /* CP forced to 1.5x mode */ | ||
29 | #define LP5521_CP_MODE_AUTO 0x18 /* Automatic mode selection */ | ||
30 | #define LP5521_R_TO_BATT 4 /* R out: 0 = CP, 1 = Vbat */ | ||
31 | #define LP5521_CLK_SRC_EXT 0 /* Ext-clk source (CLK_32K) */ | ||
32 | #define LP5521_CLK_INT 1 /* Internal clock */ | ||
33 | #define LP5521_CLK_AUTO 2 /* Automatic clock selection */ | ||
34 | |||
35 | struct lp55xx_led_config { | ||
36 | const char *name; | ||
37 | u8 chan_nr; | ||
38 | u8 led_current; /* mA x10, 0 if led is not connected */ | ||
39 | u8 max_current; | ||
40 | }; | ||
41 | |||
42 | struct lp55xx_predef_pattern { | ||
43 | u8 *r; | ||
44 | u8 *g; | ||
45 | u8 *b; | ||
46 | u8 size_r; | ||
47 | u8 size_g; | ||
48 | u8 size_b; | ||
49 | }; | ||
50 | |||
51 | /* | ||
52 | * struct lp55xx_platform_data | ||
53 | * @led_config : Configurable led class device | ||
54 | * @num_channels : Number of LED channels | ||
55 | * @label : Used for naming LEDs | ||
56 | * @clock_mode : Input clock mode. LP55XX_CLOCK_AUTO or _INT or _EXT | ||
57 | * @setup_resources : Platform specific function before enabling the chip | ||
58 | * @release_resources : Platform specific function after disabling the chip | ||
59 | * @enable : EN pin control by platform side | ||
60 | * @patterns : Predefined pattern data for RGB channels | ||
61 | * @num_patterns : Number of patterns | ||
62 | * @update_config : Value of CONFIG register | ||
63 | */ | ||
64 | struct lp55xx_platform_data { | ||
65 | |||
66 | /* LED channel configuration */ | ||
67 | struct lp55xx_led_config *led_config; | ||
68 | u8 num_channels; | ||
69 | const char *label; | ||
70 | |||
71 | /* Clock configuration */ | ||
72 | u8 clock_mode; | ||
73 | |||
74 | /* Platform specific functions */ | ||
75 | int (*setup_resources)(void); | ||
76 | void (*release_resources)(void); | ||
77 | void (*enable)(bool state); | ||
78 | |||
79 | /* Predefined pattern data */ | ||
80 | struct lp55xx_predef_pattern *patterns; | ||
81 | unsigned int num_patterns; | ||
82 | |||
83 | /* _CONFIG register */ | ||
84 | u8 update_config; | ||
85 | }; | ||
86 | |||
87 | #endif /* _LEDS_LP55XX_H */ | ||
diff --git a/include/linux/platform_data/lp855x.h b/include/linux/platform_data/lp855x.h index e81f62d24ee2..20ee8b221dbd 100644 --- a/include/linux/platform_data/lp855x.h +++ b/include/linux/platform_data/lp855x.h | |||
@@ -49,12 +49,24 @@ | |||
49 | #define LP8556_FAST_CONFIG BIT(7) /* use it if EPROMs should be maintained | 49 | #define LP8556_FAST_CONFIG BIT(7) /* use it if EPROMs should be maintained |
50 | when exiting the low power mode */ | 50 | when exiting the low power mode */ |
51 | 51 | ||
52 | /* CONFIG register - LP8557 */ | ||
53 | #define LP8557_PWM_STANDBY BIT(7) | ||
54 | #define LP8557_PWM_FILTER BIT(6) | ||
55 | #define LP8557_RELOAD_EPROM BIT(3) /* use it if EPROMs should be reset | ||
56 | when the backlight turns on */ | ||
57 | #define LP8557_OFF_OPENLEDS BIT(2) | ||
58 | #define LP8557_PWM_CONFIG LP8557_PWM_ONLY | ||
59 | #define LP8557_I2C_CONFIG LP8557_I2C_ONLY | ||
60 | #define LP8557_COMB1_CONFIG LP8557_COMBINED1 | ||
61 | #define LP8557_COMB2_CONFIG LP8557_COMBINED2 | ||
62 | |||
52 | enum lp855x_chip_id { | 63 | enum lp855x_chip_id { |
53 | LP8550, | 64 | LP8550, |
54 | LP8551, | 65 | LP8551, |
55 | LP8552, | 66 | LP8552, |
56 | LP8553, | 67 | LP8553, |
57 | LP8556, | 68 | LP8556, |
69 | LP8557, | ||
58 | }; | 70 | }; |
59 | 71 | ||
60 | enum lp855x_brightness_ctrl_mode { | 72 | enum lp855x_brightness_ctrl_mode { |
@@ -89,6 +101,13 @@ enum lp8556_brightness_source { | |||
89 | LP8556_COMBINED2, /* pwm + i2c after the shaper block */ | 101 | LP8556_COMBINED2, /* pwm + i2c after the shaper block */ |
90 | }; | 102 | }; |
91 | 103 | ||
104 | enum lp8557_brightness_source { | ||
105 | LP8557_PWM_ONLY, | ||
106 | LP8557_I2C_ONLY, | ||
107 | LP8557_COMBINED1, /* pwm + i2c after the shaper block */ | ||
108 | LP8557_COMBINED2, /* pwm + i2c before the shaper block */ | ||
109 | }; | ||
110 | |||
92 | struct lp855x_rom_data { | 111 | struct lp855x_rom_data { |
93 | u8 addr; | 112 | u8 addr; |
94 | u8 val; | 113 | u8 val; |
diff --git a/include/linux/platform_data/lp8755.h b/include/linux/platform_data/lp8755.h new file mode 100644 index 000000000000..a7fd0776c9bf --- /dev/null +++ b/include/linux/platform_data/lp8755.h | |||
@@ -0,0 +1,71 @@ | |||
1 | /* | ||
2 | * LP8755 High Performance Power Management Unit Driver:System Interface Driver | ||
3 | * | ||
4 | * Copyright (C) 2012 Texas Instruments | ||
5 | * | ||
6 | * Author: Daniel(Geon Si) Jeong <daniel.jeong@ti.com> | ||
7 | * G.Shark Jeong <gshark.jeong@gmail.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 version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | * | ||
13 | */ | ||
14 | |||
15 | #ifndef _LP8755_H | ||
16 | #define _LP8755_H | ||
17 | |||
18 | #include <linux/regulator/consumer.h> | ||
19 | |||
20 | #define LP8755_NAME "lp8755-regulator" | ||
21 | /* | ||
22 | *PWR FAULT : power fault detected | ||
23 | *OCP : over current protect activated | ||
24 | *OVP : over voltage protect activated | ||
25 | *TEMP_WARN : thermal warning | ||
26 | *TEMP_SHDN : thermal shutdonw detected | ||
27 | *I_LOAD : current measured | ||
28 | */ | ||
29 | #define LP8755_EVENT_PWR_FAULT REGULATOR_EVENT_FAIL | ||
30 | #define LP8755_EVENT_OCP REGULATOR_EVENT_OVER_CURRENT | ||
31 | #define LP8755_EVENT_OVP 0x10000 | ||
32 | #define LP8755_EVENT_TEMP_WARN 0x2000 | ||
33 | #define LP8755_EVENT_TEMP_SHDN REGULATOR_EVENT_OVER_TEMP | ||
34 | #define LP8755_EVENT_I_LOAD 0x40000 | ||
35 | |||
36 | enum lp8755_bucks { | ||
37 | LP8755_BUCK0 = 0, | ||
38 | LP8755_BUCK1, | ||
39 | LP8755_BUCK2, | ||
40 | LP8755_BUCK3, | ||
41 | LP8755_BUCK4, | ||
42 | LP8755_BUCK5, | ||
43 | LP8755_BUCK_MAX, | ||
44 | }; | ||
45 | |||
46 | /** | ||
47 | * multiphase configuration options | ||
48 | */ | ||
49 | enum lp8755_mphase_config { | ||
50 | MPHASE_CONF0, | ||
51 | MPHASE_CONF1, | ||
52 | MPHASE_CONF2, | ||
53 | MPHASE_CONF3, | ||
54 | MPHASE_CONF4, | ||
55 | MPHASE_CONF5, | ||
56 | MPHASE_CONF6, | ||
57 | MPHASE_CONF7, | ||
58 | MPHASE_CONF8, | ||
59 | MPHASE_CONF_MAX | ||
60 | }; | ||
61 | |||
62 | /** | ||
63 | * struct lp8755_platform_data | ||
64 | * @mphase_type : Multiphase Switcher Configurations. | ||
65 | * @buck_data : buck0~6 init voltage in uV | ||
66 | */ | ||
67 | struct lp8755_platform_data { | ||
68 | int mphase; | ||
69 | struct regulator_init_data *buck_data[LP8755_BUCK_MAX]; | ||
70 | }; | ||
71 | #endif | ||
diff --git a/include/linux/platform_data/max6697.h b/include/linux/platform_data/max6697.h new file mode 100644 index 000000000000..ed9d3b3daf02 --- /dev/null +++ b/include/linux/platform_data/max6697.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * max6697.h | ||
3 | * Copyright (c) 2012 Guenter Roeck <linux@roeck-us.net> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #ifndef MAX6697_H | ||
11 | #define MAX6697_H | ||
12 | |||
13 | #include <linux/types.h> | ||
14 | |||
15 | /* | ||
16 | * For all bit masks: | ||
17 | * bit 0: local temperature | ||
18 | * bit 1..7: remote temperatures | ||
19 | */ | ||
20 | struct max6697_platform_data { | ||
21 | bool smbus_timeout_disable; /* set to disable SMBus timeouts */ | ||
22 | bool extended_range_enable; /* set to enable extended temp range */ | ||
23 | bool beta_compensation; /* set to enable beta compensation */ | ||
24 | u8 alert_mask; /* set bit to 1 to disable alert */ | ||
25 | u8 over_temperature_mask; /* set bit to 1 to disable */ | ||
26 | u8 resistance_cancellation; /* set bit to 0 to disable | ||
27 | * bit mask for MAX6581, | ||
28 | * boolean for other chips | ||
29 | */ | ||
30 | u8 ideality_mask; /* set bit to 0 to disable */ | ||
31 | u8 ideality_value; /* transistor ideality as per | ||
32 | * MAX6581 datasheet | ||
33 | */ | ||
34 | }; | ||
35 | |||
36 | #endif /* MAX6697_H */ | ||
diff --git a/include/linux/platform_data/microread.h b/include/linux/platform_data/microread.h new file mode 100644 index 000000000000..cfda59b226ee --- /dev/null +++ b/include/linux/platform_data/microread.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /* | ||
2 | * Driver include for the PN544 NFC chip. | ||
3 | * | ||
4 | * Copyright (C) 2011 Tieto Poland | ||
5 | * Copyright (C) 2012 Intel Corporation. All rights reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * version 2 as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | #ifndef _MICROREAD_H | ||
22 | #define _MICROREAD_H | ||
23 | |||
24 | #include <linux/i2c.h> | ||
25 | |||
26 | #define MICROREAD_DRIVER_NAME "microread" | ||
27 | |||
28 | /* board config platform data for microread */ | ||
29 | struct microread_nfc_platform_data { | ||
30 | unsigned int rst_gpio; | ||
31 | unsigned int irq_gpio; | ||
32 | unsigned int ioh_gpio; | ||
33 | }; | ||
34 | |||
35 | #endif /* _MICROREAD_H */ | ||
diff --git a/include/linux/platform_data/mmc-esdhc-imx.h b/include/linux/platform_data/mmc-esdhc-imx.h index aaf97481f413..b4a0521ce411 100644 --- a/include/linux/platform_data/mmc-esdhc-imx.h +++ b/include/linux/platform_data/mmc-esdhc-imx.h | |||
@@ -39,5 +39,6 @@ struct esdhc_platform_data { | |||
39 | unsigned int cd_gpio; | 39 | unsigned int cd_gpio; |
40 | enum wp_types wp_type; | 40 | enum wp_types wp_type; |
41 | enum cd_types cd_type; | 41 | enum cd_types cd_type; |
42 | int max_bus_width; | ||
42 | }; | 43 | }; |
43 | #endif /* __ASM_ARCH_IMX_ESDHC_H */ | 44 | #endif /* __ASM_ARCH_IMX_ESDHC_H */ |
diff --git a/include/linux/platform_data/mmc-sdhci-tegra.h b/include/linux/platform_data/mmc-sdhci-tegra.h deleted file mode 100644 index 8f8430697686..000000000000 --- a/include/linux/platform_data/mmc-sdhci-tegra.h +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 Palm, Inc. | ||
3 | * Author: Yvonne Yip <y@palm.com> | ||
4 | * | ||
5 | * This software is licensed under the terms of the GNU General Public | ||
6 | * License version 2, as published by the Free Software Foundation, and | ||
7 | * may be copied, distributed, and modified under those terms. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | */ | ||
15 | #ifndef __PLATFORM_DATA_TEGRA_SDHCI_H | ||
16 | #define __PLATFORM_DATA_TEGRA_SDHCI_H | ||
17 | |||
18 | #include <linux/mmc/host.h> | ||
19 | |||
20 | struct tegra_sdhci_platform_data { | ||
21 | int cd_gpio; | ||
22 | int wp_gpio; | ||
23 | int power_gpio; | ||
24 | int is_8bit; | ||
25 | int pm_flags; | ||
26 | }; | ||
27 | |||
28 | #endif | ||
diff --git a/include/linux/platform_data/mtd-nand-omap2.h b/include/linux/platform_data/mtd-nand-omap2.h index 24d32ca34bef..6bf9ef43ddb1 100644 --- a/include/linux/platform_data/mtd-nand-omap2.h +++ b/include/linux/platform_data/mtd-nand-omap2.h | |||
@@ -60,6 +60,8 @@ struct omap_nand_platform_data { | |||
60 | int devsize; | 60 | int devsize; |
61 | enum omap_ecc ecc_opt; | 61 | enum omap_ecc ecc_opt; |
62 | struct gpmc_nand_regs reg; | 62 | struct gpmc_nand_regs reg; |
63 | }; | ||
64 | 63 | ||
64 | /* for passing the partitions */ | ||
65 | struct device_node *of_node; | ||
66 | }; | ||
65 | #endif | 67 | #endif |
diff --git a/include/linux/platform_data/mtd-onenand-omap2.h b/include/linux/platform_data/mtd-onenand-omap2.h index 685af7e8b120..e9a9fb188f97 100644 --- a/include/linux/platform_data/mtd-onenand-omap2.h +++ b/include/linux/platform_data/mtd-onenand-omap2.h | |||
@@ -29,5 +29,8 @@ struct omap_onenand_platform_data { | |||
29 | u8 flags; | 29 | u8 flags; |
30 | u8 regulator_can_sleep; | 30 | u8 regulator_can_sleep; |
31 | u8 skip_initial_unlocking; | 31 | u8 skip_initial_unlocking; |
32 | |||
33 | /* for passing the partitions */ | ||
34 | struct device_node *of_node; | ||
32 | }; | 35 | }; |
33 | #endif | 36 | #endif |
diff --git a/include/linux/platform_data/s3c-hsotg.h b/include/linux/platform_data/s3c-hsotg.h index 8b79e0967f9c..3f1cbf95ec3b 100644 --- a/include/linux/platform_data/s3c-hsotg.h +++ b/include/linux/platform_data/s3c-hsotg.h | |||
@@ -15,6 +15,8 @@ | |||
15 | #ifndef __LINUX_USB_S3C_HSOTG_H | 15 | #ifndef __LINUX_USB_S3C_HSOTG_H |
16 | #define __LINUX_USB_S3C_HSOTG_H | 16 | #define __LINUX_USB_S3C_HSOTG_H |
17 | 17 | ||
18 | struct platform_device; | ||
19 | |||
18 | enum s3c_hsotg_dmamode { | 20 | enum s3c_hsotg_dmamode { |
19 | S3C_HSOTG_DMA_NONE, /* do not use DMA at-all */ | 21 | S3C_HSOTG_DMA_NONE, /* do not use DMA at-all */ |
20 | S3C_HSOTG_DMA_ONLY, /* always use DMA */ | 22 | S3C_HSOTG_DMA_ONLY, /* always use DMA */ |
diff --git a/include/linux/platform_data/samsung-usbphy.h b/include/linux/platform_data/samsung-usbphy.h new file mode 100644 index 000000000000..1bd24cba982b --- /dev/null +++ b/include/linux/platform_data/samsung-usbphy.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Samsung Electronics Co.Ltd | ||
3 | * http://www.samsung.com/ | ||
4 | * Author: Praveen Paneri <p.paneri@samsung.com> | ||
5 | * | ||
6 | * Defines platform data for samsung usb phy driver. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | */ | ||
13 | |||
14 | #ifndef __SAMSUNG_USBPHY_PLATFORM_H | ||
15 | #define __SAMSUNG_USBPHY_PLATFORM_H | ||
16 | |||
17 | /** | ||
18 | * samsung_usbphy_data - Platform data for USB PHY driver. | ||
19 | * @pmu_isolation: Function to control usb phy isolation in PMU. | ||
20 | */ | ||
21 | struct samsung_usbphy_data { | ||
22 | void (*pmu_isolation)(int on); | ||
23 | }; | ||
24 | |||
25 | extern void samsung_usbphy_set_pdata(struct samsung_usbphy_data *pd); | ||
26 | |||
27 | #endif /* __SAMSUNG_USBPHY_PLATFORM_H */ | ||
diff --git a/include/linux/platform_data/sccnxp.h b/include/linux/platform_data/serial-sccnxp.h index 7311ccd3217f..215574d1e81d 100644 --- a/include/linux/platform_data/sccnxp.h +++ b/include/linux/platform_data/serial-sccnxp.h | |||
@@ -11,8 +11,8 @@ | |||
11 | * (at your option) any later version. | 11 | * (at your option) any later version. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #ifndef __SCCNXP_H | 14 | #ifndef _PLATFORM_DATA_SERIAL_SCCNXP_H_ |
15 | #define __SCCNXP_H | 15 | #define _PLATFORM_DATA_SERIAL_SCCNXP_H_ |
16 | 16 | ||
17 | #define SCCNXP_MAX_UARTS 2 | 17 | #define SCCNXP_MAX_UARTS 2 |
18 | 18 | ||
@@ -84,6 +84,8 @@ struct sccnxp_pdata { | |||
84 | const u8 reg_shift; | 84 | const u8 reg_shift; |
85 | /* Modem control lines configuration */ | 85 | /* Modem control lines configuration */ |
86 | const u32 mctrl_cfg[SCCNXP_MAX_UARTS]; | 86 | const u32 mctrl_cfg[SCCNXP_MAX_UARTS]; |
87 | /* Timer value for polling mode (usecs) */ | ||
88 | const unsigned int poll_time_us; | ||
87 | /* Called during startup */ | 89 | /* Called during startup */ |
88 | void (*init)(void); | 90 | void (*init)(void); |
89 | /* Called before finish */ | 91 | /* Called before finish */ |
diff --git a/include/linux/platform_data/sh_ipmmu.h b/include/linux/platform_data/sh_ipmmu.h new file mode 100644 index 000000000000..39f7405cdac5 --- /dev/null +++ b/include/linux/platform_data/sh_ipmmu.h | |||
@@ -0,0 +1,18 @@ | |||
1 | /* sh_ipmmu.h | ||
2 | * | ||
3 | * Copyright (C) 2012 Hideki EIRAKU | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; version 2 of the License. | ||
8 | */ | ||
9 | |||
10 | #ifndef __SH_IPMMU_H__ | ||
11 | #define __SH_IPMMU_H__ | ||
12 | |||
13 | struct shmobile_ipmmu_platform_data { | ||
14 | const char * const *dev_names; | ||
15 | unsigned int num_dev_names; | ||
16 | }; | ||
17 | |||
18 | #endif /* __SH_IPMMU_H__ */ | ||
diff --git a/include/linux/platform_data/spi-omap2-mcspi.h b/include/linux/platform_data/spi-omap2-mcspi.h index a65572d53211..c100456eab17 100644 --- a/include/linux/platform_data/spi-omap2-mcspi.h +++ b/include/linux/platform_data/spi-omap2-mcspi.h | |||
@@ -22,6 +22,9 @@ struct omap2_mcspi_dev_attr { | |||
22 | 22 | ||
23 | struct omap2_mcspi_device_config { | 23 | struct omap2_mcspi_device_config { |
24 | unsigned turbo_mode:1; | 24 | unsigned turbo_mode:1; |
25 | |||
26 | /* toggle chip select after every word */ | ||
27 | unsigned cs_per_word:1; | ||
25 | }; | 28 | }; |
26 | 29 | ||
27 | #endif | 30 | #endif |
diff --git a/include/linux/platform_data/tsl2563.h b/include/linux/platform_data/tsl2563.h new file mode 100644 index 000000000000..c90d7a09dda7 --- /dev/null +++ b/include/linux/platform_data/tsl2563.h | |||
@@ -0,0 +1,8 @@ | |||
1 | #ifndef __LINUX_TSL2563_H | ||
2 | #define __LINUX_TSL2563_H | ||
3 | |||
4 | struct tsl2563_platform_data { | ||
5 | int cover_comp_gain; | ||
6 | }; | ||
7 | |||
8 | #endif /* __LINUX_TSL2563_H */ | ||
diff --git a/include/linux/platform_data/usb-omap.h b/include/linux/platform_data/usb-omap.h index ef65b67c56c3..fa579b4c666b 100644 --- a/include/linux/platform_data/usb-omap.h +++ b/include/linux/platform_data/usb-omap.h | |||
@@ -55,13 +55,18 @@ struct ohci_hcd_omap_platform_data { | |||
55 | }; | 55 | }; |
56 | 56 | ||
57 | struct usbhs_omap_platform_data { | 57 | struct usbhs_omap_platform_data { |
58 | enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS]; | 58 | int nports; |
59 | enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS]; | ||
60 | int reset_gpio_port[OMAP3_HS_USB_PORTS]; | ||
61 | struct regulator *regulator[OMAP3_HS_USB_PORTS]; | ||
59 | 62 | ||
60 | struct ehci_hcd_omap_platform_data *ehci_data; | 63 | struct ehci_hcd_omap_platform_data *ehci_data; |
61 | struct ohci_hcd_omap_platform_data *ohci_data; | 64 | struct ohci_hcd_omap_platform_data *ohci_data; |
62 | 65 | ||
63 | /* OMAP3 <= ES2.1 have a single ulpi bypass control bit */ | 66 | /* OMAP3 <= ES2.1 have a single ulpi bypass control bit */ |
64 | unsigned single_ulpi_bypass:1; | 67 | unsigned single_ulpi_bypass:1; |
68 | unsigned es2_compatibility:1; | ||
69 | unsigned phy_reset:1; | ||
65 | }; | 70 | }; |
66 | 71 | ||
67 | /*-------------------------------------------------------------------------*/ | 72 | /*-------------------------------------------------------------------------*/ |
diff --git a/include/linux/platform_data/usb3503.h b/include/linux/platform_data/usb3503.h new file mode 100644 index 000000000000..85dcc709f7e9 --- /dev/null +++ b/include/linux/platform_data/usb3503.h | |||
@@ -0,0 +1,19 @@ | |||
1 | #ifndef __USB3503_H__ | ||
2 | #define __USB3503_H__ | ||
3 | |||
4 | #define USB3503_I2C_NAME "usb3503" | ||
5 | |||
6 | enum usb3503_mode { | ||
7 | USB3503_MODE_UNKNOWN, | ||
8 | USB3503_MODE_HUB, | ||
9 | USB3503_MODE_STANDBY, | ||
10 | }; | ||
11 | |||
12 | struct usb3503_platform_data { | ||
13 | enum usb3503_mode initial_mode; | ||
14 | int gpio_intn; | ||
15 | int gpio_connect; | ||
16 | int gpio_reset; | ||
17 | }; | ||
18 | |||
19 | #endif | ||
diff --git a/include/linux/platform_data/ux500_wdt.h b/include/linux/platform_data/ux500_wdt.h new file mode 100644 index 000000000000..1689ff4c3bfd --- /dev/null +++ b/include/linux/platform_data/ux500_wdt.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | * Copyright (C) ST Ericsson SA 2011 | ||
3 | * | ||
4 | * License Terms: GNU General Public License v2 | ||
5 | * | ||
6 | * STE Ux500 Watchdog platform data | ||
7 | */ | ||
8 | #ifndef __UX500_WDT_H | ||
9 | #define __UX500_WDT_H | ||
10 | |||
11 | /** | ||
12 | * struct ux500_wdt_data | ||
13 | */ | ||
14 | struct ux500_wdt_data { | ||
15 | unsigned int timeout; | ||
16 | bool has_28_bits_resolution; | ||
17 | }; | ||
18 | |||
19 | #endif /* __UX500_WDT_H */ | ||