xref: /freebsd/sys/contrib/device-tree/Bindings/sound/fsl,spdif.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,spdif.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
76be33864SEmmanuel Vadottitle: Freescale Sony/Philips Digital Interface Format (S/PDIF) Controller
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - Shengjiu Wang <shengjiu.wang@nxp.com>
116be33864SEmmanuel Vadot
126be33864SEmmanuel Vadotdescription: |
136be33864SEmmanuel Vadot  The Freescale S/PDIF audio block is a stereo transceiver that allows the
146be33864SEmmanuel Vadot  processor to receive and transmit digital audio via an coaxial cable or
156be33864SEmmanuel Vadot  a fibre cable.
166be33864SEmmanuel Vadot
176be33864SEmmanuel Vadotproperties:
186be33864SEmmanuel Vadot  compatible:
196be33864SEmmanuel Vadot    enum:
206be33864SEmmanuel Vadot      - fsl,imx35-spdif
216be33864SEmmanuel Vadot      - fsl,vf610-spdif
226be33864SEmmanuel Vadot      - fsl,imx6sx-spdif
235def4c47SEmmanuel Vadot      - fsl,imx8qm-spdif
245def4c47SEmmanuel Vadot      - fsl,imx8qxp-spdif
255def4c47SEmmanuel Vadot      - fsl,imx8mq-spdif
265def4c47SEmmanuel Vadot      - fsl,imx8mm-spdif
275def4c47SEmmanuel Vadot      - fsl,imx8mn-spdif
285956d97fSEmmanuel Vadot      - fsl,imx8ulp-spdif
296be33864SEmmanuel Vadot
306be33864SEmmanuel Vadot  reg:
316be33864SEmmanuel Vadot    maxItems: 1
326be33864SEmmanuel Vadot
336be33864SEmmanuel Vadot  interrupts:
346be33864SEmmanuel Vadot    maxItems: 1
356be33864SEmmanuel Vadot
366be33864SEmmanuel Vadot  dmas:
376be33864SEmmanuel Vadot    items:
386be33864SEmmanuel Vadot      - description: DMA controller phandle and request line for RX
396be33864SEmmanuel Vadot      - description: DMA controller phandle and request line for TX
406be33864SEmmanuel Vadot
416be33864SEmmanuel Vadot  dma-names:
426be33864SEmmanuel Vadot    items:
436be33864SEmmanuel Vadot      - const: rx
446be33864SEmmanuel Vadot      - const: tx
456be33864SEmmanuel Vadot
466be33864SEmmanuel Vadot  clocks:
476be33864SEmmanuel Vadot    items:
486be33864SEmmanuel Vadot      - description: The core clock of spdif controller.
496be33864SEmmanuel Vadot      - description: Clock for tx0 and rx0.
506be33864SEmmanuel Vadot      - description: Clock for tx1 and rx1.
516be33864SEmmanuel Vadot      - description: Clock for tx2 and rx2.
526be33864SEmmanuel Vadot      - description: Clock for tx3 and rx3.
536be33864SEmmanuel Vadot      - description: Clock for tx4 and rx4.
546be33864SEmmanuel Vadot      - description: Clock for tx5 and rx5.
556be33864SEmmanuel Vadot      - description: Clock for tx6 and rx6.
566be33864SEmmanuel Vadot      - description: Clock for tx7 and rx7.
576be33864SEmmanuel Vadot      - description: The spba clock is required when SPDIF is placed as a bus
586be33864SEmmanuel Vadot          slave of the Shared Peripheral Bus and when two or more bus masters
596be33864SEmmanuel Vadot          (CPU, DMA or DSP) try to access it. This property is optional depending
606be33864SEmmanuel Vadot          on the SoC design.
61*b97ee269SEmmanuel Vadot      - description: PLL clock source for 8kHz series rate, optional.
62*b97ee269SEmmanuel Vadot      - description: PLL clock source for 11khz series rate, optional.
636be33864SEmmanuel Vadot    minItems: 9
646be33864SEmmanuel Vadot
656be33864SEmmanuel Vadot  clock-names:
666be33864SEmmanuel Vadot    items:
676be33864SEmmanuel Vadot      - const: core
686be33864SEmmanuel Vadot      - const: rxtx0
696be33864SEmmanuel Vadot      - const: rxtx1
706be33864SEmmanuel Vadot      - const: rxtx2
716be33864SEmmanuel Vadot      - const: rxtx3
726be33864SEmmanuel Vadot      - const: rxtx4
736be33864SEmmanuel Vadot      - const: rxtx5
746be33864SEmmanuel Vadot      - const: rxtx6
756be33864SEmmanuel Vadot      - const: rxtx7
766be33864SEmmanuel Vadot      - const: spba
77*b97ee269SEmmanuel Vadot      - const: pll8k
78*b97ee269SEmmanuel Vadot      - const: pll11k
796be33864SEmmanuel Vadot    minItems: 9
806be33864SEmmanuel Vadot
816be33864SEmmanuel Vadot  big-endian:
826be33864SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
836be33864SEmmanuel Vadot    description: |
846be33864SEmmanuel Vadot      If this property is absent, the native endian mode will be in use
856be33864SEmmanuel Vadot      as default, or the big endian mode will be in use for all the device
866be33864SEmmanuel Vadot      registers. Set this flag for HCDs with big endian descriptors and big
876be33864SEmmanuel Vadot      endian registers.
886be33864SEmmanuel Vadot
896be33864SEmmanuel Vadotrequired:
906be33864SEmmanuel Vadot  - compatible
916be33864SEmmanuel Vadot  - reg
926be33864SEmmanuel Vadot  - interrupts
936be33864SEmmanuel Vadot  - dmas
946be33864SEmmanuel Vadot  - dma-names
956be33864SEmmanuel Vadot  - clocks
966be33864SEmmanuel Vadot  - clock-names
976be33864SEmmanuel Vadot
986be33864SEmmanuel VadotadditionalProperties: false
996be33864SEmmanuel Vadot
1006be33864SEmmanuel Vadotexamples:
1016be33864SEmmanuel Vadot  - |
1026be33864SEmmanuel Vadot    spdif@2004000 {
1036be33864SEmmanuel Vadot        compatible = "fsl,imx35-spdif";
1046be33864SEmmanuel Vadot        reg = <0x02004000 0x4000>;
1056be33864SEmmanuel Vadot        interrupts = <0 52 0x04>;
1066be33864SEmmanuel Vadot        dmas = <&sdma 14 18 0>,
1076be33864SEmmanuel Vadot               <&sdma 15 18 0>;
1086be33864SEmmanuel Vadot        dma-names = "rx", "tx";
1096be33864SEmmanuel Vadot        clocks = <&clks 197>, <&clks 3>,
1106be33864SEmmanuel Vadot                 <&clks 197>, <&clks 107>,
1116be33864SEmmanuel Vadot                 <&clks 0>, <&clks 118>,
1126be33864SEmmanuel Vadot                 <&clks 62>, <&clks 139>,
1136be33864SEmmanuel Vadot                 <&clks 0>;
1146be33864SEmmanuel Vadot        clock-names = "core", "rxtx0",
1156be33864SEmmanuel Vadot                      "rxtx1", "rxtx2",
1166be33864SEmmanuel Vadot                      "rxtx3", "rxtx4",
1176be33864SEmmanuel Vadot                      "rxtx5", "rxtx6",
1186be33864SEmmanuel Vadot                      "rxtx7";
1196be33864SEmmanuel Vadot        big-endian;
1206be33864SEmmanuel Vadot    };
121