[PATCH v2 1/5] dt-bindings: soc: cix,sky1-system-control: add audss system control
Joakim Zhang
joakim.zhang at cixtech.com
Mon Jun 8 23:25:21 PDT 2026
Hi Krzysztof,
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk at kernel.org>
> Sent: Friday, June 5, 2026 5:18 PM
> To: Joakim Zhang <joakim.zhang at cixtech.com>; mturquette at baylibre.com;
> sboyd at kernel.org; bmasney at redhat.com; robh at kernel.org;
> krzk+dt at kernel.org; conor+dt at kernel.org; p.zabel at pengutronix.de; Gary Yang
> <gary.yang at cixtech.com>
> Cc: cix-kernel-upstream <cix-kernel-upstream at cixtech.com>; linux-
> clk at vger.kernel.org; devicetree at vger.kernel.org; linux-kernel at vger.kernel.org;
> linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH v2 1/5] dt-bindings: soc: cix,sky1-system-control: add audss
> system control
>
> EXTERNAL EMAIL
>
> On 05/06/2026 05:22, joakim.zhang at cixtech.com wrote:
> > 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).
>
> Are you sure this patch builds? Your cover letter should explain merging
> dependencies/strategy/constraints in the first chapter. You start with THE MOST
> important information.
yes, I build yaml with below cmd:
make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/soc/cix/cix,sky1-system-control.yaml
make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/clock/cix,sky1-audss-clock.yaml
make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- dt_binding_check CHECK_DTBS=y W=1 cix/sky1-orion-o6.dtb
It's also possible that I compiled the entire patch set after it was completed. This is incorrect because there are dependencies involved. I will check it again carefully.
> You need to disallow node for other variants.
OK
>
> > +
> > 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
>
> Most likely _N is redundant here. Consumers will ignore it completely and this is
> binding used by consumers, not by reset controller.
OK
> > +#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
>
> Drop, not a binding.
OK
Thanks,
Joakim
More information about the linux-arm-kernel
mailing list