microblaze/PCI: factor out pcibios_setup()
[linux-2.6.git] / arch / arm / mach-s5p64x0 / setup-spi.c
blobe9b841240352d229f39557a2301bd71bae7df6a2
1 /* linux/arch/arm/mach-s5p64x0/setup-spi.c
3 * Copyright (C) 2011 Samsung Electronics Ltd.
4 * http://www.samsung.com/
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
11 #include <linux/gpio.h>
12 #include <linux/platform_device.h>
13 #include <linux/io.h>
15 #include <plat/gpio-cfg.h>
16 #include <plat/cpu.h>
17 #include <plat/s3c64xx-spi.h>
19 #ifdef CONFIG_S3C64XX_DEV_SPI0
20 struct s3c64xx_spi_info s3c64xx_spi0_pdata __initdata = {
21 .fifo_lvl_mask = 0x1ff,
22 .rx_lvl_offset = 15,
23 .tx_st_done = 25,
26 int s3c64xx_spi0_cfg_gpio(struct platform_device *dev)
28 if (soc_is_s5p6450())
29 s3c_gpio_cfgall_range(S5P6450_GPC(0), 3,
30 S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
31 else
32 s3c_gpio_cfgall_range(S5P6440_GPC(0), 3,
33 S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
34 return 0;
36 #endif
38 #ifdef CONFIG_S3C64XX_DEV_SPI1
39 struct s3c64xx_spi_info s3c64xx_spi1_pdata __initdata = {
40 .fifo_lvl_mask = 0x7f,
41 .rx_lvl_offset = 15,
42 .tx_st_done = 25,
45 int s3c64xx_spi1_cfg_gpio(struct platform_device *dev)
47 if (soc_is_s5p6450())
48 s3c_gpio_cfgall_range(S5P6450_GPC(4), 3,
49 S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
50 else
51 s3c_gpio_cfgall_range(S5P6440_GPC(4), 3,
52 S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
53 return 0;
55 #endif