<?xml version="1.0" encoding="UTF-8"?>
<!--

 File Name          : GTZC_S.xml
 Description        : Contextual documentation of the GTZC
                      for all MCU series

 COPYRIGHT(c) 2018 STMicroelectronics

Contextual help database for GTZC IP, it contains:
    - peripheral generic information under <periperal> 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>GTZC</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>Global TrustZone® Controller</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>
                <![CDATA[The Global TrustZone® Controller includes the description of three different sub-blocks:<br/>
                <p style="text-indent:20px;"><b>• TZSC: TrustZone® Security Controller</b><br/>
                <p style="text-indent:30px;">This sub-block defines the secure/privilege state of slave/master peripherals. It also<br/>
                <p style="text-indent:30px;"> controls the non-secure area size for the WaterMark Memory Protection Controller<br/>
                <p style="text-indent:30px;"> (MPCWM). The TZSC block informs some peripherals (such as RCC or GPIOs) about<br/>
                <p style="text-indent:30px;"> the secure status of each securable peripheral, by sharing with RCC and I/O logic.</p>
                <p style="text-indent:20px;"><b>• MPCBB: Block-Based Memory Protection Controller</b><br/>
                <p style="text-indent:30px;">This sub-block controls secure states of all blocks (256-byte pages) of the associated SRAM.</p>
                <p style="text-indent:20px;"><b>• TZIC: TrustZone® Illegal access Controller</b><br/>
                <p style="text-indent:30px;">This sub-block gathers all illegal access events in the system and generates<br/>
                <p style="text-indent:30px;"> a secure interrupt towards NVIC.</p><br/>
                <p>These sub-blocks are used to configure TrustZone® system security in a product having bus<br/>
                <p style="text-indent:30px;"> agents with programmable-security and privileged attributes (securable) such as:
                <p style="text-indent:20px;">• on-chip RAM with programmable secure blocks (pages).</p>
                <p style="text-indent:20px;">• AHB and APB peripherals with programmable security and/or privilege access.</p>
                <p style="text-indent:20px;">• AHB master granted as secure and/or privilege.</p>
                <p style="text-indent:20px;">• off-chip memories with secure areas.</p>]]>
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - 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="Global TrustZone® Controller (GTZC)" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32L5">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>GTZC</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>Global TrustZone® Controller</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>
                <![CDATA[The Global TrustZone® Controller includes the description of three different sub-blocks:<br/>
                <p style="text-indent:20px;"><b>• TZSC: TrustZone® Security Controller</b><br/>
                <p style="text-indent:30px;">This sub-block defines the secure/privilege state of slave/master peripherals. It also<br/>
                <p style="text-indent:30px;"> controls the non-secure area size for the WaterMark Memory Protection Controller<br/>
                <p style="text-indent:30px;"> (MPCWM). The TZSC block informs some peripherals (such as RCC or GPIOs) about<br/>
                <p style="text-indent:30px;"> the secure status of each securable peripheral, by sharing with RCC and I/O logic.</p>
                <p style="text-indent:20px;"><b>• MPCBB: Block-Based Memory Protection Controller</b><br/>
                <p style="text-indent:30px;">This sub-block controls secure states of all blocks (256-byte pages) of the associated SRAM.</p>
                <p style="text-indent:20px;"><b>• TZIC: TrustZone® Illegal access Controller</b><br/>
                <p style="text-indent:30px;">This sub-block gathers all illegal access events in the system and generates<br/>
                <p style="text-indent:30px;"> a secure interrupt towards NVIC.</p><br/>
                <p>These sub-blocks are used to configure TrustZone® system security in a product having bus<br/>
                <p style="text-indent:30px;"> agents with programmable-security and privileged attributes (securable) such as:
                <p style="text-indent:20px;">• on-chip RAM with programmable secure blocks (pages).</p>
                <p style="text-indent:20px;">• AHB and APB peripherals with programmable security and/or privilege access.</p>
                <p style="text-indent:20px;">• AHB master granted as secure and/or privilege.</p>
                <p style="text-indent:20px;">• off-chip memories with secure areas.</p>]]>
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - 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="Global TrustZone® controller (GTZC)"/>
            <link display="Reference manual" type="dynamic" reference="refMan" index="Global TrustZone® controller (GTZC)"/>
            <link display="Tutorial Video" type="tutorialbrowser" reference="Global TrustZone® Controller (GTZC)" index="">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32WL">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>GTZC</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>Global security Controller</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>
                <![CDATA[
                GTZC_S<br/>
                This section includes the description of the two following sub-blocks:<br/>
                <p style="text-indent:20px;"><b>• TZSC (Security Controller):</b><br/>
                <p style="text-indent:30px;">This sub-block defines the secure/privileged state of secured slave peripherals. It also controls the unprivileged area size for the watermark memory peripheral controller (MPCWM).<br/>
                <p style="text-indent:20px;"><b>• TZIC (Security Illegal access Controller):</b><br/>
                <p style="text-indent:30px;">This sub-block gathers all illegal access events in the system and generates a secure interrupt towards the secure CPU2 (CM0+) NVIC.<br/>
                <p>These sub-blocks are used to configure the system security and privilege such as:<br/>
                <p style="text-indent:20px;">• on-chip Flash memory and RAM with programmable secure or privilege or both areas.</p>
                <p style="text-indent:20px;">• AHB and APB peripherals with programmable security and/or privileged access.</p>
                <br/>
                GTZC_NS<br/>
                This section used to manage the Privileges in non-secure project for non-secure peripherals:<br/>
                <p style="text-indent:20px;"><b>• TZSC (Security Controller):</b><br/>
                <p style="text-indent:30px;">This sub-block defines the privileged state of unsecured slave peripherals. It also controls the unprivileged area size for the watermark memory peripheral controller (MPCWM).<br/>
                ]]>
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - 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="Global security controller (GTZC)"/>
            <link display="Reference manual" type="dynamic" reference="refMan" index="Global security controller (GTZC)"/>
            <!-- link display="Tutorial Video" type="tutorialbrowser" reference="Global TrustZone® Controller (GTZC)" index=""/-->
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
</ctx_pinout_help>
