18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/renesas,fsi.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Renesas FIFO-buffered Serial Interface (FSI)
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  $nodename:
148c2ecf20Sopenharmony_ci    pattern: "^sound@.*"
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci  compatible:
178c2ecf20Sopenharmony_ci    oneOf:
188c2ecf20Sopenharmony_ci      # for FSI2 SoC
198c2ecf20Sopenharmony_ci      - items:
208c2ecf20Sopenharmony_ci          - enum:
218c2ecf20Sopenharmony_ci              - renesas,fsi2-sh73a0  # SH-Mobile AG5
228c2ecf20Sopenharmony_ci              - renesas,fsi2-r8a7740 # R-Mobile A1
238c2ecf20Sopenharmony_ci          - enum:
248c2ecf20Sopenharmony_ci              - renesas,sh_fsi2
258c2ecf20Sopenharmony_ci      # for Generic
268c2ecf20Sopenharmony_ci      - items:
278c2ecf20Sopenharmony_ci          - enum:
288c2ecf20Sopenharmony_ci              - renesas,sh_fsi
298c2ecf20Sopenharmony_ci              - renesas,sh_fsi2
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  reg:
328c2ecf20Sopenharmony_ci    maxItems: 1
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  interrupts:
358c2ecf20Sopenharmony_ci    maxItems: 1
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  clocks:
388c2ecf20Sopenharmony_ci    maxItems: 1
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  power-domains:
418c2ecf20Sopenharmony_ci    maxItems: 1
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  '#sound-dai-cells':
448c2ecf20Sopenharmony_ci    const: 1
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_cipatternProperties:
478c2ecf20Sopenharmony_ci  "^fsi(a|b),spdif-connection$":
488c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
498c2ecf20Sopenharmony_ci    description: FSI is connected by S/PDIF
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  "^fsi(a|b),stream-mode-support$":
528c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
538c2ecf20Sopenharmony_ci    description: FSI supports 16bit stream mode
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  "^fsi(a|b),use-internal-clock$":
568c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
578c2ecf20Sopenharmony_ci    description: FSI uses internal clock when master mode
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_cirequired:
608c2ecf20Sopenharmony_ci  - compatible
618c2ecf20Sopenharmony_ci  - reg
628c2ecf20Sopenharmony_ci  - interrupts
638c2ecf20Sopenharmony_ci  - clocks
648c2ecf20Sopenharmony_ci  - power-domains
658c2ecf20Sopenharmony_ci  - '#sound-dai-cells'
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ciadditionalProperties: false
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciexamples:
708c2ecf20Sopenharmony_ci  - |
718c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/r8a7740-clock.h>
728c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
738c2ecf20Sopenharmony_ci    sh_fsi2: sound@fe1f0000 {
748c2ecf20Sopenharmony_ci            compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2";
758c2ecf20Sopenharmony_ci            reg = <0xfe1f0000 0x400>;
768c2ecf20Sopenharmony_ci            interrupts = <GIC_SPI 9 0x4>;
778c2ecf20Sopenharmony_ci            clocks = <&mstp3_clks R8A7740_CLK_FSI>;
788c2ecf20Sopenharmony_ci            power-domains = <&pd_a4mp>;
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci            #sound-dai-cells = <1>;
818c2ecf20Sopenharmony_ci            fsia,spdif-connection;
828c2ecf20Sopenharmony_ci            fsia,stream-mode-support;
838c2ecf20Sopenharmony_ci            fsia,use-internal-clock;
848c2ecf20Sopenharmony_ci    };
85