Programmable Multilevel Interrupt Controller driver.
Copyright (c) 2010-2018 Microchip Technology Inc. and its subsidiaries.
Enumerations | |
enum | pmic_level { PMIC_LVL_LOW = PMIC_LOLVLEN_bm, PMIC_LVL_MEDIUM = PMIC_MEDLVLEN_bm, PMIC_LVL_HIGH = PMIC_HILVLEN_bm, PMIC_LVL_NMI = PMIC_NMIEX_bp } |
Interrupt level bitmasks. More... | |
enum | pmic_schedule { PMIC_SCH_FIXED_PRIORITY, PMIC_SCH_ROUND_ROBIN, PMIC_NR_OF_SCHEDULES } |
Interrupt scheduling schemes. More... | |
enum | pmic_vector { PMIC_VEC_APPLICATION, PMIC_VEC_BOOT, PMIC_NR_OF_VECTORS } |
Interrupt vector locations. More... | |
Functions | |
static void | pmic_disable_level (enum pmic_level level) |
Disable interrupts with specified level(s). More... | |
static void | pmic_enable_level (enum pmic_level level) |
Enable interrupts with specified level(s). More... | |
static enum pmic_level | pmic_get_enabled_levels (void) |
Get currently enabled level(s) More... | |
static void | pmic_init (void) |
Initialize the PMIC. More... | |
static bool | pmic_level_is_enabled (enum pmic_level level) |
Check if specified interrupt level(s) is enabled. More... | |
static bool | pmic_level_is_executing (enum pmic_level level) |
Check if an interrupt level(s) is currently executing. More... | |
static void | pmic_set_scheduling (enum pmic_schedule schedule) |
Set interrupt scheduling for low-level interrupts. More... | |
static void | pmic_set_vector_location (enum pmic_vector vector) |
Set location of interrupt vectors. More... | |