lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 404/575] arm64: dts: qcom: msm8916: Fix Secondary MI2S bit clock
    Date
    From: Stephan Gerhold <stephan@gerhold.net>

    [ Upstream commit 8199a0b31e76d158ac14841e7119890461f8c595 ]

    At the moment, playing audio on Secondary MI2S will just end up getting
    stuck, without actually playing any audio. This happens because the wrong
    bit clock is configured when playing audio on Secondary MI2S.

    The PRI_I2S_CLK (better name: SPKR_I2S_CLK) is used by the SPKR audio mux
    block that provides both Primary and Secondary MI2S.

    The SEC_I2S_CLK (better name: MIC_I2S_CLK) is used by the MIC audio mux
    block that provides Tertiary MI2S. Quaternary MI2S is also part of the
    MIC audio mux but has its own clock (AUX_I2S_CLK).

    This means that (quite confusingly) the SEC_I2S_CLK is not actually
    used for Secondary MI2S as the name would suggest. Secondary MI2S
    needs to have the same clock as Primary MI2S configured.

    Fix the clock list for the lpass node in the device tree and add
    a comment to clarify this confusing naming. With these changes,
    audio can be played correctly on Secondary MI2S.

    Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Fixes: 3761a3618f55 ("arm64: dts: qcom: add lpass node")
    Tested-by: Vincent Knecht <vincent.knecht@mailoo.org>
    Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Link: https://lore.kernel.org/r/20210816181810.2242-1-stephan@gerhold.net
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/boot/dts/qcom/msm8916.dtsi | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
    index 0e34ed48b9fae..b1ffc056eea0b 100644
    --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
    +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
    @@ -1322,11 +1322,17 @@
    lpass: audio-controller@7708000 {
    status = "disabled";
    compatible = "qcom,lpass-cpu-apq8016";
    +
    + /*
    + * Note: Unlike the name would suggest, the SEC_I2S_CLK
    + * is actually only used by Tertiary MI2S while
    + * Primary/Secondary MI2S both use the PRI_I2S_CLK.
    + */
    clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
    <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
    <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>,
    <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
    - <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
    + <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
    <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
    <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>;

    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 03:00    [W:9.421 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site