dac.h 752 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef __ASM_CPU_SH3_DAC_H
  2. #define __ASM_CPU_SH3_DAC_H
  3. /*
  4. * Copyright (C) 2003 Andriy Skulysh
  5. */
  6. #define DADR0 0xa40000a0
  7. #define DADR1 0xa40000a2
  8. #define DACR 0xa40000a4
  9. #define DACR_DAOE1 0x80
  10. #define DACR_DAOE0 0x40
  11. #define DACR_DAE 0x20
  12. static __inline__ void sh_dac_enable(int channel)
  13. {
  14. unsigned char v;
  15. v = ctrl_inb(DACR);
  16. if(channel) v |= DACR_DAOE1;
  17. else v |= DACR_DAOE0;
  18. ctrl_outb(v,DACR);
  19. }
  20. static __inline__ void sh_dac_disable(int channel)
  21. {
  22. unsigned char v;
  23. v = ctrl_inb(DACR);
  24. if(channel) v &= ~DACR_DAOE1;
  25. else v &= ~DACR_DAOE0;
  26. ctrl_outb(v,DACR);
  27. }
  28. static __inline__ void sh_dac_output(u8 value, int channel)
  29. {
  30. if(channel) ctrl_outb(value,DADR1);
  31. else ctrl_outb(value,DADR0);
  32. }
  33. #endif /* __ASM_CPU_SH3_DAC_H */