123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /* SPDX-License-Identifier: GPL-2.0-or-later */
- /*
- * Hardware monitoring driver for PMBus devices
- *
- * Copyright (c) 2010, 2011 Ericsson AB.
- */
- #ifndef _PMBUS_H_
- #define _PMBUS_H_
- #include <linux/bits.h>
- /* flags */
- /*
- * PMBUS_SKIP_STATUS_CHECK
- *
- * During register detection, skip checking the status register for
- * communication or command errors.
- *
- * Some PMBus chips respond with valid data when trying to read an unsupported
- * register. For such chips, checking the status register is mandatory when
- * trying to determine if a chip register exists or not.
- * Other PMBus chips don't support the STATUS_CML register, or report
- * communication errors for no explicable reason. For such chips, checking
- * the status register must be disabled.
- */
- #define PMBUS_SKIP_STATUS_CHECK BIT(0)
- /*
- * PMBUS_WRITE_PROTECTED
- * Set if the chip is write protected and write protection is not determined
- * by the standard WRITE_PROTECT command.
- */
- #define PMBUS_WRITE_PROTECTED BIT(1)
- /*
- * PMBUS_NO_CAPABILITY
- *
- * Some PMBus chips don't respond with valid data when reading the CAPABILITY
- * register. For such chips, this flag should be set so that the PMBus core
- * driver doesn't use CAPABILITY to determine it's behavior.
- */
- #define PMBUS_NO_CAPABILITY BIT(2)
- /*
- * PMBUS_READ_STATUS_AFTER_FAILED_CHECK
- *
- * Some PMBus chips end up in an undefined state when trying to read an
- * unsupported register. For such chips, it is necessary to reset the
- * chip pmbus controller to a known state after a failed register check.
- * This can be done by reading a known register. By setting this flag the
- * driver will try to read the STATUS register after each failed
- * register check. This read may fail, but it will put the chip in a
- * known state.
- */
- #define PMBUS_READ_STATUS_AFTER_FAILED_CHECK BIT(3)
- /*
- * PMBUS_NO_WRITE_PROTECT
- *
- * Some PMBus chips respond with invalid data when reading the WRITE_PROTECT
- * register. For such chips, this flag should be set so that the PMBus core
- * driver doesn't use the WRITE_PROTECT command to determine its behavior.
- */
- #define PMBUS_NO_WRITE_PROTECT BIT(4)
- /*
- * PMBUS_USE_COEFFICIENTS_CMD
- *
- * When this flag is set the PMBus core driver will use the COEFFICIENTS
- * register to initialize the coefficients for the direct mode format.
- */
- #define PMBUS_USE_COEFFICIENTS_CMD BIT(5)
- struct pmbus_platform_data {
- u32 flags; /* Device specific flags */
- /* regulator support */
- int num_regulators;
- struct regulator_init_data *reg_init_data;
- };
- #endif /* _PMBUS_H_ */
|