Lines Matching +full:max +full:- +full:virtual +full:- +full:functions
9 power-management protocol with a fully defined command language that facilitates
11 protocol is implemented over the industry-standard SMBus serial interface and
12 enables programming, control, and real-time monitoring of compliant power
18 promoted by the PMBus Implementers Forum (PMBus-IF), comprising 30+ adopters
22 commands, and manufacturers can add as many non-standard commands as they like.
23 Also, different PMBUs devices act differently if non-supported commands are
43 PMBus device capabilities auto-detection
46 For generic PMBus devices, code in pmbus.c attempts to auto-detect all supported
47 PMBus commands. Auto-detection is somewhat limited, since there are simply too
50 pages (see the PMBus specification for details on multi-page PMBus devices).
53 all commands can be auto-detected. The data structures in this driver can be
57 Some commands are always auto-detected. This applies to all limit commands
58 (lcrit, min, max, and crit attributes) as well as associated alarm attributes.
59 Limits and alarm attributes are auto-detected because there are simply too many
67 standard PMBus commands and virtual PMBus commands.
70 -----------------------
75 Virtual PMBus commands
76 ----------------------
78 Virtual PMBus commands are provided to enable support for non-standard
82 Virtual PMBus commands start with command value 0x100 and can thus easily be
84 than 0xff). Support for virtual PMBus commands is device specific and thus has
87 Virtual commands are named PMBUS_VIRT_xxx and start with PMBUS_VIRT_BASE. All
88 virtual commands are word sized.
90 There are currently two types of virtual commands.
92 - READ commands are read-only; writes are either ignored or return an error.
93 - RESET commands are read/write. Reading reset registers returns zero
97 Virtual commands have to be handled in device specific driver code. Chip driver
98 code returns non-negative values if a virtual command is supported, or a
99 negative error code if not. The chip driver may return -ENODATA or any other
100 Linux error code in this case, though an error code other than -ENODATA is
103 or writing virtual registers (in other words, the PMBus core code will never
104 send a virtual command to a chip).
107 ------------------------
113 - For devices supporting its data in Direct Data Format, it provides coefficients
116 - Supported chip functionality can be provided to the core driver. This may be
117 necessary for chips which react badly if non-supported commands are executed,
119 - Several function entry points are provided to support overriding and/or
121 non-standard PMBus commands to standard commands, or to augment standard
133 API functions
136 Functions provided by chip driver
137 ---------------------------------
139 All functions return the command return value (read) or zero (write) if
140 successful. A return value of -ENODATA indicates that there is no manufacturer
146 As mentioned above, an exception to this rule applies to virtual commands,
147 which *must* be handled in driver specific code. See "Virtual PMBus Commands"
154 if (status != -ENODATA)
158 return -EINVAL;
161 Chip drivers may provide pointers to the following functions in struct
162 pmbus_driver_info. All functions are optional.
169 <page> may be -1, which means "current page".
193 <page> may be -1, which means "current page".
201 pre-determined. It is currently only used by the generic pmbus driver
204 Functions exported by core driver
205 ---------------------------------
207 Chip drivers are expected to use the following functions to read or write
245 selects page first. <page> may be -1, which means "current page".
252 selects page first. <page> may be -1, which means "current page".
321 -----
335 Some i2c controllers do not support single-byte commands (write commands with