[PATCH v3 2/4] dt-bindings: clock: qcom: Add Qualcomm Shikra AudioCoreCC and AudioCoreCSR

From: Imran Shaik

Date: Thu Jul 23 2026 - 11:50:28 EST


Add device tree bindings for the Audio Core Clock Controller (AudioCoreCC)
that provides clocks and Audio Core CSR that provides resets on Qualcomm
Shikra SoC.

Signed-off-by: Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>
---
.../bindings/clock/qcom,shikra-audiocorecc.yaml | 55 ++++++++++++++++++++++
.../bindings/reset/qcom,shikra-audiocore-csr.yaml | 42 +++++++++++++++++
.../dt-bindings/clock/qcom,shikra-audiocorecc.h | 49 +++++++++++++++++++
3 files changed, 146 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..d59f7e47a0d7d9ee9def49be9954038e43785e91
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/qcom,shikra-audiocorecc.yaml
@@ -0,0 +1,55 @@
+# 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 Controller for Qualcomm Shikra SoC
+
+maintainers:
+ - Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>
+
+description: |
+ Audio core clock control module provides the clocks on Qualcomm Shikra
+ SoC platform.
+
+ See also:
+ - include/dt-bindings/clock/qcom,shikra-audiocorecc.h
+
+properties:
+ compatible:
+ const: qcom,shikra-audiocorecc
+
+ clocks:
+ items:
+ - description: Board XO source
+ - description: Board sleep clock
+ - description: Audio ref clock source
+
+ reg:
+ maxItems: 1
+
+ '#clock-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - '#clock-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-audiocorecc";
+ reg = <0x0a0a0000 0x10000>;
+ clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
+ <&sleep_clk>,
+ <&aud_ref_clk_src>;
+ #clock-cells = <1>;
+ };
+...
diff --git a/Documentation/devicetree/bindings/reset/qcom,shikra-audiocore-csr.yaml b/Documentation/devicetree/bindings/reset/qcom,shikra-audiocore-csr.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bfad1d20e7cd1281c4c182d5f9f887d8c4c86125
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/qcom,shikra-audiocore-csr.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/qcom,shikra-audiocore-csr.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Audio Core CSR for Qualcomm Shikra SoC
+
+maintainers:
+ - Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>
+
+description: |
+ Audio Core CSR module provides the resets on Qualcomm Shikra SoC platform.
+
+ See also:
+ - include/dt-bindings/clock/qcom,shikra-audiocorecc.h
+
+properties:
+ compatible:
+ const: qcom,shikra-audiocore-csr
+
+ reg:
+ maxItems: 1
+
+ '#reset-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - '#reset-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ reset-controller@a0b4000 {
+ compatible = "qcom,shikra-audiocore-csr";
+ reg = <0x0a0b4000 0x1000>;
+ #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..0e64a42523f1ec4213ce8cbbbe6f8262d414f0eb
--- /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_CSR resets */
+#define AUDIO_CORE_CSR_RX_SWR_CGCR 0
+#define AUDIO_CORE_CSR_TX_SWR_CGCR 1
+
+#endif

--
2.34.1