dac.h 770 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 = __raw_readb(DACR);
  16. if(channel) v |= DACR_DAOE1;
  17. else v |= DACR_DAOE0;
  18. __raw_writeb(v,DACR);
  19. }
  20. static __inline__ void sh_dac_disable(int channel)
  21. {
  22. unsigned char v;
  23. v = __raw_readb(DACR);
  24. if(channel) v &= ~DACR_DAOE1;
  25. else v &= ~DACR_DAOE0;
  26. __raw_writeb(v,DACR);
  27. }
  28. static __inline__ void sh_dac_output(u8 value, int channel)
  29. {
  30. if(channel) __raw_writeb(value,DADR1);
  31. else __raw_writeb(value,DADR0);
  32. }
  33. #endif /* __ASM_CPU_SH3_DAC_H */