19fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass/* 29fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass * include/asm-mips/pmc-sierra/msp71xx/gpio.h 39fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass * 49fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass * This program is free software; you can redistribute it and/or modify 59fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass * it under the terms of the GNU General Public License version 2 as 69fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass * published by the Free Software Foundation. 79fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass * 89fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass * @author Patrick Glass <patrickglass@gmail.com> 99fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass */ 109fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 119fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#ifndef __PMC_MSP71XX_GPIO_H 129fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#define __PMC_MSP71XX_GPIO_H 139fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 149fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass/* Max number of gpio's is 28 on chip plus 3 banks of I2C IO Expanders */ 159fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#define ARCH_NR_GPIOS (28 + (3 * 8)) 169fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 179fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass/* new generic GPIO API - see Documentation/gpio.txt */ 189fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#include <asm-generic/gpio.h> 199fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 209fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#define gpio_get_value __gpio_get_value 219fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#define gpio_set_value __gpio_set_value 229fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#define gpio_cansleep __gpio_cansleep 239fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 249fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass/* Setup calls for the gpio and gpio extended */ 259fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glassextern void msp71xx_init_gpio(void); 269fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glassextern void msp71xx_init_gpio_extended(void); 279fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glassextern int msp71xx_set_output_drive(unsigned gpio, int value); 289fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 299fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass/* Custom output drive functionss */ 309fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glassstatic inline int gpio_set_output_drive(unsigned gpio, int value) 319fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass{ 329fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass return msp71xx_set_output_drive(gpio, value); 339fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass} 349fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 359fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass/* IRQ's are not supported for gpio lines */ 369fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glassstatic inline int gpio_to_irq(unsigned gpio) 379fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass{ 389fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass return -EINVAL; 399fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass} 409fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 419fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glassstatic inline int irq_to_gpio(unsigned irq) 429fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass{ 439fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass return -EINVAL; 449fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass} 459fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass 469fa32c6b0275ab1e8b19f74fbfa3ed8411345db6Patrick Glass#endif /* __PMC_MSP71XX_GPIO_H */ 47