diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-11-14 20:38:05 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-11-14 20:38:05 -0500 |
| commit | 42249094f79422fbf5ed4b54eeb48ff096809b8f (patch) | |
| tree | 91e6850c8c7e8cc284cf8bb6363f8662f84011f4 /include/linux/platform_data | |
| parent | 936816161978ca716a56c5e553c68f25972b1e3a (diff) | |
| parent | 2c027b7c48a888ab173ba45babb4525e278375d9 (diff) | |
Merge branch 'next' into for-linus
Merge first round of changes for 3.13 merge window.
Diffstat (limited to 'include/linux/platform_data')
51 files changed, 980 insertions, 413 deletions
diff --git a/include/linux/platform_data/ad7303.h b/include/linux/platform_data/ad7303.h new file mode 100644 index 000000000000..de6a7a6b4bbf --- /dev/null +++ b/include/linux/platform_data/ad7303.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* | ||
| 2 | * Analog Devices AD7303 DAC driver | ||
| 3 | * | ||
| 4 | * Copyright 2013 Analog Devices Inc. | ||
| 5 | * | ||
| 6 | * Licensed under the GPL-2. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef __IIO_ADC_AD7303_H__ | ||
| 10 | #define __IIO_ADC_AD7303_H__ | ||
| 11 | |||
| 12 | /** | ||
| 13 | * struct ad7303_platform_data - AD7303 platform data | ||
| 14 | * @use_external_ref: If set to true use an external voltage reference connected | ||
| 15 | * to the REF pin, otherwise use the internal reference derived from Vdd. | ||
| 16 | */ | ||
| 17 | struct ad7303_platform_data { | ||
| 18 | bool use_external_ref; | ||
| 19 | }; | ||
| 20 | |||
| 21 | #endif | ||
diff --git a/include/linux/platform_data/asoc-s3c.h b/include/linux/platform_data/asoc-s3c.h index 88272591a895..9efc04dd255a 100644 --- a/include/linux/platform_data/asoc-s3c.h +++ b/include/linux/platform_data/asoc-s3c.h | |||
| @@ -36,6 +36,7 @@ struct samsung_i2s { | |||
| 36 | */ | 36 | */ |
| 37 | #define QUIRK_NO_MUXPSR (1 << 2) | 37 | #define QUIRK_NO_MUXPSR (1 << 2) |
| 38 | #define QUIRK_NEED_RSTCLR (1 << 3) | 38 | #define QUIRK_NEED_RSTCLR (1 << 3) |
| 39 | #define QUIRK_SUPPORTS_TDM (1 << 4) | ||
| 39 | /* Quirks of the I2S controller */ | 40 | /* Quirks of the I2S controller */ |
| 40 | u32 quirks; | 41 | u32 quirks; |
| 41 | dma_addr_t idma_addr; | 42 | dma_addr_t idma_addr; |
diff --git a/include/linux/platform_data/at91_adc.h b/include/linux/platform_data/at91_adc.h index e15745b4f3a5..b3ca1e94e0c8 100644 --- a/include/linux/platform_data/at91_adc.h +++ b/include/linux/platform_data/at91_adc.h | |||
| @@ -14,12 +14,16 @@ | |||
| 14 | (Interruptions registers mostly) | 14 | (Interruptions registers mostly) |
| 15 | * @status_register: Offset of the Interrupt Status Register | 15 | * @status_register: Offset of the Interrupt Status Register |
| 16 | * @trigger_register: Offset of the Trigger setup register | 16 | * @trigger_register: Offset of the Trigger setup register |
| 17 | * @mr_prescal_mask: Mask of the PRESCAL field in the adc MR register | ||
| 18 | * @mr_startup_mask: Mask of the STARTUP field in the adc MR register | ||
| 17 | */ | 19 | */ |
| 18 | struct at91_adc_reg_desc { | 20 | struct at91_adc_reg_desc { |
| 19 | u8 channel_base; | 21 | u8 channel_base; |
| 20 | u32 drdy_mask; | 22 | u32 drdy_mask; |
| 21 | u8 status_register; | 23 | u8 status_register; |
| 22 | u8 trigger_register; | 24 | u8 trigger_register; |
| 25 | u32 mr_prescal_mask; | ||
| 26 | u32 mr_startup_mask; | ||
| 23 | }; | 27 | }; |
| 24 | 28 | ||
| 25 | /** | 29 | /** |
diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h index 6a293b7fff3b..cea9f70133c5 100644 --- a/include/linux/platform_data/atmel.h +++ b/include/linux/platform_data/atmel.h | |||
| @@ -71,6 +71,10 @@ struct atmel_nand_data { | |||
| 71 | u8 on_flash_bbt; /* bbt on flash */ | 71 | u8 on_flash_bbt; /* bbt on flash */ |
| 72 | struct mtd_partition *parts; | 72 | struct mtd_partition *parts; |
| 73 | unsigned int num_parts; | 73 | unsigned int num_parts; |
| 74 | bool has_dma; /* support dma transfer */ | ||
| 75 | |||
| 76 | /* default is false, only for at32ap7000 chip is true */ | ||
| 77 | bool need_reset_workaround; | ||
| 74 | }; | 78 | }; |
| 75 | 79 | ||
| 76 | /* Serial */ | 80 | /* Serial */ |
diff --git a/include/linux/platform_data/bd6107.h b/include/linux/platform_data/bd6107.h new file mode 100644 index 000000000000..671d6502d241 --- /dev/null +++ b/include/linux/platform_data/bd6107.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | /* | ||
| 2 | * bd6107.h - Rohm BD6107 LEDs Driver | ||
| 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 version 2 as | ||
| 6 | * published by the Free Software Foundation. | ||
| 7 | */ | ||
| 8 | #ifndef __BD6107_H__ | ||
| 9 | #define __BD6107_H__ | ||
| 10 | |||
| 11 | struct device; | ||
| 12 | |||
| 13 | struct bd6107_platform_data { | ||
| 14 | struct device *fbdev; | ||
| 15 | int reset; /* Reset GPIO */ | ||
| 16 | unsigned int def_value; | ||
| 17 | }; | ||
| 18 | |||
| 19 | #endif | ||
diff --git a/include/linux/platform_data/brcmfmac-sdio.h b/include/linux/platform_data/brcmfmac-sdio.h index 1ade657d5fc1..e75dcbf2b230 100644 --- a/include/linux/platform_data/brcmfmac-sdio.h +++ b/include/linux/platform_data/brcmfmac-sdio.h | |||
| @@ -90,6 +90,14 @@ void __init brcmfmac_init_pdata(void) | |||
| 90 | * oob_irq_nr, oob_irq_flags: the OOB interrupt information. The values are | 90 | * oob_irq_nr, oob_irq_flags: the OOB interrupt information. The values are |
| 91 | * used for registering the irq using request_irq function. | 91 | * used for registering the irq using request_irq function. |
| 92 | * | 92 | * |
| 93 | * broken_sg_support: flag for broken sg list support of SDIO host controller. | ||
| 94 | * Set this to true if the SDIO host controller has higher align requirement | ||
| 95 | * than 32 bytes for each scatterlist item. | ||
| 96 | * | ||
| 97 | * sd_head_align: alignment requirement for start of data buffer | ||
| 98 | * | ||
| 99 | * sd_sgentry_align: length alignment requirement for each sg entry | ||
| 100 | * | ||
| 93 | * power_on: This function is called by the brcmfmac when the module gets | 101 | * 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 | 102 | * 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. | 103 | * spcific routine may for example decide to power up the complete device. |
| @@ -116,6 +124,9 @@ struct brcmfmac_sdio_platform_data { | |||
| 116 | bool oob_irq_supported; | 124 | bool oob_irq_supported; |
| 117 | unsigned int oob_irq_nr; | 125 | unsigned int oob_irq_nr; |
| 118 | unsigned long oob_irq_flags; | 126 | unsigned long oob_irq_flags; |
| 127 | bool broken_sg_support; | ||
| 128 | unsigned short sd_head_align; | ||
| 129 | unsigned short sd_sgentry_align; | ||
| 119 | void (*power_on)(void); | 130 | void (*power_on)(void); |
| 120 | void (*power_off)(void); | 131 | void (*power_off)(void); |
| 121 | void (*reset)(void); | 132 | void (*reset)(void); |
diff --git a/include/linux/platform_data/camera-mx3.h b/include/linux/platform_data/camera-mx3.h index f226ee3777e1..a910dadc8258 100644 --- a/include/linux/platform_data/camera-mx3.h +++ b/include/linux/platform_data/camera-mx3.h | |||
| @@ -33,6 +33,8 @@ | |||
| 33 | #define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \ | 33 | #define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \ |
| 34 | MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15) | 34 | MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15) |
| 35 | 35 | ||
| 36 | struct v4l2_async_subdev; | ||
| 37 | |||
| 36 | /** | 38 | /** |
| 37 | * struct mx3_camera_pdata - i.MX3x camera platform data | 39 | * struct mx3_camera_pdata - i.MX3x camera platform data |
| 38 | * @flags: MX3_CAMERA_* flags | 40 | * @flags: MX3_CAMERA_* flags |
| @@ -43,6 +45,8 @@ struct mx3_camera_pdata { | |||
| 43 | unsigned long flags; | 45 | unsigned long flags; |
| 44 | unsigned long mclk_10khz; | 46 | unsigned long mclk_10khz; |
| 45 | struct device *dma_dev; | 47 | struct device *dma_dev; |
| 48 | struct v4l2_async_subdev **asd; /* Flat array, arranged in groups */ | ||
| 49 | int *asd_sizes; /* 0-terminated array of asd group sizes */ | ||
| 46 | }; | 50 | }; |
| 47 | 51 | ||
| 48 | #endif | 52 | #endif |
diff --git a/include/linux/platform_data/camera-rcar.h b/include/linux/platform_data/camera-rcar.h new file mode 100644 index 000000000000..dfc83c581593 --- /dev/null +++ b/include/linux/platform_data/camera-rcar.h | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | /* | ||
| 2 | * Platform data for Renesas R-Car VIN soc-camera driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2011-2013 Renesas Solutions Corp. | ||
| 5 | * Copyright (C) 2013 Cogent Embedded, Inc., <source@cogentembedded.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License as published by the | ||
| 9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 10 | * option) any later version. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __CAMERA_RCAR_H_ | ||
| 14 | #define __CAMERA_RCAR_H_ | ||
| 15 | |||
| 16 | #define RCAR_VIN_HSYNC_ACTIVE_LOW (1 << 0) | ||
| 17 | #define RCAR_VIN_VSYNC_ACTIVE_LOW (1 << 1) | ||
| 18 | #define RCAR_VIN_BT601 (1 << 2) | ||
| 19 | #define RCAR_VIN_BT656 (1 << 3) | ||
| 20 | |||
| 21 | struct rcar_vin_platform_data { | ||
| 22 | unsigned int flags; | ||
| 23 | }; | ||
| 24 | |||
| 25 | #endif /* __CAMERA_RCAR_H_ */ | ||
diff --git a/include/linux/platform_data/clk-ux500.h b/include/linux/platform_data/clk-ux500.h index 320d9c39ea0a..9d98f3aaa16c 100644 --- a/include/linux/platform_data/clk-ux500.h +++ b/include/linux/platform_data/clk-ux500.h | |||
| @@ -12,7 +12,9 @@ | |||
| 12 | 12 | ||
| 13 | void u8500_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base, | 13 | void u8500_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base, |
| 14 | u32 clkrst5_base, u32 clkrst6_base); | 14 | u32 clkrst5_base, u32 clkrst6_base); |
| 15 | void u9540_clk_init(void); | 15 | void u9540_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base, |
| 16 | void u8540_clk_init(void); | 16 | u32 clkrst5_base, u32 clkrst6_base); |
| 17 | void u8540_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base, | ||
| 18 | u32 clkrst5_base, u32 clkrst6_base); | ||
| 17 | 19 | ||
| 18 | #endif /* __CLK_UX500_H */ | 20 | #endif /* __CLK_UX500_H */ |
diff --git a/include/linux/platform_data/cpsw.h b/include/linux/platform_data/cpsw.h deleted file mode 100644 index bb3cd58d71e3..000000000000 --- a/include/linux/platform_data/cpsw.h +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Texas Instruments Ethernet Switch Driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Texas Instruments | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or | ||
| 7 | * modify it under the terms of the GNU General Public License as | ||
| 8 | * published by the Free Software Foundation version 2. | ||
| 9 | * | ||
| 10 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
| 11 | * kind, whether express or implied; without even the implied warranty | ||
| 12 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | */ | ||
| 15 | #ifndef __CPSW_H__ | ||
| 16 | #define __CPSW_H__ | ||
| 17 | |||
| 18 | #include <linux/if_ether.h> | ||
| 19 | |||
| 20 | struct cpsw_slave_data { | ||
| 21 | char phy_id[MII_BUS_ID_SIZE]; | ||
| 22 | int phy_if; | ||
| 23 | u8 mac_addr[ETH_ALEN]; | ||
| 24 | u16 dual_emac_res_vlan; /* Reserved VLAN for DualEMAC */ | ||
| 25 | |||
| 26 | }; | ||
| 27 | |||
| 28 | struct cpsw_platform_data { | ||
| 29 | u32 ss_reg_ofs; /* Subsystem control register offset */ | ||
| 30 | u32 channels; /* number of cpdma channels (symmetric) */ | ||
| 31 | u32 slaves; /* number of slave cpgmac ports */ | ||
| 32 | struct cpsw_slave_data *slave_data; | ||
| 33 | u32 active_slave; /* time stamping, ethtool and SIOCGMIIPHY slave */ | ||
| 34 | u32 cpts_clock_mult; /* convert input clock ticks to nanoseconds */ | ||
| 35 | u32 cpts_clock_shift; /* convert input clock ticks to nanoseconds */ | ||
| 36 | u32 ale_entries; /* ale table size */ | ||
| 37 | u32 bd_ram_size; /*buffer descriptor ram size */ | ||
| 38 | u32 rx_descs; /* Number of Rx Descriptios */ | ||
| 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 */ | ||
| 42 | }; | ||
| 43 | |||
| 44 | #endif /* __CPSW_H__ */ | ||
diff --git a/include/linux/platform_data/dma-atmel.h b/include/linux/platform_data/dma-atmel.h index cab0997be3de..e95f19c65873 100644 --- a/include/linux/platform_data/dma-atmel.h +++ b/include/linux/platform_data/dma-atmel.h | |||
| @@ -35,16 +35,20 @@ struct at_dma_slave { | |||
| 35 | 35 | ||
| 36 | 36 | ||
| 37 | /* Platform-configurable bits in CFG */ | 37 | /* Platform-configurable bits in CFG */ |
| 38 | #define ATC_PER_MSB(h) ((0x30U & (h)) >> 4) /* Extract most significant bits of a handshaking identifier */ | ||
| 39 | |||
| 38 | #define ATC_SRC_PER(h) (0xFU & (h)) /* Channel src rq associated with periph handshaking ifc h */ | 40 | #define ATC_SRC_PER(h) (0xFU & (h)) /* Channel src rq associated with periph handshaking ifc h */ |
| 39 | #define ATC_DST_PER(h) ((0xFU & (h)) << 4) /* Channel dst rq associated with periph handshaking ifc h */ | 41 | #define ATC_DST_PER(h) ((0xFU & (h)) << 4) /* Channel dst rq associated with periph handshaking ifc h */ |
| 40 | #define ATC_SRC_REP (0x1 << 8) /* Source Replay Mod */ | 42 | #define ATC_SRC_REP (0x1 << 8) /* Source Replay Mod */ |
| 41 | #define ATC_SRC_H2SEL (0x1 << 9) /* Source Handshaking Mod */ | 43 | #define ATC_SRC_H2SEL (0x1 << 9) /* Source Handshaking Mod */ |
| 42 | #define ATC_SRC_H2SEL_SW (0x0 << 9) | 44 | #define ATC_SRC_H2SEL_SW (0x0 << 9) |
| 43 | #define ATC_SRC_H2SEL_HW (0x1 << 9) | 45 | #define ATC_SRC_H2SEL_HW (0x1 << 9) |
| 46 | #define ATC_SRC_PER_MSB(h) (ATC_PER_MSB(h) << 10) /* Channel src rq (most significant bits) */ | ||
| 44 | #define ATC_DST_REP (0x1 << 12) /* Destination Replay Mod */ | 47 | #define ATC_DST_REP (0x1 << 12) /* Destination Replay Mod */ |
| 45 | #define ATC_DST_H2SEL (0x1 << 13) /* Destination Handshaking Mod */ | 48 | #define ATC_DST_H2SEL (0x1 << 13) /* Destination Handshaking Mod */ |
| 46 | #define ATC_DST_H2SEL_SW (0x0 << 13) | 49 | #define ATC_DST_H2SEL_SW (0x0 << 13) |
| 47 | #define ATC_DST_H2SEL_HW (0x1 << 13) | 50 | #define ATC_DST_H2SEL_HW (0x1 << 13) |
| 51 | #define ATC_DST_PER_MSB(h) (ATC_PER_MSB(h) << 14) /* Channel dst rq (most significant bits) */ | ||
| 48 | #define ATC_SOD (0x1 << 16) /* Stop On Done */ | 52 | #define ATC_SOD (0x1 << 16) /* Stop On Done */ |
| 49 | #define ATC_LOCK_IF (0x1 << 20) /* Interface Lock */ | 53 | #define ATC_LOCK_IF (0x1 << 20) /* Interface Lock */ |
| 50 | #define ATC_LOCK_B (0x1 << 21) /* AHB Bus Lock */ | 54 | #define ATC_LOCK_B (0x1 << 21) /* AHB Bus Lock */ |
diff --git a/include/linux/platform_data/dma-imx.h b/include/linux/platform_data/dma-imx.h index f6d30cc1cb77..beac6b8b6a7b 100644 --- a/include/linux/platform_data/dma-imx.h +++ b/include/linux/platform_data/dma-imx.h | |||
| @@ -60,10 +60,8 @@ static inline int imx_dma_is_ipu(struct dma_chan *chan) | |||
| 60 | 60 | ||
| 61 | static inline int imx_dma_is_general_purpose(struct dma_chan *chan) | 61 | static inline int imx_dma_is_general_purpose(struct dma_chan *chan) |
| 62 | { | 62 | { |
| 63 | return strstr(dev_name(chan->device->dev), "sdma") || | 63 | return !strcmp(chan->device->dev->driver->name, "imx-sdma") || |
| 64 | !strcmp(dev_name(chan->device->dev), "imx1-dma") || | 64 | !strcmp(chan->device->dev->driver->name, "imx-dma"); |
| 65 | !strcmp(dev_name(chan->device->dev), "imx21-dma") || | ||
| 66 | !strcmp(dev_name(chan->device->dev), "imx27-dma"); | ||
| 67 | } | 65 | } |
| 68 | 66 | ||
| 69 | #endif | 67 | #endif |
diff --git a/include/linux/platform_data/dma-rcar-hpbdma.h b/include/linux/platform_data/dma-rcar-hpbdma.h new file mode 100644 index 000000000000..648b8ea61a22 --- /dev/null +++ b/include/linux/platform_data/dma-rcar-hpbdma.h | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2011-2013 Renesas Electronics Corporation | ||
| 3 | * Copyright (C) 2013 Cogent Embedded, Inc. | ||
| 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 | ||
| 7 | * as published by the Free Software Foundation. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef __DMA_RCAR_HPBDMA_H | ||
| 11 | #define __DMA_RCAR_HPBDMA_H | ||
| 12 | |||
| 13 | #include <linux/bitops.h> | ||
| 14 | #include <linux/types.h> | ||
| 15 | |||
| 16 | /* Transmit sizes and respective register values */ | ||
| 17 | enum { | ||
| 18 | XMIT_SZ_8BIT = 0, | ||
| 19 | XMIT_SZ_16BIT = 1, | ||
| 20 | XMIT_SZ_32BIT = 2, | ||
| 21 | XMIT_SZ_MAX | ||
| 22 | }; | ||
| 23 | |||
| 24 | /* DMA control register (DCR) bits */ | ||
| 25 | #define HPB_DMAE_DCR_DTAMD (1u << 26) | ||
| 26 | #define HPB_DMAE_DCR_DTAC (1u << 25) | ||
| 27 | #define HPB_DMAE_DCR_DTAU (1u << 24) | ||
| 28 | #define HPB_DMAE_DCR_DTAU1 (1u << 23) | ||
| 29 | #define HPB_DMAE_DCR_SWMD (1u << 22) | ||
| 30 | #define HPB_DMAE_DCR_BTMD (1u << 21) | ||
| 31 | #define HPB_DMAE_DCR_PKMD (1u << 20) | ||
| 32 | #define HPB_DMAE_DCR_CT (1u << 18) | ||
| 33 | #define HPB_DMAE_DCR_ACMD (1u << 17) | ||
| 34 | #define HPB_DMAE_DCR_DIP (1u << 16) | ||
| 35 | #define HPB_DMAE_DCR_SMDL (1u << 13) | ||
| 36 | #define HPB_DMAE_DCR_SPDAM (1u << 12) | ||
| 37 | #define HPB_DMAE_DCR_SDRMD_MASK (3u << 10) | ||
| 38 | #define HPB_DMAE_DCR_SDRMD_MOD (0u << 10) | ||
| 39 | #define HPB_DMAE_DCR_SDRMD_AUTO (1u << 10) | ||
| 40 | #define HPB_DMAE_DCR_SDRMD_TIMER (2u << 10) | ||
| 41 | #define HPB_DMAE_DCR_SPDS_MASK (3u << 8) | ||
| 42 | #define HPB_DMAE_DCR_SPDS_8BIT (0u << 8) | ||
| 43 | #define HPB_DMAE_DCR_SPDS_16BIT (1u << 8) | ||
| 44 | #define HPB_DMAE_DCR_SPDS_32BIT (2u << 8) | ||
| 45 | #define HPB_DMAE_DCR_DMDL (1u << 5) | ||
| 46 | #define HPB_DMAE_DCR_DPDAM (1u << 4) | ||
| 47 | #define HPB_DMAE_DCR_DDRMD_MASK (3u << 2) | ||
| 48 | #define HPB_DMAE_DCR_DDRMD_MOD (0u << 2) | ||
| 49 | #define HPB_DMAE_DCR_DDRMD_AUTO (1u << 2) | ||
| 50 | #define HPB_DMAE_DCR_DDRMD_TIMER (2u << 2) | ||
| 51 | #define HPB_DMAE_DCR_DPDS_MASK (3u << 0) | ||
| 52 | #define HPB_DMAE_DCR_DPDS_8BIT (0u << 0) | ||
| 53 | #define HPB_DMAE_DCR_DPDS_16BIT (1u << 0) | ||
| 54 | #define HPB_DMAE_DCR_DPDS_32BIT (2u << 0) | ||
| 55 | |||
| 56 | /* Asynchronous reset register (ASYNCRSTR) bits */ | ||
| 57 | #define HPB_DMAE_ASYNCRSTR_ASRST41 BIT(10) | ||
| 58 | #define HPB_DMAE_ASYNCRSTR_ASRST40 BIT(9) | ||
| 59 | #define HPB_DMAE_ASYNCRSTR_ASRST39 BIT(8) | ||
| 60 | #define HPB_DMAE_ASYNCRSTR_ASRST27 BIT(7) | ||
| 61 | #define HPB_DMAE_ASYNCRSTR_ASRST26 BIT(6) | ||
| 62 | #define HPB_DMAE_ASYNCRSTR_ASRST25 BIT(5) | ||
| 63 | #define HPB_DMAE_ASYNCRSTR_ASRST24 BIT(4) | ||
| 64 | #define HPB_DMAE_ASYNCRSTR_ASRST23 BIT(3) | ||
| 65 | #define HPB_DMAE_ASYNCRSTR_ASRST22 BIT(2) | ||
| 66 | #define HPB_DMAE_ASYNCRSTR_ASRST21 BIT(1) | ||
| 67 | #define HPB_DMAE_ASYNCRSTR_ASRST20 BIT(0) | ||
| 68 | |||
| 69 | struct hpb_dmae_slave_config { | ||
| 70 | unsigned int id; | ||
| 71 | dma_addr_t addr; | ||
| 72 | u32 dcr; | ||
| 73 | u32 port; | ||
| 74 | u32 rstr; | ||
| 75 | u32 mdr; | ||
| 76 | u32 mdm; | ||
| 77 | u32 flags; | ||
| 78 | #define HPB_DMAE_SET_ASYNC_RESET BIT(0) | ||
| 79 | #define HPB_DMAE_SET_ASYNC_MODE BIT(1) | ||
| 80 | u32 dma_ch; | ||
| 81 | }; | ||
| 82 | |||
| 83 | #define HPB_DMAE_CHANNEL(_irq, _s_id) \ | ||
| 84 | { \ | ||
| 85 | .ch_irq = _irq, \ | ||
| 86 | .s_id = _s_id, \ | ||
| 87 | } | ||
| 88 | |||
| 89 | struct hpb_dmae_channel { | ||
| 90 | unsigned int ch_irq; | ||
| 91 | unsigned int s_id; | ||
| 92 | }; | ||
| 93 | |||
| 94 | struct hpb_dmae_pdata { | ||
| 95 | const struct hpb_dmae_slave_config *slaves; | ||
| 96 | int num_slaves; | ||
| 97 | const struct hpb_dmae_channel *channels; | ||
| 98 | int num_channels; | ||
| 99 | const unsigned int ts_shift[XMIT_SZ_MAX]; | ||
| 100 | int num_hw_channels; | ||
| 101 | }; | ||
| 102 | |||
| 103 | #endif | ||
diff --git a/include/linux/platform_data/dma-ste-dma40.h b/include/linux/platform_data/dma-ste-dma40.h index 4b781014b0a0..1bb9b1852256 100644 --- a/include/linux/platform_data/dma-ste-dma40.h +++ b/include/linux/platform_data/dma-ste-dma40.h | |||
| @@ -70,23 +70,8 @@ enum stedma40_flow_ctrl { | |||
| 70 | STEDMA40_FLOW_CTRL, | 70 | STEDMA40_FLOW_CTRL, |
| 71 | }; | 71 | }; |
| 72 | 72 | ||
| 73 | enum stedma40_periph_data_width { | ||
| 74 | STEDMA40_BYTE_WIDTH = STEDMA40_ESIZE_8_BIT, | ||
| 75 | STEDMA40_HALFWORD_WIDTH = STEDMA40_ESIZE_16_BIT, | ||
| 76 | STEDMA40_WORD_WIDTH = STEDMA40_ESIZE_32_BIT, | ||
| 77 | STEDMA40_DOUBLEWORD_WIDTH = STEDMA40_ESIZE_64_BIT | ||
| 78 | }; | ||
| 79 | |||
| 80 | enum stedma40_xfer_dir { | ||
| 81 | STEDMA40_MEM_TO_MEM = 1, | ||
| 82 | STEDMA40_MEM_TO_PERIPH, | ||
| 83 | STEDMA40_PERIPH_TO_MEM, | ||
| 84 | STEDMA40_PERIPH_TO_PERIPH | ||
| 85 | }; | ||
| 86 | |||
| 87 | |||
| 88 | /** | 73 | /** |
| 89 | * struct stedma40_chan_cfg - dst/src channel configuration | 74 | * struct stedma40_half_channel_info - dst/src channel configuration |
| 90 | * | 75 | * |
| 91 | * @big_endian: true if the src/dst should be read as big endian | 76 | * @big_endian: true if the src/dst should be read as big endian |
| 92 | * @data_width: Data width of the src/dst hardware | 77 | * @data_width: Data width of the src/dst hardware |
| @@ -95,7 +80,7 @@ enum stedma40_xfer_dir { | |||
| 95 | */ | 80 | */ |
| 96 | struct stedma40_half_channel_info { | 81 | struct stedma40_half_channel_info { |
| 97 | bool big_endian; | 82 | bool big_endian; |
| 98 | enum stedma40_periph_data_width data_width; | 83 | enum dma_slave_buswidth data_width; |
| 99 | int psize; | 84 | int psize; |
| 100 | enum stedma40_flow_ctrl flow_ctrl; | 85 | enum stedma40_flow_ctrl flow_ctrl; |
| 101 | }; | 86 | }; |
| @@ -109,8 +94,7 @@ struct stedma40_half_channel_info { | |||
| 109 | * version 3+, i.e DB8500v2+ | 94 | * version 3+, i.e DB8500v2+ |
| 110 | * @mode: channel mode: physical, logical, or operation | 95 | * @mode: channel mode: physical, logical, or operation |
| 111 | * @mode_opt: options for the chosen channel mode | 96 | * @mode_opt: options for the chosen channel mode |
| 112 | * @src_dev_type: Src device type | 97 | * @dev_type: src/dst device type (driver uses dir to figure out which) |
| 113 | * @dst_dev_type: Dst device type | ||
| 114 | * @src_info: Parameters for dst half channel | 98 | * @src_info: Parameters for dst half channel |
| 115 | * @dst_info: Parameters for dst half channel | 99 | * @dst_info: Parameters for dst half channel |
| 116 | * @use_fixed_channel: if true, use physical channel specified by phy_channel | 100 | * @use_fixed_channel: if true, use physical channel specified by phy_channel |
| @@ -121,13 +105,12 @@ struct stedma40_half_channel_info { | |||
| 121 | * | 105 | * |
| 122 | */ | 106 | */ |
| 123 | struct stedma40_chan_cfg { | 107 | struct stedma40_chan_cfg { |
| 124 | enum stedma40_xfer_dir dir; | 108 | enum dma_transfer_direction dir; |
| 125 | bool high_priority; | 109 | bool high_priority; |
| 126 | bool realtime; | 110 | bool realtime; |
| 127 | enum stedma40_mode mode; | 111 | enum stedma40_mode mode; |
| 128 | enum stedma40_mode_opt mode_opt; | 112 | enum stedma40_mode_opt mode_opt; |
| 129 | int src_dev_type; | 113 | int dev_type; |
| 130 | int dst_dev_type; | ||
| 131 | struct stedma40_half_channel_info src_info; | 114 | struct stedma40_half_channel_info src_info; |
| 132 | struct stedma40_half_channel_info dst_info; | 115 | struct stedma40_half_channel_info dst_info; |
| 133 | 116 | ||
| @@ -138,13 +121,8 @@ struct stedma40_chan_cfg { | |||
| 138 | /** | 121 | /** |
| 139 | * struct stedma40_platform_data - Configuration struct for the dma device. | 122 | * struct stedma40_platform_data - Configuration struct for the dma device. |
| 140 | * | 123 | * |
| 141 | * @dev_len: length of dev_tx and dev_rx | ||
| 142 | * @dev_tx: mapping between destination event line and io address | 124 | * @dev_tx: mapping between destination event line and io address |
| 143 | * @dev_rx: mapping between source event line and io address | 125 | * @dev_rx: mapping between source event line and io address |
| 144 | * @memcpy: list of memcpy event lines | ||
| 145 | * @memcpy_len: length of memcpy | ||
| 146 | * @memcpy_conf_phy: default configuration of physical channel memcpy | ||
| 147 | * @memcpy_conf_log: default configuration of logical channel memcpy | ||
| 148 | * @disabled_channels: A vector, ending with -1, that marks physical channels | 126 | * @disabled_channels: A vector, ending with -1, that marks physical channels |
| 149 | * that are for different reasons not available for the driver. | 127 | * 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 | 128 | * @soft_lli_chans: A vector, that marks physical channels will use LLI by SW |
| @@ -154,22 +132,17 @@ struct stedma40_chan_cfg { | |||
| 154 | * @num_of_soft_lli_chans: The number of channels that needs to be configured | 132 | * @num_of_soft_lli_chans: The number of channels that needs to be configured |
| 155 | * to use SoftLLI. | 133 | * to use SoftLLI. |
| 156 | * @use_esram_lcla: flag for mapping the lcla into esram region | 134 | * @use_esram_lcla: flag for mapping the lcla into esram region |
| 135 | * @num_of_memcpy_chans: The number of channels reserved for memcpy. | ||
| 157 | * @num_of_phy_chans: The number of physical channels implemented in HW. | 136 | * @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 | 137 | * 0 means reading the number of channels from DMA HW but this is only valid |
| 159 | * for 'multiple of 4' channels, like 8. | 138 | * for 'multiple of 4' channels, like 8. |
| 160 | */ | 139 | */ |
| 161 | struct stedma40_platform_data { | 140 | struct stedma40_platform_data { |
| 162 | u32 dev_len; | ||
| 163 | const dma_addr_t *dev_tx; | ||
| 164 | const dma_addr_t *dev_rx; | ||
| 165 | int *memcpy; | ||
| 166 | u32 memcpy_len; | ||
| 167 | struct stedma40_chan_cfg *memcpy_conf_phy; | ||
| 168 | struct stedma40_chan_cfg *memcpy_conf_log; | ||
| 169 | int disabled_channels[STEDMA40_MAX_PHYS]; | 141 | int disabled_channels[STEDMA40_MAX_PHYS]; |
| 170 | int *soft_lli_chans; | 142 | int *soft_lli_chans; |
| 171 | int num_of_soft_lli_chans; | 143 | int num_of_soft_lli_chans; |
| 172 | bool use_esram_lcla; | 144 | bool use_esram_lcla; |
| 145 | int num_of_memcpy_chans; | ||
| 173 | int num_of_phy_chans; | 146 | int num_of_phy_chans; |
| 174 | }; | 147 | }; |
| 175 | 148 | ||
diff --git a/include/linux/platform_data/edma.h b/include/linux/platform_data/edma.h new file mode 100644 index 000000000000..179fb91bb5f2 --- /dev/null +++ b/include/linux/platform_data/edma.h | |||
| @@ -0,0 +1,185 @@ | |||
| 1 | /* | ||
| 2 | * TI EDMA definitions | ||
| 3 | * | ||
| 4 | * Copyright (C) 2006-2013 Texas Instruments. | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify it | ||
| 7 | * under the terms of the GNU General Public License as published by the | ||
| 8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 9 | * option) any later version. | ||
| 10 | */ | ||
| 11 | |||
| 12 | /* | ||
| 13 | * This EDMA3 programming framework exposes two basic kinds of resource: | ||
| 14 | * | ||
| 15 | * Channel Triggers transfers, usually from a hardware event but | ||
| 16 | * also manually or by "chaining" from DMA completions. | ||
| 17 | * Each channel is coupled to a Parameter RAM (PaRAM) slot. | ||
| 18 | * | ||
| 19 | * Slot Each PaRAM slot holds a DMA transfer descriptor (PaRAM | ||
| 20 | * "set"), source and destination addresses, a link to a | ||
| 21 | * next PaRAM slot (if any), options for the transfer, and | ||
| 22 | * instructions for updating those addresses. There are | ||
| 23 | * more than twice as many slots as event channels. | ||
| 24 | * | ||
| 25 | * Each PaRAM set describes a sequence of transfers, either for one large | ||
| 26 | * buffer or for several discontiguous smaller buffers. An EDMA transfer | ||
| 27 | * is driven only from a channel, which performs the transfers specified | ||
| 28 | * in its PaRAM slot until there are no more transfers. When that last | ||
| 29 | * transfer completes, the "link" field may be used to reload the channel's | ||
| 30 | * PaRAM slot with a new transfer descriptor. | ||
| 31 | * | ||
| 32 | * The EDMA Channel Controller (CC) maps requests from channels into physical | ||
| 33 | * Transfer Controller (TC) requests when the channel triggers (by hardware | ||
| 34 | * or software events, or by chaining). The two physical DMA channels provided | ||
| 35 | * by the TCs are thus shared by many logical channels. | ||
| 36 | * | ||
| 37 | * DaVinci hardware also has a "QDMA" mechanism which is not currently | ||
| 38 | * supported through this interface. (DSP firmware uses it though.) | ||
| 39 | */ | ||
| 40 | |||
| 41 | #ifndef EDMA_H_ | ||
| 42 | #define EDMA_H_ | ||
| 43 | |||
| 44 | /* PaRAM slots are laid out like this */ | ||
| 45 | struct edmacc_param { | ||
| 46 | unsigned int opt; | ||
| 47 | unsigned int src; | ||
| 48 | unsigned int a_b_cnt; | ||
| 49 | unsigned int dst; | ||
| 50 | unsigned int src_dst_bidx; | ||
| 51 | unsigned int link_bcntrld; | ||
| 52 | unsigned int src_dst_cidx; | ||
| 53 | unsigned int ccnt; | ||
| 54 | }; | ||
| 55 | |||
| 56 | /* fields in edmacc_param.opt */ | ||
| 57 | #define SAM BIT(0) | ||
| 58 | #define DAM BIT(1) | ||
| 59 | #define SYNCDIM BIT(2) | ||
| 60 | #define STATIC BIT(3) | ||
| 61 | #define EDMA_FWID (0x07 << 8) | ||
| 62 | #define TCCMODE BIT(11) | ||
| 63 | #define EDMA_TCC(t) ((t) << 12) | ||
| 64 | #define TCINTEN BIT(20) | ||
| 65 | #define ITCINTEN BIT(21) | ||
| 66 | #define TCCHEN BIT(22) | ||
| 67 | #define ITCCHEN BIT(23) | ||
| 68 | |||
| 69 | /*ch_status paramater of callback function possible values*/ | ||
| 70 | #define DMA_COMPLETE 1 | ||
| 71 | #define DMA_CC_ERROR 2 | ||
| 72 | #define DMA_TC1_ERROR 3 | ||
| 73 | #define DMA_TC2_ERROR 4 | ||
| 74 | |||
| 75 | enum address_mode { | ||
| 76 | INCR = 0, | ||
| 77 | FIFO = 1 | ||
| 78 | }; | ||
| 79 | |||
| 80 | enum fifo_width { | ||
| 81 | W8BIT = 0, | ||
| 82 | W16BIT = 1, | ||
| 83 | W32BIT = 2, | ||
| 84 | W64BIT = 3, | ||
| 85 | W128BIT = 4, | ||
| 86 | W256BIT = 5 | ||
| 87 | }; | ||
| 88 | |||
| 89 | enum dma_event_q { | ||
| 90 | EVENTQ_0 = 0, | ||
| 91 | EVENTQ_1 = 1, | ||
| 92 | EVENTQ_2 = 2, | ||
| 93 | EVENTQ_3 = 3, | ||
| 94 | EVENTQ_DEFAULT = -1 | ||
| 95 | }; | ||
| 96 | |||
| 97 | enum sync_dimension { | ||
| 98 | ASYNC = 0, | ||
| 99 | ABSYNC = 1 | ||
| 100 | }; | ||
| 101 | |||
| 102 | #define EDMA_CTLR_CHAN(ctlr, chan) (((ctlr) << 16) | (chan)) | ||
| 103 | #define EDMA_CTLR(i) ((i) >> 16) | ||
| 104 | #define EDMA_CHAN_SLOT(i) ((i) & 0xffff) | ||
| 105 | |||
| 106 | #define EDMA_CHANNEL_ANY -1 /* for edma_alloc_channel() */ | ||
| 107 | #define EDMA_SLOT_ANY -1 /* for edma_alloc_slot() */ | ||
| 108 | #define EDMA_CONT_PARAMS_ANY 1001 | ||
| 109 | #define EDMA_CONT_PARAMS_FIXED_EXACT 1002 | ||
| 110 | #define EDMA_CONT_PARAMS_FIXED_NOT_EXACT 1003 | ||
| 111 | |||
| 112 | #define EDMA_MAX_CC 2 | ||
| 113 | |||
| 114 | /* alloc/free DMA channels and their dedicated parameter RAM slots */ | ||
| 115 | int edma_alloc_channel(int channel, | ||
| 116 | void (*callback)(unsigned channel, u16 ch_status, void *data), | ||
| 117 | void *data, enum dma_event_q); | ||
| 118 | void edma_free_channel(unsigned channel); | ||
| 119 | |||
| 120 | /* alloc/free parameter RAM slots */ | ||
| 121 | int edma_alloc_slot(unsigned ctlr, int slot); | ||
| 122 | void edma_free_slot(unsigned slot); | ||
| 123 | |||
| 124 | /* alloc/free a set of contiguous parameter RAM slots */ | ||
| 125 | int edma_alloc_cont_slots(unsigned ctlr, unsigned int id, int slot, int count); | ||
| 126 | int edma_free_cont_slots(unsigned slot, int count); | ||
| 127 | |||
| 128 | /* calls that operate on part of a parameter RAM slot */ | ||
| 129 | void edma_set_src(unsigned slot, dma_addr_t src_port, | ||
| 130 | enum address_mode mode, enum fifo_width); | ||
| 131 | void edma_set_dest(unsigned slot, dma_addr_t dest_port, | ||
| 132 | enum address_mode mode, enum fifo_width); | ||
| 133 | void edma_get_position(unsigned slot, dma_addr_t *src, dma_addr_t *dst); | ||
| 134 | void edma_set_src_index(unsigned slot, s16 src_bidx, s16 src_cidx); | ||
| 135 | void edma_set_dest_index(unsigned slot, s16 dest_bidx, s16 dest_cidx); | ||
| 136 | void edma_set_transfer_params(unsigned slot, u16 acnt, u16 bcnt, u16 ccnt, | ||
| 137 | u16 bcnt_rld, enum sync_dimension sync_mode); | ||
| 138 | void edma_link(unsigned from, unsigned to); | ||
| 139 | void edma_unlink(unsigned from); | ||
| 140 | |||
| 141 | /* calls that operate on an entire parameter RAM slot */ | ||
| 142 | void edma_write_slot(unsigned slot, const struct edmacc_param *params); | ||
| 143 | void edma_read_slot(unsigned slot, struct edmacc_param *params); | ||
| 144 | |||
| 145 | /* channel control operations */ | ||
| 146 | int edma_start(unsigned channel); | ||
| 147 | void edma_stop(unsigned channel); | ||
| 148 | void edma_clean_channel(unsigned channel); | ||
| 149 | void edma_clear_event(unsigned channel); | ||
| 150 | void edma_pause(unsigned channel); | ||
| 151 | void edma_resume(unsigned channel); | ||
| 152 | |||
| 153 | struct edma_rsv_info { | ||
| 154 | |||
| 155 | const s16 (*rsv_chans)[2]; | ||
| 156 | const s16 (*rsv_slots)[2]; | ||
| 157 | }; | ||
| 158 | |||
| 159 | /* platform_data for EDMA driver */ | ||
| 160 | struct edma_soc_info { | ||
| 161 | |||
| 162 | /* how many dma resources of each type */ | ||
| 163 | unsigned n_channel; | ||
| 164 | unsigned n_region; | ||
| 165 | unsigned n_slot; | ||
| 166 | unsigned n_tc; | ||
| 167 | unsigned n_cc; | ||
| 168 | /* | ||
| 169 | * Default queue is expected to be a low-priority queue. | ||
| 170 | * This way, long transfers on the default queue started | ||
| 171 | * by the codec engine will not cause audio defects. | ||
| 172 | */ | ||
| 173 | enum dma_event_q default_queue; | ||
| 174 | |||
| 175 | /* Resource reservation for other cores */ | ||
| 176 | struct edma_rsv_info *rsv; | ||
| 177 | |||
| 178 | s8 (*queue_tc_mapping)[2]; | ||
| 179 | s8 (*queue_priority_mapping)[2]; | ||
| 180 | const s16 (*xbar_chans)[2]; | ||
| 181 | }; | ||
| 182 | |||
| 183 | int edma_trigger_channel(unsigned); | ||
| 184 | |||
| 185 | #endif | ||
diff --git a/include/linux/platform_data/efm32-spi.h b/include/linux/platform_data/efm32-spi.h new file mode 100644 index 000000000000..31b19ca1d73a --- /dev/null +++ b/include/linux/platform_data/efm32-spi.h | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #ifndef __LINUX_PLATFORM_DATA_EFM32_SPI_H__ | ||
| 2 | #define __LINUX_PLATFORM_DATA_EFM32_SPI_H__ | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 6 | /** | ||
| 7 | * struct efm32_spi_pdata | ||
| 8 | * @location: pinmux location for the I/O pins (to be written to the ROUTE | ||
| 9 | * register) | ||
| 10 | */ | ||
| 11 | struct efm32_spi_pdata { | ||
| 12 | u8 location; | ||
| 13 | }; | ||
| 14 | #endif /* ifndef __LINUX_PLATFORM_DATA_EFM32_SPI_H__ */ | ||
diff --git a/include/linux/platform_data/exynos_thermal.h b/include/linux/platform_data/exynos_thermal.h deleted file mode 100644 index da7e6274b175..000000000000 --- a/include/linux/platform_data/exynos_thermal.h +++ /dev/null | |||
| @@ -1,119 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * exynos_thermal.h - Samsung EXYNOS TMU (Thermal Management Unit) | ||
| 3 | * | ||
| 4 | * Copyright (C) 2011 Samsung Electronics | ||
| 5 | * Donggeun Kim <dg77.kim@samsung.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2 of the License, or | ||
| 10 | * (at your option) any later version. | ||
| 11 | * | ||
| 12 | * This program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with this program; if not, write to the Free Software | ||
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 20 | */ | ||
| 21 | |||
| 22 | #ifndef _LINUX_EXYNOS_THERMAL_H | ||
| 23 | #define _LINUX_EXYNOS_THERMAL_H | ||
| 24 | #include <linux/cpu_cooling.h> | ||
| 25 | |||
| 26 | enum calibration_type { | ||
| 27 | TYPE_ONE_POINT_TRIMMING, | ||
| 28 | TYPE_TWO_POINT_TRIMMING, | ||
| 29 | TYPE_NONE, | ||
| 30 | }; | ||
| 31 | |||
| 32 | enum soc_type { | ||
| 33 | SOC_ARCH_EXYNOS4210 = 1, | ||
| 34 | SOC_ARCH_EXYNOS, | ||
| 35 | }; | ||
| 36 | /** | ||
| 37 | * struct freq_clip_table | ||
| 38 | * @freq_clip_max: maximum frequency allowed for this cooling state. | ||
| 39 | * @temp_level: Temperature level at which the temperature clipping will | ||
| 40 | * happen. | ||
| 41 | * @mask_val: cpumask of the allowed cpu's where the clipping will take place. | ||
| 42 | * | ||
| 43 | * This structure is required to be filled and passed to the | ||
| 44 | * cpufreq_cooling_unregister function. | ||
| 45 | */ | ||
| 46 | struct freq_clip_table { | ||
| 47 | unsigned int freq_clip_max; | ||
| 48 | unsigned int temp_level; | ||
| 49 | const struct cpumask *mask_val; | ||
| 50 | }; | ||
| 51 | |||
| 52 | /** | ||
| 53 | * struct exynos_tmu_platform_data | ||
| 54 | * @threshold: basic temperature for generating interrupt | ||
| 55 | * 25 <= threshold <= 125 [unit: degree Celsius] | ||
| 56 | * @threshold_falling: differntial value for setting threshold | ||
| 57 | * of temperature falling interrupt. | ||
| 58 | * @trigger_levels: array for each interrupt levels | ||
| 59 | * [unit: degree Celsius] | ||
| 60 | * 0: temperature for trigger_level0 interrupt | ||
| 61 | * condition for trigger_level0 interrupt: | ||
| 62 | * current temperature > threshold + trigger_levels[0] | ||
| 63 | * 1: temperature for trigger_level1 interrupt | ||
| 64 | * condition for trigger_level1 interrupt: | ||
| 65 | * current temperature > threshold + trigger_levels[1] | ||
| 66 | * 2: temperature for trigger_level2 interrupt | ||
| 67 | * condition for trigger_level2 interrupt: | ||
| 68 | * current temperature > threshold + trigger_levels[2] | ||
| 69 | * 3: temperature for trigger_level3 interrupt | ||
| 70 | * condition for trigger_level3 interrupt: | ||
| 71 | * current temperature > threshold + trigger_levels[3] | ||
| 72 | * @trigger_level0_en: | ||
| 73 | * 1 = enable trigger_level0 interrupt, | ||
| 74 | * 0 = disable trigger_level0 interrupt | ||
| 75 | * @trigger_level1_en: | ||
| 76 | * 1 = enable trigger_level1 interrupt, | ||
| 77 | * 0 = disable trigger_level1 interrupt | ||
| 78 | * @trigger_level2_en: | ||
| 79 | * 1 = enable trigger_level2 interrupt, | ||
| 80 | * 0 = disable trigger_level2 interrupt | ||
| 81 | * @trigger_level3_en: | ||
| 82 | * 1 = enable trigger_level3 interrupt, | ||
| 83 | * 0 = disable trigger_level3 interrupt | ||
| 84 | * @gain: gain of amplifier in the positive-TC generator block | ||
| 85 | * 0 <= gain <= 15 | ||
| 86 | * @reference_voltage: reference voltage of amplifier | ||
| 87 | * in the positive-TC generator block | ||
| 88 | * 0 <= reference_voltage <= 31 | ||
| 89 | * @noise_cancel_mode: noise cancellation mode | ||
| 90 | * 000, 100, 101, 110 and 111 can be different modes | ||
| 91 | * @type: determines the type of SOC | ||
| 92 | * @efuse_value: platform defined fuse value | ||
| 93 | * @cal_type: calibration type for temperature | ||
| 94 | * @freq_clip_table: Table representing frequency reduction percentage. | ||
| 95 | * @freq_tab_count: Count of the above table as frequency reduction may | ||
| 96 | * applicable to only some of the trigger levels. | ||
| 97 | * | ||
| 98 | * This structure is required for configuration of exynos_tmu driver. | ||
| 99 | */ | ||
| 100 | struct exynos_tmu_platform_data { | ||
| 101 | u8 threshold; | ||
| 102 | u8 threshold_falling; | ||
| 103 | u8 trigger_levels[4]; | ||
| 104 | bool trigger_level0_en; | ||
| 105 | bool trigger_level1_en; | ||
| 106 | bool trigger_level2_en; | ||
| 107 | bool trigger_level3_en; | ||
| 108 | |||
| 109 | u8 gain; | ||
| 110 | u8 reference_voltage; | ||
| 111 | u8 noise_cancel_mode; | ||
| 112 | u32 efuse_value; | ||
| 113 | |||
| 114 | enum calibration_type cal_type; | ||
| 115 | enum soc_type type; | ||
| 116 | struct freq_clip_table freq_tab[4]; | ||
| 117 | unsigned int freq_tab_count; | ||
| 118 | }; | ||
| 119 | #endif /* _LINUX_EXYNOS_THERMAL_H */ | ||
diff --git a/include/linux/platform_data/g762.h b/include/linux/platform_data/g762.h new file mode 100644 index 000000000000..d3c51283764d --- /dev/null +++ b/include/linux/platform_data/g762.h | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | /* | ||
| 2 | * Platform data structure for g762 fan controller driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> | ||
| 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 | * 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 | #ifndef __LINUX_PLATFORM_DATA_G762_H__ | ||
| 21 | #define __LINUX_PLATFORM_DATA_G762_H__ | ||
| 22 | |||
| 23 | /* | ||
| 24 | * Following structure can be used to set g762 driver platform specific data | ||
| 25 | * during board init. Note that passing a sparse structure is possible but | ||
| 26 | * will result in non-specified attributes to be set to default value, hence | ||
| 27 | * overloading those installed during boot (e.g. by u-boot). | ||
| 28 | */ | ||
| 29 | |||
| 30 | struct g762_platform_data { | ||
| 31 | u32 fan_startv; | ||
| 32 | u32 fan_gear_mode; | ||
| 33 | u32 pwm_polarity; | ||
| 34 | u32 clk_freq; | ||
| 35 | }; | ||
| 36 | |||
| 37 | #endif /* __LINUX_PLATFORM_DATA_G762_H__ */ | ||
diff --git a/include/linux/platform_data/gpio-em.h b/include/linux/platform_data/gpio-em.h index 573edfb046c4..7c5a519d2dcd 100644 --- a/include/linux/platform_data/gpio-em.h +++ b/include/linux/platform_data/gpio-em.h | |||
| @@ -5,6 +5,7 @@ struct gpio_em_config { | |||
| 5 | unsigned int gpio_base; | 5 | unsigned int gpio_base; |
| 6 | unsigned int irq_base; | 6 | unsigned int irq_base; |
| 7 | unsigned int number_of_pins; | 7 | unsigned int number_of_pins; |
| 8 | const char *pctl_name; | ||
| 8 | }; | 9 | }; |
| 9 | 10 | ||
| 10 | #endif /* __GPIO_EM_H__ */ | 11 | #endif /* __GPIO_EM_H__ */ |
diff --git a/include/linux/platform_data/gpio-rcar.h b/include/linux/platform_data/gpio-rcar.h index b253f77a7ddf..2d8d69432813 100644 --- a/include/linux/platform_data/gpio-rcar.h +++ b/include/linux/platform_data/gpio-rcar.h | |||
| @@ -17,10 +17,13 @@ | |||
| 17 | #define __GPIO_RCAR_H__ | 17 | #define __GPIO_RCAR_H__ |
| 18 | 18 | ||
| 19 | struct gpio_rcar_config { | 19 | struct gpio_rcar_config { |
| 20 | unsigned int gpio_base; | 20 | int gpio_base; |
| 21 | unsigned int irq_base; | 21 | unsigned int irq_base; |
| 22 | unsigned int number_of_pins; | 22 | unsigned int number_of_pins; |
| 23 | const char *pctl_name; | 23 | const char *pctl_name; |
| 24 | unsigned has_both_edge_trigger:1; | ||
| 24 | }; | 25 | }; |
| 25 | 26 | ||
| 27 | #define RCAR_GP_PIN(bank, pin) (((bank) * 32) + (pin)) | ||
| 28 | |||
| 26 | #endif /* __GPIO_RCAR_H__ */ | 29 | #endif /* __GPIO_RCAR_H__ */ |
diff --git a/include/linux/platform_data/gpio_backlight.h b/include/linux/platform_data/gpio_backlight.h new file mode 100644 index 000000000000..5ae0d9c80d4d --- /dev/null +++ b/include/linux/platform_data/gpio_backlight.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* | ||
| 2 | * gpio_backlight.h - Simple GPIO-controlled backlight | ||
| 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 version 2 as | ||
| 6 | * published by the Free Software Foundation. | ||
| 7 | */ | ||
| 8 | #ifndef __GPIO_BACKLIGHT_H__ | ||
| 9 | #define __GPIO_BACKLIGHT_H__ | ||
| 10 | |||
| 11 | struct device; | ||
| 12 | |||
| 13 | struct gpio_backlight_platform_data { | ||
| 14 | struct device *fbdev; | ||
| 15 | int gpio; | ||
| 16 | int def_value; | ||
| 17 | bool active_low; | ||
| 18 | const char *name; | ||
| 19 | }; | ||
| 20 | |||
| 21 | #endif | ||
diff --git a/include/linux/platform_data/leds-lp55xx.h b/include/linux/platform_data/leds-lp55xx.h index 202e290faea8..51a2ff579d60 100644 --- a/include/linux/platform_data/leds-lp55xx.h +++ b/include/linux/platform_data/leds-lp55xx.h | |||
| @@ -36,6 +36,13 @@ struct lp55xx_predef_pattern { | |||
| 36 | u8 size_b; | 36 | u8 size_b; |
| 37 | }; | 37 | }; |
| 38 | 38 | ||
| 39 | enum lp8501_pwr_sel { | ||
| 40 | LP8501_ALL_VDD, /* D1~9 are connected to VDD */ | ||
| 41 | LP8501_6VDD_3VOUT, /* D1~6 with VDD, D7~9 with VOUT */ | ||
| 42 | LP8501_3VDD_6VOUT, /* D1~6 with VOUT, D7~9 with VDD */ | ||
| 43 | LP8501_ALL_VOUT, /* D1~9 are connected to VOUT */ | ||
| 44 | }; | ||
| 45 | |||
| 39 | /* | 46 | /* |
| 40 | * struct lp55xx_platform_data | 47 | * struct lp55xx_platform_data |
| 41 | * @led_config : Configurable led class device | 48 | * @led_config : Configurable led class device |
| @@ -67,6 +74,9 @@ struct lp55xx_platform_data { | |||
| 67 | /* Predefined pattern data */ | 74 | /* Predefined pattern data */ |
| 68 | struct lp55xx_predef_pattern *patterns; | 75 | struct lp55xx_predef_pattern *patterns; |
| 69 | unsigned int num_patterns; | 76 | unsigned int num_patterns; |
| 77 | |||
| 78 | /* LP8501 specific */ | ||
| 79 | enum lp8501_pwr_sel pwr_sel; | ||
| 70 | }; | 80 | }; |
| 71 | 81 | ||
| 72 | #endif /* _LEDS_LP55XX_H */ | 82 | #endif /* _LEDS_LP55XX_H */ |
diff --git a/include/linux/platform_data/leds-pca9633.h b/include/linux/platform_data/leds-pca963x.h index c5bf29b6fa7f..e731f0036329 100644 --- a/include/linux/platform_data/leds-pca9633.h +++ b/include/linux/platform_data/leds-pca963x.h | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * PCA9633 LED chip driver. | 2 | * PCA963X LED chip driver. |
| 3 | * | 3 | * |
| 4 | * Copyright 2012 bct electronic GmbH | 4 | * Copyright 2012 bct electronic GmbH |
| 5 | * Copyright 2013 Qtechnology A/S | ||
| 5 | * | 6 | * |
| 6 | * This program is free software; you can redistribute it and/or | 7 | * This program is free software; you can redistribute it and/or |
| 7 | * modify it under the terms of the GNU General Public License | 8 | * modify it under the terms of the GNU General Public License |
| @@ -18,18 +19,24 @@ | |||
| 18 | * 02110-1301 USA | 19 | * 02110-1301 USA |
| 19 | */ | 20 | */ |
| 20 | 21 | ||
| 21 | #ifndef __LINUX_PCA9633_H | 22 | #ifndef __LINUX_PCA963X_H |
| 22 | #define __LINUX_PCA9633_H | 23 | #define __LINUX_PCA963X_H |
| 23 | #include <linux/leds.h> | 24 | #include <linux/leds.h> |
| 24 | 25 | ||
| 25 | enum pca9633_outdrv { | 26 | enum pca963x_outdrv { |
| 26 | PCA9633_OPEN_DRAIN, | 27 | PCA963X_OPEN_DRAIN, |
| 27 | PCA9633_TOTEM_POLE, /* aka push-pull */ | 28 | PCA963X_TOTEM_POLE, /* aka push-pull */ |
| 28 | }; | 29 | }; |
| 29 | 30 | ||
| 30 | struct pca9633_platform_data { | 31 | enum pca963x_blink_type { |
| 32 | PCA963X_SW_BLINK, | ||
| 33 | PCA963X_HW_BLINK, | ||
| 34 | }; | ||
| 35 | |||
| 36 | struct pca963x_platform_data { | ||
| 31 | struct led_platform_data leds; | 37 | struct led_platform_data leds; |
| 32 | enum pca9633_outdrv outdrv; | 38 | enum pca963x_outdrv outdrv; |
| 39 | enum pca963x_blink_type blink_type; | ||
| 33 | }; | 40 | }; |
| 34 | 41 | ||
| 35 | #endif /* __LINUX_PCA9633_H*/ | 42 | #endif /* __LINUX_PCA963X_H*/ |
diff --git a/include/linux/platform_data/leds-renesas-tpu.h b/include/linux/platform_data/leds-renesas-tpu.h deleted file mode 100644 index 055387086fc1..000000000000 --- a/include/linux/platform_data/leds-renesas-tpu.h +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | #ifndef __LEDS_RENESAS_TPU_H__ | ||
| 2 | #define __LEDS_RENESAS_TPU_H__ | ||
| 3 | |||
| 4 | struct led_renesas_tpu_config { | ||
| 5 | char *name; | ||
| 6 | unsigned pin_gpio_fn; | ||
| 7 | unsigned pin_gpio; | ||
| 8 | unsigned int channel_offset; | ||
| 9 | unsigned int timer_bit; | ||
| 10 | unsigned int max_brightness; | ||
| 11 | unsigned int refresh_rate; | ||
| 12 | }; | ||
| 13 | |||
| 14 | #endif /* __LEDS_RENESAS_TPU_H__ */ | ||
diff --git a/include/linux/platform_data/lv5207lp.h b/include/linux/platform_data/lv5207lp.h new file mode 100644 index 000000000000..7dc4d9a219a6 --- /dev/null +++ b/include/linux/platform_data/lv5207lp.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | /* | ||
| 2 | * lv5207lp.h - Sanyo LV5207LP LEDs Driver | ||
| 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 version 2 as | ||
| 6 | * published by the Free Software Foundation. | ||
| 7 | */ | ||
| 8 | #ifndef __LV5207LP_H__ | ||
| 9 | #define __LV5207LP_H__ | ||
| 10 | |||
| 11 | struct device; | ||
| 12 | |||
| 13 | struct lv5207lp_platform_data { | ||
| 14 | struct device *fbdev; | ||
| 15 | unsigned int max_value; | ||
| 16 | unsigned int def_value; | ||
| 17 | }; | ||
| 18 | |||
| 19 | #endif | ||
diff --git a/include/linux/platform_data/mailbox-omap.h b/include/linux/platform_data/mailbox-omap.h new file mode 100644 index 000000000000..4631dbb4255e --- /dev/null +++ b/include/linux/platform_data/mailbox-omap.h | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | /* | ||
| 2 | * mailbox-omap.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013 Texas Instruments, Inc. | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or | ||
| 7 | * modify it under the terms of the GNU General Public License | ||
| 8 | * version 2 as published by the Free Software Foundation. | ||
| 9 | * | ||
| 10 | * This program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | */ | ||
| 15 | |||
| 16 | #ifndef _PLAT_MAILBOX_H | ||
| 17 | #define _PLAT_MAILBOX_H | ||
| 18 | |||
| 19 | /* Interrupt register configuration types */ | ||
| 20 | #define MBOX_INTR_CFG_TYPE1 (0) | ||
| 21 | #define MBOX_INTR_CFG_TYPE2 (1) | ||
| 22 | |||
| 23 | /** | ||
| 24 | * struct omap_mbox_dev_info - OMAP mailbox device attribute info | ||
| 25 | * @name: name of the mailbox device | ||
| 26 | * @tx_id: mailbox queue id used for transmitting messages | ||
| 27 | * @rx_id: mailbox queue id on which messages are received | ||
| 28 | * @irq_id: irq identifier number to use from the hwmod data | ||
| 29 | * @usr_id: mailbox user id for identifying the interrupt into | ||
| 30 | * the MPU interrupt controller. | ||
| 31 | */ | ||
| 32 | struct omap_mbox_dev_info { | ||
| 33 | const char *name; | ||
| 34 | u32 tx_id; | ||
| 35 | u32 rx_id; | ||
| 36 | u32 irq_id; | ||
| 37 | u32 usr_id; | ||
| 38 | }; | ||
| 39 | |||
| 40 | /** | ||
| 41 | * struct omap_mbox_pdata - OMAP mailbox platform data | ||
| 42 | * @intr_type: type of interrupt configuration registers used | ||
| 43 | while programming mailbox queue interrupts | ||
| 44 | * @num_users: number of users (processor devices) that the mailbox | ||
| 45 | * h/w block can interrupt | ||
| 46 | * @num_fifos: number of h/w fifos within the mailbox h/w block | ||
| 47 | * @info_cnt: number of mailbox devices for the platform | ||
| 48 | * @info: array of mailbox device attributes | ||
| 49 | */ | ||
| 50 | struct omap_mbox_pdata { | ||
| 51 | u32 intr_type; | ||
| 52 | u32 num_users; | ||
| 53 | u32 num_fifos; | ||
| 54 | u32 info_cnt; | ||
| 55 | struct omap_mbox_dev_info *info; | ||
| 56 | }; | ||
| 57 | |||
| 58 | #endif /* _PLAT_MAILBOX_H */ | ||
diff --git a/include/linux/platform_data/max310x.h b/include/linux/platform_data/max310x.h index 91648bf5fc5c..dd11dcd1a184 100644 --- a/include/linux/platform_data/max310x.h +++ b/include/linux/platform_data/max310x.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Maxim (Dallas) MAX3107/8 serial driver | 2 | * Maxim (Dallas) MAX3107/8/9, MAX14830 serial driver |
| 3 | * | 3 | * |
| 4 | * Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru> | 4 | * Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru> |
| 5 | * | 5 | * |
| @@ -37,14 +37,13 @@ | |||
| 37 | * }; | 37 | * }; |
| 38 | */ | 38 | */ |
| 39 | 39 | ||
| 40 | #define MAX310X_MAX_UARTS 1 | 40 | #define MAX310X_MAX_UARTS 4 |
| 41 | 41 | ||
| 42 | /* MAX310X platform data structure */ | 42 | /* MAX310X platform data structure */ |
| 43 | struct max310x_pdata { | 43 | struct max310x_pdata { |
| 44 | /* Flags global to driver */ | 44 | /* Flags global to driver */ |
| 45 | const u8 driver_flags:2; | 45 | const u8 driver_flags; |
| 46 | #define MAX310X_EXT_CLK (0x00000001) /* External clock enable */ | 46 | #define MAX310X_EXT_CLK (0x00000001) /* External clock enable */ |
| 47 | #define MAX310X_AUTOSLEEP (0x00000002) /* Enable AutoSleep mode */ | ||
| 48 | /* Flags global to UART port */ | 47 | /* Flags global to UART port */ |
| 49 | const u8 uart_flags[MAX310X_MAX_UARTS]; | 48 | const u8 uart_flags[MAX310X_MAX_UARTS]; |
| 50 | #define MAX310X_LOOPBACK (0x00000001) /* Loopback mode enable */ | 49 | #define MAX310X_LOOPBACK (0x00000001) /* Loopback mode enable */ |
| @@ -60,8 +59,6 @@ struct max310x_pdata { | |||
| 60 | void (*init)(void); | 59 | void (*init)(void); |
| 61 | /* Called before finish */ | 60 | /* Called before finish */ |
| 62 | void (*exit)(void); | 61 | void (*exit)(void); |
| 63 | /* Suspend callback */ | ||
| 64 | void (*suspend)(int do_suspend); | ||
| 65 | }; | 62 | }; |
| 66 | 63 | ||
| 67 | #endif | 64 | #endif |
diff --git a/include/linux/platform_data/mmc-esdhc-imx.h b/include/linux/platform_data/mmc-esdhc-imx.h index b4a0521ce411..d44912d81578 100644 --- a/include/linux/platform_data/mmc-esdhc-imx.h +++ b/include/linux/platform_data/mmc-esdhc-imx.h | |||
| @@ -40,5 +40,6 @@ struct esdhc_platform_data { | |||
| 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 | int max_bus_width; |
| 43 | unsigned int f_max; | ||
| 43 | }; | 44 | }; |
| 44 | #endif /* __ASM_ARCH_IMX_ESDHC_H */ | 45 | #endif /* __ASM_ARCH_IMX_ESDHC_H */ |
diff --git a/include/linux/platform_data/mmc-pxamci.h b/include/linux/platform_data/mmc-pxamci.h index 9eb515bb799d..1706b3597ce0 100644 --- a/include/linux/platform_data/mmc-pxamci.h +++ b/include/linux/platform_data/mmc-pxamci.h | |||
| @@ -12,7 +12,7 @@ struct pxamci_platform_data { | |||
| 12 | unsigned long detect_delay_ms; /* delay in millisecond before detecting cards after interrupt */ | 12 | unsigned long detect_delay_ms; /* delay in millisecond before detecting cards after interrupt */ |
| 13 | int (*init)(struct device *, irq_handler_t , void *); | 13 | int (*init)(struct device *, irq_handler_t , void *); |
| 14 | int (*get_ro)(struct device *); | 14 | int (*get_ro)(struct device *); |
| 15 | void (*setpower)(struct device *, unsigned int); | 15 | int (*setpower)(struct device *, unsigned int); |
| 16 | void (*exit)(struct device *, void *); | 16 | void (*exit)(struct device *, void *); |
| 17 | int gpio_card_detect; /* gpio detecting card insertion */ | 17 | int gpio_card_detect; /* gpio detecting card insertion */ |
| 18 | int gpio_card_ro; /* gpio detecting read only toggle */ | 18 | int gpio_card_ro; /* gpio detecting read only toggle */ |
diff --git a/include/linux/platform_data/mtd-nand-pxa3xx.h b/include/linux/platform_data/mtd-nand-pxa3xx.h index c42f39f20195..ffb801998e5d 100644 --- a/include/linux/platform_data/mtd-nand-pxa3xx.h +++ b/include/linux/platform_data/mtd-nand-pxa3xx.h | |||
| @@ -16,19 +16,6 @@ struct pxa3xx_nand_timing { | |||
| 16 | unsigned int tAR; /* ND_ALE low to ND_nRE low delay */ | 16 | unsigned int tAR; /* ND_ALE low to ND_nRE low delay */ |
| 17 | }; | 17 | }; |
| 18 | 18 | ||
| 19 | struct pxa3xx_nand_cmdset { | ||
| 20 | uint16_t read1; | ||
| 21 | uint16_t read2; | ||
| 22 | uint16_t program; | ||
| 23 | uint16_t read_status; | ||
| 24 | uint16_t read_id; | ||
| 25 | uint16_t erase; | ||
| 26 | uint16_t reset; | ||
| 27 | uint16_t lock; | ||
| 28 | uint16_t unlock; | ||
| 29 | uint16_t lock_status; | ||
| 30 | }; | ||
| 31 | |||
| 32 | struct pxa3xx_nand_flash { | 19 | struct pxa3xx_nand_flash { |
| 33 | char *name; | 20 | char *name; |
| 34 | uint32_t chip_id; | 21 | uint32_t chip_id; |
diff --git a/include/linux/platform_data/net-cw1200.h b/include/linux/platform_data/net-cw1200.h new file mode 100644 index 000000000000..c6fbc3ce4ab0 --- /dev/null +++ b/include/linux/platform_data/net-cw1200.h | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson SA 2011 | ||
| 3 | * | ||
| 4 | * Author: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> | ||
| 5 | * License terms: GNU General Public License (GPL) version 2 | ||
| 6 | */ | ||
| 7 | |||
| 8 | #ifndef CW1200_PLAT_H_INCLUDED | ||
| 9 | #define CW1200_PLAT_H_INCLUDED | ||
| 10 | |||
| 11 | struct cw1200_platform_data_spi { | ||
| 12 | u8 spi_bits_per_word; /* REQUIRED */ | ||
| 13 | u16 ref_clk; /* REQUIRED (in KHz) */ | ||
| 14 | |||
| 15 | /* All others are optional */ | ||
| 16 | bool have_5ghz; | ||
| 17 | int reset; /* GPIO to RSTn signal (0 disables) */ | ||
| 18 | int powerup; /* GPIO to POWERUP signal (0 disables) */ | ||
| 19 | int (*power_ctrl)(const struct cw1200_platform_data_spi *pdata, | ||
| 20 | bool enable); /* Control 3v3 / 1v8 supply */ | ||
| 21 | int (*clk_ctrl)(const struct cw1200_platform_data_spi *pdata, | ||
| 22 | bool enable); /* Control CLK32K */ | ||
| 23 | const u8 *macaddr; /* if NULL, use cw1200_mac_template module parameter */ | ||
| 24 | const char *sdd_file; /* if NULL, will use default for detected hw type */ | ||
| 25 | }; | ||
| 26 | |||
| 27 | struct cw1200_platform_data_sdio { | ||
| 28 | u16 ref_clk; /* REQUIRED (in KHz) */ | ||
| 29 | |||
| 30 | /* All others are optional */ | ||
| 31 | bool have_5ghz; | ||
| 32 | bool no_nptb; /* SDIO hardware does not support non-power-of-2-blocksizes */ | ||
| 33 | int reset; /* GPIO to RSTn signal (0 disables) */ | ||
| 34 | int powerup; /* GPIO to POWERUP signal (0 disables) */ | ||
| 35 | int irq; /* IRQ line or 0 to use SDIO IRQ */ | ||
| 36 | int (*power_ctrl)(const struct cw1200_platform_data_sdio *pdata, | ||
| 37 | bool enable); /* Control 3v3 / 1v8 supply */ | ||
| 38 | int (*clk_ctrl)(const struct cw1200_platform_data_sdio *pdata, | ||
| 39 | bool enable); /* Control CLK32K */ | ||
| 40 | const u8 *macaddr; /* if NULL, use cw1200_mac_template module parameter */ | ||
| 41 | const char *sdd_file; /* if NULL, will use default for detected hw type */ | ||
| 42 | }; | ||
| 43 | |||
| 44 | |||
| 45 | /* An example of SPI support in your board setup file: | ||
| 46 | |||
| 47 | static struct cw1200_platform_data_spi cw1200_platform_data = { | ||
| 48 | .ref_clk = 38400, | ||
| 49 | .spi_bits_per_word = 16, | ||
| 50 | .reset = GPIO_RF_RESET, | ||
| 51 | .powerup = GPIO_RF_POWERUP, | ||
| 52 | .macaddr = wifi_mac_addr, | ||
| 53 | .sdd_file = "sdd_sagrad_1091_1098.bin", | ||
| 54 | }; | ||
| 55 | static struct spi_board_info myboard_spi_devices[] __initdata = { | ||
| 56 | { | ||
| 57 | .modalias = "cw1200_wlan_spi", | ||
| 58 | .max_speed_hz = 52000000, | ||
| 59 | .bus_num = 0, | ||
| 60 | .irq = WIFI_IRQ, | ||
| 61 | .platform_data = &cw1200_platform_data, | ||
| 62 | .chip_select = 0, | ||
| 63 | }, | ||
| 64 | }; | ||
| 65 | |||
| 66 | */ | ||
| 67 | |||
| 68 | /* An example of SDIO support in your board setup file: | ||
| 69 | |||
| 70 | static struct cw1200_platform_data_sdio my_cw1200_platform_data = { | ||
| 71 | .ref_clk = 38400, | ||
| 72 | .have_5ghz = false, | ||
| 73 | .sdd_file = "sdd_myplatform.bin", | ||
| 74 | }; | ||
| 75 | cw1200_sdio_set_platform_data(&my_cw1200_platform_data); | ||
| 76 | |||
| 77 | */ | ||
| 78 | |||
| 79 | void __init cw1200_sdio_set_platform_data(struct cw1200_platform_data_sdio *pdata); | ||
| 80 | |||
| 81 | #endif /* CW1200_PLAT_H_INCLUDED */ | ||
diff --git a/include/linux/platform_data/omap-abe-twl6040.h b/include/linux/platform_data/omap-abe-twl6040.h deleted file mode 100644 index 5d298ac10fc2..000000000000 --- a/include/linux/platform_data/omap-abe-twl6040.h +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | /** | ||
| 2 | * omap-abe-twl6040.h - ASoC machine driver OMAP4+ devices, header. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
| 5 | * All rights reserved. | ||
| 6 | * | ||
| 7 | * Author: Peter Ujfalusi <peter.ujfalusi@ti.com> | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or | ||
| 10 | * modify it under the terms of the GNU General Public License | ||
| 11 | * version 2 as published by the Free Software Foundation. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, but | ||
| 14 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 16 | * General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
| 21 | * 02110-1301 USA | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef _OMAP_ABE_TWL6040_H_ | ||
| 25 | #define _OMAP_ABE_TWL6040_H_ | ||
| 26 | |||
| 27 | /* To select if only one channel is connected in a stereo port */ | ||
| 28 | #define ABE_TWL6040_LEFT (1 << 0) | ||
| 29 | #define ABE_TWL6040_RIGHT (1 << 1) | ||
| 30 | |||
| 31 | struct omap_abe_twl6040_data { | ||
| 32 | char *card_name; | ||
| 33 | /* Feature flags for connected audio pins */ | ||
| 34 | u8 has_hs; | ||
| 35 | u8 has_hf; | ||
| 36 | bool has_ep; | ||
| 37 | u8 has_aux; | ||
| 38 | u8 has_vibra; | ||
| 39 | bool has_dmic; | ||
| 40 | bool has_hsmic; | ||
| 41 | bool has_mainmic; | ||
| 42 | bool has_submic; | ||
| 43 | u8 has_afm; | ||
| 44 | /* Other features */ | ||
| 45 | bool jack_detection; /* board can detect jack events */ | ||
| 46 | int mclk_freq; /* MCLK frequency speed for twl6040 */ | ||
| 47 | }; | ||
| 48 | |||
| 49 | #endif /* _OMAP_ABE_TWL6040_H_ */ | ||
diff --git a/include/linux/platform_data/omap_ocp2scp.h b/include/linux/platform_data/omap_ocp2scp.h deleted file mode 100644 index 5c6c3939355f..000000000000 --- a/include/linux/platform_data/omap_ocp2scp.h +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * omap_ocp2scp.h -- ocp2scp header file | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com | ||
| 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; either version 2 of the License, or | ||
| 8 | * (at your option) any later version. | ||
| 9 | * | ||
| 10 | * Author: Kishon Vijay Abraham I <kishon@ti.com> | ||
| 11 | * | ||
| 12 | * This program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | */ | ||
| 18 | |||
| 19 | #ifndef __DRIVERS_OMAP_OCP2SCP_H | ||
| 20 | #define __DRIVERS_OMAP_OCP2SCP_H | ||
| 21 | |||
| 22 | struct omap_ocp2scp_dev { | ||
| 23 | const char *drv_name; | ||
| 24 | struct resource *res; | ||
| 25 | }; | ||
| 26 | |||
| 27 | struct omap_ocp2scp_platform_data { | ||
| 28 | int dev_cnt; | ||
| 29 | struct omap_ocp2scp_dev **devices; | ||
| 30 | }; | ||
| 31 | #endif /* __DRIVERS_OMAP_OCP2SCP_H */ | ||
diff --git a/include/linux/platform_data/pca953x.h b/include/linux/platform_data/pca953x.h new file mode 100644 index 000000000000..3c98dd4f901f --- /dev/null +++ b/include/linux/platform_data/pca953x.h | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | #ifndef _LINUX_PCA953X_H | ||
| 2 | #define _LINUX_PCA953X_H | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | #include <linux/i2c.h> | ||
| 6 | |||
| 7 | /* platform data for the PCA9539 16-bit I/O expander driver */ | ||
| 8 | |||
| 9 | struct pca953x_platform_data { | ||
| 10 | /* number of the first GPIO */ | ||
| 11 | unsigned gpio_base; | ||
| 12 | |||
| 13 | /* initial polarity inversion setting */ | ||
| 14 | u32 invert; | ||
| 15 | |||
| 16 | /* interrupt base */ | ||
| 17 | int irq_base; | ||
| 18 | |||
| 19 | void *context; /* param to setup/teardown */ | ||
| 20 | |||
| 21 | int (*setup)(struct i2c_client *client, | ||
| 22 | unsigned gpio, unsigned ngpio, | ||
| 23 | void *context); | ||
| 24 | int (*teardown)(struct i2c_client *client, | ||
| 25 | unsigned gpio, unsigned ngpio, | ||
| 26 | void *context); | ||
| 27 | const char *const *names; | ||
| 28 | }; | ||
| 29 | |||
| 30 | #endif /* _LINUX_PCA953X_H */ | ||
diff --git a/include/linux/platform_data/pinctrl-coh901.h b/include/linux/platform_data/pinctrl-coh901.h deleted file mode 100644 index dfbc65d10484..000000000000 --- a/include/linux/platform_data/pinctrl-coh901.h +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2007-2012 ST-Ericsson AB | ||
| 3 | * License terms: GNU General Public License (GPL) version 2 | ||
| 4 | * GPIO block resgister definitions and inline macros for | ||
| 5 | * U300 GPIO COH 901 335 or COH 901 571/3 | ||
| 6 | * Author: Linus Walleij <linus.walleij@stericsson.com> | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef __MACH_U300_GPIO_U300_H | ||
| 10 | #define __MACH_U300_GPIO_U300_H | ||
| 11 | |||
| 12 | /** | ||
| 13 | * struct u300_gpio_platform - U300 GPIO platform data | ||
| 14 | * @ports: number of GPIO block ports | ||
| 15 | * @gpio_base: first GPIO number for this block (use a free range) | ||
| 16 | */ | ||
| 17 | struct u300_gpio_platform { | ||
| 18 | u8 ports; | ||
| 19 | int gpio_base; | ||
| 20 | }; | ||
| 21 | |||
| 22 | #endif /* __MACH_U300_GPIO_U300_H */ | ||
diff --git a/include/linux/platform_data/pinctrl-nomadik.h b/include/linux/platform_data/pinctrl-nomadik.h index f73b2f0c55b7..abf5bed84df3 100644 --- a/include/linux/platform_data/pinctrl-nomadik.h +++ b/include/linux/platform_data/pinctrl-nomadik.h | |||
| @@ -226,30 +226,6 @@ enum nmk_gpio_slpm { | |||
| 226 | NMK_GPIO_SLPM_WAKEUP_DISABLE = NMK_GPIO_SLPM_NOCHANGE, | 226 | NMK_GPIO_SLPM_WAKEUP_DISABLE = NMK_GPIO_SLPM_NOCHANGE, |
| 227 | }; | 227 | }; |
| 228 | 228 | ||
| 229 | /* Older deprecated pin config API that should go away soon */ | ||
| 230 | extern int nmk_config_pin(pin_cfg_t cfg, bool sleep); | ||
| 231 | extern int nmk_config_pins(pin_cfg_t *cfgs, int num); | ||
| 232 | extern int nmk_config_pins_sleep(pin_cfg_t *cfgs, int num); | ||
| 233 | extern int nmk_gpio_set_slpm(int gpio, enum nmk_gpio_slpm mode); | ||
| 234 | extern int nmk_gpio_set_pull(int gpio, enum nmk_gpio_pull pull); | ||
| 235 | #ifdef CONFIG_PINCTRL_NOMADIK | ||
| 236 | extern int nmk_gpio_set_mode(int gpio, int gpio_mode); | ||
| 237 | #else | ||
| 238 | static inline int nmk_gpio_set_mode(int gpio, int gpio_mode) | ||
| 239 | { | ||
| 240 | return -ENODEV; | ||
| 241 | } | ||
| 242 | #endif | ||
| 243 | extern int nmk_gpio_get_mode(int gpio); | ||
| 244 | |||
| 245 | extern void nmk_gpio_wakeups_suspend(void); | ||
| 246 | extern void nmk_gpio_wakeups_resume(void); | ||
| 247 | |||
| 248 | extern void nmk_gpio_clocks_enable(void); | ||
| 249 | extern void nmk_gpio_clocks_disable(void); | ||
| 250 | |||
| 251 | extern void nmk_gpio_read_pull(int gpio_bank, u32 *pull_up); | ||
| 252 | |||
| 253 | /* | 229 | /* |
| 254 | * Platform data to register a block: only the initial gpio/irq number. | 230 | * Platform data to register a block: only the initial gpio/irq number. |
| 255 | */ | 231 | */ |
diff --git a/include/linux/platform_data/pwm-renesas-tpu.h b/include/linux/platform_data/pwm-renesas-tpu.h new file mode 100644 index 000000000000..a7220b10ddab --- /dev/null +++ b/include/linux/platform_data/pwm-renesas-tpu.h | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | #ifndef __PWM_RENESAS_TPU_H__ | ||
| 2 | #define __PWM_RENESAS_TPU_H__ | ||
| 3 | |||
| 4 | #include <linux/pwm.h> | ||
| 5 | |||
| 6 | #define TPU_CHANNEL_MAX 4 | ||
| 7 | |||
| 8 | struct tpu_pwm_channel_data { | ||
| 9 | enum pwm_polarity polarity; | ||
| 10 | }; | ||
| 11 | |||
| 12 | struct tpu_pwm_platform_data { | ||
| 13 | struct tpu_pwm_channel_data channels[TPU_CHANNEL_MAX]; | ||
| 14 | }; | ||
| 15 | |||
| 16 | #endif /* __PWM_RENESAS_TPU_H__ */ | ||
diff --git a/include/linux/platform_data/rcar-du.h b/include/linux/platform_data/rcar-du.h new file mode 100644 index 000000000000..1a2e9901a22e --- /dev/null +++ b/include/linux/platform_data/rcar-du.h | |||
| @@ -0,0 +1,74 @@ | |||
| 1 | /* | ||
| 2 | * rcar_du.h -- R-Car Display Unit DRM driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013 Renesas Corporation | ||
| 5 | * | ||
| 6 | * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.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 as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __RCAR_DU_H__ | ||
| 15 | #define __RCAR_DU_H__ | ||
| 16 | |||
| 17 | #include <drm/drm_mode.h> | ||
| 18 | |||
| 19 | enum rcar_du_output { | ||
| 20 | RCAR_DU_OUTPUT_DPAD0, | ||
| 21 | RCAR_DU_OUTPUT_DPAD1, | ||
| 22 | RCAR_DU_OUTPUT_LVDS0, | ||
| 23 | RCAR_DU_OUTPUT_LVDS1, | ||
| 24 | RCAR_DU_OUTPUT_TCON, | ||
| 25 | RCAR_DU_OUTPUT_MAX, | ||
| 26 | }; | ||
| 27 | |||
| 28 | enum rcar_du_encoder_type { | ||
| 29 | RCAR_DU_ENCODER_UNUSED = 0, | ||
| 30 | RCAR_DU_ENCODER_NONE, | ||
| 31 | RCAR_DU_ENCODER_VGA, | ||
| 32 | RCAR_DU_ENCODER_LVDS, | ||
| 33 | }; | ||
| 34 | |||
| 35 | struct rcar_du_panel_data { | ||
| 36 | unsigned int width_mm; /* Panel width in mm */ | ||
| 37 | unsigned int height_mm; /* Panel height in mm */ | ||
| 38 | struct drm_mode_modeinfo mode; | ||
| 39 | }; | ||
| 40 | |||
| 41 | struct rcar_du_connector_lvds_data { | ||
| 42 | struct rcar_du_panel_data panel; | ||
| 43 | }; | ||
| 44 | |||
| 45 | struct rcar_du_connector_vga_data { | ||
| 46 | /* TODO: Add DDC information for EDID retrieval */ | ||
| 47 | }; | ||
| 48 | |||
| 49 | /* | ||
| 50 | * struct rcar_du_encoder_data - Encoder platform data | ||
| 51 | * @type: the encoder type (RCAR_DU_ENCODER_*) | ||
| 52 | * @output: the DU output the connector is connected to (RCAR_DU_OUTPUT_*) | ||
| 53 | * @connector.lvds: platform data for LVDS connectors | ||
| 54 | * @connector.vga: platform data for VGA connectors | ||
| 55 | * | ||
| 56 | * Encoder platform data describes an on-board encoder, its associated DU SoC | ||
| 57 | * output, and the connector. | ||
| 58 | */ | ||
| 59 | struct rcar_du_encoder_data { | ||
| 60 | enum rcar_du_encoder_type type; | ||
| 61 | enum rcar_du_output output; | ||
| 62 | |||
| 63 | union { | ||
| 64 | struct rcar_du_connector_lvds_data lvds; | ||
| 65 | struct rcar_du_connector_vga_data vga; | ||
| 66 | } connector; | ||
| 67 | }; | ||
| 68 | |||
| 69 | struct rcar_du_platform_data { | ||
| 70 | struct rcar_du_encoder_data *encoders; | ||
| 71 | unsigned int num_encoders; | ||
| 72 | }; | ||
| 73 | |||
| 74 | #endif /* __RCAR_DU_H__ */ | ||
diff --git a/include/linux/platform_data/remoteproc-omap.h b/include/linux/platform_data/remoteproc-omap.h index 3c1c6444ec4b..bfbd12b41162 100644 --- a/include/linux/platform_data/remoteproc-omap.h +++ b/include/linux/platform_data/remoteproc-omap.h | |||
| @@ -50,7 +50,7 @@ void __init omap_rproc_reserve_cma(void); | |||
| 50 | 50 | ||
| 51 | #else | 51 | #else |
| 52 | 52 | ||
| 53 | void __init omap_rproc_reserve_cma(void) | 53 | static inline void __init omap_rproc_reserve_cma(void) |
| 54 | { | 54 | { |
| 55 | } | 55 | } |
| 56 | 56 | ||
diff --git a/include/linux/platform_data/serial-sccnxp.h b/include/linux/platform_data/serial-sccnxp.h index bdc510d03245..af0c8c3b89ae 100644 --- a/include/linux/platform_data/serial-sccnxp.h +++ b/include/linux/platform_data/serial-sccnxp.h | |||
| @@ -60,7 +60,6 @@ | |||
| 60 | * }; | 60 | * }; |
| 61 | * | 61 | * |
| 62 | * static struct sccnxp_pdata sc2892_info = { | 62 | * static struct sccnxp_pdata sc2892_info = { |
| 63 | * .frequency = 3686400, | ||
| 64 | * .mctrl_cfg[0] = MCTRL_SIG(DIR_OP, LINE_OP0), | 63 | * .mctrl_cfg[0] = MCTRL_SIG(DIR_OP, LINE_OP0), |
| 65 | * .mctrl_cfg[1] = MCTRL_SIG(DIR_OP, LINE_OP1), | 64 | * .mctrl_cfg[1] = MCTRL_SIG(DIR_OP, LINE_OP1), |
| 66 | * }; | 65 | * }; |
| @@ -78,8 +77,6 @@ | |||
| 78 | 77 | ||
| 79 | /* SCCNXP platform data structure */ | 78 | /* SCCNXP platform data structure */ |
| 80 | struct sccnxp_pdata { | 79 | struct sccnxp_pdata { |
| 81 | /* Frequency (extrenal clock or crystal) */ | ||
| 82 | int frequency; | ||
| 83 | /* Shift for A0 line */ | 80 | /* Shift for A0 line */ |
| 84 | const u8 reg_shift; | 81 | const u8 reg_shift; |
| 85 | /* Modem control lines configuration */ | 82 | /* Modem control lines configuration */ |
diff --git a/include/linux/platform_data/si5351.h b/include/linux/platform_data/si5351.h index 92dabcaf6499..54334393ab92 100644 --- a/include/linux/platform_data/si5351.h +++ b/include/linux/platform_data/si5351.h | |||
| @@ -79,6 +79,23 @@ enum si5351_drive_strength { | |||
| 79 | }; | 79 | }; |
| 80 | 80 | ||
| 81 | /** | 81 | /** |
| 82 | * enum si5351_disable_state - Si5351 clock output disable state | ||
| 83 | * @SI5351_DISABLE_DEFAULT: default, do not change eeprom config | ||
| 84 | * @SI5351_DISABLE_LOW: CLKx is set to a LOW state when disabled | ||
| 85 | * @SI5351_DISABLE_HIGH: CLKx is set to a HIGH state when disabled | ||
| 86 | * @SI5351_DISABLE_FLOATING: CLKx is set to a FLOATING state when | ||
| 87 | * disabled | ||
| 88 | * @SI5351_DISABLE_NEVER: CLKx is NEVER disabled | ||
| 89 | */ | ||
| 90 | enum si5351_disable_state { | ||
| 91 | SI5351_DISABLE_DEFAULT = 0, | ||
| 92 | SI5351_DISABLE_LOW, | ||
| 93 | SI5351_DISABLE_HIGH, | ||
| 94 | SI5351_DISABLE_FLOATING, | ||
| 95 | SI5351_DISABLE_NEVER, | ||
| 96 | }; | ||
| 97 | |||
| 98 | /** | ||
| 82 | * struct si5351_clkout_config - Si5351 clock output configuration | 99 | * struct si5351_clkout_config - Si5351 clock output configuration |
| 83 | * @clkout: clkout number | 100 | * @clkout: clkout number |
| 84 | * @multisynth_src: multisynth source clock | 101 | * @multisynth_src: multisynth source clock |
| @@ -91,6 +108,7 @@ struct si5351_clkout_config { | |||
| 91 | enum si5351_multisynth_src multisynth_src; | 108 | enum si5351_multisynth_src multisynth_src; |
| 92 | enum si5351_clkout_src clkout_src; | 109 | enum si5351_clkout_src clkout_src; |
| 93 | enum si5351_drive_strength drive; | 110 | enum si5351_drive_strength drive; |
| 111 | enum si5351_disable_state disable_state; | ||
| 94 | bool pll_master; | 112 | bool pll_master; |
| 95 | unsigned long rate; | 113 | unsigned long rate; |
| 96 | }; | 114 | }; |
diff --git a/include/linux/platform_data/simplefb.h b/include/linux/platform_data/simplefb.h new file mode 100644 index 000000000000..077303cedbf4 --- /dev/null +++ b/include/linux/platform_data/simplefb.h | |||
| @@ -0,0 +1,64 @@ | |||
| 1 | /* | ||
| 2 | * simplefb.h - Simple Framebuffer Device | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013 David Herrmann <dh.herrmann@gmail.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 | |||
| 12 | #ifndef __PLATFORM_DATA_SIMPLEFB_H__ | ||
| 13 | #define __PLATFORM_DATA_SIMPLEFB_H__ | ||
| 14 | |||
| 15 | #include <drm/drm_fourcc.h> | ||
| 16 | #include <linux/fb.h> | ||
| 17 | #include <linux/kernel.h> | ||
| 18 | |||
| 19 | /* format array, use it to initialize a "struct simplefb_format" array */ | ||
| 20 | #define SIMPLEFB_FORMATS \ | ||
| 21 | { \ | ||
| 22 | { "r5g6b5", 16, {11, 5}, {5, 6}, {0, 5}, {0, 0}, DRM_FORMAT_RGB565 }, \ | ||
| 23 | { "x1r5g5b5", 16, {10, 5}, {5, 5}, {0, 5}, {0, 0}, DRM_FORMAT_XRGB1555 }, \ | ||
| 24 | { "a1r5g5b5", 16, {10, 5}, {5, 5}, {0, 5}, {15, 1}, DRM_FORMAT_ARGB1555 }, \ | ||
| 25 | { "r8g8b8", 24, {16, 8}, {8, 8}, {0, 8}, {0, 0}, DRM_FORMAT_RGB888 }, \ | ||
| 26 | { "x8r8g8b8", 32, {16, 8}, {8, 8}, {0, 8}, {0, 0}, DRM_FORMAT_XRGB8888 }, \ | ||
| 27 | { "a8r8g8b8", 32, {16, 8}, {8, 8}, {0, 8}, {24, 8}, DRM_FORMAT_ARGB8888 }, \ | ||
| 28 | { "a8b8g8r8", 32, {0, 8}, {8, 8}, {16, 8}, {24, 8}, DRM_FORMAT_ABGR8888 }, \ | ||
| 29 | { "x2r10g10b10", 32, {20, 10}, {10, 10}, {0, 10}, {0, 0}, DRM_FORMAT_XRGB2101010 }, \ | ||
| 30 | { "a2r10g10b10", 32, {20, 10}, {10, 10}, {0, 10}, {30, 2}, DRM_FORMAT_ARGB2101010 }, \ | ||
| 31 | } | ||
| 32 | |||
| 33 | /* | ||
| 34 | * Data-Format for Simple-Framebuffers | ||
| 35 | * @name: unique 0-terminated name that can be used to identify the mode | ||
| 36 | * @red,green,blue: Offsets and sizes of the single RGB parts | ||
| 37 | * @transp: Offset and size of the alpha bits. length=0 means no alpha | ||
| 38 | * @fourcc: 32bit DRM four-CC code (see drm_fourcc.h) | ||
| 39 | */ | ||
| 40 | struct simplefb_format { | ||
| 41 | const char *name; | ||
| 42 | u32 bits_per_pixel; | ||
| 43 | struct fb_bitfield red; | ||
| 44 | struct fb_bitfield green; | ||
| 45 | struct fb_bitfield blue; | ||
| 46 | struct fb_bitfield transp; | ||
| 47 | u32 fourcc; | ||
| 48 | }; | ||
| 49 | |||
| 50 | /* | ||
| 51 | * Simple-Framebuffer description | ||
| 52 | * If the arch-boot code creates simple-framebuffers without DT support, it | ||
| 53 | * can pass the width, height, stride and format via this platform-data object. | ||
| 54 | * The framebuffer location must be given as IORESOURCE_MEM resource. | ||
| 55 | * @format must be a format as described in "struct simplefb_format" above. | ||
| 56 | */ | ||
| 57 | struct simplefb_platform_data { | ||
| 58 | u32 width; | ||
| 59 | u32 height; | ||
| 60 | u32 stride; | ||
| 61 | const char *format; | ||
| 62 | }; | ||
| 63 | |||
| 64 | #endif /* __PLATFORM_DATA_SIMPLEFB_H__ */ | ||
diff --git a/include/linux/platform_data/spi-davinci.h b/include/linux/platform_data/spi-davinci.h index 7af305b37868..8dc2fa47a2aa 100644 --- a/include/linux/platform_data/spi-davinci.h +++ b/include/linux/platform_data/spi-davinci.h | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | #ifndef __ARCH_ARM_DAVINCI_SPI_H | 19 | #ifndef __ARCH_ARM_DAVINCI_SPI_H |
| 20 | #define __ARCH_ARM_DAVINCI_SPI_H | 20 | #define __ARCH_ARM_DAVINCI_SPI_H |
| 21 | 21 | ||
| 22 | #include <mach/edma.h> | 22 | #include <linux/platform_data/edma.h> |
| 23 | 23 | ||
| 24 | #define SPI_INTERN_CS 0xFF | 24 | #define SPI_INTERN_CS 0xFF |
| 25 | 25 | ||
diff --git a/include/linux/platform_data/ssm2518.h b/include/linux/platform_data/ssm2518.h new file mode 100644 index 000000000000..9a8e3ea287e3 --- /dev/null +++ b/include/linux/platform_data/ssm2518.h | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* | ||
| 2 | * SSM2518 amplifier audio driver | ||
| 3 | * | ||
| 4 | * Copyright 2013 Analog Devices Inc. | ||
| 5 | * Author: Lars-Peter Clausen <lars@metafoo.de> | ||
| 6 | * | ||
| 7 | * Licensed under the GPL-2. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef __LINUX_PLATFORM_DATA_SSM2518_H__ | ||
| 11 | #define __LINUX_PLATFORM_DATA_SSM2518_H__ | ||
| 12 | |||
| 13 | /** | ||
| 14 | * struct ssm2518_platform_data - Platform data for the ssm2518 driver | ||
| 15 | * @enable_gpio: GPIO connected to the nSD pin. Set to -1 if the nSD pin is | ||
| 16 | * hardwired. | ||
| 17 | */ | ||
| 18 | struct ssm2518_platform_data { | ||
| 19 | int enable_gpio; | ||
| 20 | }; | ||
| 21 | |||
| 22 | #endif | ||
diff --git a/include/linux/platform_data/st_sensors_pdata.h b/include/linux/platform_data/st_sensors_pdata.h new file mode 100644 index 000000000000..753839187ba0 --- /dev/null +++ b/include/linux/platform_data/st_sensors_pdata.h | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | /* | ||
| 2 | * STMicroelectronics sensors platform-data driver | ||
| 3 | * | ||
| 4 | * Copyright 2013 STMicroelectronics Inc. | ||
| 5 | * | ||
| 6 | * Denis Ciocca <denis.ciocca@st.com> | ||
| 7 | * | ||
| 8 | * Licensed under the GPL-2. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef ST_SENSORS_PDATA_H | ||
| 12 | #define ST_SENSORS_PDATA_H | ||
| 13 | |||
| 14 | /** | ||
| 15 | * struct st_sensors_platform_data - Platform data for the ST sensors | ||
| 16 | * @drdy_int_pin: Redirect DRDY on pin 1 (1) or pin 2 (2). | ||
| 17 | * Available only for accelerometer and pressure sensors. | ||
| 18 | * Accelerometer DRDY on LSM330 available only on pin 1 (see datasheet). | ||
| 19 | */ | ||
| 20 | struct st_sensors_platform_data { | ||
| 21 | u8 drdy_int_pin; | ||
| 22 | }; | ||
| 23 | |||
| 24 | #endif /* ST_SENSORS_PDATA_H */ | ||
diff --git a/include/linux/platform_data/ti_am335x_adc.h b/include/linux/platform_data/ti_am335x_adc.h deleted file mode 100644 index e41d5834cb84..000000000000 --- a/include/linux/platform_data/ti_am335x_adc.h +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | #ifndef __LINUX_TI_AM335X_ADC_H | ||
| 2 | #define __LINUX_TI_AM335X_ADC_H | ||
| 3 | |||
| 4 | /** | ||
| 5 | * struct adc_data ADC Input information | ||
| 6 | * @adc_channels: Number of analog inputs | ||
| 7 | * available for ADC. | ||
| 8 | */ | ||
| 9 | |||
| 10 | struct adc_data { | ||
| 11 | unsigned int adc_channels; | ||
| 12 | }; | ||
| 13 | |||
| 14 | #endif | ||
diff --git a/include/linux/platform_data/usb-musb-ux500.h b/include/linux/platform_data/usb-musb-ux500.h index 4c1cc50a595a..dd9c83ac7de0 100644 --- a/include/linux/platform_data/usb-musb-ux500.h +++ b/include/linux/platform_data/usb-musb-ux500.h | |||
| @@ -9,14 +9,11 @@ | |||
| 9 | 9 | ||
| 10 | #include <linux/dmaengine.h> | 10 | #include <linux/dmaengine.h> |
| 11 | 11 | ||
| 12 | #define UX500_MUSB_DMA_NUM_RX_CHANNELS 8 | 12 | #define UX500_MUSB_DMA_NUM_RX_TX_CHANNELS 8 |
| 13 | #define UX500_MUSB_DMA_NUM_TX_CHANNELS 8 | ||
| 14 | 13 | ||
| 15 | struct ux500_musb_board_data { | 14 | struct ux500_musb_board_data { |
| 16 | void **dma_rx_param_array; | 15 | void **dma_rx_param_array; |
| 17 | void **dma_tx_param_array; | 16 | void **dma_tx_param_array; |
| 18 | u32 num_rx_channels; | ||
| 19 | u32 num_tx_channels; | ||
| 20 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); | 17 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); |
| 21 | }; | 18 | }; |
| 22 | 19 | ||
diff --git a/include/linux/platform_data/usb-rcar-phy.h b/include/linux/platform_data/usb-rcar-phy.h new file mode 100644 index 000000000000..8ec6964a32a5 --- /dev/null +++ b/include/linux/platform_data/usb-rcar-phy.h | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2013 Renesas Solutions Corp. | ||
| 3 | * Copyright (C) 2013 Cogent Embedded, Inc. | ||
| 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 __USB_RCAR_PHY_H | ||
| 11 | #define __USB_RCAR_PHY_H | ||
| 12 | |||
| 13 | #include <linux/types.h> | ||
| 14 | |||
| 15 | struct rcar_phy_platform_data { | ||
| 16 | bool ferrite_bead:1; /* (R8A7778 only) */ | ||
| 17 | |||
| 18 | bool port1_func:1; /* true: port 1 used by function, false: host */ | ||
| 19 | unsigned penc1:1; /* Output of the PENC1 pin in function mode */ | ||
| 20 | struct { /* Overcurrent pin control for ports 0..2 */ | ||
| 21 | bool select_3_3v:1; /* true: USB_OVCn pin, false: OVCn pin */ | ||
| 22 | /* Set to false on port 1 in function mode */ | ||
| 23 | bool active_high:1; /* true: active high, false: active low */ | ||
| 24 | /* Set to true on port 1 in function mode */ | ||
| 25 | } ovc_pin[3]; /* (R8A7778 only has 2 ports) */ | ||
| 26 | }; | ||
| 27 | |||
| 28 | #endif /* __USB_RCAR_PHY_H */ | ||
diff --git a/include/linux/platform_data/usb3503.h b/include/linux/platform_data/usb3503.h index 85dcc709f7e9..1d1b6ef871f6 100644 --- a/include/linux/platform_data/usb3503.h +++ b/include/linux/platform_data/usb3503.h | |||
| @@ -3,6 +3,10 @@ | |||
| 3 | 3 | ||
| 4 | #define USB3503_I2C_NAME "usb3503" | 4 | #define USB3503_I2C_NAME "usb3503" |
| 5 | 5 | ||
| 6 | #define USB3503_OFF_PORT1 (1 << 1) | ||
| 7 | #define USB3503_OFF_PORT2 (1 << 2) | ||
| 8 | #define USB3503_OFF_PORT3 (1 << 3) | ||
| 9 | |||
| 6 | enum usb3503_mode { | 10 | enum usb3503_mode { |
| 7 | USB3503_MODE_UNKNOWN, | 11 | USB3503_MODE_UNKNOWN, |
| 8 | USB3503_MODE_HUB, | 12 | USB3503_MODE_HUB, |
| @@ -11,6 +15,7 @@ enum usb3503_mode { | |||
| 11 | 15 | ||
| 12 | struct usb3503_platform_data { | 16 | struct usb3503_platform_data { |
| 13 | enum usb3503_mode initial_mode; | 17 | enum usb3503_mode initial_mode; |
| 18 | u8 port_off_mask; | ||
| 14 | int gpio_intn; | 19 | int gpio_intn; |
| 15 | int gpio_connect; | 20 | int gpio_connect; |
| 16 | int gpio_reset; | 21 | int gpio_reset; |
diff --git a/include/linux/platform_data/vsp1.h b/include/linux/platform_data/vsp1.h new file mode 100644 index 000000000000..a73a456d7f11 --- /dev/null +++ b/include/linux/platform_data/vsp1.h | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | /* | ||
| 2 | * vsp1.h -- R-Car VSP1 Platform Data | ||
| 3 | * | ||
| 4 | * Copyright (C) 2013 Renesas Corporation | ||
| 5 | * | ||
| 6 | * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.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 as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | */ | ||
| 13 | #ifndef __PLATFORM_VSP1_H__ | ||
| 14 | #define __PLATFORM_VSP1_H__ | ||
| 15 | |||
| 16 | #define VSP1_HAS_LIF (1 << 0) | ||
| 17 | |||
| 18 | struct vsp1_platform_data { | ||
| 19 | unsigned int features; | ||
| 20 | unsigned int rpf_count; | ||
| 21 | unsigned int uds_count; | ||
| 22 | unsigned int wpf_count; | ||
| 23 | }; | ||
| 24 | |||
| 25 | #endif /* __PLATFORM_VSP1_H__ */ | ||
diff --git a/include/linux/platform_data/tegra_usb.h b/include/linux/platform_data/zforce_ts.h index 66c673fef408..0472ab2f6ede 100644 --- a/include/linux/platform_data/tegra_usb.h +++ b/include/linux/platform_data/zforce_ts.h | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | /* | 1 | /* drivers/input/touchscreen/zforce.c |
| 2 | * Copyright (C) 2010 Google, Inc. | 2 | * |
| 3 | * Copyright (C) 2012-2013 MundoReader S.L. | ||
| 3 | * | 4 | * |
| 4 | * This software is licensed under the terms of the GNU General Public | 5 | * 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 | * License version 2, as published by the Free Software Foundation, and |
| @@ -9,24 +10,17 @@ | |||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 | * GNU General Public License for more details. | 12 | * GNU General Public License for more details. |
| 12 | * | ||
| 13 | */ | 13 | */ |
| 14 | 14 | ||
| 15 | #ifndef _TEGRA_USB_H_ | 15 | #ifndef _LINUX_INPUT_ZFORCE_TS_H |
| 16 | #define _TEGRA_USB_H_ | 16 | #define _LINUX_INPUT_ZFORCE_TS_H |
| 17 | 17 | ||
| 18 | enum tegra_usb_operating_modes { | 18 | struct zforce_ts_platdata { |
| 19 | TEGRA_USB_DEVICE, | 19 | int gpio_int; |
| 20 | TEGRA_USB_HOST, | 20 | int gpio_rst; |
| 21 | TEGRA_USB_OTG, | ||
| 22 | }; | ||
| 23 | 21 | ||
| 24 | struct tegra_ehci_platform_data { | 22 | unsigned int x_max; |
| 25 | enum tegra_usb_operating_modes operating_mode; | 23 | unsigned int y_max; |
| 26 | /* power down the phy on bus suspend */ | ||
| 27 | int power_down_on_bus_suspend; | ||
| 28 | void *phy_config; | ||
| 29 | int vbus_gpio; | ||
| 30 | }; | 24 | }; |
| 31 | 25 | ||
| 32 | #endif /* _TEGRA_USB_H_ */ | 26 | #endif /* _LINUX_INPUT_ZFORCE_TS_H */ |
