arm64: dts: qcom: sc7280-herobrine: Fix PCIe regulator glitch at bootup
authorDouglas Anderson <dianders@chromium.org>
Thu, 10 Mar 2022 21:04:34 +0000 (13:04 -0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 11 Apr 2022 20:46:18 +0000 (15:46 -0500)
commit0d40497d054194768b3ddbf3a676d481b38b96eb
treeb06c5ada5bbc517ecddb21d6f9da5d6a10a72b0f
parent6675ac9d0046201af945c7abfe5dd794df22230b
arm64: dts: qcom: sc7280-herobrine: Fix PCIe regulator glitch at bootup

While scoping signals, we found that the PCIe signals weren't
compliant at bootup. Specifically, the bootloader was setting up PCIe
and leaving it configured, then jumping to the kernel. The kernel was
turning off the regulator while leaving the PCIe clock running, which
was a violation.

In the regulator bindings (and the Linux kernel driver that uses
them), there's currently no way to specify that a GPIO-controlled
regulator should keep its state at bootup. You've got to pick either
"on" or "off". Let's switch it so that the PCIe regulator defaults to
"on" instead of "off". This should be a much safer way to go and
avoids the timing violation. The regulator will still be turned off
later if there are no users.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220310130429.1.Id41fda1d7f5d9230bc45c1b85b06b0fb0ddd29af@changeid
arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi