summaryrefslogtreecommitdiffstats
path: root/sys/arm/ti
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2013-12-06 18:09:10 +0000
committerloos <loos@FreeBSD.org>2013-12-06 18:09:10 +0000
commitae3326fa9bf249382d52d35c3fe52d16fdd40337 (patch)
treeb8d4e8b7795eca60e66466f7a9d7993e8f1cae7b /sys/arm/ti
parent57309a802033303f21366c5b7648094711f59370 (diff)
downloadFreeBSD-src-ae3326fa9bf249382d52d35c3fe52d16fdd40337.zip
FreeBSD-src-ae3326fa9bf249382d52d35c3fe52d16fdd40337.tar.gz
Fix the pin value reading on AM335x. Because of the inverted logic it was
always returning '0' for all the reads, even for the outputs. It is now known to work with gpioiic(4) and gpioled(4). Approved by: adrian (mentor) Tested on: BBB
Diffstat (limited to 'sys/arm/ti')
-rw-r--r--sys/arm/ti/ti_gpio.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/ti/ti_gpio.c b/sys/arm/ti/ti_gpio.c
index 4edb10e..5469d8b 100644
--- a/sys/arm/ti/ti_gpio.c
+++ b/sys/arm/ti/ti_gpio.c
@@ -543,9 +543,9 @@ ti_gpio_pin_get(device_t dev, uint32_t pin, unsigned int *value)
/* Read the value on the pin */
if (val & mask)
- *value = (ti_gpio_read_4(sc, bank, TI_GPIO_DATAOUT) & mask) ? 1 : 0;
- else
*value = (ti_gpio_read_4(sc, bank, TI_GPIO_DATAIN) & mask) ? 1 : 0;
+ else
+ *value = (ti_gpio_read_4(sc, bank, TI_GPIO_DATAOUT) & mask) ? 1 : 0;
TI_GPIO_UNLOCK(sc);
OpenPOWER on IntegriCloud