Lines Matching +full:device +full:- +full:specific
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
27 Despite all those difficulties, a generic PMBus device driver is still useful
29 device specific extensions in addition to the core PMBus driver, since it is
30 simply unknown what new device specific functionality PMBus device developers
33 To make device specific extensions as scalable as possible, and to avoid having
35 split into core, generic, and device specific code. The core code (in
37 provides support for generic PMBus devices. Device specific code is responsible
38 for device specific initialization and, if needed, maps device specific
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).
52 For this reason, it often makes sense to provide a device specific driver if not
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
59 Limits and alarm attributes are auto-detected because there are simply too many
65 The API between core and device specific PMBus code is defined in
70 -----------------------
76 ----------------------
78 Virtual PMBus commands are provided to enable support for non-standard
84 than 0xff). Support for virtual PMBus commands is device specific and thus has
85 to be implemented in device specific code.
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
107 ------------------------
110 for device specific drivers to pass information to the core PMBus driver.
113 - For devices supporting its data in Direct Data Format, it provides coefficients
115 provided by chip manufacturers in device datasheets.
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,
118 and/or to speed up device detection and initialization.
119 - Several function entry points are provided to support overriding and/or
121 non-standard PMBus commands to standard commands, or to augment standard
122 command return values with device specific information.
130 the I2C device. This attribute can be used to control PEC support in the
137 ---------------------------------
140 successful. A return value of -ENODATA indicates that there is no manufacturer
141 specific command, but that a standard PMBus command may exist. Any other
147 which *must* be handled in driver specific code. See "Virtual PMBus Commands"
154 if (status != -ENODATA)
158 return -EINVAL;
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
205 ---------------------------------
245 selects page first. <page> may be -1, which means "current page".
252 selects page first. <page> may be -1, which means "current page".
259 This function calls the device specific write_byte function if defined.
268 This function calls the device specific write_byte function if defined to
277 This function calls the device specific write_byte function if defined to
286 identify function if supported. Must only be called from device probe
312 u32 flags; /* Device specific flags */
321 -----
335 Some i2c controllers do not support single-byte commands (write commands with