Merge branch 'for-next' of git://github.com/rydberg/linux into next
Pull in changes from Henrik: "a trivial MT documentation fix".
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) ST-Ericsson SA 2010-2013
|
||||
* Author: Rickard Andersson <rickard.andersson@stericsson.com> for
|
||||
* ST-Ericsson.
|
||||
* Author: Daniel Lezcano <daniel.lezcano@linaro.org> for Linaro.
|
||||
* License terms: GNU General Public License (GPL) version 2
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef ARM_UX500_PM_H
|
||||
#define ARM_UX500_PM_H
|
||||
|
||||
int prcmu_gic_decouple(void);
|
||||
int prcmu_gic_recouple(void);
|
||||
bool prcmu_gic_pending_irq(void);
|
||||
bool prcmu_pending_irq(void);
|
||||
bool prcmu_is_cpu_in_wfi(int cpu);
|
||||
int prcmu_copy_gic_settings(void);
|
||||
void ux500_pm_init(u32 phy_base, u32 size);
|
||||
|
||||
#endif /* ARM_UX500_PM_H */
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright (C) ST-Ericsson SA 2010
|
||||
*
|
||||
* Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
|
||||
* License terms: GNU General Public License (GPL), version 2.
|
||||
*/
|
||||
|
||||
#ifndef __MSP_H
|
||||
#define __MSP_H
|
||||
|
||||
#include <linux/platform_data/dma-ste-dma40.h>
|
||||
|
||||
enum msp_i2s_id {
|
||||
MSP_I2S_0 = 0,
|
||||
MSP_I2S_1,
|
||||
MSP_I2S_2,
|
||||
MSP_I2S_3,
|
||||
};
|
||||
|
||||
/* Platform data structure for a MSP I2S-device */
|
||||
struct msp_i2s_platform_data {
|
||||
enum msp_i2s_id id;
|
||||
struct stedma40_chan_cfg *msp_i2s_dma_rx;
|
||||
struct stedma40_chan_cfg *msp_i2s_dma_tx;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,22 +0,0 @@
|
||||
#ifndef __LINUX_ATMEL_AES_H
|
||||
#define __LINUX_ATMEL_AES_H
|
||||
|
||||
#include <linux/platform_data/dma-atmel.h>
|
||||
|
||||
/**
|
||||
* struct aes_dma_data - DMA data for AES
|
||||
*/
|
||||
struct aes_dma_data {
|
||||
struct at_dma_slave txdata;
|
||||
struct at_dma_slave rxdata;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct aes_platform_data - board-specific AES configuration
|
||||
* @dma_slave: DMA slave interface to use in data transfers.
|
||||
*/
|
||||
struct aes_platform_data {
|
||||
struct aes_dma_data *dma_slave;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_ATMEL_AES_H */
|
||||
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* Copyright (c) 2013 Broadcom Corporation
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_BRCMFMAC_PLATFORM_H
|
||||
#define _LINUX_BRCMFMAC_PLATFORM_H
|
||||
|
||||
/*
|
||||
* Platform specific driver functions and data. Through the platform specific
|
||||
* device data functions can be provided to help the brcmfmac driver to
|
||||
* operate with the device in combination with the used platform.
|
||||
*
|
||||
* Use the platform data in the following (similar) way:
|
||||
*
|
||||
*
|
||||
#include <brcmfmac_platform.h>
|
||||
|
||||
|
||||
static void brcmfmac_power_on(void)
|
||||
{
|
||||
}
|
||||
|
||||
static void brcmfmac_power_off(void)
|
||||
{
|
||||
}
|
||||
|
||||
static void brcmfmac_reset(void)
|
||||
{
|
||||
}
|
||||
|
||||
static struct brcmfmac_sdio_platform_data brcmfmac_sdio_pdata = {
|
||||
.power_on = brcmfmac_power_on,
|
||||
.power_off = brcmfmac_power_off,
|
||||
.reset = brcmfmac_reset
|
||||
};
|
||||
|
||||
static struct platform_device brcmfmac_device = {
|
||||
.name = BRCMFMAC_SDIO_PDATA_NAME,
|
||||
.id = PLATFORM_DEVID_NONE,
|
||||
.dev.platform_data = &brcmfmac_sdio_pdata
|
||||
};
|
||||
|
||||
void __init brcmfmac_init_pdata(void)
|
||||
{
|
||||
brcmfmac_sdio_pdata.oob_irq_supported = true;
|
||||
brcmfmac_sdio_pdata.oob_irq_nr = gpio_to_irq(GPIO_BRCMF_SDIO_OOB);
|
||||
brcmfmac_sdio_pdata.oob_irq_flags = IORESOURCE_IRQ |
|
||||
IORESOURCE_IRQ_HIGHLEVEL;
|
||||
platform_device_register(&brcmfmac_device);
|
||||
}
|
||||
*
|
||||
*
|
||||
* Note: the brcmfmac can be loaded as module or be statically built-in into
|
||||
* the kernel. If built-in then do note that it uses module_init (and
|
||||
* module_exit) routines which equal device_initcall. So if you intend to
|
||||
* create a module with the platform specific data for the brcmfmac and have
|
||||
* it built-in to the kernel then use a higher initcall then device_initcall
|
||||
* (see init.h). If this is not done then brcmfmac will load without problems
|
||||
* but will not pickup the platform data.
|
||||
*
|
||||
* When the driver does not "detect" platform driver data then it will continue
|
||||
* without reporting anything and just assume there is no data needed. Which is
|
||||
* probably true for most platforms.
|
||||
*
|
||||
* Explanation of the platform_data fields:
|
||||
*
|
||||
* drive_strength: is the preferred drive_strength to be used for the SDIO
|
||||
* pins. If 0 then a default value will be used. This is the target drive
|
||||
* strength, the exact drive strength which will be used depends on the
|
||||
* capabilities of the device.
|
||||
*
|
||||
* oob_irq_supported: does the board have support for OOB interrupts. SDIO
|
||||
* in-band interrupts are relatively slow and for having less overhead on
|
||||
* interrupt processing an out of band interrupt can be used. If the HW
|
||||
* supports this then enable this by setting this field to true and configure
|
||||
* the oob related fields.
|
||||
*
|
||||
* oob_irq_nr, oob_irq_flags: the OOB interrupt information. The values are
|
||||
* used for registering the irq using request_irq function.
|
||||
*
|
||||
* power_on: This function is called by the brcmfmac when the module gets
|
||||
* loaded. This can be particularly useful for low power devices. The platform
|
||||
* spcific routine may for example decide to power up the complete device.
|
||||
* If there is no use-case for this function then provide NULL.
|
||||
*
|
||||
* power_off: This function is called by the brcmfmac when the module gets
|
||||
* unloaded. At this point the device can be powered down or otherwise be reset.
|
||||
* So if an actual power_off is not supported but reset is then reset the device
|
||||
* when this function gets called. This can be particularly useful for low power
|
||||
* devices. If there is no use-case for this function (either power-down or
|
||||
* reset) then provide NULL.
|
||||
*
|
||||
* reset: This function can get called if the device communication broke down.
|
||||
* This functionality is particularly useful in case of SDIO type devices. It is
|
||||
* possible to reset a dongle via sdio data interface, but it requires that
|
||||
* this is fully functional. This function is chip/module specific and this
|
||||
* function should return only after the complete reset has completed.
|
||||
*/
|
||||
|
||||
#define BRCMFMAC_SDIO_PDATA_NAME "brcmfmac_sdio"
|
||||
|
||||
struct brcmfmac_sdio_platform_data {
|
||||
unsigned int drive_strength;
|
||||
bool oob_irq_supported;
|
||||
unsigned int oob_irq_nr;
|
||||
unsigned long oob_irq_flags;
|
||||
void (*power_on)(void);
|
||||
void (*power_off)(void);
|
||||
void (*reset)(void);
|
||||
};
|
||||
|
||||
#endif /* _LINUX_BRCMFMAC_PLATFORM_H */
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Intel Low Power Subsystem clocks.
|
||||
*
|
||||
* Copyright (C) 2013, Intel Corporation
|
||||
* Authors: Mika Westerberg <mika.westerberg@linux.intel.com>
|
||||
* Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __CLK_LPSS_H
|
||||
#define __CLK_LPSS_H
|
||||
|
||||
struct lpss_clk_data {
|
||||
const char *name;
|
||||
struct clk *clk;
|
||||
};
|
||||
|
||||
extern int lpt_clk_init(void);
|
||||
|
||||
#endif /* __CLK_LPSS_H */
|
||||
@@ -10,7 +10,8 @@
|
||||
#ifndef __CLK_UX500_H
|
||||
#define __CLK_UX500_H
|
||||
|
||||
void u8500_clk_init(void);
|
||||
void u8500_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base,
|
||||
u32 clkrst5_base, u32 clkrst6_base);
|
||||
void u9540_clk_init(void);
|
||||
void u8540_clk_init(void);
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Philipp Zabel, Pengutronix
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
#ifndef PLATFORM_CODA_H
|
||||
#define PLATFORM_CODA_H
|
||||
|
||||
struct device;
|
||||
|
||||
struct coda_platform_data {
|
||||
struct device *iram_dev;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -30,7 +30,7 @@ struct cpsw_platform_data {
|
||||
u32 channels; /* number of cpdma channels (symmetric) */
|
||||
u32 slaves; /* number of slave cpgmac ports */
|
||||
struct cpsw_slave_data *slave_data;
|
||||
u32 cpts_active_slave; /* time stamping slave */
|
||||
u32 active_slave; /* time stamping, ethtool and SIOCGMIIPHY slave */
|
||||
u32 cpts_clock_mult; /* convert input clock ticks to nanoseconds */
|
||||
u32 cpts_clock_shift; /* convert input clock ticks to nanoseconds */
|
||||
u32 ale_entries; /* ale table size */
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef __LINUX_CRYPTO_ATMEL_H
|
||||
#define __LINUX_CRYPTO_ATMEL_H
|
||||
|
||||
#include <linux/platform_data/dma-atmel.h>
|
||||
|
||||
/**
|
||||
* struct crypto_dma_data - DMA data for AES/TDES/SHA
|
||||
*/
|
||||
struct crypto_dma_data {
|
||||
struct at_dma_slave txdata;
|
||||
struct at_dma_slave rxdata;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct crypto_platform_data - board-specific AES/TDES/SHA configuration
|
||||
* @dma_slave: DMA slave interface to use in data transfers.
|
||||
*/
|
||||
struct crypto_platform_data {
|
||||
struct crypto_dma_data *dma_slave;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_CRYPTO_ATMEL_H */
|
||||
@@ -41,7 +41,3 @@ enum dwc3_omap_utmi_mode {
|
||||
DWC3_OMAP_UTMI_MODE_HW,
|
||||
DWC3_OMAP_UTMI_MODE_SW,
|
||||
};
|
||||
|
||||
struct dwc3_omap_data {
|
||||
enum dwc3_omap_utmi_mode utmi_mode;
|
||||
};
|
||||
|
||||
@@ -50,5 +50,5 @@ struct elm_errorvec {
|
||||
|
||||
void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc,
|
||||
struct elm_errorvec *err_vec);
|
||||
void elm_config(struct device *dev, enum bch_ecc bch_type);
|
||||
int elm_config(struct device *dev, enum bch_ecc bch_type);
|
||||
#endif /* __ELM_H */
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
/* Custom config requests */
|
||||
#define EMIF_CUSTOM_CONFIG_LPMODE 0x00000001
|
||||
#define EMIF_CUSTOM_CONFIG_TEMP_ALERT_POLL_INTERVAL 0x00000002
|
||||
#define EMIF_CUSTOM_CONFIG_EXTENDED_TEMP_PART 0x00000004
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Renesas R-Car GPIO Support
|
||||
*
|
||||
* Copyright (C) 2013 Magnus Damm
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef __GPIO_RCAR_H__
|
||||
#define __GPIO_RCAR_H__
|
||||
|
||||
struct gpio_rcar_config {
|
||||
unsigned int gpio_base;
|
||||
unsigned int irq_base;
|
||||
unsigned int number_of_pins;
|
||||
const char *pctl_name;
|
||||
};
|
||||
|
||||
#endif /* __GPIO_RCAR_H__ */
|
||||
@@ -1,41 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
#include <linux/errno.h>
|
||||
|
||||
#ifdef CONFIG_IRAM_ALLOC
|
||||
|
||||
int __init iram_init(unsigned long base, unsigned long size);
|
||||
void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr);
|
||||
void iram_free(unsigned long dma_addr, unsigned int size);
|
||||
|
||||
#else
|
||||
|
||||
static inline int __init iram_init(unsigned long base, unsigned long size)
|
||||
{
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static inline void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void iram_free(unsigned long base, unsigned long size) {}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Renesas INTC External IRQ Pin Driver
|
||||
*
|
||||
* Copyright (C) 2013 Magnus Damm
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __IRQ_RENESAS_INTC_IRQPIN_H__
|
||||
#define __IRQ_RENESAS_INTC_IRQPIN_H__
|
||||
|
||||
struct renesas_intc_irqpin_config {
|
||||
unsigned int sense_bitfield_width;
|
||||
unsigned int irq_base;
|
||||
bool control_parent;
|
||||
};
|
||||
|
||||
#endif /* __IRQ_RENESAS_INTC_IRQPIN_H__ */
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Renesas IRQC Driver
|
||||
*
|
||||
* Copyright (C) 2013 Magnus Damm
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __IRQ_RENESAS_IRQC_H__
|
||||
#define __IRQ_RENESAS_IRQC_H__
|
||||
|
||||
struct renesas_irqc_config {
|
||||
unsigned int irq_base;
|
||||
};
|
||||
|
||||
#endif /* __IRQ_RENESAS_IRQC_H__ */
|
||||
@@ -20,18 +20,6 @@
|
||||
#define LP55XX_CLOCK_INT 1
|
||||
#define LP55XX_CLOCK_EXT 2
|
||||
|
||||
/* Bits in LP5521 CONFIG register. 'update_config' in lp55xx_platform_data */
|
||||
#define LP5521_PWM_HF 0x40 /* PWM: 0 = 256Hz, 1 = 558Hz */
|
||||
#define LP5521_PWRSAVE_EN 0x20 /* 1 = Power save mode */
|
||||
#define LP5521_CP_MODE_OFF 0 /* Charge pump (CP) off */
|
||||
#define LP5521_CP_MODE_BYPASS 8 /* CP forced to bypass mode */
|
||||
#define LP5521_CP_MODE_1X5 0x10 /* CP forced to 1.5x mode */
|
||||
#define LP5521_CP_MODE_AUTO 0x18 /* Automatic mode selection */
|
||||
#define LP5521_R_TO_BATT 4 /* R out: 0 = CP, 1 = Vbat */
|
||||
#define LP5521_CLK_SRC_EXT 0 /* Ext-clk source (CLK_32K) */
|
||||
#define LP5521_CLK_INT 1 /* Internal clock */
|
||||
#define LP5521_CLK_AUTO 2 /* Automatic clock selection */
|
||||
|
||||
struct lp55xx_led_config {
|
||||
const char *name;
|
||||
u8 chan_nr;
|
||||
@@ -40,9 +28,9 @@ struct lp55xx_led_config {
|
||||
};
|
||||
|
||||
struct lp55xx_predef_pattern {
|
||||
u8 *r;
|
||||
u8 *g;
|
||||
u8 *b;
|
||||
const u8 *r;
|
||||
const u8 *g;
|
||||
const u8 *b;
|
||||
u8 size_r;
|
||||
u8 size_g;
|
||||
u8 size_b;
|
||||
@@ -79,9 +67,6 @@ struct lp55xx_platform_data {
|
||||
/* Predefined pattern data */
|
||||
struct lp55xx_predef_pattern *patterns;
|
||||
unsigned int num_patterns;
|
||||
|
||||
/* _CONFIG register */
|
||||
u8 update_config;
|
||||
};
|
||||
|
||||
#endif /* _LEDS_LP55XX_H */
|
||||
|
||||
@@ -69,11 +69,6 @@ enum lp855x_chip_id {
|
||||
LP8557,
|
||||
};
|
||||
|
||||
enum lp855x_brightness_ctrl_mode {
|
||||
PWM_BASED = 1,
|
||||
REGISTER_BASED,
|
||||
};
|
||||
|
||||
enum lp8550_brighntess_source {
|
||||
LP8550_PWM_ONLY,
|
||||
LP8550_I2C_ONLY = 2,
|
||||
@@ -116,24 +111,18 @@ struct lp855x_rom_data {
|
||||
/**
|
||||
* struct lp855x_platform_data
|
||||
* @name : Backlight driver name. If it is not defined, default name is set.
|
||||
* @mode : brightness control by pwm or lp855x register
|
||||
* @device_control : value of DEVICE CONTROL register
|
||||
* @initial_brightness : initial value of backlight brightness
|
||||
* @period_ns : platform specific pwm period value. unit is nano.
|
||||
Only valid when mode is PWM_BASED.
|
||||
* @load_new_rom_data :
|
||||
0 : use default configuration data
|
||||
1 : update values of eeprom or eprom registers on loading driver
|
||||
* @size_program : total size of lp855x_rom_data
|
||||
* @rom_data : list of new eeprom/eprom registers
|
||||
*/
|
||||
struct lp855x_platform_data {
|
||||
char *name;
|
||||
enum lp855x_brightness_ctrl_mode mode;
|
||||
const char *name;
|
||||
u8 device_control;
|
||||
int initial_brightness;
|
||||
u8 initial_brightness;
|
||||
unsigned int period_ns;
|
||||
u8 load_new_rom_data;
|
||||
int size_program;
|
||||
struct lp855x_rom_data *rom_data;
|
||||
};
|
||||
|
||||
@@ -23,9 +23,6 @@ struct davinci_mmc_config {
|
||||
/* any additional host capabilities: OR'd in to mmc->f_caps */
|
||||
u32 caps;
|
||||
|
||||
/* Version of the MMC/SD controller */
|
||||
u8 version;
|
||||
|
||||
/* Number of sg segments */
|
||||
u8 nr_sg;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
#ifndef __PLATFORM_DATA_SDHCI_S3C_H
|
||||
#define __PLATFORM_DATA_SDHCI_S3C_H
|
||||
|
||||
struct platform_device;
|
||||
|
||||
enum cd_types {
|
||||
S3C_SDHCI_CD_INTERNAL, /* use mmc internal CD line */
|
||||
S3C_SDHCI_CD_EXTERNAL, /* use external callback */
|
||||
S3C_SDHCI_CD_GPIO, /* use external gpio pin for CD line */
|
||||
S3C_SDHCI_CD_NONE, /* no CD line, use polling to detect card */
|
||||
S3C_SDHCI_CD_PERMANENT, /* no CD line, card permanently wired to host */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI
|
||||
* @max_width: The maximum number of data bits supported.
|
||||
* @host_caps: Standard MMC host capabilities bit field.
|
||||
* @host_caps2: The second standard MMC host capabilities bit field.
|
||||
* @cd_type: Type of Card Detection method (see cd_types enum above)
|
||||
* @ext_cd_init: Initialize external card detect subsystem. Called on
|
||||
* sdhci-s3c driver probe when cd_type == S3C_SDHCI_CD_EXTERNAL.
|
||||
* notify_func argument is a callback to the sdhci-s3c driver
|
||||
* that triggers the card detection event. Callback arguments:
|
||||
* dev is pointer to platform device of the host controller,
|
||||
* state is new state of the card (0 - removed, 1 - inserted).
|
||||
* @ext_cd_cleanup: Cleanup external card detect subsystem. Called on
|
||||
* sdhci-s3c driver remove when cd_type == S3C_SDHCI_CD_EXTERNAL.
|
||||
* notify_func argument is the same callback as for ext_cd_init.
|
||||
* @ext_cd_gpio: gpio pin used for external CD line, valid only if
|
||||
* cd_type == S3C_SDHCI_CD_GPIO
|
||||
* @ext_cd_gpio_invert: invert values for external CD gpio line
|
||||
* @cfg_gpio: Configure the GPIO for a specific card bit-width
|
||||
*
|
||||
* Initialisation data specific to either the machine or the platform
|
||||
* for the device driver to use or call-back when configuring gpio or
|
||||
* card speed information.
|
||||
*/
|
||||
struct s3c_sdhci_platdata {
|
||||
unsigned int max_width;
|
||||
unsigned int host_caps;
|
||||
unsigned int host_caps2;
|
||||
unsigned int pm_caps;
|
||||
enum cd_types cd_type;
|
||||
|
||||
int ext_cd_gpio;
|
||||
bool ext_cd_gpio_invert;
|
||||
int (*ext_cd_init)(void (*notify_func)(struct platform_device *,
|
||||
int state));
|
||||
int (*ext_cd_cleanup)(void (*notify_func)(struct platform_device *,
|
||||
int state));
|
||||
|
||||
void (*cfg_gpio)(struct platform_device *dev, int width);
|
||||
};
|
||||
|
||||
|
||||
#endif /* __PLATFORM_DATA_SDHCI_S3C_H */
|
||||
@@ -34,8 +34,6 @@ struct mv_usb_addon_irq {
|
||||
};
|
||||
|
||||
struct mv_usb_platform_data {
|
||||
unsigned int clknum;
|
||||
char **clkname;
|
||||
struct mv_usb_addon_irq *id; /* Only valid for OTG. ID pin change*/
|
||||
struct mv_usb_addon_irq *vbus; /* valid for OTG/UDC. VBUS change*/
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
#ifndef _LINUX_NTC_H
|
||||
#define _LINUX_NTC_H
|
||||
|
||||
struct iio_channel;
|
||||
|
||||
enum ntc_thermistor_type {
|
||||
TYPE_NCPXXWB473,
|
||||
TYPE_NCPXXWL333,
|
||||
@@ -39,13 +41,17 @@ struct ntc_thermistor_platform_data {
|
||||
* described at Documentation/hwmon/ntc_thermistor
|
||||
*
|
||||
* pullup/down_ohm: 0 for infinite / not-connected
|
||||
*
|
||||
* chan: iio_channel pointer to communicate with the ADC which the
|
||||
* thermistor is using for conversion of the analog values.
|
||||
*/
|
||||
int (*read_uV)(void);
|
||||
unsigned int pullup_uV;
|
||||
int (*read_uv)(struct ntc_thermistor_platform_data *);
|
||||
unsigned int pullup_uv;
|
||||
|
||||
unsigned int pullup_ohm;
|
||||
unsigned int pulldown_ohm;
|
||||
enum { NTC_CONNECTED_POSITIVE, NTC_CONNECTED_GROUND } connect;
|
||||
struct iio_channel *chan;
|
||||
|
||||
int (*read_ohm)(void);
|
||||
};
|
||||
|
||||
@@ -43,8 +43,6 @@ struct omap_uart_port_info {
|
||||
int DTR_present;
|
||||
|
||||
int (*get_context_loss_count)(struct device *);
|
||||
void (*set_forceidle)(struct device *);
|
||||
void (*set_noidle)(struct device *);
|
||||
void (*enable_wakeup)(struct device *, bool);
|
||||
};
|
||||
|
||||
|
||||
@@ -86,10 +86,6 @@ struct sccnxp_pdata {
|
||||
const u32 mctrl_cfg[SCCNXP_MAX_UARTS];
|
||||
/* Timer value for polling mode (usecs) */
|
||||
const unsigned int poll_time_us;
|
||||
/* Called during startup */
|
||||
void (*init)(void);
|
||||
/* Called before finish */
|
||||
void (*exit)(void);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
* Si5351A/B/C programmable clock generator platform_data.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_PLATFORM_DATA_SI5351_H__
|
||||
#define __LINUX_PLATFORM_DATA_SI5351_H__
|
||||
|
||||
struct clk;
|
||||
|
||||
/**
|
||||
* enum si5351_variant - SiLabs Si5351 chip variant
|
||||
* @SI5351_VARIANT_A: Si5351A (8 output clocks, XTAL input)
|
||||
* @SI5351_VARIANT_A3: Si5351A MSOP10 (3 output clocks, XTAL input)
|
||||
* @SI5351_VARIANT_B: Si5351B (8 output clocks, XTAL/VXCO input)
|
||||
* @SI5351_VARIANT_C: Si5351C (8 output clocks, XTAL/CLKIN input)
|
||||
*/
|
||||
enum si5351_variant {
|
||||
SI5351_VARIANT_A = 1,
|
||||
SI5351_VARIANT_A3 = 2,
|
||||
SI5351_VARIANT_B = 3,
|
||||
SI5351_VARIANT_C = 4,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum si5351_pll_src - Si5351 pll clock source
|
||||
* @SI5351_PLL_SRC_DEFAULT: default, do not change eeprom config
|
||||
* @SI5351_PLL_SRC_XTAL: pll source clock is XTAL input
|
||||
* @SI5351_PLL_SRC_CLKIN: pll source clock is CLKIN input (Si5351C only)
|
||||
*/
|
||||
enum si5351_pll_src {
|
||||
SI5351_PLL_SRC_DEFAULT = 0,
|
||||
SI5351_PLL_SRC_XTAL = 1,
|
||||
SI5351_PLL_SRC_CLKIN = 2,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum si5351_multisynth_src - Si5351 multisynth clock source
|
||||
* @SI5351_MULTISYNTH_SRC_DEFAULT: default, do not change eeprom config
|
||||
* @SI5351_MULTISYNTH_SRC_VCO0: multisynth source clock is VCO0
|
||||
* @SI5351_MULTISYNTH_SRC_VCO1: multisynth source clock is VCO1/VXCO
|
||||
*/
|
||||
enum si5351_multisynth_src {
|
||||
SI5351_MULTISYNTH_SRC_DEFAULT = 0,
|
||||
SI5351_MULTISYNTH_SRC_VCO0 = 1,
|
||||
SI5351_MULTISYNTH_SRC_VCO1 = 2,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum si5351_clkout_src - Si5351 clock output clock source
|
||||
* @SI5351_CLKOUT_SRC_DEFAULT: default, do not change eeprom config
|
||||
* @SI5351_CLKOUT_SRC_MSYNTH_N: clkout N source clock is multisynth N
|
||||
* @SI5351_CLKOUT_SRC_MSYNTH_0_4: clkout N source clock is multisynth 0 (N<4)
|
||||
* or 4 (N>=4)
|
||||
* @SI5351_CLKOUT_SRC_XTAL: clkout N source clock is XTAL
|
||||
* @SI5351_CLKOUT_SRC_CLKIN: clkout N source clock is CLKIN (Si5351C only)
|
||||
*/
|
||||
enum si5351_clkout_src {
|
||||
SI5351_CLKOUT_SRC_DEFAULT = 0,
|
||||
SI5351_CLKOUT_SRC_MSYNTH_N = 1,
|
||||
SI5351_CLKOUT_SRC_MSYNTH_0_4 = 2,
|
||||
SI5351_CLKOUT_SRC_XTAL = 3,
|
||||
SI5351_CLKOUT_SRC_CLKIN = 4,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum si5351_drive_strength - Si5351 clock output drive strength
|
||||
* @SI5351_DRIVE_DEFAULT: default, do not change eeprom config
|
||||
* @SI5351_DRIVE_2MA: 2mA clock output drive strength
|
||||
* @SI5351_DRIVE_4MA: 4mA clock output drive strength
|
||||
* @SI5351_DRIVE_6MA: 6mA clock output drive strength
|
||||
* @SI5351_DRIVE_8MA: 8mA clock output drive strength
|
||||
*/
|
||||
enum si5351_drive_strength {
|
||||
SI5351_DRIVE_DEFAULT = 0,
|
||||
SI5351_DRIVE_2MA = 2,
|
||||
SI5351_DRIVE_4MA = 4,
|
||||
SI5351_DRIVE_6MA = 6,
|
||||
SI5351_DRIVE_8MA = 8,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct si5351_clkout_config - Si5351 clock output configuration
|
||||
* @clkout: clkout number
|
||||
* @multisynth_src: multisynth source clock
|
||||
* @clkout_src: clkout source clock
|
||||
* @pll_master: if true, clkout can also change pll rate
|
||||
* @drive: output drive strength
|
||||
* @rate: initial clkout rate, or default if 0
|
||||
*/
|
||||
struct si5351_clkout_config {
|
||||
enum si5351_multisynth_src multisynth_src;
|
||||
enum si5351_clkout_src clkout_src;
|
||||
enum si5351_drive_strength drive;
|
||||
bool pll_master;
|
||||
unsigned long rate;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct si5351_platform_data - Platform data for the Si5351 clock driver
|
||||
* @variant: Si5351 chip variant
|
||||
* @clk_xtal: xtal input clock
|
||||
* @clk_clkin: clkin input clock
|
||||
* @pll_src: array of pll source clock setting
|
||||
* @clkout: array of clkout configuration
|
||||
*/
|
||||
struct si5351_platform_data {
|
||||
enum si5351_variant variant;
|
||||
struct clk *clk_xtal;
|
||||
struct clk *clk_clkin;
|
||||
enum si5351_pll_src pll_src[2];
|
||||
struct si5351_clkout_config clkout[8];
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -11,6 +11,8 @@
|
||||
#ifndef __S3C64XX_PLAT_SPI_H
|
||||
#define __S3C64XX_PLAT_SPI_H
|
||||
|
||||
#include <linux/dmaengine.h>
|
||||
|
||||
struct platform_device;
|
||||
|
||||
/**
|
||||
@@ -38,6 +40,7 @@ struct s3c64xx_spi_info {
|
||||
int src_clk_nr;
|
||||
int num_cs;
|
||||
int (*cfg_gpio)(void);
|
||||
dma_filter_fn filter;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* VT8500/WM8505 Frame Buffer platform data definitions
|
||||
*
|
||||
* Copyright (C) 2010 Ed Spiridonov <edo.rus@gmail.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _VT8500FB_H
|
||||
#define _VT8500FB_H
|
||||
|
||||
#include <linux/fb.h>
|
||||
|
||||
struct vt8500fb_platform_data {
|
||||
struct fb_videomode mode;
|
||||
u32 xres_virtual;
|
||||
u32 yres_virtual;
|
||||
u32 bpp;
|
||||
unsigned long video_mem_phys;
|
||||
void *video_mem_virt;
|
||||
unsigned long video_mem_len;
|
||||
};
|
||||
|
||||
#endif /* _VT8500FB_H */
|
||||
@@ -0,0 +1,54 @@
|
||||
#ifndef __PLATFORM_DATA_VIDEO_S3C
|
||||
#define __PLATFORM_DATA_VIDEO_S3C
|
||||
|
||||
/* S3C_FB_MAX_WIN
|
||||
* Set to the maximum number of windows that any of the supported hardware
|
||||
* can use. Since the platform data uses this for an array size, having it
|
||||
* set to the maximum of any version of the hardware can do is safe.
|
||||
*/
|
||||
#define S3C_FB_MAX_WIN (5)
|
||||
|
||||
/**
|
||||
* struct s3c_fb_pd_win - per window setup data
|
||||
* @xres : The window X size.
|
||||
* @yres : The window Y size.
|
||||
* @virtual_x: The virtual X size.
|
||||
* @virtual_y: The virtual Y size.
|
||||
*/
|
||||
struct s3c_fb_pd_win {
|
||||
unsigned short default_bpp;
|
||||
unsigned short max_bpp;
|
||||
unsigned short xres;
|
||||
unsigned short yres;
|
||||
unsigned short virtual_x;
|
||||
unsigned short virtual_y;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct s3c_fb_platdata - S3C driver platform specific information
|
||||
* @setup_gpio: Setup the external GPIO pins to the right state to transfer
|
||||
* the data from the display system to the connected display
|
||||
* device.
|
||||
* @vidcon0: The base vidcon0 values to control the panel data format.
|
||||
* @vidcon1: The base vidcon1 values to control the panel data output.
|
||||
* @vtiming: Video timing when connected to a RGB type panel.
|
||||
* @win: The setup data for each hardware window, or NULL for unused.
|
||||
* @display_mode: The LCD output display mode.
|
||||
*
|
||||
* The platform data supplies the video driver with all the information
|
||||
* it requires to work with the display(s) attached to the machine. It
|
||||
* controls the initial mode, the number of display windows (0 is always
|
||||
* the base framebuffer) that are initialised etc.
|
||||
*
|
||||
*/
|
||||
struct s3c_fb_platdata {
|
||||
void (*setup_gpio)(void);
|
||||
|
||||
struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
|
||||
struct fb_videomode *vtiming;
|
||||
|
||||
u32 vidcon0;
|
||||
u32 vidcon1;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user