/*
 * Copyright (c) 2019 NVIDIA Corporation.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *  * Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *  * Neither the name of NVIDIA CORPORATION nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef CLASS_IDS_H_INC
#define CLASS_IDS_H_INC

#define NV_HOST1X_CLASS_ID                      0x01

#define NV_VIDEO_ENCODE_NVENC_CLASS_ID          0x21
#define NV_VIDEO_ENCODE_NVENC1_CLASS_ID         0x22

#define NV_VIDEO_STREAMING_VI_CLASS_ID          0x30
#define NV_VIDEO_STREAMING_VI_FALCON_CLASS_ID   0x31
#define NV_VIDEO_STREAMING_ISP_CLASS_ID         0x32
#define NV_VIDEO_STREAMING_ISP_FALCON_CLASS_ID  0x33
#define NV_VIDEO_STREAMING_ISPB_CLASS_ID        0x34
#define NV_VIDEO_STREAMING_VII2C_CLASS_ID       0x36
#define NV_VIDEO_STREAMING_VII2C1_CLASS_ID      0x37

#define NV_VIDEO_STREAMING_CSI3_CLASS_ID        0x35
#define NV_VIDEO_STREAMING_NVCSI_CLASS_ID       0x38
#define NV_SLVSEC_CLASS_ID                      0x3F

#define NV_GRAPHICS_VIC_CLASS_ID                0x5D

#define NV_GRAPHICS_GPU_CLASS_ID                0x61

#define NV_DISPLAY_CLASS_ID                     0x70
#define NV_NVDISPLAY_CLASS_ID                   0x70
#define NV_DISPLAYB_CLASS_ID                    0x71
#define NV_DISPLAYC_CLASS_ID                    0x72
#define NV_DISP_CLASS_ID                        0x70
#define NV_DISPB_CLASS_ID                       0x71
#define NV_DISPC_CLASS_ID                       0x72
#define NV_HDMI_CLASS_ID                        0x77
#define NV_DISPLAY_DSI_CLASS_ID                 0x79
#define NV_DISPLAY_DSIB_CLASS_ID                0x7A
#define NV_SOR_CLASS_ID                         0x7B
#define NV_SOR1_CLASS_ID                        0x7C
#define NV_SOR2_CLASS_ID                        0x84
#define NV_SOR3_CLASS_ID                        0x85
#define NV_DPAUX_CLASS_ID                       0x7D
#define NV_DPAUX1_CLASS_ID                      0x7E
#define NV_DPAUX2_CLASS_ID                      0x86
#define NV_DPAUX3_CLASS_ID                      0x87
#define NV_DSIC_CLASS_ID                        0x7F
#define NV_DSID_CLASS_ID                        0x80
#define NV_DSI_CPHY_A_CLASS_ID                  0x81
#define NV_DSI_CPHY_B_CLASS_ID                  0x82
#define NV_DSI_PADCTL                           0x83
#define NV_DSI_PADCTL_CLASS_ID                  0x83

#define NV_NVJPG_CLASS_ID                       0xC0

#define NV_TSEC_CLASS_ID                        0xE0
#define NV_TSECB_CLASS_ID                       0xE1

#define NV_NVDEC_CLASS_ID                       0xF0
#define NV_NVDEC1_CLASS_ID                      0xF5
#define NV_NVDCT_CLASS_ID                       0x39
#define NV_DCTNR_CLASS_ID                       0x39

#define NV_SE1_CLASS_ID                         0x3A
#define NV_SE2_CLASS_ID                         0x3B
#define NV_SE3_CLASS_ID                         0x3C
#define NV_SE4_CLASS_ID                         0x3D
#define NV_SE5_CLASS_ID                         0x3E

#define NV_PVA0_CLASS_ID                        0xF1
#define NV_PVA1_CLASS_ID                        0xF2

#define NV_DLA0_CLASS_ID                        0xF3
#define NV_DLA1_CLASS_ID                        0xF4



#endif
