]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/mips/include/asm/mach-ath79/ar71xx_regs.h
MIPS: ath79: add GPIOLIB support
[karo-tx-linux.git] / arch / mips / include / asm / mach-ath79 / ar71xx_regs.h
index 5a9e5e179463c186b55e0e0958201642eca9bfde..7f2933d8b9356427eb97412d0fa8f0c5b441ae42 100644 (file)
@@ -25,6 +25,8 @@
 #define AR71XX_DDR_CTRL_SIZE   0x100
 #define AR71XX_UART_BASE       (AR71XX_APB_BASE + 0x00020000)
 #define AR71XX_UART_SIZE       0x100
+#define AR71XX_GPIO_BASE        (AR71XX_APB_BASE + 0x00040000)
+#define AR71XX_GPIO_SIZE        0x100
 #define AR71XX_PLL_BASE                (AR71XX_APB_BASE + 0x00050000)
 #define AR71XX_PLL_SIZE                0x100
 #define AR71XX_RESET_BASE      (AR71XX_APB_BASE + 0x00060000)
 #define AR71XX_SPI_IOC_CS_ALL  (AR71XX_SPI_IOC_CS0 | AR71XX_SPI_IOC_CS1 | \
                                 AR71XX_SPI_IOC_CS2)
 
+/*
+ * GPIO block
+ */
+#define AR71XX_GPIO_REG_OE             0x00
+#define AR71XX_GPIO_REG_IN             0x04
+#define AR71XX_GPIO_REG_OUT            0x08
+#define AR71XX_GPIO_REG_SET            0x0c
+#define AR71XX_GPIO_REG_CLEAR          0x10
+#define AR71XX_GPIO_REG_INT_MODE       0x14
+#define AR71XX_GPIO_REG_INT_TYPE       0x18
+#define AR71XX_GPIO_REG_INT_POLARITY   0x1c
+#define AR71XX_GPIO_REG_INT_PENDING    0x20
+#define AR71XX_GPIO_REG_INT_ENABLE     0x24
+#define AR71XX_GPIO_REG_FUNC           0x28
+
+#define AR71XX_GPIO_COUNT              16
+#define AR724X_GPIO_COUNT              18
+#define AR913X_GPIO_COUNT              22
+
 #endif /* __ASM_MACH_AR71XX_REGS_H */