aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/dma-dw.h5
-rw-r--r--include/linux/platform_data/drv260x-pdata.h28
-rw-r--r--include/linux/platform_data/macb.h6
-rw-r--r--include/linux/platform_data/mlxcpld-hotplug.h99
-rw-r--r--include/linux/platform_data/mtd-nand-s3c2410.h7
-rw-r--r--include/linux/platform_data/spi-s3c64xx.h3
-rw-r--r--include/linux/platform_data/usb-davinci.h23
7 files changed, 113 insertions, 58 deletions
diff --git a/include/linux/platform_data/dma-dw.h b/include/linux/platform_data/dma-dw.h
index 5f0e11e7354c..e69e415d0d98 100644
--- a/include/linux/platform_data/dma-dw.h
+++ b/include/linux/platform_data/dma-dw.h
@@ -14,6 +14,7 @@
14#include <linux/device.h> 14#include <linux/device.h>
15 15
16#define DW_DMA_MAX_NR_MASTERS 4 16#define DW_DMA_MAX_NR_MASTERS 4
17#define DW_DMA_MAX_NR_CHANNELS 8
17 18
18/** 19/**
19 * struct dw_dma_slave - Controller-specific information about a slave 20 * struct dw_dma_slave - Controller-specific information about a slave
@@ -40,19 +41,18 @@ struct dw_dma_slave {
40 * @is_private: The device channels should be marked as private and not for 41 * @is_private: The device channels should be marked as private and not for
41 * by the general purpose DMA channel allocator. 42 * by the general purpose DMA channel allocator.
42 * @is_memcpy: The device channels do support memory-to-memory transfers. 43 * @is_memcpy: The device channels do support memory-to-memory transfers.
43 * @is_nollp: The device channels does not support multi block transfers.
44 * @chan_allocation_order: Allocate channels starting from 0 or 7 44 * @chan_allocation_order: Allocate channels starting from 0 or 7
45 * @chan_priority: Set channel priority increasing from 0 to 7 or 7 to 0. 45 * @chan_priority: Set channel priority increasing from 0 to 7 or 7 to 0.
46 * @block_size: Maximum block size supported by the controller 46 * @block_size: Maximum block size supported by the controller
47 * @nr_masters: Number of AHB masters supported by the controller 47 * @nr_masters: Number of AHB masters supported by the controller
48 * @data_width: Maximum data width supported by hardware per AHB master 48 * @data_width: Maximum data width supported by hardware per AHB master
49 * (in bytes, power of 2) 49 * (in bytes, power of 2)
50 * @multi_block: Multi block transfers supported by hardware per channel.
50 */ 51 */
51struct dw_dma_platform_data { 52struct dw_dma_platform_data {
52 unsigned int nr_channels; 53 unsigned int nr_channels;
53 bool is_private; 54 bool is_private;
54 bool is_memcpy; 55 bool is_memcpy;
55 bool is_nollp;
56#define CHAN_ALLOCATION_ASCENDING 0 /* zero to seven */ 56#define CHAN_ALLOCATION_ASCENDING 0 /* zero to seven */
57#define CHAN_ALLOCATION_DESCENDING 1 /* seven to zero */ 57#define CHAN_ALLOCATION_DESCENDING 1 /* seven to zero */
58 unsigned char chan_allocation_order; 58 unsigned char chan_allocation_order;
@@ -62,6 +62,7 @@ struct dw_dma_platform_data {
62 unsigned int block_size; 62 unsigned int block_size;
63 unsigned char nr_masters; 63 unsigned char nr_masters;
64 unsigned char data_width[DW_DMA_MAX_NR_MASTERS]; 64 unsigned char data_width[DW_DMA_MAX_NR_MASTERS];
65 unsigned char multi_block[DW_DMA_MAX_NR_CHANNELS];
65}; 66};
66 67
67#endif /* _PLATFORM_DATA_DMA_DW_H */ 68#endif /* _PLATFORM_DATA_DMA_DW_H */
diff --git a/include/linux/platform_data/drv260x-pdata.h b/include/linux/platform_data/drv260x-pdata.h
deleted file mode 100644
index 0a03b0944411..000000000000
--- a/include/linux/platform_data/drv260x-pdata.h
+++ /dev/null
@@ -1,28 +0,0 @@
1/*
2 * Platform data for DRV260X haptics driver family
3 *
4 * Author: Dan Murphy <dmurphy@ti.com>
5 *
6 * Copyright: (C) 2014 Texas Instruments, Inc.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 */
17
18#ifndef _LINUX_DRV260X_PDATA_H
19#define _LINUX_DRV260X_PDATA_H
20
21struct drv260x_platform_data {
22 u32 library_selection;
23 u32 mode;
24 u32 vib_rated_voltage;
25 u32 vib_overdrive_voltage;
26};
27
28#endif
diff --git a/include/linux/platform_data/macb.h b/include/linux/platform_data/macb.h
index 21b15f6fee25..7815d50c26ff 100644
--- a/include/linux/platform_data/macb.h
+++ b/include/linux/platform_data/macb.h
@@ -8,6 +8,8 @@
8#ifndef __MACB_PDATA_H__ 8#ifndef __MACB_PDATA_H__
9#define __MACB_PDATA_H__ 9#define __MACB_PDATA_H__
10 10
11#include <linux/clk.h>
12
11/** 13/**
12 * struct macb_platform_data - platform data for MACB Ethernet 14 * struct macb_platform_data - platform data for MACB Ethernet
13 * @phy_mask: phy mask passed when register the MDIO bus 15 * @phy_mask: phy mask passed when register the MDIO bus
@@ -15,12 +17,16 @@
15 * @phy_irq_pin: PHY IRQ 17 * @phy_irq_pin: PHY IRQ
16 * @is_rmii: using RMII interface? 18 * @is_rmii: using RMII interface?
17 * @rev_eth_addr: reverse Ethernet address byte order 19 * @rev_eth_addr: reverse Ethernet address byte order
20 * @pclk: platform clock
21 * @hclk: AHB clock
18 */ 22 */
19struct macb_platform_data { 23struct macb_platform_data {
20 u32 phy_mask; 24 u32 phy_mask;
21 int phy_irq_pin; 25 int phy_irq_pin;
22 u8 is_rmii; 26 u8 is_rmii;
23 u8 rev_eth_addr; 27 u8 rev_eth_addr;
28 struct clk *pclk;
29 struct clk *hclk;
24}; 30};
25 31
26#endif /* __MACB_PDATA_H__ */ 32#endif /* __MACB_PDATA_H__ */
diff --git a/include/linux/platform_data/mlxcpld-hotplug.h b/include/linux/platform_data/mlxcpld-hotplug.h
new file mode 100644
index 000000000000..e4cfcffaa6f4
--- /dev/null
+++ b/include/linux/platform_data/mlxcpld-hotplug.h
@@ -0,0 +1,99 @@
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 */
48struct 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 */
79struct 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/mtd-nand-s3c2410.h b/include/linux/platform_data/mtd-nand-s3c2410.h
index c55e42ee57fa..f01659026b26 100644
--- a/include/linux/platform_data/mtd-nand-s3c2410.h
+++ b/include/linux/platform_data/mtd-nand-s3c2410.h
@@ -12,9 +12,10 @@
12#ifndef __MTD_NAND_S3C2410_H 12#ifndef __MTD_NAND_S3C2410_H
13#define __MTD_NAND_S3C2410_H 13#define __MTD_NAND_S3C2410_H
14 14
15#include <linux/mtd/nand.h>
16
15/** 17/**
16 * struct s3c2410_nand_set - define a set of one or more nand chips 18 * struct s3c2410_nand_set - define a set of one or more nand chips
17 * @disable_ecc: Entirely disable ECC - Dangerous
18 * @flash_bbt: Openmoko u-boot can create a Bad Block Table 19 * @flash_bbt: Openmoko u-boot can create a Bad Block Table
19 * Setting this flag will allow the kernel to 20 * Setting this flag will allow the kernel to
20 * look for it at boot time and also skip the NAND 21 * look for it at boot time and also skip the NAND
@@ -31,7 +32,6 @@
31 * a warning at boot time. 32 * a warning at boot time.
32 */ 33 */
33struct s3c2410_nand_set { 34struct s3c2410_nand_set {
34 unsigned int disable_ecc:1;
35 unsigned int flash_bbt:1; 35 unsigned int flash_bbt:1;
36 36
37 unsigned int options; 37 unsigned int options;
@@ -40,6 +40,7 @@ struct s3c2410_nand_set {
40 char *name; 40 char *name;
41 int *nr_map; 41 int *nr_map;
42 struct mtd_partition *partitions; 42 struct mtd_partition *partitions;
43 struct device_node *of_node;
43}; 44};
44 45
45struct s3c2410_platform_nand { 46struct s3c2410_platform_nand {
@@ -51,6 +52,8 @@ struct s3c2410_platform_nand {
51 52
52 unsigned int ignore_unset_ecc:1; 53 unsigned int ignore_unset_ecc:1;
53 54
55 nand_ecc_modes_t ecc_mode;
56
54 int nr_sets; 57 int nr_sets;
55 struct s3c2410_nand_set *sets; 58 struct s3c2410_nand_set *sets;
56 59
diff --git a/include/linux/platform_data/spi-s3c64xx.h b/include/linux/platform_data/spi-s3c64xx.h
index 5c1e21c87270..da79774078a7 100644
--- a/include/linux/platform_data/spi-s3c64xx.h
+++ b/include/linux/platform_data/spi-s3c64xx.h
@@ -40,9 +40,6 @@ struct s3c64xx_spi_info {
40 int num_cs; 40 int num_cs;
41 bool no_cs; 41 bool no_cs;
42 int (*cfg_gpio)(void); 42 int (*cfg_gpio)(void);
43 dma_filter_fn filter;
44 void *dma_tx;
45 void *dma_rx;
46}; 43};
47 44
48/** 45/**
diff --git a/include/linux/platform_data/usb-davinci.h b/include/linux/platform_data/usb-davinci.h
index e0bc4abe69c2..0926e99f2e8f 100644
--- a/include/linux/platform_data/usb-davinci.h
+++ b/include/linux/platform_data/usb-davinci.h
@@ -11,29 +11,6 @@
11#ifndef __ASM_ARCH_USB_H 11#ifndef __ASM_ARCH_USB_H
12#define __ASM_ARCH_USB_H 12#define __ASM_ARCH_USB_H
13 13
14/* DA8xx CFGCHIP2 (USB 2.0 PHY Control) register bits */
15#define CFGCHIP2_PHYCLKGD (1 << 17)
16#define CFGCHIP2_VBUSSENSE (1 << 16)
17#define CFGCHIP2_RESET (1 << 15)
18#define CFGCHIP2_OTGMODE (3 << 13)
19#define CFGCHIP2_NO_OVERRIDE (0 << 13)
20#define CFGCHIP2_FORCE_HOST (1 << 13)
21#define CFGCHIP2_FORCE_DEVICE (2 << 13)
22#define CFGCHIP2_FORCE_HOST_VBUS_LOW (3 << 13)
23#define CFGCHIP2_USB1PHYCLKMUX (1 << 12)
24#define CFGCHIP2_USB2PHYCLKMUX (1 << 11)
25#define CFGCHIP2_PHYPWRDN (1 << 10)
26#define CFGCHIP2_OTGPWRDN (1 << 9)
27#define CFGCHIP2_DATPOL (1 << 8)
28#define CFGCHIP2_USB1SUSPENDM (1 << 7)
29#define CFGCHIP2_PHY_PLLON (1 << 6) /* override PLL suspend */
30#define CFGCHIP2_SESENDEN (1 << 5) /* Vsess_end comparator */
31#define CFGCHIP2_VBDTCTEN (1 << 4) /* Vbus comparator */
32#define CFGCHIP2_REFFREQ (0xf << 0)
33#define CFGCHIP2_REFFREQ_12MHZ (1 << 0)
34#define CFGCHIP2_REFFREQ_24MHZ (2 << 0)
35#define CFGCHIP2_REFFREQ_48MHZ (3 << 0)
36
37struct da8xx_ohci_root_hub; 14struct da8xx_ohci_root_hub;
38 15
39typedef void (*da8xx_ocic_handler_t)(struct da8xx_ohci_root_hub *hub, 16typedef void (*da8xx_ocic_handler_t)(struct da8xx_ohci_root_hub *hub,