]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/iio/dac/stm32-dac-core.h
Merge tag 'iio-for-4.12d' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
[karo-tx-linux.git] / drivers / iio / dac / stm32-dac-core.h
1 /*
2  * This file is part of STM32 DAC driver
3  *
4  * Copyright (C) 2017, STMicroelectronics - All Rights Reserved
5  * Author: Fabrice Gasnier <fabrice.gasnier@st.com>.
6  *
7  * License type: GPLv2
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU General Public License version 2 as published by
11  * the Free Software Foundation.
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15  * or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along with
19  * this program. If not, see <http://www.gnu.org/licenses/>.
20  */
21
22 #ifndef __STM32_DAC_CORE_H
23 #define __STM32_DAC_CORE_H
24
25 #include <linux/regmap.h>
26
27 /* STM32 DAC registers */
28 #define STM32_DAC_CR            0x00
29 #define STM32_DAC_DHR12R1       0x08
30 #define STM32_DAC_DHR12R2       0x14
31 #define STM32_DAC_DOR1          0x2C
32 #define STM32_DAC_DOR2          0x30
33
34 /* STM32_DAC_CR bit fields */
35 #define STM32_DAC_CR_EN1                BIT(0)
36 #define STM32H7_DAC_CR_HFSEL            BIT(15)
37 #define STM32_DAC_CR_EN2                BIT(16)
38
39 /**
40  * struct stm32_dac_common - stm32 DAC driver common data (for all instances)
41  * @regmap: DAC registers shared via regmap
42  * @vref_mv: reference voltage (mv)
43  * @hfsel: high speed bus clock selected
44  */
45 struct stm32_dac_common {
46         struct regmap                   *regmap;
47         int                             vref_mv;
48         bool                            hfsel;
49 };
50
51 #endif