1 #ifndef __NVKM_DEVIDX_H__
2 #define __NVKM_DEVIDX_H__
3 enum nvkm_devidx {
4 	NVDEV_ENGINE_DEVICE,
5 	NVDEV_SUBDEV_VBIOS,
6 
7 	/* All subdevs from DEVINIT to DEVINIT_LAST will be created before
8 	 * *any* of them are initialised.  This subdev category is used
9 	 * for any subdevs that the VBIOS init table parsing may call out
10 	 * to during POST.
11 	 */
12 	NVDEV_SUBDEV_DEVINIT,
13 	NVDEV_SUBDEV_IBUS,
14 	NVDEV_SUBDEV_GPIO,
15 	NVDEV_SUBDEV_I2C,
16 	NVDEV_SUBDEV_DEVINIT_LAST = NVDEV_SUBDEV_I2C,
17 
18 	/* This grouping of subdevs are initialised right after they've
19 	 * been created, and are allowed to assume any subdevs in the
20 	 * list above them exist and have been initialised.
21 	 */
22 	NVDEV_SUBDEV_FUSE,
23 	NVDEV_SUBDEV_MXM,
24 	NVDEV_SUBDEV_MC,
25 	NVDEV_SUBDEV_BUS,
26 	NVDEV_SUBDEV_TIMER,
27 	NVDEV_SUBDEV_FB,
28 	NVDEV_SUBDEV_LTC,
29 	NVDEV_SUBDEV_INSTMEM,
30 	NVDEV_SUBDEV_MMU,
31 	NVDEV_SUBDEV_BAR,
32 	NVDEV_SUBDEV_PMU,
33 	NVDEV_SUBDEV_VOLT,
34 	NVDEV_SUBDEV_THERM,
35 	NVDEV_SUBDEV_CLK,
36 
37 	NVDEV_ENGINE_FIRST,
38 	NVDEV_ENGINE_DMAOBJ = NVDEV_ENGINE_FIRST,
39 	NVDEV_ENGINE_IFB,
40 	NVDEV_ENGINE_FIFO,
41 	NVDEV_ENGINE_SW,
42 	NVDEV_ENGINE_GR,
43 	NVDEV_ENGINE_MPEG,
44 	NVDEV_ENGINE_ME,
45 	NVDEV_ENGINE_VP,
46 	NVDEV_ENGINE_CIPHER,
47 	NVDEV_ENGINE_BSP,
48 	NVDEV_ENGINE_MSPPP,
49 	NVDEV_ENGINE_CE0,
50 	NVDEV_ENGINE_CE1,
51 	NVDEV_ENGINE_CE2,
52 	NVDEV_ENGINE_VIC,
53 	NVDEV_ENGINE_MSENC,
54 	NVDEV_ENGINE_DISP,
55 	NVDEV_ENGINE_PM,
56 	NVDEV_ENGINE_MSVLD,
57 	NVDEV_ENGINE_SEC,
58 	NVDEV_ENGINE_MSPDEC,
59 
60 	NVDEV_SUBDEV_NR,
61 };
62 #endif
63