jz4740-adc.h 984 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef __LINUX_JZ4740_ADC
  2. #define __LINUX_JZ4740_ADC
  3. struct device;
  4. /*
  5. * jz4740_adc_set_config - Configure a JZ4740 adc device
  6. * @dev: Pointer to a jz4740-adc device
  7. * @mask: Mask for the config value to be set
  8. * @val: Value to be set
  9. *
  10. * This function can be used by the JZ4740 ADC mfd cells to configure their
  11. * options in the shared config register.
  12. */
  13. int jz4740_adc_set_config(struct device *dev, uint32_t mask, uint32_t val);
  14. #define JZ_ADC_CONFIG_SPZZ BIT(31)
  15. #define JZ_ADC_CONFIG_EX_IN BIT(30)
  16. #define JZ_ADC_CONFIG_DNUM_MASK (0x7 << 16)
  17. #define JZ_ADC_CONFIG_DMA_ENABLE BIT(15)
  18. #define JZ_ADC_CONFIG_XYZ_MASK (0x2 << 13)
  19. #define JZ_ADC_CONFIG_SAMPLE_NUM_MASK (0x7 << 10)
  20. #define JZ_ADC_CONFIG_CLKDIV_MASK (0xf << 5)
  21. #define JZ_ADC_CONFIG_BAT_MB BIT(4)
  22. #define JZ_ADC_CONFIG_DNUM(dnum) ((dnum) << 16)
  23. #define JZ_ADC_CONFIG_XYZ_OFFSET(dnum) ((xyz) << 13)
  24. #define JZ_ADC_CONFIG_SAMPLE_NUM(x) ((x) << 10)
  25. #define JZ_ADC_CONFIG_CLKDIV(div) ((div) << 5)
  26. #endif