<?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>EDLAR</reg_short_name>
        
        <reg_long_name>External Debug Lock Access Register</reg_long_name>

        <power_domain_text>When FEAT_DoPD is implemented, EDLAR is in the Core power domain. Otherwise, EDLAR is in the Debug power domain</power_domain_text>


      
      

    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>Debug</reg_component>
    <reg_offset><hexnumber>0xFB0</hexnumber></reg_offset>
    <reg_instance>EDLAR</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When FEAT_DoPD is implemented and !IsCorePowered()</reg_access_level>
          <reg_access_type>ERROR</reg_access_type>
      </reg_access_state>
        
      <reg_access_state>
          <reg_access_type>WO</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 or disallows access to the external debug registers through a memory-mapped interface.</para>

      </purpose_text>
      <purpose_text>
        <para>The optional Software Lock provides a lock to prevent memory-mapped writes to the debug registers. Use of this lock mechanism reduces the risk of accidental damage to the contents of the debug registers. It does not, and cannot, prevent all accidental or malicious damage.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
          <reg_group>Debug</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>If <xref linkend="#FEAT_DoPD">FEAT_DoPD</xref> is implemented, Software Lock is not implemented by the architecturally-defined debug components of the PE.</para>

      </configuration_text>
      <configuration_text>
        <para>Software uses EDLAR to set or clear the lock, and <register_link state="ext" id="ext-edlsr.xml">EDLSR</register_link> to check the current status of the lock.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>EDLAR is a 32-bit register.</para>
      </attributes_text>

      </reg_attributes>
      <reg_fieldsets>
        






<fields id="fieldset_0" length="32">
  <fields_condition>When Debug Software Lock is implemented</fields_condition>
  <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>KEY</field_name>
    <field_msb>31</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>31:0</rel_range>
    <field_description order="before"><para>Lock Access control. Writing the key value <hexnumber>0xC5ACCE55</hexnumber> to this field unlocks the lock, enabling write accesses to this component's registers through a memory-mapped interface.</para>
<para>Writing any other value to this register locks the lock, disabling write accesses to this component's registers through a memory mapped interface.</para></field_description>
  </field>
  <text_after_fields/>
</fields>



<fields id="fieldset_1" length="32">
  <fields_condition/>
  <fields_instance>Otherwise</fields_instance>
  <text_before_fields>
    <para>Otherwise</para>
  </text_before_fields>
  <field id="fieldset_1-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" rwtype="RES0">
    <field_msb>31</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>31:0</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
  </field>
  <text_after_fields/>
</fields>





<reg_fieldset length="32">
  <fields_condition>When Debug Software Lock is implemented</fields_condition>
  <fieldat id="fieldset_0-31_0" msb="31" lsb="0"/>
</reg_fieldset>

<reg_fieldset length="32">
  <fields_condition/>
  <fieldat id="fieldset_1-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>