| STMicroelectronics STM32 S/PDIF receiver (SPDIFRX). |
| |
| The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with |
| IEC-60958 and IEC-61937. |
| |
| Required properties: |
| - compatible: should be "st,stm32h7-spdifrx" |
| - reg: cpu DAI IP base address and size |
| - clocks: must contain an entry for kclk (used as S/PDIF signal reference) |
| - clock-names: must contain "kclk" |
| - interrupts: cpu DAI interrupt line |
| - dmas: DMA specifiers for audio data DMA and iec control flow DMA |
| See STM32 DMA bindings, Documentation/devicetree/bindings/dma/stm32-dma.txt |
| - dma-names: two dmas have to be defined, "rx" and "rx-ctrl" |
| |
| Optional properties: |
| - resets: Reference to a reset controller asserting the SPDIFRX |
| |
| The device node should contain one 'port' child node with one child 'endpoint' |
| node, according to the bindings defined in Documentation/devicetree/bindings/ |
| graph.txt. |
| |
| Example: |
| spdifrx: spdifrx@40004000 { |
| compatible = "st,stm32h7-spdifrx"; |
| reg = <0x40004000 0x400>; |
| clocks = <&rcc SPDIFRX_CK>; |
| clock-names = "kclk"; |
| interrupts = <97>; |
| dmas = <&dmamux1 2 93 0x400 0x0>, |
| <&dmamux1 3 94 0x400 0x0>; |
| dma-names = "rx", "rx-ctrl"; |
| pinctrl-0 = <&spdifrx_pins>; |
| pinctrl-names = "default"; |
| |
| spdifrx_port: port { |
| cpu_endpoint: endpoint { |
| remote-endpoint = <&codec_endpoint>; |
| }; |
| }; |
| }; |
| |
| spdif_in: spdif-in { |
| compatible = "linux,spdif-dir"; |
| |
| codec_port: port { |
| codec_endpoint: endpoint { |
| remote-endpoint = <&cpu_endpoint>; |
| }; |
| }; |
| }; |
| |
| soundcard { |
| compatible = "audio-graph-card"; |
| dais = <&spdifrx_port>; |
| }; |