1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright (c) 2013 Linaro Limited 4 * Copyright (c) 2015 Citrix Systems, Inc 5 */ 6 7 #ifndef __XEN_DEVICE_TREE_DEFS_H__ 8 #define __XEN_DEVICE_TREE_DEFS_H__ 9 10 #if defined(__XEN__) || defined(__XEN_TOOLS__) 11 /* 12 * The device tree compiler (DTC) is allocating the phandle from 1 to 13 * onwards. Reserve high values for the specific phandles. 14 */ 15 #define GUEST_PHANDLE_GIC (65000) 16 #define GUEST_PHANDLE_IOMMU (GUEST_PHANDLE_GIC + 1) 17 18 #define GUEST_ROOT_ADDRESS_CELLS 2 19 #define GUEST_ROOT_SIZE_CELLS 2 20 21 /** 22 * IRQ line type. 23 * 24 * DT_IRQ_TYPE_NONE - default, unspecified type 25 * DT_IRQ_TYPE_EDGE_RISING - rising edge triggered 26 * DT_IRQ_TYPE_EDGE_FALLING - falling edge triggered 27 * DT_IRQ_TYPE_EDGE_BOTH - rising and falling edge triggered 28 * DT_IRQ_TYPE_LEVEL_HIGH - high level triggered 29 * DT_IRQ_TYPE_LEVEL_LOW - low level triggered 30 * DT_IRQ_TYPE_LEVEL_MASK - Mask to filter out the level bits 31 * DT_IRQ_TYPE_SENSE_MASK - Mask for all the above bits 32 * DT_IRQ_TYPE_INVALID - Use to initialize the type 33 */ 34 #define DT_IRQ_TYPE_NONE 0x00000000 35 #define DT_IRQ_TYPE_EDGE_RISING 0x00000001 36 #define DT_IRQ_TYPE_EDGE_FALLING 0x00000002 37 #define DT_IRQ_TYPE_EDGE_BOTH \ 38 (DT_IRQ_TYPE_EDGE_FALLING | DT_IRQ_TYPE_EDGE_RISING) 39 #define DT_IRQ_TYPE_LEVEL_HIGH 0x00000004 40 #define DT_IRQ_TYPE_LEVEL_LOW 0x00000008 41 #define DT_IRQ_TYPE_LEVEL_MASK \ 42 (DT_IRQ_TYPE_LEVEL_LOW | DT_IRQ_TYPE_LEVEL_HIGH) 43 #define DT_IRQ_TYPE_SENSE_MASK 0x0000000f 44 45 #define DT_IRQ_TYPE_INVALID 0x00000010 46 47 #endif 48 49 #endif 50