Unverified Commit a54ef141 authored by Rob Herring (Arm)'s avatar Rob Herring (Arm) Committed by Mark Brown
Browse files

regulator: dt-bindings: Clean-up active-semi,act8945a duplication



The active-semi,act8945a binding is documented in multiple places. The
charger child node is documented in regulator/active-semi,act8945a.yaml
and power/supply/active-semi,act8945a-charger.yaml. An old text binding
is in mfd/act8945a.txt.

Update the regulator/active-semi,act8945a.yaml with the additional
descriptions and constraints from
power/supply/active-semi,act8945a-charger.yaml, and then remove it and
mfd/act8945a.txt.

Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250807214459.4173892-1-robh@kernel.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent bb244140
Loading
Loading
Loading
Loading
+0 −82
Original line number Diff line number Diff line
Device-Tree bindings for Active-semi ACT8945A MFD driver

Required properties:
 - compatible: "active-semi,act8945a".
 - reg: the I2C slave address for the ACT8945A chip

The chip exposes two subdevices:
 - a regulators: see ../regulator/act8945a-regulator.txt
 - a charger: see ../power/act8945a-charger.txt

Example:
	pmic@5b {
		compatible = "active-semi,act8945a";
		reg = <0x5b>;

		active-semi,vsel-high;

		regulators {
			vdd_1v35_reg: REG_DCDC1 {
				regulator-name = "VDD_1V35";
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
			};

			vdd_1v2_reg: REG_DCDC2 {
				regulator-name = "VDD_1V2";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
			};

			vdd_3v3_reg: REG_DCDC3 {
				regulator-name = "VDD_3V3";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_fuse_reg: REG_LDO1 {
				regulator-name = "VDD_FUSE";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};

			vdd_3v3_lp_reg: REG_LDO2 {
				regulator-name = "VDD_3V3_LP";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_led_reg: REG_LDO3 {
				regulator-name = "VDD_LED";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_sdhc_1v8_reg: REG_LDO4 {
				regulator-name = "VDD_SDHC_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};
		};

		charger {
			compatible = "active-semi,act8945a-charger";
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
			interrupt-parent = <&pioA>;
			interrupts = <45 IRQ_TYPE_LEVEL_LOW>;

			active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
			active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
			active-semi,input-voltage-threshold-microvolt = <6600>;
			active-semi,precondition-timeout = <40>;
			active-semi,total-timeout = <3>;
		};
	};
+0 −76
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/active-semi,act8945a-charger.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Active-semi ACT8945A Charger Function

maintainers:
  - Sebastian Reichel <sre@kernel.org>

allOf:
  - $ref: power-supply.yaml#

properties:
  compatible:
    const: active-semi,act8945a-charger

  interrupts:
    maxItems: 1

  active-semi,chglev-gpios:
    maxItems: 1
    description: charge current level GPIO

  active-semi,lbo-gpios:
    maxItems: 1
    description: low battery voltage detect GPIO

  active-semi,input-voltage-threshold-microvolt:
    description: |
      Specifies the charger's input over-voltage threshold value.
      Despite the name, specified values are in millivolt (mV).
      Defaults to 6.6 V
    enum: [ 6600, 7000, 7500, 8000 ]

  active-semi,precondition-timeout:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      Specifies the charger's PRECONDITION safety timer setting value in minutes.
      If 0, it means to disable this timer.
      Defaults to 40 minutes.
    enum: [ 0, 40, 60, 80 ]

  active-semi,total-timeout:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      Specifies the charger's total safety timer setting value in hours;
      If 0, it means to disable this timer;
      Defaults to 3 hours.
    enum: [ 0, 3, 4, 5 ]

required:
  - compatible
  - interrupts
  - active-semi,chglev-gpios
  - active-semi,lbo-gpios

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    pmic {
      charger {
        compatible = "active-semi,act8945a-charger";
        interrupt-parent = <&pioA>;
        interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
        active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
        active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
        active-semi,input-voltage-threshold-microvolt = <6600>;
        active-semi,precondition-timeout = <40>;
        active-semi,total-timeout = <3>;
      };
    };
+19 −6
Original line number Diff line number Diff line
@@ -91,28 +91,41 @@ properties:
        maxItems: 1

      active-semi,chglev-gpios:
        description: CGHLEV GPIO
        description: charge current level GPIO
        maxItems: 1

      active-semi,lbo-gpios:
        description: LBO GPIO
        description: low battery voltage detect GPIO
        maxItems: 1

      active-semi,input-voltage-threshold-microvolt:
        description: Input voltage threshold
        maxItems: 1
        description:
          Specifies the charger's input over-voltage threshold value. Despite
          the name, specified values are in millivolt (mV).
        enum: [ 6600, 7000, 7500, 8000 ]
        default: 6600

      active-semi,precondition-timeout:
        description: Precondition timeout
        description:
          Specifies the charger's PRECONDITION safety timer setting value in
          minutes. If 0, it means to disable this timer.
        enum: [ 0, 40, 60, 80 ]
        default: 40
        $ref: /schemas/types.yaml#/definitions/uint32

      active-semi,total-timeout:
        description: Total timeout
        description:
          Specifies the charger's total safety timer setting value in hours; If
          0, it means to disable this timer;
        enum: [ 0, 3, 4, 5 ]
        default: 3
        $ref: /schemas/types.yaml#/definitions/uint32

    required:
      - compatible
      - interrupts
      - active-semi,chglev-gpios
      - active-semi,lbo-gpios

additionalProperties: false