hwif2.c
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. //
  2. // FILE
  3. // hwif.c
  4. //
  5. #include "config.h"
  6. #include "regmap.h"
  7. #include "uart.h"
  8. #include "cpu.h"
  9. #include "sdctrl.h"
  10. #include "hwif.h"
  11. #include "hw.h"
  12. //
  13. // FUNCTION
  14. // hwif_reset
  15. // DESCRIPTION
  16. // reset all but global
  17. //
  18. void hwif_reset(int sel)
  19. {
  20.     unsigned v = 0;
  21.     switch (sel)
  22.     {
  23.     case HWIF_RESET_GLOBAL:     v = HW_RESET_GLOBAL;    break;
  24.     case HWIF_RESET_RISC:       v = HW_RESET_RISC;      break;
  25.     case HWIF_RESET_BR:         v = HW_RESET_BOOTROM;   break;
  26.     case HWIF_RESET_FLASHIF:    v = HW_RESET_FLASHIF;   break;
  27.     case HWIF_RESET_RI:         v = HW_RESET_RI;        break;
  28.     case HWIF_RESET_SDCTRL:     v = HW_RESET_SDCTRL;    break;
  29.     case HWIF_RESET_AGDC:       v = HW_RESET_AGDC;      break;
  30.     case HWIF_RESET_GRFX:       v = HW_RESET_GRFX;      break;
  31.     case HWIF_RESET_PARM:       v = HW_RESET_PARM;      break;
  32.     case HWIF_RESET_IDCT:       v = HW_RESET_IDCT;      break;
  33.     case HWIF_RESET_INVQ:       v = HW_RESET_INVQ;      break;
  34.     case HWIF_RESET_VLD:        v = HW_RESET_VLD;       break;
  35.     case HWIF_RESET_MC:         v = HW_RESET_MC;        break;
  36.     case HWIF_RESET_TRANS:      v = HW_RESET_TRANS;     break;
  37.     case HWIF_RESET_MMU:        v = HW_RESET_MMU;       break;
  38.     case HWIF_RESET_BUFCTL:     v = HW_RESET_BUFCTL;    break;
  39.     }
  40.     if (v != 0)
  41.     {
  42.         regs0->reset = v;
  43.         return;
  44.     }
  45.     
  46.     switch (sel)
  47.     {
  48.     case HWIF_RESET_OGT:        v = HW_RESET_OGT;       break;
  49.     case HWIF_RESET_VPP:        v = HW_RESET_VPP;       break;
  50.     case HWIF_RESET_OSD:        v = HW_RESET_OSD;       break;
  51.     case HWIF_RESET_TV:         v = HW_RESET_TV;        break;
  52.     case HWIF_RESET_IOP:        v = HW_RESET_IOP;       break;
  53.     case HWIF_RESET_DSP:        v = HW_RESET_DSP;       break;
  54.     case HWIF_RESET_STC:        v = HW_RESET_STC;       break;
  55.     case HWIF_RESET_CD:         v = HW_RESET_CD;        break;
  56.     case HWIF_RESET_CSS:        v = HW_RESET_CSS;       break;
  57.     case HWIF_RESET_HOST:       v = HW_RESET_HOST;      break;
  58.     case HWIF_RESET_LPT:        v = HW_RESET_LPT;       break;
  59.     case HWIF_RESET_UA0:        v = HW_RESET_UA0;       break;
  60.     case HWIF_RESET_UA1:        v = HW_RESET_UA1;       break;
  61.     case HWIF_RESET_TDM:        v = HW_RESET_TDM;       break;
  62.     case HWIF_RESET_BT:         v = HW_RESET_BRIDGE;        break;
  63.     case HWIF_RESET_SRV:        v = HW_RESET_SRV;       break;
  64.     }
  65.     regs0->reset2 = v;
  66. }