linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/2] hwmon: (pmbus) Add support for MPS MP2949A
@ 2021-07-02  7:31 ainux.wang
  2021-07-02  7:31 ` [PATCH v6 1/2] " ainux.wang
  2021-07-02  7:31 ` [PATCH v6 2/2] hwmon: (pmbus) Try use read_status() to read status register ainux.wang
  0 siblings, 2 replies; 5+ messages in thread
From: ainux.wang @ 2021-07-02  7:31 UTC (permalink / raw)
  To: jdelvare, linux, corbet, ainux.wang
  Cc: linux-hwmon, linux-doc, sterlingteng, chenhuacai, chenhuacai

From: "Ainux.Wang" <ainux.wang@gmail.com>

PART 1 (The chip driver):
Add support for MP2949A device from Monolithic Power Systems, Inc. (MPS).
This is a triple-loop, digital, multi-phase controller.
This device:
- Supports up to three power rail.
- Provides 6 pulse-width modulations (PWMs), and can be configured up
  to 6-phase operation for Rail A , up to 2-phase operation for Rail B
  and up to 1-phase operation for Rail C.
- The PMBus registers are distributed into three pages: Page 0, Page 1,
  Page 2. Page 0 contains the registers for Rail A and most of the common
  settings for all of the rails. Page 1 contains register information for
  Rail B. Page 2 contains register information for Rail C.
- The MP2949A supports both 5mV VID step and 10mv VID step for IMVP8 and
  IMVP9.

v6:
- Add mp2949a_read_byte_data(), mp2949a_read_word_data(), and the mp2949a
  do not support STATUS_BYTE, STATUS_WORD, and VOUT_MODE ,but return some
  random data when reading them.

v5:
- Moved change log to right here.

v4:
- Removed mp2949a_read_byte_data().
- Added space before and after '-' and fixed a bug that is '~' on line 35.

v3:
- Added change log here.
- Errors in the document have been modified.
- Fixed PMBUS_VOUT_MODE to MP2949A_MFR_VR_CONFIG.
- Removed unnecessary vout_params and empty line.

v2:
- Reference has been added to Documentation/hwmon/index.rst.
- Droped 'vendor'.
- Removed change codes of the PMBus core and added mp2949a_identify()
  and mp2949a_read_byte_data() to this driver.

v1:
- Add support for MPS MP2949A.

PART 2(PMbus Core):
There is a case(like MP2949A) that the chip do not support STATUS_WORD
and STATUS_BYTE command, but return some random data when reading.

So we should call read_status() instead of i2c_smbus_read_word_data()
and i2c_smbus_read_byte_data(), and the chip driver should implement a
read_word_data() function and a read_byte_data() function to return
-ENXIO.

Ainux.Wang (2):
  hwmon: (pmbus) Add support for MPS MP2949A
  hwmon: (pmbus) Try use read_status() to read status register

 Documentation/hwmon/index.rst    |   1 +
 Documentation/hwmon/mp2949a.rst  |  44 ++++++++++
 drivers/hwmon/pmbus/Kconfig      |   9 ++
 drivers/hwmon/pmbus/Makefile     |   1 +
 drivers/hwmon/pmbus/mp2949a.c    | 136 +++++++++++++++++++++++++++++++
 drivers/hwmon/pmbus/pmbus_core.c |  20 +++--
 6 files changed, 206 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/hwmon/mp2949a.rst
 create mode 100644 drivers/hwmon/pmbus/mp2949a.c

-- 
2.18.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-07-02 14:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-02  7:31 [PATCH v6 0/2] hwmon: (pmbus) Add support for MPS MP2949A ainux.wang
2021-07-02  7:31 ` [PATCH v6 1/2] " ainux.wang
2021-07-02 14:59   ` Guenter Roeck
2021-07-02  7:31 ` [PATCH v6 2/2] hwmon: (pmbus) Try use read_status() to read status register ainux.wang
2021-07-02 14:59   ` Guenter Roeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).