diff options
Diffstat (limited to 'include/linux/platform_data')
31 files changed, 639 insertions, 147 deletions
diff --git a/include/linux/platform_data/arm-ux500-pm.h b/include/linux/platform_data/arm-ux500-pm.h new file mode 100644 index 000000000000..8dff64b29ec0 --- /dev/null +++ b/include/linux/platform_data/arm-ux500-pm.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson SA 2010-2013 | ||
| 3 | * Author: Rickard Andersson <rickard.andersson@stericsson.com> for | ||
| 4 | * ST-Ericsson. | ||
| 5 | * Author: Daniel Lezcano <daniel.lezcano@linaro.org> for Linaro. | ||
| 6 | * License terms: GNU General Public License (GPL) version 2 | ||
| 7 | * | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef ARM_UX500_PM_H | ||
| 11 | #define ARM_UX500_PM_H | ||
| 12 | |||
| 13 | int prcmu_gic_decouple(void); | ||
| 14 | int prcmu_gic_recouple(void); | ||
| 15 | bool prcmu_gic_pending_irq(void); | ||
| 16 | bool prcmu_pending_irq(void); | ||
| 17 | bool prcmu_is_cpu_in_wfi(int cpu); | ||
| 18 | int prcmu_copy_gic_settings(void); | ||
| 19 | void ux500_pm_init(u32 phy_base, u32 size); | ||
| 20 | |||
| 21 | #endif /* ARM_UX500_PM_H */ | ||
diff --git a/include/linux/platform_data/asoc-ux500-msp.h b/include/linux/platform_data/asoc-ux500-msp.h new file mode 100644 index 000000000000..9991aea3d577 --- /dev/null +++ b/include/linux/platform_data/asoc-ux500-msp.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson SA 2010 | ||
| 3 | * | ||
| 4 | * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson | ||
| 5 | * License terms: GNU General Public License (GPL), version 2. | ||
| 6 | */ | ||
| 7 | |||
| 8 | #ifndef __MSP_H | ||
| 9 | #define __MSP_H | ||
| 10 | |||
| 11 | #include <linux/platform_data/dma-ste-dma40.h> | ||
| 12 | |||
| 13 | enum msp_i2s_id { | ||
| 14 | MSP_I2S_0 = 0, | ||
| 15 | MSP_I2S_1, | ||
| 16 | MSP_I2S_2, | ||
| 17 | MSP_I2S_3, | ||
| 18 | }; | ||
| 19 | |||
| 20 | /* Platform data structure for a MSP I2S-device */ | ||
| 21 | struct msp_i2s_platform_data { | ||
| 22 | enum msp_i2s_id id; | ||
| 23 | struct stedma40_chan_cfg *msp_i2s_dma_rx; | ||
| 24 | struct stedma40_chan_cfg *msp_i2s_dma_tx; | ||
| 25 | }; | ||
| 26 | |||
| 27 | #endif | ||
diff --git a/include/linux/platform_data/atmel-aes.h b/include/linux/platform_data/atmel-aes.h deleted file mode 100644 index ab68082fbcb0..000000000000 --- a/include/linux/platform_data/atmel-aes.h +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | #ifndef __LINUX_ATMEL_AES_H | ||
| 2 | #define __LINUX_ATMEL_AES_H | ||
| 3 | |||
| 4 | #include <linux/platform_data/dma-atmel.h> | ||
| 5 | |||
| 6 | /** | ||
| 7 | * struct aes_dma_data - DMA data for AES | ||
| 8 | */ | ||
| 9 | struct aes_dma_data { | ||
| 10 | struct at_dma_slave txdata; | ||
| 11 | struct at_dma_slave rxdata; | ||
| 12 | }; | ||
| 13 | |||
| 14 | /** | ||
| 15 | * struct aes_platform_data - board-specific AES configuration | ||
| 16 | * @dma_slave: DMA slave interface to use in data transfers. | ||
| 17 | */ | ||
| 18 | struct aes_platform_data { | ||
| 19 | struct aes_dma_data *dma_slave; | ||
| 20 | }; | ||
| 21 | |||
| 22 | #endif /* __LINUX_ATMEL_AES_H */ | ||
diff --git a/include/linux/platform_data/brcmfmac-sdio.h b/include/linux/platform_data/brcmfmac-sdio.h new file mode 100644 index 000000000000..1ade657d5fc1 --- /dev/null +++ b/include/linux/platform_data/brcmfmac-sdio.h | |||
| @@ -0,0 +1,124 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2013 Broadcom Corporation | ||
| 3 | * | ||
| 4 | * Permission to use, copy, modify, and/or distribute this software for any | ||
| 5 | * purpose with or without fee is hereby granted, provided that the above | ||
| 6 | * copyright notice and this permission notice appear in all copies. | ||
| 7 | * | ||
| 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY | ||
| 11 | * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION | ||
| 13 | * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | ||
| 14 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef _LINUX_BRCMFMAC_PLATFORM_H | ||
| 18 | #define _LINUX_BRCMFMAC_PLATFORM_H | ||
| 19 | |||
| 20 | /* | ||
| 21 | * Platform specific driver functions and data. Through the platform specific | ||
| 22 | * device data functions can be provided to help the brcmfmac driver to | ||
| 23 | * operate with the device in combination with the used platform. | ||
| 24 | * | ||
| 25 | * Use the platform data in the following (similar) way: | ||
| 26 | * | ||
| 27 | * | ||
| 28 | #include <brcmfmac_platform.h> | ||
| 29 | |||
| 30 | |||
| 31 | static void brcmfmac_power_on(void) | ||
| 32 | { | ||
| 33 | } | ||
| 34 | |||
| 35 | static void brcmfmac_power_off(void) | ||
| 36 | { | ||
| 37 | } | ||
| 38 | |||
| 39 | static void brcmfmac_reset(void) | ||
| 40 | { | ||
| 41 | } | ||
| 42 | |||
| 43 | static struct brcmfmac_sdio_platform_data brcmfmac_sdio_pdata = { | ||
| 44 | .power_on = brcmfmac_power_on, | ||
| 45 | .power_off = brcmfmac_power_off, | ||
| 46 | .reset = brcmfmac_reset | ||
| 47 | }; | ||
| 48 | |||
| 49 | static struct platform_device brcmfmac_device = { | ||
| 50 | .name = BRCMFMAC_SDIO_PDATA_NAME, | ||
| 51 | .id = PLATFORM_DEVID_NONE, | ||
| 52 | .dev.platform_data = &brcmfmac_sdio_pdata | ||
| 53 | }; | ||
| 54 | |||
| 55 | void __init brcmfmac_init_pdata(void) | ||
| 56 | { | ||
| 57 | brcmfmac_sdio_pdata.oob_irq_supported = true; | ||
| 58 | brcmfmac_sdio_pdata.oob_irq_nr = gpio_to_irq(GPIO_BRCMF_SDIO_OOB); | ||
| 59 | brcmfmac_sdio_pdata.oob_irq_flags = IORESOURCE_IRQ | | ||
| 60 | IORESOURCE_IRQ_HIGHLEVEL; | ||
| 61 | platform_device_register(&brcmfmac_device); | ||
| 62 | } | ||
| 63 | * | ||
| 64 | * | ||
| 65 | * Note: the brcmfmac can be loaded as module or be statically built-in into | ||
| 66 | * the kernel. If built-in then do note that it uses module_init (and | ||
| 67 | * module_exit) routines which equal device_initcall. So if you intend to | ||
| 68 | * create a module with the platform specific data for the brcmfmac and have | ||
| 69 | * it built-in to the kernel then use a higher initcall then device_initcall | ||
| 70 | * (see init.h). If this is not done then brcmfmac will load without problems | ||
| 71 | * but will not pickup the platform data. | ||
| 72 | * | ||
| 73 | * When the driver does not "detect" platform driver data then it will continue | ||
| 74 | * without reporting anything and just assume there is no data needed. Which is | ||
| 75 | * probably true for most platforms. | ||
| 76 | * | ||
| 77 | * Explanation of the platform_data fields: | ||
| 78 | * | ||
| 79 | * drive_strength: is the preferred drive_strength to be used for the SDIO | ||
| 80 | * pins. If 0 then a default value will be used. This is the target drive | ||
| 81 | * strength, the exact drive strength which will be used depends on the | ||
| 82 | * capabilities of the device. | ||
| 83 | * | ||
| 84 | * oob_irq_supported: does the board have support for OOB interrupts. SDIO | ||
| 85 | * in-band interrupts are relatively slow and for having less overhead on | ||
| 86 | * interrupt processing an out of band interrupt can be used. If the HW | ||
| 87 | * supports this then enable this by setting this field to true and configure | ||
| 88 | * the oob related fields. | ||
| 89 | * | ||
| 90 | * oob_irq_nr, oob_irq_flags: the OOB interrupt information. The values are | ||
| 91 | * used for registering the irq using request_irq function. | ||
| 92 | * | ||
| 93 | * power_on: This function is called by the brcmfmac when the module gets | ||
| 94 | * loaded. This can be particularly useful for low power devices. The platform | ||
| 95 | * spcific routine may for example decide to power up the complete device. | ||
| 96 | * If there is no use-case for this function then provide NULL. | ||
| 97 | * | ||
| 98 | * power_off: This function is called by the brcmfmac when the module gets | ||
| 99 | * unloaded. At this point the device can be powered down or otherwise be reset. | ||
| 100 | * So if an actual power_off is not supported but reset is then reset the device | ||
| 101 | * when this function gets called. This can be particularly useful for low power | ||
| 102 | * devices. If there is no use-case for this function (either power-down or | ||
| 103 | * reset) then provide NULL. | ||
| 104 | * | ||
| 105 | * reset: This function can get called if the device communication broke down. | ||
| 106 | * This functionality is particularly useful in case of SDIO type devices. It is | ||
| 107 | * possible to reset a dongle via sdio data interface, but it requires that | ||
| 108 | * this is fully functional. This function is chip/module specific and this | ||
| 109 | * function should return only after the complete reset has completed. | ||
| 110 | */ | ||
| 111 | |||
| 112 | #define BRCMFMAC_SDIO_PDATA_NAME "brcmfmac_sdio" | ||
| 113 | |||
| 114 | struct brcmfmac_sdio_platform_data { | ||
| 115 | unsigned int drive_strength; | ||
| 116 | bool oob_irq_supported; | ||
| 117 | unsigned int oob_irq_nr; | ||
| 118 | unsigned long oob_irq_flags; | ||
| 119 | void (*power_on)(void); | ||
| 120 | void (*power_off)(void); | ||
| 121 | void (*reset)(void); | ||
| 122 | }; | ||
| 123 | |||
| 124 | #endif /* _LINUX_BRCMFMAC_PLATFORM_H */ | ||
diff --git a/include/linux/platform_data/clk-lpss.h b/include/linux/platform_data/clk-lpss.h new file mode 100644 index 000000000000..23901992b9dd --- /dev/null +++ b/include/linux/platform_data/clk-lpss.h | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* | ||
| 2 | * Intel Low Power Subsystem clocks. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013, Intel Corporation | ||
| 5 | * Authors: Mika Westerberg <mika.westerberg@linux.intel.com> | ||
| 6 | * Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
| 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 | |||
| 13 | #ifndef __CLK_LPSS_H | ||
| 14 | #define __CLK_LPSS_H | ||
| 15 | |||
| 16 | struct lpss_clk_data { | ||
| 17 | const char *name; | ||
| 18 | struct clk *clk; | ||
| 19 | }; | ||
| 20 | |||
| 21 | extern int lpt_clk_init(void); | ||
| 22 | |||
| 23 | #endif /* __CLK_LPSS_H */ | ||
diff --git a/include/linux/platform_data/clk-ux500.h b/include/linux/platform_data/clk-ux500.h index 3af0da1f3be5..320d9c39ea0a 100644 --- a/include/linux/platform_data/clk-ux500.h +++ b/include/linux/platform_data/clk-ux500.h | |||
| @@ -10,7 +10,8 @@ | |||
| 10 | #ifndef __CLK_UX500_H | 10 | #ifndef __CLK_UX500_H |
| 11 | #define __CLK_UX500_H | 11 | #define __CLK_UX500_H |
| 12 | 12 | ||
| 13 | void u8500_clk_init(void); | 13 | void u8500_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base, |
| 14 | u32 clkrst5_base, u32 clkrst6_base); | ||
| 14 | void u9540_clk_init(void); | 15 | void u9540_clk_init(void); |
| 15 | void u8540_clk_init(void); | 16 | void u8540_clk_init(void); |
| 16 | 17 | ||
diff --git a/include/linux/platform_data/coda.h b/include/linux/platform_data/coda.h new file mode 100644 index 000000000000..6ad4410d9e20 --- /dev/null +++ b/include/linux/platform_data/coda.h | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2013 Philipp Zabel, Pengutronix | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License as published by | ||
| 6 | * the Free Software Foundation; either version 2 of the License, or | ||
| 7 | * (at your option) any later version. | ||
| 8 | */ | ||
| 9 | #ifndef PLATFORM_CODA_H | ||
| 10 | #define PLATFORM_CODA_H | ||
| 11 | |||
| 12 | struct device; | ||
| 13 | |||
| 14 | struct coda_platform_data { | ||
| 15 | struct device *iram_dev; | ||
| 16 | }; | ||
| 17 | |||
| 18 | #endif | ||
diff --git a/include/linux/platform_data/cpsw.h b/include/linux/platform_data/cpsw.h index 798fb80b024b..bb3cd58d71e3 100644 --- a/include/linux/platform_data/cpsw.h +++ b/include/linux/platform_data/cpsw.h | |||
| @@ -30,7 +30,7 @@ struct cpsw_platform_data { | |||
| 30 | u32 channels; /* number of cpdma channels (symmetric) */ | 30 | u32 channels; /* number of cpdma channels (symmetric) */ |
| 31 | u32 slaves; /* number of slave cpgmac ports */ | 31 | u32 slaves; /* number of slave cpgmac ports */ |
| 32 | struct cpsw_slave_data *slave_data; | 32 | struct cpsw_slave_data *slave_data; |
| 33 | u32 cpts_active_slave; /* time stamping slave */ | 33 | u32 active_slave; /* time stamping, ethtool and SIOCGMIIPHY slave */ |
| 34 | u32 cpts_clock_mult; /* convert input clock ticks to nanoseconds */ | 34 | u32 cpts_clock_mult; /* convert input clock ticks to nanoseconds */ |
| 35 | u32 cpts_clock_shift; /* convert input clock ticks to nanoseconds */ | 35 | u32 cpts_clock_shift; /* convert input clock ticks to nanoseconds */ |
| 36 | u32 ale_entries; /* ale table size */ | 36 | u32 ale_entries; /* ale table size */ |
diff --git a/include/linux/platform_data/crypto-atmel.h b/include/linux/platform_data/crypto-atmel.h new file mode 100644 index 000000000000..b46e0d9062a0 --- /dev/null +++ b/include/linux/platform_data/crypto-atmel.h | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | #ifndef __LINUX_CRYPTO_ATMEL_H | ||
| 2 | #define __LINUX_CRYPTO_ATMEL_H | ||
| 3 | |||
| 4 | #include <linux/platform_data/dma-atmel.h> | ||
| 5 | |||
| 6 | /** | ||
| 7 | * struct crypto_dma_data - DMA data for AES/TDES/SHA | ||
| 8 | */ | ||
| 9 | struct crypto_dma_data { | ||
| 10 | struct at_dma_slave txdata; | ||
| 11 | struct at_dma_slave rxdata; | ||
| 12 | }; | ||
| 13 | |||
| 14 | /** | ||
| 15 | * struct crypto_platform_data - board-specific AES/TDES/SHA configuration | ||
| 16 | * @dma_slave: DMA slave interface to use in data transfers. | ||
| 17 | */ | ||
| 18 | struct crypto_platform_data { | ||
| 19 | struct crypto_dma_data *dma_slave; | ||
| 20 | }; | ||
| 21 | |||
| 22 | #endif /* __LINUX_CRYPTO_ATMEL_H */ | ||
diff --git a/include/linux/platform_data/cyttsp4.h b/include/linux/platform_data/cyttsp4.h new file mode 100644 index 000000000000..6eba54aff1dc --- /dev/null +++ b/include/linux/platform_data/cyttsp4.h | |||
| @@ -0,0 +1,76 @@ | |||
| 1 | /* | ||
| 2 | * Header file for: | ||
| 3 | * Cypress TrueTouch(TM) Standard Product (TTSP) touchscreen drivers. | ||
| 4 | * For use with Cypress Txx3xx parts. | ||
| 5 | * Supported parts include: | ||
| 6 | * CY8CTST341 | ||
| 7 | * CY8CTMA340 | ||
| 8 | * | ||
| 9 | * Copyright (C) 2009, 2010, 2011 Cypress Semiconductor, Inc. | ||
| 10 | * Copyright (C) 2012 Javier Martinez Canillas <javier@dowhile0.org> | ||
| 11 | * | ||
| 12 | * This program is free software; you can redistribute it and/or | ||
| 13 | * modify it under the terms of the GNU General Public License | ||
| 14 | * version 2, and only version 2, as published by the | ||
| 15 | * Free Software Foundation. | ||
| 16 | * | ||
| 17 | * This program is distributed in the hope that it will be useful, | ||
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 20 | * GNU General Public License for more details. | ||
| 21 | * | ||
| 22 | * You should have received a copy of the GNU General Public License along | ||
| 23 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 24 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 25 | * | ||
| 26 | * Contact Cypress Semiconductor at www.cypress.com (kev@cypress.com) | ||
| 27 | * | ||
| 28 | */ | ||
| 29 | #ifndef _CYTTSP4_H_ | ||
| 30 | #define _CYTTSP4_H_ | ||
| 31 | |||
| 32 | #define CYTTSP4_MT_NAME "cyttsp4_mt" | ||
| 33 | #define CYTTSP4_I2C_NAME "cyttsp4_i2c_adapter" | ||
| 34 | #define CYTTSP4_SPI_NAME "cyttsp4_spi_adapter" | ||
| 35 | |||
| 36 | #define CY_TOUCH_SETTINGS_MAX 32 | ||
| 37 | |||
| 38 | struct touch_framework { | ||
| 39 | const uint16_t *abs; | ||
| 40 | uint8_t size; | ||
| 41 | uint8_t enable_vkeys; | ||
| 42 | } __packed; | ||
| 43 | |||
| 44 | struct cyttsp4_mt_platform_data { | ||
| 45 | struct touch_framework *frmwrk; | ||
| 46 | unsigned short flags; | ||
| 47 | char const *inp_dev_name; | ||
| 48 | }; | ||
| 49 | |||
| 50 | struct touch_settings { | ||
| 51 | const uint8_t *data; | ||
| 52 | uint32_t size; | ||
| 53 | uint8_t tag; | ||
| 54 | } __packed; | ||
| 55 | |||
| 56 | struct cyttsp4_core_platform_data { | ||
| 57 | int irq_gpio; | ||
| 58 | int rst_gpio; | ||
| 59 | int level_irq_udelay; | ||
| 60 | int (*xres)(struct cyttsp4_core_platform_data *pdata, | ||
| 61 | struct device *dev); | ||
| 62 | int (*init)(struct cyttsp4_core_platform_data *pdata, | ||
| 63 | int on, struct device *dev); | ||
| 64 | int (*power)(struct cyttsp4_core_platform_data *pdata, | ||
| 65 | int on, struct device *dev, atomic_t *ignore_irq); | ||
| 66 | int (*irq_stat)(struct cyttsp4_core_platform_data *pdata, | ||
| 67 | struct device *dev); | ||
| 68 | struct touch_settings *sett[CY_TOUCH_SETTINGS_MAX]; | ||
| 69 | }; | ||
| 70 | |||
| 71 | struct cyttsp4_platform_data { | ||
| 72 | struct cyttsp4_core_platform_data *core_pdata; | ||
| 73 | struct cyttsp4_mt_platform_data *mt_pdata; | ||
| 74 | }; | ||
| 75 | |||
| 76 | #endif /* _CYTTSP4_H_ */ | ||
diff --git a/include/linux/platform_data/dwc3-omap.h b/include/linux/platform_data/dwc3-omap.h index ada401244e0b..1d36ca874cc8 100644 --- a/include/linux/platform_data/dwc3-omap.h +++ b/include/linux/platform_data/dwc3-omap.h | |||
| @@ -41,7 +41,3 @@ enum dwc3_omap_utmi_mode { | |||
| 41 | DWC3_OMAP_UTMI_MODE_HW, | 41 | DWC3_OMAP_UTMI_MODE_HW, |
| 42 | DWC3_OMAP_UTMI_MODE_SW, | 42 | DWC3_OMAP_UTMI_MODE_SW, |
| 43 | }; | 43 | }; |
| 44 | |||
| 45 | struct dwc3_omap_data { | ||
| 46 | enum dwc3_omap_utmi_mode utmi_mode; | ||
| 47 | }; | ||
diff --git a/include/linux/platform_data/elm.h b/include/linux/platform_data/elm.h index 1bd5244d1dcd..bf0a83b7ed9d 100644 --- a/include/linux/platform_data/elm.h +++ b/include/linux/platform_data/elm.h | |||
| @@ -50,5 +50,5 @@ struct elm_errorvec { | |||
| 50 | 50 | ||
| 51 | void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc, | 51 | void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc, |
| 52 | struct elm_errorvec *err_vec); | 52 | struct elm_errorvec *err_vec); |
| 53 | void elm_config(struct device *dev, enum bch_ecc bch_type); | 53 | int elm_config(struct device *dev, enum bch_ecc bch_type); |
| 54 | #endif /* __ELM_H */ | 54 | #endif /* __ELM_H */ |
diff --git a/include/linux/platform_data/emif_plat.h b/include/linux/platform_data/emif_plat.h index 03378ca84061..5c19a2a647c4 100644 --- a/include/linux/platform_data/emif_plat.h +++ b/include/linux/platform_data/emif_plat.h | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | /* Custom config requests */ | 40 | /* Custom config requests */ |
| 41 | #define EMIF_CUSTOM_CONFIG_LPMODE 0x00000001 | 41 | #define EMIF_CUSTOM_CONFIG_LPMODE 0x00000001 |
| 42 | #define EMIF_CUSTOM_CONFIG_TEMP_ALERT_POLL_INTERVAL 0x00000002 | 42 | #define EMIF_CUSTOM_CONFIG_TEMP_ALERT_POLL_INTERVAL 0x00000002 |
| 43 | #define EMIF_CUSTOM_CONFIG_EXTENDED_TEMP_PART 0x00000004 | ||
| 43 | 44 | ||
| 44 | #ifndef __ASSEMBLY__ | 45 | #ifndef __ASSEMBLY__ |
| 45 | /** | 46 | /** |
diff --git a/include/linux/platform_data/gpio-rcar.h b/include/linux/platform_data/gpio-rcar.h new file mode 100644 index 000000000000..b253f77a7ddf --- /dev/null +++ b/include/linux/platform_data/gpio-rcar.h | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | /* | ||
| 2 | * Renesas R-Car GPIO Support | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013 Magnus Damm | ||
| 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 | ||
| 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 | |||
| 16 | #ifndef __GPIO_RCAR_H__ | ||
| 17 | #define __GPIO_RCAR_H__ | ||
| 18 | |||
| 19 | struct gpio_rcar_config { | ||
| 20 | unsigned int gpio_base; | ||
| 21 | unsigned int irq_base; | ||
| 22 | unsigned int number_of_pins; | ||
| 23 | const char *pctl_name; | ||
| 24 | }; | ||
| 25 | |||
| 26 | #endif /* __GPIO_RCAR_H__ */ | ||
diff --git a/include/linux/platform_data/imx-iram.h b/include/linux/platform_data/imx-iram.h deleted file mode 100644 index 022690c33702..000000000000 --- a/include/linux/platform_data/imx-iram.h +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or | ||
| 5 | * modify it under the terms of the GNU General Public License | ||
| 6 | * as published by the Free Software Foundation; either version 2 | ||
| 7 | * of the License, or (at your option) any later version. | ||
| 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 | * You should have received a copy of the GNU General Public License | ||
| 15 | * along with this program; if not, write to the Free Software | ||
| 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
| 17 | * MA 02110-1301, USA. | ||
| 18 | */ | ||
| 19 | #include <linux/errno.h> | ||
| 20 | |||
| 21 | #ifdef CONFIG_IRAM_ALLOC | ||
| 22 | |||
| 23 | int __init iram_init(unsigned long base, unsigned long size); | ||
| 24 | void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr); | ||
| 25 | void iram_free(unsigned long dma_addr, unsigned int size); | ||
| 26 | |||
| 27 | #else | ||
| 28 | |||
| 29 | static inline int __init iram_init(unsigned long base, unsigned long size) | ||
| 30 | { | ||
| 31 | return -ENOMEM; | ||
| 32 | } | ||
| 33 | |||
| 34 | static inline void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr) | ||
| 35 | { | ||
| 36 | return NULL; | ||
| 37 | } | ||
| 38 | |||
| 39 | static inline void iram_free(unsigned long base, unsigned long size) {} | ||
| 40 | |||
| 41 | #endif | ||
diff --git a/include/linux/platform_data/irq-renesas-intc-irqpin.h b/include/linux/platform_data/irq-renesas-intc-irqpin.h new file mode 100644 index 000000000000..e4cb911066a6 --- /dev/null +++ b/include/linux/platform_data/irq-renesas-intc-irqpin.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* | ||
| 2 | * Renesas INTC External IRQ Pin Driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013 Magnus Damm | ||
| 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 | ||
| 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 18 | */ | ||
| 19 | |||
| 20 | #ifndef __IRQ_RENESAS_INTC_IRQPIN_H__ | ||
| 21 | #define __IRQ_RENESAS_INTC_IRQPIN_H__ | ||
| 22 | |||
| 23 | struct renesas_intc_irqpin_config { | ||
| 24 | unsigned int sense_bitfield_width; | ||
| 25 | unsigned int irq_base; | ||
| 26 | bool control_parent; | ||
| 27 | }; | ||
| 28 | |||
| 29 | #endif /* __IRQ_RENESAS_INTC_IRQPIN_H__ */ | ||
diff --git a/include/linux/platform_data/irq-renesas-irqc.h b/include/linux/platform_data/irq-renesas-irqc.h new file mode 100644 index 000000000000..3ae17b3e00ed --- /dev/null +++ b/include/linux/platform_data/irq-renesas-irqc.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | /* | ||
| 2 | * Renesas IRQC Driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013 Magnus Damm | ||
| 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 | ||
| 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 18 | */ | ||
| 19 | |||
| 20 | #ifndef __IRQ_RENESAS_IRQC_H__ | ||
| 21 | #define __IRQ_RENESAS_IRQC_H__ | ||
| 22 | |||
| 23 | struct renesas_irqc_config { | ||
| 24 | unsigned int irq_base; | ||
| 25 | }; | ||
| 26 | |||
| 27 | #endif /* __IRQ_RENESAS_IRQC_H__ */ | ||
diff --git a/include/linux/platform_data/keypad-pxa27x.h b/include/linux/platform_data/keypad-pxa27x.h index 5ce8d5e6ea51..24625569d16d 100644 --- a/include/linux/platform_data/keypad-pxa27x.h +++ b/include/linux/platform_data/keypad-pxa27x.h | |||
| @@ -36,10 +36,9 @@ | |||
| 36 | struct pxa27x_keypad_platform_data { | 36 | struct pxa27x_keypad_platform_data { |
| 37 | 37 | ||
| 38 | /* code map for the matrix keys */ | 38 | /* code map for the matrix keys */ |
| 39 | const struct matrix_keymap_data *matrix_keymap_data; | ||
| 39 | unsigned int matrix_key_rows; | 40 | unsigned int matrix_key_rows; |
| 40 | unsigned int matrix_key_cols; | 41 | unsigned int matrix_key_cols; |
| 41 | unsigned int *matrix_key_map; | ||
| 42 | int matrix_key_map_size; | ||
| 43 | 42 | ||
| 44 | /* direct keys */ | 43 | /* direct keys */ |
| 45 | int direct_key_num; | 44 | int direct_key_num; |
diff --git a/include/linux/platform_data/leds-lp55xx.h b/include/linux/platform_data/leds-lp55xx.h index 1509570d5a3f..202e290faea8 100644 --- a/include/linux/platform_data/leds-lp55xx.h +++ b/include/linux/platform_data/leds-lp55xx.h | |||
| @@ -20,18 +20,6 @@ | |||
| 20 | #define LP55XX_CLOCK_INT 1 | 20 | #define LP55XX_CLOCK_INT 1 |
| 21 | #define LP55XX_CLOCK_EXT 2 | 21 | #define LP55XX_CLOCK_EXT 2 |
| 22 | 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 { | 23 | struct lp55xx_led_config { |
| 36 | const char *name; | 24 | const char *name; |
| 37 | u8 chan_nr; | 25 | u8 chan_nr; |
| @@ -40,9 +28,9 @@ struct lp55xx_led_config { | |||
| 40 | }; | 28 | }; |
| 41 | 29 | ||
| 42 | struct lp55xx_predef_pattern { | 30 | struct lp55xx_predef_pattern { |
| 43 | u8 *r; | 31 | const u8 *r; |
| 44 | u8 *g; | 32 | const u8 *g; |
| 45 | u8 *b; | 33 | const u8 *b; |
| 46 | u8 size_r; | 34 | u8 size_r; |
| 47 | u8 size_g; | 35 | u8 size_g; |
| 48 | u8 size_b; | 36 | u8 size_b; |
| @@ -79,9 +67,6 @@ struct lp55xx_platform_data { | |||
| 79 | /* Predefined pattern data */ | 67 | /* Predefined pattern data */ |
| 80 | struct lp55xx_predef_pattern *patterns; | 68 | struct lp55xx_predef_pattern *patterns; |
| 81 | unsigned int num_patterns; | 69 | unsigned int num_patterns; |
| 82 | |||
| 83 | /* _CONFIG register */ | ||
| 84 | u8 update_config; | ||
| 85 | }; | 70 | }; |
| 86 | 71 | ||
| 87 | #endif /* _LEDS_LP55XX_H */ | 72 | #endif /* _LEDS_LP55XX_H */ |
diff --git a/include/linux/platform_data/lp855x.h b/include/linux/platform_data/lp855x.h index 20ee8b221dbd..ea3200527dd3 100644 --- a/include/linux/platform_data/lp855x.h +++ b/include/linux/platform_data/lp855x.h | |||
| @@ -69,11 +69,6 @@ enum lp855x_chip_id { | |||
| 69 | LP8557, | 69 | LP8557, |
| 70 | }; | 70 | }; |
| 71 | 71 | ||
| 72 | enum lp855x_brightness_ctrl_mode { | ||
| 73 | PWM_BASED = 1, | ||
| 74 | REGISTER_BASED, | ||
| 75 | }; | ||
| 76 | |||
| 77 | enum lp8550_brighntess_source { | 72 | enum lp8550_brighntess_source { |
| 78 | LP8550_PWM_ONLY, | 73 | LP8550_PWM_ONLY, |
| 79 | LP8550_I2C_ONLY = 2, | 74 | LP8550_I2C_ONLY = 2, |
| @@ -116,24 +111,18 @@ struct lp855x_rom_data { | |||
| 116 | /** | 111 | /** |
| 117 | * struct lp855x_platform_data | 112 | * struct lp855x_platform_data |
| 118 | * @name : Backlight driver name. If it is not defined, default name is set. | 113 | * @name : Backlight driver name. If it is not defined, default name is set. |
| 119 | * @mode : brightness control by pwm or lp855x register | ||
| 120 | * @device_control : value of DEVICE CONTROL register | 114 | * @device_control : value of DEVICE CONTROL register |
| 121 | * @initial_brightness : initial value of backlight brightness | 115 | * @initial_brightness : initial value of backlight brightness |
| 122 | * @period_ns : platform specific pwm period value. unit is nano. | 116 | * @period_ns : platform specific pwm period value. unit is nano. |
| 123 | Only valid when mode is PWM_BASED. | 117 | Only valid when mode is PWM_BASED. |
| 124 | * @load_new_rom_data : | ||
| 125 | 0 : use default configuration data | ||
| 126 | 1 : update values of eeprom or eprom registers on loading driver | ||
| 127 | * @size_program : total size of lp855x_rom_data | 118 | * @size_program : total size of lp855x_rom_data |
| 128 | * @rom_data : list of new eeprom/eprom registers | 119 | * @rom_data : list of new eeprom/eprom registers |
| 129 | */ | 120 | */ |
| 130 | struct lp855x_platform_data { | 121 | struct lp855x_platform_data { |
| 131 | char *name; | 122 | const char *name; |
| 132 | enum lp855x_brightness_ctrl_mode mode; | ||
| 133 | u8 device_control; | 123 | u8 device_control; |
| 134 | int initial_brightness; | 124 | u8 initial_brightness; |
| 135 | unsigned int period_ns; | 125 | unsigned int period_ns; |
| 136 | u8 load_new_rom_data; | ||
| 137 | int size_program; | 126 | int size_program; |
| 138 | struct lp855x_rom_data *rom_data; | 127 | struct lp855x_rom_data *rom_data; |
| 139 | }; | 128 | }; |
diff --git a/include/linux/platform_data/mmc-davinci.h b/include/linux/platform_data/mmc-davinci.h index 5ba6b22ce338..9cea4ee377b5 100644 --- a/include/linux/platform_data/mmc-davinci.h +++ b/include/linux/platform_data/mmc-davinci.h | |||
| @@ -23,9 +23,6 @@ struct davinci_mmc_config { | |||
| 23 | /* any additional host capabilities: OR'd in to mmc->f_caps */ | 23 | /* any additional host capabilities: OR'd in to mmc->f_caps */ |
| 24 | u32 caps; | 24 | u32 caps; |
| 25 | 25 | ||
| 26 | /* Version of the MMC/SD controller */ | ||
| 27 | u8 version; | ||
| 28 | |||
| 29 | /* Number of sg segments */ | 26 | /* Number of sg segments */ |
| 30 | u8 nr_sg; | 27 | u8 nr_sg; |
| 31 | }; | 28 | }; |
diff --git a/include/linux/platform_data/mmc-sdhci-s3c.h b/include/linux/platform_data/mmc-sdhci-s3c.h new file mode 100644 index 000000000000..249f02387a35 --- /dev/null +++ b/include/linux/platform_data/mmc-sdhci-s3c.h | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | #ifndef __PLATFORM_DATA_SDHCI_S3C_H | ||
| 2 | #define __PLATFORM_DATA_SDHCI_S3C_H | ||
| 3 | |||
| 4 | struct platform_device; | ||
| 5 | |||
| 6 | enum cd_types { | ||
| 7 | S3C_SDHCI_CD_INTERNAL, /* use mmc internal CD line */ | ||
| 8 | S3C_SDHCI_CD_EXTERNAL, /* use external callback */ | ||
| 9 | S3C_SDHCI_CD_GPIO, /* use external gpio pin for CD line */ | ||
| 10 | S3C_SDHCI_CD_NONE, /* no CD line, use polling to detect card */ | ||
| 11 | S3C_SDHCI_CD_PERMANENT, /* no CD line, card permanently wired to host */ | ||
| 12 | }; | ||
| 13 | |||
| 14 | /** | ||
| 15 | * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI | ||
| 16 | * @max_width: The maximum number of data bits supported. | ||
| 17 | * @host_caps: Standard MMC host capabilities bit field. | ||
| 18 | * @host_caps2: The second standard MMC host capabilities bit field. | ||
| 19 | * @cd_type: Type of Card Detection method (see cd_types enum above) | ||
| 20 | * @ext_cd_init: Initialize external card detect subsystem. Called on | ||
| 21 | * sdhci-s3c driver probe when cd_type == S3C_SDHCI_CD_EXTERNAL. | ||
| 22 | * notify_func argument is a callback to the sdhci-s3c driver | ||
| 23 | * that triggers the card detection event. Callback arguments: | ||
| 24 | * dev is pointer to platform device of the host controller, | ||
| 25 | * state is new state of the card (0 - removed, 1 - inserted). | ||
| 26 | * @ext_cd_cleanup: Cleanup external card detect subsystem. Called on | ||
| 27 | * sdhci-s3c driver remove when cd_type == S3C_SDHCI_CD_EXTERNAL. | ||
| 28 | * notify_func argument is the same callback as for ext_cd_init. | ||
| 29 | * @ext_cd_gpio: gpio pin used for external CD line, valid only if | ||
| 30 | * cd_type == S3C_SDHCI_CD_GPIO | ||
| 31 | * @ext_cd_gpio_invert: invert values for external CD gpio line | ||
| 32 | * @cfg_gpio: Configure the GPIO for a specific card bit-width | ||
| 33 | * | ||
| 34 | * Initialisation data specific to either the machine or the platform | ||
| 35 | * for the device driver to use or call-back when configuring gpio or | ||
| 36 | * card speed information. | ||
| 37 | */ | ||
| 38 | struct s3c_sdhci_platdata { | ||
| 39 | unsigned int max_width; | ||
| 40 | unsigned int host_caps; | ||
| 41 | unsigned int host_caps2; | ||
| 42 | unsigned int pm_caps; | ||
| 43 | enum cd_types cd_type; | ||
| 44 | |||
| 45 | int ext_cd_gpio; | ||
| 46 | bool ext_cd_gpio_invert; | ||
| 47 | int (*ext_cd_init)(void (*notify_func)(struct platform_device *, | ||
| 48 | int state)); | ||
| 49 | int (*ext_cd_cleanup)(void (*notify_func)(struct platform_device *, | ||
| 50 | int state)); | ||
| 51 | |||
| 52 | void (*cfg_gpio)(struct platform_device *dev, int width); | ||
| 53 | }; | ||
| 54 | |||
| 55 | |||
| 56 | #endif /* __PLATFORM_DATA_SDHCI_S3C_H */ | ||
diff --git a/include/linux/platform_data/mv_usb.h b/include/linux/platform_data/mv_usb.h index 944b01dd103e..98b7925f1a2d 100644 --- a/include/linux/platform_data/mv_usb.h +++ b/include/linux/platform_data/mv_usb.h | |||
| @@ -34,8 +34,6 @@ struct mv_usb_addon_irq { | |||
| 34 | }; | 34 | }; |
| 35 | 35 | ||
| 36 | struct mv_usb_platform_data { | 36 | struct mv_usb_platform_data { |
| 37 | unsigned int clknum; | ||
| 38 | char **clkname; | ||
| 39 | struct mv_usb_addon_irq *id; /* Only valid for OTG. ID pin change*/ | 37 | struct mv_usb_addon_irq *id; /* Only valid for OTG. ID pin change*/ |
| 40 | struct mv_usb_addon_irq *vbus; /* valid for OTG/UDC. VBUS change*/ | 38 | struct mv_usb_addon_irq *vbus; /* valid for OTG/UDC. VBUS change*/ |
| 41 | 39 | ||
diff --git a/include/linux/platform_data/ntc_thermistor.h b/include/linux/platform_data/ntc_thermistor.h index 88734e871e3a..c7285b575462 100644 --- a/include/linux/platform_data/ntc_thermistor.h +++ b/include/linux/platform_data/ntc_thermistor.h | |||
| @@ -21,6 +21,8 @@ | |||
| 21 | #ifndef _LINUX_NTC_H | 21 | #ifndef _LINUX_NTC_H |
| 22 | #define _LINUX_NTC_H | 22 | #define _LINUX_NTC_H |
| 23 | 23 | ||
| 24 | struct iio_channel; | ||
| 25 | |||
| 24 | enum ntc_thermistor_type { | 26 | enum ntc_thermistor_type { |
| 25 | TYPE_NCPXXWB473, | 27 | TYPE_NCPXXWB473, |
| 26 | TYPE_NCPXXWL333, | 28 | TYPE_NCPXXWL333, |
| @@ -39,13 +41,17 @@ struct ntc_thermistor_platform_data { | |||
| 39 | * described at Documentation/hwmon/ntc_thermistor | 41 | * described at Documentation/hwmon/ntc_thermistor |
| 40 | * | 42 | * |
| 41 | * pullup/down_ohm: 0 for infinite / not-connected | 43 | * pullup/down_ohm: 0 for infinite / not-connected |
| 44 | * | ||
| 45 | * chan: iio_channel pointer to communicate with the ADC which the | ||
| 46 | * thermistor is using for conversion of the analog values. | ||
| 42 | */ | 47 | */ |
| 43 | int (*read_uV)(void); | 48 | int (*read_uv)(struct ntc_thermistor_platform_data *); |
| 44 | unsigned int pullup_uV; | 49 | unsigned int pullup_uv; |
| 45 | 50 | ||
| 46 | unsigned int pullup_ohm; | 51 | unsigned int pullup_ohm; |
| 47 | unsigned int pulldown_ohm; | 52 | unsigned int pulldown_ohm; |
| 48 | enum { NTC_CONNECTED_POSITIVE, NTC_CONNECTED_GROUND } connect; | 53 | enum { NTC_CONNECTED_POSITIVE, NTC_CONNECTED_GROUND } connect; |
| 54 | struct iio_channel *chan; | ||
| 49 | 55 | ||
| 50 | int (*read_ohm)(void); | 56 | int (*read_ohm)(void); |
| 51 | }; | 57 | }; |
diff --git a/include/linux/platform_data/serial-omap.h b/include/linux/platform_data/serial-omap.h index ff9b0aab5281..c860c1b314c0 100644 --- a/include/linux/platform_data/serial-omap.h +++ b/include/linux/platform_data/serial-omap.h | |||
| @@ -43,8 +43,6 @@ struct omap_uart_port_info { | |||
| 43 | int DTR_present; | 43 | int DTR_present; |
| 44 | 44 | ||
| 45 | int (*get_context_loss_count)(struct device *); | 45 | int (*get_context_loss_count)(struct device *); |
| 46 | void (*set_forceidle)(struct device *); | ||
| 47 | void (*set_noidle)(struct device *); | ||
| 48 | void (*enable_wakeup)(struct device *, bool); | 46 | void (*enable_wakeup)(struct device *, bool); |
| 49 | }; | 47 | }; |
| 50 | 48 | ||
diff --git a/include/linux/platform_data/serial-sccnxp.h b/include/linux/platform_data/serial-sccnxp.h index 215574d1e81d..bdc510d03245 100644 --- a/include/linux/platform_data/serial-sccnxp.h +++ b/include/linux/platform_data/serial-sccnxp.h | |||
| @@ -86,10 +86,6 @@ struct sccnxp_pdata { | |||
| 86 | const u32 mctrl_cfg[SCCNXP_MAX_UARTS]; | 86 | const u32 mctrl_cfg[SCCNXP_MAX_UARTS]; |
| 87 | /* Timer value for polling mode (usecs) */ | 87 | /* Timer value for polling mode (usecs) */ |
| 88 | const unsigned int poll_time_us; | 88 | const unsigned int poll_time_us; |
| 89 | /* Called during startup */ | ||
| 90 | void (*init)(void); | ||
| 91 | /* Called before finish */ | ||
| 92 | void (*exit)(void); | ||
| 93 | }; | 89 | }; |
| 94 | 90 | ||
| 95 | #endif | 91 | #endif |
diff --git a/include/linux/platform_data/si5351.h b/include/linux/platform_data/si5351.h new file mode 100644 index 000000000000..92dabcaf6499 --- /dev/null +++ b/include/linux/platform_data/si5351.h | |||
| @@ -0,0 +1,114 @@ | |||
| 1 | /* | ||
| 2 | * Si5351A/B/C programmable clock generator platform_data. | ||
| 3 | */ | ||
| 4 | |||
| 5 | #ifndef __LINUX_PLATFORM_DATA_SI5351_H__ | ||
| 6 | #define __LINUX_PLATFORM_DATA_SI5351_H__ | ||
| 7 | |||
| 8 | struct clk; | ||
| 9 | |||
| 10 | /** | ||
| 11 | * enum si5351_variant - SiLabs Si5351 chip variant | ||
| 12 | * @SI5351_VARIANT_A: Si5351A (8 output clocks, XTAL input) | ||
| 13 | * @SI5351_VARIANT_A3: Si5351A MSOP10 (3 output clocks, XTAL input) | ||
| 14 | * @SI5351_VARIANT_B: Si5351B (8 output clocks, XTAL/VXCO input) | ||
| 15 | * @SI5351_VARIANT_C: Si5351C (8 output clocks, XTAL/CLKIN input) | ||
| 16 | */ | ||
| 17 | enum si5351_variant { | ||
| 18 | SI5351_VARIANT_A = 1, | ||
| 19 | SI5351_VARIANT_A3 = 2, | ||
| 20 | SI5351_VARIANT_B = 3, | ||
| 21 | SI5351_VARIANT_C = 4, | ||
| 22 | }; | ||
| 23 | |||
| 24 | /** | ||
| 25 | * enum si5351_pll_src - Si5351 pll clock source | ||
| 26 | * @SI5351_PLL_SRC_DEFAULT: default, do not change eeprom config | ||
| 27 | * @SI5351_PLL_SRC_XTAL: pll source clock is XTAL input | ||
| 28 | * @SI5351_PLL_SRC_CLKIN: pll source clock is CLKIN input (Si5351C only) | ||
| 29 | */ | ||
| 30 | enum si5351_pll_src { | ||
| 31 | SI5351_PLL_SRC_DEFAULT = 0, | ||
| 32 | SI5351_PLL_SRC_XTAL = 1, | ||
| 33 | SI5351_PLL_SRC_CLKIN = 2, | ||
| 34 | }; | ||
| 35 | |||
| 36 | /** | ||
| 37 | * enum si5351_multisynth_src - Si5351 multisynth clock source | ||
| 38 | * @SI5351_MULTISYNTH_SRC_DEFAULT: default, do not change eeprom config | ||
| 39 | * @SI5351_MULTISYNTH_SRC_VCO0: multisynth source clock is VCO0 | ||
| 40 | * @SI5351_MULTISYNTH_SRC_VCO1: multisynth source clock is VCO1/VXCO | ||
| 41 | */ | ||
| 42 | enum si5351_multisynth_src { | ||
| 43 | SI5351_MULTISYNTH_SRC_DEFAULT = 0, | ||
| 44 | SI5351_MULTISYNTH_SRC_VCO0 = 1, | ||
| 45 | SI5351_MULTISYNTH_SRC_VCO1 = 2, | ||
| 46 | }; | ||
| 47 | |||
| 48 | /** | ||
| 49 | * enum si5351_clkout_src - Si5351 clock output clock source | ||
| 50 | * @SI5351_CLKOUT_SRC_DEFAULT: default, do not change eeprom config | ||
| 51 | * @SI5351_CLKOUT_SRC_MSYNTH_N: clkout N source clock is multisynth N | ||
| 52 | * @SI5351_CLKOUT_SRC_MSYNTH_0_4: clkout N source clock is multisynth 0 (N<4) | ||
| 53 | * or 4 (N>=4) | ||
| 54 | * @SI5351_CLKOUT_SRC_XTAL: clkout N source clock is XTAL | ||
| 55 | * @SI5351_CLKOUT_SRC_CLKIN: clkout N source clock is CLKIN (Si5351C only) | ||
| 56 | */ | ||
| 57 | enum si5351_clkout_src { | ||
| 58 | SI5351_CLKOUT_SRC_DEFAULT = 0, | ||
| 59 | SI5351_CLKOUT_SRC_MSYNTH_N = 1, | ||
| 60 | SI5351_CLKOUT_SRC_MSYNTH_0_4 = 2, | ||
| 61 | SI5351_CLKOUT_SRC_XTAL = 3, | ||
| 62 | SI5351_CLKOUT_SRC_CLKIN = 4, | ||
| 63 | }; | ||
| 64 | |||
| 65 | /** | ||
| 66 | * enum si5351_drive_strength - Si5351 clock output drive strength | ||
| 67 | * @SI5351_DRIVE_DEFAULT: default, do not change eeprom config | ||
| 68 | * @SI5351_DRIVE_2MA: 2mA clock output drive strength | ||
| 69 | * @SI5351_DRIVE_4MA: 4mA clock output drive strength | ||
| 70 | * @SI5351_DRIVE_6MA: 6mA clock output drive strength | ||
| 71 | * @SI5351_DRIVE_8MA: 8mA clock output drive strength | ||
| 72 | */ | ||
| 73 | enum si5351_drive_strength { | ||
| 74 | SI5351_DRIVE_DEFAULT = 0, | ||
| 75 | SI5351_DRIVE_2MA = 2, | ||
| 76 | SI5351_DRIVE_4MA = 4, | ||
| 77 | SI5351_DRIVE_6MA = 6, | ||
| 78 | SI5351_DRIVE_8MA = 8, | ||
| 79 | }; | ||
| 80 | |||
| 81 | /** | ||
| 82 | * struct si5351_clkout_config - Si5351 clock output configuration | ||
| 83 | * @clkout: clkout number | ||
| 84 | * @multisynth_src: multisynth source clock | ||
| 85 | * @clkout_src: clkout source clock | ||
| 86 | * @pll_master: if true, clkout can also change pll rate | ||
| 87 | * @drive: output drive strength | ||
| 88 | * @rate: initial clkout rate, or default if 0 | ||
| 89 | */ | ||
| 90 | struct si5351_clkout_config { | ||
| 91 | enum si5351_multisynth_src multisynth_src; | ||
| 92 | enum si5351_clkout_src clkout_src; | ||
| 93 | enum si5351_drive_strength drive; | ||
| 94 | bool pll_master; | ||
| 95 | unsigned long rate; | ||
| 96 | }; | ||
| 97 | |||
| 98 | /** | ||
| 99 | * struct si5351_platform_data - Platform data for the Si5351 clock driver | ||
| 100 | * @variant: Si5351 chip variant | ||
| 101 | * @clk_xtal: xtal input clock | ||
| 102 | * @clk_clkin: clkin input clock | ||
| 103 | * @pll_src: array of pll source clock setting | ||
| 104 | * @clkout: array of clkout configuration | ||
| 105 | */ | ||
| 106 | struct si5351_platform_data { | ||
| 107 | enum si5351_variant variant; | ||
| 108 | struct clk *clk_xtal; | ||
| 109 | struct clk *clk_clkin; | ||
| 110 | enum si5351_pll_src pll_src[2]; | ||
| 111 | struct si5351_clkout_config clkout[8]; | ||
| 112 | }; | ||
| 113 | |||
| 114 | #endif | ||
diff --git a/include/linux/platform_data/spi-s3c64xx.h b/include/linux/platform_data/spi-s3c64xx.h index ceba18d23a5a..8447f634c7f5 100644 --- a/include/linux/platform_data/spi-s3c64xx.h +++ b/include/linux/platform_data/spi-s3c64xx.h | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | #ifndef __S3C64XX_PLAT_SPI_H | 11 | #ifndef __S3C64XX_PLAT_SPI_H |
| 12 | #define __S3C64XX_PLAT_SPI_H | 12 | #define __S3C64XX_PLAT_SPI_H |
| 13 | 13 | ||
| 14 | #include <linux/dmaengine.h> | ||
| 15 | |||
| 14 | struct platform_device; | 16 | struct platform_device; |
| 15 | 17 | ||
| 16 | /** | 18 | /** |
| @@ -38,6 +40,7 @@ struct s3c64xx_spi_info { | |||
| 38 | int src_clk_nr; | 40 | int src_clk_nr; |
| 39 | int num_cs; | 41 | int num_cs; |
| 40 | int (*cfg_gpio)(void); | 42 | int (*cfg_gpio)(void); |
| 43 | dma_filter_fn filter; | ||
| 41 | }; | 44 | }; |
| 42 | 45 | ||
| 43 | /** | 46 | /** |
diff --git a/include/linux/platform_data/usb-exynos.h b/include/linux/platform_data/usb-ohci-exynos.h index c256c595be5e..c256c595be5e 100644 --- a/include/linux/platform_data/usb-exynos.h +++ b/include/linux/platform_data/usb-ohci-exynos.h | |||
diff --git a/include/linux/platform_data/video-vt8500lcdfb.h b/include/linux/platform_data/video-vt8500lcdfb.h deleted file mode 100644 index 7f399c370fe0..000000000000 --- a/include/linux/platform_data/video-vt8500lcdfb.h +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * VT8500/WM8505 Frame Buffer platform data definitions | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Ed Spiridonov <edo.rus@gmail.com> | ||
| 5 | * | ||
| 6 | * This software is licensed under the terms of the GNU General Public | ||
| 7 | * License version 2, as published by the Free Software Foundation, and | ||
| 8 | * may be copied, distributed, and modified under those terms. | ||
| 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 | |||
| 16 | #ifndef _VT8500FB_H | ||
| 17 | #define _VT8500FB_H | ||
| 18 | |||
| 19 | #include <linux/fb.h> | ||
| 20 | |||
| 21 | struct vt8500fb_platform_data { | ||
| 22 | struct fb_videomode mode; | ||
| 23 | u32 xres_virtual; | ||
| 24 | u32 yres_virtual; | ||
| 25 | u32 bpp; | ||
| 26 | unsigned long video_mem_phys; | ||
| 27 | void *video_mem_virt; | ||
| 28 | unsigned long video_mem_len; | ||
| 29 | }; | ||
| 30 | |||
| 31 | #endif /* _VT8500FB_H */ | ||
diff --git a/include/linux/platform_data/video_s3c.h b/include/linux/platform_data/video_s3c.h new file mode 100644 index 000000000000..48883995f47f --- /dev/null +++ b/include/linux/platform_data/video_s3c.h | |||
| @@ -0,0 +1,54 @@ | |||
| 1 | #ifndef __PLATFORM_DATA_VIDEO_S3C | ||
| 2 | #define __PLATFORM_DATA_VIDEO_S3C | ||
| 3 | |||
| 4 | /* S3C_FB_MAX_WIN | ||
| 5 | * Set to the maximum number of windows that any of the supported hardware | ||
| 6 | * can use. Since the platform data uses this for an array size, having it | ||
| 7 | * set to the maximum of any version of the hardware can do is safe. | ||
| 8 | */ | ||
| 9 | #define S3C_FB_MAX_WIN (5) | ||
| 10 | |||
| 11 | /** | ||
| 12 | * struct s3c_fb_pd_win - per window setup data | ||
| 13 | * @xres : The window X size. | ||
| 14 | * @yres : The window Y size. | ||
| 15 | * @virtual_x: The virtual X size. | ||
| 16 | * @virtual_y: The virtual Y size. | ||
| 17 | */ | ||
| 18 | struct s3c_fb_pd_win { | ||
| 19 | unsigned short default_bpp; | ||
| 20 | unsigned short max_bpp; | ||
| 21 | unsigned short xres; | ||
| 22 | unsigned short yres; | ||
| 23 | unsigned short virtual_x; | ||
| 24 | unsigned short virtual_y; | ||
| 25 | }; | ||
| 26 | |||
| 27 | /** | ||
| 28 | * struct s3c_fb_platdata - S3C driver platform specific information | ||
| 29 | * @setup_gpio: Setup the external GPIO pins to the right state to transfer | ||
| 30 | * the data from the display system to the connected display | ||
| 31 | * device. | ||
| 32 | * @vidcon0: The base vidcon0 values to control the panel data format. | ||
| 33 | * @vidcon1: The base vidcon1 values to control the panel data output. | ||
| 34 | * @vtiming: Video timing when connected to a RGB type panel. | ||
| 35 | * @win: The setup data for each hardware window, or NULL for unused. | ||
| 36 | * @display_mode: The LCD output display mode. | ||
| 37 | * | ||
| 38 | * The platform data supplies the video driver with all the information | ||
| 39 | * it requires to work with the display(s) attached to the machine. It | ||
| 40 | * controls the initial mode, the number of display windows (0 is always | ||
| 41 | * the base framebuffer) that are initialised etc. | ||
| 42 | * | ||
| 43 | */ | ||
| 44 | struct s3c_fb_platdata { | ||
| 45 | void (*setup_gpio)(void); | ||
| 46 | |||
| 47 | struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN]; | ||
| 48 | struct fb_videomode *vtiming; | ||
| 49 | |||
| 50 | u32 vidcon0; | ||
| 51 | u32 vidcon1; | ||
| 52 | }; | ||
| 53 | |||
| 54 | #endif | ||
