Merge tag 'sound-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[linux-2.6-microblaze.git] / include / linux / platform_data / ad5449.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * AD5415, AD5426, AD5429, AD5432, AD5439, AD5443, AD5449 Digital to Analog
4  * Converter driver.
5  *
6  * Copyright 2012 Analog Devices Inc.
7  *  Author: Lars-Peter Clausen <lars@metafoo.de>
8  */
9
10 #ifndef __LINUX_PLATFORM_DATA_AD5449_H__
11 #define __LINUX_PLATFORM_DATA_AD5449_H__
12
13 /**
14  * enum ad5449_sdo_mode - AD5449 SDO pin configuration
15  * @AD5449_SDO_DRIVE_FULL: Drive the SDO pin with full strength.
16  * @AD5449_SDO_DRIVE_WEAK: Drive the SDO pin with not full strength.
17  * @AD5449_SDO_OPEN_DRAIN: Operate the SDO pin in open-drain mode.
18  * @AD5449_SDO_DISABLED: Disable the SDO pin, in this mode it is not possible to
19  *                      read back from the device.
20  */
21 enum ad5449_sdo_mode {
22         AD5449_SDO_DRIVE_FULL = 0x0,
23         AD5449_SDO_DRIVE_WEAK = 0x1,
24         AD5449_SDO_OPEN_DRAIN = 0x2,
25         AD5449_SDO_DISABLED = 0x3,
26 };
27
28 /**
29  * struct ad5449_platform_data - Platform data for the ad5449 DAC driver
30  * @sdo_mode: SDO pin mode
31  * @hardware_clear_to_midscale: Whether asserting the hardware CLR pin sets the
32  *                      outputs to midscale (true) or to zero scale(false).
33  */
34 struct ad5449_platform_data {
35         enum ad5449_sdo_mode sdo_mode;
36         bool hardware_clear_to_midscale;
37 };
38
39 #endif