1STMicroelectronics STM32 S/PDIF receiver (SPDIFRX). 2 3The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with 4IEC-60958 and IEC-61937. 5 6Required properties: 7 - compatible: should be "st,stm32h7-spdifrx" 8 - reg: cpu DAI IP base address and size 9 - clocks: must contain an entry for kclk (used as S/PDIF signal reference) 10 - clock-names: must contain "kclk" 11 - interrupts: cpu DAI interrupt line 12 - dmas: DMA specifiers for audio data DMA and iec control flow DMA 13 See STM32 DMA bindings, Documentation/devicetree/bindings/dma/stm32-dma.txt 14 - dma-names: two dmas have to be defined, "rx" and "rx-ctrl" 15 16Optional properties: 17 - resets: Reference to a reset controller asserting the SPDIFRX 18 19The device node should contain one 'port' child node with one child 'endpoint' 20node, according to the bindings defined in Documentation/devicetree/bindings/ 21graph.txt. 22 23Example: 24spdifrx: spdifrx@40004000 { 25 compatible = "st,stm32h7-spdifrx"; 26 reg = <0x40004000 0x400>; 27 clocks = <&rcc SPDIFRX_CK>; 28 clock-names = "kclk"; 29 interrupts = <97>; 30 dmas = <&dmamux1 2 93 0x400 0x0>, 31 <&dmamux1 3 94 0x400 0x0>; 32 dma-names = "rx", "rx-ctrl"; 33 pinctrl-0 = <&spdifrx_pins>; 34 pinctrl-names = "default"; 35 36 spdifrx_port: port { 37 cpu_endpoint: endpoint { 38 remote-endpoint = <&codec_endpoint>; 39 }; 40 }; 41}; 42 43spdif_in: spdif-in { 44 compatible = "linux,spdif-dir"; 45 46 codec_port: port { 47 codec_endpoint: endpoint { 48 remote-endpoint = <&cpu_endpoint>; 49 }; 50 }; 51}; 52 53soundcard { 54 compatible = "audio-graph-card"; 55 dais = <&spdifrx_port>; 56}; 57