mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-17 10:04:14 +08:00
dt-bindings: mfd: samsung,s5m8767: Convert to dtschema
Convert the MFD part of Samsung S5M8767 PMIC to DT schema format. Previously the bindings were mostly in mfd/samsung,sec-core.txt. Since all of bindings for Samsung S2M and S5M family of PMICs were converted from mfd/samsung,sec-core.txt to respective dtschema file, remove the former one. 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-6-krzysztof.kozlowski@canonical.com
This commit is contained in:
parent
cc0eb5dc15
commit
9aefe3fbab
269
Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
Normal file
269
Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
Normal file
@ -0,0 +1,269 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/samsung,s5m8767.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S5M8767 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 S5M8767 is a Power Management IC which includes voltage
|
||||
and current regulators, RTC, clock outputs and other sub-blocks.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: samsung,s5m8767-pmic
|
||||
|
||||
clocks:
|
||||
$ref: ../clock/samsung,s2mps11.yaml
|
||||
description:
|
||||
Child node describing clock provider.
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
$ref: ../regulator/samsung,s5m8767.yaml
|
||||
description:
|
||||
List of child nodes that specify the regulators.
|
||||
|
||||
s5m8767,pmic-buck2-dvs-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
description: |
|
||||
A set of 8 voltage values in micro-volt (uV) units for buck2 when
|
||||
changing voltage using gpio dvs.
|
||||
|
||||
s5m8767,pmic-buck3-dvs-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
description: |
|
||||
A set of 8 voltage values in micro-volt (uV) units for buck3 when
|
||||
changing voltage using gpio dvs.
|
||||
|
||||
s5m8767,pmic-buck4-dvs-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
description: |
|
||||
A set of 8 voltage values in micro-volt (uV) units for buck4 when
|
||||
changing voltage using gpio dvs.
|
||||
|
||||
s5m8767,pmic-buck-ds-gpios:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
description: |
|
||||
GPIO specifiers for three host gpio's used for selecting GPIO DVS lines.
|
||||
It is one-to-one mapped to dvs gpio lines.
|
||||
|
||||
s5m8767,pmic-buck2-uses-gpio-dvs:
|
||||
type: boolean
|
||||
description: buck2 can be controlled by gpio dvs.
|
||||
|
||||
s5m8767,pmic-buck3-uses-gpio-dvs:
|
||||
type: boolean
|
||||
description: buck3 can be controlled by gpio dvs.
|
||||
|
||||
s5m8767,pmic-buck4-uses-gpio-dvs:
|
||||
type: boolean
|
||||
description: buck4 can be controlled by gpio dvs.
|
||||
|
||||
s5m8767,pmic-buck-default-dvs-idx:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
default: 0
|
||||
description: |
|
||||
Default voltage setting selected from the possible 8 options selectable
|
||||
by the dvs gpios. The value of this property should be between 0 and 7.
|
||||
If not specified or if out of range, the default value of this property
|
||||
is set to 0.
|
||||
|
||||
s5m8767,pmic-buck-dvs-gpios:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
description: |
|
||||
GPIO specifiers for three host gpio's used for dvs.
|
||||
|
||||
wakeup-source: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
- s5m8767,pmic-buck-ds-gpios
|
||||
|
||||
dependencies:
|
||||
s5m8767,pmic-buck2-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ]
|
||||
s5m8767,pmic-buck3-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ]
|
||||
s5m8767,pmic-buck4-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ]
|
||||
s5m8767,pmic-buck2-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck2-dvs-voltage' ]
|
||||
s5m8767,pmic-buck3-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck3-dvs-voltage' ]
|
||||
s5m8767,pmic-buck4-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck4-dvs-voltage' ]
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
required:
|
||||
- s5m8767,pmic-buck2-uses-gpio-dvs
|
||||
then:
|
||||
properties:
|
||||
s5m8767,pmic-buck3-uses-gpio-dvs: false
|
||||
s5m8767,pmic-buck4-uses-gpio-dvs: false
|
||||
|
||||
- if:
|
||||
required:
|
||||
- s5m8767,pmic-buck3-uses-gpio-dvs
|
||||
then:
|
||||
properties:
|
||||
s5m8767,pmic-buck2-uses-gpio-dvs: false
|
||||
s5m8767,pmic-buck4-uses-gpio-dvs: false
|
||||
|
||||
- if:
|
||||
required:
|
||||
- s5m8767,pmic-buck4-uses-gpio-dvs
|
||||
then:
|
||||
properties:
|
||||
s5m8767,pmic-buck2-uses-gpio-dvs: false
|
||||
s5m8767,pmic-buck3-uses-gpio-dvs: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@66 {
|
||||
compatible = "samsung,s5m8767-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
interrupt-parent = <&gpx3>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
|
||||
wakeup-source;
|
||||
|
||||
s5m8767,pmic-buck-default-dvs-idx = <3>;
|
||||
s5m8767,pmic-buck2-uses-gpio-dvs;
|
||||
|
||||
s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>,
|
||||
<&gpd1 1 GPIO_ACTIVE_LOW>,
|
||||
<&gpd1 2 GPIO_ACTIVE_LOW>;
|
||||
|
||||
s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>,
|
||||
<&gpx2 4 GPIO_ACTIVE_LOW>,
|
||||
<&gpx2 5 GPIO_ACTIVE_LOW>;
|
||||
|
||||
s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>,
|
||||
<1250000>, <1200000>,
|
||||
<1150000>, <1100000>,
|
||||
<1000000>, <950000>;
|
||||
|
||||
s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
|
||||
<1100000>, <1100000>,
|
||||
<1000000>, <1000000>,
|
||||
<1000000>, <1000000>;
|
||||
|
||||
s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
|
||||
<1200000>, <1200000>,
|
||||
<1200000>, <1200000>,
|
||||
<1200000>, <1200000>;
|
||||
|
||||
clocks {
|
||||
compatible = "samsung,s5m8767-clk";
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt";
|
||||
};
|
||||
|
||||
regulators {
|
||||
LDO1 {
|
||||
regulator-name = "VDD_ALIVE";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
op_mode = <1>; /* Normal Mode */
|
||||
};
|
||||
|
||||
// ...
|
||||
|
||||
BUCK1 {
|
||||
regulator-name = "VDD_MIF";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
op_mode = <1>; /* Normal Mode */
|
||||
};
|
||||
|
||||
BUCK2 {
|
||||
regulator-name = "VDD_ARM";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
op_mode = <1>; /* Normal Mode */
|
||||
};
|
||||
|
||||
// ...
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@66 {
|
||||
compatible = "samsung,s5m8767-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
interrupt-parent = <&gpx3>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
|
||||
wakeup-source;
|
||||
|
||||
s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>,
|
||||
<&gpx2 4 GPIO_ACTIVE_LOW>,
|
||||
<&gpx2 5 GPIO_ACTIVE_LOW>;
|
||||
|
||||
clocks {
|
||||
compatible = "samsung,s5m8767-clk";
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt";
|
||||
};
|
||||
|
||||
regulators {
|
||||
LDO1 {
|
||||
regulator-name = "VDD_ALIVE";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
op_mode = <1>; /* Normal Mode */
|
||||
};
|
||||
|
||||
// ...
|
||||
};
|
||||
};
|
||||
};
|
@ -1,86 +0,0 @@
|
||||
Binding for Samsung S2M and S5M family multi-function device
|
||||
============================================================
|
||||
|
||||
This is a part of device tree bindings for S2M and S5M family multi-function
|
||||
devices.
|
||||
|
||||
The Samsung S2MPA01, S2MPS11/13/14/15, S2MPU02 and S5M8767 is a family
|
||||
of multi-function devices which include voltage and current regulators, RTC,
|
||||
charger controller, clock outputs and other sub-blocks. It is interfaced
|
||||
to the host controller using an I2C interface. Each sub-block is usually
|
||||
addressed by the host system using different I2C slave addresses.
|
||||
|
||||
|
||||
This document describes bindings for main device node. Optional sub-blocks
|
||||
must be a sub-nodes to it. Bindings for them can be found in:
|
||||
- bindings/regulator/samsung,s2mpa01.txt
|
||||
- bindings/regulator/samsung,s2mps11.txt
|
||||
- bindings/regulator/samsung,s5m8767.txt
|
||||
- bindings/clock/samsung,s2mps11.txt
|
||||
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the following
|
||||
- "samsung,s2mpa01-pmic",
|
||||
- "samsung,s2mps11-pmic",
|
||||
- "samsung,s2mps13-pmic",
|
||||
- "samsung,s2mps14-pmic",
|
||||
- "samsung,s2mps15-pmic",
|
||||
- "samsung,s2mpu02-pmic",
|
||||
- "samsung,s5m8767-pmic".
|
||||
- reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
|
||||
|
||||
Optional properties:
|
||||
- interrupts: Interrupt specifiers for interrupt sources.
|
||||
- samsung,s2mps11-wrstbi-ground: 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).
|
||||
- samsung,s2mps11-acokb-ground: 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.
|
||||
|
||||
Example:
|
||||
|
||||
s2mps11_pmic@66 {
|
||||
compatible = "samsung,s2mps11-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
s2m_osc: clocks {
|
||||
compatible = "samsung,s2mps11-clk";
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "xx", "yy", "zz";
|
||||
};
|
||||
|
||||
regulators {
|
||||
ldo1_reg: LDO1 {
|
||||
regulator-name = "VDD_ABB_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo2_reg: LDO2 {
|
||||
regulator-name = "VDD_ALIVE_1.1V";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-ramp-delay = <50000>;
|
||||
};
|
||||
};
|
||||
};
|
@ -16504,7 +16504,7 @@ L: linux-samsung-soc@vger.kernel.org
|
||||
S: Supported
|
||||
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,s5m*.yaml
|
||||
F: Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml
|
||||
F: Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml
|
||||
F: drivers/clk/clk-s2mps11.c
|
||||
|
Loading…
Reference in New Issue
Block a user