diff options
Diffstat (limited to 'include/linux/platform_data')
29 files changed, 422 insertions, 320 deletions
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 b7174998c24a..e75dcbf2b230 100644 --- a/include/linux/platform_data/brcmfmac-sdio.h +++ b/include/linux/platform_data/brcmfmac-sdio.h | |||
| @@ -94,6 +94,10 @@ void __init brcmfmac_init_pdata(void) | |||
| 94 | * Set this to true if the SDIO host controller has higher align requirement | 94 | * Set this to true if the SDIO host controller has higher align requirement |
| 95 | * than 32 bytes for each scatterlist item. | 95 | * than 32 bytes for each scatterlist item. |
| 96 | * | 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 | * | ||
| 97 | * 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 |
| 98 | * 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 |
| 99 | * 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. |
| @@ -121,6 +125,8 @@ struct brcmfmac_sdio_platform_data { | |||
| 121 | unsigned int oob_irq_nr; | 125 | unsigned int oob_irq_nr; |
| 122 | unsigned long oob_irq_flags; | 126 | unsigned long oob_irq_flags; |
| 123 | bool broken_sg_support; | 127 | bool broken_sg_support; |
| 128 | unsigned short sd_head_align; | ||
| 129 | unsigned short sd_sgentry_align; | ||
| 124 | void (*power_on)(void); | 130 | void (*power_on)(void); |
| 125 | void (*power_off)(void); | 131 | void (*power_off)(void); |
| 126 | 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/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-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/edma.h b/include/linux/platform_data/edma.h index 57300fd7cc03..179fb91bb5f2 100644 --- a/include/linux/platform_data/edma.h +++ b/include/linux/platform_data/edma.h | |||
| @@ -180,4 +180,6 @@ struct edma_soc_info { | |||
| 180 | const s16 (*xbar_chans)[2]; | 180 | const s16 (*xbar_chans)[2]; |
| 181 | }; | 181 | }; |
| 182 | 182 | ||
| 183 | int edma_trigger_channel(unsigned); | ||
| 184 | |||
| 183 | #endif | 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/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_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/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/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/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/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-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/rcar-du.h b/include/linux/platform_data/rcar-du.h index 80587fdbba3e..1a2e9901a22e 100644 --- a/include/linux/platform_data/rcar-du.h +++ b/include/linux/platform_data/rcar-du.h | |||
| @@ -16,8 +16,18 @@ | |||
| 16 | 16 | ||
| 17 | #include <drm/drm_mode.h> | 17 | #include <drm/drm_mode.h> |
| 18 | 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 | |||
| 19 | enum rcar_du_encoder_type { | 28 | enum rcar_du_encoder_type { |
| 20 | RCAR_DU_ENCODER_UNUSED = 0, | 29 | RCAR_DU_ENCODER_UNUSED = 0, |
| 30 | RCAR_DU_ENCODER_NONE, | ||
| 21 | RCAR_DU_ENCODER_VGA, | 31 | RCAR_DU_ENCODER_VGA, |
| 22 | RCAR_DU_ENCODER_LVDS, | 32 | RCAR_DU_ENCODER_LVDS, |
| 23 | }; | 33 | }; |
| @@ -28,22 +38,32 @@ struct rcar_du_panel_data { | |||
| 28 | struct drm_mode_modeinfo mode; | 38 | struct drm_mode_modeinfo mode; |
| 29 | }; | 39 | }; |
| 30 | 40 | ||
| 31 | struct rcar_du_encoder_lvds_data { | 41 | struct rcar_du_connector_lvds_data { |
| 32 | struct rcar_du_panel_data panel; | 42 | struct rcar_du_panel_data panel; |
| 33 | }; | 43 | }; |
| 34 | 44 | ||
| 35 | struct rcar_du_encoder_vga_data { | 45 | struct rcar_du_connector_vga_data { |
| 36 | /* TODO: Add DDC information for EDID retrieval */ | 46 | /* TODO: Add DDC information for EDID retrieval */ |
| 37 | }; | 47 | }; |
| 38 | 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 | */ | ||
| 39 | struct rcar_du_encoder_data { | 59 | struct rcar_du_encoder_data { |
| 40 | enum rcar_du_encoder_type encoder; | 60 | enum rcar_du_encoder_type type; |
| 41 | unsigned int output; | 61 | enum rcar_du_output output; |
| 42 | 62 | ||
| 43 | union { | 63 | union { |
| 44 | struct rcar_du_encoder_lvds_data lvds; | 64 | struct rcar_du_connector_lvds_data lvds; |
| 45 | struct rcar_du_encoder_vga_data vga; | 65 | struct rcar_du_connector_vga_data vga; |
| 46 | } u; | 66 | } connector; |
| 47 | }; | 67 | }; |
| 48 | 68 | ||
| 49 | struct rcar_du_platform_data { | 69 | struct rcar_du_platform_data { |
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/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/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/tegra_usb.h b/include/linux/platform_data/tegra_usb.h deleted file mode 100644 index 66c673fef408..000000000000 --- a/include/linux/platform_data/tegra_usb.h +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2010 Google, Inc. | ||
| 3 | * | ||
| 4 | * This software is licensed under the terms of the GNU General Public | ||
| 5 | * License version 2, as published by the Free Software Foundation, and | ||
| 6 | * may be copied, distributed, and modified under those terms. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef _TEGRA_USB_H_ | ||
| 16 | #define _TEGRA_USB_H_ | ||
| 17 | |||
| 18 | enum tegra_usb_operating_modes { | ||
| 19 | TEGRA_USB_DEVICE, | ||
| 20 | TEGRA_USB_HOST, | ||
| 21 | TEGRA_USB_OTG, | ||
| 22 | }; | ||
| 23 | |||
| 24 | struct tegra_ehci_platform_data { | ||
| 25 | enum tegra_usb_operating_modes operating_mode; | ||
| 26 | /* power down the phy on bus suspend */ | ||
| 27 | int power_down_on_bus_suspend; | ||
| 28 | void *phy_config; | ||
| 29 | int vbus_gpio; | ||
| 30 | }; | ||
| 31 | |||
| 32 | #endif /* _TEGRA_USB_H_ */ | ||
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__ */ | ||
