xref: /linux/include/linux/jz4740-adc.h (revision b2441318)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
291f4debfSLars-Peter Clausen 
391f4debfSLars-Peter Clausen #ifndef __LINUX_JZ4740_ADC
491f4debfSLars-Peter Clausen #define __LINUX_JZ4740_ADC
591f4debfSLars-Peter Clausen 
6313162d0SPaul Gortmaker struct device;
791f4debfSLars-Peter Clausen 
891f4debfSLars-Peter Clausen /*
991f4debfSLars-Peter Clausen  * jz4740_adc_set_config - Configure a JZ4740 adc device
1091f4debfSLars-Peter Clausen  * @dev: Pointer to a jz4740-adc device
1191f4debfSLars-Peter Clausen  * @mask: Mask for the config value to be set
1291f4debfSLars-Peter Clausen  * @val: Value to be set
1391f4debfSLars-Peter Clausen  *
1491f4debfSLars-Peter Clausen  * This function can be used by the JZ4740 ADC mfd cells to configure their
1591f4debfSLars-Peter Clausen  * options in the shared config register.
1691f4debfSLars-Peter Clausen */
1791f4debfSLars-Peter Clausen int jz4740_adc_set_config(struct device *dev, uint32_t mask, uint32_t val);
1891f4debfSLars-Peter Clausen 
1991f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_SPZZ		BIT(31)
2091f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_EX_IN		BIT(30)
2191f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_DNUM_MASK		(0x7 << 16)
2291f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_DMA_ENABLE	BIT(15)
2391f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_XYZ_MASK		(0x2 << 13)
2491f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_SAMPLE_NUM_MASK	(0x7 << 10)
2591f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_CLKDIV_MASK	(0xf << 5)
2691f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_BAT_MB		BIT(4)
2791f4debfSLars-Peter Clausen 
2891f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_DNUM(dnum)	((dnum) << 16)
2991f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_XYZ_OFFSET(dnum)	((xyz) << 13)
3091f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_SAMPLE_NUM(x)	((x) << 10)
3191f4debfSLars-Peter Clausen #define JZ_ADC_CONFIG_CLKDIV(div)	((div) << 5)
3291f4debfSLars-Peter Clausen 
3391f4debfSLars-Peter Clausen #endif
34