1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park #ifndef INTERRUPT_PROPS_H 8*54fd6939SJiyong Park #define INTERRUPT_PROPS_H 9*54fd6939SJiyong Park 10*54fd6939SJiyong Park #ifndef __ASSEMBLER__ 11*54fd6939SJiyong Park 12*54fd6939SJiyong Park /* Create an interrupt property descriptor from various interrupt properties */ 13*54fd6939SJiyong Park #define INTR_PROP_DESC(num, pri, grp, cfg) \ 14*54fd6939SJiyong Park { \ 15*54fd6939SJiyong Park .intr_num = (num), \ 16*54fd6939SJiyong Park .intr_pri = (pri), \ 17*54fd6939SJiyong Park .intr_grp = (grp), \ 18*54fd6939SJiyong Park .intr_cfg = (cfg), \ 19*54fd6939SJiyong Park } 20*54fd6939SJiyong Park 21*54fd6939SJiyong Park typedef struct interrupt_prop { 22*54fd6939SJiyong Park unsigned int intr_num:10; 23*54fd6939SJiyong Park unsigned int intr_pri:8; 24*54fd6939SJiyong Park unsigned int intr_grp:2; 25*54fd6939SJiyong Park unsigned int intr_cfg:2; 26*54fd6939SJiyong Park } interrupt_prop_t; 27*54fd6939SJiyong Park 28*54fd6939SJiyong Park #endif /* __ASSEMBLER__ */ 29*54fd6939SJiyong Park #endif /* INTERRUPT_PROPS_H */ 30