Hi Marek, sorry for the late review on this, please see below. On 23-02-27, Marek Vasut wrote: > Unlike the other block control IPs in i.MX8M, the audiomix is mostly a > series of clock gates and muxes. Add DT bindings for this IP. > > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > Tested-by: Adam Ford <aford173@xxxxxxxxx> #imx8mp-beacon-kit > Tested-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > Signed-off-by: Marek Vasut <marex@xxxxxxx> > --- > Cc: Abel Vesa <abelvesa@xxxxxxxxxx> > Cc: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > Cc: Fabio Estevam <festevam@xxxxxxxxx> > Cc: Jacky Bai <ping.bai@xxxxxxx> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> > Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > Cc: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > Cc: Michael Turquette <mturquette@xxxxxxxxxxxx> > Cc: NXP Linux Team <linux-imx@xxxxxxx> > Cc: Peng Fan <peng.fan@xxxxxxx> > Cc: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx> > Cc: Richard Cochran <richardcochran@xxxxxxxxx> > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > Cc: Shawn Guo <shawnguo@xxxxxxxxxx> > Cc: Stephen Boyd <sboyd@xxxxxxxxxx> > Cc: devicetree@xxxxxxxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: linux-clk@xxxxxxxxxxxxxxx > --- > V2: No change > V3: - Add missed RB from Rob from V1 > - Rename audio_ahb to plain ahb > V4: - Rebase on next 20230223 > V5: Add TB from Adam and Alexander > --- > .../bindings/clock/imx8mp-audiomix.yaml | 84 +++++++++++++++++++ > 1 file changed, 84 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml > > diff --git a/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml b/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml > new file mode 100644 > index 0000000000000..01b4e1e311cef > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml > @@ -0,0 +1,84 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/imx8mp-audiomix.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NXP i.MX8MP AudioMIX Block Control Binding > + > +maintainers: > + - Marek Vasut <marex@xxxxxxx> > + > +description: | > + NXP i.MX8M Plus AudioMIX is dedicated clock muxing and gating IP > + used to control Audio related clock on the SoC. > + > +properties: > + compatible: > + const: fsl,imx8mp-audio-blk-ctrl > + > + reg: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > + power-domain-names: > + const: audio Why do we need to specify the name here? We have just one power-domain, so there should be no need to distinguish between them, or do I miss something? > + > + clocks: > + minItems: 7 > + maxItems: 7 > + > + clock-names: > + items: > + - const: ahb > + - const: sai1 > + - const: sai2 > + - const: sai3 > + - const: sai5 > + - const: sai6 > + - const: sai7 > + > + '#clock-cells': > + const: 1 > + description: > + The clock consumer should specify the desired clock by having the clock > + ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mp-clock.h > + for the full list of i.MX8MP IMX8MP_CLK_AUDIOMIX_ clock IDs. > + > +required: > + - compatible > + - reg > + - power-domains > + - power-domain-names We can drop the power-domain-names here as well. > + - clocks > + - clock-names > + - '#clock-cells' > + > +additionalProperties: false > + > +examples: > + # Clock Control Module node: > + - | > + #include <dt-bindings/clock/imx8mp-clock.h> > + > + clock-controller@30e20000 { > + #clock-cells = <1>; > + compatible = "fsl,imx8mp-audio-blk-ctrl"; > + clocks = <&clk IMX8MP_CLK_AUDIO_ROOT>, > + <&clk IMX8MP_CLK_SAI1>, > + <&clk IMX8MP_CLK_SAI2>, > + <&clk IMX8MP_CLK_SAI3>, > + <&clk IMX8MP_CLK_SAI5>, > + <&clk IMX8MP_CLK_SAI6>, > + <&clk IMX8MP_CLK_SAI7>; > + clock-names = "ahb", > + "sai1", "sai2", "sai3", > + "sai5", "sai6", "sai7"; > + power-domains = <&pgc_audio>; > + power-domain-names = "audio"; > + reg = <0x30e20000 0x10000>; It is common to have have the compatible as the first property followed by the reg property. We should change this here as well as in the 8mp.dtsi patch. Regards, Marco > + }; > + > +... > -- > 2.39.2 > >