drivers/bcm2835gpio: Add support for activity LED
authorSteve Marple <stevemarple@googlemail.com>
Sun, 14 Aug 2022 10:01:08 +0000 (11:01 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Tue, 13 Sep 2022 22:17:23 +0000 (22:17 +0000)
Signed-off-by: Steve Marple <stevemarple@googlemail.com>
Change-Id: I472385753507167c93328b9b4dc62d5d61c86f74
Reviewed-on: https://review.openocd.org/c/openocd/+/7124
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/jtag/drivers/bcm2835gpio.c

index f1538dda7f13a7b91db4457c001f579e48a460aa..50db87a930b4444b9d88bd75ac1377638e28057a 100644 (file)
@@ -341,13 +341,21 @@ static void bcm2835gpio_munmap(void)
        }
 }
 
+static int bcm2835gpio_blink(int on)
+{
+       if (is_gpio_config_valid(ADAPTER_GPIO_IDX_LED))
+               set_gpio_value(&adapter_gpio_config[ADAPTER_GPIO_IDX_LED], on);
+
+       return ERROR_OK;
+}
+
 static struct bitbang_interface bcm2835gpio_bitbang = {
        .read = bcm2835gpio_read,
        .write = bcm2835gpio_write,
        .swdio_read = bcm2835_swdio_read,
        .swdio_drive = bcm2835_swdio_drive,
        .swd_write = bcm2835gpio_swd_write_generic,
-       .blink = NULL
+       .blink = bcm2835gpio_blink,
 };
 
 static int bcm2835gpio_init(void)
@@ -440,6 +448,7 @@ static int bcm2835gpio_init(void)
        }
 
        initialize_gpio(ADAPTER_GPIO_IDX_SRST);
+       initialize_gpio(ADAPTER_GPIO_IDX_LED);
 
        return ERROR_OK;
 }
@@ -467,6 +476,7 @@ static int bcm2835gpio_quit(void)
        }
 
        restore_gpio(ADAPTER_GPIO_IDX_SRST);
+       restore_gpio(ADAPTER_GPIO_IDX_LED);
 
        bcm2835gpio_munmap();