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.
Signed-off-by: Sarath Ganapathiraju <sarath.ganapathiraju@oss.qualcomm.com>
---
Changes in v3:
- Moved the qcom,lpass-va-csr binding from
Documentation/devicetree/bindings/sound/ to
Documentation/devicetree/bindings/clock/ since it is a pure clock
provider with no ASoC dependency (Krzysztof).
- Moved the driver from sound/soc/codecs/ to drivers/clk/qcom/ for
the same reason; sound/soc/codecs/Kconfig now selects
QCOM_CLK_LPASS_VA_CSR instead of carrying the driver (Krzysztof).
- Rewrote the binding description to explain the hardware instead of
duplicating schema text (Krzysztof).
- Dropped redundant reg and "#clock-cells" descriptions from the
binding (Krzysztof).
- Switched from unevaluatedProperties to additionalProperties: false
in the binding (Krzysztof).
- Renamed the example node to the generic clock-controller@7ee0000
(Krzysztof).
- Dropped the qcom,lpass-va-macro binding extension patch — no
in-tree user yet; will be resubmitted with the hawi DTSI changes.
- Link to v2: https://lore.kernel.org/linux-arm-msm/20260717-master-v2-0-ae200627ad62@oss.qualcomm.com/
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,lpass-va-csr.yaml | 49 ++++++
drivers/clk/qcom/Kconfig | 12 ++
drivers/clk/qcom/Makefile | 1 +
drivers/clk/qcom/lpass-va-csr.c | 143 ++++++++++++++++++
sound/soc/codecs/Kconfig | 1 +
5 files changed, 206 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/qcom,lpass-va-csr.yaml
create mode 100644 drivers/clk/qcom/lpass-va-csr.c
--
2.34.1