linux-samsung-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema
@ 2021-10-01  9:40 Krzysztof Kozlowski
  2021-10-01  9:40 ` [PATCH v2 01/10] regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled Krzysztof Kozlowski
                   ` (10 more replies)
  0 siblings, 11 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:40 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

Hi All,

Changes since v1
================
1. Drop DTS patches - applied.
2. Fully remove bindings/regulator/samsung,s5m8767.txt .
3. Minor subject reformatting and few typos in text.


Intro
=====
This patchset converts all devicetree bindings of Samsung S2M and S5M
PMIC devices from txt to dtschema.

It includes also two fixes because later conversion depends on it
(contextually).


Merging/dependencies
====================
1. Regulator related binding changes depend on first two commits (the
   fixes), because of context.
2. The mfd bindings depend on clock and regulator bindings.

The fixes and bindings changes (patches 1-10) should go via the same
tree.  For example regulator or mfd tree.  I propose the regulator tree,
since it will have also one driver change (the fix, first commit).


Overview of devices
===================
Essentially all Samsung S2M and S5M PMICs are very similar devices. They
provide the same functionality: regulators, RTC, 2 or 3 clocks and main
power management (e.g. power cut to SoC).

The differences are mostly in registers layout and number of regulators.

The drivers are built around one common part, mfd/sec-core.c, and share
some drivers between devices:
1. MFD sec-core for all devices,
1. one clock driver for most of devices,
2. one RTC driver for all devices,
3. three regulator drivers.

The regulator drivers were implementing slightly different features,
therefore one regulator binding for all devices does not make much
sense.  However the clock device binding can be shared.

The final dtschema bindings try to implement this - share only the clock
bindings.

Best regards,
Krzysztof

Krzysztof Kozlowski (10):
  regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS
    is disabled
  regulator: dt-bindings: samsung,s5m8767: correct
    s5m8767,pmic-buck-default-dvs-idx property
  dt-bindings: clock: samsung,s2mps11: convert to dtschema
  regulator: dt-bindings: samsung,s2m: convert to dtschema
  regulator: dt-bindings: samsung,s2mpa01: convert to dtschema
  regulator: dt-bindings: samsung,s5m8767: convert to dtschema
  dt-bindings: mfd: samsung,s2mps11: convert to dtschema
  dt-bindings: mfd: samsung,s2mpa01: convert to dtschema
  dt-bindings: mfd: samsung,s5m8767: convert to dtschema
  dt-bindings: mfd: samsung,s5m8767: document buck and LDO supplies

 .../bindings/clock/samsung,s2mps11.txt        |  49 ---
 .../bindings/clock/samsung,s2mps11.yaml       |  45 +++
 .../bindings/mfd/samsung,s2mpa01.yaml         |  91 ++++++
 .../bindings/mfd/samsung,s2mps11.yaml         | 267 +++++++++++++++
 .../bindings/mfd/samsung,s5m8767.yaml         | 307 ++++++++++++++++++
 .../bindings/mfd/samsung,sec-core.txt         |  86 -----
 .../bindings/regulator/samsung,s2mpa01.txt    |  79 -----
 .../bindings/regulator/samsung,s2mpa01.yaml   |  69 ++++
 .../bindings/regulator/samsung,s2mps11.txt    | 102 ------
 .../bindings/regulator/samsung,s2mps11.yaml   |  52 +++
 .../bindings/regulator/samsung,s2mps13.yaml   |  52 +++
 .../bindings/regulator/samsung,s2mps14.yaml   |  52 +++
 .../bindings/regulator/samsung,s2mps15.yaml   |  52 +++
 .../bindings/regulator/samsung,s2mpu02.yaml   |  52 +++
 .../bindings/regulator/samsung,s5m8767.txt    | 145 ---------
 .../bindings/regulator/samsung,s5m8767.yaml   |  83 +++++
 MAINTAINERS                                   |   9 +-
 drivers/regulator/s5m8767.c                   |  21 +-
 18 files changed, 1136 insertions(+), 477 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/clock/samsung,s2mps11.txt
 create mode 100644 Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
 delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpa01.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpa01.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps11.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps11.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps13.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps15.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpu02.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml

-- 
2.30.2


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 01/10] regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
@ 2021-10-01  9:40 ` Krzysztof Kozlowski
  2021-10-04 14:30   ` Rob Herring
  2021-10-01  9:40 ` [PATCH v2 02/10] regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property Krzysztof Kozlowski
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:40 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc
  Cc: stable

The driver and its bindings, before commit 04f9f068a619 ("regulator:
s5m8767: Modify parsing method of the voltage table of buck2/3/4") were
requiring to provide at least one safe/default voltage for DVS registers
if DVS GPIO is not being enabled.

IOW, if s5m8767,pmic-buck2-uses-gpio-dvs is missing, the
s5m8767,pmic-buck2-dvs-voltage should still be present and contain one
voltage.

This requirement was coming from driver behavior matching this condition
(none of DVS GPIO is enabled): it was always initializing the DVS
selector pins to 0 and keeping the DVS enable setting at reset value
(enabled).  Therefore if none of DVS GPIO is enabled in devicetree,
driver was configuring the first DVS voltage for buck[234].

Mentioned commit 04f9f068a619 ("regulator: s5m8767: Modify parsing
method of the voltage table of buck2/3/4") broke it because DVS voltage
won't be parsed from devicetree if DVS GPIO is not enabled.  After the
change, driver will configure bucks to use the register reset value as
voltage which might have unpleasant effects.

Fix this by relaxing the bindings constrain: if DVS GPIO is not enabled
in devicetree (therefore DVS voltage is also not parsed), explicitly
disable it.

Cc: <stable@vger.kernel.org>
Fixes: 04f9f068a619 ("regulator: s5m8767: Modify parsing method of the voltage table of buck2/3/4")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 .../bindings/regulator/samsung,s5m8767.txt    | 21 +++++++------------
 drivers/regulator/s5m8767.c                   | 21 ++++++++-----------
 2 files changed, 17 insertions(+), 25 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
index 093edda0c8df..d9cff1614f7a 100644
--- a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
+++ b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
@@ -13,6 +13,14 @@ common regulator binding documented in:
 
 
 Required properties of the main device node (the parent!):
+ - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
+   for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
+
+ [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
+     property is specified, then all the eight voltage values for the
+     's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
+
+Optional properties of the main device node (the parent!):
  - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
    units for buck2 when changing voltage using gpio dvs. Refer to [1] below
    for additional information.
@@ -25,19 +33,6 @@ Required properties of the main device node (the parent!):
    units for buck4 when changing voltage using gpio dvs. Refer to [1] below
    for additional information.
 
- - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
-   for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
-
- [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
-     property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage'
-     property should specify atleast one voltage level (which would be a
-     safe operating voltage).
-
-     If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
-     property is specified, then all the eight voltage values for the
-     's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
-
-Optional properties of the main device node (the parent!):
  - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
  - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
  - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
diff --git a/drivers/regulator/s5m8767.c b/drivers/regulator/s5m8767.c
index 7c111bbdc2af..35269f998210 100644
--- a/drivers/regulator/s5m8767.c
+++ b/drivers/regulator/s5m8767.c
@@ -850,18 +850,15 @@ static int s5m8767_pmic_probe(struct platform_device *pdev)
 	/* DS4 GPIO */
 	gpio_direction_output(pdata->buck_ds[2], 0x0);
 
-	if (pdata->buck2_gpiodvs || pdata->buck3_gpiodvs ||
-	   pdata->buck4_gpiodvs) {
-		regmap_update_bits(s5m8767->iodev->regmap_pmic,
-				S5M8767_REG_BUCK2CTRL, 1 << 1,
-				(pdata->buck2_gpiodvs) ? (1 << 1) : (0 << 1));
-		regmap_update_bits(s5m8767->iodev->regmap_pmic,
-				S5M8767_REG_BUCK3CTRL, 1 << 1,
-				(pdata->buck3_gpiodvs) ? (1 << 1) : (0 << 1));
-		regmap_update_bits(s5m8767->iodev->regmap_pmic,
-				S5M8767_REG_BUCK4CTRL, 1 << 1,
-				(pdata->buck4_gpiodvs) ? (1 << 1) : (0 << 1));
-	}
+	regmap_update_bits(s5m8767->iodev->regmap_pmic,
+			   S5M8767_REG_BUCK2CTRL, 1 << 1,
+			   (pdata->buck2_gpiodvs) ? (1 << 1) : (0 << 1));
+	regmap_update_bits(s5m8767->iodev->regmap_pmic,
+			   S5M8767_REG_BUCK3CTRL, 1 << 1,
+			   (pdata->buck3_gpiodvs) ? (1 << 1) : (0 << 1));
+	regmap_update_bits(s5m8767->iodev->regmap_pmic,
+			   S5M8767_REG_BUCK4CTRL, 1 << 1,
+			   (pdata->buck4_gpiodvs) ? (1 << 1) : (0 << 1));
 
 	/* Initialize GPIO DVS registers */
 	for (i = 0; i < 8; i++) {
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 02/10] regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
  2021-10-01  9:40 ` [PATCH v2 01/10] regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled Krzysztof Kozlowski
@ 2021-10-01  9:40 ` Krzysztof Kozlowski
  2021-10-04 14:30   ` Rob Herring
  2021-10-01  9:40 ` [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema Krzysztof Kozlowski
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:40 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc
  Cc: stable

The driver was always parsing "s5m8767,pmic-buck-default-dvs-idx", not
"s5m8767,pmic-buck234-default-dvs-idx".

Cc: <stable@vger.kernel.org>
Fixes: 26aec009f6b6 ("regulator: add device tree support for s5m8767")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
index d9cff1614f7a..6cd83d920155 100644
--- a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
+++ b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
@@ -39,7 +39,7 @@ Optional properties of the main device node (the parent!):
 
 Additional properties required if either of the optional properties are used:
 
- - s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from
+ - s5m8767,pmic-buck-default-dvs-idx: 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.
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
  2021-10-01  9:40 ` [PATCH v2 01/10] regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled Krzysztof Kozlowski
  2021-10-01  9:40 ` [PATCH v2 02/10] regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property Krzysztof Kozlowski
@ 2021-10-01  9:40 ` Krzysztof Kozlowski
  2021-10-04 14:32   ` Rob Herring
  2021-10-08  1:00   ` Stephen Boyd
  2021-10-01  9:41 ` [PATCH v2 04/10] regulator: dt-bindings: samsung,s2m: " Krzysztof Kozlowski
                   ` (7 subsequent siblings)
  10 siblings, 2 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:40 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

Convert the clock provider of Samsung S2MPS11 family of PMICs to DT
schema format.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 .../bindings/clock/samsung,s2mps11.txt        | 49 -------------------
 .../bindings/clock/samsung,s2mps11.yaml       | 45 +++++++++++++++++
 MAINTAINERS                                   |  2 +-
 3 files changed, 46 insertions(+), 50 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/clock/samsung,s2mps11.txt
 create mode 100644 Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml

diff --git a/Documentation/devicetree/bindings/clock/samsung,s2mps11.txt b/Documentation/devicetree/bindings/clock/samsung,s2mps11.txt
deleted file mode 100644
index 2726c1d58a79..000000000000
--- a/Documentation/devicetree/bindings/clock/samsung,s2mps11.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-Binding for Samsung S2M and S5M family clock generator block
-============================================================
-
-This is a part of device tree bindings for S2M and S5M family multi-function
-devices.
-More information can be found in bindings/mfd/sec-core.txt file.
-
-The S2MPS11/13/15 and S5M8767 provide three(AP/CP/BT) buffered 32.768 kHz
-outputs. The S2MPS14 provides two (AP/BT) buffered 32.768 KHz outputs.
-
-To register these as clocks with common clock framework instantiate under
-main device node a sub-node named "clocks".
-
-It uses the common clock binding documented in:
- - Documentation/devicetree/bindings/clock/clock-bindings.txt
-
-
-Required properties of the "clocks" sub-node:
- - #clock-cells: should be 1.
- - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk",
-               "samsung,s2mps14-clk", "samsung,s5m8767-clk"
-   The S2MPS15 uses the same compatible as S2MPS13, as both provides similar
-   clocks.
-
-
-Each clock is assigned an identifier and client nodes use this identifier
-to specify the clock which they consume.
-    Clock               ID           Devices
-    ----------------------------------------------------------
-    32KhzAP		0            S2MPS11/13/14/15, S5M8767
-    32KhzCP		1            S2MPS11/13/15, S5M8767
-    32KhzBT		2            S2MPS11/13/14/15, S5M8767
-
-Include dt-bindings/clock/samsung,s2mps11.h file to use preprocessor defines
-in device tree sources.
-
-
-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";
-		};
-	};
diff --git a/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
new file mode 100644
index 000000000000..1410c51e0e7d
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/samsung,s2mps11.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2M and S5M family clock generator block
+
+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 S2MPS11/13/15 and S5M8767 provide three(AP/CP/BT) buffered 32.768 kHz
+  outputs. The S2MPS14 provides two (AP/BT) buffered 32.768 KHz outputs.
+
+  All available clocks are defined as preprocessor macros in
+  dt-bindings/clock/samsung,s2mps11.h header.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
+  additional information and example.
+
+properties:
+  compatible:
+    enum:
+      - samsung,s2mps11-clk
+      - samsung,s2mps13-clk # S2MPS13 and S2MPS15
+      - samsung,s2mps14-clk
+      - samsung,s5m8767-clk
+
+  "#clock-cells":
+    const: 1
+
+  clock-output-names:
+    minItems: 3
+    maxItems: 3
+    description: Names for AP, CP and BT clocks.
+
+required:
+  - compatible
+  - "#clock-cells"
+
+additionalProperties: false
diff --git a/MAINTAINERS b/MAINTAINERS
index 0f28fb4b4e5c..241fe78a3282 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16599,7 +16599,7 @@ M:	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
 L:	linux-kernel@vger.kernel.org
 L:	linux-samsung-soc@vger.kernel.org
 S:	Supported
-F:	Documentation/devicetree/bindings/clock/samsung,s2mps11.txt
+F:	Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
 F:	Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
 F:	Documentation/devicetree/bindings/regulator/samsung,s2m*.txt
 F:	Documentation/devicetree/bindings/regulator/samsung,s5m*.txt
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 04/10] regulator: dt-bindings: samsung,s2m: convert to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (2 preceding siblings ...)
  2021-10-01  9:40 ` [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema Krzysztof Kozlowski
@ 2021-10-01  9:41 ` Krzysztof Kozlowski
  2021-10-04 14:34   ` Rob Herring
  2021-10-01  9:41 ` [PATCH v2 05/10] regulator: dt-bindings: samsung,s2mpa01: " Krzysztof Kozlowski
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:41 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

Convert the regulators of Samsung
S2MPS11/S2MPS13/S2MPS14/S2MPS15/S2MPU02 family of PMICs to DT schema
format.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 .../bindings/regulator/samsung,s2mps11.txt    | 102 ------------------
 .../bindings/regulator/samsung,s2mps11.yaml   |  52 +++++++++
 .../bindings/regulator/samsung,s2mps13.yaml   |  52 +++++++++
 .../bindings/regulator/samsung,s2mps14.yaml   |  52 +++++++++
 .../bindings/regulator/samsung,s2mps15.yaml   |  52 +++++++++
 .../bindings/regulator/samsung,s2mpu02.yaml   |  52 +++++++++
 MAINTAINERS                                   |   2 +-
 7 files changed, 261 insertions(+), 103 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps11.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps11.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps13.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps15.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpu02.yaml

diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mps11.txt b/Documentation/devicetree/bindings/regulator/samsung,s2mps11.txt
deleted file mode 100644
index 27a48bf1b185..000000000000
--- a/Documentation/devicetree/bindings/regulator/samsung,s2mps11.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-Binding for Samsung S2M family regulator block
-==============================================
-
-This is a part of device tree bindings for S2M family multi-function devices.
-More information can be found in bindings/mfd/sec-core.txt file.
-
-The S2MPS11/13/14/15 and S2MPU02 devices provide buck and LDO regulators.
-
-To register these with regulator framework instantiate under main device node
-a sub-node named "regulators" with more sub-nodes for each regulator using the
-common regulator binding documented in:
- - Documentation/devicetree/bindings/regulator/regulator.txt
-
-
-Names of regulators supported by different devices:
-	- LDOn
-		  - valid values for n are:
-			- S2MPS11: 1 to 38
-			- S2MPS13: 1 to 40
-			- S2MPS14: 1 to 25
-			- S2MPS15: 1 to 27
-			- S2MPU02: 1 to 28
-		  - Example: LDO1, LDO2, LDO28
-	- BUCKn
-		  - valid values for n are:
-			- S2MPS11: 1 to 10
-			- S2MPS13: 1 to 10
-			- S2MPS14: 1 to 5
-			- S2MPS15: 1 to 10
-			- S2MPU02: 1 to 7
-		  - Example: BUCK1, BUCK2, BUCK9
-Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
-as per the datasheet of device.
-
-
-Optional properties of the nodes under "regulators" sub-node:
- - regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500,
-   25000 (default) or 50000.
-
-   Additionally S2MPS11 supports disabling ramp delay for BUCK{2,3,4,6}
-   by setting it to <0>.
-
-   Note: On S2MPS11 some bucks share the ramp rate setting i.e. same ramp value
-   will be set for a particular group of bucks so provide the same
-   regulator-ramp-delay value for them.
-   Groups sharing ramp rate:
-    - buck{1,6},
-    - buck{3,4},
-    - buck{7,8,10}.
-
- - samsung,ext-control-gpios: On S2MPS14 the LDO10, LDO11 and LDO12 can be
-   configured to external control over GPIO. To turn this feature on this
-   property must be added to the regulator sub-node:
-    - samsung,ext-control-gpios: GPIO specifier for one GPIO
-                                 controlling this regulator (enable/disable)
-  Example:
-	LDO12 {
-		regulator-name = "V_EMMC_2.8V";
-		regulator-min-microvolt = <2800000>;
-		regulator-max-microvolt = <2800000>;
-		samsung,ext-control-gpios = <&gpk0 2 0>;
-	};
-
-
-Example:
-
-	s2mps11_pmic@66 {
-		compatible = "samsung,s2mps11-pmic";
-		reg = <0x66>;
-
-		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>;
-			};
-		};
-	};
diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/regulator/samsung,s2mps11.yaml
new file mode 100644
index 000000000000..44624815c8e6
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/samsung,s2mps11.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/samsung,s2mps11.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPS11 Power Management IC regulators
+
+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 S2MPS11 provides buck and LDO regulators.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
+  additional information and example.
+
+patternProperties:
+  # 38 LDOs
+  "^LDO([1-9]|[1-2][0-9]|3[0-8])$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 10 bucks
+  "^BUCK([1-9]|10)$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mps13.yaml b/Documentation/devicetree/bindings/regulator/samsung,s2mps13.yaml
new file mode 100644
index 000000000000..6f5cd5cc8482
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/samsung,s2mps13.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/samsung,s2mps13.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPS13 Power Management IC regulators
+
+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 S2MPS13 provides buck and LDO regulators.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
+  additional information and example.
+
+patternProperties:
+  # 40 LDOs
+  "^LDO([1-9]|[1-3][0-9]|40)$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 10 bucks
+  "^BUCK([1-9]|10)$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml b/Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml
new file mode 100644
index 000000000000..227555b69fa1
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/samsung,s2mps14.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPS14 Power Management IC regulators
+
+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 S2MPS14 provides buck and LDO regulators.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
+  additional information and example.
+
+patternProperties:
+  # 25 LDOs
+  "^LDO([1-9]|[1][0-9]|2[0-5])$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 5 bucks
+  "^BUCK[1-5]$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mps15.yaml b/Documentation/devicetree/bindings/regulator/samsung,s2mps15.yaml
new file mode 100644
index 000000000000..f989f9ef999b
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/samsung,s2mps15.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/samsung,s2mps15.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPS15 Power Management IC regulators
+
+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 S2MPS15 provides buck and LDO regulators.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
+  additional information and example.
+
+patternProperties:
+  # 27 LDOs
+  "^LDO([1-9]|[1][0-9]|2[0-7])$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 10 bucks
+  "^BUCK([1-9]|10)$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mpu02.yaml b/Documentation/devicetree/bindings/regulator/samsung,s2mpu02.yaml
new file mode 100644
index 000000000000..2d0c00e3a54a
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/samsung,s2mpu02.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/samsung,s2mpu02.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPU02 Power Management IC regulators
+
+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 S2MPU02 provides buck and LDO regulators.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
+  additional information and example.
+
+patternProperties:
+  # 28 LDOs
+  "^LDO([1-9]|1[0-9]|2[0-8])$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 7 bucks
+  "^BUCK[1-7]$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false
diff --git a/MAINTAINERS b/MAINTAINERS
index 241fe78a3282..ee486357cf45 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16601,7 +16601,7 @@ L:	linux-samsung-soc@vger.kernel.org
 S:	Supported
 F:	Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
 F:	Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
-F:	Documentation/devicetree/bindings/regulator/samsung,s2m*.txt
+F:	Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml
 F:	Documentation/devicetree/bindings/regulator/samsung,s5m*.txt
 F:	drivers/clk/clk-s2mps11.c
 F:	drivers/mfd/sec*.c
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 05/10] regulator: dt-bindings: samsung,s2mpa01: convert to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (3 preceding siblings ...)
  2021-10-01  9:41 ` [PATCH v2 04/10] regulator: dt-bindings: samsung,s2m: " Krzysztof Kozlowski
@ 2021-10-01  9:41 ` Krzysztof Kozlowski
  2021-10-04 14:35   ` Rob Herring
  2021-10-01  9:41 ` [PATCH v2 06/10] regulator: dt-bindings: samsung,s5m8767: " Krzysztof Kozlowski
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:41 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

Convert the regulators of Samsung S2MPA01 PMIC to DT schema format.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 .../bindings/regulator/samsung,s2mpa01.txt    | 79 -------------------
 .../bindings/regulator/samsung,s2mpa01.yaml   | 69 ++++++++++++++++
 2 files changed, 69 insertions(+), 79 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpa01.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpa01.yaml

diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mpa01.txt b/Documentation/devicetree/bindings/regulator/samsung,s2mpa01.txt
deleted file mode 100644
index bae3c7f838cf..000000000000
--- a/Documentation/devicetree/bindings/regulator/samsung,s2mpa01.txt
+++ /dev/null
@@ -1,79 +0,0 @@
-Binding for Samsung S2MPA01 regulator block
-===========================================
-
-This is a part of device tree bindings for S2M family multi-function devices.
-More information can be found in bindings/mfd/sec-core.txt file.
-
-The S2MPA01 device provide buck and LDO regulators.
-
-To register these with regulator framework instantiate under main device node
-a sub-node named "regulators" with more sub-nodes for each regulator using the
-common regulator binding documented in:
- - Documentation/devicetree/bindings/regulator/regulator.txt
-
-
-Names of regulators supported by S2MPA01 device:
-	- LDOn
-		  - valid values for n are 1 to 26
-		  - Example: LDO1, LD02, LDO26
-	- BUCKn
-		  - valid values for n are 1 to 10.
-		  - Example: BUCK1, BUCK2, BUCK9
-Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
-as per the datasheet of device.
-
-
-Optional properties of buck regulator nodes under "regulators" sub-node:
- - regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500
-   (default), 25000, or 50000. May be 0 for disabling the ramp delay on
-   BUCK{1,2,3,4}.
-
-   In the absence of the regulator-ramp-delay property, the default ramp
-   delay will be used.
-
-   Note: Some bucks share the ramp rate setting i.e. same ramp value
-   will be set for a particular group of bucks so provide the same
-   regulator-ramp-delay value for them.
-   Groups sharing ramp rate:
-    - buck{1,6},
-    - buck{2,4},
-    - buck{8,9,10}.
-
-Example:
-
-	s2mpa01_pmic@66 {
-		compatible = "samsung,s2mpa01-pmic";
-		reg = <0x66>;
-
-		regulators {
-			ldo1_reg: LDO1 {
-				regulator-name = "VDD_ALIVE";
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <1000000>;
-			};
-
-			ldo2_reg: LDO2 {
-				regulator-name = "VDDQ_MMC2";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-				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>;
-			};
-		};
-	};
diff --git a/Documentation/devicetree/bindings/regulator/samsung,s2mpa01.yaml b/Documentation/devicetree/bindings/regulator/samsung,s2mpa01.yaml
new file mode 100644
index 000000000000..f2c39d183263
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/samsung,s2mpa01.yaml
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/samsung,s2mpa01.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPA01 Power Management IC regulators
+
+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 S2MPA01 provides buck and LDO regulators.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml for
+  additional information and example.
+
+patternProperties:
+  # 26 LDOs
+  "^LDO([1-9]|1[0-9]|2[0-6])$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 10 bucks
+  "^BUCK([1-9]|10)$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+      regulator-ramp-delay:
+        enum: [0, 6250, 12500, 25000, 50000]
+        default: 12500
+        description: |
+          May be 0 for disabling the ramp delay on BUCK{1,2,3,4}.
+
+          In the absence of the regulator-ramp-delay property, the default ramp
+          delay will be used.
+
+          Note: Some bucks share the ramp rate setting i.e. same ramp value
+          will be set for a particular group of bucks so provide the same
+          regulator-ramp-delay value for them.
+          Groups sharing ramp rate:
+            * buck{1,6},
+            * buck{2,4},
+            * buck{8,9,10}.
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 06/10] regulator: dt-bindings: samsung,s5m8767: convert to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (4 preceding siblings ...)
  2021-10-01  9:41 ` [PATCH v2 05/10] regulator: dt-bindings: samsung,s2mpa01: " Krzysztof Kozlowski
@ 2021-10-01  9:41 ` Krzysztof Kozlowski
  2021-10-04 14:41   ` Rob Herring
  2021-10-01  9:41 ` [PATCH v2 07/10] dt-bindings: mfd: samsung,s2mps11: " Krzysztof Kozlowski
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:41 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

Convert the regulators of Samsung S5M8767 PMIC to DT schema format.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 .../bindings/regulator/samsung,s5m8767.txt    | 140 ------------------
 .../bindings/regulator/samsung,s5m8767.yaml   |  83 +++++++++++
 MAINTAINERS                                   |   2 +-
 3 files changed, 84 insertions(+), 141 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml

diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
deleted file mode 100644
index 6cd83d920155..000000000000
--- a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
+++ /dev/null
@@ -1,140 +0,0 @@
-Binding for Samsung S5M8767 regulator block
-===========================================
-
-This is a part of device tree bindings for S5M family multi-function devices.
-More information can be found in bindings/mfd/sec-core.txt file.
-
-The S5M8767 device provide buck and LDO regulators.
-
-To register these with regulator framework instantiate under main device node
-a sub-node named "regulators" with more sub-nodes for each regulator using the
-common regulator binding documented in:
- - Documentation/devicetree/bindings/regulator/regulator.txt
-
-
-Required properties of the main device node (the parent!):
- - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
-   for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
-
- [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
-     property is specified, then all the eight voltage values for the
-     's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
-
-Optional properties of the main device node (the parent!):
- - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
-   units for buck2 when changing voltage using gpio dvs. Refer to [1] below
-   for additional information.
-
- - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
-   units for buck3 when changing voltage using gpio dvs. Refer to [1] below
-   for additional information.
-
- - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
-   units for buck4 when changing voltage using gpio dvs. Refer to [1] below
-   for additional information.
-
- - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
- - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
- - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
-
-Additional properties required if either of the optional properties are used:
-
- - s5m8767,pmic-buck-default-dvs-idx: 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: GPIO specifiers for three host gpio's used
-   for dvs. The format of the gpio specifier depends in the gpio controller.
-
-
-Names of regulators supported by S5M8767 device:
-	- LDOn
-		  - valid values for n are 1 to 28
-		  - Example: LDO1, LDO2, LDO28
-	- BUCKn
-		  - valid values for n are 1 to 9.
-		  - Example: BUCK1, BUCK2, BUCK9
-Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
-as per the datasheet of device.
-
-
-Optional properties of the nodes under "regulators" sub-node:
- - op_mode: describes the different operating modes of the LDO's with
-            power mode change in SOC. The different possible values are,
-             0 - always off mode
-             1 - on in normal mode
-             2 - low power mode
-             3 - suspend mode
- - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one
-                                   GPIO controlling this regulator
-                                   (enable/disable); This is valid only
-                                   for buck9.
-
-Example:
-
-	s5m8767_pmic@66 {
-		compatible = "samsung,s5m8767-pmic";
-		reg = <0x66>;
-
-		s5m8767,pmic-buck2-uses-gpio-dvs;
-		s5m8767,pmic-buck3-uses-gpio-dvs;
-		s5m8767,pmic-buck4-uses-gpio-dvs;
-
-		s5m8767,pmic-buck-default-dvs-idx = <0>;
-
-		s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */
-						 <&gpx0 1 0>, /* DVS2 */
-						 <&gpx0 2 0>; /* DVS3 */
-
-		s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */
-						<&gpx2 4 0>, /* SET2 */
-						<&gpx2 5 0>; /* SET3 */
-
-		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>;
-
-		regulators {
-			ldo1_reg: LDO1 {
-				regulator-name = "VDD_ABB_3.3V";
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <3300000>;
-				op_mode = <1>; /* Normal Mode */
-			};
-
-			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_1.2V";
-				regulator-min-microvolt = <950000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-always-on;
-				regulator-boot-on;
-			};
-
-			vemmc_reg: BUCK9 {
-				regulator-name = "VMEM_VDD_2.8V";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-				op_mode = <3>; /* Standby Mode */
-				s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>;
-			};
-		};
-	};
diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
new file mode 100644
index 000000000000..3192a06b5ef9
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/samsung,s5m8767.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S5M8767 Power Management IC regulators
+
+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 S5M8767 provides buck and LDO regulators.
+
+  See also Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml for
+  additional information and example.
+
+patternProperties:
+  # 28 LDOs
+  "^LDO([1-9]|1[0-9]|2[0-8])$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      regulator-name: true
+
+      op_mode:
+        enum: [0, 1, 2, 3]
+        default: 1
+        description: |
+          Describes the different operating modes of the LDO's with power mode
+          change in SOC. The different possible values are:
+            0 - always off mode
+            1 - on in normal mode
+            2 - low power mode
+            3 - suspend mode
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 8 bucks
+  "^BUCK[1-8]$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+  # 9 buck
+  "^BUCK9$":
+    type: object
+    $ref: regulator.yaml#
+    description:
+      Properties for single BUCK regulator.
+
+    properties:
+      regulator-name: true
+
+      s5m8767,pmic-ext-control-gpios:
+        maxItems: 1
+        description: |
+          GPIO specifier for one GPIO controlling this regulator on/off.
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false
diff --git a/MAINTAINERS b/MAINTAINERS
index ee486357cf45..5a7cb990b182 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16602,7 +16602,7 @@ S:	Supported
 F:	Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
 F:	Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
 F:	Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml
-F:	Documentation/devicetree/bindings/regulator/samsung,s5m*.txt
+F:	Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml
 F:	drivers/clk/clk-s2mps11.c
 F:	drivers/mfd/sec*.c
 F:	drivers/regulator/s2m*.c
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 07/10] dt-bindings: mfd: samsung,s2mps11: convert to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (5 preceding siblings ...)
  2021-10-01  9:41 ` [PATCH v2 06/10] regulator: dt-bindings: samsung,s5m8767: " Krzysztof Kozlowski
@ 2021-10-01  9:41 ` Krzysztof Kozlowski
  2021-10-04 14:42   ` Rob Herring
  2021-10-01  9:41 ` [PATCH v2 08/10] dt-bindings: mfd: samsung,s2mpa01: " Krzysztof Kozlowski
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:41 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

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>
---
 .../bindings/mfd/samsung,s2mps11.yaml         | 267 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 268 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml

diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
new file mode 100644
index 000000000000..771b3f16da96
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
@@ -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;
+                    };
+                };
+
+                // ...
+            };
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 5a7cb990b182..2de215d1274c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16600,6 +16600,7 @@ L:	linux-kernel@vger.kernel.org
 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/regulator/samsung,s2m*.yaml
 F:	Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 08/10] dt-bindings: mfd: samsung,s2mpa01: convert to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (6 preceding siblings ...)
  2021-10-01  9:41 ` [PATCH v2 07/10] dt-bindings: mfd: samsung,s2mps11: " Krzysztof Kozlowski
@ 2021-10-01  9:41 ` Krzysztof Kozlowski
  2021-10-04 14:43   ` Rob Herring
  2021-10-01  9:41 ` [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: " Krzysztof Kozlowski
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:41 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

Convert the MFD part of Samsung S2MPA01 PMIC to DT schema format.
Previously the bindings were mostly in mfd/samsung,sec-core.txt.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 .../bindings/mfd/samsung,s2mpa01.yaml         | 91 +++++++++++++++++++
 1 file changed, 91 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml

diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml
new file mode 100644
index 000000000000..017befdf8adb
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml
@@ -0,0 +1,91 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/samsung,s2mpa01.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPA01 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 S2MPA01 is a Power Management IC which includes voltage
+  and current regulators, RTC, clock outputs and other sub-blocks.
+
+properties:
+  compatible:
+    const: samsung,s2mpa01-pmic
+
+  interrupts:
+    maxItems: 1
+
+  reg:
+    maxItems: 1
+
+  regulators:
+    $ref: ../regulator/samsung,s2mpa01.yaml
+    description:
+      List of child nodes that specify the regulators.
+
+  wakeup-source: true
+
+required:
+  - compatible
+  - reg
+  - regulators
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pmic@66 {
+            compatible = "samsung,s2mpa01-pmic";
+            reg = <0x66>;
+
+            regulators {
+                ldo1_reg: LDO1 {
+                    regulator-name = "VDD_ALIVE";
+                    regulator-min-microvolt = <1000000>;
+                    regulator-max-microvolt = <1000000>;
+                };
+
+                ldo2_reg: LDO2 {
+                    regulator-name = "VDDQ_MMC2";
+                    regulator-min-microvolt = <2800000>;
+                    regulator-max-microvolt = <2800000>;
+                    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>;
+                };
+
+                // ...
+            };
+        };
+    };
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: convert to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (7 preceding siblings ...)
  2021-10-01  9:41 ` [PATCH v2 08/10] dt-bindings: mfd: samsung,s2mpa01: " Krzysztof Kozlowski
@ 2021-10-01  9:41 ` Krzysztof Kozlowski
  2021-10-01 11:18   ` Krzysztof Kozlowski
  2021-10-04 14:49   ` Rob Herring
  2021-10-01  9:41 ` [PATCH v2 10/10] dt-bindings: mfd: samsung,s5m8767: document buck and LDO supplies Krzysztof Kozlowski
  2021-10-05 12:14 ` [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Mark Brown
  10 siblings, 2 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:41 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

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>
---
 .../bindings/mfd/samsung,s5m8767.yaml         | 269 ++++++++++++++++++
 .../bindings/mfd/samsung,sec-core.txt         |  86 ------
 MAINTAINERS                                   |   2 +-
 3 files changed, 270 insertions(+), 87 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/samsung,sec-core.txt

diff --git a/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml b/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
new file mode 100644
index 000000000000..b2529a48c890
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
@@ -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 */
+                };
+
+                // ...
+            };
+        };
+    };
diff --git a/Documentation/devicetree/bindings/mfd/samsung,sec-core.txt b/Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
deleted file mode 100644
index c68cdd365153..000000000000
--- a/Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
+++ /dev/null
@@ -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>;
-			};
-		};
-	};
diff --git a/MAINTAINERS b/MAINTAINERS
index 2de215d1274c..39b4ef4b5a95 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16601,7 +16601,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
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH v2 10/10] dt-bindings: mfd: samsung,s5m8767: document buck and LDO supplies
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (8 preceding siblings ...)
  2021-10-01  9:41 ` [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: " Krzysztof Kozlowski
@ 2021-10-01  9:41 ` Krzysztof Kozlowski
  2021-10-04 14:50   ` Rob Herring
  2021-10-05 12:14 ` [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Mark Brown
  10 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01  9:41 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

Document the properties with regulator supplies for bucks and LDOs.  At
least one board uses it (Exynos5250 Arndale).

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 .../bindings/mfd/samsung,s5m8767.yaml         | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml b/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
index b2529a48c890..12dea5aac8b6 100644
--- a/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
+++ b/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
@@ -96,6 +96,44 @@ properties:
     description: |
       GPIO specifiers for three host gpio's used for dvs.
 
+  vinb1-supply:
+    description: Power supply for buck1
+  vinb2-supply:
+    description: Power supply for buck1
+  vinb3-supply:
+    description: Power supply for buck1
+  vinb4-supply:
+    description: Power supply for buck1
+  vinb5-supply:
+    description: Power supply for buck1
+  vinb6-supply:
+    description: Power supply for buck1
+  vinb7-supply:
+    description: Power supply for buck1
+  vinb8-supply:
+    description: Power supply for buck1
+  vinb9-supply:
+    description: Power supply for buck1
+
+  vinl1-supply:
+    description: Power supply for LDO3, LDO10, LDO26, LDO27
+  vinl2-supply:
+    description: Power supply for LDO13, LDO16, LDO25, LDO28
+  vinl3-supply:
+    description: Power supply for LDO11, LDO14
+  vinl4-supply:
+    description: Power supply for LDO4, LDO9
+  vinl5-supply:
+    description: Power supply for LDO12, LDO17, LDO19, LDO23
+  vinl6-supply:
+    description: Power supply for LDO18, LDO20, LDO21, LDO24
+  vinl7-supply:
+    description: Power supply for LDO5, LDO22
+  vinl8-supply:
+    description: Power supply for LDO1, LDO6, LDO7, LDO8, LDO15
+  vinl9-supply:
+    description: Power supply for LDO2
+
   wakeup-source: true
 
 required:
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: convert to dtschema
  2021-10-01  9:41 ` [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: " Krzysztof Kozlowski
@ 2021-10-01 11:18   ` Krzysztof Kozlowski
  2021-10-04 14:49   ` Rob Herring
  1 sibling, 0 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-01 11:18 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring,
	Bartlomiej Zolnierkiewicz, Sylwester Nawrocki, Tomasz Figa,
	Chanwoo Choi, Lee Jones, Liam Girdwood, Mark Brown, linux-clk,
	devicetree, linux-kernel, linux-samsung-soc

On 01/10/2021 11:41, Krzysztof Kozlowski wrote:
> 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>
> ---
>  .../bindings/mfd/samsung,s5m8767.yaml         | 269 ++++++++++++++++++
>  .../bindings/mfd/samsung,sec-core.txt         |  86 ------
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 270 insertions(+), 87 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
> 
> diff --git a/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml b/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
> new file mode 100644
> index 000000000000..b2529a48c890
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
> @@ -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

There is a bug here - it's just uint32.

I will send a v3 later (feel free to review earlier, so I can accumulate
tags/comments).

> +    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.
> +
Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 01/10] regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
  2021-10-01  9:40 ` [PATCH v2 01/10] regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled Krzysztof Kozlowski
@ 2021-10-04 14:30   ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-clk, linux-kernel, Chanwoo Choi, Mark Brown, Liam Girdwood,
	stable, Tomasz Figa, Bartlomiej Zolnierkiewicz,
	linux-samsung-soc, Michael Turquette, Sylwester Nawrocki,
	Lee Jones, Rob Herring, Stephen Boyd, devicetree

On Fri, 01 Oct 2021 11:40:57 +0200, Krzysztof Kozlowski wrote:
> The driver and its bindings, before commit 04f9f068a619 ("regulator:
> s5m8767: Modify parsing method of the voltage table of buck2/3/4") were
> requiring to provide at least one safe/default voltage for DVS registers
> if DVS GPIO is not being enabled.
> 
> IOW, if s5m8767,pmic-buck2-uses-gpio-dvs is missing, the
> s5m8767,pmic-buck2-dvs-voltage should still be present and contain one
> voltage.
> 
> This requirement was coming from driver behavior matching this condition
> (none of DVS GPIO is enabled): it was always initializing the DVS
> selector pins to 0 and keeping the DVS enable setting at reset value
> (enabled).  Therefore if none of DVS GPIO is enabled in devicetree,
> driver was configuring the first DVS voltage for buck[234].
> 
> Mentioned commit 04f9f068a619 ("regulator: s5m8767: Modify parsing
> method of the voltage table of buck2/3/4") broke it because DVS voltage
> won't be parsed from devicetree if DVS GPIO is not enabled.  After the
> change, driver will configure bucks to use the register reset value as
> voltage which might have unpleasant effects.
> 
> Fix this by relaxing the bindings constrain: if DVS GPIO is not enabled
> in devicetree (therefore DVS voltage is also not parsed), explicitly
> disable it.
> 
> Cc: <stable@vger.kernel.org>
> Fixes: 04f9f068a619 ("regulator: s5m8767: Modify parsing method of the voltage table of buck2/3/4")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  .../bindings/regulator/samsung,s5m8767.txt    | 21 +++++++------------
>  drivers/regulator/s5m8767.c                   | 21 ++++++++-----------
>  2 files changed, 17 insertions(+), 25 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 02/10] regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property
  2021-10-01  9:40 ` [PATCH v2 02/10] regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property Krzysztof Kozlowski
@ 2021-10-04 14:30   ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-samsung-soc, Tomasz Figa, Lee Jones, linux-clk, devicetree,
	Michael Turquette, Bartlomiej Zolnierkiewicz, Liam Girdwood,
	stable, linux-kernel, Mark Brown, Chanwoo Choi, Stephen Boyd,
	Sylwester Nawrocki, Rob Herring

On Fri, 01 Oct 2021 11:40:58 +0200, Krzysztof Kozlowski wrote:
> The driver was always parsing "s5m8767,pmic-buck-default-dvs-idx", not
> "s5m8767,pmic-buck234-default-dvs-idx".
> 
> Cc: <stable@vger.kernel.org>
> Fixes: 26aec009f6b6 ("regulator: add device tree support for s5m8767")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema
  2021-10-01  9:40 ` [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema Krzysztof Kozlowski
@ 2021-10-04 14:32   ` Rob Herring
  2021-10-08  1:00   ` Stephen Boyd
  1 sibling, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:32 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Mark Brown, linux-clk, Rob Herring, Liam Girdwood, Lee Jones,
	linux-samsung-soc, linux-kernel, devicetree,
	Bartlomiej Zolnierkiewicz, Sylwester Nawrocki, Tomasz Figa,
	Stephen Boyd, Michael Turquette, Chanwoo Choi

On Fri, 01 Oct 2021 11:40:59 +0200, Krzysztof Kozlowski wrote:
> Convert the clock provider of Samsung S2MPS11 family of PMICs to DT
> schema format.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  .../bindings/clock/samsung,s2mps11.txt        | 49 -------------------
>  .../bindings/clock/samsung,s2mps11.yaml       | 45 +++++++++++++++++
>  MAINTAINERS                                   |  2 +-
>  3 files changed, 46 insertions(+), 50 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/clock/samsung,s2mps11.txt
>  create mode 100644 Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 04/10] regulator: dt-bindings: samsung,s2m: convert to dtschema
  2021-10-01  9:41 ` [PATCH v2 04/10] regulator: dt-bindings: samsung,s2m: " Krzysztof Kozlowski
@ 2021-10-04 14:34   ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:34 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Chanwoo Choi, Tomasz Figa, linux-clk, devicetree,
	linux-samsung-soc, Rob Herring, Bartlomiej Zolnierkiewicz,
	Michael Turquette, linux-kernel, Lee Jones, Stephen Boyd,
	Sylwester Nawrocki, Liam Girdwood, Mark Brown

On Fri, 01 Oct 2021 11:41:00 +0200, Krzysztof Kozlowski wrote:
> Convert the regulators of Samsung
> S2MPS11/S2MPS13/S2MPS14/S2MPS15/S2MPU02 family of PMICs to DT schema
> format.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  .../bindings/regulator/samsung,s2mps11.txt    | 102 ------------------
>  .../bindings/regulator/samsung,s2mps11.yaml   |  52 +++++++++
>  .../bindings/regulator/samsung,s2mps13.yaml   |  52 +++++++++
>  .../bindings/regulator/samsung,s2mps14.yaml   |  52 +++++++++
>  .../bindings/regulator/samsung,s2mps15.yaml   |  52 +++++++++
>  .../bindings/regulator/samsung,s2mpu02.yaml   |  52 +++++++++
>  MAINTAINERS                                   |   2 +-
>  7 files changed, 261 insertions(+), 103 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps11.txt
>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps11.yaml
>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps13.yaml
>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml
>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mps15.yaml
>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpu02.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 05/10] regulator: dt-bindings: samsung,s2mpa01: convert to dtschema
  2021-10-01  9:41 ` [PATCH v2 05/10] regulator: dt-bindings: samsung,s2mpa01: " Krzysztof Kozlowski
@ 2021-10-04 14:35   ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:35 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-kernel, Bartlomiej Zolnierkiewicz, Liam Girdwood,
	Mark Brown, Sylwester Nawrocki, devicetree, Rob Herring,
	Stephen Boyd, Tomasz Figa, linux-clk, Chanwoo Choi,
	Michael Turquette, Lee Jones, linux-samsung-soc

On Fri, 01 Oct 2021 11:41:01 +0200, Krzysztof Kozlowski wrote:
> Convert the regulators of Samsung S2MPA01 PMIC to DT schema format.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  .../bindings/regulator/samsung,s2mpa01.txt    | 79 -------------------
>  .../bindings/regulator/samsung,s2mpa01.yaml   | 69 ++++++++++++++++
>  2 files changed, 69 insertions(+), 79 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpa01.txt
>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s2mpa01.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 06/10] regulator: dt-bindings: samsung,s5m8767: convert to dtschema
  2021-10-01  9:41 ` [PATCH v2 06/10] regulator: dt-bindings: samsung,s5m8767: " Krzysztof Kozlowski
@ 2021-10-04 14:41   ` Rob Herring
  2021-10-04 14:48     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:41 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Michael Turquette, Stephen Boyd, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

On Fri, Oct 01, 2021 at 11:41:02AM +0200, Krzysztof Kozlowski wrote:
> Convert the regulators of Samsung S5M8767 PMIC to DT schema format.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  .../bindings/regulator/samsung,s5m8767.txt    | 140 ------------------
>  .../bindings/regulator/samsung,s5m8767.yaml   |  83 +++++++++++
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 84 insertions(+), 141 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
> 
> diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
> deleted file mode 100644
> index 6cd83d920155..000000000000
> --- a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
> +++ /dev/null
> @@ -1,140 +0,0 @@
> -Binding for Samsung S5M8767 regulator block
> -===========================================
> -
> -This is a part of device tree bindings for S5M family multi-function devices.
> -More information can be found in bindings/mfd/sec-core.txt file.
> -
> -The S5M8767 device provide buck and LDO regulators.
> -
> -To register these with regulator framework instantiate under main device node
> -a sub-node named "regulators" with more sub-nodes for each regulator using the
> -common regulator binding documented in:
> - - Documentation/devicetree/bindings/regulator/regulator.txt
> -
> -
> -Required properties of the main device node (the parent!):
> - - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
> -   for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
> -
> - [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
> -     property is specified, then all the eight voltage values for the
> -     's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
> -
> -Optional properties of the main device node (the parent!):
> - - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
> -   units for buck2 when changing voltage using gpio dvs. Refer to [1] below
> -   for additional information.
> -
> - - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
> -   units for buck3 when changing voltage using gpio dvs. Refer to [1] below
> -   for additional information.
> -
> - - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
> -   units for buck4 when changing voltage using gpio dvs. Refer to [1] below
> -   for additional information.
> -
> - - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
> - - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
> - - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
> -
> -Additional properties required if either of the optional properties are used:
> -
> - - s5m8767,pmic-buck-default-dvs-idx: 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: GPIO specifiers for three host gpio's used
> -   for dvs. The format of the gpio specifier depends in the gpio controller.
> -
> -
> -Names of regulators supported by S5M8767 device:
> -	- LDOn
> -		  - valid values for n are 1 to 28
> -		  - Example: LDO1, LDO2, LDO28
> -	- BUCKn
> -		  - valid values for n are 1 to 9.
> -		  - Example: BUCK1, BUCK2, BUCK9
> -Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
> -as per the datasheet of device.
> -
> -
> -Optional properties of the nodes under "regulators" sub-node:
> - - op_mode: describes the different operating modes of the LDO's with
> -            power mode change in SOC. The different possible values are,
> -             0 - always off mode
> -             1 - on in normal mode
> -             2 - low power mode
> -             3 - suspend mode
> - - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one
> -                                   GPIO controlling this regulator
> -                                   (enable/disable); This is valid only
> -                                   for buck9.
> -
> -Example:
> -
> -	s5m8767_pmic@66 {
> -		compatible = "samsung,s5m8767-pmic";
> -		reg = <0x66>;
> -
> -		s5m8767,pmic-buck2-uses-gpio-dvs;
> -		s5m8767,pmic-buck3-uses-gpio-dvs;
> -		s5m8767,pmic-buck4-uses-gpio-dvs;
> -
> -		s5m8767,pmic-buck-default-dvs-idx = <0>;
> -
> -		s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */
> -						 <&gpx0 1 0>, /* DVS2 */
> -						 <&gpx0 2 0>; /* DVS3 */
> -
> -		s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */
> -						<&gpx2 4 0>, /* SET2 */
> -						<&gpx2 5 0>; /* SET3 */
> -
> -		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>;
> -
> -		regulators {
> -			ldo1_reg: LDO1 {
> -				regulator-name = "VDD_ABB_3.3V";
> -				regulator-min-microvolt = <3300000>;
> -				regulator-max-microvolt = <3300000>;
> -				op_mode = <1>; /* Normal Mode */
> -			};
> -
> -			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_1.2V";
> -				regulator-min-microvolt = <950000>;
> -				regulator-max-microvolt = <1350000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -			};
> -
> -			vemmc_reg: BUCK9 {
> -				regulator-name = "VMEM_VDD_2.8V";
> -				regulator-min-microvolt = <2800000>;
> -				regulator-max-microvolt = <2800000>;
> -				op_mode = <3>; /* Standby Mode */
> -				s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>;
> -			};
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
> new file mode 100644
> index 000000000000..3192a06b5ef9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
> @@ -0,0 +1,83 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/samsung,s5m8767.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Samsung S5M8767 Power Management IC regulators
> +
> +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 S5M8767 provides buck and LDO regulators.
> +
> +  See also Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml for
> +  additional information and example.
> +
> +patternProperties:
> +  # 28 LDOs
> +  "^LDO([1-9]|1[0-9]|2[0-8])$":
> +    type: object
> +    $ref: regulator.yaml#
> +    description:
> +      Properties for single LDO regulator.
> +
> +    properties:
> +      regulator-name: true

This is fine, but technically it is not needed. There's not any 
requirement that items in 'required' be listed under 'properties'.

> +
> +      op_mode:

Needs a type reference.

> +        enum: [0, 1, 2, 3]
> +        default: 1
> +        description: |
> +          Describes the different operating modes of the LDO's with power mode
> +          change in SOC. The different possible values are:
> +            0 - always off mode
> +            1 - on in normal mode
> +            2 - low power mode
> +            3 - suspend mode
> +
> +    required:
> +      - regulator-name
> +
> +    unevaluatedProperties: false

On child nodes, I think it's better to place this up with the $ref and 
'type: object' since the indentation can be hard to follow. 

> +
> +  # 8 bucks
> +  "^BUCK[1-8]$":
> +    type: object
> +    $ref: regulator.yaml#
> +    description:
> +      Properties for single BUCK regulator.
> +
> +    properties:
> +      regulator-name: true
> +
> +    required:
> +      - regulator-name
> +
> +    unevaluatedProperties: false
> +
> +  # 9 buck
> +  "^BUCK9$":
> +    type: object
> +    $ref: regulator.yaml#
> +    description:
> +      Properties for single BUCK regulator.
> +
> +    properties:
> +      regulator-name: true
> +
> +      s5m8767,pmic-ext-control-gpios:
> +        maxItems: 1
> +        description: |
> +          GPIO specifier for one GPIO controlling this regulator on/off.
> +
> +    required:
> +      - regulator-name
> +
> +    unevaluatedProperties: false
> +
> +additionalProperties: false
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ee486357cf45..5a7cb990b182 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16602,7 +16602,7 @@ S:	Supported
>  F:	Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml
>  F:	Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
>  F:	Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml
> -F:	Documentation/devicetree/bindings/regulator/samsung,s5m*.txt
> +F:	Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml
>  F:	drivers/clk/clk-s2mps11.c
>  F:	drivers/mfd/sec*.c
>  F:	drivers/regulator/s2m*.c
> -- 
> 2.30.2
> 
> 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 07/10] dt-bindings: mfd: samsung,s2mps11: convert to dtschema
  2021-10-01  9:41 ` [PATCH v2 07/10] dt-bindings: mfd: samsung,s2mps11: " Krzysztof Kozlowski
@ 2021-10-04 14:42   ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:42 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Rob Herring, linux-samsung-soc, Michael Turquette, Tomasz Figa,
	Liam Girdwood, Chanwoo Choi, linux-clk,
	Bartlomiej Zolnierkiewicz, linux-kernel, Lee Jones,
	Sylwester Nawrocki, Stephen Boyd, devicetree, Mark Brown

On Fri, 01 Oct 2021 11:41:03 +0200, Krzysztof Kozlowski wrote:
> 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>
> ---
>  .../bindings/mfd/samsung,s2mps11.yaml         | 267 ++++++++++++++++++
>  MAINTAINERS                                   |   1 +
>  2 files changed, 268 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 08/10] dt-bindings: mfd: samsung,s2mpa01: convert to dtschema
  2021-10-01  9:41 ` [PATCH v2 08/10] dt-bindings: mfd: samsung,s2mpa01: " Krzysztof Kozlowski
@ 2021-10-04 14:43   ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:43 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Mark Brown, Chanwoo Choi, devicetree, Tomasz Figa, Liam Girdwood,
	linux-samsung-soc, Stephen Boyd, Rob Herring, linux-kernel,
	Lee Jones, Michael Turquette, Bartlomiej Zolnierkiewicz,
	linux-clk, Sylwester Nawrocki

On Fri, 01 Oct 2021 11:41:04 +0200, Krzysztof Kozlowski wrote:
> Convert the MFD part of Samsung S2MPA01 PMIC to DT schema format.
> Previously the bindings were mostly in mfd/samsung,sec-core.txt.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  .../bindings/mfd/samsung,s2mpa01.yaml         | 91 +++++++++++++++++++
>  1 file changed, 91 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 06/10] regulator: dt-bindings: samsung,s5m8767: convert to dtschema
  2021-10-04 14:41   ` Rob Herring
@ 2021-10-04 14:48     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-04 14:48 UTC (permalink / raw)
  To: Rob Herring
  Cc: Michael Turquette, Stephen Boyd, Bartlomiej Zolnierkiewicz,
	Sylwester Nawrocki, Tomasz Figa, Chanwoo Choi, Lee Jones,
	Liam Girdwood, Mark Brown, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

On 04/10/2021 16:41, Rob Herring wrote:
> On Fri, Oct 01, 2021 at 11:41:02AM +0200, Krzysztof Kozlowski wrote:
>> Convert the regulators of Samsung S5M8767 PMIC to DT schema format.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
>> ---
>>  .../bindings/regulator/samsung,s5m8767.txt    | 140 ------------------
>>  .../bindings/regulator/samsung,s5m8767.yaml   |  83 +++++++++++
>>  MAINTAINERS                                   |   2 +-
>>  3 files changed, 84 insertions(+), 141 deletions(-)
>>  delete mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
>>  create mode 100644 Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
>> deleted file mode 100644
>> index 6cd83d920155..000000000000
>> --- a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
>> +++ /dev/null
>> @@ -1,140 +0,0 @@
>> -Binding for Samsung S5M8767 regulator block
>> -===========================================
>> -
>> -This is a part of device tree bindings for S5M family multi-function devices.
>> -More information can be found in bindings/mfd/sec-core.txt file.
>> -
>> -The S5M8767 device provide buck and LDO regulators.
>> -
>> -To register these with regulator framework instantiate under main device node
>> -a sub-node named "regulators" with more sub-nodes for each regulator using the
>> -common regulator binding documented in:
>> - - Documentation/devicetree/bindings/regulator/regulator.txt
>> -
>> -
>> -Required properties of the main device node (the parent!):
>> - - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
>> -   for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
>> -
>> - [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
>> -     property is specified, then all the eight voltage values for the
>> -     's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
>> -
>> -Optional properties of the main device node (the parent!):
>> - - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
>> -   units for buck2 when changing voltage using gpio dvs. Refer to [1] below
>> -   for additional information.
>> -
>> - - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
>> -   units for buck3 when changing voltage using gpio dvs. Refer to [1] below
>> -   for additional information.
>> -
>> - - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
>> -   units for buck4 when changing voltage using gpio dvs. Refer to [1] below
>> -   for additional information.
>> -
>> - - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
>> - - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
>> - - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
>> -
>> -Additional properties required if either of the optional properties are used:
>> -
>> - - s5m8767,pmic-buck-default-dvs-idx: 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: GPIO specifiers for three host gpio's used
>> -   for dvs. The format of the gpio specifier depends in the gpio controller.
>> -
>> -
>> -Names of regulators supported by S5M8767 device:
>> -	- LDOn
>> -		  - valid values for n are 1 to 28
>> -		  - Example: LDO1, LDO2, LDO28
>> -	- BUCKn
>> -		  - valid values for n are 1 to 9.
>> -		  - Example: BUCK1, BUCK2, BUCK9
>> -Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
>> -as per the datasheet of device.
>> -
>> -
>> -Optional properties of the nodes under "regulators" sub-node:
>> - - op_mode: describes the different operating modes of the LDO's with
>> -            power mode change in SOC. The different possible values are,
>> -             0 - always off mode
>> -             1 - on in normal mode
>> -             2 - low power mode
>> -             3 - suspend mode
>> - - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one
>> -                                   GPIO controlling this regulator
>> -                                   (enable/disable); This is valid only
>> -                                   for buck9.
>> -
>> -Example:
>> -
>> -	s5m8767_pmic@66 {
>> -		compatible = "samsung,s5m8767-pmic";
>> -		reg = <0x66>;
>> -
>> -		s5m8767,pmic-buck2-uses-gpio-dvs;
>> -		s5m8767,pmic-buck3-uses-gpio-dvs;
>> -		s5m8767,pmic-buck4-uses-gpio-dvs;
>> -
>> -		s5m8767,pmic-buck-default-dvs-idx = <0>;
>> -
>> -		s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */
>> -						 <&gpx0 1 0>, /* DVS2 */
>> -						 <&gpx0 2 0>; /* DVS3 */
>> -
>> -		s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */
>> -						<&gpx2 4 0>, /* SET2 */
>> -						<&gpx2 5 0>; /* SET3 */
>> -
>> -		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>;
>> -
>> -		regulators {
>> -			ldo1_reg: LDO1 {
>> -				regulator-name = "VDD_ABB_3.3V";
>> -				regulator-min-microvolt = <3300000>;
>> -				regulator-max-microvolt = <3300000>;
>> -				op_mode = <1>; /* Normal Mode */
>> -			};
>> -
>> -			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_1.2V";
>> -				regulator-min-microvolt = <950000>;
>> -				regulator-max-microvolt = <1350000>;
>> -				regulator-always-on;
>> -				regulator-boot-on;
>> -			};
>> -
>> -			vemmc_reg: BUCK9 {
>> -				regulator-name = "VMEM_VDD_2.8V";
>> -				regulator-min-microvolt = <2800000>;
>> -				regulator-max-microvolt = <2800000>;
>> -				op_mode = <3>; /* Standby Mode */
>> -				s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>;
>> -			};
>> -		};
>> -	};
>> diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
>> new file mode 100644
>> index 000000000000..3192a06b5ef9
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.yaml
>> @@ -0,0 +1,83 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/regulator/samsung,s5m8767.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Samsung S5M8767 Power Management IC regulators
>> +
>> +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 S5M8767 provides buck and LDO regulators.
>> +
>> +  See also Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml for
>> +  additional information and example.
>> +
>> +patternProperties:
>> +  # 28 LDOs
>> +  "^LDO([1-9]|1[0-9]|2[0-8])$":
>> +    type: object
>> +    $ref: regulator.yaml#
>> +    description:
>> +      Properties for single LDO regulator.
>> +
>> +    properties:
>> +      regulator-name: true
> 
> This is fine, but technically it is not needed. There's not any 
> requirement that items in 'required' be listed under 'properties'.

I'll skip it here and in further patches - smaller bindings.

> 
>> +
>> +      op_mode:
> 
> Needs a type reference.

Indeed, thanks.

> 
>> +        enum: [0, 1, 2, 3]
>> +        default: 1
>> +        description: |
>> +          Describes the different operating modes of the LDO's with power mode
>> +          change in SOC. The different possible values are:
>> +            0 - always off mode
>> +            1 - on in normal mode
>> +            2 - low power mode
>> +            3 - suspend mode
>> +
>> +    required:
>> +      - regulator-name
>> +
>> +    unevaluatedProperties: false
> 
> On child nodes, I think it's better to place this up with the $ref and 
> 'type: object' since the indentation can be hard to follow. 

OK.


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: convert to dtschema
  2021-10-01  9:41 ` [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: " Krzysztof Kozlowski
  2021-10-01 11:18   ` Krzysztof Kozlowski
@ 2021-10-04 14:49   ` Rob Herring
  1 sibling, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:49 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-clk, Sylwester Nawrocki, Lee Jones, Rob Herring,
	Stephen Boyd, Michael Turquette, Liam Girdwood, linux-kernel,
	linux-samsung-soc, Tomasz Figa, Bartlomiej Zolnierkiewicz,
	Chanwoo Choi, Mark Brown, devicetree

On Fri, 01 Oct 2021 11:41:05 +0200, Krzysztof Kozlowski wrote:
> 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>
> ---
>  .../bindings/mfd/samsung,s5m8767.yaml         | 269 ++++++++++++++++++
>  .../bindings/mfd/samsung,sec-core.txt         |  86 ------
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 270 insertions(+), 87 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 10/10] dt-bindings: mfd: samsung,s5m8767: document buck and LDO supplies
  2021-10-01  9:41 ` [PATCH v2 10/10] dt-bindings: mfd: samsung,s5m8767: document buck and LDO supplies Krzysztof Kozlowski
@ 2021-10-04 14:50   ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2021-10-04 14:50 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Sylwester Nawrocki, Mark Brown, Liam Girdwood, Michael Turquette,
	Stephen Boyd, Tomasz Figa, Lee Jones, Chanwoo Choi, devicetree,
	linux-kernel, linux-samsung-soc, Rob Herring,
	Bartlomiej Zolnierkiewicz, linux-clk

On Fri, 01 Oct 2021 11:41:06 +0200, Krzysztof Kozlowski wrote:
> Document the properties with regulator supplies for bucks and LDOs.  At
> least one board uses it (Exynos5250 Arndale).
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
>  .../bindings/mfd/samsung,s5m8767.yaml         | 38 +++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema
  2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
                   ` (9 preceding siblings ...)
  2021-10-01  9:41 ` [PATCH v2 10/10] dt-bindings: mfd: samsung,s5m8767: document buck and LDO supplies Krzysztof Kozlowski
@ 2021-10-05 12:14 ` Mark Brown
  2021-10-05 13:14   ` Lee Jones
  10 siblings, 1 reply; 28+ messages in thread
From: Mark Brown @ 2021-10-05 12:14 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Michael Turquette, Stephen Boyd, Rob Herring,
	Bartlomiej Zolnierkiewicz, Sylwester Nawrocki, Tomasz Figa,
	Chanwoo Choi, Lee Jones, Liam Girdwood, linux-clk, devicetree,
	linux-kernel, linux-samsung-soc

[-- Attachment #1: Type: text/plain, Size: 578 bytes --]

On Fri, Oct 01, 2021 at 11:40:56AM +0200, Krzysztof Kozlowski wrote:

> Merging/dependencies
> ====================
> 1. Regulator related binding changes depend on first two commits (the
>    fixes), because of context.
> 2. The mfd bindings depend on clock and regulator bindings.
> 
> The fixes and bindings changes (patches 1-10) should go via the same
> tree.  For example regulator or mfd tree.  I propose the regulator tree,
> since it will have also one driver change (the fix, first commit).

Lee, Stephen, Michael does Krzysztof's plan make sense to you?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema
  2021-10-05 12:14 ` [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Mark Brown
@ 2021-10-05 13:14   ` Lee Jones
  2021-10-06 12:55     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 28+ messages in thread
From: Lee Jones @ 2021-10-05 13:14 UTC (permalink / raw)
  To: Mark Brown
  Cc: Krzysztof Kozlowski, Michael Turquette, Stephen Boyd,
	Rob Herring, Bartlomiej Zolnierkiewicz, Sylwester Nawrocki,
	Tomasz Figa, Chanwoo Choi, Liam Girdwood, linux-clk, devicetree,
	linux-kernel, linux-samsung-soc

On Tue, 05 Oct 2021, Mark Brown wrote:

> On Fri, Oct 01, 2021 at 11:40:56AM +0200, Krzysztof Kozlowski wrote:
> 
> > Merging/dependencies
> > ====================
> > 1. Regulator related binding changes depend on first two commits (the
> >    fixes), because of context.
> > 2. The mfd bindings depend on clock and regulator bindings.
> > 
> > The fixes and bindings changes (patches 1-10) should go via the same
> > tree.  For example regulator or mfd tree.  I propose the regulator tree,
> > since it will have also one driver change (the fix, first commit).
> 
> Lee, Stephen, Michael does Krzysztof's plan make sense to you?

I tend to take cross subsystem patches.  MFD is usually in the centre
of these scenarios and I have tooling to easily set-up immutable
branches/pull-requests.

Always happy to discuss if others have different/better ideas though.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema
  2021-10-05 13:14   ` Lee Jones
@ 2021-10-06 12:55     ` Krzysztof Kozlowski
  2021-10-06 13:20       ` Lee Jones
  0 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-06 12:55 UTC (permalink / raw)
  To: Lee Jones, Mark Brown
  Cc: Michael Turquette, Stephen Boyd, Rob Herring,
	Bartlomiej Zolnierkiewicz, Sylwester Nawrocki, Tomasz Figa,
	Chanwoo Choi, Liam Girdwood, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

On 05/10/2021 15:14, Lee Jones wrote:
> On Tue, 05 Oct 2021, Mark Brown wrote:
> 
>> On Fri, Oct 01, 2021 at 11:40:56AM +0200, Krzysztof Kozlowski wrote:
>>
>>> Merging/dependencies
>>> ====================
>>> 1. Regulator related binding changes depend on first two commits (the
>>>    fixes), because of context.
>>> 2. The mfd bindings depend on clock and regulator bindings.
>>>
>>> The fixes and bindings changes (patches 1-10) should go via the same
>>> tree.  For example regulator or mfd tree.  I propose the regulator tree,
>>> since it will have also one driver change (the fix, first commit).
>>
>> Lee, Stephen, Michael does Krzysztof's plan make sense to you?
> 
> I tend to take cross subsystem patches.  MFD is usually in the centre
> of these scenarios and I have tooling to easily set-up immutable
> branches/pull-requests.
> 
> Always happy to discuss if others have different/better ideas though.
> 

Another alternative is that regulator patches (1-2, 4-6) go via Mark who
later gives you a stable branch/tag to pull. Then the clock and MFD
bindings would go on top via MFD tree.

There is a comment from Rob which I will fix in v3.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema
  2021-10-06 12:55     ` Krzysztof Kozlowski
@ 2021-10-06 13:20       ` Lee Jones
  0 siblings, 0 replies; 28+ messages in thread
From: Lee Jones @ 2021-10-06 13:20 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Mark Brown, Michael Turquette, Stephen Boyd, Rob Herring,
	Bartlomiej Zolnierkiewicz, Sylwester Nawrocki, Tomasz Figa,
	Chanwoo Choi, Liam Girdwood, linux-clk, devicetree, linux-kernel,
	linux-samsung-soc

On Wed, 06 Oct 2021, Krzysztof Kozlowski wrote:

> On 05/10/2021 15:14, Lee Jones wrote:
> > On Tue, 05 Oct 2021, Mark Brown wrote:
> > 
> >> On Fri, Oct 01, 2021 at 11:40:56AM +0200, Krzysztof Kozlowski wrote:
> >>
> >>> Merging/dependencies
> >>> ====================
> >>> 1. Regulator related binding changes depend on first two commits (the
> >>>    fixes), because of context.
> >>> 2. The mfd bindings depend on clock and regulator bindings.
> >>>
> >>> The fixes and bindings changes (patches 1-10) should go via the same
> >>> tree.  For example regulator or mfd tree.  I propose the regulator tree,
> >>> since it will have also one driver change (the fix, first commit).
> >>
> >> Lee, Stephen, Michael does Krzysztof's plan make sense to you?
> > 
> > I tend to take cross subsystem patches.  MFD is usually in the centre
> > of these scenarios and I have tooling to easily set-up immutable
> > branches/pull-requests.
> > 
> > Always happy to discuss if others have different/better ideas though.
> > 
> 
> Another alternative is that regulator patches (1-2, 4-6) go via Mark who
> later gives you a stable branch/tag to pull. Then the clock and MFD
> bindings would go on top via MFD tree.

It shouldn't matter where they are first applied.  Creating 2
immutable branches when just 1 will do would be a pain.

> There is a comment from Rob which I will fix in v3.

Sure.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema
  2021-10-01  9:40 ` [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema Krzysztof Kozlowski
  2021-10-04 14:32   ` Rob Herring
@ 2021-10-08  1:00   ` Stephen Boyd
  1 sibling, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2021-10-08  1:00 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz, Chanwoo Choi, Krzysztof Kozlowski,
	Lee Jones, Liam Girdwood, Mark Brown, Michael Turquette,
	Rob Herring, Sylwester Nawrocki, Tomasz Figa, devicetree,
	linux-clk, linux-kernel, linux-samsung-soc

Quoting Krzysztof Kozlowski (2021-10-01 02:40:59)
> Convert the clock provider of Samsung S2MPS11 family of PMICs to DT
> schema format.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---

Acked-by: Stephen Boyd <sboyd@kernel.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2021-10-08  1:00 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-01  9:40 [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Krzysztof Kozlowski
2021-10-01  9:40 ` [PATCH v2 01/10] regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled Krzysztof Kozlowski
2021-10-04 14:30   ` Rob Herring
2021-10-01  9:40 ` [PATCH v2 02/10] regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property Krzysztof Kozlowski
2021-10-04 14:30   ` Rob Herring
2021-10-01  9:40 ` [PATCH v2 03/10] dt-bindings: clock: samsung,s2mps11: convert to dtschema Krzysztof Kozlowski
2021-10-04 14:32   ` Rob Herring
2021-10-08  1:00   ` Stephen Boyd
2021-10-01  9:41 ` [PATCH v2 04/10] regulator: dt-bindings: samsung,s2m: " Krzysztof Kozlowski
2021-10-04 14:34   ` Rob Herring
2021-10-01  9:41 ` [PATCH v2 05/10] regulator: dt-bindings: samsung,s2mpa01: " Krzysztof Kozlowski
2021-10-04 14:35   ` Rob Herring
2021-10-01  9:41 ` [PATCH v2 06/10] regulator: dt-bindings: samsung,s5m8767: " Krzysztof Kozlowski
2021-10-04 14:41   ` Rob Herring
2021-10-04 14:48     ` Krzysztof Kozlowski
2021-10-01  9:41 ` [PATCH v2 07/10] dt-bindings: mfd: samsung,s2mps11: " Krzysztof Kozlowski
2021-10-04 14:42   ` Rob Herring
2021-10-01  9:41 ` [PATCH v2 08/10] dt-bindings: mfd: samsung,s2mpa01: " Krzysztof Kozlowski
2021-10-04 14:43   ` Rob Herring
2021-10-01  9:41 ` [PATCH v2 09/10] dt-bindings: mfd: samsung,s5m8767: " Krzysztof Kozlowski
2021-10-01 11:18   ` Krzysztof Kozlowski
2021-10-04 14:49   ` Rob Herring
2021-10-01  9:41 ` [PATCH v2 10/10] dt-bindings: mfd: samsung,s5m8767: document buck and LDO supplies Krzysztof Kozlowski
2021-10-04 14:50   ` Rob Herring
2021-10-05 12:14 ` [PATCH v2 00/10] regulator/mfd/clock: dt-bindings: Samsung S2M and S5M to dtschema Mark Brown
2021-10-05 13:14   ` Lee Jones
2021-10-06 12:55     ` Krzysztof Kozlowski
2021-10-06 13:20       ` Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).