Lars-Peter Clausen | 91f4deb | 2010-07-12 03:48:08 +0200 | [diff] [blame] | 1 | |
| 2 | #ifndef __LINUX_JZ4740_ADC |
| 3 | #define __LINUX_JZ4740_ADC |
| 4 | |
| 5 | #include <linux/device.h> |
| 6 | |
| 7 | /* |
| 8 | * jz4740_adc_set_config - Configure a JZ4740 adc device |
| 9 | * @dev: Pointer to a jz4740-adc device |
| 10 | * @mask: Mask for the config value to be set |
| 11 | * @val: Value to be set |
| 12 | * |
| 13 | * This function can be used by the JZ4740 ADC mfd cells to configure their |
| 14 | * options in the shared config register. |
| 15 | */ |
| 16 | int jz4740_adc_set_config(struct device *dev, uint32_t mask, uint32_t val); |
| 17 | |
| 18 | #define JZ_ADC_CONFIG_SPZZ BIT(31) |
| 19 | #define JZ_ADC_CONFIG_EX_IN BIT(30) |
| 20 | #define JZ_ADC_CONFIG_DNUM_MASK (0x7 << 16) |
| 21 | #define JZ_ADC_CONFIG_DMA_ENABLE BIT(15) |
| 22 | #define JZ_ADC_CONFIG_XYZ_MASK (0x2 << 13) |
| 23 | #define JZ_ADC_CONFIG_SAMPLE_NUM_MASK (0x7 << 10) |
| 24 | #define JZ_ADC_CONFIG_CLKDIV_MASK (0xf << 5) |
| 25 | #define JZ_ADC_CONFIG_BAT_MB BIT(4) |
| 26 | |
| 27 | #define JZ_ADC_CONFIG_DNUM(dnum) ((dnum) << 16) |
| 28 | #define JZ_ADC_CONFIG_XYZ_OFFSET(dnum) ((xyz) << 13) |
| 29 | #define JZ_ADC_CONFIG_SAMPLE_NUM(x) ((x) << 10) |
| 30 | #define JZ_ADC_CONFIG_CLKDIV(div) ((div) << 5) |
| 31 | |
| 32 | #endif |