Re: regulator: mt6358 vdram2_idx/vsel_mask/ vsel_shift setting seems wrong

From: Hsin-hsiung Wang
Date: Wed Jun 23 2021 - 01:04:36 EST


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