regulator: mt6358 vdram2_idx/vsel_mask/ vsel_shift setting seems wrong

Hsin-hsiung Wang hsin-hsiung.wang at mediatek.com
Tue Jun 22 22:02:47 PDT 2021


Hi, Axel sir
After checking the spec, the vsel_mask is wrong.
I submit a patch to fix it.
Many thanks for the correcting. :)

On Tue, 2021-06-22 at 11:20 +0800, Axel Lin wrote:
> Hi Hsin-Hsiung,
> 
> In drivers/regulator/mt6358-regulator.c:
> 
> static const u32 vdram2_idx[] = {
>         0, 12,
> };
> 
> MT6358_LDO("ldo_vdram2", VDRAM2, vdram2_voltages, vdram2_idx,
>            MT6358_LDO_VDRAM2_CON0, 0, MT6358_LDO_VDRAM2_ELR0, 0x10, 0),
> 
> With current setting the vsel_mask does not match the vsel_shift setting
>    So in set_voltage_sel, it will call regmap_update_bits with
>    mask = 0x10
>    val = idx << 0
>    No matter idx is 0 (pvol[0]) or 12 (pvol[1]), it will clear vsel_mask bits
> 
> I don't have the datasheet to check, so please help to double check the
> vdram2_idx, vsel_mask and vsel_shift settings for ldo_vdram2.
> I think at least one of the settings is wrong.
> 
> Regards,
> Axel



More information about the Linux-mediatek mailing list