Lines Matching refs:gpio
2 * I2C bitbang implementation using generic gpio
24 * This is like an abstract class for gpio, a real implementation provides
25 * functions for the ops that use the underlying OS gpio arrangements.
34 ctx->gpio->mode(ctx->scl, LWSGGPIO_FL_WRITE | LWSGGPIO_FL_READ | LWSGGPIO_FL_PULLUP);
35 ctx->gpio->mode(ctx->sda, LWSGGPIO_FL_WRITE | LWSGGPIO_FL_READ | LWSGGPIO_FL_PULLUP);
45 ctx->gpio->set(ctx->sda, 1);
46 ctx->gpio->set(ctx->scl, 1);
49 if (!ctx->gpio->read(ctx->sda))
52 ctx->gpio->set(ctx->sda, 0);
54 ctx->gpio->set(ctx->scl, 0);
64 ctx->gpio->set(ctx->sda, 0);
65 ctx->gpio->set(ctx->scl, 1);
68 while (!ctx->gpio->read(ctx->scl))
71 ctx->gpio->set(ctx->sda, 1);
82 ctx->gpio->set(ctx->sda, !!(data & (1 << 7)));
84 ctx->gpio->set(ctx->scl, 1);
87 ctx->gpio->set(ctx->scl, 0);
90 ctx->gpio->set(ctx->sda, 1);
92 ctx->gpio->set(ctx->scl, 1);
94 n = ctx->gpio->read(ctx->sda);
95 ctx->gpio->set(ctx->scl, 0);
107 ctx->gpio->set(ctx->sda, 1);
110 ctx->gpio->set(ctx->scl, 0);
112 ctx->gpio->set(ctx->scl, 1);
114 if (ctx->gpio->read(ctx->sda))
117 ctx->gpio->set(ctx->scl, 0);
127 ctx->gpio->set(ctx->scl, 0);
128 ctx->gpio->set(ctx->sda, !!ack);
130 ctx->gpio->set(ctx->scl, 1);
132 ctx->gpio->set(ctx->scl, 0);
134 ctx->gpio->set(ctx->sda, 1);