<?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>EDACR</reg_short_name>
        
        <reg_long_name>External Debug Auxiliary Control Register</reg_long_name>

        <power_domain_text>When FEAT_DoPD is implemented, EDACR is in the Core power domain. Otherwise, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether EDACR is implemented in the Core power domain or in the Debug power domain</power_domain_text>


      
          <reg_condition otherwise="RES0" verbatim="True"><para>Implementation of this register is <arm-defined-word>OPTIONAL</arm-defined-word>.</para></reg_condition>
      

    
  <reg_address
      external_access="True"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>Debug</reg_component>
    <reg_offset><hexnumber>0x094</hexnumber></reg_offset>
    <reg_instance>EDACR</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When DoubleLockStatus(), or !IsCorePowered(), or OSLockStatus()</reg_access_level>
          <reg_access_type>IMPDEF</reg_access_type>
      </reg_access_state>
        
      <reg_access_state>
          <reg_access_level>When SoftwareLockStatus(addrdesc)</reg_access_level>
          <reg_access_type>RO</reg_access_type>
      </reg_access_state>
        
      <reg_access_state>
          <reg_access_type>RW</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>Allows implementations to support <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> controls.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
          <reg_group>Debug</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>If this register is implemented, <register_link state="ext" id="ext-eddevid.xml">EDDEVID</register_link>.AuxRegs == <binarynumber>0b0001</binarynumber>.</para>

      </configuration_text>
      <configuration_text>
        <para>If <xref linkend="#FEAT_DoPD">FEAT_DoPD</xref> is implemented, any mechanism to preserve control bits in EDACR over power down is optional and <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word>.</para>

      </configuration_text>
      <configuration_text>
        <para>If <xref linkend="#FEAT_DoPD">FEAT_DoPD</xref> is not implemented and EDACR contains any control bits that must be preserved over power down, then these bits must be accessible by the external debug interface when the OS Lock is locked, <register_link state="AArch64" id="AArch64-oslsr_el1.xml">OSLSR_EL1</register_link>.OSLK == 1, and when the Core is powered off.</para>

      </configuration_text>
      <configuration_text>
        <para>Changing this register from its reset value causes <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> behavior, including possible deviation from the architecturally-defined behavior.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>EDACR 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_0" 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">
    <field_name>IMPLEMENTATION DEFINED</field_name>
    <field_msb>31</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>31:0</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word>.</para>
    </field_description>
    <field_resets>
      <field_reset>
        <field_reset_special_text><para>The following resets apply:</para>
<list type="unordered">
<listitem><content>
<para>If the register is implemented in the Core power domain:</para>
<list type="unordered">
<listitem><content>On a Cold reset, this field resets to an architecturally <arm-defined-word>UNKNOWN</arm-defined-word> value.</content>
</listitem><listitem><content>On an External debug reset, the value of this field is unchanged.</content>
</listitem><listitem><content>On a Warm reset, the value of this field is unchanged.</content>
</listitem></list>
</content>
</listitem><listitem><content>
<para>If the register is implemented in the External debug power domain:</para>
<list type="unordered">
<listitem><content>On a Cold reset, the value of this field is unchanged.</content>
</listitem><listitem><content>On an External debug reset, this field resets to an architecturally <arm-defined-word>UNKNOWN</arm-defined-word> value.</content>
</listitem><listitem><content>On a Warm reset, the value of this field is unchanged.</content>
</listitem></list>
</content>
</listitem></list></field_reset_special_text>
      </field_reset>
    </field_resets>
  </field>
  <text_after_fields/>
</fields>




<reg_fieldset length="32">
  <fieldat id="fieldset_0-31_0" msb="31" 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>