 ccae941ee2
			
		
	
	
	ccae941ee2
	
	
	
		
			
			There are a number of statements of the form A, B or A, B, C where the numbers A,B,C are not consecutive. However, referencing [1] it is the correct thing to replace these with A-B or A-C as apropriate. [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4iii 'Year of publication' Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
		
			
				
	
	
		
			103 lines
		
	
	
	
		
			2.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
	
		
			2.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /* arch/arm/mach-s3c2410/include/mach/gpio-fns.h
 | |
|  *
 | |
|  * Copyright (c) 2003-2009 Simtec Electronics
 | |
|  *	Ben Dooks <ben@simtec.co.uk>
 | |
|  *
 | |
|  * S3C2410 - hardware
 | |
|  *
 | |
|  * 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.
 | |
| */
 | |
| 
 | |
| /* These functions are in the to-be-removed category and it is strongly
 | |
|  * encouraged not to use these in new code. They will be marked deprecated
 | |
|  * very soon.
 | |
|  *
 | |
|  * Most of the functionality can be either replaced by the gpiocfg calls
 | |
|  * for the s3c platform or by the generic GPIOlib API.
 | |
| */
 | |
| 
 | |
| /* external functions for GPIO support
 | |
|  *
 | |
|  * These allow various different clients to access the same GPIO
 | |
|  * registers without conflicting. If your driver only owns the entire
 | |
|  * GPIO register, then it is safe to ioremap/__raw_{read|write} to it.
 | |
| */
 | |
| 
 | |
| /* s3c2410_gpio_cfgpin
 | |
|  *
 | |
|  * set the configuration of the given pin to the value passed.
 | |
|  *
 | |
|  * eg:
 | |
|  *    s3c2410_gpio_cfgpin(S3C2410_GPA(0), S3C2410_GPA0_ADDR0);
 | |
|  *    s3c2410_gpio_cfgpin(S3C2410_GPE(8), S3C2410_GPE8_SDDAT1);
 | |
| */
 | |
| 
 | |
| extern void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function);
 | |
| 
 | |
| extern unsigned int s3c2410_gpio_getcfg(unsigned int pin);
 | |
| 
 | |
| /* s3c2410_gpio_getirq
 | |
|  *
 | |
|  * turn the given pin number into the corresponding IRQ number
 | |
|  *
 | |
|  * returns:
 | |
|  *	< 0 = no interrupt for this pin
 | |
|  *	>=0 = interrupt number for the pin
 | |
| */
 | |
| 
 | |
| extern int s3c2410_gpio_getirq(unsigned int pin);
 | |
| 
 | |
| #ifdef CONFIG_CPU_S3C2400
 | |
| 
 | |
| extern int s3c2400_gpio_getirq(unsigned int pin);
 | |
| 
 | |
| #endif /* CONFIG_CPU_S3C2400 */
 | |
| 
 | |
| /* s3c2410_gpio_irqfilter
 | |
|  *
 | |
|  * set the irq filtering on the given pin
 | |
|  *
 | |
|  * on = 0 => disable filtering
 | |
|  *      1 => enable filtering
 | |
|  *
 | |
|  * config = S3C2410_EINTFLT_PCLK or S3C2410_EINTFLT_EXTCLK orred with
 | |
|  *          width of filter (0 through 63)
 | |
|  *
 | |
|  *
 | |
| */
 | |
| 
 | |
| extern int s3c2410_gpio_irqfilter(unsigned int pin, unsigned int on,
 | |
| 				  unsigned int config);
 | |
| 
 | |
| /* s3c2410_gpio_pullup
 | |
|  *
 | |
|  * configure the pull-up control on the given pin
 | |
|  *
 | |
|  * to = 1 => disable the pull-up
 | |
|  *      0 => enable the pull-up
 | |
|  *
 | |
|  * eg;
 | |
|  *
 | |
|  *   s3c2410_gpio_pullup(S3C2410_GPB(0), 0);
 | |
|  *   s3c2410_gpio_pullup(S3C2410_GPE(8), 0);
 | |
| */
 | |
| 
 | |
| extern void s3c2410_gpio_pullup(unsigned int pin, unsigned int to);
 | |
| 
 | |
| /* s3c2410_gpio_getpull
 | |
|  *
 | |
|  * Read the state of the pull-up on a given pin
 | |
|  *
 | |
|  * return:
 | |
|  *	< 0 => error code
 | |
|  *	  0 => enabled
 | |
|  *	  1 => disabled
 | |
| */
 | |
| 
 | |
| extern int s3c2410_gpio_getpull(unsigned int pin);
 | |
| 
 | |
| extern void s3c2410_gpio_setpin(unsigned int pin, unsigned int to);
 | |
| 
 | |
| extern unsigned int s3c2410_gpio_getpin(unsigned int pin);
 |