162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/clock/fsl,sai-clock.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Freescale SAI bitclock-as-a-clock 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Michael Walle <michael@walle.cc> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci It is possible to use the BCLK pin of a SAI module as a generic clock 1462306a36Sopenharmony_ci output. Some SoC are very constrained in their pin multiplexer 1562306a36Sopenharmony_ci configuration. Eg. pins can only be changed groups. For example, on the 1662306a36Sopenharmony_ci LS1028A SoC you can only enable SAIs in pairs. If you use only one SAI, 1762306a36Sopenharmony_ci the second pins are wasted. Using this binding it is possible to use the 1862306a36Sopenharmony_ci clock of the second SAI as a MCLK clock for an audio codec, for example. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci This is a composite of a gated clock and a divider clock. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciproperties: 2362306a36Sopenharmony_ci compatible: 2462306a36Sopenharmony_ci const: fsl,vf610-sai-clock 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci reg: 2762306a36Sopenharmony_ci maxItems: 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci clocks: 3062306a36Sopenharmony_ci maxItems: 1 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci '#clock-cells': 3362306a36Sopenharmony_ci const: 0 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_cirequired: 3662306a36Sopenharmony_ci - compatible 3762306a36Sopenharmony_ci - reg 3862306a36Sopenharmony_ci - clocks 3962306a36Sopenharmony_ci - '#clock-cells' 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciadditionalProperties: false 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciexamples: 4462306a36Sopenharmony_ci - | 4562306a36Sopenharmony_ci soc { 4662306a36Sopenharmony_ci #address-cells = <2>; 4762306a36Sopenharmony_ci #size-cells = <2>; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci mclk: clock-mclk@f130080 { 5062306a36Sopenharmony_ci compatible = "fsl,vf610-sai-clock"; 5162306a36Sopenharmony_ci reg = <0x0 0xf130080 0x0 0x80>; 5262306a36Sopenharmony_ci #clock-cells = <0>; 5362306a36Sopenharmony_ci clocks = <&parentclk>; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci }; 56