ARM: samsung: move platform_data definitions
Platform data for device drivers should be defined in include/linux/platform_data/*.h, not in the architecture and platform specific directories. This moves such data out of the samsung include directories Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: "Wolfram Sang (embedded platforms)" <w.sang@pengutronix.de> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Bryan Wu <bryan.wu@canonical.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com> Cc: Chris Ball <cjb@laptop.org> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Felipe Balbi <balbi@ti.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Sangbeom Kim <sbkim73@samsung.com> Cc: Liam Girdwood <lrg@ti.com> Cc: linux-samsung-soc@vger.kernel.org
This commit is contained in:
parent
c02cecb92e
commit
436d42c61c
107 changed files with 164 additions and 164 deletions
59
include/linux/platform_data/asoc-s3c.h
Normal file
59
include/linux/platform_data/asoc-s3c.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
/* arch/arm/plat-samsung/include/plat/audio.h
|
||||
*
|
||||
* Copyright (c) 2009 Samsung Electronics Co. Ltd
|
||||
* Author: Jaswinder Singh <jassi.brar@samsung.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.
|
||||
*/
|
||||
|
||||
/* The machine init code calls s3c*_ac97_setup_gpio with
|
||||
* one of these defines in order to select appropriate bank
|
||||
* of GPIO for AC97 pins
|
||||
*/
|
||||
#define S3C64XX_AC97_GPD 0
|
||||
#define S3C64XX_AC97_GPE 1
|
||||
extern void s3c64xx_ac97_setup_gpio(int);
|
||||
|
||||
/*
|
||||
* The machine init code calls s5p*_spdif_setup_gpio with
|
||||
* one of these defines in order to select appropriate bank
|
||||
* of GPIO for S/PDIF pins
|
||||
*/
|
||||
#define S5PC100_SPDIF_GPD 0
|
||||
#define S5PC100_SPDIF_GPG3 1
|
||||
extern void s5pc100_spdif_setup_gpio(int);
|
||||
|
||||
struct samsung_i2s {
|
||||
/* If the Primary DAI has 5.1 Channels */
|
||||
#define QUIRK_PRI_6CHAN (1 << 0)
|
||||
/* If the I2S block has a Stereo Overlay Channel */
|
||||
#define QUIRK_SEC_DAI (1 << 1)
|
||||
/*
|
||||
* If the I2S block has no internal prescalar or MUX (I2SMOD[10] bit)
|
||||
* The Machine driver must provide suitably set clock to the I2S block.
|
||||
*/
|
||||
#define QUIRK_NO_MUXPSR (1 << 2)
|
||||
#define QUIRK_NEED_RSTCLR (1 << 3)
|
||||
/* Quirks of the I2S controller */
|
||||
u32 quirks;
|
||||
|
||||
/*
|
||||
* Array of clock names that can be used to generate I2S signals.
|
||||
* Also corresponds to clocks of I2SMOD[10]
|
||||
*/
|
||||
const char **src_clk;
|
||||
dma_addr_t idma_addr;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct s3c_audio_pdata - common platform data for audio device drivers
|
||||
* @cfg_gpio: Callback function to setup mux'ed pins in I2S/PCM/AC97 mode
|
||||
*/
|
||||
struct s3c_audio_pdata {
|
||||
int (*cfg_gpio)(struct platform_device *);
|
||||
union {
|
||||
struct samsung_i2s i2s;
|
||||
} type;
|
||||
};
|
34
include/linux/platform_data/asoc-s3c24xx_simtec.h
Normal file
34
include/linux/platform_data/asoc-s3c24xx_simtec.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/* arch/arm/plat-samsung/include/plat/audio-simtec.h
|
||||
*
|
||||
* Copyright 2008 Simtec Electronics
|
||||
* http://armlinux.simtec.co.uk/
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Simtec Audio support.
|
||||
*/
|
||||
|
||||
/**
|
||||
* struct s3c24xx_audio_simtec_pdata - platform data for simtec audio
|
||||
* @use_mpllin: Select codec clock from MPLLin
|
||||
* @output_cdclk: Need to output CDCLK to the codec
|
||||
* @have_mic: Set if we have a MIC socket
|
||||
* @have_lout: Set if we have a LineOut socket
|
||||
* @amp_gpio: GPIO pin to enable the AMP
|
||||
* @amp_gain: Option GPIO to control AMP gain
|
||||
*/
|
||||
struct s3c24xx_audio_simtec_pdata {
|
||||
unsigned int use_mpllin:1;
|
||||
unsigned int output_cdclk:1;
|
||||
|
||||
unsigned int have_mic:1;
|
||||
unsigned int have_lout:1;
|
||||
|
||||
int amp_gpio;
|
||||
int amp_gain[2];
|
||||
|
||||
void (*startup)(void);
|
||||
};
|
36
include/linux/platform_data/ata-samsung_cf.h
Normal file
36
include/linux/platform_data/ata-samsung_cf.h
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* linux/arch/arm/plat-samsung/include/plat/ata.h
|
||||
*
|
||||
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* Samsung CF-ATA platform_device info
|
||||
*
|
||||
* 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 __ASM_PLAT_ATA_H
|
||||
#define __ASM_PLAT_ATA_H __FILE__
|
||||
|
||||
/**
|
||||
* struct s3c_ide_platdata - S3C IDE driver platform data.
|
||||
* @setup_gpio: Setup the external GPIO pins to the right state for data
|
||||
* transfer in true-ide mode.
|
||||
*/
|
||||
struct s3c_ide_platdata {
|
||||
void (*setup_gpio)(void);
|
||||
};
|
||||
|
||||
/*
|
||||
* s3c_ide_set_platdata() - Setup the platform specifc data for IDE driver.
|
||||
* @pdata: Platform data for IDE driver.
|
||||
*/
|
||||
extern void s3c_ide_set_platdata(struct s3c_ide_platdata *pdata);
|
||||
|
||||
/* architecture-specific IDE configuration */
|
||||
extern void s3c64xx_ide_setup_gpio(void);
|
||||
extern void s5pc100_ide_setup_gpio(void);
|
||||
extern void s5pv210_ide_setup_gpio(void);
|
||||
|
||||
#endif /*__ASM_PLAT_ATA_H */
|
51
include/linux/platform_data/hwmon-s3c.h
Normal file
51
include/linux/platform_data/hwmon-s3c.h
Normal file
|
@ -0,0 +1,51 @@
|
|||
/* linux/arch/arm/plat-s3c/include/plat/hwmon.h
|
||||
*
|
||||
* Copyright 2005 Simtec Electronics
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
* http://armlinux.simtec.co.uk/
|
||||
*
|
||||
* S3C - HWMon interface for ADC
|
||||
*
|
||||
* 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 __ASM_ARCH_ADC_HWMON_H
|
||||
#define __ASM_ARCH_ADC_HWMON_H __FILE__
|
||||
|
||||
/**
|
||||
* s3c_hwmon_chcfg - channel configuration
|
||||
* @name: The name to give this channel.
|
||||
* @mult: Multiply the ADC value read by this.
|
||||
* @div: Divide the value from the ADC by this.
|
||||
*
|
||||
* The value read from the ADC is converted to a value that
|
||||
* hwmon expects (mV) by result = (value_read * @mult) / @div.
|
||||
*/
|
||||
struct s3c_hwmon_chcfg {
|
||||
const char *name;
|
||||
unsigned int mult;
|
||||
unsigned int div;
|
||||
};
|
||||
|
||||
/**
|
||||
* s3c_hwmon_pdata - HWMON platform data
|
||||
* @in: One configuration for each possible channel used.
|
||||
*/
|
||||
struct s3c_hwmon_pdata {
|
||||
struct s3c_hwmon_chcfg *in[8];
|
||||
};
|
||||
|
||||
/**
|
||||
* s3c_hwmon_set_platdata - Set platform data for S3C HWMON device
|
||||
* @pd: Platform data to register to device.
|
||||
*
|
||||
* Register the given platform data for use with the S3C HWMON device.
|
||||
* The call will copy the platform data, so the board definitions can
|
||||
* make the structure itself __initdata.
|
||||
*/
|
||||
extern void __init s3c_hwmon_set_platdata(struct s3c_hwmon_pdata *pd);
|
||||
|
||||
#endif /* __ASM_ARCH_ADC_HWMON_H */
|
||||
|
77
include/linux/platform_data/i2c-s3c2410.h
Normal file
77
include/linux/platform_data/i2c-s3c2410.h
Normal file
|
@ -0,0 +1,77 @@
|
|||
/* arch/arm/plat-s3c/include/plat/iic.h
|
||||
*
|
||||
* Copyright 2004-2009 Simtec Electronics
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* S3C - I2C Controller platform_device info
|
||||
*
|
||||
* 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 __ASM_ARCH_IIC_H
|
||||
#define __ASM_ARCH_IIC_H __FILE__
|
||||
|
||||
#define S3C_IICFLG_FILTER (1<<0) /* enable s3c2440 filter */
|
||||
|
||||
/**
|
||||
* struct s3c2410_platform_i2c - Platform data for s3c I2C.
|
||||
* @bus_num: The bus number to use (if possible).
|
||||
* @flags: Any flags for the I2C bus (E.g. S3C_IICFLK_FILTER).
|
||||
* @slave_addr: The I2C address for the slave device (if enabled).
|
||||
* @frequency: The desired frequency in Hz of the bus. This is
|
||||
* guaranteed to not be exceeded. If the caller does
|
||||
* not care, use zero and the driver will select a
|
||||
* useful default.
|
||||
* @sda_delay: The delay (in ns) applied to SDA edges.
|
||||
* @cfg_gpio: A callback to configure the pins for I2C operation.
|
||||
*/
|
||||
struct s3c2410_platform_i2c {
|
||||
int bus_num;
|
||||
unsigned int flags;
|
||||
unsigned int slave_addr;
|
||||
unsigned long frequency;
|
||||
unsigned int sda_delay;
|
||||
|
||||
void (*cfg_gpio)(struct platform_device *dev);
|
||||
};
|
||||
|
||||
/**
|
||||
* s3c_i2c0_set_platdata - set platform data for i2c0 device
|
||||
* @i2c: The platform data to set, or NULL for default data.
|
||||
*
|
||||
* Register the given platform data for use with the i2c0 device. This
|
||||
* call copies the platform data, so the caller can use __initdata for
|
||||
* their copy.
|
||||
*
|
||||
* This call will set cfg_gpio if is null to the default platform
|
||||
* implementation.
|
||||
*
|
||||
* Any user of s3c_device_i2c0 should call this, even if it is with
|
||||
* NULL to ensure that the device is given the default platform data
|
||||
* as the driver will no longer carry defaults.
|
||||
*/
|
||||
extern void s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s3c_i2c3_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s3c_i2c4_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s3c_i2c5_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s3c_i2c6_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s3c_i2c7_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
extern void s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *i2c);
|
||||
|
||||
/* defined by architecture to configure gpio */
|
||||
extern void s3c_i2c0_cfg_gpio(struct platform_device *dev);
|
||||
extern void s3c_i2c1_cfg_gpio(struct platform_device *dev);
|
||||
extern void s3c_i2c2_cfg_gpio(struct platform_device *dev);
|
||||
extern void s3c_i2c3_cfg_gpio(struct platform_device *dev);
|
||||
extern void s3c_i2c4_cfg_gpio(struct platform_device *dev);
|
||||
extern void s3c_i2c5_cfg_gpio(struct platform_device *dev);
|
||||
extern void s3c_i2c6_cfg_gpio(struct platform_device *dev);
|
||||
extern void s3c_i2c7_cfg_gpio(struct platform_device *dev);
|
||||
|
||||
extern struct s3c2410_platform_i2c default_i2c_data;
|
||||
|
||||
#endif /* __ASM_ARCH_IIC_H */
|
28
include/linux/platform_data/leds-s3c24xx.h
Normal file
28
include/linux/platform_data/leds-s3c24xx.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
/* arch/arm/mach-s3c2410/include/mach/leds-gpio.h
|
||||
*
|
||||
* Copyright (c) 2006 Simtec Electronics
|
||||
* http://armlinux.simtec.co.uk/
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* S3C24XX - LEDs GPIO connector
|
||||
*
|
||||
* 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 __ASM_ARCH_LEDSGPIO_H
|
||||
#define __ASM_ARCH_LEDSGPIO_H "leds-gpio.h"
|
||||
|
||||
#define S3C24XX_LEDF_ACTLOW (1<<0) /* LED is on when GPIO low */
|
||||
#define S3C24XX_LEDF_TRISTATE (1<<1) /* tristate to turn off */
|
||||
|
||||
struct s3c24xx_led_platdata {
|
||||
unsigned int gpio;
|
||||
unsigned int flags;
|
||||
|
||||
char *name;
|
||||
char *def_trigger;
|
||||
};
|
||||
|
||||
#endif /* __ASM_ARCH_LEDSGPIO_H */
|
43
include/linux/platform_data/mipi-csis.h
Normal file
43
include/linux/platform_data/mipi-csis.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright (C) 2010-2011 Samsung Electronics Co., Ltd.
|
||||
*
|
||||
* S5P series MIPI CSI slave device support
|
||||
*
|
||||
* 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 __PLAT_SAMSUNG_MIPI_CSIS_H_
|
||||
#define __PLAT_SAMSUNG_MIPI_CSIS_H_ __FILE__
|
||||
|
||||
struct platform_device;
|
||||
|
||||
/**
|
||||
* struct s5p_platform_mipi_csis - platform data for S5P MIPI-CSIS driver
|
||||
* @clk_rate: bus clock frequency
|
||||
* @lanes: number of data lanes used
|
||||
* @alignment: data alignment in bits
|
||||
* @hs_settle: HS-RX settle time
|
||||
* @fixed_phy_vdd: false to enable external D-PHY regulator management in the
|
||||
* driver or true in case this regulator has no enable function
|
||||
* @phy_enable: pointer to a callback controlling D-PHY enable/reset
|
||||
*/
|
||||
struct s5p_platform_mipi_csis {
|
||||
unsigned long clk_rate;
|
||||
u8 lanes;
|
||||
u8 alignment;
|
||||
u8 hs_settle;
|
||||
bool fixed_phy_vdd;
|
||||
int (*phy_enable)(struct platform_device *pdev, bool on);
|
||||
};
|
||||
|
||||
/**
|
||||
* s5p_csis_phy_enable - global MIPI-CSI receiver D-PHY control
|
||||
* @pdev: MIPI-CSIS platform device
|
||||
* @on: true to enable D-PHY and deassert its reset
|
||||
* false to disable D-PHY
|
||||
*/
|
||||
int s5p_csis_phy_enable(struct platform_device *pdev, bool on);
|
||||
|
||||
#endif /* __PLAT_SAMSUNG_MIPI_CSIS_H_ */
|
52
include/linux/platform_data/mmc-s3cmci.h
Normal file
52
include/linux/platform_data/mmc-s3cmci.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
#ifndef _ARCH_MCI_H
|
||||
#define _ARCH_MCI_H
|
||||
|
||||
/**
|
||||
* struct s3c24xx_mci_pdata - sd/mmc controller platform data
|
||||
* @no_wprotect: Set this to indicate there is no write-protect switch.
|
||||
* @no_detect: Set this if there is no detect switch.
|
||||
* @wprotect_invert: Invert the default sense of the write protect switch.
|
||||
* @detect_invert: Invert the default sense of the write protect switch.
|
||||
* @use_dma: Set to allow the use of DMA.
|
||||
* @gpio_detect: GPIO number for the card detect line.
|
||||
* @gpio_wprotect: GPIO number for the write protect line.
|
||||
* @ocr_avail: The mask of the available power states, non-zero to use.
|
||||
* @set_power: Callback to control the power mode.
|
||||
*
|
||||
* The @gpio_detect is used for card detection when @no_wprotect is unset,
|
||||
* and the default sense is that 0 returned from gpio_get_value() means
|
||||
* that a card is inserted. If @detect_invert is set, then the value from
|
||||
* gpio_get_value() is inverted, which makes 1 mean card inserted.
|
||||
*
|
||||
* The driver will use @gpio_wprotect to signal whether the card is write
|
||||
* protected if @no_wprotect is not set. A 0 returned from gpio_get_value()
|
||||
* means the card is read/write, and 1 means read-only. The @wprotect_invert
|
||||
* will invert the value returned from gpio_get_value().
|
||||
*
|
||||
* Card power is set by @ocr_availa, using MCC_VDD_ constants if it is set
|
||||
* to a non-zero value, otherwise the default of 3.2-3.4V is used.
|
||||
*/
|
||||
struct s3c24xx_mci_pdata {
|
||||
unsigned int no_wprotect:1;
|
||||
unsigned int no_detect:1;
|
||||
unsigned int wprotect_invert:1;
|
||||
unsigned int detect_invert:1; /* set => detect active high */
|
||||
unsigned int use_dma:1;
|
||||
|
||||
unsigned int gpio_detect;
|
||||
unsigned int gpio_wprotect;
|
||||
unsigned long ocr_avail;
|
||||
void (*set_power)(unsigned char power_mode,
|
||||
unsigned short vdd);
|
||||
};
|
||||
|
||||
/**
|
||||
* s3c24xx_mci_set_platdata - set platform data for mmc/sdi device
|
||||
* @pdata: The platform data
|
||||
*
|
||||
* Copy the platform data supplied by @pdata so that this can be marked
|
||||
* __initdata.
|
||||
*/
|
||||
extern void s3c24xx_mci_set_platdata(struct s3c24xx_mci_pdata *pdata);
|
||||
|
||||
#endif /* _ARCH_NCI_H */
|
67
include/linux/platform_data/mtd-nand-s3c2410.h
Normal file
67
include/linux/platform_data/mtd-nand-s3c2410.h
Normal file
|
@ -0,0 +1,67 @@
|
|||
/* arch/arm/mach-s3c2410/include/mach/nand.h
|
||||
*
|
||||
* Copyright (c) 2004 Simtec Electronics
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* S3C2410 - NAND device controller platform_device info
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* struct s3c2410_nand_set - define a set of one or more nand chips
|
||||
* @disable_ecc: Entirely disable ECC - Dangerous
|
||||
* @flash_bbt: Openmoko u-boot can create a Bad Block Table
|
||||
* Setting this flag will allow the kernel to
|
||||
* look for it at boot time and also skip the NAND
|
||||
* scan.
|
||||
* @options: Default value to set into 'struct nand_chip' options.
|
||||
* @nr_chips: Number of chips in this set
|
||||
* @nr_partitions: Number of partitions pointed to by @partitions
|
||||
* @name: Name of set (optional)
|
||||
* @nr_map: Map for low-layer logical to physical chip numbers (option)
|
||||
* @partitions: The mtd partition list
|
||||
*
|
||||
* define a set of one or more nand chips registered with an unique mtd. Also
|
||||
* allows to pass flag to the underlying NAND layer. 'disable_ecc' will trigger
|
||||
* a warning at boot time.
|
||||
*/
|
||||
struct s3c2410_nand_set {
|
||||
unsigned int disable_ecc:1;
|
||||
unsigned int flash_bbt:1;
|
||||
|
||||
unsigned int options;
|
||||
int nr_chips;
|
||||
int nr_partitions;
|
||||
char *name;
|
||||
int *nr_map;
|
||||
struct mtd_partition *partitions;
|
||||
struct nand_ecclayout *ecc_layout;
|
||||
};
|
||||
|
||||
struct s3c2410_platform_nand {
|
||||
/* timing information for controller, all times in nanoseconds */
|
||||
|
||||
int tacls; /* time for active CLE/ALE to nWE/nOE */
|
||||
int twrph0; /* active time for nWE/nOE */
|
||||
int twrph1; /* time for release CLE/ALE from nWE/nOE inactive */
|
||||
|
||||
unsigned int ignore_unset_ecc:1;
|
||||
|
||||
int nr_sets;
|
||||
struct s3c2410_nand_set *sets;
|
||||
|
||||
void (*select_chip)(struct s3c2410_nand_set *,
|
||||
int chip);
|
||||
};
|
||||
|
||||
/**
|
||||
* s3c_nand_set_platdata() - register NAND platform data.
|
||||
* @nand: The NAND platform data to register with s3c_device_nand.
|
||||
*
|
||||
* This function copies the given NAND platform data, @nand and registers
|
||||
* it with the s3c_device_nand. This allows @nand to be __initdata.
|
||||
*/
|
||||
extern void s3c_nand_set_platdata(struct s3c2410_platform_nand *nand);
|
68
include/linux/platform_data/spi-s3c64xx.h
Normal file
68
include/linux/platform_data/spi-s3c64xx.h
Normal file
|
@ -0,0 +1,68 @@
|
|||
/* linux/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
|
||||
*
|
||||
* Copyright (C) 2009 Samsung Electronics Ltd.
|
||||
* Jaswinder Singh <jassi.brar@samsung.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 __S3C64XX_PLAT_SPI_H
|
||||
#define __S3C64XX_PLAT_SPI_H
|
||||
|
||||
struct platform_device;
|
||||
|
||||
/**
|
||||
* struct s3c64xx_spi_csinfo - ChipSelect description
|
||||
* @fb_delay: Slave specific feedback delay.
|
||||
* Refer to FB_CLK_SEL register definition in SPI chapter.
|
||||
* @line: Custom 'identity' of the CS line.
|
||||
*
|
||||
* This is per SPI-Slave Chipselect information.
|
||||
* Allocate and initialize one in machine init code and make the
|
||||
* spi_board_info.controller_data point to it.
|
||||
*/
|
||||
struct s3c64xx_spi_csinfo {
|
||||
u8 fb_delay;
|
||||
unsigned line;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct s3c64xx_spi_info - SPI Controller defining structure
|
||||
* @src_clk_nr: Clock source index for the CLK_CFG[SPI_CLKSEL] field.
|
||||
* @num_cs: Number of CS this controller emulates.
|
||||
* @cfg_gpio: Configure pins for this SPI controller.
|
||||
*/
|
||||
struct s3c64xx_spi_info {
|
||||
int src_clk_nr;
|
||||
int num_cs;
|
||||
int (*cfg_gpio)(void);
|
||||
};
|
||||
|
||||
/**
|
||||
* s3c64xx_spi_set_platdata - SPI Controller configure callback by the board
|
||||
* initialization code.
|
||||
* @cfg_gpio: Pointer to gpio setup function.
|
||||
* @src_clk_nr: Clock the SPI controller is to use to generate SPI clocks.
|
||||
* @num_cs: Number of elements in the 'cs' array.
|
||||
*
|
||||
* Call this from machine init code for each SPI Controller that
|
||||
* has some chips attached to it.
|
||||
*/
|
||||
extern void s3c64xx_spi0_set_platdata(int (*cfg_gpio)(void), int src_clk_nr,
|
||||
int num_cs);
|
||||
extern void s3c64xx_spi1_set_platdata(int (*cfg_gpio)(void), int src_clk_nr,
|
||||
int num_cs);
|
||||
extern void s3c64xx_spi2_set_platdata(int (*cfg_gpio)(void), int src_clk_nr,
|
||||
int num_cs);
|
||||
|
||||
/* defined by architecture to configure gpio */
|
||||
extern int s3c64xx_spi0_cfg_gpio(void);
|
||||
extern int s3c64xx_spi1_cfg_gpio(void);
|
||||
extern int s3c64xx_spi2_cfg_gpio(void);
|
||||
|
||||
extern struct s3c64xx_spi_info s3c64xx_spi0_pdata;
|
||||
extern struct s3c64xx_spi_info s3c64xx_spi1_pdata;
|
||||
extern struct s3c64xx_spi_info s3c64xx_spi2_pdata;
|
||||
#endif /* __S3C64XX_PLAT_SPI_H */
|
25
include/linux/platform_data/touchscreen-s3c2410.h
Normal file
25
include/linux/platform_data/touchscreen-s3c2410.h
Normal file
|
@ -0,0 +1,25 @@
|
|||
/* arch/arm/plat-samsung/include/plat/ts.h
|
||||
*
|
||||
* Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
|
||||
*
|
||||
* 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 __ASM_ARM_TS_H
|
||||
#define __ASM_ARM_TS_H
|
||||
|
||||
struct s3c2410_ts_mach_info {
|
||||
int delay;
|
||||
int presc;
|
||||
int oversampling_shift;
|
||||
void (*cfg_gpio)(struct platform_device *dev);
|
||||
};
|
||||
|
||||
extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *);
|
||||
|
||||
/* defined by architecture to configure gpio */
|
||||
extern void s3c24xx_ts_cfg_gpio(struct platform_device *dev);
|
||||
|
||||
#endif /* __ASM_ARM_TS_H */
|
21
include/linux/platform_data/usb-ehci-s5p.h
Normal file
21
include/linux/platform_data/usb-ehci-s5p.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Samsung Electronics Co.Ltd
|
||||
* Author: Joonyoung Shim <jy0922.shim@samsung.com>
|
||||
*
|
||||
* 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 __PLAT_SAMSUNG_EHCI_H
|
||||
#define __PLAT_SAMSUNG_EHCI_H __FILE__
|
||||
|
||||
struct s5p_ehci_platdata {
|
||||
int (*phy_init)(struct platform_device *pdev, int type);
|
||||
int (*phy_exit)(struct platform_device *pdev, int type);
|
||||
};
|
||||
|
||||
extern void s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd);
|
||||
|
||||
#endif /* __PLAT_SAMSUNG_EHCI_H */
|
21
include/linux/platform_data/usb-exynos.h
Normal file
21
include/linux/platform_data/usb-exynos.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Samsung Electronics Co.Ltd
|
||||
* http://www.samsung.com/
|
||||
*
|
||||
* 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 __MACH_EXYNOS_OHCI_H
|
||||
#define __MACH_EXYNOS_OHCI_H
|
||||
|
||||
struct exynos4_ohci_platdata {
|
||||
int (*phy_init)(struct platform_device *pdev, int type);
|
||||
int (*phy_exit)(struct platform_device *pdev, int type);
|
||||
};
|
||||
|
||||
extern void exynos4_ohci_set_platdata(struct exynos4_ohci_platdata *pd);
|
||||
|
||||
#endif /* __MACH_EXYNOS_OHCI_H */
|
43
include/linux/platform_data/usb-ohci-s3c2410.h
Normal file
43
include/linux/platform_data/usb-ohci-s3c2410.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/* arch/arm/plat-samsung/include/plat/usb-control.h
|
||||
*
|
||||
* Copyright (c) 2004 Simtec Electronics
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* S3C - USB host port information
|
||||
*
|
||||
* 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 __ASM_ARCH_USBCONTROL_H
|
||||
#define __ASM_ARCH_USBCONTROL_H
|
||||
|
||||
#define S3C_HCDFLG_USED (1)
|
||||
|
||||
struct s3c2410_hcd_port {
|
||||
unsigned char flags;
|
||||
unsigned char power;
|
||||
unsigned char oc_status;
|
||||
unsigned char oc_changed;
|
||||
};
|
||||
|
||||
struct s3c2410_hcd_info {
|
||||
struct usb_hcd *hcd;
|
||||
struct s3c2410_hcd_port port[2];
|
||||
|
||||
void (*power_control)(int port, int to);
|
||||
void (*enable_oc)(struct s3c2410_hcd_info *, int on);
|
||||
void (*report_oc)(struct s3c2410_hcd_info *, int ports);
|
||||
};
|
||||
|
||||
static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports)
|
||||
{
|
||||
if (info->report_oc != NULL) {
|
||||
(info->report_oc)(info, ports);
|
||||
}
|
||||
}
|
||||
|
||||
extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info);
|
||||
|
||||
#endif /*__ASM_ARCH_USBCONTROL_H */
|
44
include/linux/platform_data/usb-s3c2410_udc.h
Normal file
44
include/linux/platform_data/usb-s3c2410_udc.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
/* arch/arm/plat-samsung/include/plat/udc.h
|
||||
*
|
||||
* Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
|
||||
*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* Changelog:
|
||||
* 14-Mar-2005 RTP Created file
|
||||
* 02-Aug-2005 RTP File rename
|
||||
* 07-Sep-2005 BJD Minor cleanups, changed cmd to enum
|
||||
* 18-Jan-2007 HMW Add per-platform vbus_draw function
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARM_ARCH_UDC_H
|
||||
#define __ASM_ARM_ARCH_UDC_H
|
||||
|
||||
enum s3c2410_udc_cmd_e {
|
||||
S3C2410_UDC_P_ENABLE = 1, /* Pull-up enable */
|
||||
S3C2410_UDC_P_DISABLE = 2, /* Pull-up disable */
|
||||
S3C2410_UDC_P_RESET = 3, /* UDC reset, in case of */
|
||||
};
|
||||
|
||||
struct s3c2410_udc_mach_info {
|
||||
void (*udc_command)(enum s3c2410_udc_cmd_e);
|
||||
void (*vbus_draw)(unsigned int ma);
|
||||
|
||||
unsigned int pullup_pin;
|
||||
unsigned int pullup_pin_inverted;
|
||||
|
||||
unsigned int vbus_pin;
|
||||
unsigned char vbus_pin_inverted;
|
||||
};
|
||||
|
||||
extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *);
|
||||
|
||||
struct s3c24xx_hsudc_platdata;
|
||||
|
||||
extern void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd);
|
||||
|
||||
#endif /* __ASM_ARM_ARCH_UDC_H */
|
Loading…
Add table
Add a link
Reference in a new issue