regs-adc.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /* arch/arm/mach-s3c2410/include/mach/regs-adc.h
  2. *
  3. * Copyright (c) 2004 Shannon Holland <holland@loser.net>
  4. *
  5. * This program is free software; yosu can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. *
  9. * S3C2410 ADC registers
  10. */
  11. #ifndef __ASM_ARCH_REGS_ADC_H
  12. #define __ASM_ARCH_REGS_ADC_H "regs-adc.h"
  13. #define S3C2410_ADCREG(x) (x)
  14. #define S3C2410_ADCCON S3C2410_ADCREG(0x00)
  15. #define S3C2410_ADCTSC S3C2410_ADCREG(0x04)
  16. #define S3C2410_ADCDLY S3C2410_ADCREG(0x08)
  17. #define S3C2410_ADCDAT0 S3C2410_ADCREG(0x0C)
  18. #define S3C2410_ADCDAT1 S3C2410_ADCREG(0x10)
  19. #define S3C64XX_ADCUPDN S3C2410_ADCREG(0x14)
  20. #define S3C2443_ADCMUX S3C2410_ADCREG(0x18)
  21. #define S3C64XX_ADCCLRINT S3C2410_ADCREG(0x18)
  22. #define S5P_ADCMUX S3C2410_ADCREG(0x1C)
  23. #define S3C64XX_ADCCLRINTPNDNUP S3C2410_ADCREG(0x20)
  24. /* ADCCON Register Bits */
  25. #define S3C64XX_ADCCON_RESSEL (1<<16)
  26. #define S3C2410_ADCCON_ECFLG (1<<15)
  27. #define S3C2410_ADCCON_PRSCEN (1<<14)
  28. #define S3C2410_ADCCON_PRSCVL(x) (((x)&0xFF)<<6)
  29. #define S3C2410_ADCCON_PRSCVLMASK (0xFF<<6)
  30. #define S3C2410_ADCCON_SELMUX(x) (((x)&0x7)<<3)
  31. #define S3C2410_ADCCON_MUXMASK (0x7<<3)
  32. #define S3C2416_ADCCON_RESSEL (1 << 3)
  33. #define S3C2410_ADCCON_STDBM (1<<2)
  34. #define S3C2410_ADCCON_READ_START (1<<1)
  35. #define S3C2410_ADCCON_ENABLE_START (1<<0)
  36. #define S3C2410_ADCCON_STARTMASK (0x3<<0)
  37. /* ADCTSC Register Bits */
  38. #define S3C2443_ADCTSC_UD_SEN (1 << 8)
  39. #define S3C2410_ADCTSC_YM_SEN (1<<7)
  40. #define S3C2410_ADCTSC_YP_SEN (1<<6)
  41. #define S3C2410_ADCTSC_XM_SEN (1<<5)
  42. #define S3C2410_ADCTSC_XP_SEN (1<<4)
  43. #define S3C2410_ADCTSC_PULL_UP_DISABLE (1<<3)
  44. #define S3C2410_ADCTSC_AUTO_PST (1<<2)
  45. #define S3C2410_ADCTSC_XY_PST(x) (((x)&0x3)<<0)
  46. /* ADCDAT0 Bits */
  47. #define S3C2410_ADCDAT0_UPDOWN (1<<15)
  48. #define S3C2410_ADCDAT0_AUTO_PST (1<<14)
  49. #define S3C2410_ADCDAT0_XY_PST (0x3<<12)
  50. #define S3C2410_ADCDAT0_XPDATA_MASK (0x03FF)
  51. /* ADCDAT1 Bits */
  52. #define S3C2410_ADCDAT1_UPDOWN (1<<15)
  53. #define S3C2410_ADCDAT1_AUTO_PST (1<<14)
  54. #define S3C2410_ADCDAT1_XY_PST (0x3<<12)
  55. #define S3C2410_ADCDAT1_YPDATA_MASK (0x03FF)
  56. #endif /* __ASM_ARCH_REGS_ADC_H */