Commit afb67df3 authored by Lee Jones's avatar Lee Jones
Browse files

Merge branches 'ib-mfd-hwmon-regulator-5.18', 'ib-mfd-iio-5.18',...

Merge branches 'ib-mfd-hwmon-regulator-5.18', 'ib-mfd-iio-5.18', 'ib-mfd-led-power-regulator-5.18', 'ib-mfd-mediatek-mt6366-5.18', 'ib-mfd-rtc-watchdog-5.18' and 'ib-mfd-spi-dt-5.18' into ibs-for-mfd-merged
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/extcon/maxim,max77843.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX77843 MicroUSB and Companion Power Management IC Extcon

maintainers:
  - Chanwoo Choi <cw00.choi@samsung.com>
  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>

description: |
  This is a part of device tree bindings for Maxim MAX77843 MicroUSB
  Integrated Circuit (MUIC).

  See also Documentation/devicetree/bindings/mfd/maxim,max77843.yaml for
  additional information and example.

properties:
  compatible:
    const: maxim,max77843-muic

  connector:
    $ref: /schemas/connector/usb-connector.yaml#

  ports:
    $ref: /schemas/graph.yaml#/properties/port
    description:
      Any connector to the data bus of this controller should be modelled using
      the OF graph bindings specified
    properties:
      port:
        $ref: /schemas/graph.yaml#/properties/port

required:
  - compatible
  - connector

additionalProperties: false
+105 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/maxim,max77693.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX77693 MicroUSB and Companion Power Management IC LEDs

maintainers:
  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>

description: |
  This is a part of device tree bindings for Maxim MAX77693 MicroUSB Integrated
  Circuit (MUIC).

  There are two LED outputs available - FLED1 and FLED2. Each of them can
  control a separate LED or they can be connected together to double the
  maximum current for a single connected LED. One LED is represented by one
  child node.

  See also Documentation/devicetree/bindings/mfd/maxim,max77693.yaml for
  additional information and example.

properties:
  compatible:
    const: maxim,max77693-led

  maxim,boost-mode:
    description:
      In boost mode the device can produce up to 1.2A of total current on both
      outputs. The maximum current on each output is reduced to 625mA then. If
      not enabled explicitly, boost setting defaults to LEDS_BOOST_FIXED in
      case both current sources are used.
      See LEDS_BOOST_* in include/dt-bindings/leds/common.h.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2]

  maxim,boost-mvout:
    description: |
      Output voltage of the boost module in millivolts.
      Valid values: 3300 - 5500, step by 25 (rounded down)
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 3300
    maximum: 5500
    default: 3300

  maxim,mvsys-min:
    description: |
      Low input voltage level in millivolts. Flash is not fired if chip
      estimates that system voltage could drop below this level due to flash
      power consumption.
      Valid values: 2400 - 3400, step by 33 (rounded down)
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 2400
    maximum: 3400
    default: 2400

patternProperties:
  "^([a-z]+-)?led[01]?$":
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      led-sources:
        allOf:
          - minItems: 1
            maxItems: 2
            items:
              minimum: 0
              maximum: 1

      led-max-microamp:
        description: |
          Valid values for a LED connected to one FLED output:
            15625 - 250000, step by 15625 (rounded down)
          Valid values for a LED connected to both FLED outputs:
            15625 - 500000, step by 15625 (rounded down)

      flash-max-microamp:
        description: |
          Valid values for a single LED connected to one FLED output
          (boost mode must be turned off):
            15625 - 1000000, step by 15625 (rounded down)
          Valid values for a single LED connected to both FLED outputs:
            15625 - 1250000, step by 15625 (rounded down)
          Valid values for two LEDs case:
            15625 - 625000, step by 15625 (rounded down)

      flash-max-timeout-us:
        description: |
          Valid values: 62500 - 1000000, step by 62500 (rounded down)
        minimum: 62500
        maximum: 1000000

    required:
      - flash-max-microamp
      - flash-max-timeout-us
      - led-max-microamp
      - led-sources

required:
  - compatible

additionalProperties: false
+17 −14
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ properties:

  controller-data:
    description:
      SPI controller data, see bindings/spi/spi-samsung.txt
      SPI controller data, see bindings/spi/samsung,spi-peripheral-props.yaml
    type: object

  google,cros-ec-spi-pre-delay:
@@ -148,7 +148,8 @@ patternProperties:
required:
  - compatible

if:
allOf:
  - if:
      properties:
        compatible:
          contains:
@@ -160,6 +161,8 @@ then:
        google,cros-ec-spi-pre-delay: false
        google,cros-ec-spi-msg-delay: false
        spi-max-frequency: false
    else:
      $ref: /schemas/spi/spi-peripheral-props.yaml

additionalProperties: false

+0 −147
Original line number Diff line number Diff line
Maxim MAX14577/77836 Multi-Function Device

MAX14577 is a Multi-Function Device with Micro-USB Interface Circuit, Li+
Battery Charger and SFOUT LDO output for powering USB devices. It is
interfaced to host controller using I2C.

MAX77836 additionally contains PMIC (with two LDO regulators) and Fuel Gauge.
For the description of Fuel Gauge low SOC alert interrupt see:
../power/supply/max17040_battery.txt


Required properties:
- compatible : Must be "maxim,max14577" or "maxim,max77836".
- reg : I2C slave address for the max14577 chip (0x25 for max14577/max77836)
- interrupts : IRQ line for the chip.


Required nodes:
 - charger :
	Node for configuring the charger driver.
	Required properties:
		- compatible : "maxim,max14577-charger"
			or "maxim,max77836-charger"
		- maxim,fast-charge-uamp : Current in uA for Fast Charge;
			Valid values:
			- for max14577: 90000 - 950000;
			- for max77836: 45000 - 475000;
		- maxim,eoc-uamp : Current in uA for End-Of-Charge mode;
			Valid values:
			- for max14577: 50000 - 200000;
			- for max77836: 5000 - 100000;
		- maxim,ovp-uvolt : OverVoltage Protection Threshold in uV;
			In an overvoltage condition, INT asserts and charging
			stops. Valid values:
			- 6000000, 6500000, 7000000, 7500000;
		- maxim,constant-uvolt : Battery Constant Voltage in uV;
			Valid values:
			- 4000000 - 4280000 (step by 20000);
			- 4350000;


Optional nodes:
- max14577-muic/max77836-muic :
	Node used only by extcon consumers.
	Required properties:
		- compatible : "maxim,max14577-muic" or "maxim,max77836-muic"

- regulators :
	Required properties:
		- compatible : "maxim,max14577-regulator"
			or "maxim,max77836-regulator"

	May contain a sub-node per regulator from the list below. Each
	sub-node should contain the constraints and initialization information
	for that regulator. See regulator.txt for a description of standard
	properties for these sub-nodes.

	List of valid regulator names:
	- for max14577: CHARGER, SAFEOUT.
	- for max77836: CHARGER, SAFEOUT, LDO1, LDO2.

	The SAFEOUT is a fixed voltage regulator so there is no need to specify
	voltages for it.


Example:

#include <dt-bindings/interrupt-controller/irq.h>

max14577@25 {
	compatible = "maxim,max14577";
	reg = <0x25>;
	interrupt-parent = <&gpx1>;
	interrupts = <5 IRQ_TYPE_LEVEL_LOW>;

	muic: max14577-muic {
		compatible = "maxim,max14577-muic";
	};

	regulators {
		compatible = "maxim,max14577-regulator";

		SAFEOUT {
			regulator-name = "SAFEOUT";
		};
		CHARGER {
			regulator-name = "CHARGER";
			regulator-min-microamp = <90000>;
			regulator-max-microamp = <950000>;
			regulator-boot-on;
		};
	};

	charger {
		compatible = "maxim,max14577-charger";

		maxim,constant-uvolt = <4350000>;
		maxim,fast-charge-uamp = <450000>;
		maxim,eoc-uamp = <50000>;
		maxim,ovp-uvolt = <6500000>;
	};
};


max77836@25 {
	compatible = "maxim,max77836";
	reg = <0x25>;
	interrupt-parent = <&gpx1>;
	interrupts = <5 IRQ_TYPE_LEVEL_LOW>;

	muic: max77836-muic {
		compatible = "maxim,max77836-muic";
	};

	regulators {
		compatible = "maxim,max77836-regulator";

		SAFEOUT {
			regulator-name = "SAFEOUT";
		};
		CHARGER {
			regulator-name = "CHARGER";
			regulator-min-microamp = <90000>;
			regulator-max-microamp = <950000>;
			regulator-boot-on;
		};
		LDO1 {
			regulator-name = "LDO1";
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <2700000>;
		};
		LDO2 {
			regulator-name = "LDO2";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <3950000>;
		};
	};

	charger {
		compatible = "maxim,max77836-charger";

		maxim,constant-uvolt = <4350000>;
		maxim,fast-charge-uamp = <225000>;
		maxim,eoc-uamp = <7500>;
		maxim,ovp-uvolt = <6500000>;
	};
};
+0 −194
Original line number Diff line number Diff line
Maxim MAX77693 multi-function device

MAX77693 is a Multifunction device with the following submodules:
- PMIC,
- CHARGER,
- LED,
- MUIC,
- HAPTIC

It is interfaced to host controller using i2c.
This document describes the bindings for the mfd device.

Required properties:
- compatible : Must be "maxim,max77693".
- reg : Specifies the i2c slave address of PMIC block.
- interrupts : This i2c device has an IRQ line connected to the main SoC.

Optional properties:
- regulators : The regulators of max77693 have to be instantiated under subnode
  named "regulators" using the following format.

	regulators {
		regulator-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER
		standard regulator constraints[*].
	};

	[*] refer Documentation/devicetree/bindings/regulator/regulator.txt

- haptic : The MAX77693 haptic device utilises a PWM controlled motor to provide
  users with tactile feedback. PWM period and duty-cycle are varied in
  order to provide the appropriate level of feedback.

 Required properties:
	- compatible : Must be "maxim,max77693-haptic"
	- haptic-supply : power supply for the haptic motor
	[*] refer Documentation/devicetree/bindings/regulator/regulator.txt
	- pwms : phandle to the physical PWM(Pulse Width Modulation) device.
	 PWM properties should be named "pwms". And number of cell is different
	 for each pwm device.
	 To get more information, please refer to documentation.
	[*] refer Documentation/devicetree/bindings/pwm/pwm.txt

- charger : Node configuring the charger driver.
  If present, required properties:
  - compatible : Must be "maxim,max77693-charger".

  Optional properties (if not set, defaults will be used):
  - maxim,constant-microvolt : Battery constant voltage in uV. The charger
    will operate in fast charge constant current mode till battery voltage
    reaches this level. Then the charger will switch to fast charge constant
    voltage mode. Also vsys (system voltage) will be set to this value when
    DC power is supplied but charger is not enabled.
    Valid values: 3650000 - 4400000, step by 25000 (rounded down)
    Default: 4200000

  - maxim,min-system-microvolt : Minimal system voltage in uV.
    Valid values: 3000000 - 3700000, step by 100000 (rounded down)
    Default: 3600000

  - maxim,thermal-regulation-celsius : Temperature in Celsius for entering
    high temperature charging mode. If die temperature exceeds this value
    the charging current will be reduced by 105 mA/Celsius.
    Valid values: 70, 85, 100, 115
    Default: 100

  - maxim,battery-overcurrent-microamp : Overcurrent protection threshold
    in uA (current from battery to system).
    Valid values: 2000000 - 3500000, step by 250000 (rounded down)
    Default: 3500000

  - maxim,charge-input-threshold-microvolt : Threshold voltage in uV for
    triggering input voltage regulation loop. If input voltage decreases
    below this value, the input current will be reduced to reach the
    threshold voltage.
    Valid values: 4300000, 4700000, 4800000, 4900000
    Default: 4300000

- led : the LED submodule device node

There are two LED outputs available - FLED1 and FLED2. Each of them can
control a separate LED or they can be connected together to double
the maximum current for a single connected LED. One LED is represented
by one child node.

Required properties:
- compatible : Must be "maxim,max77693-led".

Optional properties:
- maxim,boost-mode :
	In boost mode the device can produce up to 1.2A of total current
	on both outputs. The maximum current on each output is reduced
	to 625mA then. If not enabled explicitly, boost setting defaults to
	LEDS_BOOST_FIXED in case both current sources are used.
	Possible values:
		LEDS_BOOST_OFF (0) - no boost,
		LEDS_BOOST_ADAPTIVE (1) - adaptive mode,
		LEDS_BOOST_FIXED (2) - fixed mode.
- maxim,boost-mvout : Output voltage of the boost module in millivolts.
	Valid values: 3300 - 5500, step by 25 (rounded down)
	Default: 3300
- maxim,mvsys-min : Low input voltage level in millivolts. Flash is not fired
	if chip estimates that system voltage could drop below this level due
	to flash power consumption.
	Valid values: 2400 - 3400, step by 33 (rounded down)
	Default: 2400

Required properties for the LED child node:
- led-sources : see Documentation/devicetree/bindings/leds/common.txt;
		device current output identifiers: 0 - FLED1, 1 - FLED2
- led-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
	Valid values for a LED connected to one FLED output:
		15625 - 250000, step by 15625 (rounded down)
	Valid values for a LED connected to both FLED outputs:
		15625 - 500000, step by 15625 (rounded down)
- flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
	Valid values for a single LED connected to one FLED output
	(boost mode must be turned off):
		15625 - 1000000, step by 15625 (rounded down)
	Valid values for a single LED connected to both FLED outputs:
		15625 - 1250000, step by 15625 (rounded down)
	Valid values for two LEDs case:
		15625 - 625000, step by 15625 (rounded down)
- flash-max-timeout-us : see Documentation/devicetree/bindings/leds/common.txt
	Valid values: 62500 - 1000000, step by 62500 (rounded down)

Optional properties for the LED child node:
- label : see Documentation/devicetree/bindings/leds/common.txt

Optional nodes:
- max77693-muic :
	Node used only by extcon consumers.
	Required properties:
		- compatible : "maxim,max77693-muic"

Example:
#include <dt-bindings/leds/common.h>

	max77693@66 {
		compatible = "maxim,max77693";
		reg = <0x66>;
		interrupt-parent = <&gpx1>;
		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;

		regulators {
			esafeout@1 {
				regulator-compatible = "ESAFEOUT1";
				regulator-name = "ESAFEOUT1";
				regulator-boot-on;
			};
			esafeout@2 {
				regulator-compatible = "ESAFEOUT2";
				regulator-name = "ESAFEOUT2";
				};
			charger@0 {
				regulator-compatible = "CHARGER";
				regulator-name = "CHARGER";
				regulator-min-microamp = <60000>;
				regulator-max-microamp = <2580000>;
					regulator-boot-on;
			};
		};

		haptic {
			compatible = "maxim,max77693-haptic";
			haptic-supply = <&haptic_supply>;
			pwms = <&pwm 0 40000 0>;
			pwm-names = "haptic";
		};

		charger {
			compatible = "maxim,max77693-charger";

			maxim,constant-microvolt = <4200000>;
			maxim,min-system-microvolt = <3600000>;
			maxim,thermal-regulation-celsius = <75>;
			maxim,battery-overcurrent-microamp = <3000000>;
			maxim,charge-input-threshold-microvolt = <4300000>;
		};

		led {
			compatible = "maxim,max77693-led";
			maxim,boost-mode = <LEDS_BOOST_FIXED>;
			maxim,boost-mvout = <5000>;
			maxim,mvsys-min = <2400>;

			camera_flash: flash-led {
				label = "max77693-flash";
				led-sources = <0>, <1>;
				led-max-microamp = <500000>;
				flash-max-microamp = <1250000>;
				flash-max-timeout-us = <1000000>;
			};
		};
	};
Loading