summaryrefslogtreecommitdiff
path: root/drivers/led
diff options
context:
space:
mode:
authorSteven Lawrance <steven.lawrance@softathome.com>2020-10-29 18:27:34 +0100
committerTom Rini <trini@konsulko.com>2020-11-19 09:45:49 -0500
commite04072536efcbe504596ea980077eb63c52082b0 (patch)
tree232e3a5d0822e276b17bb305e3e9602f1562b490 /drivers/led
parentc904a0b762aedccf603ce492687450efb0e8924c (diff)
downloadu-boot-socfpga-e04072536efcbe504596ea980077eb63c52082b0.tar.gz
drivers: led: bcm6858: set the correct led polarity register
This change sets the output (hardware) polarity register instead of the input (software) polarity register for the bcm6858 LED controller. The logic was inverted (a LED configued active high behaved as active low). Signed-off-by: Steven Lawrance <steven.lawrance@softathome.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
Diffstat (limited to 'drivers/led')
-rw-r--r--drivers/led/led_bcm6858.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/led/led_bcm6858.c b/drivers/led/led_bcm6858.c
index b415d8b2b4..511185ffad 100644
--- a/drivers/led/led_bcm6858.c
+++ b/drivers/led/led_bcm6858.c
@@ -40,8 +40,8 @@
#define LED_FLASH_RATE_CONTROL_REG0 0x10
/* Soft LED input register */
#define LED_SW_LED_IP_REG 0xb8
-/* Soft LED input polarity register */
-#define LED_SW_LED_IP_PPOL_REG 0xbc
+/* Parallel LED Output Polarity Register */
+#define LED_PLED_OP_PPOL_REG 0xc0
struct bcm6858_led_priv {
void __iomem *regs;
@@ -198,9 +198,9 @@ static int bcm6858_led_probe(struct udevice *dev)
/* configure the polarity */
if (dev_read_bool(dev, "active-low"))
- clrbits_32(regs + LED_SW_LED_IP_PPOL_REG, 1 << pin);
+ clrbits_32(regs + LED_PLED_OP_PPOL_REG, 1 << pin);
else
- setbits_32(regs + LED_SW_LED_IP_PPOL_REG, 1 << pin);
+ setbits_32(regs + LED_PLED_OP_PPOL_REG, 1 << pin);
}
return 0;