Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * This file is part of STM32 DAC driver
0004  *
0005  * Copyright (C) 2017, STMicroelectronics - All Rights Reserved
0006  * Author: Fabrice Gasnier <fabrice.gasnier@st.com>.
0007  */
0008 
0009 #ifndef __STM32_DAC_CORE_H
0010 #define __STM32_DAC_CORE_H
0011 
0012 #include <linux/regmap.h>
0013 
0014 /* STM32 DAC registers */
0015 #define STM32_DAC_CR        0x00
0016 #define STM32_DAC_DHR12R1   0x08
0017 #define STM32_DAC_DHR12R2   0x14
0018 #define STM32_DAC_DOR1      0x2C
0019 #define STM32_DAC_DOR2      0x30
0020 
0021 /* STM32_DAC_CR bit fields */
0022 #define STM32_DAC_CR_EN1        BIT(0)
0023 #define STM32H7_DAC_CR_HFSEL        BIT(15)
0024 #define STM32_DAC_CR_EN2        BIT(16)
0025 
0026 /**
0027  * struct stm32_dac_common - stm32 DAC driver common data (for all instances)
0028  * @regmap: DAC registers shared via regmap
0029  * @vref_mv: reference voltage (mv)
0030  * @hfsel: high speed bus clock selected
0031  */
0032 struct stm32_dac_common {
0033     struct regmap           *regmap;
0034     int             vref_mv;
0035     bool                hfsel;
0036 };
0037 
0038 #endif