[PATCH v2 1/5] dt-bindings: soc: cix,sky1-system-control: add audss system control
joakim.zhang at cixtech.com
joakim.zhang at cixtech.com
Thu Jun 4 20:22:21 PDT 2026
From: Joakim Zhang <joakim.zhang at cixtech.com>
The Cix Sky1 Audio Subsystem (AUDSS) groups audio-related clock, reset
and control registers in a dedicated CRU block. Software reset lines are
exposed on the syscon parent via #reset-cells, following the same model
as the existing Sky1 FCH and S5 system control bindings.
Add the cix,sky1-audss-system-control compatible to
cix,sky1-system-control.yaml for the MFD/syscon parent node, and define
AUDSS software reset indices in
include/dt-bindings/reset/cix,sky1-audss-system-control.h for I2S, HDA,
DMAC, mailbox, watchdog and timer blocks.
Signed-off-by: Joakim Zhang <joakim.zhang at cixtech.com>
---
.../soc/cix/cix,sky1-system-control.yaml | 39 ++++++++++++++++---
.../reset/cix,sky1-audss-system-control.h | 27 +++++++++++++
2 files changed, 61 insertions(+), 5 deletions(-)
create mode 100644 include/dt-bindings/reset/cix,sky1-audss-system-control.h
diff --git a/Documentation/devicetree/bindings/soc/cix/cix,sky1-system-control.yaml b/Documentation/devicetree/bindings/soc/cix/cix,sky1-system-control.yaml
index a01a515222c6..3b243b02a7e8 100644
--- a/Documentation/devicetree/bindings/soc/cix/cix,sky1-system-control.yaml
+++ b/Documentation/devicetree/bindings/soc/cix/cix,sky1-system-control.yaml
@@ -15,11 +15,16 @@ description:
properties:
compatible:
- items:
- - enum:
- - cix,sky1-system-control
- - cix,sky1-s5-system-control
- - const: syscon
+ oneOf:
+ - items:
+ - enum:
+ - cix,sky1-system-control
+ - cix,sky1-s5-system-control
+ - const: syscon
+ - items:
+ - const: cix,sky1-audss-system-control
+ - const: simple-mfd
+ - const: syscon
reg:
maxItems: 1
@@ -27,6 +32,11 @@ properties:
'#reset-cells':
const: 1
+ clock-controller:
+ $ref: /schemas/clock/cix,sky1-audss-clock.yaml#
+ description:
+ AUDSS internal clock provider (cix,sky1-audss-system-control only).
+
required:
- compatible
- reg
@@ -40,3 +50,22 @@ examples:
reg = <0x4160000 0x100>;
#reset-cells = <1>;
};
+ - |
+ #include <dt-bindings/reset/cix,sky1-audss-system-control.h>
+
+ audss_syscon: system-controller at 7110000 {
+ compatible = "cix,sky1-audss-system-control", "simple-mfd", "syscon";
+ reg = <0x7110000 0x10000>;
+ #reset-cells = <1>;
+
+ clock-controller {
+ compatible = "cix,sky1-audss-clock";
+ power-domains = <&smc_devpd 0>;
+ #clock-cells = <1>;
+ clocks = <&scmi_clk 0>, <&scmi_clk 1>, <&scmi_clk 2>,
+ <&scmi_clk 3>, <&scmi_clk 4>, <&scmi_clk 5>;
+ clock-names = "audio_clk0", "audio_clk1", "audio_clk2",
+ "audio_clk3", "audio_clk4", "audio_clk5";
+ resets = <&src 0>;
+ };
+ };
diff --git a/include/dt-bindings/reset/cix,sky1-audss-system-control.h b/include/dt-bindings/reset/cix,sky1-audss-system-control.h
new file mode 100644
index 000000000000..2ebc5c4f10cd
--- /dev/null
+++ b/include/dt-bindings/reset/cix,sky1-audss-system-control.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+/*
+ * Copyright 2026 Cix Technology Group Co., Ltd.
+ */
+#ifndef DT_BINDING_RESET_CIX_SKY1_AUDSS_SYSTEM_CONTROL_H
+#define DT_BINDING_RESET_CIX_SKY1_AUDSS_SYSTEM_CONTROL_H
+
+#define AUDSS_I2S0_SW_RST_N 0
+#define AUDSS_I2S1_SW_RST_N 1
+#define AUDSS_I2S2_SW_RST_N 2
+#define AUDSS_I2S3_SW_RST_N 3
+#define AUDSS_I2S4_SW_RST_N 4
+#define AUDSS_I2S5_SW_RST_N 5
+#define AUDSS_I2S6_SW_RST_N 6
+#define AUDSS_I2S7_SW_RST_N 7
+#define AUDSS_I2S8_SW_RST_N 8
+#define AUDSS_I2S9_SW_RST_N 9
+#define AUDSS_WDT_SW_RST_N 10
+#define AUDSS_TIMER_SW_RST_N 11
+#define AUDSS_MB0_SW_RST_N 12
+#define AUDSS_MB1_SW_RST_N 13
+#define AUDSS_HDA_SW_RST_N 14
+#define AUDSS_DMAC_SW_RST_N 15
+
+#define SKY1_AUDSS_SW_RESET_NUM 16
+
+#endif
--
2.50.1
More information about the linux-arm-kernel
mailing list