Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /* Include file for the EP93XX GPIO controller machine specifics */
0003 
0004 #ifndef __GPIO_EP93XX_H
0005 #define __GPIO_EP93XX_H
0006 
0007 #include "ep93xx-regs.h"
0008 
0009 #define EP93XX_GPIO_PHYS_BASE       EP93XX_APB_PHYS(0x00040000)
0010 #define EP93XX_GPIO_BASE        EP93XX_APB_IOMEM(0x00040000)
0011 #define EP93XX_GPIO_REG(x)      (EP93XX_GPIO_BASE + (x))
0012 #define EP93XX_GPIO_F_INT_STATUS    EP93XX_GPIO_REG(0x5c)
0013 #define EP93XX_GPIO_A_INT_STATUS    EP93XX_GPIO_REG(0xa0)
0014 #define EP93XX_GPIO_B_INT_STATUS    EP93XX_GPIO_REG(0xbc)
0015 #define EP93XX_GPIO_EEDRIVE     EP93XX_GPIO_REG(0xc8)
0016 
0017 /* GPIO port A.  */
0018 #define EP93XX_GPIO_LINE_A(x)       ((x) + 0)
0019 #define EP93XX_GPIO_LINE_EGPIO0     EP93XX_GPIO_LINE_A(0)
0020 #define EP93XX_GPIO_LINE_EGPIO1     EP93XX_GPIO_LINE_A(1)
0021 #define EP93XX_GPIO_LINE_EGPIO2     EP93XX_GPIO_LINE_A(2)
0022 #define EP93XX_GPIO_LINE_EGPIO3     EP93XX_GPIO_LINE_A(3)
0023 #define EP93XX_GPIO_LINE_EGPIO4     EP93XX_GPIO_LINE_A(4)
0024 #define EP93XX_GPIO_LINE_EGPIO5     EP93XX_GPIO_LINE_A(5)
0025 #define EP93XX_GPIO_LINE_EGPIO6     EP93XX_GPIO_LINE_A(6)
0026 #define EP93XX_GPIO_LINE_EGPIO7     EP93XX_GPIO_LINE_A(7)
0027 
0028 /* GPIO port B.  */
0029 #define EP93XX_GPIO_LINE_B(x)       ((x) + 8)
0030 #define EP93XX_GPIO_LINE_EGPIO8     EP93XX_GPIO_LINE_B(0)
0031 #define EP93XX_GPIO_LINE_EGPIO9     EP93XX_GPIO_LINE_B(1)
0032 #define EP93XX_GPIO_LINE_EGPIO10    EP93XX_GPIO_LINE_B(2)
0033 #define EP93XX_GPIO_LINE_EGPIO11    EP93XX_GPIO_LINE_B(3)
0034 #define EP93XX_GPIO_LINE_EGPIO12    EP93XX_GPIO_LINE_B(4)
0035 #define EP93XX_GPIO_LINE_EGPIO13    EP93XX_GPIO_LINE_B(5)
0036 #define EP93XX_GPIO_LINE_EGPIO14    EP93XX_GPIO_LINE_B(6)
0037 #define EP93XX_GPIO_LINE_EGPIO15    EP93XX_GPIO_LINE_B(7)
0038 
0039 /* GPIO port C.  */
0040 #define EP93XX_GPIO_LINE_C(x)       ((x) + 40)
0041 #define EP93XX_GPIO_LINE_ROW0       EP93XX_GPIO_LINE_C(0)
0042 #define EP93XX_GPIO_LINE_ROW1       EP93XX_GPIO_LINE_C(1)
0043 #define EP93XX_GPIO_LINE_ROW2       EP93XX_GPIO_LINE_C(2)
0044 #define EP93XX_GPIO_LINE_ROW3       EP93XX_GPIO_LINE_C(3)
0045 #define EP93XX_GPIO_LINE_ROW4       EP93XX_GPIO_LINE_C(4)
0046 #define EP93XX_GPIO_LINE_ROW5       EP93XX_GPIO_LINE_C(5)
0047 #define EP93XX_GPIO_LINE_ROW6       EP93XX_GPIO_LINE_C(6)
0048 #define EP93XX_GPIO_LINE_ROW7       EP93XX_GPIO_LINE_C(7)
0049 
0050 /* GPIO port D.  */
0051 #define EP93XX_GPIO_LINE_D(x)       ((x) + 24)
0052 #define EP93XX_GPIO_LINE_COL0       EP93XX_GPIO_LINE_D(0)
0053 #define EP93XX_GPIO_LINE_COL1       EP93XX_GPIO_LINE_D(1)
0054 #define EP93XX_GPIO_LINE_COL2       EP93XX_GPIO_LINE_D(2)
0055 #define EP93XX_GPIO_LINE_COL3       EP93XX_GPIO_LINE_D(3)
0056 #define EP93XX_GPIO_LINE_COL4       EP93XX_GPIO_LINE_D(4)
0057 #define EP93XX_GPIO_LINE_COL5       EP93XX_GPIO_LINE_D(5)
0058 #define EP93XX_GPIO_LINE_COL6       EP93XX_GPIO_LINE_D(6)
0059 #define EP93XX_GPIO_LINE_COL7       EP93XX_GPIO_LINE_D(7)
0060 
0061 /* GPIO port E.  */
0062 #define EP93XX_GPIO_LINE_E(x)       ((x) + 32)
0063 #define EP93XX_GPIO_LINE_GRLED      EP93XX_GPIO_LINE_E(0)
0064 #define EP93XX_GPIO_LINE_RDLED      EP93XX_GPIO_LINE_E(1)
0065 #define EP93XX_GPIO_LINE_DIORn      EP93XX_GPIO_LINE_E(2)
0066 #define EP93XX_GPIO_LINE_IDECS1n    EP93XX_GPIO_LINE_E(3)
0067 #define EP93XX_GPIO_LINE_IDECS2n    EP93XX_GPIO_LINE_E(4)
0068 #define EP93XX_GPIO_LINE_IDEDA0     EP93XX_GPIO_LINE_E(5)
0069 #define EP93XX_GPIO_LINE_IDEDA1     EP93XX_GPIO_LINE_E(6)
0070 #define EP93XX_GPIO_LINE_IDEDA2     EP93XX_GPIO_LINE_E(7)
0071 
0072 /* GPIO port F.  */
0073 #define EP93XX_GPIO_LINE_F(x)       ((x) + 16)
0074 #define EP93XX_GPIO_LINE_WP     EP93XX_GPIO_LINE_F(0)
0075 #define EP93XX_GPIO_LINE_MCCD1      EP93XX_GPIO_LINE_F(1)
0076 #define EP93XX_GPIO_LINE_MCCD2      EP93XX_GPIO_LINE_F(2)
0077 #define EP93XX_GPIO_LINE_MCBVD1     EP93XX_GPIO_LINE_F(3)
0078 #define EP93XX_GPIO_LINE_MCBVD2     EP93XX_GPIO_LINE_F(4)
0079 #define EP93XX_GPIO_LINE_VS1        EP93XX_GPIO_LINE_F(5)
0080 #define EP93XX_GPIO_LINE_READY      EP93XX_GPIO_LINE_F(6)
0081 #define EP93XX_GPIO_LINE_VS2        EP93XX_GPIO_LINE_F(7)
0082 
0083 /* GPIO port G.  */
0084 #define EP93XX_GPIO_LINE_G(x)       ((x) + 48)
0085 #define EP93XX_GPIO_LINE_EECLK      EP93XX_GPIO_LINE_G(0)
0086 #define EP93XX_GPIO_LINE_EEDAT      EP93XX_GPIO_LINE_G(1)
0087 #define EP93XX_GPIO_LINE_SLA0       EP93XX_GPIO_LINE_G(2)
0088 #define EP93XX_GPIO_LINE_SLA1       EP93XX_GPIO_LINE_G(3)
0089 #define EP93XX_GPIO_LINE_DD12       EP93XX_GPIO_LINE_G(4)
0090 #define EP93XX_GPIO_LINE_DD13       EP93XX_GPIO_LINE_G(5)
0091 #define EP93XX_GPIO_LINE_DD14       EP93XX_GPIO_LINE_G(6)
0092 #define EP93XX_GPIO_LINE_DD15       EP93XX_GPIO_LINE_G(7)
0093 
0094 /* GPIO port H.  */
0095 #define EP93XX_GPIO_LINE_H(x)       ((x) + 56)
0096 #define EP93XX_GPIO_LINE_DD0        EP93XX_GPIO_LINE_H(0)
0097 #define EP93XX_GPIO_LINE_DD1        EP93XX_GPIO_LINE_H(1)
0098 #define EP93XX_GPIO_LINE_DD2        EP93XX_GPIO_LINE_H(2)
0099 #define EP93XX_GPIO_LINE_DD3        EP93XX_GPIO_LINE_H(3)
0100 #define EP93XX_GPIO_LINE_DD4        EP93XX_GPIO_LINE_H(4)
0101 #define EP93XX_GPIO_LINE_DD5        EP93XX_GPIO_LINE_H(5)
0102 #define EP93XX_GPIO_LINE_DD6        EP93XX_GPIO_LINE_H(6)
0103 #define EP93XX_GPIO_LINE_DD7        EP93XX_GPIO_LINE_H(7)
0104 
0105 /* maximum value for gpio line identifiers */
0106 #define EP93XX_GPIO_LINE_MAX        EP93XX_GPIO_LINE_H(7)
0107 
0108 /* maximum value for irq capable line identifiers */
0109 #define EP93XX_GPIO_LINE_MAX_IRQ    EP93XX_GPIO_LINE_F(7)
0110 
0111 #endif /* __GPIO_EP93XX_H */