162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * This file is part of STM32 DAC driver 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 662306a36Sopenharmony_ci * Author: Fabrice Gasnier <fabrice.gasnier@st.com>. 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef __STM32_DAC_CORE_H 1062306a36Sopenharmony_ci#define __STM32_DAC_CORE_H 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <linux/regmap.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* STM32 DAC registers */ 1562306a36Sopenharmony_ci#define STM32_DAC_CR 0x00 1662306a36Sopenharmony_ci#define STM32_DAC_DHR12R1 0x08 1762306a36Sopenharmony_ci#define STM32_DAC_DHR12R2 0x14 1862306a36Sopenharmony_ci#define STM32_DAC_DOR1 0x2C 1962306a36Sopenharmony_ci#define STM32_DAC_DOR2 0x30 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci/* STM32_DAC_CR bit fields */ 2262306a36Sopenharmony_ci#define STM32_DAC_CR_EN1 BIT(0) 2362306a36Sopenharmony_ci#define STM32H7_DAC_CR_HFSEL BIT(15) 2462306a36Sopenharmony_ci#define STM32_DAC_CR_EN2 BIT(16) 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci/** 2762306a36Sopenharmony_ci * struct stm32_dac_common - stm32 DAC driver common data (for all instances) 2862306a36Sopenharmony_ci * @regmap: DAC registers shared via regmap 2962306a36Sopenharmony_ci * @vref_mv: reference voltage (mv) 3062306a36Sopenharmony_ci * @hfsel: high speed bus clock selected 3162306a36Sopenharmony_ci */ 3262306a36Sopenharmony_cistruct stm32_dac_common { 3362306a36Sopenharmony_ci struct regmap *regmap; 3462306a36Sopenharmony_ci int vref_mv; 3562306a36Sopenharmony_ci bool hfsel; 3662306a36Sopenharmony_ci}; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci#endif 39