Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
C
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899/* 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)
/* * PMBUS_OP_PROTECTED * Set if the chip OPERATION command is protected and protection is not * determined by the standard WRITE_PROTECT command. */#define PMBUS_OP_PROTECTED BIT(6)
/* * PMBUS_VOUT_PROTECTED * Set if the chip VOUT_COMMAND command is protected and protection is not * determined by the standard WRITE_PROTECT command. */#define PMBUS_VOUT_PROTECTED BIT(7)
struct pmbus_platform_data { u32 flags; /* Device specific flags */
/* regulator support */ int num_regulators; struct regulator_init_data *reg_init_data;};
#endif /* _PMBUS_H_ */