[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