[PATCH v6 0/2] Add LPASS VA CSR HeartBeat pulse clock support
Sarath Ganapathiraju <[email protected]>
| Newsgroups | org.kernel.feeds.b4-sent,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260821-heartbeat-v6-next-20260821-send-v6-0-62c5df84ce21@oss.qualcomm.com> |
The LPASS VA CSR block contains rate generator hardware that produces a HeartBeat Pulse (also known as RateGen Pulse). This pulse synchronizes the start of the DMAs and Codec Interfaces for the audio usecases and can serve as a periodic wakeup source for the DSP. This series adds the DT binding and driver support to model this rate generator as a clock provider. Patch 1 adds the YAML binding for the new qcom,hawi-lpass-va-csr clock provider node under Documentation/devicetree/bindings/clock/. Patch 2 adds the lpass-va-csr driver under drivers/clk/qcom that registers the lpass_heartbeat_pulse clock and enables/disables the rate generator via regmap when the clock consumer requests it. Changes in v6: - Rebase the series on linux-next next-20260821. - Capitalize Hawi in binding text (Bjorn). - Simplify the binding example by removing the soc wrapper and two-cell address/size setup (Bjorn). - Keep the full VA CSR register window in the binding and describe it as the VA CSR register block after Konrad clarified the earlier register-range concern (Bjorn, Konrad). - Link to v5: https://patch.msgid.link/[email protected] Changes in v5: - Add explicit ARM64 Kconfig gating and Qualcomm default-module policy for QCOM_CLK_LPASS_HEARTBEAT_PULSE to align with nearby qcom clock entries. - Link to v4: https://patch.msgid.link/[email protected] Changes in v4: - Rename the binding filename and schema ID to hawi-specific naming: qcom,lpass-va-csr.yaml -> qcom,hawi-lpass-va-csr.yaml (Krzysztof). - Rename Kconfig symbol QCOM_CLK_LPASS_VA_CSR to QCOM_CLK_LPASS_HEARTBEAT_PULSE (Konrad). - Add devm_pm_runtime_enable() in the lpass-va-csr probe path. - Drop the qcom,lpass-va-macro binding extension patch; it will be resubmitted with the Hawi DTSI changes. - Drop sound/soc/codecs/Kconfig select wiring to keep this series clock-only (Konrad). - Link to v3: https://lore.kernel.org/all/[email protected]/ Changes in v3: - Move the qcom,lpass-va-csr binding under Documentation/devicetree/bindings/clock/ (Krzysztof). - Move the driver under drivers/clk/qcom/ (Krzysztof). - Improve the schema description and use generic clock-controller node naming (Krzysztof). - Use additionalProperties: false and keep compatibles sorted. Changes in v2: - Split the qcom,lpass-va-csr and qcom,lpass-va-macro bindings into separate patches. - Fix the qcom,lpass-va-csr example to use a 2-cell reg property. - Switch heartbeatpulse clk_ops from atomic to sleepable callbacks. Changes in v1: - Initial version. Signed-off-by: Sarath Ganapathiraju <[email protected]> --- Sarath Ganapathiraju (2): dt-bindings: clock: qcom: Add LPASS VA CSR HeartBeat pulse clock clk: qcom: Add LPASS VA CSR heartbeat pulse clock .../bindings/clock/qcom,hawi-lpass-va-csr.yaml | 45 +++++++ drivers/clk/qcom/Kconfig | 14 ++ drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/lpass-va-csr.c | 148 +++++++++++++++++++++ 4 files changed, 208 insertions(+) --- base-commit: 903c1cf6dff9964e71eda98a39e2e5d442050472 change-id: 20260821-heartbeat-v6-next-20260821-send-506231236ea4 Best regards, -- Sarath Ganapathiraju <[email protected]>