Lines Matching refs:gpio

130 #define OFFSET_GPIO_NUMBER(gpio)	(gpio - MSP_GPIO_OFFSET[gpio])  argument
143 #define BASIC_DATA_MASK(gpio) \ argument
144 BASIC_DATA_REG_MASK(OFFSET_GPIO_NUMBER(gpio))
145 #define BASIC_MODE_MASK(gpio) \ argument
146 BASIC_MODE_REG_MASK(OFFSET_GPIO_NUMBER(gpio))
147 #define BASIC_MODE(mode, gpio) \ argument
148 BASIC_MODE_REG_VALUE(mode, OFFSET_GPIO_NUMBER(gpio))
149 #define BASIC_MODE_SHIFT(gpio) \ argument
150 BASIC_MODE_REG_SHIFT(OFFSET_GPIO_NUMBER(gpio))
151 #define BASIC_MODE_FROM_REG(data, gpio) \ argument
152 BASIC_MODE_REG_FROM_REG(data, OFFSET_GPIO_NUMBER(gpio))
175 #define EXTENDED_OFFSET_GPIO(gpio) (gpio < 24 ? gpio - 16 : gpio - 24) argument
184 #define EXTENDED_DISABLE(gpio) \ argument
185 EXTENDED_REG_DISABLE(EXTENDED_OFFSET_GPIO(gpio))
186 #define EXTENDED_ENABLE(gpio) \ argument
187 EXTENDED_REG_ENABLE(EXTENDED_OFFSET_GPIO(gpio))
188 #define EXTENDED_SET(gpio) \ argument
189 EXTENDED_REG_SET(EXTENDED_OFFSET_GPIO(gpio))
190 #define EXTENDED_CLR(gpio) \ argument
191 EXTENDED_REG_CLR(EXTENDED_OFFSET_GPIO(gpio))
200 static inline enum msp_gpio_data msp_gpio_pin_get(unsigned int gpio) in msp_gpio_pin_get() argument
204 if (gpio >= MSP_NUM_GPIOS) in msp_gpio_pin_get()
207 if (gpio < 16) { in msp_gpio_pin_get()
208 pinhi_mask = BASIC_DATA_MASK(gpio); in msp_gpio_pin_get()
215 pinhi_mask = EXTENDED_ENABLE(gpio) | EXTENDED_CLR(gpio); in msp_gpio_pin_get()
216 pinhi_mask2 = EXTENDED_SET(gpio); in msp_gpio_pin_get()
218 if (((*MSP_GPIO_DATA_REGISTER[gpio] & pinhi_mask) == pinhi_mask) || in msp_gpio_pin_get()
219 (*MSP_GPIO_DATA_REGISTER[gpio] & pinhi_mask2)) in msp_gpio_pin_get()
226 static inline void msp_gpio_pin_set(enum msp_gpio_data data, unsigned int gpio) in msp_gpio_pin_set() argument
228 if (gpio >= MSP_NUM_GPIOS) in msp_gpio_pin_set()
231 if (gpio < 16) { in msp_gpio_pin_set()
233 toggle_reg32(MSP_GPIO_DATA_REGISTER[gpio], in msp_gpio_pin_set()
234 BASIC_DATA_MASK(gpio)); in msp_gpio_pin_set()
236 set_reg32(MSP_GPIO_DATA_REGISTER[gpio], in msp_gpio_pin_set()
237 BASIC_DATA_MASK(gpio)); in msp_gpio_pin_set()
239 clear_reg32(MSP_GPIO_DATA_REGISTER[gpio], in msp_gpio_pin_set()
240 BASIC_DATA_MASK(gpio)); in msp_gpio_pin_set()
250 custom_read_reg32(MSP_GPIO_DATA_REGISTER[gpio], in msp_gpio_pin_set()
252 if (tmpdata & EXTENDED_CLR(gpio)) in msp_gpio_pin_set()
253 tmpdata = EXTENDED_CLR(gpio); in msp_gpio_pin_set()
255 tmpdata = EXTENDED_SET(gpio); in msp_gpio_pin_set()
256 custom_write_reg32(MSP_GPIO_DATA_REGISTER[gpio], in msp_gpio_pin_set()
262 newdata = EXTENDED_SET(gpio); in msp_gpio_pin_set()
264 newdata = EXTENDED_CLR(gpio); in msp_gpio_pin_set()
265 set_value_reg32(MSP_GPIO_DATA_REGISTER[gpio], in msp_gpio_pin_set()
272 static inline void msp_gpio_pin_hi(unsigned int gpio) in msp_gpio_pin_hi() argument
274 msp_gpio_pin_set(MSP_GPIO_HI, gpio); in msp_gpio_pin_hi()
278 static inline void msp_gpio_pin_lo(unsigned int gpio) in msp_gpio_pin_lo() argument
280 msp_gpio_pin_set(MSP_GPIO_LO, gpio); in msp_gpio_pin_lo()
284 static inline void msp_gpio_pin_toggle(unsigned int gpio) in msp_gpio_pin_toggle() argument
286 msp_gpio_pin_set(MSP_GPIO_TOGGLE, gpio); in msp_gpio_pin_toggle()
290 static inline enum msp_gpio_mode msp_gpio_pin_get_mode(unsigned int gpio) in msp_gpio_pin_get_mode() argument
295 if (gpio >= MSP_NUM_GPIOS) in msp_gpio_pin_get_mode()
298 data = *MSP_GPIO_MODE_REGISTER[gpio]; in msp_gpio_pin_get_mode()
300 if (gpio < 16) { in msp_gpio_pin_get_mode()
301 retval = BASIC_MODE_FROM_REG(data, gpio); in msp_gpio_pin_get_mode()
304 if (data & EXTENDED_ENABLE(gpio)) in msp_gpio_pin_get_mode()
317 static inline int msp_gpio_pin_mode(enum msp_gpio_mode mode, unsigned int gpio) in msp_gpio_pin_mode() argument
321 if ((1 << gpio) & ~MSP_GPIO_MODE_ALLOWED[mode]) in msp_gpio_pin_mode()
324 if (gpio >= MSP_NUM_GPIOS) in msp_gpio_pin_mode()
327 if (gpio < 16) { in msp_gpio_pin_mode()
328 modemask = BASIC_MODE_MASK(gpio); in msp_gpio_pin_mode()
329 newmode = BASIC_MODE(mode, gpio); in msp_gpio_pin_mode()
333 newmode = EXTENDED_DISABLE(gpio); in msp_gpio_pin_mode()
335 newmode = EXTENDED_ENABLE(gpio); in msp_gpio_pin_mode()
338 set_value_reg32(MSP_GPIO_MODE_REGISTER[gpio], modemask, newmode); in msp_gpio_pin_mode()