Skip to content
  • Linus Walleij's avatar
    mfd: qcom_rpm: Handle message RAM clock · 35264033
    Linus Walleij authored
    
    
    The MSM8660, APQ8060, IPQ806x and MSM8960 have a GCC clock
    to the message RAM used by the RPM. This needs to be enabled
    for messages to pass through. This is a crude solution that
    simply prepare/enable at probe() and disable/unprepare
    at remove(). More elaborate PM is probably possible to
    add later.
    
    The construction uses IS_ERR() to gracefully handle the
    platforms that do not provide a message RAM clock. It will
    bail out of probe only if the clock is hitting a probe
    deferral situation.
    
    Of course this requires the proper device tree set-up:
    
    rpm: rpm@104000 {
        compatible = "qcom,rpm-msm8660";
        clocks = <&gcc RPM_MSG_RAM_H_CLK>;
        clock-names = "ram";
        ...
    };
    
    I have provided this in the MSM8660 device tree, and will
    provide patches for the other targets.
    
    Cc: Björn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
    35264033