Lines Matching refs:bit
239 aprint_normal(" bit %d", paa->paa_bit);
245 at91pio_read(struct at91pio_softc *sc, int bit)
248 sc->pins[bit].pin_caps = 0;
250 return (PIO_READ(sc, PIO_PDSR) >> bit) & 1;
254 at91pio_set(struct at91pio_softc *sc, int bit)
257 sc->pins[bit].pin_caps = 0;
259 PIO_WRITE(sc, PIO_SODR, (1U << bit));
263 at91pio_clear(struct at91pio_softc *sc, int bit)
266 sc->pins[bit].pin_caps = 0;
268 PIO_WRITE(sc, PIO_CODR, (1U << bit));
272 at91pio_in(struct at91pio_softc *sc, int bit)
275 sc->pins[bit].pin_caps = 0;
277 PIO_WRITE(sc, PIO_ODR, (1U << bit));
281 at91pio_out(struct at91pio_softc *sc, int bit)
284 sc->pins[bit].pin_caps = 0;
286 PIO_WRITE(sc, PIO_OER, (1U << bit));
289 void at91pio_per(struct at91pio_softc *sc, int bit, int perab)
292 sc->pins[bit].pin_caps = 0;
296 PIO_WRITE(sc, PIO_PER, (1U << bit));
299 PIO_WRITE(sc, PIO_ASR, (1U << bit));
300 PIO_WRITE(sc, PIO_PDR, (1U << bit));
303 PIO_WRITE(sc, PIO_BSR, (1U << bit));
304 PIO_WRITE(sc, PIO_PDR, (1U << bit));
313 at91pio_intr_establish(struct at91pio_softc *sc, int bit,
318 DPRINTFN(1, ("at91pio_intr_establish: port=%s, bit=%d\n", at91_peripheral_name(sc->sc_pid), bit));
320 if (bit < 0 || bit >= AT91PIO_NPINS)
323 ireq = &sc->ireq[bit];
332 PIO_WRITE(sc, PIO_IDR, (1U << bit)); /* disable interrupt for now */
333 at91pio_in(sc, bit); /* make sure pin is input */
335 sc->pins[bit].pin_caps = 0;
339 at91pio_bit_set(sc, sc->xinttype1, bit);
341 at91pio_bit_clear(sc, sc->xinttype1, bit);
343 at91pio_bit_set(sc, sc->xinttype2, bit);
345 at91pio_bit_clear(sc, sc->xinttype2, bit);
347 PIO_WRITE(sc, PIO_IFER, (1U << bit));
349 PIO_WRITE(sc, PIO_IFDR, (1U << bit));
362 PIO_WRITE(sc, PIO_IER, (1U << bit)); // enable interrupt
368 at91pio_intr_disestablish(struct at91pio_softc *sc, int bit, void *cookie)
373 DPRINTFN(1, ("at91pio_intr_disestablish: port=%s, bit=%d\n", at91_peripheral_name(sc->sc_pid), bit));
375 if (bit < 0 || bit >= AT91PIO_NPINS)
381 ireq = &sc->ireq[bit];
386 PIO_WRITE(sc, PIO_IDR, (1U << bit));
405 int bit;
413 bit = ffs(isr) - 1;
414 isr &= ~(1U << bit);
416 if (bit < 0)
419 if (sc->ireq[bit].ireq_func) {
420 int s = _splraise(sc->ireq[bit].ireq_ipl);
421 (*sc->ireq[bit].ireq_func)(sc->ireq[bit].ireq_arg);