Re: [PATCH v3 3/3] Documentation: hwmon: New information for DA9063

From: Guenter Roeck
Date: Sat Jul 10 2021 - 12:17:49 EST


On 7/7/21 6:25 AM, Vincent Pelletier wrote:
From: "Opensource [Steve Twiss]" <stwiss.opensource@xxxxxxxxxxx>

Addition of HWMON documentation for the DA9063 driver.

Signed-off-by: Opensource [Steve Twiss] <stwiss.opensource@xxxxxxxxxxx>

Updated temperature formula, as of datasheet rev 2.3.
Converted to ReStructuredText.

Signed-off-by: Vincent Pelletier <plr.vincent@xxxxxxxxx>
---
Changes in v3:
- Reference added to index.rst

Changes in v2:
- ReST-ified

Originally submitted by Steve Twiss in 2014:
https://marc.info/?l=linux-kernel&m=139560868209856&w=2

Documentation/hwmon/da9063.rst | 73 ++++++++++++++++++++++++++++++++++
Documentation/hwmon/index.rst | 1 +
2 files changed, 74 insertions(+)
create mode 100644 Documentation/hwmon/da9063.rst

diff --git a/Documentation/hwmon/da9063.rst b/Documentation/hwmon/da9063.rst
new file mode 100644
index 000000000000..aae69c58a5d6
--- /dev/null
+++ b/Documentation/hwmon/da9063.rst
@@ -0,0 +1,73 @@
+Kernel driver da9063-hwmon
+==========================
+
+Supported chips:
+
+ * Dialog Semiconductor DA9063 PMIC
+
+ Prefix: 'da9063'
+
+ Datasheet: Publicly available at the Dialog Semiconductor website:
+
+ http://www.dialog-semiconductor.com/products/power-management/DA9063
+
+Authors:
+ - S Twiss <stwiss.opensource@xxxxxxxxxxx>
+ - Vincent Pelletier <plr.vincent@xxxxxxxxx>
+
+Description
+-----------
+
+The DA9063 PMIC provides a general purpose ADC with 10 bits of resolution.
+It uses track and hold circuitry with an analogue input multiplexer which
+allows the conversion of up to 9 different inputs:
+
+- Channel 0: VSYS_RES measurement of the system VDD (2.5 - 5.5V)
+- Channel 1: ADCIN1_RES high impedance input (0 - 2.5V)
+- Channel 2: ADCIN2_RES high impedance input (0 - 2.5V)
+- Channel 3: ADCIN3_RES high impedance input (0 - 2.5V)
+- Channel 4: Tjunc measurement of internal temperature sensor
+- Channel 5: VBBAT measurement of the backup battery voltage (0 - 5.0V)
+- Channel 6: N/A Reserved
+- Channel 7: N/A Reserved
+- Channel 8: MON1_RES group 1 internal regulators voltage (0 - 5.0V)
+- Channel 9: MON2_RES group 2 internal regulators voltage (0 - 5.0V)
+- Channel 10: MON3_RES group 3 internal regulators voltage (0 - 5.0V)
+
+The MUX selects from and isolates the 9 inputs and presents the channel to
+be measured to the ADC input. When selected, an input amplifier on the VSYS
+channel subtracts the VDDCORE reference voltage and scales the signal to the
+correct value for the ADC.
+
+The analog ADC includes current sources at ADC_IN1, ADC_IN2 and ADC_IN3 to
+support resistive measurements.
+
+Channels 1, 2 and 3 current source capability can be set through the ADC
+thresholds ADC_CFG register and values for ADCIN1_CUR, ADCIN2_CUR and
+ADCIN3_CUR. Settings for ADCIN1_CUR and ADCIN2_CUR are 1.0, 2.0, 10 and
+40 micro Amps. The setting for ADCIN3_CUR is 10 micro Amps.
+
+Voltage Monitoring
+------------------
+
+The manual measurement allows monitoring of the system voltage VSYS, the
+auxiliary channels ADCIN1, ADCIN2 and ADCIN3, and a VBBAT measurement of
+the backup battery voltage (0 - 5.0V). The manual measurements store 10
+bits of ADC resolution.
+
+The manual ADC measurements attributes described above are supported by
+the driver.
+

Not really. The driver only reports VSYS and VBBAT plus the temperature,
so this documentation is very misleading. Please provide a list of supported
attributes and their association to the ADC channels.

+The automatic ADC measurement is not supported by the driver.
+
+Temperature Monitoring
+----------------------
+
+Temperatures are sampled by a 10 bit ADC. Junction temperatures
+are monitored by the ADC channels.
+
+The junction temperature is calculated:
+
+ Degrees celsius = -0.398 * (ADC_RES - T_OFFSET) + 330;
+
+The junction temperature attribute is supported by the driver.
diff --git a/Documentation/hwmon/index.rst b/Documentation/hwmon/index.rst
index 9ed60fa84cbe..b3aba6525157 100644
--- a/Documentation/hwmon/index.rst
+++ b/Documentation/hwmon/index.rst
@@ -51,6 +51,7 @@ Hardware Monitoring Kernel Drivers
corsair-psu
da9052
da9055
+ da9063
dell-smm-hwmon
dme1737
drivetemp