| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |
| /* | |
| * ntc_thermistor.h - NTC Thermistors | |
| * | |
| * Copyright (C) 2010 Samsung Electronics | |
| * MyungJoo Ham <myungjoo.ham@samsung.com> | |
| */ | |
| #ifndef _LINUX_NTC_H | |
| #define _LINUX_NTC_H | |
| struct iio_channel; | |
| enum ntc_thermistor_type { | |
| TYPE_B57330V2103, | |
| TYPE_B57891S0103, | |
| TYPE_NCPXXWB473, | |
| TYPE_NCPXXWF104, | |
| TYPE_NCPXXWL333, | |
| TYPE_NCPXXXH103, | |
| }; | |
| struct ntc_thermistor_platform_data { | |
| /* | |
| * One (not both) of read_uV and read_ohm should be provided and only | |
| * one of the two should be provided. | |
| * Both functions should return negative value for an error case. | |
| * | |
| * pullup_uV, pullup_ohm, pulldown_ohm, and connect are required to use | |
| * read_uV() | |
| * | |
| * How to setup pullup_ohm, pulldown_ohm, and connect is | |
| * described at Documentation/hwmon/ntc_thermistor.rst | |
| * | |
| * pullup/down_ohm: 0 for infinite / not-connected | |
| * | |
| * chan: iio_channel pointer to communicate with the ADC which the | |
| * thermistor is using for conversion of the analog values. | |
| */ | |
| int (*read_uv)(struct ntc_thermistor_platform_data *); | |
| unsigned int pullup_uv; | |
| unsigned int pullup_ohm; | |
| unsigned int pulldown_ohm; | |
| enum { NTC_CONNECTED_POSITIVE, NTC_CONNECTED_GROUND } connect; | |
| struct iio_channel *chan; | |
| int (*read_ohm)(void); | |
| }; | |
| #endif /* _LINUX_NTC_H */ |