[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201206002629.12872-1-adrien.grassein@gmail.com>
Date: Sun, 6 Dec 2020 01:26:28 +0100
From: Adrien Grassein <adrien.grassein@...il.com>
To: unlisted-recipients:; (no To-header on input)
Cc: lgirdwood@...il.com, broonie@...nel.org, robh+dt@...nel.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
troy.kisky@...ndarydevices.com, gary.bisson@...ndarydevices.com,
Adrien Grassein <adrien.grassein@...il.com>
Subject: [PATCH 1/2] dt-bindings: regulator: Add pf8x00 regulator
Add dt-bindings for the pf8x00 driver.
Signed-off-by: Adrien Grassein <adrien.grassein@...il.com>
---
.../regulator/nxp,pf8x00-regulator.yaml | 223 ++++++++++++++++++
MAINTAINERS | 6 +
2 files changed, 229 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml
diff --git a/Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml b/Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml
new file mode 100644
index 000000000000..f4e4f545c5a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml
@@ -0,0 +1,223 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/nxp,pf8x00-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP PF8x00 Power Management Integrated Circuit regulators
+
+maintainers:
+ - Adrien Grassein <adrien.grassein@...il.com>
+
+description: |
+ pf8x00 are a 12-chanel regulator PMIC family. Regulators nodes should
+ be named to ldo<>, sw<> and vnss. The definition for each of these nodes
+ is defined using the standard binding for regulators at
+ Documentation/devicetree/bindings/regulator/regulator.txt.
+ Datasheet is available at https://www.nxp.com/docs/en/data-sheet/PF8100_PF8200.pdf
+
+properties:
+ compatible:
+ enum:
+ - nxp,pf8x00
+
+ reg:
+ maxItems: 1
+
+ regulators:
+ type: object
+ description: |
+ list of regulators provided by this controller
+
+ patternProperties:
+ "^ldo[1-4]$":
+ type: object
+ $ref: regulator.yaml#
+ description: |
+ Properties for single LDO regulator.
+
+ properties:
+ regulator-name:
+ pattern: "^ldo[1-4]$"
+ description: |
+ should be ldo1", ..., "ldo4"
+
+ nxp,hw-en:
+ $ref: /schemas/types.yaml#definitions/flag
+ description: |
+ Only available for ldo2. Used to enable or disable ld02.
+
+ nxp,vselect-en:
+ $ref: /schemas/types.yaml#definitions/flag
+ description: |
+ Only available for ldo2. When specified, use the VSELECT pin
+ of the chip to control the output voltage of the ldo02 regulator.
+
+ unevaluatedProperties: false
+
+ "^sw[1-7]$":
+ type: object
+ $ref: regulator.yaml#
+ description: |
+ Properties for single SW regulator.
+
+ properties:
+ regulator-name:
+ pattern: "^sw[1-7]$"
+ description: |
+ should be sw1", ..., "sw7"
+
+ nxp,ilim-ma:
+ $ref: /schemas/types.yaml#definitions/uint32
+ minimum: 2100
+ maximum: 4500
+ default: 2100
+ enum: [ 2100, 2600, 3000, 4500 ]
+ description: |
+ Defines the maximum current delivered by the regulator (in mA).
+
+ nxp,phase:
+ $ref: /schemas/types.yaml#definitions/uint32
+ minimum: 0
+ maximum: 315
+ default: 0
+ enum: [ 0, 45, 90, 135, 180, 225, 270, 315 ]
+ description: |
+ This controls the phase shift of the switching frequency.
+
+ nxp,fsl,fast-slew:
+ $ref: /schemas/types.yaml#definitions/flag
+ description: |
+ Controls the DVS ramp of the regulator.
+
+ nxp,quad-phase:
+ $ref: /schemas/types.yaml#definitions/flag
+ description: |
+ This allow regulators sw1 and sw2, or sw3 and sw4 or sw4 and sw5
+ to work together to deliver a maximum 10A current.
+
+ nxp,dual-phase:
+ $ref: /schemas/types.yaml#definitions/flag
+ description: |
+ This allow regulators sw1, sw2, sw3 and sw4 to work together
+ to deliver a maximum 5A current.
+
+ unevaluatedProperties: false
+
+ "^vsnvs$":
+ type: object
+ $ref: regulator.yaml#
+ description: |
+ Properties for vsnvs regulator.
+
+ unevaluatedProperties: false
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - regulators
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pmic: pf8100@8 {
+ compatible = "nxp,pf8x00";
+ reg = <0x08>;
+
+ regulators {
+ reg_ldo1: ldo1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <1500000>;
+ };
+
+ reg_ldo2: ldo2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <1500000>;
+ };
+
+ reg_ldo3: ldo3 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <1500000>;
+ };
+
+ reg_ldo4: ldo4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <1500000>;
+ };
+
+ reg_sw1: sw1 {
+ nxp,phase = <0>;
+ nxp,ilim-ma = <4500>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <400000>;
+ };
+
+ reg_sw2: sw2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <400000>;
+ };
+
+ reg_sw3: sw3 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <400000>;
+ nxp,fast-slew = <1>;
+ };
+
+ reg_sw4: sw4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <400000>;
+ nxp,fast-slew = <1>;
+ };
+
+ reg_sw5: sw5 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <400000>;
+ };
+
+ reg_sw6: sw6 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <400000>;
+ };
+
+ reg_sw7: sw7 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <4100000>;
+ regulator-min-microvolt = <1000000>;
+ };
+
+ reg_vsnvs: vsnvs {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <1800000>;
+ };
+ };
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index ebe4829cdd4d..4e266f1e9a2f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13730,6 +13730,12 @@ S: Maintained
F: include/linux/personality.h
F: include/uapi/linux/personality.h
+PF8x00 PMIC REGULATORS DRIVERS
+M: Adrien Grassein <adrien.grassein@...il.com>
+L: linux-kernel@...r.kernel.org
+S: Maintained
+F: Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml
+
PHOENIX RC FLIGHT CONTROLLER ADAPTER
M: Marcus Folkesson <marcus.folkesson@...il.com>
L: linux-input@...r.kernel.org
--
2.20.1
Powered by blists - more mailing lists