highlevel.c
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:3k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /*
  2.   **********************************************************************
  3.   *
  4.   *     Copyright 1999, 2000 Creative Labs, Inc.
  5.   *
  6.   **********************************************************************
  7.   *
  8.   *     Date                 Author               Summary of changes
  9.   *     ----                 ------               ------------------
  10.   *     October 20, 1999     Andrew de Quincey    Rewrote and extended
  11.   *                          Lucien Murray-Pitts  original incomplete 
  12.   *                                               driver.
  13.   *
  14.   *     April 18, 1999       Andrew Veliath       Original Driver
  15.   *                                               implementation
  16.   *
  17.   **********************************************************************
  18.   *
  19.   *     This program is free software; you can redistribute it and/or
  20.   *     modify it under the terms of the GNU General Public License as
  21.   *     published by the Free Software Foundation; either version 2 of
  22.   *     the License, or (at your option) any later version.
  23.   *
  24.   *     This program is distributed in the hope that it will be useful,
  25.   *     but WITHOUT ANY WARRANTY; without even the implied warranty of
  26.   *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  27.   *     GNU General Public License for more details.
  28.   *
  29.   *     You should have received a copy of the GNU General Public
  30.   *     License along with this program; if not, write to the Free
  31.   *     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
  32.   *     USA.
  33.   *
  34.   **********************************************************************
  35.   */
  36. /**
  37.  *
  38.  * Driver for the Auravision VxP524 Video processor chip
  39.  * High level functions
  40.  *
  41.  */
  42. #include <linux/pci.h>
  43. #include <linux/types.h>
  44. #include <asm/atomic.h>
  45. #include <vxp524.h>
  46. /**
  47.  *
  48.  * Initlialises the VXP524
  49.  *
  50.  * @param instance instance to use
  51.  *
  52.  * @return 0 on success, <0 on error
  53.  *
  54.  */
  55. extern int vxp524_init(vxp524_t* instance)
  56. {
  57.   // set clocks to external source
  58.   vxp524_set_reg(instance, VXP524_CLK_MODE, 0);
  59.   // global reset, memory mode=16bits, flush FIFO
  60.   vxp524_set_reg(instance, VXP524_PCI_GLOBAL_REGS, 0xD0);
  61.   // enable demux
  62.   vxp524_set_reg(instance, VXP524_INPUT_CFG, 0x2);
  63.   // disable all IRQs
  64.   vxp524_set_reg(instance, VXP524_INTR_CTRL, 0);
  65.   // all IRQ status = off
  66.   vxp524_set_reg(instance, VXP524_INTR_STATUS, 0);
  67.   // SGS3430 mode
  68.   vxp524_set_reg(instance, VXP524_CODEC_CFG, 3);
  69.   // global reset, memory mode=16bits, flush FIFO
  70.   vxp524_set_reg(instance, VXP524_PCI_GLOBAL_REGS, 0xD0);
  71.   // memory mode=16bits
  72.   vxp524_set_reg(instance, VXP524_PCI_GLOBAL_REGS, 0x40);
  73.   // OK
  74.   return(0);
  75. }
  76.   
  77.   
  78.   
  79.