| STM32 DMA MUX (DMA request router) |
| |
| Required properties: |
| - compatible: "st,stm32h7-dmamux" |
| - reg: Memory map for accessing module |
| - #dma-cells: Should be set to <3>. |
| First parameter is request line number. |
| Second is DMA channel configuration |
| Third is Fifo threshold |
| For more details about the three cells, please see |
| stm32-dma.txt documentation binding file |
| - dma-masters: Phandle pointing to the DMA controllers. |
| Several controllers are allowed. Only "st,stm32-dma" DMA |
| compatible are supported. |
| |
| Optional properties: |
| - dma-channels : Number of DMA requests supported. |
| - dma-requests : Number of DMAMUX requests supported. |
| - resets: Reference to a reset controller asserting the DMA controller |
| - clocks: Input clock of the DMAMUX instance. |
| |
| Example: |
| |
| /* DMA controller 1 */ |
| dma1: dma-controller@40020000 { |
| compatible = "st,stm32-dma"; |
| reg = <0x40020000 0x400>; |
| interrupts = <11>, |
| <12>, |
| <13>, |
| <14>, |
| <15>, |
| <16>, |
| <17>, |
| <47>; |
| clocks = <&timer_clk>; |
| #dma-cells = <4>; |
| st,mem2mem; |
| resets = <&rcc 150>; |
| dma-channels = <8>; |
| dma-requests = <8>; |
| }; |
| |
| /* DMA controller 1 */ |
| dma2: dma@40020400 { |
| compatible = "st,stm32-dma"; |
| reg = <0x40020400 0x400>; |
| interrupts = <56>, |
| <57>, |
| <58>, |
| <59>, |
| <60>, |
| <68>, |
| <69>, |
| <70>; |
| clocks = <&timer_clk>; |
| #dma-cells = <4>; |
| st,mem2mem; |
| resets = <&rcc 150>; |
| dma-channels = <8>; |
| dma-requests = <8>; |
| }; |
| |
| /* DMA mux */ |
| dmamux1: dma-router@40020800 { |
| compatible = "st,stm32h7-dmamux"; |
| reg = <0x40020800 0x3c>; |
| #dma-cells = <3>; |
| dma-requests = <128>; |
| dma-channels = <16>; |
| dma-masters = <&dma1 &dma2>; |
| clocks = <&timer_clk>; |
| }; |
| |
| /* DMA client */ |
| usart1: serial@40011000 { |
| compatible = "st,stm32-usart", "st,stm32-uart"; |
| reg = <0x40011000 0x400>; |
| interrupts = <37>; |
| clocks = <&timer_clk>; |
| dmas = <&dmamux1 41 0x414 0>, |
| <&dmamux1 42 0x414 0>; |
| dma-names = "rx", "tx"; |
| }; |