blob: 4d9588373aa55a624de6ac4e8c451fe7dca0759e [file] [log] [blame]
Russell Kinga09e64f2008-08-05 16:14:15 +01001/* arch/arm/mach-s3c2410/include/mach/spi.h
2 *
3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk>
5 *
6 * S3C2410 - SPI Controller platform_device info
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11*/
12
13#ifndef __ASM_ARCH_SPI_H
14#define __ASM_ARCH_SPI_H __FILE__
15
16struct s3c2410_spi_info {
Ben Dooksee9c1fb2009-01-06 14:41:44 -080017 int pin_cs; /* simple gpio cs */
Russell Kinga09e64f2008-08-05 16:14:15 +010018 unsigned int num_cs; /* total chipselects */
19 int bus_num; /* bus number to use. */
20
Ben Dooksbec08062009-12-14 22:20:24 -080021 unsigned int use_fiq:1; /* use fiq */
22
Ben Dookscf46b972008-10-15 22:02:41 -070023 void (*gpio_setup)(struct s3c2410_spi_info *spi, int enable);
Russell Kinga09e64f2008-08-05 16:14:15 +010024 void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol);
25};
26
Ben Dooksb2a6cf32008-10-21 14:06:20 +010027/* Standard setup / suspend routines for SPI GPIO pins. */
28
29extern void s3c24xx_spi_gpiocfg_bus0_gpe11_12_13(struct s3c2410_spi_info *spi,
30 int enable);
31
32extern void s3c24xx_spi_gpiocfg_bus1_gpg5_6_7(struct s3c2410_spi_info *spi,
33 int enable);
Russell Kinga09e64f2008-08-05 16:14:15 +010034
Ben Dooksa2c195f2009-08-03 17:26:50 +010035extern void s3c24xx_spi_gpiocfg_bus1_gpd8_9_10(struct s3c2410_spi_info *spi,
36 int enable);
37
Russell Kinga09e64f2008-08-05 16:14:15 +010038#endif /* __ASM_ARCH_SPI_H */