<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE register_page SYSTEM "registers.dtd">
<!-- Copyright (c) 2010-2026 Arm Limited or its affiliates. All rights reserved. -->
<!-- This document is Non-Confidential. This document may only be used and distributed in accordance with the terms of the agreement entered into by Arm and the party that Arm delivered this document to. -->
<!--The data contained in this document is preliminary and subject to change or correction following further review. -->
<?xml-stylesheet href="one_register.xsl" type="text/xsl" ?>







<register_page>
  <registers>
  
    <register is_register="True" is_internal="False" is_stub_entry="False">
      <reg_short_name>CTIDEVID</reg_short_name>
        
        <reg_long_name>CTI Device ID register 0</reg_long_name>

        <power_domain_text>CTIDEVID is in the Debug power domain</power_domain_text>


      
      

    
  <reg_address
      external_access="True"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>CTI</reg_component>
    <reg_offset><hexnumber>0xFC8</hexnumber></reg_offset>
    <reg_instance>CTIDEVID</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_type>RO</reg_access_type>
      </reg_access_state>
    </reg_access>
</reg_address>



          <reg_reset_value></reg_reset_value>

      <reg_mappings>
        




      </reg_mappings>

        <reg_purpose>
          
    
      <purpose_text>
        <para>Describes the CTI component to the debugger.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
          <reg_group>CTI</reg_group>
      </reg_groups>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>CTIDEVID is a 32-bit register.</para>
      </attributes_text>

      </reg_attributes>
      <reg_fieldsets>
        






<fields id="fieldset_0" length="32">
  <text_before_fields/>
  <field id="fieldset_0-31_26" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
    <field_msb>31</field_msb>
    <field_lsb>26</field_lsb>
    <rel_range>31:26</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_0-25_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="True" is_partial_field="False" is_conditional_field_name="False">
    <field_name>INOUT</field_name>
    <field_msb>25</field_msb>
    <field_lsb>24</field_lsb>
    <rel_range>25:24</rel_range>
    <field_description order="before">
      <para>Input/output options. Indicates presence of the input gate. If the CTM is not implemented or CTIv2 is not implemented, this field is RAZ.</para>
    </field_description>
    <field_description order="after">
      <para>All other values are reserved.</para>
    </field_description>
    <field_values impdef="True">
      <field_value_instance>
        <field_value>0b00</field_value>
        <field_value_description>
          <para><register_link state="ext" id="ext-ctigate.xml">CTIGATE</register_link> does not mask propagation of input events from external channels.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b01</field_value>
        <field_value_description>
          <para><register_link state="ext" id="ext-ctigate.xml">CTIGATE</register_link> masks propagation of input events from external channels.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
    <field_access>
      <field_access_state>
        <field_access_type>RO</field_access_type>
      </field_access_state>
    </field_access>
  </field>
  <field id="fieldset_0-23_22" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
    <field_msb>23</field_msb>
    <field_lsb>22</field_lsb>
    <rel_range>23:22</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_0-21_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="True" is_partial_field="False" is_conditional_field_name="False">
    <field_name>NUMCHAN</field_name>
    <field_msb>21</field_msb>
    <field_lsb>16</field_lsb>
    <rel_range>21:16</rel_range>
    <field_description order="before"><para>Number of ECT channels implemented. For Armv8, valid values are:</para>
<list type="unordered">
<listitem><content><binarynumber>0b000011</binarynumber> 3 channels (0..2) implemented.</content>
</listitem><listitem><content><binarynumber>0b000100</binarynumber> 4 channels (0..3) implemented.</content>
</listitem><listitem><content><binarynumber>0b000101</binarynumber> 5 channels (0..4) implemented.</content>
</listitem><listitem><content><binarynumber>0b000110</binarynumber> 6 channels (0..5) implemented.</content>
</listitem></list></field_description>
    <field_description order="after"><para>and so on up to <binarynumber>0b100000</binarynumber>, 32 channels (0..31) implemented.</para>
<para>All other values are reserved.</para>
<para>This field has an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> value.</para></field_description>
    <field_access>
      <field_access_state>
        <field_access_type>RO</field_access_type>
      </field_access_state>
    </field_access>
  </field>
  <field id="fieldset_0-15_14" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
    <field_msb>15</field_msb>
    <field_lsb>14</field_lsb>
    <rel_range>15:14</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_0-13_8" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="True" is_partial_field="False" is_conditional_field_name="False">
    <field_name>NUMTRIG</field_name>
    <field_msb>13</field_msb>
    <field_lsb>8</field_lsb>
    <rel_range>13:8</rel_range>
    <field_description order="before">
      <para>Upper bound for number of triggers. The indices of all implemented input and output triggers are less than this value.</para>
    </field_description>
    <field_description order="after"><para>There is no guarantee that all of the input and output triggers, including the highest numbered, are connected to any components, or that the implementation of input and output triggers is symmetrical.</para>
<para>This field has an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> value.</para></field_description>
    <field_access>
      <field_access_state>
        <field_access_type>RO</field_access_type>
      </field_access_state>
    </field_access>
  </field>
  <field id="fieldset_0-7_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
    <field_msb>7</field_msb>
    <field_lsb>5</field_lsb>
    <rel_range>7:5</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_0-4_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="True" is_partial_field="False" is_conditional_field_name="False">
    <field_name>EXTMUXNUM</field_name>
    <field_msb>4</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>4:0</rel_range>
    <field_description order="before">
      <para>Number of multiplexors available on triggers. This value is used in conjunction with External Control register, <register_link state="ext" id="ext-asicctl.xml">ASICCTL</register_link>.</para>
    </field_description>
    <field_description order="after">
      <para>This field has an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> value.</para>
    </field_description>
    <field_access>
      <field_access_state>
        <field_access_type>RO</field_access_type>
      </field_access_state>
    </field_access>
  </field>
  <text_after_fields/>
</fields>




<reg_fieldset length="32">
  <fieldat id="fieldset_0-31_26" msb="31" lsb="26"/>
  <fieldat id="fieldset_0-25_24" msb="25" lsb="24"/>
  <fieldat id="fieldset_0-23_22" msb="23" lsb="22"/>
  <fieldat id="fieldset_0-21_16" msb="21" lsb="16"/>
  <fieldat id="fieldset_0-15_14" msb="15" lsb="14"/>
  <fieldat id="fieldset_0-13_8" msb="13" lsb="8"/>
  <fieldat id="fieldset_0-7_5" msb="7" lsb="5"/>
  <fieldat id="fieldset_0-4_0" msb="4" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>

      <access_mechanisms>
          






    

      </access_mechanisms>

      <arch_variants>
      </arch_variants>
  </register>
</registers>
<timestamp>2026-03-26 20:27:25</timestamp>
<commit_id>2026-03_rel</commit_id>
</register_page>