<?xml version="1.0" encoding="UTF-8"?>
<!--

 File Name          : MDMA.xml
 Description        : Contextual documentation of the MDMA
                      for all MCU series

 COPYRIGHT(c) 2016 STMicroelectronics

====================================================================
| version 0.1  |  A.Morin          | Creation                      |
====================================================================

Contextual help database for DMA peripheral, it contains:
    - peripheral generic information under <peripheral> node
    - information about peripheral mode under <mode> node
    - details about the peripheral configuration under <config> node

-->
<ctx_pinout_help xsi:noNamespaceSchemaLocation="../../../../../../../doc/V4/Development/Specifications/contextualDocumentation/pinout.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!-- serie "ref" is the MCU series you want to document e.g. STM32F0, STM32F1... -->
    <serie ref="Default">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>MDMA</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>Master Direct Memory Access controller</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>The master direct memory access (MDMA) is used in order to provide high-speed data&lt;br/&gt;
transfer between memory and memory or between peripherals and memory. Data can be&lt;br/&gt;
quickly moved by the MDMA without any CPU action. This keeps the CPU resources free&lt;br/&gt;
for other operations.&lt;br/&gt;
The MDMA controller provides a master AXI interface for main memory and peripheral&lt;br/&gt;
registers access (system access port) and a master AHB interface only for Cortex-M7 TCM&lt;br/&gt;
memory access (TCM access port).&lt;br/&gt;
The MDMA works in conjunction with the standard DMA controllers (DMA1 or DMA2). It&lt;br/&gt;
offers channels, each dedicated to manage memory access requests from one of&lt;br/&gt;
the DMA stream memory buffer or other peripherals (w/ integrated FIFO).&lt;br/&gt;
            	
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link display="Tutorial Video" type="tutorialbrowser" reference="Master Direct Memory Access controller (MDMA)" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32H7">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>MDMA</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>Master Direct Memory Access controller</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>The master direct memory access (MDMA) is used in order to provide high-speed data&lt;br/&gt;
transfer between memory and memory or between peripherals and memory. Data can be&lt;br/&gt;
quickly moved by the MDMA without any CPU action. This keeps the CPU resources free&lt;br/&gt;
for other operations.&lt;br/&gt;
The MDMA controller provides a master AXI interface for main memory and peripheral&lt;br/&gt;
registers access (system access port) and a master AHB interface only for Cortex-M7 TCM&lt;br/&gt;
memory access (TCM access port).&lt;br/&gt;
The MDMA works in conjunction with the standard DMA controllers (DMA1 or DMA2). It&lt;br/&gt;
offers up to 16 channels, each dedicated to manage memory access requests from one of&lt;br/&gt;
the DMA stream memory buffer or other peripherals (w/ integrated FIFO).&lt;br/&gt;
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link display="Datasheet" type="dynamic" reference="dataSheet" index="MDMA controller (MDMA)">
            </link>
            <link display="Reference manual" type="dynamic" reference="refMan" index="MDMA controller (MDMA)">
            </link>
            <link display="Tutorial Video" type="tutorialbrowser" reference="Master Direct Memory Access controller (MDMA)" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32MP1">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>MDMA</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>Master Direct Memory Access controller</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>The master direct memory access (MDMA) is used in order to provide high-speed data&lt;br/&gt;
transfer between memory and memory or between peripherals and memory. Data can be&lt;br/&gt;
quickly moved by the MDMA without any CPU action. This keeps the CPU resources free&lt;br/&gt;
for other operations.&lt;br/&gt;
The MDMA controller provides a master AXI interface for main memory and peripheral&lt;br/&gt;
registers access (system access port).&lt;br/&gt;
The MDMA works in conjunction with the standard DMA controllers (DMA1 or DMA2). It&lt;br/&gt;
offers up to 32 channels, each dedicated to manage memory access requests from one of&lt;br/&gt;
the DMA stream memory buffer or other peripherals (w/ integrated FIFO).&lt;br/&gt;
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link display="Datasheet" type="dynamic" reference="dataSheet" index="DMA controllers">
            </link>
            <link display="Reference manual" type="dynamic" reference="refMan" index="MDMA controller (MDMA)">
            </link>
            <link display="Tutorial Video" type="tutorialbrowser" reference="Master Direct Memory Access controller (MDMA)" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
</ctx_pinout_help>
