[PATCH] drivers: led: bcm6858: set the correct led polarity register
Philippe REYNES
philippe.reynes at softathome.com
Fri Nov 13 10:30:14 CET 2020
Le 29/10/2020 à 18:27, Steven Lawrance a écrit :
> 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 at softathome.com>
Reviewed-by: Philippe Reynes <philippe.reynes at softathome.com>
> ---
> drivers/led/led_bcm6858.c | 8 ++++----
> 1 file 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;
More information about the U-Boot
mailing list