﻿<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <IP xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance"
    ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd"
    xmlns="http://mcd.rou.st.com/modules.php?name=mcu"
    DBVersion="V6.0"
    IPType="Service"
    IpGroup="Security"
    Name="GTZC"
    Version="tzsc1_v2_0">
  <About>GTZC : Global Trust Zone Software Controler</About>

  <!-- RefParameters for GTZC -->
  <RefParameter Name="Instance" Comment="Instance" DefaultValue="GTZC_S" Type="string" Visible="false">
    <Condition Expression="($IpInstance=GTZC_S)" Diagnostic=""/>
  </RefParameter>
  <RefParameter Name="Instance" Comment="Instance" DefaultValue="GTZC_NS" Type="string" Visible="false">
    <Condition Expression="($IpInstance=GTZC_NS)" Diagnostic=""/>
  </RefParameter>

  <!-- RefParameters for GTZC - TZSC lock -->
  <RefParameter Name="TZSC_Lock" Comment="Lock the configuration of TZSC (Peripherals &amp; MPCWM) until next reset" DefaultValue="UNLOCK" Type="list">
    <PossibleValue Value="UNLOCK" Comment="no Peripheral &amp; MPCWM are locked"/>
    <PossibleValue Value="LOCK" Comment="all Peripherals &amp; MPCWM are locked"/>
    <Description>Lock TZSC and TZSC-MPCWM configuration.</Description>
  </RefParameter>

  <!-- RefParameters for GTZC - Peripheral Secured -->
  <RefParameter Name="TZSC_Secure_IP_Choice" Comment="Configure Secure Peripheral" DefaultValue="by Individual Securing from full Not Secured" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <PossibleValue Value="by Individual Securing from full Not Secured" Comment="by Individual Securing from full Not Secured" Semaphore="S_No_IP_Secured"/>
    <PossibleValue Value="by Individual Unsecuring from full Secured" Comment="by Individual Unsecuring from full Secured" Semaphore="S_All_IP_Secured"/>
    <Description>Secure/Unsecure all the Peripherals in one time until individuals are modified.</Description>
  </RefParameter>

  <RefParameter Name="Securable_Peripheral" Comment="Securable Peripheral" DefaultValue="Secure Attribute" Type="string" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals"/>
  <!-- RefParameter Name="IP_Secure" Comment="" DefaultValue="GTZC_TZSC_ATTRIBUTE_SEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <Condition Expression="S_All_IP_Secured" Diagnostic="pre-selected all Peripheral Secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
  </RefParameter>
  <RefParameter Name="IP_Secure" Comment="" DefaultValue="GTZC_TZSC_ATTRIBUTE_NSEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured"/>
  </RefParameter -->
  <RefParameter Name="AES_Secure" Comment="AES" DefaultValue="GTZC_TZSC_ATTRIBUTE_SEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <Condition Expression="S_All_IP_Secured" Diagnostic="pre-selected all Peripheral Secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured" Semaphore="AES_GTZC_SECURE"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
  </RefParameter>
  <RefParameter Name="AES_Secure" Comment="AES" DefaultValue="GTZC_TZSC_ATTRIBUTE_NSEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured" Semaphore="AES_GTZC_SECURE"/>
  </RefParameter>
  <RefParameter Name="PKA_Secure" Comment="PKA" DefaultValue="GTZC_TZSC_ATTRIBUTE_SEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <Condition Expression="S_All_IP_Secured" Diagnostic="pre-selected all Peripheral Secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured" Semaphore="PKA_GTZC_SECURE"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
  </RefParameter>
  <RefParameter Name="PKA_Secure" Comment="PKA" DefaultValue="GTZC_TZSC_ATTRIBUTE_NSEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured" Semaphore="PKA_GTZC_SECURE"/>
  </RefParameter>
  <RefParameter Name="RNG_Secure" Comment="RNG" DefaultValue="GTZC_TZSC_ATTRIBUTE_SEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <Condition Expression="S_All_IP_Secured" Diagnostic="pre-selected all Peripheral Secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured" Semaphore="RNG_GTZC_SECURE"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
  </RefParameter>
  <RefParameter Name="RNG_Secure" Comment="RNG" DefaultValue="GTZC_TZSC_ATTRIBUTE_NSEC" Type="list" Group="Secureable Peripherals" TabName="GTZC Security Controller - Securable Peripherals">
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NSEC" Comment="not secured"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_SEC" Comment="secured" Semaphore="RNG_GTZC_SECURE"/>
  </RefParameter>

  <RefParameter Name="AES_Privilege_Status" Comment="AES" DefaultValue="true" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false">
    <Condition Expression="($IpInstance=GTZC_S &amp; AES_GTZC_SECURE)" Diagnostic=""/>
  </RefParameter>
  <RefParameter Name="AES_Privilege_Status" Comment="AES" DefaultValue="true" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false">
    <Condition Expression="($IpInstance=GTZC_NS &amp; (+GTZC_S:AES_Secure=GTZC_TZSC_ATTRIBUTE_NSEC))" Diagnostic=""/>
  </RefParameter>
  <RefParameter Name="AES_Privilege_Status" Comment="AES" DefaultValue="false" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false"/>
  <RefParameter Name="PKA_Privilege_Status" Comment="PKA" DefaultValue="true" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false">
    <Condition Expression="($IpInstance=GTZC_S &amp; PKA_GTZC_SECURE)" Diagnostic=""/>
  </RefParameter>
  <RefParameter Name="PKA_Privilege_Status" Comment="PKA" DefaultValue="true" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false">
    <Condition Expression="($IpInstance=GTZC_NS &amp; (+GTZC_S:PKA_Secure=GTZC_TZSC_ATTRIBUTE_NSEC))" Diagnostic=""/>
  </RefParameter>
  <RefParameter Name="PKA_Privilege_Status" Comment="PKA" DefaultValue="false" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false"/>
  <RefParameter Name="RNG_Privilege_Status" Comment="RNG" DefaultValue="true" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false">
    <Condition Expression="($IpInstance=GTZC_S &amp; RNG_GTZC_SECURE)" Diagnostic=""/>
  </RefParameter>
  <RefParameter Name="RNG_Privilege_Status" Comment="RNG" DefaultValue="true" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false">
    <Condition Expression="($IpInstance=GTZC_NS &amp; (+GTZC_S:RNG_Secure=GTZC_TZSC_ATTRIBUTE_NSEC))" Diagnostic=""/>
  </RefParameter>
  <RefParameter Name="RNG_Privilege_Status" Comment="RNG" DefaultValue="false" Type="boolean" TabName="GTZC Security Controller - Privilegeable Peripherals" Visible="false"/>

  <!-- RefParameters for GTZC - Peripheral Privileged -->
  <RefParameter Name="TZSC_Privilege_IP_Choice" Comment="Configure Privilege Peripheral" DefaultValue="by Individual Privileging from full Not Privileged" Type="list" Group="Privilegeable Peripherals" TabName="GTZC Security Controller - Privilegeable Peripherals">
    <PossibleValue Value="by Individual Privileging from full Not Privileged" Comment="by Individual Privileging from full Not Privileged" Semaphore="S_No_IP_Privileged_$IpInstance"/>
    <PossibleValue Value="by Individual Unprivileging from full Privileged" Comment="by Individual Unprivileging from full Privileged" Semaphore="S_All_IP_Privileged_$IpInstance"/>
    <Description>Privilege/Unprivilege all the Peripherals in one time until individuals are modified.</Description>
  </RefParameter>

  <RefParameter Name="Privilegeable_Peripheral" Comment="Privilegeable Peripheral" DefaultValue="Privilege Attribute" Type="string" Group="Privilegeable Peripherals" TabName="GTZC Security Controller - Privilegeable Peripherals"/>
  <RefParameter Name="IP_Privilege" Comment="" DefaultValue="GTZC_TZSC_ATTRIBUTE_NPRIV" Type="list" Group="Privilegeable Peripherals" TabName="GTZC Security Controller - Privilegeable Peripherals">
    <Condition Expression="S_No_IP_Privileged_$IpInstance" Diagnostic="pre-selected no Peripheral Privileged"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NPRIV" Comment="not privileged"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_PRIV" Comment="privileged"/>
  </RefParameter>
  <RefParameter Name="IP_Privilege" Comment="" DefaultValue="GTZC_TZSC_ATTRIBUTE_PRIV" Type="list" Group="Privilegeable Peripherals" TabName="GTZC Security Controller - Privilegeable Peripherals">
    <Condition Expression="S_All_IP_Privileged_$IpInstance" Diagnostic="pre-selected all Peripheral Privileged"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_NPRIV" Comment="not privileged"/>
    <PossibleValue Value="GTZC_TZSC_ATTRIBUTE_PRIV" Comment="privileged"/>
  </RefParameter>
  <RefParameter Name="IP_Privilege" Comment="" DefaultValue="ERROR" Type="list" Group="Privilegeable Peripherals" TabName="GTZC Security Controller - Privilegeable Peripherals">
    <PossibleValue Value="ERROR" Comment="ERROR ! Semaphore not defined !!"/>
  </RefParameter>


  <!-- RefParameters for GTZC - Common MPCWM Privileged -->
  <RefParameter Name="MPCWM_NonPrivilegeArea_Desc" Comment="Non Privilege Area Descriptor" DefaultValue="MPCWM1_NonPrivilegeArea_Desc" Type="string" Visible="false"/>


  <!-- RefParameters for GTZC - MPCWM1 Privileged -->
  <RefParameter Name="MPCWM1_NonPrivilegeArea_Choice" Comment="Configure Memory" DefaultValue="from full Privileged" Type="list">
    <PossibleValue Value="from full Privileged" Comment="from full Privileged" Semaphore="S_All_MPCWM1_Privileged"/>
    <PossibleValue Value="from full Not Privileged" Comment="from full Not Privileged" Semaphore="S_No_MPCWM1_Privileged"/>
    <Description>Privilege/Unprivilege all the memory range in one time until sizes are modified.</Description>
  </RefParameter>

  <RefParameter Name="MPCWM1_Area_FLASH_BASE" Comment="Memory Base Address FLASH_BASE" DefaultValue="0x08000000" Type="hex" Min="0x08000000" Max="0x08000000" Visible="false"/>
  <RefParameter Name="MPCWM1_NonPrivilegeArea_Max" Comment="Non Privilege Area Max" DefaultValue="0x08040000" Type="hex" Min="0x08040000" Max="0x08040000" Visible="false"/>
  <RefParameter Name="MPCWM1_NonPrivilegeArea_Size" Comment="Non Privilege Area Size" DefaultValue="0x40000" Type="hex" Min="0x0" Max="=(MPCWM1_NonPrivilegeArea_Max - MPCWM1_Area_FLASH_BASE)" NoCheckOpt="false">
    <Condition Expression="S_No_MPCWM1_Privileged" Diagnostic="pre-selected no MPCWM1 Privileged"/>
  </RefParameter>
  <RefParameter Name="MPCWM1_NonPrivilegeArea_Size" Comment="Non Privilege Area Size" DefaultValue="0x0" Type="hex" Min="0x0" Max="=(MPCWM1_NonPrivilegeArea_Max - MPCWM1_Area_FLASH_BASE)" NoCheckOpt="false"/>
  <RefParameter Name="MPCWM1_NonPrivilegeArea_BlockSize" Comment="Non Privilege Area Block Size" DefaultValue="0x800" Type="hex" Min="0x800" Max="0x800" Visible="false"/>

  <RefParameter Name="MPCWM1_NonPrivilegeWriteableArea_Max" Comment="Non Privilege Writeable Area Max" DefaultValue="0x08040000" Type="hex" Min="0x08040000" Max="0x08040000" Visible="false"/>
  <RefParameter Name="MPCWM1_NonPrivilegeWriteableArea_Size" Comment="Non Privilege Writeable Area Size" DefaultValue="0x0" Type="string" Min="0x0" Max="0x0">
    <Condition Expression="MPCWM1_NonPrivilegeArea_Size=0" Diagnostic="only available when Non Privilege Area Size is different to 0x0"/>
  </RefParameter>
  <RefParameter Name="MPCWM1_NonPrivilegeWriteableArea_Size" Comment="Non Privilege Writeable Area Size" DefaultValue="=(MPCWM1_NonPrivilegeArea_Size)" Type="hex" Min="0x0" Max="=(MPCWM1_NonPrivilegeArea_Size)" NoCheckOpt="false">
    <Condition Expression="S_No_MPCWM1_Privileged" Diagnostic="pre-selected no MPCWM1 Privileged"/>
  </RefParameter>
  <RefParameter Name="MPCWM1_NonPrivilegeWriteableArea_Size" Comment="Non Privilege Writeable Area Size" DefaultValue="0x0" Type="hex" Min="0x0" Max="=(MPCWM1_NonPrivilegeArea_Size)" NoCheckOpt="false"/>
  <RefParameter Name="MPCWM1_NonPrivilegeWriteableArea_BlockSize" Comment="Non Privilege Area Block Size" DefaultValue="0x800" Type="hex" Min="0x800" Max="0x800" Visible="false"/>


  <!-- RefParameters for GTZC - MPCWM2 Privileged -->
  <RefParameter Name="MPCWM2_NonPrivilegeArea_Choice" Comment="Configure Memory" DefaultValue="from full Privileged" Type="list">
    <PossibleValue Value="from full Privileged" Comment="from full Privileged" Semaphore="S_All_MPCWM2_Privileged"/>
    <PossibleValue Value="from full Not Privileged" Comment="from full Not Privileged" Semaphore="S_No_MPCWM2_Privileged"/>
    <Description>Privilege/Unprivilege all the memory range in one time until sizes are modified.</Description>
  </RefParameter>

  <RefParameter Name="MPCWM2_NonPrivilegeArea_SRAM1_BASE" Comment="Memory Base Address SRAM1_BASE" DefaultValue="0x20000000" Type="hex" Min="0x20000000" Max="0x20000000" Visible="false"/>

  <RefParameter Name="MPCWM2_NonPrivilegeArea_Max" Comment="Non Privilege Area Max" DefaultValue="0x20008000" Type="hex" Min="0x20008000" Max="0x20008000" Visible="false"/>
  <RefParameter Name="MPCWM2_NonPrivilegeArea_Size" Comment="Non Privilege Area Size" DefaultValue="0x8000" Type="hex" Min="0x0" Max="=(MPCWM2_NonPrivilegeArea_Max - MPCWM2_NonPrivilegeArea_SRAM1_BASE)" NoCheckOpt="false">
    <Condition Expression="S_No_MPCWM2_Privileged" Diagnostic="pre-selected no MPCWM2 Privileged"/>
  </RefParameter>
  <RefParameter Name="MPCWM2_NonPrivilegeArea_Size" Comment="Non Privilege Area Size" DefaultValue="0x0" Type="hex" Min="0x0" Max="=(MPCWM2_NonPrivilegeArea_Max - MPCWM2_NonPrivilegeArea_SRAM1_BASE)" NoCheckOpt="false"/>
  <RefParameter Name="MPCWM2_NonPrivilegeArea_BlockSize" Comment="Non Privilege Area Block Size" DefaultValue="0x400" Type="hex" Min="0x400" Max="0x400" Visible="false"/>


  <!-- RefParameters for GTZC - MPCWM3 Privileged -->
  <RefParameter Name="MPCWM3_NonPrivilegeArea_Choice" Comment="Configure Memory" DefaultValue="from full Privileged" Type="list">
    <PossibleValue Value="from full Privileged" Comment="from full Privileged" Semaphore="S_All_MPCWM3_Privileged"/>
    <PossibleValue Value="from full Not Privileged" Comment="from full Not Privileged" Semaphore="S_No_MPCWM3_Privileged"/>
    <Description>Privilege/Unprivilege all the memory range in one time until sizes are modified.</Description>
  </RefParameter>

  <RefParameter Name="MPCWM3_NonPrivilegeArea_SRAM2_BASE" Comment="Memory Base Address SRAM2_BASE" DefaultValue="0x20008000" Type="hex" Min="0x20008000" Max="0x20008000" Visible="false"/>

  <RefParameter Name="MPCWM3_NonPrivilegeArea_Max" Comment="Non Privilege Area Max" DefaultValue="0x20010000" Type="hex" Min="0x20010000" Max="0x20010000" Visible="false"/>
  <RefParameter Name="MPCWM3_NonPrivilegeArea_Size" Comment="Non Privilege Area Size" DefaultValue="0x8000" Type="hex" Min="0x0" Max="=(MPCWM3_NonPrivilegeArea_Max - MPCWM3_NonPrivilegeArea_SRAM2_BASE)" NoCheckOpt="false">
    <Condition Expression="S_No_MPCWM3_Privileged" Diagnostic="pre-selected no MPCWM3 Privileged"/>
  </RefParameter>
  <RefParameter Name="MPCWM3_NonPrivilegeArea_Size" Comment="Non Privilege Area Size" DefaultValue="0x0" Type="hex" Min="0x0" Max="=(MPCWM3_NonPrivilegeArea_Max - MPCWM3_NonPrivilegeArea_SRAM2_BASE)" NoCheckOpt="false"/>
  <RefParameter Name="MPCWM3_NonPrivilegeArea_BlockSize" Comment="Non Privilege Area Block Size" DefaultValue="0x400" Type="hex" Min="0x400" Max="0x400" Visible="false"/>



  <!-- RefParameters for GTZC - IT Secured -->
  <RefParameter Name="TZIC_Configure_IT_Choice" Comment="Configure Illegal access IT" DefaultValue="by Individual Enabling from full Disabled" Type="list" Group="Illegal Access ITs for securable &amp; TZ-Aware Peripherals" TabName="GTZC Illegal Access Controller">
    <PossibleValue Value="by Individual Enabling from full Disabled" Comment="by Individual Enabling from full Disabled" Semaphore="S_Full_IT_Disabled"/>
    <PossibleValue Value="by Individual Disabling from full Enabled" Comment="by Individual Disabling from full Enabled" Semaphore="S_Full_IT_Enabled"/>
    <Description>Enable/Disable all the Interrupts in one time until individuals are modified.</Description>
  </RefParameter>

  <RefParameter Name="Illegal_Access_Interrupt_Peripheral" Comment="Illegal Access Interrupt Peripheral" DefaultValue="Illegal Access Interrupt State" Type="string" Group="Illegal Access ITs for securable &amp; TZ-Aware Peripherals" TabName="GTZC Illegal Access Controller"/>
  <RefParameter Name="Illegal_Access_Interrupt" Comment="" DefaultValue="Enabled" Type="list" Group="Illegal Access ITs for securable &amp; TZ-Aware Peripherals" TabName="GTZC Illegal Access Controller">
    <Condition Expression="S_Full_IT_Enabled" Diagnostic="pre-selected all IT Secured"/>
    <PossibleValue Value="Disabled" Comment="disabled"/>
    <PossibleValue Value="Enabled" Comment="enabled"/>
  </RefParameter>
  <RefParameter Name="Illegal_Access_Interrupt" Comment="" DefaultValue="Disabled" Type="list" Group="Illegal Access ITs for securable &amp; TZ-Aware Peripherals" TabName="GTZC Illegal Access Controller">
    <PossibleValue Value="Disabled" Comment="disabled"/>
    <PossibleValue Value="Enabled" Comment="enabled"/>
  </RefParameter>

  <!-- RefMode for GTZC -->
  <RefMode Name="GTZC_Enable">
    <ConfigForMode>GTZC_Init</ConfigForMode>
    <Parameter Name="Instance"/>

    <!-- Parameters for GTZC - General settings -->
    <Parameter Name="TZSC_Lock" Group="Lock all TZSC"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>

    <!-- Parameters for GTZC - IP Secured -->
    <Parameter Name="TZSC_Secure_IP_Choice"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="Securable_Peripheral"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="AES_Secure" Comment="AES"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/>
      <PossibleValue Comment="secured" Condition="KMS_Cortex_M4" Diagnostic="not secured KMS could not access to secured AES">GTZC_TZSC_ATTRIBUTE_SEC</PossibleValue>
      <PossibleValue Comment="not secured">GTZC_TZSC_ATTRIBUTE_NSEC</PossibleValue>
    </Parameter>
    <Parameter Name="PKA_Secure" Comment="PKA"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/>
      <PossibleValue Comment="secured" Condition="KMS_Cortex_M4" Diagnostic="not secured KMS could not access to secured PKA">GTZC_TZSC_ATTRIBUTE_SEC</PossibleValue>
      <PossibleValue Comment="not secured">GTZC_TZSC_ATTRIBUTE_NSEC</PossibleValue>
    </Parameter>
    <Parameter Name="RNG_Secure" Comment="RNG"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>

    <!-- Parameters for GTZC - IP Privileged -->
    <Parameter Name="AES_Privilege_Status"></Parameter>
    <Parameter Name="PKA_Privilege_Status"></Parameter>
    <Parameter Name="RNG_Privilege_Status"></Parameter>

    <Parameter Name="TZSC_Privilege_IP_Choice"></Parameter>
    <Parameter Name="Privilegeable_Peripheral"></Parameter>
    <Parameter Name="AES_Privilege" RefParameter="IP_Privilege" Comment="AES"><Condition Diagnostic="Active in GTZC_S if AES Secured" Expression="AES_Privilege_Status=true"/></Parameter>
    <Parameter Name="PKA_Privilege" RefParameter="IP_Privilege" Comment="PKA"><Condition Diagnostic="Active in GTZC_S if PKA Secured" Expression="PKA_Privilege_Status=true"/></Parameter>
    <Parameter Name="RNG_Privilege" RefParameter="IP_Privilege" Comment="RNG"><Condition Diagnostic="Active in GTZC_S if RNG Secured" Expression="RNG_Privilege_Status=true"/></Parameter>
    <Parameter Name="SUBGHZSPI_Privilege" RefParameter="IP_Privilege" Comment="SUBGHZSPI"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>


    <!-- Parameters for GTZC - MPCWM1 Secured -->
    <Parameter Name="MPCWM_NonPrivilegeArea_Desc" Group="MPCWM Common" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>

    <Parameter Name="MPCWM1_NonPrivilegeArea_Choice" Group="MPCWM1 (FLASH)" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="MPCWM1_NonPrivilegeArea_Size" Group="MPCWM1 (FLASH)" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="MPCWM1_NonPrivilegeWriteableArea_Size" Group="MPCWM1 (FLASH)" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>


    <!-- Parameters for GTZC - MPCWM2 Secured -->
    <Parameter Name="MPCWM2_NonPrivilegeArea_Choice" Group="MPCWM2 (SRAM1)" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="MPCWM2_NonPrivilegeArea_Size" Group="MPCWM2 (SRAM1)" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>


    <!-- Parameters for GTZC - MPCWM3 Secured -->
    <Parameter Name="MPCWM3_NonPrivilegeArea_Choice" Group="MPCWM3 (SRAM2)" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="MPCWM3_NonPrivilegeArea_Size" Group="MPCWM3 (SRAM2)" TabName="GTZC Security Controller - Memory Protection Controller WaterMark"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>


    <!-- Parameters for GTZC - Interrupts Secured -->
    <Parameter Name="TZIC_Configure_IT_Choice"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="Illegal_Access_Interrupt_Peripheral"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="TZIC_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="TZIC"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="TZSC_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="TZSC"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="AES_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="AES"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="RNG_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="RNG"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="SUBGHZSPI_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="SUBGHZSPI"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="PWR_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="PWR"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="FLASH_IF_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="FLASH_IF"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="DMA1_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="DMA1"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="DMA2_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="DMA2"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="DMAMUX1_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="DMAMUX1"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="FLASH_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="FLASH"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="SRAM1_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="SRAM1"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="SRAM2_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="SRAM2"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
    <Parameter Name="PKA_Illegal_Access_Interrupt" RefParameter="Illegal_Access_Interrupt" Comment="PKA"><Condition Diagnostic="only Active in GTZC_S" Expression="($IpInstance=GTZC_S)"/></Parameter>
  </RefMode>


  <!-- ModeLogicOperator for GTZC -->
  <ModeLogicOperator Name="OR">
    <Mode Name="GTZC_Enable" UserName="Enable - please check with your programming tool that Option Byte ESE is set to 1" RemoveCondition="S_SINGLE_CORE">
      <ModeLogicOperator Name="XOR">
        <Mode Name="GTZC_Enable" UserName="Enable">
          <SignalLogicalOp Name="AND">
            <Signal IOMode="" Name="VS_GTZC_Enable"/>
          </SignalLogicalOp>
          <Semaphore>S_GTZC_Enabled</Semaphore>
          <Semaphore>GTZC_SECURE</Semaphore>
          <Semaphore>S_SECURE</Semaphore>
          <Semaphore>$IpInstance</Semaphore>
        </Mode>
      </ModeLogicOperator>
    </Mode>
  </ModeLogicOperator>

  <!-- RefSignals for GTZC -->
  <RefSignal Name="VS_GTZC_Enable" Virtual="true"/>

</IP>
