• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/router/libbcm/

Lines Matching defs:gpio_pin

82 static void bcmgpio_timercb (bcm_timer_id tid, int gpio_pin);
200 bcmgpio_timercb (bcm_timer_id tid, int gpio_pin)
204 if (bcmgpio_info[gpio_pin].strobing) {
205 bitmask = (unsigned long) 1 << gpio_pin;
207 bcmgpio_info[gpio_pin].timer_count++;
209 if (bcmgpio_info[gpio_pin].timer_count == bcmgpio_info[gpio_pin].on_time) {
212 else if (bcmgpio_info[gpio_pin].timer_count > bcmgpio_info[gpio_pin].on_time) {
213 if (bcmgpio_info[gpio_pin].timer_count == bcmgpio_info[gpio_pin].strobe_period) {
214 bcmgpio_info[gpio_pin].timer_count = 0;
216 if (bcmgpio_info[gpio_pin].tot_strobes > 0) {
217 bcmgpio_info[gpio_pin].strobe_count++;
219 if (bcmgpio_info[gpio_pin].strobe_count == bcmgpio_info[gpio_pin].tot_strobes) {
220 bcmgpio_strobe_stop (gpio_pin);
221 bcmgpio_out (bitmask, bcmgpio_info[gpio_pin].orig_state);
222 if (bcmgpio_info[gpio_pin].strobe_done != NULL)
223 *(bcmgpio_info[gpio_pin].strobe_done) = 1;
239 bcmgpio_connect (int gpio_pin, bcmgpio_dirn_t gpio_dirn)
243 assert ((gpio_pin >= 0) && (gpio_pin <= BCMGPIO_MAXINDEX));
250 if (bcmgpio_info[gpio_pin].connected)
253 bitmask = ((unsigned long) 1 << gpio_pin);
255 bcmgpio_info[gpio_pin].connected = 1;
256 bcmgpio_info[gpio_pin].dirn = gpio_dirn;
276 bcmgpio_disconnect (int gpio_pin)
280 assert ((gpio_pin >= 0) && (gpio_pin <= BCMGPIO_MAXINDEX));
282 if (! bcmgpio_info[gpio_pin].connected)
285 bitmask = ((unsigned long) 1 << gpio_pin);
287 if (bcmgpio_info[gpio_pin].strobing)
288 bcmgpio_strobe_stop (gpio_pin);
290 bcmgpio_info[gpio_pin].connected = 0;
333 bcmgpio_strobe_start (int gpio_pin, bcmgpio_strobe_t *strobe_info)
339 assert ((gpio_pin >= 0) && (gpio_pin <= BCMGPIO_MAXINDEX));
346 if (! bcmgpio_info[gpio_pin].connected)
349 if (bcmgpio_info[gpio_pin].dirn == BCMGPIO_DIRN_IN)
352 if (bcmgpio_info[gpio_pin].strobing)
355 if ((status = bcm_timer_create (strobe_info->timer_module, &bcmgpio_info[gpio_pin].timer_id)) != 0) {
356 bcmgpio_info[gpio_pin].timer_id = 0;
361 if ((status = bcm_timer_connect (bcmgpio_info[gpio_pin].timer_id, (bcm_timer_cb) bcmgpio_timercb, (int) gpio_pin)) != 0) {
362 bcm_timer_delete (bcmgpio_info[gpio_pin].timer_id);
363 bcmgpio_info[gpio_pin].timer_id = 0;
373 if ((status = bcm_timer_settime (bcmgpio_info[gpio_pin].timer_id, &its)) != 0) {
374 bcm_timer_delete (bcmgpio_info[gpio_pin].timer_id);
375 bcmgpio_info[gpio_pin].timer_id = 0;
382 bcmgpio_info[gpio_pin].orig_state = regout & ((unsigned long) 1 << gpio_pin);
384 bcmgpio_info[gpio_pin].strobe_period = strobe_info->strobe_period_in_ms / BCMGPIO_STRB_MS_TIME;
385 bcmgpio_info[gpio_pin].on_time =
386 (strobe_info->duty_percent * bcmgpio_info[gpio_pin].strobe_period) / 100;
387 bcmgpio_info[gpio_pin].tot_strobes = strobe_info->num_strobes;
388 bcmgpio_info[gpio_pin].strobe_count = 0;
389 bcmgpio_info[gpio_pin].timer_count = 0;
391 bcmgpio_info[gpio_pin].strobing = 1;
393 bcmgpio_info[gpio_pin].strobe_done = strobe_info->strobe_done;
394 if (bcmgpio_info[gpio_pin].strobe_done != NULL)
395 *(bcmgpio_info[gpio_pin].strobe_done) = 0;
402 bcmgpio_strobe_stop (int gpio_pin)
404 assert ((gpio_pin >= 0) && (gpio_pin <= BCMGPIO_MAXINDEX));
406 if (! bcmgpio_info[gpio_pin].connected)
409 if (bcmgpio_info[gpio_pin].strobing) {
410 bcmgpio_info[gpio_pin].strobing = 0;
412 if (bcmgpio_info[gpio_pin].timer_id != 0) {
413 bcm_timer_delete (bcmgpio_info[gpio_pin].timer_id);
414 bcmgpio_info[gpio_pin].timer_id = 0;