arm64: dts: qcom: sc8280xp: correct ref clock for ufs_mem_phy
authorBrian Masney <bmasney@redhat.com>
Thu, 6 Oct 2022 14:55:29 +0000 (10:55 -0400)
committerBjorn Andersson <andersson@kernel.org>
Mon, 17 Oct 2022 19:32:38 +0000 (14:32 -0500)
commitf3aa975e230e060c07dcfdf3fe92b59809422c13
tree5da6b19aec0689996297c89a88f664004d688922
parent8d6b458ce6e93286a607e54f787f7a86067f58bd
arm64: dts: qcom: sc8280xp: correct ref clock for ufs_mem_phy

The first UFS host controller fails to start on the SA8540P automotive
board (QDrive3) due to the following errors:

    ufshcd-qcom 1d84000.ufs: ufshcd_query_flag: Sending flag query for idn 18 failed, err = 253
    ufshcd-qcom 1d84000.ufs: ufshcd_query_flag: Sending flag query for idn 18 failed, err = 253
    ufshcd-qcom 1d84000.ufs: ufshcd_query_flag: Sending flag query for idn 18 failed, err = 253
    ufshcd-qcom 1d84000.ufs: ufshcd_query_flag_retry: query attribute, opcode 5, idn 18, failed
        with error 253 after 3 retries

The system eventually fails to boot with the warning:

    gcc_ufs_phy_axi_clk status stuck at 'off'

This issue can be worked around by adding clk_ignore_unused to the
kernel command line since the system firmware sets up this clock for us.

Let's fix this issue by updating the ref clock on ufs_mem_phy. Note
that the downstream MSM 5.4 sources list this as ref_clk_parent. With
this patch, the SA8540P is able to be booted without clk_ignore_unused.

Signed-off-by: Brian Masney <bmasney@redhat.com>
Fixes: 152d1faf1e2f ("arm64: dts: qcom: add SC8280XP platform")
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221006145529.755521-1-bmasney@redhat.com
arch/arm64/boot/dts/qcom/sc8280xp.dtsi