[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFRkauDjKaEmtEoUH94wkT0Xd9-XL3NOYyvB3haYVT+BrAK-Dw@mail.gmail.com>
Date: Tue, 22 Jun 2021 11:20:08 +0800
From: Axel Lin <axel.lin@...ics.com>
To: Hsin-Hsiung Wang <hsin-hsiung.wang@...iatek.com>
Cc: Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
LKML <linux-kernel@...r.kernel.org>,
linux-mediatek@...ts.infradead.org
Subject: regulator: mt6358 vdram2_idx/vsel_mask/ vsel_shift setting seems wrong
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
Powered by blists - more mailing lists