Go to the documentation of this file.
58 static inline int gpio_direction_input(
unsigned gpio)
66 static inline int gpio_direction_output(
unsigned gpio,
int value)
74 static inline int gpio_request(
unsigned gpio,
const char *
label)
82 static inline void gpio_free(
unsigned gpio)
104 #if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || \
105 defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
106 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
107 defined(CONFIG_M532x) || defined(CONFIG_M54xx) || \
108 defined(CONFIG_M5441x)
112 #define MCFGPIO_PORTTYPE u8
113 #define MCFGPIO_PORTSIZE 8
114 #define mcfgpio_read(port) __raw_readb(port)
115 #define mcfgpio_write(data, port) __raw_writeb(data, port)
117 #elif defined(CONFIG_M5307) || defined(CONFIG_M5407) || defined(CONFIG_M5272)
121 #define MCFGPIO_PORTTYPE u16
122 #define MCFGPIO_PORTSIZE 16
123 #define mcfgpio_read(port) __raw_readw(port)
124 #define mcfgpio_write(data, port) __raw_writew(data, port)
126 #elif defined(CONFIG_M5249) || defined(CONFIG_M525x)
130 #define MCFGPIO_PORTTYPE u32
131 #define MCFGPIO_PORTSIZE 32
132 #define mcfgpio_read(port) __raw_readl(port)
133 #define mcfgpio_write(data, port) __raw_writel(data, port)
137 #define mcfgpio_bit(gpio) (1 << ((gpio) % MCFGPIO_PORTSIZE))
138 #define mcfgpio_port(gpio) ((gpio) / MCFGPIO_PORTSIZE)
140 #if defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
141 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
142 defined(CONFIG_M532x) || defined(CONFIG_M5441x)
148 #if defined(CONFIG_M528x)
153 #define MCFGPIO_SCR_START 40
154 #elif defined(CONFIGM5441x)
156 #define MCFGPIO_SCR_START 0
158 #define MCFGPIO_SCR_START 8
161 #define MCFGPIO_SETR_PORT(gpio) (MCFGPIO_SETR + \
162 mcfgpio_port(gpio - MCFGPIO_SCR_START))
164 #define MCFGPIO_CLRR_PORT(gpio) (MCFGPIO_CLRR + \
165 mcfgpio_port(gpio - MCFGPIO_SCR_START))
168 #define MCFGPIO_SCR_START MCFGPIO_PIN_MAX
170 #define MCFGPIO_SETR_PORT(gpio) 0
171 #define MCFGPIO_CLRR_PORT(gpio) 0
179 static inline u32 __mcfgpio_ppdr(
unsigned gpio)
181 #if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || \
182 defined(CONFIG_M5307) || defined(CONFIG_M5407)
184 #elif defined(CONFIG_M5272)
191 #elif defined(CONFIG_M5249) || defined(CONFIG_M525x)
196 #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
197 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
198 defined(CONFIG_M532x) || defined(CONFIG_M5441x)
199 #if !defined(CONFIG_M5441x)
202 #if defined(CONFIG_M528x)
221 static inline u32 __mcfgpio_podr(
unsigned gpio)
223 #if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || \
224 defined(CONFIG_M5307) || defined(CONFIG_M5407)
226 #elif defined(CONFIG_M5272)
233 #elif defined(CONFIG_M5249) || defined(CONFIG_M525x)
238 #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
239 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
240 defined(CONFIG_M532x) || defined(CONFIG_M5441x)
241 #if !defined(CONFIG_M5441x)
244 #if defined(CONFIG_M528x)
263 static inline u32 __mcfgpio_pddr(
unsigned gpio)
265 #if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || \
266 defined(CONFIG_M5307) || defined(CONFIG_M5407)
268 #elif defined(CONFIG_M5272)
275 #elif defined(CONFIG_M5249) || defined(CONFIG_M525x)
280 #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
281 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
282 defined(CONFIG_M532x) || defined(CONFIG_M5441x)
283 #if !defined(CONFIG_M5441x)
286 #if defined(CONFIG_M528x)