[PATCH 2/4] dt-bindings: clock: qcom: Add Qualcomm Shikra Audio Core Clock Controller

From: Imran Shaik

Date: Fri Jun 05 2026 - 07:35:26 EST


Add device tree bindings for the Audio Core Clock Controller (AUDIOCORECC)
on Qualcomm Shikra SoC. The AUDIOCORECC clocks and resets support differs
across variants based on Audio subsystem enablement as follows:

CQM (qcom,shikra-cqm-audiocorecc): need clocks and resets; audio on APPS
CQS (qcom,shikra-cqs-audiocorecc): need resets only; audio on Modem
IQS: no clocks/resets needed; no SoundWire codecs

To handle these requirements, variant-specific compatibles are introduced.

Signed-off-by: Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>
---
.../bindings/clock/qcom,shikra-audiocorecc.yaml | 62 ++++++++++++++++++++++
.../dt-bindings/clock/qcom,shikra-audiocorecc.h | 49 +++++++++++++++++
2 files changed, 111 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/qcom,shikra-audiocorecc.yaml b/Documentation/devicetree/bindings/clock/qcom,shikra-audiocorecc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2ed1d9d871175ff868584cfd606e14c5779f1766
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/qcom,shikra-audiocorecc.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/qcom,shikra-audiocorecc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Audio Core Clock & Reset Controller for Qualcomm Shikra SoC
+
+maintainers:
+ - Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>
+
+description: |
+ Audio core clock control module provides the clocks and resets
+ on Qualcomm Shikra SoC platform.
+
+ See also:
+ - include/dt-bindings/clock/qcom,shikra-audiocorecc.h
+
+properties:
+ compatible:
+ enum:
+ - qcom,shikra-cqm-audiocorecc
+ - qcom,shikra-cqs-audiocorecc
+
+ clocks:
+ items:
+ - description: Board XO source
+ - description: Board sleep clock
+ - description: Audio ref clock source
+
+ reg:
+ maxItems: 2
+
+ '#clock-cells':
+ const: 1
+
+ '#reset-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - '#clock-cells'
+ - '#reset-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/qcom,rpmcc.h>
+ #include <dt-bindings/clock/qcom,shikra-gcc.h>
+ clock-controller@a0a0000 {
+ compatible = "qcom,shikra-cqm-audiocorecc";
+ reg = <0x0a0a0000 0x10000>,
+ <0x0a0b4000 0x1000>;
+ clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
+ <&sleep_clk>,
+ <&aud_ref_clk_src>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+...
diff --git a/include/dt-bindings/clock/qcom,shikra-audiocorecc.h b/include/dt-bindings/clock/qcom,shikra-audiocorecc.h
new file mode 100644
index 0000000000000000000000000000000000000000..3052feb627ff3dc8beb405534ff94bf75525fcb2
--- /dev/null
+++ b/include/dt-bindings/clock/qcom,shikra-audiocorecc.h
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#ifndef _DT_BINDINGS_CLK_QCOM_AUDIO_CORE_CC_SHIKRA_H
+#define _DT_BINDINGS_CLK_QCOM_AUDIO_CORE_CC_SHIKRA_H
+
+/* AUDIO_CORE_CC clocks */
+#define AUDIO_CORE_CC_DIG_PLL_OUT_AUX 0
+#define AUDIO_CORE_CC_DIG_PLL_OUT_AUX2 1
+#define AUDIO_CORE_CC_DIG_PLL 2
+#define AUDIO_CORE_CC_AIF_IF0_CLK_SRC 3
+#define AUDIO_CORE_CC_AIF_IF0_EBIT_CLK 4
+#define AUDIO_CORE_CC_AIF_IF0_IBIT_CLK 5
+#define AUDIO_CORE_CC_AIF_IF1_CLK_SRC 6
+#define AUDIO_CORE_CC_AIF_IF1_EBIT_CLK 7
+#define AUDIO_CORE_CC_AIF_IF1_IBIT_CLK 8
+#define AUDIO_CORE_CC_AIF_IF2_CLK_SRC 9
+#define AUDIO_CORE_CC_AIF_IF2_EBIT_CLK 10
+#define AUDIO_CORE_CC_AIF_IF2_IBIT_CLK 11
+#define AUDIO_CORE_CC_AIF_IF3_CLK_SRC 12
+#define AUDIO_CORE_CC_AIF_IF3_EBIT_CLK 13
+#define AUDIO_CORE_CC_AIF_IF3_IBIT_CLK 14
+#define AUDIO_CORE_CC_AUD_DMA_CLK 15
+#define AUDIO_CORE_CC_AUD_DMA_CLK_SRC 16
+#define AUDIO_CORE_CC_AUD_DMA_MEM_CLK 17
+#define AUDIO_CORE_CC_BUS_CLK 18
+#define AUDIO_CORE_CC_BUS_CLK_SRC 19
+#define AUDIO_CORE_CC_CDIV_TX_MCLK_DIV_CLK_SRC 20
+#define AUDIO_CORE_CC_EXT_MCLKA_CLK_SRC 21
+#define AUDIO_CORE_CC_EXT_MCLKA_OUT_CLK 22
+#define AUDIO_CORE_CC_EXT_MCLKB_CLK_SRC 23
+#define AUDIO_CORE_CC_EXT_MCLKB_OUT_CLK 24
+#define AUDIO_CORE_CC_IM_SLEEP_CLK 25
+#define AUDIO_CORE_CC_LPAIF_PCMOE_CLK 26
+#define AUDIO_CORE_CC_LPAIF_PCMOE_CLK_SRC 27
+#define AUDIO_CORE_CC_RX_MCLK_2X_CLK 28
+#define AUDIO_CORE_CC_RX_MCLK_CLK 29
+#define AUDIO_CORE_CC_SAMPLING_CLK 30
+#define AUDIO_CORE_CC_TX_MCLK_2X_CLK 31
+#define AUDIO_CORE_CC_TX_MCLK_CLK 32
+#define AUDIO_CORE_CC_TX_MCLK_RCG_CLK_SRC 33
+
+/* AUDIO_CORE_CC resets */
+#define AUDIO_CORE_CSR_RX_SWR_CGCR 0
+#define AUDIO_CORE_CSR_TX_SWR_CGCR 1
+
+#endif

--
2.34.1