dt-bindings: mfd: samsung,s2mps11: Convert to dtschema
Convert the MFD part of Samsung S2MPS11/S2MPS13/S2MPS14/S2MPS15/S2MPU02 family of PMICs to DT schema format. Previously the bindings were mostly in mfd/samsung,sec-core.txt. The conversion copies parts of description from existing bindings therefore the license is not changed from GPLv2. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20211008113931.134847-4-krzysztof.kozlowski@canonical.com
This commit is contained in:
parent
9721f0e845
commit
e84946dd7a
|
@ -0,0 +1,267 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/mfd/samsung,s2mps11.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Samsung S2MPS11/13/14/15 and S2MPU02 Power Management IC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This is a part of device tree bindings for S2M and S5M family of Power
|
||||||
|
Management IC (PMIC).
|
||||||
|
|
||||||
|
The Samsung S2MPS11/13/14/15 and S2MPU02 is a family of Power Management IC
|
||||||
|
which include voltage and current regulators, RTC, clock outputs and other
|
||||||
|
sub-blocks.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- samsung,s2mps11-pmic
|
||||||
|
- samsung,s2mps13-pmic
|
||||||
|
- samsung,s2mps14-pmic
|
||||||
|
- samsung,s2mps15-pmic
|
||||||
|
- samsung,s2mpu02-pmic
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
$ref: ../clock/samsung,s2mps11.yaml
|
||||||
|
description:
|
||||||
|
Child node describing clock provider.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
regulators:
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
List of child nodes that specify the regulators.
|
||||||
|
|
||||||
|
samsung,s2mps11-acokb-ground:
|
||||||
|
description: |
|
||||||
|
Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so
|
||||||
|
the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the
|
||||||
|
power. Usually the ACOKB is pulled up to VBATT so when PWRHOLD pin goes
|
||||||
|
low, the rising ACOKB will trigger power off.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
samsung,s2mps11-wrstbi-ground:
|
||||||
|
description: |
|
||||||
|
Indicates that WRSTBI pin of PMIC is pulled down. When the system is
|
||||||
|
suspended it will always go down thus triggerring unwanted buck warm
|
||||||
|
reset (setting buck voltages to default values).
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
wakeup-source: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- regulators
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: samsung,s2mps11-pmic
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
regulators:
|
||||||
|
$ref: ../regulator/samsung,s2mps11.yaml
|
||||||
|
samsung,s2mps11-wrstbi-ground: false
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: samsung,s2mps13-pmic
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
regulators:
|
||||||
|
$ref: ../regulator/samsung,s2mps13.yaml
|
||||||
|
samsung,s2mps11-acokb-ground: false
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: samsung,s2mps14-pmic
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
regulators:
|
||||||
|
$ref: ../regulator/samsung,s2mps14.yaml
|
||||||
|
samsung,s2mps11-acokb-ground: false
|
||||||
|
samsung,s2mps11-wrstbi-ground: false
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: samsung,s2mps15-pmic
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
regulators:
|
||||||
|
$ref: ../regulator/samsung,s2mps15.yaml
|
||||||
|
samsung,s2mps11-acokb-ground: false
|
||||||
|
samsung,s2mps11-wrstbi-ground: false
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: samsung,s2mpu02-pmic
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
regulators:
|
||||||
|
$ref: ../regulator/samsung,s2mpu02.yaml
|
||||||
|
samsung,s2mps11-acokb-ground: false
|
||||||
|
samsung,s2mps11-wrstbi-ground: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
pmic@66 {
|
||||||
|
compatible = "samsung,s2mps11-pmic";
|
||||||
|
reg = <0x66>;
|
||||||
|
|
||||||
|
interrupt-parent = <&gpx0>;
|
||||||
|
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&s2mps11_irq>;
|
||||||
|
samsung,s2mps11-acokb-ground;
|
||||||
|
wakeup-source;
|
||||||
|
|
||||||
|
clocks {
|
||||||
|
compatible = "samsung,s2mps11-clk";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
clock-output-names = "s2mps11_ap", "s2mps11_cp", "s2mps11_bt";
|
||||||
|
};
|
||||||
|
|
||||||
|
regulators {
|
||||||
|
LDO1 {
|
||||||
|
regulator-name = "vdd_ldo1";
|
||||||
|
regulator-min-microvolt = <1000000>;
|
||||||
|
regulator-max-microvolt = <1000000>;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
LDO4 {
|
||||||
|
regulator-name = "vdd_adc";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// ....
|
||||||
|
|
||||||
|
BUCK1 {
|
||||||
|
regulator-name = "vdd_mif";
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1300000>;
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
BUCK2 {
|
||||||
|
regulator-name = "vdd_arm";
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1500000>;
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-coupled-with = <&buck3_reg>;
|
||||||
|
regulator-coupled-max-spread = <300000>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
BUCK3 {
|
||||||
|
regulator-name = "vdd_int";
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1400000>;
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-coupled-with = <&buck2_reg>;
|
||||||
|
regulator-coupled-max-spread = <300000>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// ...
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
pmic@66 {
|
||||||
|
compatible = "samsung,s2mps14-pmic";
|
||||||
|
reg = <0x66>;
|
||||||
|
|
||||||
|
interrupt-parent = <&gpx0>;
|
||||||
|
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
wakeup-source;
|
||||||
|
|
||||||
|
clocks {
|
||||||
|
compatible = "samsung,s2mps14-clk";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
clock-output-names = "s2mps14_ap", "unused", "s2mps14_bt";
|
||||||
|
};
|
||||||
|
|
||||||
|
regulators {
|
||||||
|
LDO1 {
|
||||||
|
regulator-name = "VLDO1_1.0V";
|
||||||
|
regulator-min-microvolt = <1000000>;
|
||||||
|
regulator-max-microvolt = <1000000>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// ...
|
||||||
|
|
||||||
|
BUCK1 {
|
||||||
|
regulator-name = "VBUCK1_1.0V";
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1000000>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// ...
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -16503,6 +16503,7 @@ L: linux-kernel@vger.kernel.org
|
||||||
L: linux-samsung-soc@vger.kernel.org
|
L: linux-samsung-soc@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
|
F: Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
|
||||||
|
F: Documentation/devicetree/bindings/mfd/samsung,s2m*.yaml
|
||||||
F: Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
|
F: Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
|
||||||
F: Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml
|
F: Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml
|
||||||
F: Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml
|
F: Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml
|
||||||
|
|
Loading…
Reference in New Issue