ARM: S3C64XX: Modified files for SPI consolidation work
As SPI platform devices are consolidated to plat-samsung, some corresponding changes are required in the respective machine folder. Setup files are added for SPI GPIO configurations and platform data initialization. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
875a59374c
commit
4566c7f761
@ -77,6 +77,11 @@ config S3C64XX_SETUP_SDHCI_GPIO
|
|||||||
help
|
help
|
||||||
Common setup code for S3C64XX SDHCI GPIO configurations
|
Common setup code for S3C64XX SDHCI GPIO configurations
|
||||||
|
|
||||||
|
config S3C64XX_SETUP_SPI
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Common setup code for SPI GPIO configurations
|
||||||
|
|
||||||
# S36400 Macchine support
|
# S36400 Macchine support
|
||||||
|
|
||||||
config MACH_SMDK6400
|
config MACH_SMDK6400
|
||||||
|
@ -34,6 +34,7 @@ obj-$(CONFIG_S3C64XX_SETUP_IDE) += setup-ide.o
|
|||||||
obj-$(CONFIG_S3C64XX_SETUP_KEYPAD) += setup-keypad.o
|
obj-$(CONFIG_S3C64XX_SETUP_KEYPAD) += setup-keypad.o
|
||||||
obj-$(CONFIG_S3C64XX_SETUP_FB_24BPP) += setup-fb-24bpp.o
|
obj-$(CONFIG_S3C64XX_SETUP_FB_24BPP) += setup-fb-24bpp.o
|
||||||
obj-$(CONFIG_S3C64XX_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o
|
obj-$(CONFIG_S3C64XX_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o
|
||||||
|
obj-$(CONFIG_S3C64XX_SETUP_SPI) += setup-spi.o
|
||||||
|
|
||||||
# PM
|
# PM
|
||||||
|
|
||||||
|
@ -115,6 +115,8 @@
|
|||||||
#define S3C_PA_USB_HSOTG S3C64XX_PA_USB_HSOTG
|
#define S3C_PA_USB_HSOTG S3C64XX_PA_USB_HSOTG
|
||||||
#define S3C_PA_RTC S3C64XX_PA_RTC
|
#define S3C_PA_RTC S3C64XX_PA_RTC
|
||||||
#define S3C_PA_WDT S3C64XX_PA_WATCHDOG
|
#define S3C_PA_WDT S3C64XX_PA_WATCHDOG
|
||||||
|
#define S3C_PA_SPI0 S3C64XX_PA_SPI0
|
||||||
|
#define S3C_PA_SPI1 S3C64XX_PA_SPI1
|
||||||
|
|
||||||
#define SAMSUNG_PA_ADC S3C64XX_PA_ADC
|
#define SAMSUNG_PA_ADC S3C64XX_PA_ADC
|
||||||
#define SAMSUNG_PA_CFCON S3C64XX_PA_CFCON
|
#define SAMSUNG_PA_CFCON S3C64XX_PA_CFCON
|
||||||
|
45
arch/arm/mach-s3c64xx/setup-spi.c
Normal file
45
arch/arm/mach-s3c64xx/setup-spi.c
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/* linux/arch/arm/mach-s3c64xx/setup-spi.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2011 Samsung Electronics 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 version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
|
#include <plat/gpio-cfg.h>
|
||||||
|
#include <plat/s3c64xx-spi.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_S3C64XX_DEV_SPI0
|
||||||
|
struct s3c64xx_spi_info s3c64xx_spi0_pdata __initdata = {
|
||||||
|
.fifo_lvl_mask = 0x7f,
|
||||||
|
.rx_lvl_offset = 13,
|
||||||
|
.tx_st_done = 21,
|
||||||
|
};
|
||||||
|
|
||||||
|
int s3c64xx_spi0_cfg_gpio(struct platform_device *dev)
|
||||||
|
{
|
||||||
|
s3c_gpio_cfgall_range(S3C64XX_GPC(0), 3,
|
||||||
|
S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_S3C64XX_DEV_SPI1
|
||||||
|
struct s3c64xx_spi_info s3c64xx_spi1_pdata __initdata = {
|
||||||
|
.fifo_lvl_mask = 0x7f,
|
||||||
|
.rx_lvl_offset = 13,
|
||||||
|
.tx_st_done = 21,
|
||||||
|
};
|
||||||
|
|
||||||
|
int s3c64xx_spi1_cfg_gpio(struct platform_device *dev)
|
||||||
|
{
|
||||||
|
s3c_gpio_cfgall_range(S3C64XX_GPC(4), 3,
|
||||||
|
S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
@ -1498,6 +1498,9 @@ void __init s3c64xx_spi0_set_platdata(struct s3c64xx_spi_info *pd,
|
|||||||
|
|
||||||
pd->num_cs = num_cs;
|
pd->num_cs = num_cs;
|
||||||
pd->src_clk_nr = src_clk_nr;
|
pd->src_clk_nr = src_clk_nr;
|
||||||
|
if (!pd->cfg_gpio)
|
||||||
|
pd->cfg_gpio = s3c64xx_spi0_cfg_gpio;
|
||||||
|
|
||||||
s3c_set_platdata(pd, sizeof(*pd), &s3c64xx_device_spi0);
|
s3c_set_platdata(pd, sizeof(*pd), &s3c64xx_device_spi0);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_S3C64XX_DEV_SPI0 */
|
#endif /* CONFIG_S3C64XX_DEV_SPI0 */
|
||||||
@ -1537,6 +1540,9 @@ void __init s3c64xx_spi1_set_platdata(struct s3c64xx_spi_info *pd,
|
|||||||
|
|
||||||
pd->num_cs = num_cs;
|
pd->num_cs = num_cs;
|
||||||
pd->src_clk_nr = src_clk_nr;
|
pd->src_clk_nr = src_clk_nr;
|
||||||
|
if (!pd->cfg_gpio)
|
||||||
|
pd->cfg_gpio = s3c64xx_spi1_cfg_gpio;
|
||||||
|
|
||||||
s3c_set_platdata(pd, sizeof(*pd), &s3c64xx_device_spi1);
|
s3c_set_platdata(pd, sizeof(*pd), &s3c64xx_device_spi1);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_S3C64XX_DEV_SPI1 */
|
#endif /* CONFIG_S3C64XX_DEV_SPI1 */
|
||||||
|
@ -71,4 +71,11 @@ extern void s3c64xx_spi1_set_platdata(struct s3c64xx_spi_info *pd,
|
|||||||
int src_clk_nr, int num_cs);
|
int src_clk_nr, int num_cs);
|
||||||
extern void s3c64xx_spi2_set_platdata(struct s3c64xx_spi_info *pd,
|
extern void s3c64xx_spi2_set_platdata(struct s3c64xx_spi_info *pd,
|
||||||
int src_clk_nr, int num_cs);
|
int src_clk_nr, int num_cs);
|
||||||
|
|
||||||
|
/* defined by architecture to configure gpio */
|
||||||
|
extern int s3c64xx_spi0_cfg_gpio(struct platform_device *dev);
|
||||||
|
extern int s3c64xx_spi1_cfg_gpio(struct platform_device *dev);
|
||||||
|
|
||||||
|
extern struct s3c64xx_spi_info s3c64xx_spi0_pdata;
|
||||||
|
extern struct s3c64xx_spi_info s3c64xx_spi1_pdata;
|
||||||
#endif /* __S3C64XX_PLAT_SPI_H */
|
#endif /* __S3C64XX_PLAT_SPI_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user