diff options
Diffstat (limited to 'include/linux/platform_data')
| -rw-r--r-- | include/linux/platform_data/clk-lpss.h | 18 | ||||
| -rw-r--r-- | include/linux/platform_data/coda.h | 18 | ||||
| -rw-r--r-- | include/linux/platform_data/dwc3-omap.h | 4 | ||||
| -rw-r--r-- | include/linux/platform_data/emif_plat.h | 1 | ||||
| -rw-r--r-- | include/linux/platform_data/lp855x.h | 15 | ||||
| -rw-r--r-- | include/linux/platform_data/mv_usb.h | 2 | ||||
| -rw-r--r-- | include/linux/platform_data/ntc_thermistor.h | 10 | ||||
| -rw-r--r-- | include/linux/platform_data/serial-sccnxp.h | 4 | ||||
| -rw-r--r-- | include/linux/platform_data/si5351.h | 114 | ||||
| -rw-r--r-- | include/linux/platform_data/spi-s3c64xx.h | 3 | ||||
| -rw-r--r-- | include/linux/platform_data/st1232_pdata.h | 13 | ||||
| -rw-r--r-- | include/linux/platform_data/video-vt8500lcdfb.h | 31 | ||||
| -rw-r--r-- | include/linux/platform_data/video_s3c.h | 54 | 
13 files changed, 231 insertions, 56 deletions
diff --git a/include/linux/platform_data/clk-lpss.h b/include/linux/platform_data/clk-lpss.h new file mode 100644 index 00000000000..528e73ce46d --- /dev/null +++ b/include/linux/platform_data/clk-lpss.h @@ -0,0 +1,18 @@ +/* + * 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 + +extern int lpt_clk_init(void); + +#endif /* __CLK_LPSS_H */ diff --git a/include/linux/platform_data/coda.h b/include/linux/platform_data/coda.h new file mode 100644 index 00000000000..6ad4410d9e2 --- /dev/null +++ b/include/linux/platform_data/coda.h @@ -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 diff --git a/include/linux/platform_data/dwc3-omap.h b/include/linux/platform_data/dwc3-omap.h index ada401244e0..1d36ca874cc 100644 --- a/include/linux/platform_data/dwc3-omap.h +++ b/include/linux/platform_data/dwc3-omap.h @@ -41,7 +41,3 @@ enum dwc3_omap_utmi_mode {  	DWC3_OMAP_UTMI_MODE_HW,  	DWC3_OMAP_UTMI_MODE_SW,  }; - -struct dwc3_omap_data { -	enum dwc3_omap_utmi_mode	utmi_mode; -}; diff --git a/include/linux/platform_data/emif_plat.h b/include/linux/platform_data/emif_plat.h index 03378ca8406..5c19a2a647c 100644 --- a/include/linux/platform_data/emif_plat.h +++ b/include/linux/platform_data/emif_plat.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__  /** diff --git a/include/linux/platform_data/lp855x.h b/include/linux/platform_data/lp855x.h index 20ee8b221db..ea3200527dd 100644 --- a/include/linux/platform_data/lp855x.h +++ b/include/linux/platform_data/lp855x.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;  }; diff --git a/include/linux/platform_data/mv_usb.h b/include/linux/platform_data/mv_usb.h index 944b01dd103..98b7925f1a2 100644 --- a/include/linux/platform_data/mv_usb.h +++ b/include/linux/platform_data/mv_usb.h @@ -34,8 +34,6 @@ struct mv_usb_addon_irq {  };  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*/ diff --git a/include/linux/platform_data/ntc_thermistor.h b/include/linux/platform_data/ntc_thermistor.h index 88734e871e3..c7285b57546 100644 --- a/include/linux/platform_data/ntc_thermistor.h +++ b/include/linux/platform_data/ntc_thermistor.h @@ -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);  }; diff --git a/include/linux/platform_data/serial-sccnxp.h b/include/linux/platform_data/serial-sccnxp.h index 215574d1e81..bdc510d0324 100644 --- a/include/linux/platform_data/serial-sccnxp.h +++ b/include/linux/platform_data/serial-sccnxp.h @@ -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 diff --git a/include/linux/platform_data/si5351.h b/include/linux/platform_data/si5351.h new file mode 100644 index 00000000000..92dabcaf649 --- /dev/null +++ b/include/linux/platform_data/si5351.h @@ -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 diff --git a/include/linux/platform_data/spi-s3c64xx.h b/include/linux/platform_data/spi-s3c64xx.h index ceba18d23a5..8447f634c7f 100644 --- a/include/linux/platform_data/spi-s3c64xx.h +++ b/include/linux/platform_data/spi-s3c64xx.h @@ -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;  };  /** diff --git a/include/linux/platform_data/st1232_pdata.h b/include/linux/platform_data/st1232_pdata.h new file mode 100644 index 00000000000..cac3e7b4c45 --- /dev/null +++ b/include/linux/platform_data/st1232_pdata.h @@ -0,0 +1,13 @@ +#ifndef _LINUX_ST1232_PDATA_H +#define _LINUX_ST1232_PDATA_H + +/* + * Optional platform data + * + * Use this if you want the driver to drive the reset pin. + */ +struct st1232_pdata { +	int reset_gpio; +}; + +#endif diff --git a/include/linux/platform_data/video-vt8500lcdfb.h b/include/linux/platform_data/video-vt8500lcdfb.h deleted file mode 100644 index 7f399c370fe..00000000000 --- a/include/linux/platform_data/video-vt8500lcdfb.h +++ /dev/null @@ -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 */ diff --git a/include/linux/platform_data/video_s3c.h b/include/linux/platform_data/video_s3c.h new file mode 100644 index 00000000000..48883995f47 --- /dev/null +++ b/include/linux/platform_data/video_s3c.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  |