diff options
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r-- | include/linux/platform_data/at24.h | 2 | ||||
-rw-r--r-- | include/linux/platform_data/i2c-davinci.h | 5 | ||||
-rw-r--r-- | include/linux/platform_data/i2c-pxa.h | 74 | ||||
-rw-r--r-- | include/linux/platform_data/mlxcpld-hotplug.h | 99 | ||||
-rw-r--r-- | include/linux/platform_data/mlxreg.h | 144 | ||||
-rw-r--r-- | include/linux/platform_data/mms114.h | 24 | ||||
-rw-r--r-- | include/linux/platform_data/mtd-onenand-omap2.h | 34 | ||||
-rw-r--r-- | include/linux/platform_data/si5351.h | 2 | ||||
-rw-r--r-- | include/linux/platform_data/spi-s3c64xx.h | 6 | ||||
-rw-r--r-- | include/linux/platform_data/ti-sysc.h | 86 |
10 files changed, 312 insertions, 164 deletions
diff --git a/include/linux/platform_data/at24.h b/include/linux/platform_data/at24.h index 271a4e25af67..63507ff464ee 100644 --- a/include/linux/platform_data/at24.h +++ b/include/linux/platform_data/at24.h | |||
@@ -50,6 +50,8 @@ struct at24_platform_data { | |||
50 | #define AT24_FLAG_TAKE8ADDR BIT(4) /* take always 8 addresses (24c00) */ | 50 | #define AT24_FLAG_TAKE8ADDR BIT(4) /* take always 8 addresses (24c00) */ |
51 | #define AT24_FLAG_SERIAL BIT(3) /* factory-programmed serial number */ | 51 | #define AT24_FLAG_SERIAL BIT(3) /* factory-programmed serial number */ |
52 | #define AT24_FLAG_MAC BIT(2) /* factory-programmed mac address */ | 52 | #define AT24_FLAG_MAC BIT(2) /* factory-programmed mac address */ |
53 | #define AT24_FLAG_NO_RDROL BIT(1) /* does not auto-rollover reads to */ | ||
54 | /* the next slave address */ | ||
53 | 55 | ||
54 | void (*setup)(struct nvmem_device *nvmem, void *context); | 56 | void (*setup)(struct nvmem_device *nvmem, void *context); |
55 | void *context; | 57 | void *context; |
diff --git a/include/linux/platform_data/i2c-davinci.h b/include/linux/platform_data/i2c-davinci.h index 89fd34727a24..98967df07468 100644 --- a/include/linux/platform_data/i2c-davinci.h +++ b/include/linux/platform_data/i2c-davinci.h | |||
@@ -16,9 +16,8 @@ | |||
16 | struct davinci_i2c_platform_data { | 16 | struct davinci_i2c_platform_data { |
17 | unsigned int bus_freq; /* standard bus frequency (kHz) */ | 17 | unsigned int bus_freq; /* standard bus frequency (kHz) */ |
18 | unsigned int bus_delay; /* post-transaction delay (usec) */ | 18 | unsigned int bus_delay; /* post-transaction delay (usec) */ |
19 | unsigned int sda_pin; /* GPIO pin ID to use for SDA */ | 19 | bool gpio_recovery; /* Use GPIO recovery method */ |
20 | unsigned int scl_pin; /* GPIO pin ID to use for SCL */ | 20 | bool has_pfunc; /* Chip has a ICPFUNC register */ |
21 | bool has_pfunc; /*chip has a ICPFUNC register */ | ||
22 | }; | 21 | }; |
23 | 22 | ||
24 | /* for board setup code */ | 23 | /* for board setup code */ |
diff --git a/include/linux/platform_data/i2c-pxa.h b/include/linux/platform_data/i2c-pxa.h new file mode 100644 index 000000000000..5236f216dfae --- /dev/null +++ b/include/linux/platform_data/i2c-pxa.h | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * i2c_pxa.h | ||
3 | * | ||
4 | * Copyright (C) 2002 Intrinsyc Software Inc. | ||
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 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | #ifndef _I2C_PXA_H_ | ||
12 | #define _I2C_PXA_H_ | ||
13 | |||
14 | #if 0 | ||
15 | #define DEF_TIMEOUT 3 | ||
16 | #else | ||
17 | /* need a longer timeout if we're dealing with the fact we may well be | ||
18 | * looking at a multi-master environment | ||
19 | */ | ||
20 | #define DEF_TIMEOUT 32 | ||
21 | #endif | ||
22 | |||
23 | #define BUS_ERROR (-EREMOTEIO) | ||
24 | #define XFER_NAKED (-ECONNREFUSED) | ||
25 | #define I2C_RETRY (-2000) /* an error has occurred retry transmit */ | ||
26 | |||
27 | /* ICR initialize bit values | ||
28 | * | ||
29 | * 15. FM 0 (100 Khz operation) | ||
30 | * 14. UR 0 (No unit reset) | ||
31 | * 13. SADIE 0 (Disables the unit from interrupting on slave addresses | ||
32 | * matching its slave address) | ||
33 | * 12. ALDIE 0 (Disables the unit from interrupt when it loses arbitration | ||
34 | * in master mode) | ||
35 | * 11. SSDIE 0 (Disables interrupts from a slave stop detected, in slave mode) | ||
36 | * 10. BEIE 1 (Enable interrupts from detected bus errors, no ACK sent) | ||
37 | * 9. IRFIE 1 (Enable interrupts from full buffer received) | ||
38 | * 8. ITEIE 1 (Enables the I2C unit to interrupt when transmit buffer empty) | ||
39 | * 7. GCD 1 (Disables i2c unit response to general call messages as a slave) | ||
40 | * 6. IUE 0 (Disable unit until we change settings) | ||
41 | * 5. SCLE 1 (Enables the i2c clock output for master mode (drives SCL) | ||
42 | * 4. MA 0 (Only send stop with the ICR stop bit) | ||
43 | * 3. TB 0 (We are not transmitting a byte initially) | ||
44 | * 2. ACKNAK 0 (Send an ACK after the unit receives a byte) | ||
45 | * 1. STOP 0 (Do not send a STOP) | ||
46 | * 0. START 0 (Do not send a START) | ||
47 | * | ||
48 | */ | ||
49 | #define I2C_ICR_INIT (ICR_BEIE | ICR_IRFIE | ICR_ITEIE | ICR_GCD | ICR_SCLE) | ||
50 | |||
51 | /* I2C status register init values | ||
52 | * | ||
53 | * 10. BED 1 (Clear bus error detected) | ||
54 | * 9. SAD 1 (Clear slave address detected) | ||
55 | * 7. IRF 1 (Clear IDBR Receive Full) | ||
56 | * 6. ITE 1 (Clear IDBR Transmit Empty) | ||
57 | * 5. ALD 1 (Clear Arbitration Loss Detected) | ||
58 | * 4. SSD 1 (Clear Slave Stop Detected) | ||
59 | */ | ||
60 | #define I2C_ISR_INIT 0x7FF /* status register init */ | ||
61 | |||
62 | struct i2c_slave_client; | ||
63 | |||
64 | struct i2c_pxa_platform_data { | ||
65 | unsigned int slave_addr; | ||
66 | struct i2c_slave_client *slave; | ||
67 | unsigned int class; | ||
68 | unsigned int use_pio :1; | ||
69 | unsigned int fast_mode :1; | ||
70 | unsigned int high_mode:1; | ||
71 | unsigned char master_code; | ||
72 | unsigned long rate; | ||
73 | }; | ||
74 | #endif | ||
diff --git a/include/linux/platform_data/mlxcpld-hotplug.h b/include/linux/platform_data/mlxcpld-hotplug.h deleted file mode 100644 index e4cfcffaa6f4..000000000000 --- a/include/linux/platform_data/mlxcpld-hotplug.h +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | /* | ||
2 | * include/linux/platform_data/mlxcpld-hotplug.h | ||
3 | * Copyright (c) 2016 Mellanox Technologies. All rights reserved. | ||
4 | * Copyright (c) 2016 Vadim Pasternak <vadimp@mellanox.com> | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * | ||
9 | * 1. Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * 2. Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the distribution. | ||
14 | * 3. Neither the names of the copyright holders nor the names of its | ||
15 | * contributors may be used to endorse or promote products derived from | ||
16 | * this software without specific prior written permission. | ||
17 | * | ||
18 | * Alternatively, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") version 2 as published by the Free | ||
20 | * Software Foundation. | ||
21 | * | ||
22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
23 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
24 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
25 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
26 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
27 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
28 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
29 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
30 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
31 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
32 | * POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | #ifndef __LINUX_PLATFORM_DATA_MLXCPLD_HOTPLUG_H | ||
36 | #define __LINUX_PLATFORM_DATA_MLXCPLD_HOTPLUG_H | ||
37 | |||
38 | /** | ||
39 | * struct mlxcpld_hotplug_device - I2C device data: | ||
40 | * @adapter: I2C device adapter; | ||
41 | * @client: I2C device client; | ||
42 | * @brdinfo: device board information; | ||
43 | * @bus: I2C bus, where device is attached; | ||
44 | * | ||
45 | * Structure represents I2C hotplug device static data (board topology) and | ||
46 | * dynamic data (related kernel objects handles). | ||
47 | */ | ||
48 | struct mlxcpld_hotplug_device { | ||
49 | struct i2c_adapter *adapter; | ||
50 | struct i2c_client *client; | ||
51 | struct i2c_board_info brdinfo; | ||
52 | u16 bus; | ||
53 | }; | ||
54 | |||
55 | /** | ||
56 | * struct mlxcpld_hotplug_platform_data - device platform data: | ||
57 | * @top_aggr_offset: offset of top aggregation interrupt register; | ||
58 | * @top_aggr_mask: top aggregation interrupt common mask; | ||
59 | * @top_aggr_psu_mask: top aggregation interrupt PSU mask; | ||
60 | * @psu_reg_offset: offset of PSU interrupt register; | ||
61 | * @psu_mask: PSU interrupt mask; | ||
62 | * @psu_count: number of equipped replaceable PSUs; | ||
63 | * @psu: pointer to PSU devices data array; | ||
64 | * @top_aggr_pwr_mask: top aggregation interrupt power mask; | ||
65 | * @pwr_reg_offset: offset of power interrupt register | ||
66 | * @pwr_mask: power interrupt mask; | ||
67 | * @pwr_count: number of power sources; | ||
68 | * @pwr: pointer to power devices data array; | ||
69 | * @top_aggr_fan_mask: top aggregation interrupt FAN mask; | ||
70 | * @fan_reg_offset: offset of FAN interrupt register; | ||
71 | * @fan_mask: FAN interrupt mask; | ||
72 | * @fan_count: number of equipped replaceable FANs; | ||
73 | * @fan: pointer to FAN devices data array; | ||
74 | * | ||
75 | * Structure represents board platform data, related to system hotplug events, | ||
76 | * like FAN, PSU, power cable insertion and removing. This data provides the | ||
77 | * number of hot-pluggable devices and hardware description for event handling. | ||
78 | */ | ||
79 | struct mlxcpld_hotplug_platform_data { | ||
80 | u16 top_aggr_offset; | ||
81 | u8 top_aggr_mask; | ||
82 | u8 top_aggr_psu_mask; | ||
83 | u16 psu_reg_offset; | ||
84 | u8 psu_mask; | ||
85 | u8 psu_count; | ||
86 | struct mlxcpld_hotplug_device *psu; | ||
87 | u8 top_aggr_pwr_mask; | ||
88 | u16 pwr_reg_offset; | ||
89 | u8 pwr_mask; | ||
90 | u8 pwr_count; | ||
91 | struct mlxcpld_hotplug_device *pwr; | ||
92 | u8 top_aggr_fan_mask; | ||
93 | u16 fan_reg_offset; | ||
94 | u8 fan_mask; | ||
95 | u8 fan_count; | ||
96 | struct mlxcpld_hotplug_device *fan; | ||
97 | }; | ||
98 | |||
99 | #endif /* __LINUX_PLATFORM_DATA_MLXCPLD_HOTPLUG_H */ | ||
diff --git a/include/linux/platform_data/mlxreg.h b/include/linux/platform_data/mlxreg.h new file mode 100644 index 000000000000..fcdc707eab99 --- /dev/null +++ b/include/linux/platform_data/mlxreg.h | |||
@@ -0,0 +1,144 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2017 Mellanox Technologies. All rights reserved. | ||
3 | * Copyright (c) 2017 Vadim Pasternak <vadimp@mellanox.com> | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * | ||
8 | * 1. Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * 2. Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * 3. Neither the names of the copyright holders nor the names of its | ||
14 | * contributors may be used to endorse or promote products derived from | ||
15 | * this software without specific prior written permission. | ||
16 | * | ||
17 | * Alternatively, this software may be distributed under the terms of the | ||
18 | * GNU General Public License ("GPL") version 2 as published by the Free | ||
19 | * Software Foundation. | ||
20 | * | ||
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
22 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
25 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
26 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
27 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
30 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
31 | * POSSIBILITY OF SUCH DAMAGE. | ||
32 | */ | ||
33 | |||
34 | #ifndef __LINUX_PLATFORM_DATA_MLXREG_H | ||
35 | #define __LINUX_PLATFORM_DATA_MLXREG_H | ||
36 | |||
37 | #define MLXREG_CORE_LABEL_MAX_SIZE 32 | ||
38 | |||
39 | /** | ||
40 | * struct mlxreg_hotplug_device - I2C device data: | ||
41 | * | ||
42 | * @adapter: I2C device adapter; | ||
43 | * @client: I2C device client; | ||
44 | * @brdinfo: device board information; | ||
45 | * @nr: I2C device adapter number, to which device is to be attached; | ||
46 | * | ||
47 | * Structure represents I2C hotplug device static data (board topology) and | ||
48 | * dynamic data (related kernel objects handles). | ||
49 | */ | ||
50 | struct mlxreg_hotplug_device { | ||
51 | struct i2c_adapter *adapter; | ||
52 | struct i2c_client *client; | ||
53 | struct i2c_board_info *brdinfo; | ||
54 | int nr; | ||
55 | }; | ||
56 | |||
57 | /** | ||
58 | * struct mlxreg_core_data - attributes control data: | ||
59 | * | ||
60 | * @label: attribute label; | ||
61 | * @label: attribute register offset; | ||
62 | * @reg: attribute register; | ||
63 | * @mask: attribute access mask; | ||
64 | * @mode: access mode; | ||
65 | * @bit: attribute effective bit; | ||
66 | * @np - pointer to node platform associated with attribute; | ||
67 | * @hpdev - hotplug device data; | ||
68 | * @health_cntr: dynamic device health indication counter; | ||
69 | * @attached: true if device has been attached after good health indication; | ||
70 | */ | ||
71 | struct mlxreg_core_data { | ||
72 | char label[MLXREG_CORE_LABEL_MAX_SIZE]; | ||
73 | u32 reg; | ||
74 | u32 mask; | ||
75 | u32 bit; | ||
76 | umode_t mode; | ||
77 | struct device_node *np; | ||
78 | struct mlxreg_hotplug_device hpdev; | ||
79 | u8 health_cntr; | ||
80 | bool attached; | ||
81 | }; | ||
82 | |||
83 | /** | ||
84 | * struct mlxreg_core_item - same type components controlled by the driver: | ||
85 | * | ||
86 | * @data: component data; | ||
87 | * @aggr_mask: group aggregation mask; | ||
88 | * @reg: group interrupt status register; | ||
89 | * @mask: group interrupt mask; | ||
90 | * @cache: last status value for elements fro the same group; | ||
91 | * @count: number of available elements in the group; | ||
92 | * @ind: element's index inside the group; | ||
93 | * @inversed: if 0: 0 for signal status is OK, if 1 - 1 is OK; | ||
94 | * @health: true if device has health indication, false in other case; | ||
95 | */ | ||
96 | struct mlxreg_core_item { | ||
97 | struct mlxreg_core_data *data; | ||
98 | u32 aggr_mask; | ||
99 | u32 reg; | ||
100 | u32 mask; | ||
101 | u32 cache; | ||
102 | u8 count; | ||
103 | u8 ind; | ||
104 | u8 inversed; | ||
105 | u8 health; | ||
106 | }; | ||
107 | |||
108 | /** | ||
109 | * struct mlxreg_core_platform_data - platform data: | ||
110 | * | ||
111 | * @led_data: led private data; | ||
112 | * @regmap: register map of parent device; | ||
113 | * @counter: number of led instances; | ||
114 | */ | ||
115 | struct mlxreg_core_platform_data { | ||
116 | struct mlxreg_core_data *data; | ||
117 | void *regmap; | ||
118 | int counter; | ||
119 | }; | ||
120 | |||
121 | /** | ||
122 | * struct mlxreg_core_hotplug_platform_data - hotplug platform data: | ||
123 | * | ||
124 | * @items: same type components with the hotplug capability; | ||
125 | * @irq: platform interrupt number; | ||
126 | * @regmap: register map of parent device; | ||
127 | * @counter: number of the components with the hotplug capability; | ||
128 | * @cell: location of top aggregation interrupt register; | ||
129 | * @mask: top aggregation interrupt common mask; | ||
130 | * @cell_low: location of low aggregation interrupt register; | ||
131 | * @mask_low: low aggregation interrupt common mask; | ||
132 | */ | ||
133 | struct mlxreg_core_hotplug_platform_data { | ||
134 | struct mlxreg_core_item *items; | ||
135 | int irq; | ||
136 | void *regmap; | ||
137 | int counter; | ||
138 | u32 cell; | ||
139 | u32 mask; | ||
140 | u32 cell_low; | ||
141 | u32 mask_low; | ||
142 | }; | ||
143 | |||
144 | #endif /* __LINUX_PLATFORM_DATA_MLXREG_H */ | ||
diff --git a/include/linux/platform_data/mms114.h b/include/linux/platform_data/mms114.h deleted file mode 100644 index 5722ebfb2738..000000000000 --- a/include/linux/platform_data/mms114.h +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Samsung Electronics Co.Ltd | ||
3 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
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 Foundationr | ||
8 | */ | ||
9 | |||
10 | #ifndef __LINUX_MMS114_H | ||
11 | #define __LINUX_MMS114_H | ||
12 | |||
13 | struct mms114_platform_data { | ||
14 | unsigned int x_size; | ||
15 | unsigned int y_size; | ||
16 | unsigned int contact_threshold; | ||
17 | unsigned int moving_threshold; | ||
18 | bool x_invert; | ||
19 | bool y_invert; | ||
20 | |||
21 | void (*cfg_pin)(bool); | ||
22 | }; | ||
23 | |||
24 | #endif /* __LINUX_MMS114_H */ | ||
diff --git a/include/linux/platform_data/mtd-onenand-omap2.h b/include/linux/platform_data/mtd-onenand-omap2.h deleted file mode 100644 index 56ff0e6f5ad1..000000000000 --- a/include/linux/platform_data/mtd-onenand-omap2.h +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2006 Nokia Corporation | ||
3 | * Author: Juha Yrjola | ||
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 __MTD_ONENAND_OMAP2_H | ||
11 | #define __MTD_ONENAND_OMAP2_H | ||
12 | |||
13 | #include <linux/mtd/mtd.h> | ||
14 | #include <linux/mtd/partitions.h> | ||
15 | |||
16 | #define ONENAND_SYNC_READ (1 << 0) | ||
17 | #define ONENAND_SYNC_READWRITE (1 << 1) | ||
18 | #define ONENAND_IN_OMAP34XX (1 << 2) | ||
19 | |||
20 | struct omap_onenand_platform_data { | ||
21 | int cs; | ||
22 | int gpio_irq; | ||
23 | struct mtd_partition *parts; | ||
24 | int nr_parts; | ||
25 | int (*onenand_setup)(void __iomem *, int *freq_ptr); | ||
26 | int dma_channel; | ||
27 | u8 flags; | ||
28 | u8 regulator_can_sleep; | ||
29 | u8 skip_initial_unlocking; | ||
30 | |||
31 | /* for passing the partitions */ | ||
32 | struct device_node *of_node; | ||
33 | }; | ||
34 | #endif | ||
diff --git a/include/linux/platform_data/si5351.h b/include/linux/platform_data/si5351.h index 818c5c6e203f..c71a2dd66143 100644 --- a/include/linux/platform_data/si5351.h +++ b/include/linux/platform_data/si5351.h | |||
@@ -86,6 +86,7 @@ enum si5351_disable_state { | |||
86 | * @multisynth_src: multisynth source clock | 86 | * @multisynth_src: multisynth source clock |
87 | * @clkout_src: clkout source clock | 87 | * @clkout_src: clkout source clock |
88 | * @pll_master: if true, clkout can also change pll rate | 88 | * @pll_master: if true, clkout can also change pll rate |
89 | * @pll_reset: if true, clkout can reset its pll | ||
89 | * @drive: output drive strength | 90 | * @drive: output drive strength |
90 | * @rate: initial clkout rate, or default if 0 | 91 | * @rate: initial clkout rate, or default if 0 |
91 | */ | 92 | */ |
@@ -95,6 +96,7 @@ struct si5351_clkout_config { | |||
95 | enum si5351_drive_strength drive; | 96 | enum si5351_drive_strength drive; |
96 | enum si5351_disable_state disable_state; | 97 | enum si5351_disable_state disable_state; |
97 | bool pll_master; | 98 | bool pll_master; |
99 | bool pll_reset; | ||
98 | unsigned long rate; | 100 | unsigned long rate; |
99 | }; | 101 | }; |
100 | 102 | ||
diff --git a/include/linux/platform_data/spi-s3c64xx.h b/include/linux/platform_data/spi-s3c64xx.h index da79774078a7..773daf7915a3 100644 --- a/include/linux/platform_data/spi-s3c64xx.h +++ b/include/linux/platform_data/spi-s3c64xx.h | |||
@@ -1,10 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | |||
1 | /* | 3 | /* |
2 | * Copyright (C) 2009 Samsung Electronics Ltd. | 4 | * Copyright (C) 2009 Samsung Electronics Ltd. |
3 | * Jaswinder Singh <jassi.brar@samsung.com> | 5 | * Jaswinder Singh <jassi.brar@samsung.com> |
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 | */ | 6 | */ |
9 | 7 | ||
10 | #ifndef __SPI_S3C64XX_H | 8 | #ifndef __SPI_S3C64XX_H |
diff --git a/include/linux/platform_data/ti-sysc.h b/include/linux/platform_data/ti-sysc.h new file mode 100644 index 000000000000..1be356330b96 --- /dev/null +++ b/include/linux/platform_data/ti-sysc.h | |||
@@ -0,0 +1,86 @@ | |||
1 | #ifndef __TI_SYSC_DATA_H__ | ||
2 | #define __TI_SYSC_DATA_H__ | ||
3 | |||
4 | enum ti_sysc_module_type { | ||
5 | TI_SYSC_OMAP2, | ||
6 | TI_SYSC_OMAP2_TIMER, | ||
7 | TI_SYSC_OMAP3_SHAM, | ||
8 | TI_SYSC_OMAP3_AES, | ||
9 | TI_SYSC_OMAP4, | ||
10 | TI_SYSC_OMAP4_TIMER, | ||
11 | TI_SYSC_OMAP4_SIMPLE, | ||
12 | TI_SYSC_OMAP34XX_SR, | ||
13 | TI_SYSC_OMAP36XX_SR, | ||
14 | TI_SYSC_OMAP4_SR, | ||
15 | TI_SYSC_OMAP4_MCASP, | ||
16 | TI_SYSC_OMAP4_USB_HOST_FS, | ||
17 | }; | ||
18 | |||
19 | /** | ||
20 | * struct sysc_regbits - TI OCP_SYSCONFIG register field offsets | ||
21 | * @midle_shift: Offset of the midle bit | ||
22 | * @clkact_shift: Offset of the clockactivity bit | ||
23 | * @sidle_shift: Offset of the sidle bit | ||
24 | * @enwkup_shift: Offset of the enawakeup bit | ||
25 | * @srst_shift: Offset of the softreset bit | ||
26 | * @autoidle_shift: Offset of the autoidle bit | ||
27 | * @dmadisable_shift: Offset of the dmadisable bit | ||
28 | * @emufree_shift; Offset of the emufree bit | ||
29 | * | ||
30 | * Note that 0 is a valid shift, and for ti-sysc.c -ENODEV can be used if a | ||
31 | * feature is not available. | ||
32 | */ | ||
33 | struct sysc_regbits { | ||
34 | s8 midle_shift; | ||
35 | s8 clkact_shift; | ||
36 | s8 sidle_shift; | ||
37 | s8 enwkup_shift; | ||
38 | s8 srst_shift; | ||
39 | s8 autoidle_shift; | ||
40 | s8 dmadisable_shift; | ||
41 | s8 emufree_shift; | ||
42 | }; | ||
43 | |||
44 | #define SYSC_QUIRK_RESET_STATUS BIT(7) | ||
45 | #define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6) | ||
46 | #define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5) | ||
47 | #define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4) | ||
48 | #define SYSC_QUIRK_OPT_CLKS_IN_RESET BIT(3) | ||
49 | #define SYSC_QUIRK_16BIT BIT(2) | ||
50 | #define SYSC_QUIRK_UNCACHED BIT(1) | ||
51 | #define SYSC_QUIRK_USE_CLOCKACT BIT(0) | ||
52 | |||
53 | #define SYSC_NR_IDLEMODES 4 | ||
54 | |||
55 | /** | ||
56 | * struct sysc_capabilities - capabilities for an interconnect target module | ||
57 | * | ||
58 | * @sysc_mask: bitmask of supported SYSCONFIG register bits | ||
59 | * @regbits: bitmask of SYSCONFIG register bits | ||
60 | * @mod_quirks: bitmask of module specific quirks | ||
61 | */ | ||
62 | struct sysc_capabilities { | ||
63 | const enum ti_sysc_module_type type; | ||
64 | const u32 sysc_mask; | ||
65 | const struct sysc_regbits *regbits; | ||
66 | const u32 mod_quirks; | ||
67 | }; | ||
68 | |||
69 | /** | ||
70 | * struct sysc_config - configuration for an interconnect target module | ||
71 | * @sysc_val: configured value for sysc register | ||
72 | * @midlemodes: bitmask of supported master idle modes | ||
73 | * @sidlemodes: bitmask of supported master idle modes | ||
74 | * @srst_udelay: optional delay needed after OCP soft reset | ||
75 | * @quirks: bitmask of enabled quirks | ||
76 | */ | ||
77 | struct sysc_config { | ||
78 | u32 sysc_val; | ||
79 | u32 syss_mask; | ||
80 | u8 midlemodes; | ||
81 | u8 sidlemodes; | ||
82 | u8 srst_udelay; | ||
83 | u32 quirks; | ||
84 | }; | ||
85 | |||
86 | #endif /* __TI_SYSC_DATA_H__ */ | ||