# Copyright 2025 NXP
#
# SPDX-License-Identifier: BSD-3-Clause


from enum import IntEnum


class Armv8Config(IntEnum):
    armv8_config_debug_ap_log = 0
    armv8_config_debug_ap_base_hi = 1
    armv8_config_debug_ap_base_lo = 2
    armv8_config_debug_ap_index = 3
    armv8_config_debug_ap_apsel = 4
    armv8_config_mem_ap_index = 5
    armv8_config_mem_ap_apsel = 6
    armv8_config_prepare_for_mcrun = 7
    armv8_config_prepare_for_debug = 8
    armv8_config_self_modifying_code_cache_maintenance = 9

class CortexMConfig(IntEnum):
    cortexm_config_debug_ap_log = 0
    cortexm_config_debug_ap_base_hi = 1
    cortexm_config_debug_ap_base_lo = 2
    cortexm_config_debug_ap_index = 3
    cortexm_config_debug_ap_apsel = 4
    cortexm_config_mem_ap_index = 5
    cortexm_config_mem_ap_apsel = 6
    cortexm_config_reset_state_reg_hi = 7
    cortexm_config_reset_state_reg_lo = 8
    cortexm_config_reset_state_size = 9
    cortexm_config_reset_state_mask = 10
    cortexm_config_reset_state_val = 11
    cortexm_config_reset_state_apsel = 12
    cortexm_config_mask_interrupts_on_step = 13
    