dbg("received tx feedback (%d).\n", n);
for (i = 0; i < n; i++) {
- dbg("cookie:%x success:%d rix:%d tries:%d queue:%d\n",
- cmd->tx_status[i].cookie,
- cmd->tx_status[i].success,
- cmd->tx_status[i].rix,
- cmd->tx_status[i].tries,
- cmd->tx_status[i].queue);
+ dbg("cookie:%x info:%x\n",
+ cmd->_tx_status[i].cookie,
+ cmd->_tx_status[i].info);
}
return -1;
ar->cmd_cb = NULL;
ar->tx_cb = NULL;
}
+
+int carlu_gpio_test(struct carlu *ar)
+{
+ uint32_t gpio;
+
+#define CHK(cmd) \
+ do { \
+ int __err; \
+ if ((__err = cmd)) \
+ return __err; \
+ } while (0)
+
+ CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio));
+ info("GPIO state:%x\n", gpio);
+
+ /* turn both LEDs on */
+ CHK(carlu_cmd_write_mem(ar, AR9170_GPIO_REG_PORT_DATA,
+ AR9170_GPIO_PORT_LED_0 | AR9170_GPIO_PORT_LED_1));
+
+ SDL_Delay(700);
+
+ CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio));
+ info("GPIO state:%x\n", gpio);
+
+ /* turn LEDs off everything */
+ CHK(carlu_cmd_write_mem(ar, AR9170_GPIO_REG_PORT_DATA, 0));
+
+ CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio));
+ info("GPIO state:%x\n", gpio);
+}