Re: [PATCH 4/4] dt-bindings: mfd: maxim,max77693: convert to dtschema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 28, 2021 at 05:39:30PM +0100, Krzysztof Kozlowski wrote:
> Convert the MFD part of Maxim MAX77693 MUIC to DT schema format.  The
> example DTS was copied from existing DTS (exynos4412-midas.dtsi), so
> keep the license as GPL-2.0-only.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> ---
>  .../devicetree/bindings/mfd/max77693.txt      | 194 ------------------
>  .../bindings/mfd/maxim,max77693.yaml          | 139 +++++++++++++
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 140 insertions(+), 195 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/max77693.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77693.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt
> deleted file mode 100644
> index 1032df14498b..000000000000
> --- a/Documentation/devicetree/bindings/mfd/max77693.txt
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -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>;
> -			};
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77693.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77693.yaml
> new file mode 100644
> index 000000000000..bc9c90bd4ff9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/maxim,max77693.yaml
> @@ -0,0 +1,139 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/maxim,max77693.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Maxim MAX77693 MicroUSB and Companion Power Management IC
> +
> +maintainers:
> +  - Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
> +  - Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> +
> +description: |
> +  This is a part of device tree bindings for Maxim MAX77693 MicroUSB
> +  Integrated Circuit (MUIC).
> +
> +  The Maxim MAX77693 is a MicroUSB and Companion Power Management IC which
> +  includes voltage current regulators, charger, LED/flash, haptic motor driver
> +  and MicroUSB management IC.
> +
> +properties:
> +  compatible:
> +    const: maxim,max77693
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  reg:
> +    maxItems: 1
> +
> +  charger:
> +    $ref: ../power/supply/maxim,max77693.yaml

/schemas/power/supply/...

> +
> +  led:
> +    $ref: ../leds/maxim,max77693.yaml

ditto

> +
> +  max77693-muic:
> +    type: object

       additionalProperties: false

> +    properties:
> +      compatible:
> +        const: maxim,max77693-muic
> +
> +    required:
> +      - compatible
> +
> +  motor-driver:
> +    type: object

       additionalProperties: false

> +    properties:
> +      compatible:
> +        const: maxim,max77693-haptic
> +
> +      haptic-supply:
> +        description: Power supply to the haptic motor
> +
> +      pwms:
> +        maxItems: 1
> +
> +    required:
> +      - compatible
> +      - haptic-supply
> +      - pwms
> +
> +  regulators:
> +    $ref: ../regulator/maxim,max77693.yaml
> +    description:
> +      List of child nodes that specify the regulators.
> +
> +required:
> +  - compatible
> +  - interrupts
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/leds/common.h>
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        pmic@66 {
> +            compatible = "maxim,max77693";
> +            reg = <0x66>;
> +            interrupt-parent = <&gpx1>;
> +            interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
> +
> +            regulators {
> +                ESAFEOUT1 {
> +                    regulator-name = "ESAFEOUT1";
> +                };
> +
> +                ESAFEOUT2 {
> +                    regulator-name = "ESAFEOUT2";
> +                };
> +
> +                CHARGER {
> +                    regulator-name = "CHARGER";
> +                    regulator-min-microamp = <60000>;
> +                    regulator-max-microamp = <2580000>;
> +                };
> +            };
> +
> +            motor-driver {
> +                compatible = "maxim,max77693-haptic";
> +                haptic-supply = <&ldo26_reg>;
> +                pwms = <&pwm 0 38022 0>;
> +            };
> +
> +            charger {
> +                compatible = "maxim,max77693-charger";
> +
> +                maxim,constant-microvolt = <4350000>;
> +                maxim,min-system-microvolt = <3600000>;
> +                maxim,thermal-regulation-celsius = <100>;
> +                maxim,battery-overcurrent-microamp = <3500000>;
> +                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>;
> +
> +                flash-led {
> +                    label = "max77693-flash";
> +                    function = LED_FUNCTION_FLASH;
> +                    color = <LED_COLOR_ID_WHITE>;
> +                    led-sources = <0>, <1>;
> +                    led-max-microamp = <500000>;
> +                    flash-max-microamp = <1250000>;
> +                    flash-max-timeout-us = <1000000>;
> +                };
> +            };
> +        };
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ead08768fb78..e5f2758531bc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11692,9 +11692,9 @@ M:	Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
>  L:	linux-kernel@xxxxxxxxxxxxxxx
>  S:	Supported
>  F:	Documentation/devicetree/bindings/*/maxim,max77686.yaml
> +F:	Documentation/devicetree/bindings/*/maxim,max77693.yaml
>  F:	Documentation/devicetree/bindings/clock/maxim,max77686.txt
>  F:	Documentation/devicetree/bindings/mfd/max14577.txt
> -F:	Documentation/devicetree/bindings/mfd/max77693.txt
>  F:	drivers/*/max14577*.c
>  F:	drivers/*/max77686*.c
>  F:	drivers/*/max77693*.c
> -- 
> 2.32.0
> 
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux