1*344c2e5aSBen Skeggs /* 2*344c2e5aSBen Skeggs * Copyright (c) 1993-2014, NVIDIA CORPORATION. All rights reserved. 3*344c2e5aSBen Skeggs * 4*344c2e5aSBen Skeggs * Permission is hereby granted, free of charge, to any person obtaining a 5*344c2e5aSBen Skeggs * copy of this software and associated documentation files (the "Software"), 6*344c2e5aSBen Skeggs * to deal in the Software without restriction, including without limitation 7*344c2e5aSBen Skeggs * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*344c2e5aSBen Skeggs * and/or sell copies of the Software, and to permit persons to whom the 9*344c2e5aSBen Skeggs * Software is furnished to do so, subject to the following conditions: 10*344c2e5aSBen Skeggs * 11*344c2e5aSBen Skeggs * The above copyright notice and this permission notice shall be included in 12*344c2e5aSBen Skeggs * all copies or substantial portions of the Software. 13*344c2e5aSBen Skeggs * 14*344c2e5aSBen Skeggs * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*344c2e5aSBen Skeggs * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*344c2e5aSBen Skeggs * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*344c2e5aSBen Skeggs * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18*344c2e5aSBen Skeggs * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19*344c2e5aSBen Skeggs * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20*344c2e5aSBen Skeggs * DEALINGS IN THE SOFTWARE. 21*344c2e5aSBen Skeggs */ 22*344c2e5aSBen Skeggs 23*344c2e5aSBen Skeggs 24*344c2e5aSBen Skeggs #ifndef _cl837d_h_ 25*344c2e5aSBen Skeggs #define _cl837d_h_ 26*344c2e5aSBen Skeggs 27*344c2e5aSBen Skeggs // class methods 28*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL(a) (0x00000600 + (a)*0x00000040) 29*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_OWNER 3:0 30*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_OWNER_NONE (0x00000000) 31*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_OWNER_HEAD0 (0x00000001) 32*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_OWNER_HEAD1 (0x00000002) 33*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_SUB_OWNER 5:4 34*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_SUB_OWNER_NONE (0x00000000) 35*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD0 (0x00000001) 36*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD1 (0x00000002) 37*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_SUB_OWNER_BOTH (0x00000003) 38*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL 11:8 39*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM (0x00000000) 40*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A (0x00000001) 41*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B (0x00000002) 42*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_AB (0x00000003) 43*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_DUAL_SINGLE_TMDS (0x00000004) 44*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS (0x00000005) 45*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_DDI_OUT (0x00000007) 46*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PROTOCOL_CUSTOM (0x0000000F) 47*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_HSYNC_POLARITY 12:12 48*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_HSYNC_POLARITY_POSITIVE_TRUE (0x00000000) 49*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_HSYNC_POLARITY_NEGATIVE_TRUE (0x00000001) 50*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_VSYNC_POLARITY 13:13 51*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_VSYNC_POLARITY_POSITIVE_TRUE (0x00000000) 52*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_VSYNC_POLARITY_NEGATIVE_TRUE (0x00000001) 53*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_DE_SYNC_POLARITY 14:14 54*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000) 55*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001) 56*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH 19:16 57*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_DEFAULT (0x00000000) 58*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_16_422 (0x00000001) 59*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_18_444 (0x00000002) 60*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_20_422 (0x00000003) 61*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_422 (0x00000004) 62*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_444 (0x00000005) 63*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_30_444 (0x00000006) 64*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_32_422 (0x00000007) 65*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_36_444 (0x00000008) 66*344c2e5aSBen Skeggs #define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_48_444 (0x00000009) 67*344c2e5aSBen Skeggs 68*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL(a) (0x00000700 + (a)*0x00000040) 69*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_OWNER 3:0 70*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_OWNER_NONE (0x00000000) 71*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_OWNER_HEAD0 (0x00000001) 72*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_OWNER_HEAD1 (0x00000002) 73*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_SUB_OWNER 5:4 74*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_SUB_OWNER_NONE (0x00000000) 75*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_SUB_OWNER_SUBHEAD0 (0x00000001) 76*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_SUB_OWNER_SUBHEAD1 (0x00000002) 77*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_SUB_OWNER_BOTH (0x00000003) 78*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PROTOCOL 11:8 79*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PROTOCOL_EXT_TMDS_ENC (0x00000000) 80*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PROTOCOL_EXT_TV_ENC (0x00000001) 81*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_HSYNC_POLARITY 12:12 82*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_HSYNC_POLARITY_POSITIVE_TRUE (0x00000000) 83*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_HSYNC_POLARITY_NEGATIVE_TRUE (0x00000001) 84*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_VSYNC_POLARITY 13:13 85*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_VSYNC_POLARITY_POSITIVE_TRUE (0x00000000) 86*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_VSYNC_POLARITY_NEGATIVE_TRUE (0x00000001) 87*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_DE_SYNC_POLARITY 14:14 88*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000) 89*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001) 90*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH 19:16 91*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_DEFAULT (0x00000000) 92*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_16_422 (0x00000001) 93*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_18_444 (0x00000002) 94*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_20_422 (0x00000003) 95*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_422 (0x00000004) 96*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_444 (0x00000005) 97*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_30_444 (0x00000006) 98*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_32_422 (0x00000007) 99*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_36_444 (0x00000008) 100*344c2e5aSBen Skeggs #define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_48_444 (0x00000009) 101*344c2e5aSBen Skeggs #endif // _cl837d_h 102