Re: [PATCH 4/8] leds: qcom-lpg: Add support for PMI632 LPG

From: Konrad Dybcio
Date: Thu Apr 13 2023 - 19:33:54 EST




On 14.04.2023 01:17, Luca Weiss wrote:
> The PMI632 PMIC contains 5 PWM channels, 3 of which can be used for
> LEDs.
>
> For the LED pattern it doesn't have LUT like other PMICs but uses SDAM
> instead. This is not currently implemented in the driver but since LPG
> works fine without it, add support for the PMIC now.
>
> Signed-off-by: Luca Weiss <luca@xxxxxxxxx>
> ---
Matches everything i see in 4.19!

Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>

Konrad
> drivers/leds/rgb/leds-qcom-lpg.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/leds/rgb/leds-qcom-lpg.c b/drivers/leds/rgb/leds-qcom-lpg.c
> index 67f48f222109..51763ecb8c1e 100644
> --- a/drivers/leds/rgb/leds-qcom-lpg.c
> +++ b/drivers/leds/rgb/leds-qcom-lpg.c
> @@ -1353,6 +1353,20 @@ static const struct lpg_data pm8994_lpg_data = {
> },
> };
>
> +/* PMI632 uses SDAM instead of LUT for pattern */
> +static const struct lpg_data pmi632_lpg_data = {
> + .triled_base = 0xd000,
> +
> + .num_channels = 5,
> + .channels = (const struct lpg_channel_data[]) {
> + { .base = 0xb300, .triled_mask = BIT(7) },
> + { .base = 0xb400, .triled_mask = BIT(6) },
> + { .base = 0xb500, .triled_mask = BIT(5) },
> + { .base = 0xb600 },
> + { .base = 0xb700 },
> + },
> +};
> +
> static const struct lpg_data pmi8994_lpg_data = {
> .lut_base = 0xb000,
> .lut_size = 24,
> @@ -1436,6 +1450,7 @@ static const struct of_device_id lpg_of_table[] = {
> { .compatible = "qcom,pm8916-pwm", .data = &pm8916_pwm_data },
> { .compatible = "qcom,pm8941-lpg", .data = &pm8941_lpg_data },
> { .compatible = "qcom,pm8994-lpg", .data = &pm8994_lpg_data },
> + { .compatible = "qcom,pmi632-lpg", .data = &pmi632_lpg_data },
> { .compatible = "qcom,pmi8994-lpg", .data = &pmi8994_lpg_data },
> { .compatible = "qcom,pmi8998-lpg", .data = &pmi8998_lpg_data },
> { .compatible = "qcom,pmc8180c-lpg", .data = &pm8150l_lpg_data },
>