/* 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_ */
Messung V0.5 in Prozent C=87 H=100 G=93
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-09-29)
¤
*© Formatika GbR, Deutschland