On 22/08/2025 11:28, Stephan Gerhold wrote:
> At the moment, we indirectly rely on the boot firmware to set up the
> pinctrl for the eDP HPD line coming from the internal display. If the boot
> firmware does not configure the display (e.g. because a different display
> is selected for output in the UEFI settings), then the display fails to
> come up and there are several errors in the kernel log:
>
> [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
> [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
> [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
> ...
>
> Add a new &edp0_hpd_default pinctrl template that can be used by boards to
> set up the eDP HPD pin correctly. All boards upstream so far need the same
> configuration; if a board needs a different configuration it can just avoid
> using this template and define a custom one in the board DT.
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index f293b13ecc0ce426661187ac793f147d12434fcb..32fa9fa6fb946c4933f74fd0ee820ecb9284901e 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -5808,6 +5808,12 @@ tlmm: pinctrl@f100000 {
> gpio-ranges = <&tlmm 0 0 239>;
> wakeup-parent = <&pdc>;
>
> + edp0_hpd_default: edp0-hpd-default-state {
> + pins = "gpio119";
> + function = "edp0_hot";
> + bias-disable;
> + };
> +
> qup_i2c0_data_clk: qup-i2c0-data-clk-state {
> /* SDA, SCL */
> pins = "gpio0", "gpio1";
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>