Re: [PATCH 07/12] drm/panel: Set sufficient voltage for panel nt37801

From: yuanjiey

Date: Wed Oct 29 2025 - 22:08:45 EST


On Wed, Oct 29, 2025 at 02:20:13PM +0200, Dmitry Baryshkov wrote:
> On Wed, Oct 29, 2025 at 09:58:39AM +0800, yuanjiey wrote:
> > On Mon, Oct 27, 2025 at 02:22:04PM +0200, Dmitry Baryshkov wrote:
> > > On Fri, Oct 24, 2025 at 02:00:50PM +0800, yuanjiey wrote:
> > > > On Thu, Oct 23, 2025 at 03:14:38PM +0300, Dmitry Baryshkov wrote:
> > > > > On Thu, Oct 23, 2025 at 04:06:04PM +0800, yuanjie yang wrote:
> > > > > > From: Yuanjie Yang <yuanjie.yang@xxxxxxxxxxxxxxxx>
> > > > > >
> > > > > > The NT37801 Sepc V1.0 chapter "5.7.1 Power On Sequence" states
> > > > > > VDDI=1.65V~1.95V, so set sufficient voltage for panel nt37801.
> > > > > >
> > > > > > Signed-off-by: Yongxing Mou <yongxing.mou@xxxxxxxxxxxxxxxx>
> > > > > > Signed-off-by: Yuanjie Yang <yuanjie.yang@xxxxxxxxxxxxxxxx>
> > > > > > ---
> > > > > > drivers/gpu/drm/panel/panel-novatek-nt37801.c | 5 +++++
> > > > > > 1 file changed, 5 insertions(+)
> > > > > >
> > > > > > diff --git a/drivers/gpu/drm/panel/panel-novatek-nt37801.c b/drivers/gpu/drm/panel/panel-novatek-nt37801.c
> > > > > > index d6a37d7e0cc6..7eda16e0c1f9 100644
> > > > > > --- a/drivers/gpu/drm/panel/panel-novatek-nt37801.c
> > > > > > +++ b/drivers/gpu/drm/panel/panel-novatek-nt37801.c
> > > > > > @@ -267,6 +267,11 @@ static int novatek_nt37801_probe(struct mipi_dsi_device *dsi)
> > > > > > if (ret < 0)
> > > > > > return ret;
> > > > > >
> > > > > > + ret = regulator_set_voltage(ctx->supplies[0].consumer,
> > > > > > + 1650000, 1950000);
> > > > >
> > > > > This should be done in the DT. Limit the voltage per the user.
> > > > Two reason:
> > > > 1.
> > > > I see https://patchwork.freedesktop.org/patch/354612/
> > > >
> > > > panel panel-novatek-nt35510.c also use regulator_set_voltage set right voltage,
> > > > so I do the same work.
> > >
> > > Please look for the majority rather than the exceptions. Out of all
> > > panel drivers only two set the voltage directly.
> > >
> > > >
> > > > 2. Kaanapali vddio regulator:
> > > >
> > > > vreg_l12b_1p8: ldo12 {
> > > > regulator-name = "vreg_l12b_1p8";
> > > > regulator-min-microvolt = <1200000>;
> > > > regulator-max-microvolt = <1800000>;
> > > >
> > > > Voltage is from 1.2~.1.8 V , So I can not set it 1.65~1.95 V from DT(1.95V is beyond the allowed range).
> > > > So I use regulator_set_voltage to set voltage, and regulator_set_voltage will choose the appropriate voltage.
> > >
> > > DT has to list the voltage values that work for the devices on that
> > > particular platform. So, ldo12 should be listing 1.64 - 1.8 V.
> > get it. I check downstream DT,
> > dosnstream DT:
> > regulator-min-microvolt = <1800000>;
> > regulator-max-microvolt = <1800000>;
> >
> > I test 1.8V works, So I will add 1.8V in next patch, do you think it is ok?
>
> What does panel's datasheet say?

The NT37801 Sepc V1.0 chapter "5.7.1 Power On Sequence" states
VDDI=1.65V~1.95V.

So I should follow datasheet to set DT ldo12: 1.64 - 1.8V ?

if you think it is ture, I will fix it in next patch.

Thanks,
Yuanjie

> --
> With best wishes
> Dmitry