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

📄 xp_atom_dcr.h

📁 IBM source for pallas/vulcan/vesta
💻 H
字号:
/*----------------------------------------------------------------------------+|       This source code has been made available to you by IBM on an AS-IS|       basis.  Anyone receiving this source is licensed under IBM|       copyrights to use it in any way he or she deems fit, including|       copying it, modifying it, compiling it, and redistributing it either|       with or without modifications.  No license under IBM patents or|       patent applications is to be implied by the copyright license.||       Any user of this software should understand that IBM cannot provide|       technical support for this software and will not be responsible for|       any consequences resulting from the use of this software.||       Any person who transfers this source code or any derivative work|       must include the IBM copyright notice, this paragraph, and the|       preceding two paragraphs in the transferred software.||       COPYRIGHT   I B M   CORPORATION 1999|       LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M+----------------------------------------------------------------------------*//*----------------------------------------------------------------------------+| Author:    Tony J. Cerreto| Component: XP| File:      xp_atom_pcr.h| Purpose:   Common definitions for xp_atom_pcr.c functions.|| Changes:| Date:      Author  Comment:| ---------  ------  --------| 19-Dec-99  TJC     Created.| 10-Oct-01  LGH     Ported to Linux+----------------------------------------------------------------------------*/#ifndef XP_DCR#define XP_DCR#include <hw/hardware.h>#include <os/os-io.h>#define    XPT0_LR    0x0180#define    XPT0_DT    0x0181#define    XPT0_IR    0x0182#ifdef     __DRV_FOR_PALLAS__#define    XPT1_LR    0x0190#define    XPT1_DT    0x0191#define    XPT1_IR    0x0192#define    XPT2_LR    0x02d0#define    XPT2_DT    0x02d1#define    XPT2_IR    0x02d2#endif/*----------------------------------------------------------------------------+|  DCR Addresses for Location, Data Transfer, and Interrupt Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_LR               0x0180      /* Location Register        */#define XP_DCR_ADDR_DT               0x0181      /* Data Register            */#define XP_DCR_ADDR_IR               0x0182      /* Interrupt Register       *//*----------------------------------------------------------------------------+|  General Configuration Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_CONFIG1          0x0000      /* Configuration 1 Register */#define XP_DCR_ADDR_CONTROL1         0x0001      /* Control 1 Register       */#define XP_DCR_ADDR_FESTAT           0x0002      /* Front-End Status Reg     */#define XP_DCR_ADDR_FEIMASK          0x0003      /* Front-End Int Mask Reg   */#ifndef __DRV_FOR_VESTA__       // for vulcan and pallas ...#define XP_DCR_ADDR_CONFIG3          0x0006      /* Configuration 3 Register */#endif/*----------------------------------------------------------------------------+|  Clock Recovery Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_PCRHI            0x0010      /* PCR High Register        */#define XP_DCR_ADDR_PCRLOW           0x0011      /* PCR Low Register         */#define XP_DCR_ADDR_LSTCHI           0x0012      /* Latched STC High Reg     */#define XP_DCR_ADDR_LSTCLOW          0x0013      /* Latched STC Low Reg      */#define XP_DCR_ADDR_STCHI            0x0014      /* Running STC High Reg     */#define XP_DCR_ADDR_STCLOW           0x0015      /* Running STC Low Reg      */#define XP_DCR_ADDR_PWM              0x0016      /* PWM Register             */#define XP_DCR_ADDR_PCRSTCT          0x0017      /* PCR-STC Threshold Reg    */#define XP_DCR_ADDR_PCRSTCD          0x0018      /* PCR-STC Delta Reg        */#define XP_DCR_ADDR_STCCOMP          0x0019      /* STC Compare Reg          */#define XP_DCR_ADDR_STCCMPD          0x001A      /* STC Compare Disarm Reg   *//*----------------------------------------------------------------------------+|  Descrambler Status Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_DSSTAT           0x0048      /* Descrambler Status Reg   */#define XP_DCR_ADDR_DSIMASK          0x0049      /* Descrambler Int Mask Reg *//*----------------------------------------------------------------------------+|  Additional PID Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_VCCHNG           0x01F0      /* Video Channel Change Reg */#define XP_DCR_ADDR_ACCHNG           0x01F1      /* Audio Channel Change Reg */#ifndef __DRV_FOR_VULCAN__#define XP_DCR_ADDR_AXENABLE         0x01FE      /* Aux PID Enables Register */#endif#define XP_DCR_ADDR_PCRPID           0x01FF      /* PCR PID Register         *//*----------------------------------------------------------------------------+|  Back-End Configuration and Control Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_CONFIG2          0x1000      /* Configuration 2 Register */#define XP_DCR_ADDR_PBUFLVL          0x1002      /* Packet Buffer Level Reg  */#define XP_DCR_ADDR_INTMASK          0x1003      /* Transport Int Mask Reg   */#define XP_DCR_ADDR_PLBCNFG          0x1004      /* PLB Configuration Reg    */#define XP_DCR_ADDR_QSTATMASK        0x1005      /* Queue Status Mask Reg    *//*----------------------------------------------------------------------------+|  Back-End Status and Interrupt Mask Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_QINT             0x1010      /* Queues Interrupt Reg     */#define XP_DCR_ADDR_QINTMSK          0x1011      /* Queues Interrupt Mask Reg*/#define XP_DCR_ADDR_ASTATUS          0x1012      /* Audio Status Reg         */#define XP_DCR_ADDR_AINTMSK          0x1013      /* Audio Interrupt Mask Reg */#define XP_DCR_ADDR_VSTATUS          0x1014      /* Video Status Reg         */#define XP_DCR_ADDR_VINTMSK          0x1015      /* video Interrupt Mask Reg *//*----------------------------------------------------------------------------+|  Queues Configuration and Control Registers+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_QBASE            0x1020      /* Queue Base Register      */#define XP_DCR_ADDR_BUCKET1Q         0x1021      /* Bucket 1 Queue Register  */#define XP_DCR_ADDR_QADDRST          0x1023      /* Queue Address Stack Reg  */#define XP_DCR_ADDR_QSTOPS           0x1024      /* Queue Stops Register     */#define XP_DCR_ADDR_QRESETS          0x1025      /* Queue Resets Register    */#define XP_DCR_ADDR_SFCHNG           0x1026      /* Section Filter Change Reg*/#define XP_DCR_ADDR_STR0CFG          0x1028      /* Search String 0 Config   */#define XP_DCR_ADDR_STR0             0x1029      /* Search String 0 Register */#define XP_DCR_ADDR_STR0MSK          0x102A      /* Search String 0 Mask     */#define XP_DCR_ADDR_STR1CFG          0x102B      /* Search String 1 Config   */#define XP_DCR_ADDR_STR1             0x102C      /* Search String 1 Register */#define XP_DCR_ADDR_STR1MSK          0x102D      /* Search String 1 Mask     *//*----------------------------------------------------------------------------+|  Queue, Descrambler, and Filter Base Addresses for Location Map+----------------------------------------------------------------------------*/#define XP_DCR_ADDR_BASE_PID         0x0100      /* DCR address base PID     */#define XP_DCR_ADDR_BASE_QCONFIGAB   0x2200      /* Base Queue Config AB Reg */#define XP_DCR_ADDR_BASE_FILTER      0x2300      /* Base Filter Registers    */#define XP_DCR_ADDR_BASE_DEKEY       0x2500      /* Base Descrambler Key Reg */#define XP_DCR_ADDR_BASE_QSTAT       0x2600      /* Base Queue Status Reg    */#define XP_DCR_ADDR_BASE_QSTATABCD   0x2800      /* Base Queue Stat ABCD Reg *//*----------------------------------------------------------------------------+|   Type Declarations+----------------------------------------------------------------------------*/typedef struct stc                               /* Copy from decod.h        */{        ULONG bits_32_1;        ULONG bit_0;} stc_t;typedef enum xp_dcr_register_type {    XP_PID_FILTER_REG_PIDV           ,           /* PIDV   in PID_FILTER_REG */    XP_QCONFIGB_REG_DTYPE            ,           /* DTYPE  in QCONFIGB_REG   */    XP_QCONFIGB_REG_ENBL             ,           /* ENBL   in QCONFIGB_REG   */    XP_QCONFIGA_REG_BTHRES           ,           /* BTHRES in QCONFIGA_REG   */    XP_FILTER_CONTROL_REG_ENBL       ,           /* ENBL   in FILTER_CONTROL */    XP_FILTER_CONTROL_REG_NFILT      ,           /* NFILT  in FILTER_CONTROL */    XP_QCONFIGB_REG_FSF              ,           /* FSF    in QCONFIGB_REG   */    XP_QCONFIGB_REG_RPTR             ,           /* RPTR   in QCONFIGB_REG   */    XP_FILTER_CONTROL_REG_SFID       ,           /* SFID   in FILTER_CONTROL */    XP_BUCKET1Q_REG_BVALID           ,           /* BVALID in BUCKET1Q_REG   */    XP_BUCKET1Q_REG_INDX             ,           /* INDX   in BUCKET1Q_REG   */    XP_QSTATD_REG_WSTART             ,           /* WSTART in QSTATD_REG     */    XP_QSTATB_REG_WPTR               ,           /* WPTR   in QSTATB_REG     */    XP_CONFIG1_REG_APWMA                         /* APWMA  in XP_CONFIG1_REG */} XP_DCR_REGISTER_TYPE;ULONG xp_atom_dcr_read(UINT uDeviceIndex,ULONG ulAddress);void xp_atom_dcr_write(UINT uDeviceIndex,ULONG ulAddress,ULONG ulData);void xp_atom_dcr_init_queue(UINT uDeviceIndex,SHORT wChannelId,ULONG ulQueueTop,ULONG ulQueueBottom);ULONG xp_atom_dcr_read_interrupt(UINT uDeviceIndex);void xp_atom_dcr_read_queue_config(UINT uDeviceIndex,SHORT wChannelId,ULONG *ppQueueTop,ULONG *ppQueueBottom);void xp_atom_dcr_reset_queue(UINT uDeviceIndex,SHORT wChannelId);void xp_atom_dcr_write_dram_filter(UINT uDeviceIndex,SHORT wFilterId,                                   ULONG ulData,ULONG ulMask,ULONG ulControl,ULONG ulPolarity);SHORT xp_atom_dcr_write_filter_link(UINT uDeviceIndex,SHORT wFilterId,                                    ULONG ulNextFilterId,ULONG ulEndOfColumn);SHORT xp_atom_dcr_write_register(UINT uDeviceIndex,XP_DCR_REGISTER_TYPE regtype,ULONG ulData);//APISULONG xp_atom_dcr_read(UINT uDeviceIndex,ULONG ulAddress);SHORT xp_atom_dcr_read_register_channel(UINT uDeviceIndex,XP_DCR_REGISTER_TYPE regtype,                                        SHORT wId,ULONG *pData);void xp_atom_dcr_write(UINT uDeviceIndex,ULONG ulAddress,ULONG ulData);SHORT xp_atom_dcr_write_register_channel(UINT uDeviceIndex,XP_DCR_REGISTER_TYPE regtype,                                         SHORT wId,ULONG ulData);// AV relatedvoid xp_atom_disable_aud_sync();void xp_atom_disable_vid_sync();int xp_atom_a_hw_cc_inprogress();void xp_atom_a_hw_sync_off();void xp_atom_a_hw_sync_on();void xp_atom_v_hw_sync_off();void xp_atom_v_hw_sync_on();int xp_atom_a_hw_write_stc(stc_t *data);int xp_atom_v_hw_write_stc(stc_t *data);#endif

⌨️ 快捷键说明

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