<h3>Contribution description</h3>
<p>This PR:</p>
<ul>
<li>Adds DMA stream configurations</li>
<li>Fixes DMA configurations for UARTs</li>
<li>Adds DMA configurations for SPI</li>
</ul>
<h3>Testing procedure</h3>
<p>1- To test DMA on UART0, you can run the DMA periph test:</p>
<pre><code>BOARD=nucleo-l476rg make all flash test -C tests/periph_dma/
</code></pre>
<details>
<summary>Expected result</summary>
<pre><code>Welcome to pyterm!
Type '/exit' to exit.
2019-06-21 09:48:18,589 - INFO # main(): This is RIOT! (Version: 2019.07-devel-754-ge92516-pr/boards/nucleo-l476rg_dma_config)
2019-06-21 09:48:18,590 - INFO # DMA is working
</code></pre>
</details>
<p>2- To test the rest of the UARTs while using DMA, you can run the UART test activating the DMA and checking that it sends:</p>
<pre><code>BOARD=nucleo-l476rg USEMODULE=periph_dma make all flash term -C tests/periph_uart
</code></pre>
<details>
<summary>Expected result</summary>
<pre><code>Welcome to pyterm!
Type '/exit' to exit.
2019-06-21 10:05:37,965 - INFO # UARD_DEV(0): test uart_poweron() and uart_poweroff()  ->  [OK]
2019-06-21 10:05:37,965 - INFO # 
2019-06-21 10:05:37,966 - INFO # UART INFO:
2019-06-21 10:05:37,967 - INFO # Available devices:               3
2019-06-21 10:05:37,968 - INFO # UART used for STDIO (the shell): UART_DEV(0)
2019-06-21 10:05:37,968 - INFO # 
> init 1 9600
2019-06-21 10:05:41,720 - INFO #  init 1 9600
2019-06-21 10:05:41,725 - INFO # Success: Initialized UART_DEV(1) at BAUD 9600
2019-06-21 10:05:41,979 - INFO # UARD_DEV(1): test uart_poweron() and uart_poweroff()  ->  [OK]
> send 1 riot
2019-06-21 10:05:44,964 - INFO #  send 1 riot
2019-06-21 10:05:44,965 - INFO # UART_DEV(1) TX: riot
>
</code></pre>
</details>
<p>3- To test the SPI while using DMA, run the SPI periph test activating DMA:</p>
<pre><code>BOARD=nucleo-l476rg USEMODULE=periph_dma make all flash term -C tests/periph_spi/
</code></pre>
<details>
<summary>Expected result</summary>
<pre><code>Welcome to pyterm!
Type '/exit' to exit.
init 0 0 0 0 4
2019-06-21 10:13:31,000 - INFO # init 0 0 0 0 4
2019-06-21 10:13:31,006 - INFO # SPI_DEV(0) initialized: mode: 0, clk: 0, cs_port: 0, cs_pin: 4
> send WITH_DMA
2019-06-21 10:13:33,780 - INFO #  send WITH_DMA
2019-06-21 10:13:33,781 - INFO # Sent bytes
2019-06-21 10:13:33,785 - INFO #    0    1    2    3    4    5    6    7 
2019-06-21 10:13:33,789 - INFO #   0x57 0x49 0x54 0x48 0x5f 0x44 0x4d 0x41
2019-06-21 10:13:33,792 - INFO #     W    I    T    H    _    D    M    A 
2019-06-21 10:13:33,793 - INFO # 
2019-06-21 10:13:33,794 - INFO # Received bytes
2019-06-21 10:13:33,798 - INFO #    0    1    2    3    4    5    6    7 
2019-06-21 10:13:33,801 - INFO #   0x57 0x49 0x54 0x48 0x5f 0x44 0x4d 0x41
2019-06-21 10:13:33,805 - INFO #     W    I    T    H    _    D    M    A 
2019-06-21 10:13:33,805 - INFO # 
</code></pre>
</details>
<h3>Issues/PRs references</h3>
<p>None</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/RIOT-OS/RIOT/pull/11730'>https://github.com/RIOT-OS/RIOT/pull/11730</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>boards/nucleo-l476rg: Add DMA support</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/11730/files#diff-0">boards/nucleo-l476rg/Makefile.features</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/11730/files#diff-1">boards/nucleo-l476rg/include/periph_conf.h</a>
    (48)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/RIOT-OS/RIOT/pull/11730.patch'>https://github.com/RIOT-OS/RIOT/pull/11730.patch</a></li>
  <li><a href='https://github.com/RIOT-OS/RIOT/pull/11730.diff'>https://github.com/RIOT-OS/RIOT/pull/11730.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/RIOT-OS/RIOT/pull/11730?email_source=notifications&email_token=ABE7WYBYWXOIGJN2VTTRASTP3SFEBA5CNFSM4H2OSA52YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G244SHQ">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABE7WYDE44A5XFGI6DB5QN3P3SFEBANCNFSM4H2OSA5Q">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABE7WYFUVHY4RG2A6OHGA4LP3SFEBA5CNFSM4H2OSA52YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G244SHQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/RIOT-OS/RIOT/pull/11730?email_source=notifications\u0026email_token=ABE7WYBYWXOIGJN2VTTRASTP3SFEBA5CNFSM4H2OSA52YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G244SHQ",
"url": "https://github.com/RIOT-OS/RIOT/pull/11730?email_source=notifications\u0026email_token=ABE7WYBYWXOIGJN2VTTRASTP3SFEBA5CNFSM4H2OSA52YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G244SHQ",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>