]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - include/linux/pmbus.h
Merge tag 'mlx5-fixes-2021-06-16' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-jammy-kernel.git] / include / linux / pmbus.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3 * Hardware monitoring driver for PMBus devices
4 *
5 * Copyright (c) 2010, 2011 Ericsson AB.
6 */
7
8 #ifndef _PMBUS_H_
9 #define _PMBUS_H_
10
11 #include <linux/bits.h>
12
13 /* flags */
14
15 /*
16 * PMBUS_SKIP_STATUS_CHECK
17 *
18 * During register detection, skip checking the status register for
19 * communication or command errors.
20 *
21 * Some PMBus chips respond with valid data when trying to read an unsupported
22 * register. For such chips, checking the status register is mandatory when
23 * trying to determine if a chip register exists or not.
24 * Other PMBus chips don't support the STATUS_CML register, or report
25 * communication errors for no explicable reason. For such chips, checking
26 * the status register must be disabled.
27 */
28 #define PMBUS_SKIP_STATUS_CHECK BIT(0)
29
30 /*
31 * PMBUS_WRITE_PROTECTED
32 * Set if the chip is write protected and write protection is not determined
33 * by the standard WRITE_PROTECT command.
34 */
35 #define PMBUS_WRITE_PROTECTED BIT(1)
36
37 /*
38 * PMBUS_NO_CAPABILITY
39 *
40 * Some PMBus chips don't respond with valid data when reading the CAPABILITY
41 * register. For such chips, this flag should be set so that the PMBus core
42 * driver doesn't use CAPABILITY to determine it's behavior.
43 */
44 #define PMBUS_NO_CAPABILITY BIT(2)
45
46 struct pmbus_platform_data {
47 u32 flags; /* Device specific flags */
48
49 /* regulator support */
50 int num_regulators;
51 struct regulator_init_data *reg_init_data;
52 };
53
54 #endif /* _PMBUS_H_ */