aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortscn92 <tscn@kamstrup.com>2020-04-06 16:05:08 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2020-06-06 18:01:57 +0100
commit93e4bed0566fa783fc5f2524920f11ba250ea7dd (patch)
treed64385a7ed7f8b972308ff4e159e706615dd82c9 /src
parentae4113d877c8f2a0518fb3246610b1518ce7c03f (diff)
downloadriscv-openocd-93e4bed0566fa783fc5f2524920f11ba250ea7dd.zip
riscv-openocd-93e4bed0566fa783fc5f2524920f11ba250ea7dd.tar.gz
riscv-openocd-93e4bed0566fa783fc5f2524920f11ba250ea7dd.tar.bz2
jtag/drivers/bcm2835gpio: bcm2835gpio_init has been updated
For jtag/drivers/bcm2835gpio dev_mem_fd has been updated within bcm2835gpio_init with the add on of gpio to mem. This permits the access to memory of GPIO without the need for root access. For failed attempt, a fallback to original memory follows. It should be noted that any printed error is relative to original memory ("dev/mem"). Tested on EFM32GG12B390F board Change-Id: I4540bdf62fb3b91a51221e277881adfae138dcc5 Signed-off-by: tscn92 <tscn@kamstrup.com> Reviewed-on: http://openocd.zylin.com/5568 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/jtag/drivers/bcm2835gpio.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/jtag/drivers/bcm2835gpio.c b/src/jtag/drivers/bcm2835gpio.c
index bbc87d3..df557c5 100644
--- a/src/jtag/drivers/bcm2835gpio.c
+++ b/src/jtag/drivers/bcm2835gpio.c
@@ -466,7 +466,11 @@ static int bcm2835gpio_init(void)
return ERROR_JTAG_INIT_FAILED;
}
- dev_mem_fd = open("/dev/mem", O_RDWR | O_SYNC);
+ dev_mem_fd = open("/dev/gpiomem", O_RDWR | O_SYNC);
+ if (dev_mem_fd < 0) {
+ LOG_DEBUG("Cannot open /dev/gpiomem, fallback to /dev/mem");
+ dev_mem_fd = open("/dev/mem", O_RDWR | O_SYNC);
+ }
if (dev_mem_fd < 0) {
perror("open");
return ERROR_JTAG_INIT_FAILED;