SATA: do not auto-initialize during boot
[oweals/u-boot.git] / include / asm-avr32 / arch-at32ap700x / gpio.h
index e4812d4d08b487fd176fe09f6b531e552757f997..8c922c7c65a94a104c1697b66635d4ca5271efc5 100644 (file)
@@ -22,6 +22,7 @@
 #ifndef __ASM_AVR32_ARCH_GPIO_H__
 #define __ASM_AVR32_ARCH_GPIO_H__
 
+#include <asm/arch/chip-features.h>
 #include <asm/arch/memory-map.h>
 
 #define NR_GPIO_CONTROLLERS    5
 #define GPIO_PIN_PE25  (GPIO_PIOE_BASE + 25)
 #define GPIO_PIN_PE26  (GPIO_PIOE_BASE + 26)
 
+#define GPIOF_PULLUP   0x00000001      /* (not-OUT) Enable pull-up */
+#define GPIOF_OUTPUT   0x00000002      /* (OUT) Enable output driver */
+#define GPIOF_DEGLITCH 0x00000004      /* (IN) Filter glitches */
+#define GPIOF_MULTIDRV 0x00000008      /* Enable multidriver option */
+
 static inline void *gpio_pin_to_addr(unsigned int pin)
 {
        switch (pin >> 5) {
@@ -199,14 +205,28 @@ static inline void *gpio_pin_to_addr(unsigned int pin)
 
 void gpio_select_periph_A(unsigned int pin, int use_pullup);
 void gpio_select_periph_B(unsigned int pin, int use_pullup);
+void gpio_select_pio(unsigned int pin, unsigned long gpiof_flags);
+void gpio_set_value(unsigned int pin, int value);
+int gpio_get_value(unsigned int pin);
 
 void gpio_enable_ebi(void);
+
+#ifdef AT32AP700x_CHIP_HAS_USART
 void gpio_enable_usart0(void);
 void gpio_enable_usart1(void);
 void gpio_enable_usart2(void);
 void gpio_enable_usart3(void);
+#endif
+#ifdef AT32AP700x_CHIP_HAS_MACB
 void gpio_enable_macb0(void);
 void gpio_enable_macb1(void);
+#endif
+#ifdef AT32AP700x_CHIP_HAS_MMCI
 void gpio_enable_mmci(void);
+#endif
+#ifdef AT32AP700x_CHIP_HAS_SPI
+void gpio_enable_spi0(unsigned long cs_mask);
+void gpio_enable_spi1(unsigned long cs_mask);
+#endif
 
 #endif /* __ASM_AVR32_ARCH_GPIO_H__ */