On 27/09/2021 13:37, Guilherme G. Piccoli wrote: > Commit 2317b87a2a6f ("arm64: dts: qcom: db820c: Add vdd_gfx and tie it into mmcc") > introduced this voltage regulator which seems to be essential for the GPU, > according to the board schematics [0]. The problem is that such commit sets > the regulator min/max voltage range to a static value, which is a bit lower than > the range supported to such regulator [1]. With that, the GPU is not stable > as per my experiments (in a Dragonboard 820c-based board) - I've observed > sudden reboots into a FW bad state. > > More than that, my experiment showed that this regulator must be set to > always-on - this idea came from a commit in Linaro's tree, from Rajendra [2]. > With the voltage range updated plus set as always-on, the GPU is working > correctly, in a stable fashion. > > [0] See page 9 (VDD_GFX), at > https://www.96boards.org/documentation/consumer/dragonboard/dragonboard820c/hardware-docs/files/db820c-schematics.pdf > > [1] See section 3.5.3 (FT-SMPS) in the "PMI8994/PMI8996 Power Management IC", > at https://developer.qualcomm.com/download/sd820e/pmi8994pmi8996-power-management-ic-device-specification.pdf > > [2] https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/commit/?h=release/qcomlt-4.14&id=75fb43f3a62 > > Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> > Cc: Vinod Koul <vkoul@xxxxxxxxxx> > Fixes: 2317b87a2a6f ("arm64: dts: qcom: db820c: Add vdd_gfx and tie it into mmcc") > Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxx> > --- > > Hi Andy/Bjorn/all, this patch was tested in 5.14, but I've tested it > in the linux-next tree as well and was able to apply there cleanly. > I'm new in the DTS world, so my apologies in advance for any rookie > mistake - suggestions are appreciated! Thanks in advance for the review, > > > Guilherme > > > arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi > index 51e17094d7b1..977842068619 100644 > --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi > +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi > @@ -699,8 +699,11 @@ &pmi8994_spmi_regulators { > vdd_gfx: s2@1700 { > reg = <0x1700 0x100>; > regulator-name = "VDD_GFX"; > - regulator-min-microvolt = <980000>; > - regulator-max-microvolt = <980000>; > + regulator-min-microvolt = <350000>; > + regulator-max-microvolt = <1350000>; > + regulator-always-on; > + status = "okay"; > + > }; > }; > > Sorry, due to a git bad config, it supressed all CCs - adding them now!