aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/bcm2835gpio.c
diff options
context:
space:
mode:
authorSean Cross <sean@xobs.io>2016-08-18 05:16:29 +0000
committerPaul Fertser <fercerpav@gmail.com>2016-12-08 12:34:09 +0000
commit1461237073e377d315799999b8e29f1605084449 (patch)
tree9c1d46fc152bd9763bb8490c46358e95a3deaadf /src/jtag/drivers/bcm2835gpio.c
parent50dd7207eaae9d2d1f02e7996135d6257c03b395 (diff)
downloadriscv-openocd-1461237073e377d315799999b8e29f1605084449.zip
riscv-openocd-1461237073e377d315799999b8e29f1605084449.tar.gz
riscv-openocd-1461237073e377d315799999b8e29f1605084449.tar.bz2
jtag: drivers: bcm2835gpio: set 4ma drive, slow slew rate
Both the drive strength and slew rate are currently set to very high values. This causes the waveforms to overshoot and be less reliable when operating at high speed. This patch lowers the slew rate and sets the drive strength to 4ma, improving the waveform output. Change-Id: I761d35cd64bc54a9e94043904ef00a003b056af0 Signed-off-by: Sean Cross <sean@xobs.io> Reviewed-on: http://openocd.zylin.com/3707 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Philipp Guehring <pg@futureware.at>
Diffstat (limited to 'src/jtag/drivers/bcm2835gpio.c')
-rw-r--r--src/jtag/drivers/bcm2835gpio.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/jtag/drivers/bcm2835gpio.c b/src/jtag/drivers/bcm2835gpio.c
index 1622b22..a41caf0 100644
--- a/src/jtag/drivers/bcm2835gpio.c
+++ b/src/jtag/drivers/bcm2835gpio.c
@@ -468,8 +468,8 @@ static int bcm2835gpio_init(void)
return ERROR_JTAG_INIT_FAILED;
}
- /* set 16mA drive strength */
- pads_base[BCM2835_PADS_GPIO_0_27_OFFSET] = 0x5a000018 + 7;
+ /* set 4mA drive strength, slew rate limited, hysteresis on */
+ pads_base[BCM2835_PADS_GPIO_0_27_OFFSET] = 0x5a000008 + 1;
tdo_gpio_mode = MODE_GPIO(tdo_gpio);
tdi_gpio_mode = MODE_GPIO(tdi_gpio);