xref: /freebsd/sys/contrib/xen/device_tree_defs.h (revision 3a9fd8242b35884921dfc4e886f284a75870a536)
1*3a9fd824SRoger Pau Monné #ifndef __XEN_DEVICE_TREE_DEFS_H__
2*3a9fd824SRoger Pau Monné #define __XEN_DEVICE_TREE_DEFS_H__
3*3a9fd824SRoger Pau Monné 
4*3a9fd824SRoger Pau Monné #if defined(__XEN__) || defined(__XEN_TOOLS__)
5*3a9fd824SRoger Pau Monné /*
6*3a9fd824SRoger Pau Monné  * The device tree compiler (DTC) is allocating the phandle from 1 to
7*3a9fd824SRoger Pau Monné  * onwards. Reserve a high value for the GIC phandle.
8*3a9fd824SRoger Pau Monné  */
9*3a9fd824SRoger Pau Monné #define GUEST_PHANDLE_GIC (65000)
10*3a9fd824SRoger Pau Monné 
11*3a9fd824SRoger Pau Monné #define GUEST_ROOT_ADDRESS_CELLS 2
12*3a9fd824SRoger Pau Monné #define GUEST_ROOT_SIZE_CELLS 2
13*3a9fd824SRoger Pau Monné 
14*3a9fd824SRoger Pau Monné /**
15*3a9fd824SRoger Pau Monné  * IRQ line type.
16*3a9fd824SRoger Pau Monné  *
17*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_NONE            - default, unspecified type
18*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_EDGE_RISING     - rising edge triggered
19*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_EDGE_FALLING    - falling edge triggered
20*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_EDGE_BOTH       - rising and falling edge triggered
21*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_LEVEL_HIGH      - high level triggered
22*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_LEVEL_LOW       - low level triggered
23*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_LEVEL_MASK      - Mask to filter out the level bits
24*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_SENSE_MASK      - Mask for all the above bits
25*3a9fd824SRoger Pau Monné  * DT_IRQ_TYPE_INVALID         - Use to initialize the type
26*3a9fd824SRoger Pau Monné  */
27*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_NONE           0x00000000
28*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_EDGE_RISING    0x00000001
29*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_EDGE_FALLING   0x00000002
30*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_EDGE_BOTH                           \
31*3a9fd824SRoger Pau Monné     (DT_IRQ_TYPE_EDGE_FALLING | DT_IRQ_TYPE_EDGE_RISING)
32*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_LEVEL_HIGH     0x00000004
33*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_LEVEL_LOW      0x00000008
34*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_LEVEL_MASK                          \
35*3a9fd824SRoger Pau Monné     (DT_IRQ_TYPE_LEVEL_LOW | DT_IRQ_TYPE_LEVEL_HIGH)
36*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_SENSE_MASK     0x0000000f
37*3a9fd824SRoger Pau Monné 
38*3a9fd824SRoger Pau Monné #define DT_IRQ_TYPE_INVALID        0x00000010
39*3a9fd824SRoger Pau Monné 
40*3a9fd824SRoger Pau Monné #endif
41*3a9fd824SRoger Pau Monné 
42*3a9fd824SRoger Pau Monné #endif
43