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