[PATCH 15/16] backlight: remove pandora_bl
H. Nikolaus Schaller
hns at goldelico.com
Mon Aug 10 06:23:12 PDT 2026
> Am 10.08.2026 um 14:39 schrieb Andreas Kemnade <andreas at kemnade.info>:
>
> On Mon, 10 Aug 2026 12:45:16 +0200
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
>
>> Hi Daniel,
>>
>>> Am 10.08.2026 um 12:35 schrieb Daniel Thompson <danielt at kernel.org>:
>>>
>>> On Sat, Jul 11, 2026 at 08:02:02AM +0200, H. Nikolaus Schaller wrote:
>>>> Retire the platform specific pandora backlight driver since
>>>> it can now be replaced by twl_pm and device tree.
>>>>
>>>> Signed-off-by: H. Nikolaus Schaller <hns at goldelico.com>
>>>
>>> Yay!
>>>
>>> Reviewed-by: Daniel Thompson (RISCstar) <danielt at kernel.org>
>>
>> Well, there were some good comments by Sahiko to the prerequisites of this patch,
>> because it has one speciality the PWM BL driver does not handle (avoid
>> interpretation of PWM signals as W1 protocol).
>>
>> I haven't found time to work on this, so we can't remove this yet.
>>
>> In the end it may either remain a pandora_bl driver (converted to DT)
>> or become a patch for something else.
>>
> But then it is a TPS61161 on top of PWM, not a pandora driver.
> And then there might be just a quirk for that chip in the pwm_bl using
> triggered by a compatible. I guess the quirk is this:
>
>
> if (priv->old_state == PANDORABL_WAS_OFF) {
> - /*
> - * set PWM duty cycle to max. TPS61161 seems to use this
> - * to calibrate it's PWM sensitivity when it starts.
> - */
> - twl_i2c_write_u8(TWL_MODULE_PWM, MAX_VALUE, TWL_PWM0_OFF);
> -
> - /* first enable clock, then PWM0 out */
> - twl_i2c_read_u8(TWL4030_MODULE_INTBR, &r, TWL_INTBR_GPBR1);
> - r &= ~PWM0_ENABLE;
> - r |= PWM0_CLK_ENABLE;
> - twl_i2c_write_u8(TWL4030_MODULE_INTBR, r, TWL_INTBR_GPBR1);
> - r |= PWM0_ENABLE;
> - twl_i2c_write_u8(TWL4030_MODULE_INTBR, r, TWL_INTBR_GPBR1);
> -
> - /*
> - * TI made it very easy to enable digital control, so easy that
> - * it often triggers unintentionally and disabes PWM control,
> - * so wait until 1 wire mode detection window ends.
> - */
> - usleep_range(2000, 10000);
> - }
>
Yes that is what I mean. It needs to be ported somewhere. If it can be ported to
some compatible = "pwm_bl_for_tps61161" or what fits best it will be fine. Or it
could be in some compatible = "pandora_bl" driver.
Has to be worked out when the development machines are not blocked by 3 or 4 other
projects already running in parallel :)
BR,
Nikolaus
More information about the linux-arm-kernel
mailing list