⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmbslhdmitx_1.c

📁 HDMI NXP9983 chipset controller driver
💻 C
📖 第 1 页 / 共 5 页
字号:
/** * Lookup table to convert from video format codes used in the  * E_REG_P00_VIDFORMAT_W register to corresponding  * trios of 2-bit values in the srl_nosc, scg_nosc and de_nosc * PLL control registers */#define SSD(srl,scg,de) (((srl)<<4)|((scg)<<2)|(de))#define SSD2SRL(ssd)    (UInt8)(((ssd)>>4)&3)#define SSD2SCG(ssd)    (UInt8)(((ssd)>>2)&3)#define SSD2DE(ssd)     (UInt8)((ssd)&3)static CONST_DAT struct{    UInt8 ScaOffCcirOffDblEdgeOff[E_REGVFMT_NUM_TV];                    UInt8 ScaOffCcirOnDblEdgeOff[E_REGVFMT_NUM_TV];    UInt8 ScaOffCcirOnDblEdgeOn[E_REGVFMT_NUM_TV];    UInt8 ScaOnCcirOffDblEdgeOffInterlace[E_REGVFMT_NUM_TV];            UInt8 ScaOnCcirOnDblEdgeOffInterlace[E_REGVFMT_NUM_TV];    UInt8 ScaOnCcirOnDblEdgeOnInterlace[E_REGVFMT_NUM_TV];    UInt8 ScaOnCcirOffDblEdgeOffProgressif[E_REGVFMT_NUM_TV];    UInt8 ScaOnCcirOnDblEdgeOffProgressif[E_REGVFMT_NUM_TV];    UInt8 ScaOnCcirOnDblEdgeOnProgressif[E_REGVFMT_NUM_TV];#ifdef FORMAT_PC    UInt8 SettingsFormatPC[E_REGVFMT_NUM_PC];#endif /* FORMAT_PC */    }kRegvfmtToPllSsd = {    {   /*ScaOffCCIROffDblEdgeOff*/        /* SRL,SCG,DE */        SSD(2,2,2), /* E_REGVFMT_640x480p_60Hz   */        SSD(2,2,2), /* E_REGVFMT_720x480p_60Hz   */        SSD(1,1,1), /* E_REGVFMT_1280x720p_60Hz  */        SSD(1,1,1), /* E_REGVFMT_1920x1080i_60Hz */        SSD(3,3,3), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(2,2,2), /* E_REGVFMT_720x576p_50Hz   */        SSD(1,1,1), /* E_REGVFMT_1280x720p_50Hz  */        SSD(1,1,1), /* E_REGVFMT_1920x1080i_50Hz */        SSD(3,3,3), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(1,1,1),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(1,1,1),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(1,1,1)  /* E_REGVFMT_1920x1080p_30Hz */    },    {   /*ScaOffCCIROnDblEdgeOff*/        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(2,1,1), /* E_REGVFMT_720x480p_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_1280x720p_60Hz  */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080i_60Hz */        SSD(2,2,2), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(2,1,1), /* E_REGVFMT_720x576p_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_1280x720p_50Hz  */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080i_50Hz */        SSD(2,2,2), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(0xF,0,0)  /* E_REGVFMT_1920x1080p_30Hz */    },    {   /*ScaOffCcirONDblEdgeOn*/        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(2,1,1), /* E_REGVFMT_720x480p_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_1280x720p_60Hz  */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080i_60Hz */        SSD(2,2,2), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(2,1,1), /* E_REGVFMT_720x576p_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_1280x720p_50Hz  */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080i_50Hz */        SSD(2,2,2), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(0xF,0,0)  /* E_REGVFMT_1920x1080p_30Hz */    },    {   /* ScaOnCcirOffDblEdgeOffInterlace */        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(2,2,3), /* E_REGVFMT_720x480p_60Hz   */        SSD(1,1,3), /* E_REGVFMT_1280x720p_60Hz  */        SSD(1,1,3), /* E_REGVFMT_1920x1080i_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(2,2,3), /* E_REGVFMT_720x576p_50Hz   */        SSD(1,1,3), /* E_REGVFMT_1280x720p_50Hz  */        SSD(1,1,3), /* E_REGVFMT_1920x1080i_50Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(1,1,3),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(1,1,3),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(1,1,3)  /* E_REGVFMT_1920x1080p_30Hz */    },    {   /* ScaOnCcirONDblEdgeOffInterlace */        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(2,1,2), /* E_REGVFMT_720x480p_60Hz   */        SSD(1,0,2), /* E_REGVFMT_1280x720p_60Hz  */        SSD(1,0,2), /* E_REGVFMT_1920x1080i_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(2,1,2), /* E_REGVFMT_720x576p_50Hz   */        SSD(1,0,2), /* E_REGVFMT_1280x720p_50Hz  */        SSD(1,0,2), /* E_REGVFMT_1920x1080i_50Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(1,0,2),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(1,0,2),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(1,0,2)  /* E_REGVFMT_1920x1080p_30Hz */    },    {  /* ScaOnCcirONDblEdgeOnInterlace */        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(2,1,2), /* E_REGVFMT_720x480p_60Hz   */        SSD(1,0,2), /* E_REGVFMT_1280x720p_60Hz  */        SSD(1,0,2), /* E_REGVFMT_1920x1080i_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(2,1,2), /* E_REGVFMT_720x576p_50Hz   */        SSD(1,0,2), /* E_REGVFMT_1280x720p_50Hz  */        SSD(1,0,2), /* E_REGVFMT_1920x1080i_50Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(1,0,2),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(1,0,2),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(1,0,2)  /* E_REGVFMT_1920x1080p_30Hz */    },    { /* ScaOnCcirOffDblEdgeOffProgressif */        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x480p_60Hz   */        SSD(1,1,2), /* E_REGVFMT_1280x720p_60Hz  */        SSD(1,1,2), /* E_REGVFMT_1920x1080i_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576p_50Hz   */        SSD(1,1,2), /* E_REGVFMT_1280x720p_50Hz  */        SSD(1,1,2), /* E_REGVFMT_1920x1080i_50Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(1,1,2),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(1,1,2),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(1,1,2)  /* E_REGVFMT_1920x1080p_30Hz */    },    {   /* ScaOnCcirOnDblEdgeOffProgressif */        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x480p_60Hz   */        SSD(1,0,1), /* E_REGVFMT_1280x720p_60Hz  */        SSD(1,0,1), /* E_REGVFMT_1920x1080i_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576p_50Hz   */        SSD(1,0,1), /* E_REGVFMT_1280x720p_50Hz  */        SSD(1,0,1), /* E_REGVFMT_1920x1080i_50Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(1,0,1),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(1,0,1),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(1,0,1)  /* E_REGVFMT_1920x1080p_30Hz */    },    {   /* ScaOnCcirONDblEdgeOnProgressif */        /* SRL,SCG,DE */        SSD(0xF,0,0), /* E_REGVFMT_640x480p_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x480p_60Hz   */        SSD(1,0,1), /* E_REGVFMT_1280x720p_60Hz  */        SSD(1,0,1), /* E_REGVFMT_1920x1080i_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x480i_60Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x240p_60Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0), /* E_REGVFMT_1920x1080p_60Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576p_50Hz   */        SSD(1,0,1), /* E_REGVFMT_1280x720p_50Hz  */        SSD(1,0,1), /* E_REGVFMT_1920x1080i_50Hz */        SSD(0xF,0,0), /* E_REGVFMT_720x576i_50Hz   */        SSD(0xF,0,0), /* E_REGVFMT_720x288p_50Hz   */ /** \todo Need nosc PLL value */        SSD(0xF,0,0),  /* E_REGVFMT_1920x1080p_50Hz */		SSD(1,0,1),  /* E_REGVFMT_1920x1080p_24Hz */		SSD(1,0,1),  /* E_REGVFMT_1920x1080p_25Hz */		SSD(1,0,1)  /* E_REGVFMT_1920x1080p_30Hz */    }    #ifdef FORMAT_PC  ,{        /* SRL,SCG,DE */        SSD(2,0,0),   /* E_REGVFMT_640x480p_72Hz   */        SSD(2,0,0),   /* E_REGVFMT_640x480p_75Hz   */        SSD(2,0,0),   /* E_REGVFMT_640x480p_85Hz   */        SSD(1,0,0),   /* E_REGVFMT_800x600p_60Hz   */        SSD(1,0,0),   /* E_REGVFMT_800x600p_72Hz   */        SSD(1,0,0),   /* E_REGVFMT_800x600p_75Hz   */        SSD(1,0,0),   /* E_REGVFMT_800x600p_85Hz   */        SSD(1,0,0),   /* E_REGVFMT_1024x768p_60Hz  */        SSD(1,0,0),   /* E_REGVFMT_1024x768p_70Hz  */        SSD(1,0,0),   /* E_REGVFMT_1024x768p_75Hz  */        SSD(0,0,0),   /* E_REGVFMT_1280x768p_60Hz  */        SSD(0,0,0),   /* E_REGVFMT_1280x1024p_60Hz */        SSD(0,0,0),   /* E_REGVFMT_1280x1024p_75Hz */        SSD(0,0,0),   /* E_REGVFMT_1360x768p_60Hz  */        SSD(0,0,0),   /* E_REGVFMT_1400x1050p_60Hz */        SSD(0,0,0)    /* E_REGVFMT_1600x1200p_60Hz */  }#endif /* FORMAT_PC */    };/** * Lookup table to convert from video format codes used in the  * E_REG_P00_VIDFORMAT_W register to corresponding  * V_toggle values for Vs external sync. * 0=no toggle * 1=toggle */static CONST_DAT UInt8 kRegvfmtToVToggle[E_REGVFMT_NUM] ={    1, /* E_REGVFMT_640x480p_60Hz   */    1, /* E_REGVFMT_720x480p_60Hz   */    0, /* E_REGVFMT_1280x720p_60Hz  */    0, /* E_REGVFMT_1920x1080i_60Hz */    1, /* E_REGVFMT_720x480i_60Hz   */    1, /* E_REGVFMT_720x240p_60Hz   */    0, /* E_REGVFMT_1920x1080p_60Hz */    1, /* E_REGVFMT_720x576p_50Hz   */    0, /* E_REGVFMT_1280x720p_50Hz  */    0, /* E_REGVFMT_1920x1080i_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -