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 52