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