mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 20:42:39 +00:00 
			
		
		
		
	 6a3d119b4c
			
		
	
	
		6a3d119b4c
		
	
	
	
	
		
			
			What the PCF05633 calls as a 'GPIO' is much more than the GPIO in the linux sense and there are only 4 of them - which means, the gpiolib is not used here. Signed-off-by: Balaji Rao <balajirrao@openmoko.org> Cc: Andy Green <andy@openmoko.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * gpio.h -- GPIO driver for NXP PCF50633
 | |
|  *
 | |
|  * (C) 2006-2008 by Openmoko, Inc.
 | |
|  * All rights reserved.
 | |
|  *
 | |
|  * 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 __LINUX_MFD_PCF50633_GPIO_H
 | |
| #define __LINUX_MFD_PCF50633_GPIO_H
 | |
| 
 | |
| #include <linux/mfd/pcf50633/core.h>
 | |
| 
 | |
| #define PCF50633_GPIO1		1
 | |
| #define PCF50633_GPIO2		2
 | |
| #define PCF50633_GPIO3		3
 | |
| #define PCF50633_GPO		4
 | |
| 
 | |
| #define PCF50633_REG_GPIO1CFG	0x14
 | |
| #define PCF50633_REG_GPIO2CFG	0x15
 | |
| #define PCF50633_REG_GPIO3CFG	0x16
 | |
| #define PCF50633_REG_GPOCFG 	0x17
 | |
| 
 | |
| #define PCF50633_GPOCFG_GPOSEL_MASK	0x07
 | |
| 
 | |
| enum pcf50633_reg_gpocfg {
 | |
| 	PCF50633_GPOCFG_GPOSEL_0	= 0x00,
 | |
| 	PCF50633_GPOCFG_GPOSEL_LED_NFET	= 0x01,
 | |
| 	PCF50633_GPOCFG_GPOSEL_SYSxOK	= 0x02,
 | |
| 	PCF50633_GPOCFG_GPOSEL_CLK32K	= 0x03,
 | |
| 	PCF50633_GPOCFG_GPOSEL_ADAPUSB	= 0x04,
 | |
| 	PCF50633_GPOCFG_GPOSEL_USBxOK	= 0x05,
 | |
| 	PCF50633_GPOCFG_GPOSEL_ACTPH4	= 0x06,
 | |
| 	PCF50633_GPOCFG_GPOSEL_1	= 0x07,
 | |
| 	PCF50633_GPOCFG_GPOSEL_INVERSE	= 0x08,
 | |
| };
 | |
| 
 | |
| int pcf50633_gpio_set(struct pcf50633 *pcf, int gpio, u8 val);
 | |
| u8 pcf50633_gpio_get(struct pcf50633 *pcf, int gpio);
 | |
| 
 | |
| int pcf50633_gpio_invert_set(struct pcf50633 *, int gpio, int invert);
 | |
| int pcf50633_gpio_invert_get(struct pcf50633 *pcf, int gpio);
 | |
| 
 | |
| int pcf50633_gpio_power_supply_set(struct pcf50633 *,
 | |
| 					int gpio, int regulator, int on);
 | |
| #endif /* __LINUX_MFD_PCF50633_GPIO_H */
 | |
| 
 | |
| 
 |