Lines Matching defs:pin

78 static void	mv_gpio_intr_handler(int pin);
84 static void mv_gpio_blink(uint32_t pin, uint8_t enable);
85 static void mv_gpio_polarity(uint32_t pin, uint8_t enable);
86 static void mv_gpio_level(uint32_t pin, uint8_t enable);
87 static void mv_gpio_edge(uint32_t pin, uint8_t enable);
88 static void mv_gpio_out_en(uint32_t pin, uint8_t enable);
89 static void mv_gpio_int_ack(uint32_t pin);
90 static void mv_gpio_value_set(uint32_t pin, uint8_t val);
91 static uint32_t mv_gpio_value_get(uint32_t pin);
252 void (*hand)(void *), void *arg, int pin, int flags, void **cookiep)
257 if (pin < 0 || pin >= mv_gpio_softc->pin_num)
259 event = gpio_events[pin];
261 error = intr_event_create(&event, (void *)pin, 0, pin,
266 "gpio%d:", pin);
269 gpio_events[pin] = event;
278 mv_gpio_intr_mask(int pin)
281 if (pin >= mv_gpio_softc->pin_num)
284 if (gpio_setup[pin] & MV_GPIO_IN_IRQ_EDGE)
285 mv_gpio_edge(pin, 0);
287 mv_gpio_level(pin, 0);
291 mv_gpio_intr_unmask(int pin)
294 if (pin >= mv_gpio_softc->pin_num)
297 if (gpio_setup[pin] & MV_GPIO_IN_IRQ_EDGE)
298 mv_gpio_edge(pin, 1);
300 mv_gpio_level(pin, 1);
304 mv_gpio_intr_handler(int pin)
308 event = gpio_events[pin];
316 mv_gpio_configure(uint32_t pin, uint32_t flags)
319 if (pin >= mv_gpio_softc->pin_num)
323 mv_gpio_blink(pin, 1);
325 mv_gpio_polarity(pin, 1);
327 mv_gpio_edge(pin, 1);
329 mv_gpio_level(pin, 1);
331 gpio_setup[pin] = flags;
337 mv_gpio_out(uint32_t pin, uint8_t val, uint8_t enable)
340 mv_gpio_value_set(pin, val);
341 mv_gpio_out_en(pin, enable);
345 mv_gpio_in(uint32_t pin)
348 return (mv_gpio_value_get(pin) ? 1 : 0);
368 mv_gpio_reg_set(uint32_t reg, uint32_t pin)
373 reg_val |= GPIO(pin);
378 mv_gpio_reg_clear(uint32_t reg, uint32_t pin)
383 reg_val &= ~(GPIO(pin));
388 mv_gpio_out_en(uint32_t pin, uint8_t enable)
392 if (pin >= mv_gpio_softc->pin_num)
395 if (pin >= GPIO_PINS_PER_REG) {
397 pin -= GPIO_PINS_PER_REG;
402 mv_gpio_reg_clear(reg, pin);
404 mv_gpio_reg_set(reg, pin);
408 mv_gpio_blink(uint32_t pin, uint8_t enable)
412 if (pin >= mv_gpio_softc->pin_num)
415 if (pin >= GPIO_PINS_PER_REG) {
417 pin -= GPIO_PINS_PER_REG;
422 mv_gpio_reg_set(reg, pin);
424 mv_gpio_reg_clear(reg, pin);
428 mv_gpio_polarity(uint32_t pin, uint8_t enable)
432 if (pin >= mv_gpio_softc->pin_num)
435 if (pin >= GPIO_PINS_PER_REG) {
437 pin -= GPIO_PINS_PER_REG;
442 mv_gpio_reg_set(reg, pin);
444 mv_gpio_reg_clear(reg, pin);
448 mv_gpio_level(uint32_t pin, uint8_t enable)
452 if (pin >= mv_gpio_softc->pin_num)
455 if (pin >= GPIO_PINS_PER_REG) {
457 pin -= GPIO_PINS_PER_REG;
462 mv_gpio_reg_set(reg, pin);
464 mv_gpio_reg_clear(reg, pin);
468 mv_gpio_edge(uint32_t pin, uint8_t enable)
472 if (pin >= mv_gpio_softc->pin_num)
475 if (pin >= GPIO_PINS_PER_REG) {
477 pin -= GPIO_PINS_PER_REG;
482 mv_gpio_reg_set(reg, pin);
484 mv_gpio_reg_clear(reg, pin);
488 mv_gpio_int_ack(uint32_t pin)
492 if (pin >= mv_gpio_softc->pin_num)
495 if (pin >= GPIO_PINS_PER_REG) {
497 pin -= GPIO_PINS_PER_REG;
501 mv_gpio_reg_clear(reg, pin);
505 mv_gpio_value_get(uint32_t pin)
509 if (pin >= mv_gpio_softc->pin_num)
512 if (pin >= GPIO_PINS_PER_REG) {
514 pin -= GPIO_PINS_PER_REG;
520 return (reg_val & GPIO(pin));
524 mv_gpio_value_set(uint32_t pin, uint8_t val)
528 if (pin >= mv_gpio_softc->pin_num)
531 if (pin >= GPIO_PINS_PER_REG) {
533 pin -= GPIO_PINS_PER_REG;
538 mv_gpio_reg_set(reg, pin);
540 mv_gpio_reg_clear(reg, pin);
548 int dir, flags, pin;
570 if (OF_getprop(ctrl, "pin-count", &pincnt, sizeof(pcell_t)) < 0)
582 pin = fdt32_to_cpu(gpios[0]);
586 mv_gpio_configure(pin, flags);
590 mv_gpio_out_en(pin, 0);
594 mv_gpio_out(pin, 0, 1);
597 mv_gpio_out(pin, 1, 1);