+
+int carlu_gpio_test(struct carlu *ar)
+{
+ uint32_t gpio;
+
+#define CHK(cmd) \
+ do { \
+ int __err = cmd; \
+ if ((__err)) \
+ 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);
+}
+
+int carlu_random_test(struct carlu *ar)
+{
+ uint32_t buf[4096];
+ int err, i;
+
+ err = carlu_cmd_mem_watch(ar, AR9170_RAND_REG_NUM, sizeof(buf), buf);
+ if (err)
+ return err;
+
+ for (i = 0; i < ARRAY_SIZE(buf); i++)
+ info("%.2x %.2x ", buf[i] & 0xff, buf[i] >> 8);
+
+ info("\n");
+}