dt-bindings: hwmon: isl68137: add bindings to support voltage dividers

Add devicetree bindings to support declaring optional voltage dividers to
the rail outputs of supported digital multiphase regulators. Some
applications require Vout to exceed the voltage range that the Vsense pin
can detect. This binding definition allows users to define the
characteristics of a voltage divider placed between Vout and the Vsense
pin for any rail powered by the device.

These bindings copy the vout-voltage-divider property defined in the
maxim,max20730 bindings schema since it is the best fit for the use case
of scaling hwmon PMBus telemetry. The generic voltage-divider property
used by many iio drivers was determined to be a poor fit because that
schema is tied directly to iio for the purpose of scaling io-channel
voltages and the isl68137 driver is not an iio driver.

New schema file named isil,isl68137.yaml to align with the corresponding
driver name and pre-existing bindings ported from trivial bindings.
However, all new device bindings use renesas as the vendor prefix
since Renesas acquired Intersil and now maintains all documentation
for the devices.

Signed-off-by: Grant Peltier <grantpeltier93@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Message-ID: <f7ac200e982961ff733de27a5c4505c04d68b6f3.1731439797.git.grantpeltier93@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Grant Peltier 2024-11-12 14:10:06 -06:00 committed by Guenter Roeck
parent 83b645ee43
commit 71d689f60b
2 changed files with 148 additions and 6 deletions

View File

@ -0,0 +1,148 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/pmbus/isil,isl68137.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas Digital Multiphase Voltage Regulators with PMBus
maintainers:
- Grant Peltier <grant.peltier.jg@renesas.com>
description: |
Renesas digital multiphase voltage regulators with PMBus.
https://www.renesas.com/en/products/power-management/multiphase-power/multiphase-dcdc-switching-controllers
properties:
compatible:
enum:
- isil,isl68137
- renesas,isl68220
- renesas,isl68221
- renesas,isl68222
- renesas,isl68223
- renesas,isl68224
- renesas,isl68225
- renesas,isl68226
- renesas,isl68227
- renesas,isl68229
- renesas,isl68233
- renesas,isl68239
- renesas,isl69222
- renesas,isl69223
- renesas,isl69224
- renesas,isl69225
- renesas,isl69227
- renesas,isl69228
- renesas,isl69234
- renesas,isl69236
- renesas,isl69239
- renesas,isl69242
- renesas,isl69243
- renesas,isl69247
- renesas,isl69248
- renesas,isl69254
- renesas,isl69255
- renesas,isl69256
- renesas,isl69259
- isil,isl69260
- renesas,isl69268
- isil,isl69269
- renesas,isl69298
- renesas,raa228000
- renesas,raa228004
- renesas,raa228006
- renesas,raa228228
- renesas,raa229001
- renesas,raa229004
reg:
maxItems: 1
'#address-cells':
const: 1
'#size-cells':
const: 0
patternProperties:
"^channel@([0-3])$":
type: object
description:
Container for properties specific to a particular channel (rail).
properties:
reg:
description: The channel (rail) index.
items:
minimum: 0
maximum: 3
vout-voltage-divider:
description: |
Resistances of a voltage divider placed between Vout and the voltage
sense (Vsense) pin for the given channel (rail). It has two numbers
representing the resistances of the voltage divider provided as
<Rout Rtotal> which yields an adjusted Vout as
Vout_adj = Vout * Rtotal / Rout given the original Vout as reported
by the Vsense pin. Given a circuit configuration similar to the one
below, Rtotal = R1 + Rout.
Vout ----.
|
.-----.
| R1 |
'-----'
|
+---- Vsense
|
.-----.
| Rout|
'-----'
|
GND
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 2
maxItems: 2
required:
- reg
additionalProperties: false
required:
- compatible
- reg
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
isl68239@60 {
compatible = "isil,isl68137";
reg = <0x60>;
};
};
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
isl68239@60 {
compatible = "renesas,isl68239";
reg = <0x60>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0>;
vout-voltage-divider = <1000 2000>; // Reported Vout/Pout would be scaled by 2
};
};
};

View File

@ -153,12 +153,6 @@ properties:
- isil,isl29028
# Intersil ISL29030 Ambient Light and Proximity Sensor
- isil,isl29030
# Intersil ISL68137 Digital Output Configurable PWM Controller
- isil,isl68137
# Intersil ISL69260 PMBus Voltage Regulator
- isil,isl69260
# Intersil ISL69269 PMBus Voltage Regulator
- isil,isl69269
# Intersil ISL76682 Ambient Light Sensor
- isil,isl76682
# JEDEC JESD300 (SPD5118) Hub and Serial Presence Detect